diff --git a/backend/blueprints/user.py b/backend/blueprints/user.py index 34f4ca13f2660b7ec88845423c05ed28ead6a484..9edc2168a2780f27b0b7d4671560b061b78bce2b 100644 --- a/backend/blueprints/user.py +++ b/backend/blueprints/user.py @@ -2,6 +2,8 @@ from flask import Blueprint, request, jsonify, Response from backend.database_config.database import DB from backend.models.user_model import User from backend.models.user_model import User_project +from backend.main import Message +import backend.main import bcrypt user = Blueprint('user', __name__) @@ -142,3 +144,22 @@ def change_user_password(): else: return jsonify(status = "False") +@user.route('/users/forgot-password', methods=['POST']) +def send_auth_email(): + username, newPassword = (request.json['username'], request.json['newPassword']) + user = User.query.get(username) + if user == None: + return jsonify(status = "False") + + msg = Message(subject="Password reset", + sender=backend.main.app.config.get("MAIL_USERNAME"), + recipients=[user.email], + body="Your new password is: " + newPassword) + + salt = bcrypt.gensalt() + hash_pswd = bcrypt.hashpw(newPassword.encode('utf-8'), salt) + user.password = hash_pswd.decode('utf-8') + DB.add(user) + + backend.main.mail.send(msg) + return jsonify(status = "True") \ No newline at end of file diff --git a/backend/main.py b/backend/main.py index aacadfb8c79d0db1f2bc15b9d839f57b1cd702c2..a8318b6fdadad0c798edd71346d4a8705482d44f 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,6 +1,7 @@ import os from flask import Flask, render_template from flask_migrate import Migrate +from flask_mail import Mail, Message from backend.database_config.database import DB from backend.blueprints.project import project from backend.blueprints.user import user @@ -27,6 +28,19 @@ if ENV == 'dev': else: app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://icbwsbzlctcxyx:a0d7f73e5b743a35f33d95640b517b6e7e9e5b59cd2ff10673e90372b4b34d44@ec2-34-193-112-164.compute-1.amazonaws.com:5432/deje5qriuvrh39' +# Mail settings for "forgot password" mail sending +mail_settings = { + "MAIL_SERVER": 'smtp.gmail.com', + "MAIL_PORT": 465, + "MAIL_USE_TLS": False, + "MAIL_USE_SSL": True, + "MAIL_USERNAME": 'inaglobe.authentication@gmail.com', + "MAIL_PASSWORD": '5Q4g>kQ&c' +} + +app.config.update(mail_settings) +mail = Mail(app) + db = DB.the_database db.app = app diff --git a/backend/static/react/asset-manifest.json b/backend/static/react/asset-manifest.json index 9bcb430b840333653ae311577635eedaad12fd07..651d3c68704da64d96a6015c7997ab0e7657df62 100644 --- a/backend/static/react/asset-manifest.json +++ b/backend/static/react/asset-manifest.json @@ -1,22 +1,22 @@ { "files": { - "main.css": "/static/react/css/main.893b1949.chunk.css", - "main.js": "/static/react/js/main.e896a0a2.chunk.js", - "main.js.map": "/static/react/js/main.e896a0a2.chunk.js.map", + "main.css": "/static/react/css/main.5e2a6a72.chunk.css", + "main.js": "/static/react/js/main.4f2a1e71.chunk.js", + "main.js.map": "/static/react/js/main.4f2a1e71.chunk.js.map", "runtime-main.js": "/static/react/js/runtime-main.094287be.js", "runtime-main.js.map": "/static/react/js/runtime-main.094287be.js.map", - "js/2.92bb91cc.chunk.js": "/static/react/js/2.92bb91cc.chunk.js", - "js/2.92bb91cc.chunk.js.map": "/static/react/js/2.92bb91cc.chunk.js.map", + "js/2.c5f15404.chunk.js": "/static/react/js/2.c5f15404.chunk.js", + "js/2.c5f15404.chunk.js.map": "/static/react/js/2.c5f15404.chunk.js.map", "js/3.ddc4d6e7.chunk.js": "/static/react/js/3.ddc4d6e7.chunk.js", "js/3.ddc4d6e7.chunk.js.map": "/static/react/js/3.ddc4d6e7.chunk.js.map", "../../templates/index.html": "/static/react/../../templates/index.html", - "css/main.893b1949.chunk.css.map": "/static/react/css/main.893b1949.chunk.css.map", - "js/2.92bb91cc.chunk.js.LICENSE.txt": "/static/react/js/2.92bb91cc.chunk.js.LICENSE.txt" + "css/main.5e2a6a72.chunk.css.map": "/static/react/css/main.5e2a6a72.chunk.css.map", + "js/2.c5f15404.chunk.js.LICENSE.txt": "/static/react/js/2.c5f15404.chunk.js.LICENSE.txt" }, "entrypoints": [ "js/runtime-main.094287be.js", - "js/2.92bb91cc.chunk.js", - "css/main.893b1949.chunk.css", - "js/main.e896a0a2.chunk.js" + "js/2.c5f15404.chunk.js", + "css/main.5e2a6a72.chunk.css", + "js/main.4f2a1e71.chunk.js" ] } \ No newline at end of file diff --git a/backend/static/react/css/main.5e2a6a72.chunk.css b/backend/static/react/css/main.5e2a6a72.chunk.css new file mode 100644 index 0000000000000000000000000000000000000000..1d3dfe0c7788041c55b8b6e633d3e4477a000a1c --- /dev/null +++ b/backend/static/react/css/main.5e2a6a72.chunk.css @@ -0,0 +1,2 @@ +@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@100&display=swap);*{margin:0;font-family:"Raleway";color:#000;background-color:#fff}.home h1{font-style:bold;font-size:50px;text-align:left;margin-bottom:50px}.home h2{margin-top:10px;padding:4px}.home button{background-color:#ff4e83;color:#000;padding:15px 32px;font-size:20px;border-radius:12px}.home button:hover{background-color:#8f0830}.navbar{padding:20px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;max-width:1000px;margin:0 auto;border-bottom:1px solid #f2f2f2}.navbar,.navbar h1{color:#ff4e83}.navbar .links{margin-left:auto}.navbar a{margin-left:16px;text-decoration:none;padding:6px;color:#000}.navbar a:hover{color:#f1356d}.content{max-width:1000px;padding:20px;margin:20px auto}.preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2}.preview:hover{box-shadow:1px 3px 5px grey}.preview h2{font-size:20;color:#f1356d;padding-left:4px}.preview h3{padding-bottom:20px}.preview h3,.preview h4{font-size:10;color:#000;padding-left:4px}.preview h4{padding-bottom:5px;padding-top:5px}.preview a{text-decoration:none}.user{width:1000px;margin-bottom:30px;background-color:#fff}.user h2{font-size:32px;font-weight:600;margin-bottom:15px;color:#333}.user h3{font-size:15px;color:#222729}.user h3,.user h4{letter-spacing:1px;margin-bottom:5px}.user h4{font-size:10px;color:#00baff;font-weight:700}.user p{font-size:16px;line-height:26px;margin-bottom:20px;color:#666}.project-details h2,.user h2{font-size:35px;color:#f1356d;margin-bottom:10px}.project-details h4,.user h4{font-size:20px;color:#272424;margin-bottom:30px}.project-details p{font-size:20px;color:#080808;margin-bottom:30px}.add-project-task button,.add-task-button,.add-todo-form button,.add-user-button,.add-user button,.change-password button,.create-project button,.edit-project-button,.edit-project button,.edit-user-button,.edit-user button,.project-details button,.user button,.view-tasks-button{background:#f1356d;color:#fff;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:25px;text-decoration:none;margin-bottom:30px;margin-right:10px}.add-project-task button:hover .view-tasks-button:hover,.add-task-button:hover,.add-user-button:hover,.add-user button:hover,.change-password button:hover,.create-project button:hover,.edit-project-button:hover,.edit-project button:hover,.edit-user-button:hover,.edit-user button:hover,.project-details button:hover,.todo-list button:hover,.user button:hover{background:#8f0830}.assigned_users_preview{padding:6px;margin:2px;border-bottom:1px;border-radius:5px;box-shadow:1px 3px 5px #c2c2c2}.assigned_users_preview:hover{box-shadow:1px 3px 5px grey}.assigned_users_preview h4{font-size:10;color:#000;padding-bottom:5px;padding-top:5px;padding-left:4px}.assigned_users_preview a{text-decoration:none}.project_user_assignment_list{margin-bottom:30px;margin-right:10px}.add-project-task,.change-password,.create-project .edit-project,.edit-user{max-width:400px;margin:0 auto;text-align:center}.forgot-password,.login{margin:0;position:absolute;top:50%;left:50%;width:500px;height:430px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);box-shadow:1px 3px 5px #c2c2c2;border-radius:6px;text-align:center}.add-project-task label,.add-todo-form label,.add-user label,.change-password label,.create-project label,.edit-project label,.edit-user label{text-align:left;display:block;font-size:20px;-webkit-align-items:center;align-items:center}.forgot-password h1,.login h1{font-size:40px;color:#f1356d;margin-bottom:20px}.forgot-password h1,.forgot-password h2,.login h1,.login h2{margin-top:20px;-webkit-align-items:center;align-items:center}.forgot-password h2,.login h2{font-size:20px;color:#271a1e;margin-bottom:10px}.login .links{font-size:20px;color:#35a6f1;text-decoration:underline;padding:14px 20px;margin:8px 0 10px;border:none;cursor:pointer}.forgot-password button,.login button{background:#f1356d;color:#fff;padding:14px 20px;border:none;cursor:pointer;width:450px;margin:8px 0 20px;font-size:25px}.forgot-password input,.login input{width:450px;padding:12px 20px;margin:8px 0 20px;display:inline-block;border:1px solid #ccc;box-sizing:border-box;font-size:15px}.forgot-password button:hover,.login .button:hover{background:#8f0830}.add-project-task h2,.add-todo-form h2,.add-user h2,.change-password h2,.create-project h2,.edit-project h2,.edit-user h2{font-size:35px;color:#f1356d;margin-bottom:30px}.add-project-task input,.add-project-task select,.add-project-task textarea,.add-todo-form input,.add-todo-form select,.add-todo-form textarea,.add-user input,.change-password input,.create-project input,.create-project select,.create-project textarea,.edit-project input,.edit-project select,.edit-project textarea,.edit-user input{width:100%;padding:6px 10px;margin:10px 0;border:1px solid #ddd;box-sizing:border-box;display:block}.my-profile h2{font-size:35px;color:#f1356d;margin-bottom:10px}.my-profile p{font-size:20px;color:#080808;margin-bottom:30px}.page-not-found h2,.page-not-found p{margin-bottom:10px}.add-project-task label,.add-user label{text-align:left;display:block;font-size:20px}.users h1{font-style:bold;font-size:50px;text-align:left;margin-bottom:30px}.bm-burger-button{position:fixed;width:36px;height:30px;left:36px;top:36px}.bm-burger-bars{background:#373a47}.bm-burger-bars-hover{background:#a90000}.bm-cross-button{height:24px;width:24px}.bm-cross{background:#248f0f}.bm-menu-wrap{position:fixed;height:100%}.bm-menu{padding:2.5em 1.5em 0;font-size:1.15em}.bm-morph-shape{fill:#373a47}.bm-item-list{color:#5a0808;padding:.8em}.bm-overlay{background:rgba(0,0,0,.3)}.bm-item{display:inline-block;color:#5d076e;margin-bottom:10px;text-align:left;text-decoration:none;transition:color .2s}.bm-item:hover{color:#000}.personal-todos{display:block;max-height:1000px;overflow-x:hidden;overflow-y:auto}.todo-preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2;max-width:300px;background-color:#f0b995}.todo-preview:hover{box-shadow:1px 3px 5px grey}.todo-preview h2{padding-top:10px;font-size:30px;color:#000;padding-bottom:7px;background-color:#f0b995;font-weight:bolder}.todo-preview h3{font-size:15px;background-color:#f0b995}.todo-preview button{background:#89e63d;color:#000;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:15px;text-decoration:none;margin-bottom:10px;margin-left:4px;margin-top:5px}.todo-preview button:hover{background:#548d25}.add-todo-label{background:#e66a12;color:#fff;text-align:center;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:35px;text-decoration:none;margin:15px}.add-todo-label:hover{background:#a55b27}.add-todo-form{max-width:400px;margin:0 auto;text-align:center;display:none}.add-todo-button button{background:#e66a12;color:#fff;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:25px;text-decoration:none;margin-bottom:30px;margin-right:10px}.add-todo-button button:hover{background:#a55b27}.project-tasks{margin-bottom:30px}.project-tasks h2{padding-top:10px;padding-bottom:10px}.project-task-preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2}.project-task-preview:hover{box-shadow:1px 3px 5px grey}.project-task-preview h2{font-size:20;color:#f1356d;padding-left:4px}.project-task-preview h3{font-size:10;color:#000;padding-bottom:7px;padding-left:4px}.project-task-preview a{text-decoration:none}.add-task-button-wrapper{margin-top:30px}.task-complete-button{background:#00f}.task-complete-button,.task-delete-button{color:#fff;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:20px;text-decoration:none;margin-bottom:10px;margin-right:10px}.task-delete-button{background:green}.dropdown{max-width:400px}.task-preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2}.task-preview:hover{box-shadow:1px 3px 5px grey}.task-preview h2{padding-top:10px;font-size:20;color:#00f;padding-bottom:7px}.todo-preview h3{font-size:10;color:#000;padding-bottom:7px;padding-left:4px} +/*# sourceMappingURL=main.5e2a6a72.chunk.css.map */ \ No newline at end of file diff --git a/backend/static/react/css/main.5e2a6a72.chunk.css.map b/backend/static/react/css/main.5e2a6a72.chunk.css.map new file mode 100644 index 0000000000000000000000000000000000000000..7e4bc1b9bb44349dc1ff4df5f7f325cb01758602 --- /dev/null +++ b/backend/static/react/css/main.5e2a6a72.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["main.5e2a6a72.chunk.css","webpack://src/index.css"],"names":[],"mappings":"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","file":"main.5e2a6a72.chunk.css","sourcesContent":["@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@100&display=swap);\n* {\n margin: 0;\n font-family: \"Raleway\";\n color: rgb(0, 0, 0);\n background-color: white;\n}\n\n.home h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 50px;\n}\n\n.home h2 {\n margin-top: 10px;\n padding: 4px;\n}\n\n.home button {\n background-color: #ff4e83;\n color: rgb(0, 0, 0);\n padding: 15px 32px;\n font-size: 20px;\n border-radius: 12px;\n}\n\n.home button:hover {\n background-color: #8f0830;\n}\n\n.navbar {\n padding: 20px;\n display: -webkit-flex;\n display: flex;\n -webkit-align-items: center;\n align-items: center;\n max-width: 1000px;\n margin: 0 auto;\n border-bottom: 1px solid #f2f2f2;\n color: #ff4e83;\n}\n\n.navbar h1 {\n color: #ff4e83;\n}\n\n.navbar .links {\n margin-left: auto;\n}\n\n.navbar a {\n margin-left: 16px;\n text-decoration: none;\n padding: 6px;\n color: rgb(0, 0, 0);\n}\n\n.navbar a:hover {\n color: #f1356d;\n}\n\n.content {\n max-width: 1000px;\n padding: 20px;\n margin: 20px auto;\n}\n\n/* any preview */\n\n.preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 20px;\n padding-left: 4px;\n}\n\n.preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.preview a {\n text-decoration: none;\n}\n\n/* User page */\n\n.user {\n width: 1000px;\n margin-bottom: 30px;\n background-color: #fff;\n}\n\n.user h2 {\n font-size: 32px;\n font-weight: 600;\n margin-bottom: 15px;\n color: #333;\n}\n\n.user h3 {\n font-size: 15px;\n color: #222729;\n letter-spacing: 1px;\n margin-bottom: 5px;\n}\n\n.user h4 {\n font-size: 10px;\n color: #00baff;\n letter-spacing: 1px;\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n.user p {\n font-size: 16px;\n line-height: 26px;\n margin-bottom: 20px;\n color: #666;\n}\n\n/* Project details */\n\n.project-details h2, .user h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.user h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n.create-project button, .project-details button, .edit-project-button, .add-user button, .edit-user-button, .user button, .add-task-button,\n.view-tasks-button, .add-todo-form button, .add-project-task button,\n.change-password button, .edit-project button, .add-user-button, .edit-user button {\n background: #f1356d;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.create-project button:hover, .project-details button:hover, .edit-project-button:hover, .edit-user-button:hover, .user button:hover,\n.add-task-button:hover, .add-user button:hover, .edit-user button:hover, .todo-list button:hover, .add-project-task button:hover\n.view-tasks-button:hover, .change-password button:hover, .edit-project button:hover,\n.add-user-button:hover {\n background: #8f0830;\n}\n\n.assigned_users_preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.assigned_users_preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.assigned_users_preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.assigned_users_preview a {\n text-decoration: none;\n}\n\n.project_user_assignment_list {\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n/* Create new project form and edit project */\n\n\n.create-project .edit-project, .edit-user, .add-project-task, .change-password{\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n}\n\n.login, .forgot-password {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 500px;\n height: 430px;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n border-radius: 6px;\n text-align: center;\n}\n\n.create-project label, .edit-project label, .add-user label, .edit-user label, .add-todo-form label, .change-password label, \n.add-project-task label{\n text-align: left;\n display: block;\n font-size: 20px;\n -webkit-align-items: center;\n align-items: center;\n}\n\n.login h1, .forgot-password h1{\n font-size: 40px;\n color: #f1356d;\n margin-bottom: 20px;\n margin-top: 20px;\n -webkit-align-items: center;\n align-items: center;\n}\n\n.login h2, .forgot-password h2{\n font-size: 20px;\n color: #271a1e;\n margin-bottom: 10px;\n margin-top: 20px;\n -webkit-align-items: center;\n align-items: center;\n}\n\n.login .links {\n font-size: 20px;\n color: #35a6f1;\n text-decoration: underline;\n padding: 14px 20px;\n margin: 8px 0;\n margin-bottom: 10px;\n border: none;\n cursor: pointer;\n}\n\n.login button, .forgot-password button {\n background: #f1356d;\n color: #fff;\n padding: 14px 20px;\n margin: 8px 0;\n border: none;\n cursor: pointer;\n width: 450px;\n margin-bottom: 20px;\n font-size: 25px;\n}\n\n.login input, .forgot-password input {\n width: 450px;\n padding: 12px 20px;\n margin: 8px 0;\n margin-bottom: 20px;\n display: inline-block;\n border: 1px solid #ccc;\n box-sizing: border-box;\n font-size: 15px;\n}\n\n.login .button:hover, .forgot-password button:hover {\n background: #8f0830;\n}\n\n.create-project h2, .edit-project h2, .add-user h2, .edit-user h2, .add-todo-form h2, .add-project-task h2, .change-password h2{\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 30px;\n}\n.create-project input, .create-project textarea, .create-project select,\n.edit-project input, .edit-project textarea, .edit-project select, .add-user input,\n.edit-user input, .add-todo-form input, .add-todo-form textarea, .add-todo-form select,\n.add-project-task input, .add-project-task textarea, .add-project-task select, .change-password input{\n width: 100%;\n padding: 6px 10px;\n margin: 10px 0;\n border: 1px solid #ddd;\n box-sizing: border-box;\n display: block;\n}\n\n\n/* My Profile */\n\n.my-profile h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.my-profile p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n/* Page not found */\n\n.page-not-found h2, .page-not-found p {\n margin-bottom: 10px;\n}\n\n/* Add New User */\n\n.add-user label, .add-project-task label {\n text-align: left;\n display: block;\n font-size: 20px;\n}\n\n.users h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 30px;\n}\n\n/* Position and sizing of burger button */\n\n.bm-burger-button {\n position: fixed;\n width: 36px;\n height: 30px;\n left: 36px;\n top: 36px;\n}\n\n/* Color/shape of burger icon bars */\n\n.bm-burger-bars {\n background: #373a47;\n}\n\n/* Color/shape of burger icon bars on hover*/\n\n.bm-burger-bars-hover {\n background: #a90000;\n}\n\n/* Position and sizing of clickable cross button */\n\n.bm-cross-button {\n height: 24px;\n width: 24px;\n}\n\n/* Color/shape of close button cross */\n\n.bm-cross {\n background: #248f0f;\n}\n\n/*\nSidebar wrapper styles\nNote: Beware of modifying this element as it can break the animations - you should not need to touch it in most cases\n*/\n\n.bm-menu-wrap {\n position: fixed;\n height: 100%;\n}\n\n/* General sidebar styles */\n\n.bm-menu {\n padding: 2.5em 1.5em 0;\n font-size: 1.15em;\n}\n\n/* Morph shape necessary with bubble or elastic */\n\n.bm-morph-shape {\n fill: #373a47;\n}\n\n/* Wrapper for item list */\n\n.bm-item-list {\n color: #5a0808;\n padding: 0.8em;\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n}\n\n/* Styling of overlay */\n\n.bm-overlay {\n background: rgba(0, 0, 0, 0.3);\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n color: #5d076e;\n margin-bottom: 10px;\n text-align: left;\n text-decoration: none;\n transition: color 0.2s;\n}\n\n.bm-item:hover {\n color: #000000;\n}\n\n/* Personal todos */\n\n.personal-todos {\n display: block;\n max-height: 1000px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.todo-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n max-width: 300px;\n background-color: #f0b995;\n}\n\n.todo-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.todo-preview h2 {\n padding-top: 10px;\n font-size: 30px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n background-color: #f0b995;\n font-weight: bolder;\n}\n\n.todo-preview h3 {\n font-size: 15px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n background-color: #f0b995;\n}\n\n.todo-preview button {\n background: rgb(137, 230, 61);\n color: rgb(0, 0, 0);\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 15px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-left: 4px;\n margin-top: 5px;\n}\n\n.todo-preview button:hover {\n background: rgb(84, 141, 37);\n}\n\n.add-todo-label {\n background: rgb(230, 106, 18);\n color: #fff;\n text-align: center;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 35px;\n text-decoration: none;\n margin: 15px;\n}\n\n.add-todo-label:hover {\n background: rgb(165, 91, 39);\n}\n\n.add-todo-form {\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n display: none;\n}\n\n.add-todo-button button {\n background: rgb(230, 106, 18);\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.add-todo-button button:hover {\n background: rgb(165, 91, 39);\n}\n\n/* Project tasks */\n\n.project-tasks {\n margin-bottom: 30px;\n}\n\n.project-tasks h2 {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.project-task-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.project-task-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.project-task-preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.project-task-preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n}\n\n.project-task-preview a {\n text-decoration: none;\n}\n\n.add-task-button-wrapper {\n margin-top: 30px;\n}\n\n.task-complete-button {\n background: blue;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.task-delete-button {\n background: green;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.dropdown {\n max-width: 400px;\n}\n\n/* Project task previews on personal dashboard */\n.task-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.task-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.task-preview h2 {\n padding-top: 10px;\n font-size: 20;\n color: blue;\n padding-bottom: 7px;\n}\n\n.todo-preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n}\n","@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@100&display=swap');\n* {\n margin: 0;\n font-family: \"Raleway\";\n color: rgb(0, 0, 0);\n background-color: white;\n}\n\n.home h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 50px;\n}\n\n.home h2 {\n margin-top: 10px;\n padding: 4px;\n}\n\n.home button {\n background-color: #ff4e83;\n color: rgb(0, 0, 0);\n padding: 15px 32px;\n font-size: 20px;\n border-radius: 12px;\n}\n\n.home button:hover {\n background-color: #8f0830;\n}\n\n.navbar {\n padding: 20px;\n display: flex;\n align-items: center;\n max-width: 1000px;\n margin: 0 auto;\n border-bottom: 1px solid #f2f2f2;\n color: #ff4e83;\n}\n\n.navbar h1 {\n color: #ff4e83;\n}\n\n.navbar .links {\n margin-left: auto;\n}\n\n.navbar a {\n margin-left: 16px;\n text-decoration: none;\n padding: 6px;\n color: rgb(0, 0, 0);\n}\n\n.navbar a:hover {\n color: #f1356d;\n}\n\n.content {\n max-width: 1000px;\n padding: 20px;\n margin: 20px auto;\n}\n\n/* any preview */\n\n.preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 20px;\n padding-left: 4px;\n}\n\n.preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.preview a {\n text-decoration: none;\n}\n\n/* User page */\n\n.user {\n width: 1000px;\n margin-bottom: 30px;\n background-color: #fff;\n}\n\n.user h2 {\n font-size: 32px;\n font-weight: 600;\n margin-bottom: 15px;\n color: #333;\n}\n\n.user h3 {\n font-size: 15px;\n color: #222729;\n letter-spacing: 1px;\n margin-bottom: 5px;\n}\n\n.user h4 {\n font-size: 10px;\n color: #00baff;\n letter-spacing: 1px;\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n.user p {\n font-size: 16px;\n line-height: 26px;\n margin-bottom: 20px;\n color: #666;\n}\n\n/* Project details */\n\n.project-details h2, .user h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.user h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n.create-project button, .project-details button, .edit-project-button, .add-user button, .edit-user-button, .user button, .add-task-button,\n.view-tasks-button, .add-todo-form button, .add-project-task button,\n.change-password button, .edit-project button, .add-user-button, .edit-user button {\n background: #f1356d;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.create-project button:hover, .project-details button:hover, .edit-project-button:hover, .edit-user-button:hover, .user button:hover,\n.add-task-button:hover, .add-user button:hover, .edit-user button:hover, .todo-list button:hover, .add-project-task button:hover\n.view-tasks-button:hover, .change-password button:hover, .edit-project button:hover,\n.add-user-button:hover {\n background: #8f0830;\n}\n\n.assigned_users_preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.assigned_users_preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.assigned_users_preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.assigned_users_preview a {\n text-decoration: none;\n}\n\n.project_user_assignment_list {\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n/* Create new project form and edit project */\n\n\n.create-project .edit-project, .edit-user, .add-project-task, .change-password{\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n}\n\n.login, .forgot-password {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 500px;\n height: 430px;\n -ms-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n border-radius: 6px;\n text-align: center;\n}\n\n.create-project label, .edit-project label, .add-user label, .edit-user label, .add-todo-form label, .change-password label, \n.add-project-task label{\n text-align: left;\n display: block;\n font-size: 20px;\n align-items: center;\n}\n\n.login h1, .forgot-password h1{\n font-size: 40px;\n color: #f1356d;\n margin-bottom: 20px;\n margin-top: 20px;\n align-items: center;\n}\n\n.login h2, .forgot-password h2{\n font-size: 20px;\n color: #271a1e;\n margin-bottom: 10px;\n margin-top: 20px;\n align-items: center;\n}\n\n.login .links {\n font-size: 20px;\n color: #35a6f1;\n text-decoration: underline;\n padding: 14px 20px;\n margin: 8px 0;\n margin-bottom: 10px;\n border: none;\n cursor: pointer;\n}\n\n.login button, .forgot-password button {\n background: #f1356d;\n color: #fff;\n padding: 14px 20px;\n margin: 8px 0;\n border: none;\n cursor: pointer;\n width: 450px;\n margin-bottom: 20px;\n font-size: 25px;\n}\n\n.login input, .forgot-password input {\n width: 450px;\n padding: 12px 20px;\n margin: 8px 0;\n margin-bottom: 20px;\n display: inline-block;\n border: 1px solid #ccc;\n box-sizing: border-box;\n font-size: 15px;\n}\n\n.login .button:hover, .forgot-password button:hover {\n background: #8f0830;\n}\n\n.create-project h2, .edit-project h2, .add-user h2, .edit-user h2, .add-todo-form h2, .add-project-task h2, .change-password h2{\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 30px;\n}\n.create-project input, .create-project textarea, .create-project select,\n.edit-project input, .edit-project textarea, .edit-project select, .add-user input,\n.edit-user input, .add-todo-form input, .add-todo-form textarea, .add-todo-form select,\n.add-project-task input, .add-project-task textarea, .add-project-task select, .change-password input{\n width: 100%;\n padding: 6px 10px;\n margin: 10px 0;\n border: 1px solid #ddd;\n box-sizing: border-box;\n display: block;\n}\n\n\n/* My Profile */\n\n.my-profile h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.my-profile p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n/* Page not found */\n\n.page-not-found h2, .page-not-found p {\n margin-bottom: 10px;\n}\n\n/* Add New User */\n\n.add-user label, .add-project-task label {\n text-align: left;\n display: block;\n font-size: 20px;\n}\n\n.users h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 30px;\n}\n\n/* Position and sizing of burger button */\n\n.bm-burger-button {\n position: fixed;\n width: 36px;\n height: 30px;\n left: 36px;\n top: 36px;\n}\n\n/* Color/shape of burger icon bars */\n\n.bm-burger-bars {\n background: #373a47;\n}\n\n/* Color/shape of burger icon bars on hover*/\n\n.bm-burger-bars-hover {\n background: #a90000;\n}\n\n/* Position and sizing of clickable cross button */\n\n.bm-cross-button {\n height: 24px;\n width: 24px;\n}\n\n/* Color/shape of close button cross */\n\n.bm-cross {\n background: #248f0f;\n}\n\n/*\nSidebar wrapper styles\nNote: Beware of modifying this element as it can break the animations - you should not need to touch it in most cases\n*/\n\n.bm-menu-wrap {\n position: fixed;\n height: 100%;\n}\n\n/* General sidebar styles */\n\n.bm-menu {\n padding: 2.5em 1.5em 0;\n font-size: 1.15em;\n}\n\n/* Morph shape necessary with bubble or elastic */\n\n.bm-morph-shape {\n fill: #373a47;\n}\n\n/* Wrapper for item list */\n\n.bm-item-list {\n color: #5a0808;\n padding: 0.8em;\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n}\n\n/* Styling of overlay */\n\n.bm-overlay {\n background: rgba(0, 0, 0, 0.3);\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n color: #5d076e;\n margin-bottom: 10px;\n text-align: left;\n text-decoration: none;\n transition: color 0.2s;\n}\n\n.bm-item:hover {\n color: #000000;\n}\n\n/* Personal todos */\n\n.personal-todos {\n display: block;\n max-height: 1000px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.todo-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n max-width: 300px;\n background-color: #f0b995;\n}\n\n.todo-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.todo-preview h2 {\n padding-top: 10px;\n font-size: 30px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n background-color: #f0b995;\n font-weight: bolder;\n}\n\n.todo-preview h3 {\n font-size: 15px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n background-color: #f0b995;\n}\n\n.todo-preview button {\n background: rgb(137, 230, 61);\n color: rgb(0, 0, 0);\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 15px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-left: 4px;\n margin-top: 5px;\n}\n\n.todo-preview button:hover {\n background: rgb(84, 141, 37);\n}\n\n.add-todo-label {\n background: rgb(230, 106, 18);\n color: #fff;\n text-align: center;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 35px;\n text-decoration: none;\n margin: 15px;\n}\n\n.add-todo-label:hover {\n background: rgb(165, 91, 39);\n}\n\n.add-todo-form {\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n display: none;\n}\n\n.add-todo-button button {\n background: rgb(230, 106, 18);\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.add-todo-button button:hover {\n background: rgb(165, 91, 39);\n}\n\n/* Project tasks */\n\n.project-tasks {\n margin-bottom: 30px;\n}\n\n.project-tasks h2 {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.project-task-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.project-task-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.project-task-preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.project-task-preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n}\n\n.project-task-preview a {\n text-decoration: none;\n}\n\n.add-task-button-wrapper {\n margin-top: 30px;\n}\n\n.task-complete-button {\n background: blue;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.task-delete-button {\n background: green;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.dropdown {\n max-width: 400px;\n}\n\n/* Project task previews on personal dashboard */\n.task-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.task-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.task-preview h2 {\n padding-top: 10px;\n font-size: 20;\n color: blue;\n padding-bottom: 7px;\n}\n\n.todo-preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n}"]} \ No newline at end of file diff --git a/backend/static/react/css/main.893b1949.chunk.css b/backend/static/react/css/main.893b1949.chunk.css deleted file mode 100644 index ffcbd8ac0af13f69c12a2f9ba207f206113769f4..0000000000000000000000000000000000000000 --- a/backend/static/react/css/main.893b1949.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@100&display=swap);*{margin:0;font-family:"Raleway";color:#000;background-color:#fff}.home h1{font-style:bold;font-size:50px;text-align:left;margin-bottom:50px}.home h2{margin-top:10px;padding:4px}.home button{background-color:#ff4e83;color:#000;padding:15px 32px;font-size:20px;border-radius:12px}.home button:hover{background-color:#8f0830}.navbar{padding:20px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;max-width:1000px;margin:0 auto;border-bottom:1px solid #f2f2f2}.navbar,.navbar h1{color:#ff4e83}.navbar .links{margin-left:auto}.navbar a{margin-left:16px;text-decoration:none;padding:6px;color:#000}.navbar a:hover{color:#f1356d}.content{max-width:1000px;padding:20px;margin:20px auto}.preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2}.preview:hover{box-shadow:1px 3px 5px grey}.preview h2{font-size:20;color:#f1356d;padding-left:4px}.preview h3{padding-bottom:20px}.preview h3,.preview h4{font-size:10;color:#000;padding-left:4px}.preview h4{padding-bottom:5px;padding-top:5px}.preview a{text-decoration:none}.user{width:1000px;margin-bottom:30px;background-color:#fff}.user h2{font-size:32px;font-weight:600;margin-bottom:15px;color:#333}.user h3{font-size:15px;color:#222729}.user h3,.user h4{letter-spacing:1px;margin-bottom:5px}.user h4{font-size:10px;color:#00baff;font-weight:700}.user p{font-size:16px;line-height:26px;margin-bottom:20px;color:#666}.project-details h2,.user h2{font-size:35px;color:#f1356d;margin-bottom:10px}.project-details h4,.user h4{font-size:20px;color:#272424;margin-bottom:30px}.project-details p{font-size:20px;color:#080808;margin-bottom:30px}.add-project-task button,.add-task-button,.add-todo-form button,.add-user-button,.add-user button,.change-password .button,.create-project button,.edit-project-button,.edit-project button,.edit-user-button,.project-details button,.user button,.view-tasks-button{background:#f1356d;color:#fff;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:25px;text-decoration:none;margin-bottom:30px;margin-right:10px}.add-project-task button:hover .view-tasks-button:hover,.add-task-button:hover,.add-user-button:hover,.add-user button:hover,.change-password .button:hover,.create-project button:hover,.edit-project-button:hover,.edit-project button:hover,.edit-user-button:hover,.edit-user button:hover,.project-details button:hover,.todo-list button:hover,.user button:hover{background:#8f0830}.assigned_users_preview{padding:6px;margin:2px;border-bottom:1px;border-radius:5px;box-shadow:1px 3px 5px #c2c2c2}.assigned_users_preview:hover{box-shadow:1px 3px 5px grey}.assigned_users_preview h4{font-size:10;color:#000;padding-bottom:5px;padding-top:5px;padding-left:4px}.assigned_users_preview a{text-decoration:none}.project_user_assignment_list{margin-bottom:30px;margin-right:10px}.add-project-task,.change-password,.create-project .edit-project,.edit-user{max-width:400px;margin:0 auto;text-align:center}.login{margin:0;position:absolute;top:50%;left:50%;width:500px;height:350px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);box-shadow:1px 3px 5px #c2c2c2;border-radius:6px;text-align:center}.add-project-task label,.add-todo-form label,.add-user label,.change-password label,.create-project label,.edit-project label,.edit-user label{text-align:left;display:block;font-size:20px;-webkit-align-items:center;align-items:center}.login h1{font-size:40px;color:#f1356d;margin-bottom:20px;margin-top:20px;-webkit-align-items:center;align-items:center}.login a{font-size:20px;color:#35a6f1;text-decoration:underline;margin:8px 0 10px}.login a,.login button{padding:14px 20px;border:none;cursor:pointer}.login button{background:#f1356d;color:#fff;font-size:25px}.login button,.login input{width:450px;margin:8px 0 20px}.login input{padding:12px 20px;display:inline-block;border:1px solid #ccc;box-sizing:border-box;font-size:15px}.login .button:hover{background:#8f0830}.add-project-task h2,.add-todo-form h2,.add-user h2,.change-password h2,.create-project h2,.edit-project h2,.edit-user h2{font-size:35px;color:#f1356d;margin-bottom:30px}.add-project-task input,.add-project-task select,.add-project-task textarea,.add-todo-form input,.add-todo-form select,.add-todo-form textarea,.add-user input,.change-password input,.create-project input,.create-project select,.create-project textarea,.edit-project input,.edit-project select,.edit-project textarea,.edit-user input{width:100%;padding:6px 10px;margin:10px 0;border:1px solid #ddd;box-sizing:border-box;display:block}.my-profile h2{font-size:35px;color:#f1356d;margin-bottom:10px}.my-profile p{font-size:20px;color:#080808;margin-bottom:30px}.page-not-found h2,.page-not-found p{margin-bottom:10px}.add-project-task label,.add-user label{text-align:left;display:block;font-size:20px}.users h1{font-style:bold;font-size:50px;text-align:left;margin-bottom:30px}.bm-burger-button{position:fixed;width:36px;height:30px;left:36px;top:36px}.bm-burger-bars{background:#373a47}.bm-burger-bars-hover{background:#a90000}.bm-cross-button{height:24px;width:24px}.bm-cross{background:#248f0f}.bm-menu-wrap{position:fixed;height:100%}.bm-menu{padding:2.5em 1.5em 0;font-size:1.15em}.bm-morph-shape{fill:#373a47}.bm-item-list{color:#5a0808;padding:.8em}.bm-overlay{background:rgba(0,0,0,.3)}.bm-item{display:inline-block;color:#5d076e;margin-bottom:10px;text-align:left;text-decoration:none;transition:color .2s}.bm-item:hover{color:#000}.personal-todos{display:block;max-height:1000px;overflow-x:hidden;overflow-y:auto}.todo-preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2;max-width:300px;background-color:#f0b995}.todo-preview:hover{box-shadow:1px 3px 5px grey}.todo-preview h2{padding-top:10px;font-size:30px;font-weight:bolder}.todo-preview h2,.todo-preview h3{color:#000;padding-bottom:7px;background-color:#f0b995}.todo-preview h3{font-size:15px;padding-left:4px}.todo-preview button{background:#89e63d;color:#000;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:15px;text-decoration:none;margin-bottom:10px;margin-left:4px;margin-top:5px}.todo-preview button:hover{background:#548d25}.add-todo-label{background:#e66a12;color:#fff;text-align:center;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:35px;text-decoration:none;margin:15px}.add-todo-label:hover{background:#a55b27}.add-todo-form{max-width:400px;margin:0 auto;text-align:center;display:none}.add-todo-button button{background:#e66a12;color:#fff;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:25px;text-decoration:none;margin-bottom:30px;margin-right:10px}.add-todo-button button:hover{background:#a55b27}.project-tasks{margin-bottom:30px}.project-tasks h2{padding-top:10px;padding-bottom:10px}.project-task-preview{padding:6px;border-bottom:1px;border-radius:5px;margin:2px 2px 10px;box-shadow:1px 3px 5px #c2c2c2}.project-task-preview:hover{box-shadow:1px 3px 5px grey}.project-task-preview h2{font-size:20;color:#f1356d;padding-left:4px}.project-task-preview h3{font-size:10;color:#000;padding-bottom:7px;padding-left:4px}.project-task-preview a{text-decoration:none}.add-task-button-wrapper{margin-top:30px}.task-complete-button{background:#00f}.task-complete-button,.task-delete-button{color:#fff;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:20px;text-decoration:none;margin-bottom:10px;margin-right:10px}.task-delete-button{background:green}.dropdown{max-width:400px} -/*# sourceMappingURL=main.893b1949.chunk.css.map */ \ No newline at end of file diff --git a/backend/static/react/css/main.893b1949.chunk.css.map b/backend/static/react/css/main.893b1949.chunk.css.map deleted file mode 100644 index f019a6385f00e63e55bd2257e0b152a895978541..0000000000000000000000000000000000000000 --- a/backend/static/react/css/main.893b1949.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["main.893b1949.chunk.css","webpack://src/index.css"],"names":[],"mappings":"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","file":"main.893b1949.chunk.css","sourcesContent":["@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@100&display=swap);\n* {\n margin: 0;\n font-family: \"Raleway\";\n color: rgb(0, 0, 0);\n background-color: white;\n}\n\n.home h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 50px;\n}\n\n.home h2 {\n margin-top: 10px;\n padding: 4px;\n}\n\n.home button {\n background-color: #ff4e83;\n color: rgb(0, 0, 0);\n padding: 15px 32px;\n font-size: 20px;\n border-radius: 12px;\n}\n\n.home button:hover {\n background-color: #8f0830;\n}\n\n.navbar {\n padding: 20px;\n display: -webkit-flex;\n display: flex;\n -webkit-align-items: center;\n align-items: center;\n max-width: 1000px;\n margin: 0 auto;\n border-bottom: 1px solid #f2f2f2;\n color: #ff4e83;\n}\n\n.navbar h1 {\n color: #ff4e83;\n}\n\n.navbar .links {\n margin-left: auto;\n}\n\n.navbar a {\n margin-left: 16px;\n text-decoration: none;\n padding: 6px;\n color: rgb(0, 0, 0);\n}\n\n.navbar a:hover {\n color: #f1356d;\n}\n\n.content {\n max-width: 1000px;\n padding: 20px;\n margin: 20px auto;\n}\n\n/* any preview */\n\n.preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 20px;\n padding-left: 4px;\n}\n\n.preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.preview a {\n text-decoration: none;\n}\n\n/* User page */\n\n.user {\n width: 1000px;\n margin-bottom: 30px;\n background-color: #fff;\n}\n\n.user h2 {\n font-size: 32px;\n font-weight: 600;\n margin-bottom: 15px;\n color: #333;\n}\n\n.user h3 {\n font-size: 15px;\n color: #222729;\n letter-spacing: 1px;\n margin-bottom: 5px;\n}\n\n.user h4 {\n font-size: 10px;\n color: #00baff;\n letter-spacing: 1px;\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n.user p {\n font-size: 16px;\n line-height: 26px;\n margin-bottom: 20px;\n color: #666;\n}\n\n/* Project details */\n\n.project-details h2, .user h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.user h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n.create-project button, .project-details button, .edit-project-button, .add-user button, .edit-user-button, .user button, .add-task-button,\n.view-tasks-button, .add-todo-form button, .add-project-task button,\n.change-password .button, .edit-project button, .add-user-button {\n background: #f1356d;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.create-project button:hover, .project-details button:hover, .edit-project-button:hover, .edit-user-button:hover, .user button:hover,\n.add-task-button:hover, .add-user button:hover, .edit-user button:hover, .todo-list button:hover, .add-project-task button:hover\n.view-tasks-button:hover, .change-password .button:hover, .edit-project button:hover,\n.add-user-button:hover {\n background: #8f0830;\n}\n\n.assigned_users_preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.assigned_users_preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.assigned_users_preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.assigned_users_preview a {\n text-decoration: none;\n}\n\n.project_user_assignment_list {\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n/* Create new project form and edit project */\n\n\n.create-project .edit-project, .edit-user, .add-project-task, .change-password{\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n}\n\n.login {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 500px;\n height: 350px;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n border-radius: 6px;\n text-align: center;\n}\n\n.create-project label, .edit-project label, .add-user label, .edit-user label, .add-todo-form label, .change-password label, \n.add-project-task label{\n text-align: left;\n display: block;\n font-size: 20px;\n -webkit-align-items: center;\n align-items: center;\n}\n\n.login h1 {\n font-size: 40px;\n color: #f1356d;\n margin-bottom: 20px;\n margin-top: 20px;\n -webkit-align-items: center;\n align-items: center;\n}\n\n.login a {\n font-size: 20px;\n color: #35a6f1;\n text-decoration: underline;\n padding: 14px 20px;\n margin: 8px 0;\n margin-bottom: 10px;\n border: none;\n cursor: pointer;\n}\n\n.login button {\n background: #f1356d;\n color: #fff;\n padding: 14px 20px;\n margin: 8px 0;\n border: none;\n cursor: pointer;\n width: 450px;\n margin-bottom: 20px;\n font-size: 25px;\n}\n\n.login input {\n width: 450px;\n padding: 12px 20px;\n margin: 8px 0;\n margin-bottom: 20px;\n display: inline-block;\n border: 1px solid #ccc;\n box-sizing: border-box;\n font-size: 15px;\n}\n\n.login .button:hover {\n background: #8f0830;\n}\n\n.create-project h2, .edit-project h2, .add-user h2, .edit-user h2, .add-todo-form h2, .add-project-task h2, .change-password h2{\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 30px;\n}\n.create-project input, .create-project textarea, .create-project select,\n.edit-project input, .edit-project textarea, .edit-project select, .add-user input,\n.edit-user input, .add-todo-form input, .add-todo-form textarea, .add-todo-form select,\n.add-project-task input, .add-project-task textarea, .add-project-task select, .change-password input{\n width: 100%;\n padding: 6px 10px;\n margin: 10px 0;\n border: 1px solid #ddd;\n box-sizing: border-box;\n display: block;\n}\n\n\n/* My Profile */\n\n.my-profile h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.my-profile p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n/* Page not found */\n\n.page-not-found h2, .page-not-found p {\n margin-bottom: 10px;\n}\n\n/* Add New User */\n\n.add-user label, .add-project-task label {\n text-align: left;\n display: block;\n font-size: 20px;\n}\n\n.users h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 30px;\n}\n\n/* Position and sizing of burger button */\n\n.bm-burger-button {\n position: fixed;\n width: 36px;\n height: 30px;\n left: 36px;\n top: 36px;\n}\n\n/* Color/shape of burger icon bars */\n\n.bm-burger-bars {\n background: #373a47;\n}\n\n/* Color/shape of burger icon bars on hover*/\n\n.bm-burger-bars-hover {\n background: #a90000;\n}\n\n/* Position and sizing of clickable cross button */\n\n.bm-cross-button {\n height: 24px;\n width: 24px;\n}\n\n/* Color/shape of close button cross */\n\n.bm-cross {\n background: #248f0f;\n}\n\n/*\nSidebar wrapper styles\nNote: Beware of modifying this element as it can break the animations - you should not need to touch it in most cases\n*/\n\n.bm-menu-wrap {\n position: fixed;\n height: 100%;\n}\n\n/* General sidebar styles */\n\n.bm-menu {\n padding: 2.5em 1.5em 0;\n font-size: 1.15em;\n}\n\n/* Morph shape necessary with bubble or elastic */\n\n.bm-morph-shape {\n fill: #373a47;\n}\n\n/* Wrapper for item list */\n\n.bm-item-list {\n color: #5a0808;\n padding: 0.8em;\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n}\n\n/* Styling of overlay */\n\n.bm-overlay {\n background: rgba(0, 0, 0, 0.3);\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n color: #5d076e;\n margin-bottom: 10px;\n text-align: left;\n text-decoration: none;\n transition: color 0.2s;\n}\n\n.bm-item:hover {\n color: #000000;\n}\n\n/* Personal todos */\n\n.personal-todos {\n display: block;\n max-height: 1000px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.todo-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n max-width: 300px;\n background-color: #f0b995;\n}\n\n.todo-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.todo-preview h2 {\n padding-top: 10px;\n font-size: 30px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n background-color: #f0b995;\n font-weight: bolder;\n}\n\n.todo-preview h3 {\n font-size: 15px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n background-color: #f0b995;\n}\n\n.todo-preview button {\n background: rgb(137, 230, 61);\n color: rgb(0, 0, 0);\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 15px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-left: 4px;\n margin-top: 5px;\n}\n\n.todo-preview button:hover {\n background: rgb(84, 141, 37);\n}\n\n.add-todo-label {\n background: rgb(230, 106, 18);\n color: #fff;\n text-align: center;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 35px;\n text-decoration: none;\n margin: 15px;\n}\n\n.add-todo-label:hover {\n background: rgb(165, 91, 39);\n}\n\n.add-todo-form {\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n display: none;\n}\n\n.add-todo-button button {\n background: rgb(230, 106, 18);\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.add-todo-button button:hover {\n background: rgb(165, 91, 39);\n}\n\n/* Project tasks */\n\n.project-tasks {\n margin-bottom: 30px;\n}\n\n.project-tasks h2 {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.project-task-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.project-task-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.project-task-preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.project-task-preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n}\n\n.project-task-preview a {\n text-decoration: none;\n}\n\n.add-task-button-wrapper {\n margin-top: 30px;\n}\n\n.task-complete-button {\n background: blue;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.task-delete-button {\n background: green;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.dropdown {\n max-width: 400px;\n}\n\n","@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@100&display=swap');\n* {\n margin: 0;\n font-family: \"Raleway\";\n color: rgb(0, 0, 0);\n background-color: white;\n}\n\n.home h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 50px;\n}\n\n.home h2 {\n margin-top: 10px;\n padding: 4px;\n}\n\n.home button {\n background-color: #ff4e83;\n color: rgb(0, 0, 0);\n padding: 15px 32px;\n font-size: 20px;\n border-radius: 12px;\n}\n\n.home button:hover {\n background-color: #8f0830;\n}\n\n.navbar {\n padding: 20px;\n display: flex;\n align-items: center;\n max-width: 1000px;\n margin: 0 auto;\n border-bottom: 1px solid #f2f2f2;\n color: #ff4e83;\n}\n\n.navbar h1 {\n color: #ff4e83;\n}\n\n.navbar .links {\n margin-left: auto;\n}\n\n.navbar a {\n margin-left: 16px;\n text-decoration: none;\n padding: 6px;\n color: rgb(0, 0, 0);\n}\n\n.navbar a:hover {\n color: #f1356d;\n}\n\n.content {\n max-width: 1000px;\n padding: 20px;\n margin: 20px auto;\n}\n\n/* any preview */\n\n.preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 20px;\n padding-left: 4px;\n}\n\n.preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.preview a {\n text-decoration: none;\n}\n\n/* User page */\n\n.user {\n width: 1000px;\n margin-bottom: 30px;\n background-color: #fff;\n}\n\n.user h2 {\n font-size: 32px;\n font-weight: 600;\n margin-bottom: 15px;\n color: #333;\n}\n\n.user h3 {\n font-size: 15px;\n color: #222729;\n letter-spacing: 1px;\n margin-bottom: 5px;\n}\n\n.user h4 {\n font-size: 10px;\n color: #00baff;\n letter-spacing: 1px;\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n.user p {\n font-size: 16px;\n line-height: 26px;\n margin-bottom: 20px;\n color: #666;\n}\n\n/* Project details */\n\n.project-details h2, .user h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.user h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details h4 {\n font-size: 20px;\n color: rgb(39, 36, 36);\n margin-bottom: 30px;\n}\n\n.project-details p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n.create-project button, .project-details button, .edit-project-button, .add-user button, .edit-user-button, .user button, .add-task-button,\n.view-tasks-button, .add-todo-form button, .add-project-task button,\n.change-password .button, .edit-project button, .add-user-button {\n background: #f1356d;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.create-project button:hover, .project-details button:hover, .edit-project-button:hover, .edit-user-button:hover, .user button:hover,\n.add-task-button:hover, .add-user button:hover, .edit-user button:hover, .todo-list button:hover, .add-project-task button:hover\n.view-tasks-button:hover, .change-password .button:hover, .edit-project button:hover,\n.add-user-button:hover {\n background: #8f0830;\n}\n\n.assigned_users_preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.assigned_users_preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.assigned_users_preview h4 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 5px;\n padding-top: 5px;\n padding-left: 4px;\n}\n\n.assigned_users_preview a {\n text-decoration: none;\n}\n\n.project_user_assignment_list {\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n/* Create new project form and edit project */\n\n\n.create-project .edit-project, .edit-user, .add-project-task, .change-password{\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n}\n\n.login {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 500px;\n height: 350px;\n -ms-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n border-radius: 6px;\n text-align: center;\n}\n\n.create-project label, .edit-project label, .add-user label, .edit-user label, .add-todo-form label, .change-password label, \n.add-project-task label{\n text-align: left;\n display: block;\n font-size: 20px;\n align-items: center;\n}\n\n.login h1 {\n font-size: 40px;\n color: #f1356d;\n margin-bottom: 20px;\n margin-top: 20px;\n align-items: center;\n}\n\n.login a {\n font-size: 20px;\n color: #35a6f1;\n text-decoration: underline;\n padding: 14px 20px;\n margin: 8px 0;\n margin-bottom: 10px;\n border: none;\n cursor: pointer;\n}\n\n.login button {\n background: #f1356d;\n color: #fff;\n padding: 14px 20px;\n margin: 8px 0;\n border: none;\n cursor: pointer;\n width: 450px;\n margin-bottom: 20px;\n font-size: 25px;\n}\n\n.login input {\n width: 450px;\n padding: 12px 20px;\n margin: 8px 0;\n margin-bottom: 20px;\n display: inline-block;\n border: 1px solid #ccc;\n box-sizing: border-box;\n font-size: 15px;\n}\n\n.login .button:hover {\n background: #8f0830;\n}\n\n.create-project h2, .edit-project h2, .add-user h2, .edit-user h2, .add-todo-form h2, .add-project-task h2, .change-password h2{\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 30px;\n}\n.create-project input, .create-project textarea, .create-project select,\n.edit-project input, .edit-project textarea, .edit-project select, .add-user input,\n.edit-user input, .add-todo-form input, .add-todo-form textarea, .add-todo-form select,\n.add-project-task input, .add-project-task textarea, .add-project-task select, .change-password input{\n width: 100%;\n padding: 6px 10px;\n margin: 10px 0;\n border: 1px solid #ddd;\n box-sizing: border-box;\n display: block;\n}\n\n\n/* My Profile */\n\n.my-profile h2 {\n font-size: 35px;\n color: #f1356d;\n margin-bottom: 10px;\n}\n\n.my-profile p {\n font-size: 20px;\n color: rgb(8, 8, 8);\n margin-bottom: 30px;\n}\n\n/* Page not found */\n\n.page-not-found h2, .page-not-found p {\n margin-bottom: 10px;\n}\n\n/* Add New User */\n\n.add-user label, .add-project-task label {\n text-align: left;\n display: block;\n font-size: 20px;\n}\n\n.users h1 {\n font-style: bold;\n font-size: 50px;\n text-align: left;\n margin-bottom: 30px;\n}\n\n/* Position and sizing of burger button */\n\n.bm-burger-button {\n position: fixed;\n width: 36px;\n height: 30px;\n left: 36px;\n top: 36px;\n}\n\n/* Color/shape of burger icon bars */\n\n.bm-burger-bars {\n background: #373a47;\n}\n\n/* Color/shape of burger icon bars on hover*/\n\n.bm-burger-bars-hover {\n background: #a90000;\n}\n\n/* Position and sizing of clickable cross button */\n\n.bm-cross-button {\n height: 24px;\n width: 24px;\n}\n\n/* Color/shape of close button cross */\n\n.bm-cross {\n background: #248f0f;\n}\n\n/*\nSidebar wrapper styles\nNote: Beware of modifying this element as it can break the animations - you should not need to touch it in most cases\n*/\n\n.bm-menu-wrap {\n position: fixed;\n height: 100%;\n}\n\n/* General sidebar styles */\n\n.bm-menu {\n padding: 2.5em 1.5em 0;\n font-size: 1.15em;\n}\n\n/* Morph shape necessary with bubble or elastic */\n\n.bm-morph-shape {\n fill: #373a47;\n}\n\n/* Wrapper for item list */\n\n.bm-item-list {\n color: #5a0808;\n padding: 0.8em;\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n}\n\n/* Styling of overlay */\n\n.bm-overlay {\n background: rgba(0, 0, 0, 0.3);\n}\n\n/* Individual item */\n\n.bm-item {\n display: inline-block;\n color: #5d076e;\n margin-bottom: 10px;\n text-align: left;\n text-decoration: none;\n transition: color 0.2s;\n}\n\n.bm-item:hover {\n color: #000000;\n}\n\n/* Personal todos */\n\n.personal-todos {\n display: block;\n max-height: 1000px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.todo-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n max-width: 300px;\n background-color: #f0b995;\n}\n\n.todo-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.todo-preview h2 {\n padding-top: 10px;\n font-size: 30px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n background-color: #f0b995;\n font-weight: bolder;\n}\n\n.todo-preview h3 {\n font-size: 15px;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n background-color: #f0b995;\n}\n\n.todo-preview button {\n background: rgb(137, 230, 61);\n color: rgb(0, 0, 0);\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 15px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-left: 4px;\n margin-top: 5px;\n}\n\n.todo-preview button:hover {\n background: rgb(84, 141, 37);\n}\n\n.add-todo-label {\n background: rgb(230, 106, 18);\n color: #fff;\n text-align: center;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 35px;\n text-decoration: none;\n margin: 15px;\n}\n\n.add-todo-label:hover {\n background: rgb(165, 91, 39);\n}\n\n.add-todo-form {\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n display: none;\n}\n\n.add-todo-button button {\n background: rgb(230, 106, 18);\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 25px;\n text-decoration: none;\n margin-bottom: 30px;\n margin-right: 10px;\n}\n\n.add-todo-button button:hover {\n background: rgb(165, 91, 39);\n}\n\n/* Project tasks */\n\n.project-tasks {\n margin-bottom: 30px;\n}\n\n.project-tasks h2 {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.project-task-preview {\n padding: 6px;\n margin: 2px;\n border-bottom: 1px;\n border-radius: 5px;\n margin-bottom: 10px;\n box-shadow: 1px 3px 5px rgb(194, 194, 194);\n}\n\n.project-task-preview:hover {\n box-shadow: 1px 3px 5px gray;\n}\n\n.project-task-preview h2 {\n font-size: 20;\n color: #f1356d;\n padding-left: 4px;\n}\n\n.project-task-preview h3 {\n font-size: 10;\n color: rgb(0, 0, 0);\n padding-bottom: 7px;\n padding-left: 4px;\n}\n\n.project-task-preview a {\n text-decoration: none;\n}\n\n.add-task-button-wrapper {\n margin-top: 30px;\n}\n\n.task-complete-button {\n background: blue;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.task-delete-button {\n background: green;\n color: #fff;\n border: 0;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 20px;\n text-decoration: none;\n margin-bottom: 10px;\n margin-right: 10px;\n}\n\n.dropdown {\n max-width: 400px;\n}\n"]} \ No newline at end of file diff --git a/backend/static/react/js/2.92bb91cc.chunk.js.map b/backend/static/react/js/2.92bb91cc.chunk.js.map deleted file mode 100644 index dd7ec1153625627ac4e3ca3921498eb1db5ea723..0000000000000000000000000000000000000000 --- a/backend/static/react/js/2.92bb91cc.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../../modules/HistoryContext.js","../../modules/createNameContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/react-burger-menu/lib/menuFactory.js","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-dom/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/utils/isCheckBoxInput.ts","../../src/utils/isNullOrUndefined.ts","../../src/utils/isObject.ts","../../src/logic/getNodeParentName.ts","../../src/logic/isNameInFieldArray.ts","../../src/utils/compact.ts","../../src/utils/isUndefined.ts","../../src/utils/get.ts","../../src/constants.ts","../../src/utils/omit.ts","../../src/useFormContext.tsx","../../src/logic/getProxyFormState.ts","../../src/utils/isEmptyObject.ts","../../src/logic/shouldRenderFormState.ts","../../src/utils/convertToArrayPayload.ts","../../src/utils/isWeb.ts","../../src/utils/isProxyEnabled.ts","../../src/logic/appendErrors.ts","../../src/utils/isKey.ts","../../src/utils/stringToPath.ts","../../src/utils/set.ts","../../src/logic/focusFieldBy.ts","../../src/logic/getFieldsValues.ts","../../src/utils/isPrimitive.ts","../../src/utils/deepEqual.ts","../../src/utils/deepMerge.ts","../../src/logic/setFieldArrayDirtyFields.ts","../../src/utils/isString.ts","../../src/utils/remove.ts","../../src/utils/isBoolean.ts","../../src/utils/unset.ts","../../src/utils/isFileInput.ts","../../src/utils/isMultipleSelect.ts","../../src/utils/isRadioInput.ts","../../src/logic/getCheckboxValue.ts","../../src/logic/getFieldValueAs.ts","../../src/logic/getRadioValue.ts","../../src/logic/getFieldValue.ts","../../src/logic/getMultipleSelectValue.ts","../../src/logic/getResolverOptions.ts","../../src/logic/hasValidation.ts","../../src/logic/skipValidation.ts","../../src/utils/isFunction.ts","../../src/utils/isMessage.ts","../../src/utils/isRegex.ts","../../src/logic/getValidateError.ts","../../src/logic/getValueAndMessage.ts","../../src/logic/validateField.ts","../../src/utils/getValidationModes.ts","../../src/utils/isHTMLElement.ts","../../src/utils/isRadioOrCheckbox.ts","../../src/utils/Subject.ts","../../src/useForm.ts","../node_modules/object-assign/index.js","../node_modules/react-input-autosize/lib/AutosizeInput.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/react-is/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/react-burger-menu/lib/helpers/snapsvgImporter.js","../node_modules/react-burger-menu/lib/helpers/utils.js","../node_modules/react-burger-menu/lib/BurgerMenu.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../src/Enum.js","../../src/Utility.js","../../src/Tokenizer.js","../../src/Parser.js","../../src/Prefixer.js","../../src/Serializer.js","../../src/Middleware.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-a8309070.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-select/dist/index-4bd03571.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/Select-dbb12e54.esm.js","../node_modules/react-select/dist/stateManager-845a3300.esm.js","../node_modules/react-select/dist/react-select.esm.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/webpack/buildin/global.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/react-burger-menu/lib/menus/slide.js","../node_modules/react-burger-menu/lib/helpers/baseStyles.js","../node_modules/react-burger-menu/lib/helpers/dom.js","../node_modules/react-burger-menu/lib/components/BurgerIcon.js","../node_modules/react-burger-menu/lib/components/CrossIcon.js","../node_modules/react-burger-menu/lib/menus/stack.js","../node_modules/react-burger-menu/lib/menus/elastic.js","../node_modules/snapsvg-cjs/dist/snap.svg-cjs.js","../node_modules/eve/eve.js","../node_modules/react-burger-menu/lib/menus/bubble.js","../node_modules/react-burger-menu/lib/menus/push.js","../node_modules/react-burger-menu/lib/menus/pushRotate.js","../node_modules/react-burger-menu/lib/menus/scaleDown.js","../node_modules/react-burger-menu/lib/menus/scaleRotate.js","../node_modules/react-burger-menu/lib/menus/fallDown.js","../node_modules/react-burger-menu/lib/menus/reveal.js"],"names":["module","exports","require","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_slicedToArray","arr","Array","isArray","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","err","unsupportedIterableToArray","TypeError","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","React","Component","HashRouter","history","createHistory","render","children","props","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","innerRef","navigate","onClick","rest","event","ex","isModifiedEvent","forwardedRef","Link","component","replace","RouterContext","context","location","href","method","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","style","toLocation","path","escapedPath","match","matchPath","classnames","joinClassnames","historyContext","name","createContext","createNamedContext","Router","computeRootMatch","url","params","isExact","pathname","componentDidMount","_pendingLocation","componentWillUnmount","unlisten","state","staticContext","HistoryContext","cache","cacheCount","options","concat","matched","cacheKey","pathCache","result","regexp","pathToRegexp","compilePath","end","values","memo","Route","addLeadingSlash","stripBasename","basename","base","createURL","createPath","staticHandler","methodName","invariant","noop","Switch","child","element","computedMatch","useContext","useHistory","useParams","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","_inheritsLoose","subClass","superClass","create","constructor","prefix","condition","message","Error","isAbsolute","charAt","spliceOne","list","index","k","n","pop","resolvePathname","from","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","last","up","part","unshift","join","substr","valueOf","obj","valueEqual","a","b","every","item","aValue","bValue","stripLeadingSlash","toLowerCase","indexOf","hasBasename","stripTrailingSlash","slice","search","hash","hashIndex","searchIndex","parsePath","decodeURI","e","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","listener","notifyListeners","_len","_key","canUseDOM","window","document","createElement","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","ua","navigator","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","sliceIterator","_interopRequireDefault","__esModule","_react2","_propTypes2","_helpersBaseStyles2","_helpersDom","_componentsBurgerIcon2","_componentsCrossIcon2","styles","ARROW_DOWN","ARROW_UP","Menu","_React$useState","useState","_React$useState2","isOpen","setIsOpen","timeoutId","useRef","toggleOptions","prevIsOpenProp","ref","useEffect","current","usePrevious","toggleMenu","applyWrapperStyles","setTimeout","open","close","onClose","getStyle","width","right","getStyles","el","inline","propName","toUpperCase","output","noTransition","transition","handleExternalWrapper","id","wrapperStyles","set","wrapper","getElementById","builtStyles","prop","applyOverflow","htmlClassName","bodyClassName","console","applyClass","classList","pageWrap","pageWrapId","outerContainer","outerContainerId","menuWrap","removeAttribute","setAttribute","clearCurrentTimeout","clearTimeout","onKeyDownOpen","disableCloseOnEsc","focusOnMenuButton","focusOnNextMenuItem","focusOnPreviousMenuItem","focusOnFirstMenuItem","focusOnLastMenuItem","onKeyDownClosed","focusOnLastItem","noStateChange","svg","morphShape","lib","select","animate","attr","pathInitial","_toggleOptions$current","onStateChange","disableAutoFocus","activeElement","blur","body","defaultOnKeyDown","onKeyDown","customOnKeyDown","noOverlay","overlayClassName","trim","disableOverlayClick","customBurgerIcon","onOpen","customIcon","burgerButtonClassName","barClassName","burgerBarClassName","onIconStateChange","morphShapeClassName","height","viewBox","preserveAspectRatio","d","menuClassName","itemListElement","itemListClassName","Children","extraProps","itemClassName","tabIndex","cloneElement","customCrossIcon","crossButtonClassName","crossClassName","propTypes","string","oneOfType","oneOf","func","bool","onIconHoverChange","isRequired","number","defaultProps","_objectWithoutPropertiesLoose","excluded","sourceKeys","_defineProperty","configurable","writable","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","_unsupportedIterableToArray","o","minLen","test","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","type","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","getOwnPropertyNames","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","_arrayLikeToArray","len","arr2","_setPrototypeOf","p","setPrototypeOf","__proto__","_classCallCheck","instance","Constructor","_defineProperties","_createClass","protoProps","staticProps","_createForOfIteratorHelper","allowArrayLike","it","F","s","f","normalCompletion","didErr","step","_e2","_toConsumableArray","arrayLikeToArray","iter","isObjectType","isNullOrUndefined","Date","names","some","getNodeParentName","Boolean","val","defaultValue","isObject","compact","reduce","isUndefined","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","copy","FormContext","isProxyEnabled","formState","readFormStateRef","localReadFormStateRef","isRoot","Proxy","get","formStateData","omit","isEmptyObject","find","HTMLElement","isWeb","validateAllFieldCriteria","errors","types","input","tempPath","isKey","stringToPath","lastIndex","newValue","objValue","isNaN","focusFieldBy","fields","fieldsNames","field","_f","focus","refs","getFieldsValues","fieldsRef","disabled","deepEqual","object1","object2","isErrorObject","isPrimitive","keys1","keys2","val1","val2","deepMerge","targetValue","sourceValue","setDirtyFields","defaultValues","dirtyFields","parentNode","parentName","unset","previousObjRef","updatePath","childObject","baseGet","objectRef","currentPaths","currentPathsLength","data","isBoolean","defaultResult","isValid","validResult","option","checked","attributes","valueAsNumber","valueAsDate","setValueAs","NaN","defaultReturn","previous","getFieldValue","isFileInput","files","isRadioInput","getRadioValue","isMultipleSelect","selected","isCheckBox","getCheckboxValue","getFieldValueAs","fieldsRefs","criteriaMode","mounted","required","maxLength","minLength","pattern","validate","isOnBlur","isOnChange","isOnTouch","isTouched","isReValidateOnBlur","isReValidateOnChange","isBlurEvent","isSubmitted","isOnAll","isString","RegExp","getValidateError","validationData","isRegex","inputValue","mount","isRadio","isCheckBoxInput","isRadioOrCheckbox","isEmpty","appendErrorsCurry","bind","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","getValueAndMessage","maxOutput","minOutput","valueDate","exceedMin","valueNumber","parseFloat","maxLengthOutput","minLengthOutput","patternValue","validateRef","isFunction","validateError","validationResult","validateFunction","validateResult","mode","isOnSubmit","tearDowns","tearDown","teardown","observer","subscription","closed","add","observers","subscriber","isWindowUndefined","useForm","reValidateMode","resolver","shouldFocusError","shouldUnregister","isDirty","isValidating","submitCount","touchedFields","isSubmitting","isSubmitSuccessful","updateFormState","formStateRef","defaultValuesRef","fieldArrayDefaultValuesRef","contextRef","inFieldArrayActionRef","isMountedRef","subjectsRef","watch","control","array","namesRef","Set","unMount","watchAll","validationMode","getValidationModes","isValidateAllFieldCriteria","isFieldWatched","has","shouldRenderBaseOnError","shouldSkipRender","inputState","isValidFromResolver","isWatched","previousError","validateForm","updatedFormState","setFieldValue","rawValue","shouldRender","shouldRegister","register","isHTMLElement","radioRef","selectRef","includes","checkboxRef","shouldDirty","shouldTouch","updateTouchAndDirtyState","shouldValidate","trigger","getIsDirty","formValues","isCurrentTouched","isChanged","previousIsDirty","isPreviousFieldDirty","isCurrentFieldDirty","isPreviousFieldTouched","executeInlineValidation","skipReRender","validateField","executeResolverValidation","shouldCheckValid","valid","fieldError","fieldNames","convertToArrayPayload","schemaResult","all","fieldName","shouldFocus","updateIsValid","updateIsValidAndInputValue","isValueUndefined","defaultChecked","setInternalValues","inputKey","setValue","isFieldArray","isReset","setFieldArrayDirtyFields","getValues","handleChange","inputType","shouldSkipValidation","hasValidation","skipValidation","parentNodeName","currentError","clearErrors","inputName","setError","watchInternal","isGlobal","isArrayNames","fieldValues","subscribe","unregister","delete","keepError","keepValue","keepDirty","keepTouched","keepDefaultValue","keepIsValid","registerFieldRef","isRadioOrCheckboxFunction","contains","onChange","onBlur","shouldUnmount","handleSubmit","onValid","onInvalid","preventDefault","persist","hasNoPromiseError","registerAbsentFields","FileList","reset","keepStateOptions","updatedValues","keepValues","inputRef","closest","keepDefaultValues","keepSubmitCount","keepIsSubmitted","keepErrors","setFocus","formStateSubscription","shouldRenderFormState","useFieldArraySubscription","unsubscribe","isLiveInDom","getProxyFormState","propIsEnumerable","propertyIsEnumerable","toObject","test1","String","test2","fromCharCode","test3","letter","shouldUseNative","_react","default","sizerStyle","position","top","left","visibility","overflow","whiteSpace","INPUT_PROPS_BLACKLIST","copyStyles","node","fontSize","fontFamily","fontWeight","fontStyle","letterSpacing","textTransform","isIE","generateId","AutosizeInput","_Component","_this","ReferenceError","_possibleConstructorReturn","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","inputWidth","minWidth","inputId","prevId","_inherits","copyInputStyles","updateInputWidth","prevProps","prevState","onAutosize","getComputedStyle","inputStyles","scrollWidth","newInputWidth","placeholder","placeholderIsMinWidth","extraWidth","parseInt","injectStyles","dangerouslySetInnerHTML","__html","sizerValue","previousValue","currentValue","wrapperStyle","display","inputStyle","boxSizing","inputProps","_objectWithoutProperties","cleanInputProps","inputClassName","renderStyles","any","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","createEventEmitter","handlers","on","handler","off","h","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","Provider","emitter","_proto","getChildContext","componentWillReceiveProps","nextProps","oldValue","x","y","PropTypes","Consumer","_Component2","_this2","getValue","onUpdate","observedBits","_proto2","isarray","parse","compile","str","tokensToFunction","tokensToRegExp","PATH_REGEXP","res","tokens","defaultDelimiter","delimiter","exec","m","escaped","offset","capture","group","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","c","charCodeAt","matches","flags","opts","encode","pretty","encodeURIComponent","token","segment","JSON","stringify","j","attachKeys","re","route","endsWithDelimiter","groups","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","Snap","pxToNum","slide","stack","elastic","bubble","pushRotate","scaleDown","scaleRotate","fallDown","reveal","StyleSheet","_insertTag","tag","before","tags","prepend","container","firstChild","nextSibling","insertBefore","isSpeedy","speedy","ctr","nonce","hydrate","nodes","insert","rule","appendChild","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","process","flush","removeChild","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","abs","replacement","indexof","charat","begin","strlen","sizeof","append","combine","line","column","character","characters","root","parent","return","prev","peek","caret","alloc","dealloc","delimit","whitespace","escaping","count","commenter","identifier","rules","rulesets","pseudo","points","declarations","atrule","property","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","z","serialize","rulesheet","memoize","getRules","parsed","toRules","fixedElements","WeakMap","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","createCache","ssrStyles","querySelectorAll","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","registered","getRegisteredStyles","registeredStyles","classNames","rawClassName","insertStyles","isStringTag","murmur2","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","identifierName","hashString","EmotionCacheContext","CacheProvider","withEmotionCache","ThemeContext","typePropName","createEmotionProps","newProps","Emotion","cssProp","css","jsx","argsLength","createElementArgArray","cls","toAdd","merge","ClassNames","content","cx","_len2","_key2","theme","ele","objectWithoutPropertiesLoose","sourceSymbolKeys","_typeof","_getPrototypeOf","_assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","_isNativeReflectConstruct","Super","NewTarget","applyPrefixToName","cleanValue","cleanCommonProps","clearValue","hasValue","isMulti","isRtl","selectOption","selectProps","isDocumentElement","documentElement","getScrollTop","pageYOffset","scrollTop","scrollTo","easeOutCubic","t","animatedScrollTo","duration","start","change","increment","currentTime","animateScroll","requestAnimationFrame","isTouchCapable","createEvent","passiveOptionAccessed","w","supportsPassiveEvents","getMenuPlacement","maxHeight","menuEl","minHeight","placement","shouldScroll","isFixedPosition","spacing","scrollParent","excludeStaticParent","overflowRx","docEl","parentElement","overflowY","overflowX","getScrollParent","defaultState","offsetParent","scrollHeight","getBoundingClientRect","_menuEl$getBoundingCl","menuBottom","bottom","menuHeight","menuTop","containerTop","viewHeight","innerHeight","marginBottom","marginTop","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","scrollDuration","_constrainedHeight","spaceAbove","controlHeight","_constrainedHeight2","coercePlacement","PortalPlacementContext","getPortalPlacement","MenuPlacer","_super","maxMenuHeight","getPlacement","_this$props","minMenuHeight","menuPlacement","menuPosition","menuShouldScrollIntoView","getUpdatedProps","placerProps","noticeCSS","_ref5","_ref5$theme","baseUnit","color","colors","neutral40","padding","textAlign","noOptionsMessageCSS","loadingMessageCSS","NoOptionsMessage","innerProps","LoadingMessage","_templateObject","MenuPortal","_super2","_ref7","_this$props2","appendTo","controlElement","isFixed","rect","getBoundingClientObj","scrollDistance","menuWrapper","createPortal","_ref2","Svg","focusable","CrossIcon","DownChevron","baseCSS","_ref3","isFocused","_ref3$theme","label","neutral60","neutral20","neutral80","dropdownIndicatorCSS","clearIndicatorCSS","loadingDotAnimations","insertable","keyframes","freeze","LoadingDot","_ref6","delay","css$2","animation","backgroundColor","borderRadius","marginLeft","verticalAlign","LoadingIndicator","indicator","isHidden","background","border","outline","MultiValueGeneric","_ref4","MultiValueContainer","MultiValueLabel","MultiValue","components","isDisabled","removeProps","Container","Label","Remove","emotionCx","cropWithEllipsis","ClearIndicator","Control","menuIsOpen","DropdownIndicator","Group","Heading","headingProps","GroupHeading","_cleanCommonProps","IndicatorsContainer","indicators","IndicatorSeparator","Input","menu","MenuList","MultiValueRemove","Option","isSelected","Placeholder","SelectContainer","SingleValue","ValueContainer","safeIsNaN","Number","areInputsEqual","newInputs","lastInputs","first","second","memoizeOne","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","A11yText","defaultAriaLiveMessages","guidance","isSearchable","tabSelectsValue","_props$label","onFocus","_props$focused","focused","_props$label2","selectValue","getArrayIndex","status","onFilter","resultsMessage","LiveRegion","ariaSelection","focusedOption","focusedValue","focusableOptions","ariaLiveMessages","getOptionLabel","isOptionDisabled","screenReaderStatus","ariaLabel","ariaLive","messages","useMemo","ariaSelected","removedValue","onChangeProps","ariaFocused","focusMsg","onFocusProps","ariaResults","resultsMsg","ariaGuidance","guidanceMsg","ariaContext","Fragment","diacritics","letters","anyDiacritic","diacriticToBase","diacritic","stripDiacritics","memoizedStripDiacriticsForInput","trimString","defaultStringify","DummyInput","in","out","onExited","appear","enter","exit","emotion","transform","STYLE_KEYS","LOCK_STYLES","preventTouchMove","allowTouchMove","stopPropagation","preventInertiaScroll","totalScroll","currentScroll","offsetHeight","isTouchDevice","maxTouchPoints","activeScrollLocks","listenerOptions","passive","blurSelectInput","ScrollManager","lockEnabled","_ref$captureEnabled","captureEnabled","setScrollCaptureTarget","isEnabled","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","isBottom","isTop","touchStart","scrollTarget","handleEventDelta","useCallback","_scrollTarget$current","clientHeight","isDeltaPositive","availableScroll","shouldCancelScroll","cancelScroll","onWheel","deltaY","onTouchStart","changedTouches","clientY","onTouchMove","startListening","notPassive","stopListening","useScrollCapture","setScrollLockTarget","_ref$accountForScroll","accountForScrollbars","originalStyles","addScrollLock","touchScrollTarget","targetStyle","currentPadding","paddingRight","clientWidth","adjustedPadding","innerWidth","removeScrollLock","useScrollLock","defaultStyles","clearIndicator","direction","pointerEvents","_ref$theme","alignItems","neutral5","neutral0","borderColor","neutral10","primary","borderStyle","borderWidth","boxShadow","flexWrap","justifyContent","neutral30","dropdownIndicator","paddingBottom","paddingTop","groupHeading","paddingLeft","indicatorsContainer","alignSelf","indicatorSeparator","_ref4$theme","margin","loadingIndicator","marginRight","loadingMessage","_ref2$theme","_defineProperty$1","alignToControl","menuGutter","menuList","WebkitOverflowScrolling","menuPortal","multiValue","multiValueLabel","textOverflow","multiValueRemove","dangerLight","danger","noOptionsMessage","primary25","userSelect","WebkitTapHighlightColor","primary50","neutral50","singleValue","maxWidth","valueContainer","config","defaultTheme","primary75","neutral70","neutral90","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","matchFrom","candidate","formatGroupLabel","getOptionValue","isLoading","menuShouldBlockScroll","isMobileDevice","openMenuOnFocus","openMenuOnClick","pageSize","toCategorizedOption","_isOptionDisabled","_isOptionSelected","getOptionLabel$1","getOptionValue$1","buildCategorizedOptions","groupOrOption","groupOrOptionIndex","categorizedOptions","optionIndex","categorizedOption","isFocusable","buildFocusableOptionsFromCategorizedOptions","optionsAccumulator","_props$inputValue","shouldHideSelectedOptions","_filterOption","isOptionSelected","hideSelectedOptions","instanceId","Select","inputIsHidden","clearFocusValueOnUpdate","inputIsHiddenAfterUpdate","blockOptionHover","isComposing","commonProps","initialTouchX","initialTouchY","instancePrefix","openAfterFocus","scrollToFocusedOptionOnUpdate","userIsDragging","controlRef","getControlRef","focusedOptionRef","getFocusedOptionRef","menuListRef","getMenuListRef","getInputRef","focusInput","blurInput","actionMeta","ariaOnChange","onInputChange","onMenuClose","_this$props3","deselected","removeValue","newValueArray","removedValues","popValue","lastSelectedValue","classNamePrefix","custom","getElementId","getComponents","getCategorizedOptions","buildFocusableOptions","getFocusableOptions","onMenuMouseDown","button","onMenuMouseMove","onControlMouseDown","tagName","openMenu","onDropdownIndicatorMouseDown","_this$props4","onClearIndicatorMouseDown","onScroll","onCompositionStart","onCompositionEnd","touches","touch","clientX","deltaX","onTouchEnd","onControlTouchEnd","onClearIndicatorTouchEnd","onDropdownIndicatorTouchEnd","handleInputChange","currentTarget","onMenuOpen","onInputFocus","onInputBlur","onOptionHover","_this$props5","isClearable","_this$state","defaultPrevented","focusValue","shiftKey","keyCode","focusOption","startListeningComposition","startListeningToTouch","autoFocus","_this$props6","focusedEl","menuRect","focusedRect","overScroll","offsetTop","scrollIntoView","stopListeningComposition","stopListeningToTouch","_this$state2","openAtIndex","selectedIndex","_this$state3","focusedIndex","nextFocus","getTheme","_this$props7","formatOptionLabel","_this$props8","form","ariaAttributes","autoCapitalize","autoComplete","autoCorrect","spellCheck","readOnly","_this3","_this$getComponents2","_this$props9","_this$state4","opt","isOptionFocused","onMouseDown","_this$props10","_this$props11","_this$getComponents5","_this4","_this$getComponents7","_this$props12","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","onHover","onSelect","optionId","onMouseMove","onMouseOver","hasOptions","groupIndex","groupId","headingId","_message","menuPlacementProps","menuElement","_ref4$placerProps","scrollTargetRef","_this5","_this$props13","_value","_this$state5","_this$getComponents8","_this$props14","getCommonProps","renderLiveRegion","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","newMenuOptionsState","nextSelectValue","lastFocusedIndex","getNextFocusedValue","lastFocusedOption","getNextFocusedOption","newInputIsHiddenState","defaultInputValue","defaultMenuIsOpen","SelectComponent","_class","_temp","StateManager","callProp","getProp","manageState","l","StrictMode","Profiler","q","r","Suspense","u","v","for","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","updater","D","E","isReactComponent","forceUpdate","isPureReactComponent","G","H","I","__self","__source","J","g","$$typeof","_owner","L","M","N","escape","O","K","P","Q","_status","_result","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","toArray","only","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","createFactory","createRef","isValidElement","lazy","_payload","_init","useDebugValue","useImperativeHandle","useLayoutEffect","useReducer","version","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","pa","qa","ma","na","la","setAttributeNS","xlinkHref","ra","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","db","fb","defaultSelected","gb","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","containerInfo","xc","yc","shift","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","returnValue","isPropagationStopped","cancelBubble","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","pageX","pageY","ctrlKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Meta","Shift","Pd","Rd","code","locale","which","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","Xd","Zd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","range","tel","text","time","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","Nb","ef","ff","parentWindow","gf","hf","je","char","ke","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","Ng","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","V","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","unstable_observedBits","unmount","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","supportsFiber","inject","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","floor","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","jsxs","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","ReactPropTypes","symbol","arrayOf","instanceOf","objectOf","shape","checkPropTypes","Function","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","arrayWithoutHoles","iterableToArray","nonIterableSpread","_menuFactory","_menuFactory2","overlay","MozTransform","MsTransform","OTransform","WebkitTransform","itemList","firstItem","getElementsByClassName","lastItem","focusOnCrossButton","crossButton","focusOnMenuItem","siblingType","menuButton","BurgerIcon","_x","_x2","_x3","_again","receiver","desc","getter","_get","hover","bmBurgerBarsHover","icon","bmIcon","bar","getLineStyle","bmBurgerBars","bmBurgerButton","isMouseIn","onMouseOut","bmCross","getCrossStyle","bmCrossButton","nthChild","_helpersSnapsvgImporter2","_helpersUtils","pathOpen","mina","easeinout","eve","requestID","animations","requestAnimFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","getTime","idgen","idprefix","timer","sta","ds","dur","speed","spd","stopit","update","pause","pdif","resume","frame","easing","linear","getById","easeout","pow","easein","sqrt","backin","backout","sin","PI","bounce","glob","doc","Paper","_","win","Str","toFloat","toInt","math","mmax","mmin","objectToString","round","colourRegExp","commaSpaces","separator","hsrg","hs","pathCommand","tCommand","pathValues","ID","xlink","xmlns","hub","$","createComment","getAttributeNS","isFinite","repush","cacher","scope","postprocessor","newf","rad","deg","format","tokenRegex","objNotationRegex","quote","quotedName","isFunc","replacer","clone","angle","tan","cos","asin","num","acos","atan","atan2","x1","y1","x2","y2","x3","y3","len2","closestPoint","distance2","dx","dy","best","bestLength","scan","scanDistance","pathNode","pathLength","getTotalLength","precision","pathSegList","numberOfItems","bestDistance","scanLength","getPointAtLength","after","beforeLength","afterLength","beforeDistance","afterDistance","distance","snapTo","tolerance","rem","getRGB","colour","hex","rgbtoString","toHex","red","green","blue","rgb","hsb2rgb","hsl2rgb","hsb","hsl","toFixed","getElementsByTagName","getPropertyValue","hsbtoString","hsltoString","prepareRGB","clr","packageRGB","rgb2hsl","rgb2hsb","parsePathString","pathString","pth","paramCounts","parseTransformString","TString","svgTransform2string","tstr","rgTransform","transform2matrix","bbox","tdata","Matrix","tlen","command","absolute","inver","invert","translate","rotate","scale","_unit2px","getSomeSVG","mgr","fill","getW","getBBox","getH","nam","ownerSVGElement","add2group","childNodes","snap","paper","anims","mask","frag","make","defs","proto","dom","contentDocument","jsonFiller","getSomeDefs","pdefs","query","selectAll","nodelist","setInterval","firstDefined","json","att","createDocumentFragment","full","div","fragment","toJSON","nt","cssAttr","ajax","postData","req","XMLHttpRequest","setRequestHeader","once","onreadystatechange","readyState","send","load","responseText","getElementByPoint","canvas","elementFromPoint","opera","so","elem","box","docElem","clientTop","clientLeft","pageXOffset","getOffset","sr","createSVGRect","hits","getIntersectionList","plugin","elproto","unit2px","isWithoutTransform","getClientRects","removed","localMatrix","original","pathfinder","deflt","bboxwt","realPath","matrix","propString","extractTransform","doReturn","papa","getCTM","local","ms","localString","toTransformString","globalMatrix","totalMatrix","diffMatrix","total","gradientTransform","patternTransform","prependTo","insertAfter","remove","asPX","use","cloneNode","els","ids","uses","urltest","linktest","oldid","old","fs","fixids","toDefs","toPattern","patternUnits","marker","refX","refY","cy","markerWidth","markerHeight","orient","eldata","chld","removeData","outerSVG","innerSVG","toDataURL","btoa","contents","unescape","matrixproto","norm","normalize","mag","aNew","bNew","multLeft","cNew","eNew","skewX","skew","skewY","determinant","row","scalex","shear","scaley","isSimple","isSuperSimple","noRotation","shorter","clipIt","reURLValue","URL","fillStroke","grad","gradient","attrs","deurl","clip","gradrg","setFontSize","textExtract","chi","getFontSize","stops","seed","toAbsolute","txt","baseVal","rx","ry","tp","textPath","tuned","tuner","chunk","setter","internal","rgNotSpace","addClass","clazz","finalValue","classes","curClasses","removeClass","pos","hasClass","toggleClass","flag","operators","reUnit","reAddon","getNumber","getUnit","unit","plus","evnt","atr","aUnit","op","bplus","circle","preload","onerror","src","cssText","onload","image","offsetWidth","ellipse","vbx","vby","vbw","vbh","ptrn","vx","vy","vw","polyline","polygon","Gstops","GaddStop","GgetBBox","GsetStops","addStop","gradientLinear","setStops","gradientRadial","fx","fy","gradientUnits","clear","p2s","paths","ps","sleep","r1","r2","r0","rectPath","pathClone","pathArray","getPointAtSegmentLength","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","bezlen","findDotsAtSegment","x4","y4","ll","t2","getTotLen","getLengthFactory","istotal","subpath","onlystart","point","sp","subpaths","path2curve","getSubpathsAtLength","t1","t13","t12","t3","mx","my","nx","ny","alpha","bezierBBox","curveDim","isPointInsideBBox","isBBoxIntersect","bbox1","bbox2","base3","p3","p4","z2","Tvalues","Cvalues","sum","ct","xbase","ybase","comb","intersect","denominator","px","py","px2","py2","interHelper","bez1","bez2","justCount","n1","n2","dots1","dots2","xy","di1","dj1","interPathHelper","path1","path2","x1m","y1m","x2m","y2m","intr","segment1","segment2","pathBBox","dim","xmin","ymin","ellipsePath","getPath","pathToAbsolute","pa0","crz","dots","catmullRom2bezier","l2c","q2c","ax","ay","_13","_23","a2c","large_arc_flag","sweep_flag","recursive","_120","f1","f2","rx2","ry2","f2old","x2old","y2old","c1","s1","c2","s2","hx","hy","m1","m2","m3","m4","newres","x0","y0","b2ac","sqrtb2ac","tvalues","bounds","mt","jlen","curve","bx","by","qx","qy","attrs2","processPath","pcom","fixArc","pp","pcoms1","pcoms2","fixM","a1","a2","pfirst","seg","seg2","seglen","seg2len","crp","iLen","getSubpath","inside","found","intersection","intersectionNumber","isPointInside","toRelative","lowerCase","rel","toCubic","pathi","items","bindings","setproto","thisArg","Animation","each","callbacker","aname","unbound","insertion","todel","arglen","exclude","getEmpty","getViewBox","getColour","path2array","isNumeric","stroke","equal","tt1","tt2","maxlength","equaliseTransform","arr1","bUnit","supportsTouch","events","touchMap","mousedown","mousemove","mouseup","getScroll","preventTouch","originalEvent","stopTouch","addEvent","realName","scrollY","scrollX","olde","drag","dragMove","dragi","_drag","move_scope","dragUp","unmousemove","unmouseup","end_scope","start_scope","eventName","unbind","f_in","f_out","scope_in","scope_out","mouseover","mouseout","unhover","unmouseover","unmouseout","draggable","onmove","onstart","onend","origTransform","init","undrag","unmousedown","pproto","rgurl","filstr","filterUnits","def","shadow","grayscale","amount","sepia","saturate","hueRotate","amount2","brightness","contrast","firstLetter","getAlign","way","align","inAnim","_attrs","_callback","curStatus","eq","fkeys","tkeys","saveColor","A100","A200","A400","A700","mui","flat","pink","purple","deeppurple","indigo","lightblue","cyan","teal","lightgreen","lime","yellow","amber","orange","deeporange","brown","grey","bluegrey","turquoise","greensea","sunflower","emerland","nephritis","carrot","pumpkin","peterriver","belizehole","alizarin","pomegranate","amethyst","wisteria","clouds","silver","wetasphalt","midnightblue","concrete","asbestos","importMUIColors","current_event","comaseparator","numsort","lastDefined","objtos","ar","oldstop","indexed","sort","_events","nes","es","sep","exist","subname","cur","nts","inodes","funcs","prune","steps","stepsTotal","nextStep","finalWidth","closeButton","transformOrigin","transformStyle","perspective","perspectiveOrigin","burgerIcon"],"mappings":"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AAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,IACN4zC,QAAS,2DACR,CACD5zC,KAAM,IACN4zC,QAAS,mCACR,CACD5zC,KAAM,IACN4zC,QAAS,qGACR,CACD5zC,KAAM,IACN4zC,QAAS,qGACR,CACD5zC,KAAM,IACN4zC,QAAS,yFACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,IACN4zC,QAAS,mMACR,CACD5zC,KAAM,IACN4zC,QAAS,+CACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,IACN4zC,QAAS,2DACR,CACD5zC,KAAM,IACN4zC,QAAS,6BACR,CACD5zC,KAAM,IACN4zC,QAAS,uFACR,CACD5zC,KAAM,IACN4zC,QAAS,mFACR,CACD5zC,KAAM,IACN4zC,QAAS,qMACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,KACN4zC,QAAS,oBACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,KACN4zC,QAAS,gBACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,IACN4zC,QAAS,qDACR,CACD5zC,KAAM,IACN4zC,QAAS,2EACR,CACD5zC,KAAM,IACN4zC,QAAS,mFACR,CACD5zC,KAAM,KACN4zC,QAAS,gBACR,CACD5zC,KAAM,IACN4zC,QAAS,iLACR,CACD5zC,KAAM,IACN4zC,QAAS,mCACR,CACD5zC,KAAM,IACN4zC,QAAS,yFACR,CACD5zC,KAAM,IACN4zC,QAAS,yFACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,IACN4zC,QAAS,+GACR,CACD5zC,KAAM,IACN4zC,QAAS,mCACR,CACD5zC,KAAM,IACN4zC,QAAS,mFACR,CACD5zC,KAAM,IACN4zC,QAAS,iHACR,CACD5zC,KAAM,KACN4zC,QAAS,UACR,CACD5zC,KAAM,IACN4zC,QAAS,+CACR,CACD5zC,KAAM,IACN4zC,QAAS,mGACR,CAC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","file":"js/2.92bb91cc.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const method = replace ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\",\n activeStyle,\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n const className = isActive\n ? joinClassnames(classNameProp, activeClassName)\n : classNameProp;\n const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.object\n };\n}\n\nexport default NavLink;\n","module.exports = require(\"regenerator-runtime\");\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n <RouterContext.Provider\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n >\n <HistoryContext.Provider\n children={this.props.children || null}\n value={this.props.history}\n />\n </RouterContext.Provider>\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(Context).match;\n\n return path ? matchPath(location.pathname, path) : match;\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _helpersBaseStyles = require('./helpers/baseStyles');\n\nvar _helpersBaseStyles2 = _interopRequireDefault(_helpersBaseStyles);\n\nvar _helpersDom = require('./helpers/dom');\n\nvar _componentsBurgerIcon = require('./components/BurgerIcon');\n\nvar _componentsBurgerIcon2 = _interopRequireDefault(_componentsBurgerIcon);\n\nvar _componentsCrossIcon = require('./components/CrossIcon');\n\nvar _componentsCrossIcon2 = _interopRequireDefault(_componentsCrossIcon);\n\nexports['default'] = function (styles) {\n if (!styles) {\n throw new Error('No styles supplied');\n }\n\n var ARROW_DOWN = 'ArrowDown';\n var ARROW_UP = 'ArrowUp';\n var ESCAPE = 'Escape';\n var SPACE = ' ';\n var HOME = 'Home';\n var END = 'End';\n\n function usePrevious(value) {\n var ref = _react2['default'].useRef(value);\n _react2['default'].useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n }\n\n var Menu = function Menu(props) {\n var _React$useState = _react2['default'].useState(false);\n\n var _React$useState2 = _slicedToArray(_React$useState, 2);\n\n var isOpen = _React$useState2[0];\n var setIsOpen = _React$useState2[1];\n\n var timeoutId = _react2['default'].useRef();\n var toggleOptions = _react2['default'].useRef({});\n var prevIsOpenProp = usePrevious(props.isOpen);\n\n _react2['default'].useEffect(function () {\n if (props.isOpen) {\n toggleMenu({ isOpen: true, noStateChange: true });\n }\n\n return function cleanup() {\n applyWrapperStyles(false);\n clearCurrentTimeout();\n };\n }, []);\n\n _react2['default'].useEffect(function () {\n var wasToggled = typeof props.isOpen !== 'undefined' && props.isOpen !== isOpen && props.isOpen !== prevIsOpenProp;\n\n if (wasToggled) {\n toggleMenu();\n // Toggling changes SVG animation requirements, so defer these until next update\n return;\n }\n\n if (styles.svg) {\n (function () {\n var morphShape = document.getElementById('bm-morph-shape');\n var path = styles.svg.lib(morphShape).select('path');\n\n if (isOpen) {\n // Animate SVG path\n styles.svg.animate(path);\n } else {\n // Reset path (timeout ensures animation happens off screen)\n setTimeout(function () {\n path.attr('d', styles.svg.pathInitial);\n }, 300);\n }\n })();\n }\n });\n\n _react2['default'].useEffect(function () {\n var _toggleOptions$current = toggleOptions.current;\n var noStateChange = _toggleOptions$current.noStateChange;\n var focusOnLastItem = _toggleOptions$current.focusOnLastItem;\n\n if (!noStateChange) {\n props.onStateChange({ isOpen: isOpen });\n }\n\n if (!props.disableAutoFocus) {\n // For accessibility reasons, ensures that when we toggle open,\n // we focus the first or last menu item according to given parameter\n if (isOpen) {\n focusOnLastItem ? (0, _helpersDom.focusOnLastMenuItem)() : (0, _helpersDom.focusOnFirstMenuItem)();\n } else {\n if (document.activeElement) {\n document.activeElement.blur();\n } else {\n document.body.blur(); // Needed for IE\n }\n }\n }\n\n // Timeout ensures wrappers are cleared after animation finishes\n clearCurrentTimeout();\n timeoutId.current = setTimeout(function () {\n timeoutId.current = null;\n if (!isOpen) {\n applyWrapperStyles(false);\n }\n }, 500);\n\n // Bind keydown handlers (or custom function if supplied)\n var defaultOnKeyDown = isOpen ? onKeyDownOpen : onKeyDownClosed;\n var onKeyDown = props.customOnKeyDown || defaultOnKeyDown;\n window.addEventListener('keydown', onKeyDown);\n\n return function cleanup() {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [isOpen]);\n\n function toggleMenu() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n toggleOptions.current = options;\n\n applyWrapperStyles();\n\n // Ensures wrapper styles are applied before the menu is toggled\n setTimeout(function () {\n setIsOpen(function (open) {\n return typeof options.isOpen !== 'undefined' ? options.isOpen : !open;\n });\n });\n }\n\n function open() {\n if (typeof props.onOpen === 'function') {\n props.onOpen();\n } else {\n toggleMenu();\n }\n }\n\n function close() {\n if (typeof props.onClose === 'function') {\n props.onClose();\n } else {\n toggleMenu();\n }\n }\n\n function getStyle(style, index) {\n var width = props.width;\n var right = props.right;\n\n var formattedWidth = typeof width !== 'string' ? width + 'px' : width;\n return style(isOpen, formattedWidth, right, index);\n }\n\n // Builds styles incrementally for a given element\n function getStyles(el, index, inline) {\n var propName = 'bm' + el.replace(el.charAt(0), el.charAt(0).toUpperCase());\n\n // Set base styles\n var output = _helpersBaseStyles2['default'][el] ? getStyle(_helpersBaseStyles2['default'][el]) : {};\n\n // Add animation-specific styles\n if (styles[el]) {\n output = _extends({}, output, getStyle(styles[el], index + 1));\n }\n\n // Add custom styles\n if (props.styles[propName]) {\n output = _extends({}, output, props.styles[propName]);\n }\n\n // Add element inline styles\n if (inline) {\n output = _extends({}, output, inline);\n }\n\n // Remove transition if required\n // (useful if rendering open initially)\n if (props.noTransition) {\n delete output.transition;\n }\n\n return output;\n }\n\n // Sets or unsets styles on DOM elements outside the menu component\n // This is necessary for correct page interaction with some of the menus\n // Throws and returns if the required external elements don't exist,\n // which means any external page animations won't be applied\n function handleExternalWrapper(id, wrapperStyles, set) {\n var wrapper = document.getElementById(id);\n\n if (!wrapper) {\n console.error(\"Element with ID '\" + id + \"' not found\");\n return;\n }\n\n var builtStyles = getStyle(wrapperStyles);\n\n for (var prop in builtStyles) {\n if (builtStyles.hasOwnProperty(prop)) {\n wrapper.style[prop] = set ? builtStyles[prop] : '';\n }\n }\n\n // Prevent any horizontal scroll\n // Only set overflow-x as an inline style if htmlClassName or\n // bodyClassName is not passed in. Otherwise, it is up to the caller to\n // decide if they want to set the overflow style in CSS using the custom\n // class names\n var applyOverflow = function applyOverflow(el) {\n return el.style['overflow-x'] = set ? 'hidden' : '';\n };\n if (!props.htmlClassName) {\n applyOverflow(document.querySelector('html'));\n }\n if (!props.bodyClassName) {\n applyOverflow(document.querySelector('body'));\n }\n }\n\n // Applies component-specific styles to external wrapper elements\n function applyWrapperStyles() {\n var set = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n var applyClass = function applyClass(el, className) {\n return el.classList[set ? 'add' : 'remove'](className);\n };\n\n if (props.htmlClassName) {\n applyClass(document.querySelector('html'), props.htmlClassName);\n }\n if (props.bodyClassName) {\n applyClass(document.querySelector('body'), props.bodyClassName);\n }\n\n if (styles.pageWrap && props.pageWrapId) {\n handleExternalWrapper(props.pageWrapId, styles.pageWrap, set);\n }\n\n if (styles.outerContainer && props.outerContainerId) {\n handleExternalWrapper(props.outerContainerId, styles.outerContainer, set);\n }\n\n var menuWrap = document.querySelector('.bm-menu-wrap');\n if (menuWrap) {\n if (set) {\n menuWrap.removeAttribute('hidden');\n } else {\n menuWrap.setAttribute('hidden', true);\n }\n }\n }\n\n // Avoids potentially attempting to update an unmounted component\n function clearCurrentTimeout() {\n if (timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }\n\n function onKeyDownOpen(e) {\n e = e || window.event;\n switch (e.key) {\n case ESCAPE:\n // Close on ESC, unless disabled\n if (!props.disableCloseOnEsc) {\n close();\n (0, _helpersDom.focusOnMenuButton)();\n }\n break;\n case ARROW_DOWN:\n (0, _helpersDom.focusOnNextMenuItem)();\n break;\n case ARROW_UP:\n (0, _helpersDom.focusOnPreviousMenuItem)();\n break;\n case HOME:\n (0, _helpersDom.focusOnFirstMenuItem)();\n break;\n case END:\n (0, _helpersDom.focusOnLastMenuItem)();\n break;\n }\n }\n\n function onKeyDownClosed(e) {\n e = e || window.event;\n // Key downs came from menu button\n if (e.target === document.getElementById('react-burger-menu-btn')) {\n switch (e.key) {\n case ARROW_DOWN:\n case SPACE:\n // If down arrow, space or enter, open menu and focus on first menuitem\n toggleMenu();\n break;\n case ARROW_UP:\n // If arrow up, open menu and focus on last menuitem\n toggleMenu({ focusOnLastItem: true });\n break;\n }\n }\n }\n\n function handleOverlayClick() {\n if (props.disableOverlayClick === true || typeof props.disableOverlayClick === 'function' && props.disableOverlayClick()) {\n return;\n } else {\n close();\n }\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n !props.noOverlay && _react2['default'].createElement('div', {\n className: ('bm-overlay ' + props.overlayClassName).trim(),\n onClick: handleOverlayClick,\n style: getStyles('overlay')\n }),\n props.customBurgerIcon !== false && _react2['default'].createElement(\n 'div',\n { style: getStyles('burgerIcon') },\n _react2['default'].createElement(_componentsBurgerIcon2['default'], {\n onClick: open,\n styles: props.styles,\n customIcon: props.customBurgerIcon,\n className: props.burgerButtonClassName,\n barClassName: props.burgerBarClassName,\n onIconStateChange: props.onIconStateChange\n })\n ),\n _react2['default'].createElement(\n 'div',\n {\n id: props.id,\n className: ('bm-menu-wrap ' + props.className).trim(),\n style: getStyles('menuWrap'),\n 'aria-hidden': !isOpen\n },\n styles.svg && _react2['default'].createElement(\n 'div',\n {\n id: 'bm-morph-shape',\n className: ('bm-morph-shape ' + props.morphShapeClassName).trim(),\n style: getStyles('morphShape')\n },\n _react2['default'].createElement(\n 'svg',\n {\n width: '100%',\n height: '100%',\n viewBox: '0 0 100 800',\n preserveAspectRatio: 'none'\n },\n _react2['default'].createElement('path', { d: styles.svg.pathInitial })\n )\n ),\n _react2['default'].createElement(\n 'div',\n {\n className: ('bm-menu ' + props.menuClassName).trim(),\n style: getStyles('menu')\n },\n _react2['default'].createElement(props.itemListElement, {\n className: ('bm-item-list ' + props.itemListClassName).trim(),\n style: getStyles('itemList')\n }, _react2['default'].Children.map(props.children, function (item, index) {\n if (item) {\n var classList = ['bm-item', props.itemClassName, item.props.className].filter(function (className) {\n return !!className;\n }).join(' ');\n var extraProps = {\n key: index,\n className: classList,\n style: getStyles('item', index, item.props.style),\n tabIndex: isOpen ? 0 : -1\n };\n return _react2['default'].cloneElement(item, extraProps);\n }\n }))\n ),\n props.customCrossIcon !== false && _react2['default'].createElement(\n 'div',\n { style: getStyles('closeButton') },\n _react2['default'].createElement(_componentsCrossIcon2['default'], {\n onClick: close,\n styles: props.styles,\n customIcon: props.customCrossIcon,\n className: props.crossButtonClassName,\n crossClassName: props.crossClassName,\n isOpen: isOpen\n })\n )\n )\n );\n };\n\n Menu.propTypes = {\n bodyClassName: _propTypes2['default'].string,\n burgerBarClassName: _propTypes2['default'].string,\n burgerButtonClassName: _propTypes2['default'].string,\n className: _propTypes2['default'].string,\n crossButtonClassName: _propTypes2['default'].string,\n crossClassName: _propTypes2['default'].string,\n customBurgerIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customCrossIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customOnKeyDown: _propTypes2['default'].func,\n disableAutoFocus: _propTypes2['default'].bool,\n disableCloseOnEsc: _propTypes2['default'].bool,\n disableOverlayClick: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].func]),\n htmlClassName: _propTypes2['default'].string,\n id: _propTypes2['default'].string,\n isOpen: _propTypes2['default'].bool,\n itemClassName: _propTypes2['default'].string,\n itemListClassName: _propTypes2['default'].string,\n itemListElement: _propTypes2['default'].oneOf(['div', 'nav']),\n menuClassName: _propTypes2['default'].string,\n morphShapeClassName: _propTypes2['default'].string,\n noOverlay: _propTypes2['default'].bool,\n noTransition: _propTypes2['default'].bool,\n onClose: _propTypes2['default'].func,\n onIconHoverChange: _propTypes2['default'].func,\n onOpen: _propTypes2['default'].func,\n onStateChange: _propTypes2['default'].func,\n outerContainerId: styles && styles.outerContainer ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n overlayClassName: _propTypes2['default'].string,\n pageWrapId: styles && styles.pageWrap ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n right: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object,\n width: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].string])\n };\n\n Menu.defaultProps = {\n bodyClassName: '',\n burgerBarClassName: '',\n burgerButtonClassName: '',\n className: '',\n crossButtonClassName: '',\n crossClassName: '',\n disableAutoFocus: false,\n disableCloseOnEsc: false,\n htmlClassName: '',\n id: '',\n itemClassName: '',\n itemListClassName: '',\n menuClassName: '',\n morphShapeClassName: '',\n noOverlay: false,\n noTransition: false,\n onStateChange: function onStateChange() {},\n outerContainerId: '',\n overlayClassName: '',\n pageWrapId: '',\n styles: {},\n width: 300,\n onIconHoverChange: function onIconHoverChange() {},\n itemListElement: 'nav'\n };\n\n return Menu;\n};\n\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is null | undefined => value == null;\n","import isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown) => typeof value === 'object';\n\nexport default <T extends object>(value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !(value instanceof Date);\n","export default (name: string) => name.substring(0, name.search(/.\\d/)) || name;\n","import { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set<InternalFieldName>, name: InternalFieldName) =>\n [...names].some((current) => getNodeParentName(name) === current);\n","export default (value: any[]) => value.filter(Boolean);\n","export default (val: unknown): val is undefined => val === undefined;\n","import compact from './compact';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\n\nexport default <T extends unknown>(\n obj: T,\n path: string,\n defaultValue?: unknown,\n) => {\n if (isObject(obj) && path) {\n const result = compact(path.split(/[,[\\].]+?/)).reduce(\n (result, key) => (isNullOrUndefined(result) ? result : result[key]),\n obj,\n );\n\n return isUndefined(result) || result === obj\n ? isUndefined(obj[path as keyof T])\n ? defaultValue\n : obj[path as keyof T]\n : result;\n }\n\n return undefined;\n};\n","import { ValidationMode } from './types';\n\nexport const EVENTS = {\n BLUR: 'blur',\n CHANGE: 'change',\n};\n\nexport const VALIDATION_MODE: ValidationMode = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n","export default <Key extends string, T extends Record<Key, any>>(\n source: T,\n key: Key,\n): Omit<T, Key> => {\n const copy = { ...source };\n delete copy[key];\n\n return copy;\n};\n","import * as React from 'react';\n\nimport omit from './utils/omit';\nimport { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst FormContext = React.createContext<UseFormReturn | null>(null);\n\nFormContext.displayName = 'RHFContext';\n\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n>(): UseFormReturn<TFieldValues> =>\n React.useContext(FormContext) as unknown as UseFormReturn<TFieldValues>;\n\nexport const FormProvider = <TFieldValues extends FieldValues>(\n props: FormProviderProps<TFieldValues>,\n) => (\n <FormContext.Provider\n value={omit(props, 'children') as unknown as UseFormReturn}\n >\n {props.children}\n </FormContext.Provider>\n);\n","import * as React from 'react';\n\nimport { VALIDATION_MODE } from '../constants';\nimport { FormState, FormStateProxy, ReadFormState } from '../types';\n\nexport default <TFieldValues>(\n isProxyEnabled: boolean,\n formState: FormState<TFieldValues>,\n readFormStateRef: React.MutableRefObject<ReadFormState>,\n localReadFormStateRef?: React.MutableRefObject<ReadFormState>,\n isRoot = true,\n) =>\n isProxyEnabled\n ? new Proxy(formState, {\n get: (obj, prop: keyof FormStateProxy) => {\n if (prop in obj) {\n if (readFormStateRef.current[prop] !== VALIDATION_MODE.all) {\n readFormStateRef.current[prop] = isRoot\n ? VALIDATION_MODE.all\n : true;\n }\n localReadFormStateRef &&\n (localReadFormStateRef.current[prop] = true);\n return obj[prop];\n }\n\n return undefined;\n },\n })\n : formState;\n","import { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import { VALIDATION_MODE } from '../constants';\nimport { ReadFormState } from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport omit from '../utils/omit';\n\nexport default <T extends Record<string, any>, K extends ReadFormState>(\n formStateData: T,\n readFormStateRef: K,\n isRoot?: boolean,\n) => {\n const formState = omit(formStateData, 'name');\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(readFormStateRef).length ||\n Object.keys(formState).find(\n (key) =>\n readFormStateRef[key as keyof ReadFormState] ===\n (isRoot ? VALIDATION_MODE.all : true),\n )\n );\n};\n","export default <T extends unknown>(value: T) =>\n Array.isArray(value) ? value : [value];\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isWeb from './isWeb';\n\nconst isProxyEnabled = isWeb ? 'Proxy' in window : typeof Proxy !== 'undefined';\n\nexport default isProxyEnabled;\n","import {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default (value: string) => /^\\w*$/.test(value);\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import { FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default function set(\n object: FieldValues,\n path: string,\n value?: unknown,\n) {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n}\n","import { FieldRefs, InternalFieldName } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\nimport isUndefined from '../utils/isUndefined';\nimport omit from '../utils/omit';\n\nconst focusFieldBy = (\n fields: FieldRefs,\n callback: (name: string) => boolean,\n fieldsNames?: Set<InternalFieldName> | InternalFieldName[],\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const _f = field._f;\n const current = omit(field, '_f');\n\n if (_f && callback(_f.name)) {\n if (_f.ref.focus && isUndefined(_f.ref.focus())) {\n break;\n } else if (_f.refs) {\n _f.refs[0].focus();\n break;\n }\n } else if (isObject(current)) {\n focusFieldBy(current, callback);\n }\n }\n }\n};\n\nexport default focusFieldBy;\n","import * as React from 'react';\n\nimport { FieldRefs, FieldValues } from '../types';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport omit from '../utils/omit';\nimport set from '../utils/set';\n\nconst getFieldsValues = (\n fieldsRef: React.MutableRefObject<FieldRefs>,\n output: FieldValues = {},\n): any => {\n for (const name in fieldsRef.current) {\n const field = fieldsRef.current[name];\n\n if (field && !isNullOrUndefined(output)) {\n const _f = field._f;\n const current = omit(field, '_f');\n\n set(\n output,\n name,\n _f && _f.ref\n ? _f.ref.disabled || (_f.refs && _f.refs.every((ref) => ref.disabled))\n ? undefined\n : _f.value\n : Array.isArray(field)\n ? []\n : {},\n );\n\n current &&\n getFieldsValues(\n {\n current,\n },\n output[name],\n );\n }\n }\n\n return output;\n};\n\nexport default getFieldsValues;\n","import { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import * as React from 'react';\n\nimport isObject from '../utils/isObject';\n\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(\n object1: any,\n object2: any,\n isErrorObject?: boolean,\n) {\n if (\n isPrimitive(object1) ||\n isPrimitive(object2) ||\n object1 instanceof Date ||\n object2 instanceof Date\n ) {\n return object1 === object2;\n }\n\n if (!React.isValidElement(object1)) {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!(isErrorObject && key === 'ref')) {\n const val2 = object2[key];\n\n if (\n (isObject(val1) || Array.isArray(val1)) &&\n (isObject(val2) || Array.isArray(val2))\n ? !deepEqual(val1, val2, isErrorObject)\n : val1 !== val2\n ) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n","import isObject from './isObject';\nimport isPrimitive from './isPrimitive';\n\nexport function deepMerge<\n T extends Record<keyof T, any>,\n U extends Record<keyof U, any>,\n>(target: T, source: U): T & U {\n if (isPrimitive(target) || isPrimitive(source)) {\n return source;\n }\n\n for (const key in source) {\n const targetValue = target[key];\n const sourceValue = source[key];\n\n try {\n target[key] =\n (isObject(targetValue) && isObject(sourceValue)) ||\n (Array.isArray(targetValue) && Array.isArray(sourceValue))\n ? deepMerge(targetValue, sourceValue)\n : sourceValue;\n } catch {}\n }\n\n return target;\n}\n","import { get } from '../utils';\nimport deepEqual from '../utils/deepEqual';\nimport { deepMerge } from '../utils/deepMerge';\nimport set from '../utils/set';\n\nfunction setDirtyFields<\n T extends Record<string, unknown>[],\n U extends Record<string, unknown>[],\n K extends Record<string, boolean | []>,\n>(\n values: T,\n defaultValues: U,\n dirtyFields: Record<string, boolean | []>[],\n parentNode?: K,\n parentName?: keyof K,\n) {\n let index = -1;\n\n while (++index < values.length) {\n for (const key in values[index]) {\n if (Array.isArray(values[index][key])) {\n !dirtyFields[index] && (dirtyFields[index] = {});\n dirtyFields[index][key] = [];\n setDirtyFields(\n values[index][key] as T,\n get(defaultValues[index] || {}, key, []),\n dirtyFields[index][key] as [],\n dirtyFields[index],\n key,\n );\n } else {\n deepEqual(get(defaultValues[index] || {}, key), values[index][key])\n ? set(dirtyFields[index] || {}, key)\n : (dirtyFields[index] = {\n ...dirtyFields[index],\n [key]: true,\n });\n }\n }\n\n parentNode &&\n !dirtyFields.length &&\n delete parentNode[parentName as keyof K];\n }\n\n return dirtyFields;\n}\n\nexport default <T extends U, U extends Record<string, unknown>[]>(\n values: T,\n defaultValues: U,\n dirtyFields: Record<string, boolean | []>[],\n) =>\n deepMerge(\n setDirtyFields(values, defaultValues, dirtyFields.slice(0, values.length)),\n setDirtyFields(defaultValues, values, dirtyFields.slice(0, values.length)),\n );\n","export default (value: unknown): value is string => typeof value === 'string';\n","import compact from './compact';\nimport convertToArrayPayload from './convertToArrayPayload';\nimport isUndefined from './isUndefined';\n\nfunction removeAtIndexes<T>(data: T[], indexes: number[]): T[] {\n let i = 0;\n const temp = [...data];\n\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n\n return compact(temp).length ? temp : [];\n}\n\nexport default <T>(data: T[], index?: number | number[]): T[] =>\n isUndefined(index)\n ? []\n : removeAtIndexes(\n data,\n (convertToArrayPayload(index) as number[]).sort((a, b) => a - b),\n );\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import isBoolean from './isBoolean';\nimport isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nexport default function unset(object: any, path: string) {\n const updatePath = isKey(path) ? [path] : stringToPath(path);\n const childObject =\n updatePath.length == 1 ? object : baseGet(object, updatePath);\n const key = updatePath[updatePath.length - 1];\n let previousObjRef;\n\n if (childObject) {\n delete childObject[key];\n }\n\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\n let index = -1;\n let objectRef;\n const currentPaths = updatePath.slice(0, -(k + 1));\n const currentPathsLength = currentPaths.length - 1;\n\n if (k > 0) {\n previousObjRef = object;\n }\n\n while (++index < currentPaths.length) {\n const item = currentPaths[index];\n objectRef = objectRef ? objectRef[item] : object[item];\n\n if (\n currentPathsLength === index &&\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\n (Array.isArray(objectRef) &&\n !objectRef.filter(\n (data) =>\n (isObject(data) && !isEmptyObject(data)) || isBoolean(data),\n ).length))\n ) {\n previousObjRef ? delete previousObjRef[item] : delete object[item];\n }\n\n previousObjRef = objectRef;\n }\n }\n\n return object;\n}\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","import { Field } from '../types';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n value: any,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : +value\n : valueAsDate\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getMultipleSelectValue from './getMultipleSelectValue';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(field?: Field) {\n if (field && field._f) {\n const ref = field._f.ref;\n\n if (ref.disabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(field._f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return getMultipleSelectValue(ref.options);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(field._f.refs).value;\n }\n\n return getFieldValueAs(\n isUndefined(ref.value) ? field._f.ref.value : ref.value,\n field._f,\n );\n }\n}\n","export default (\n options: HTMLOptionElement[] | HTMLOptionsCollection,\n): string[] =>\n [...options]\n .filter(({ selected }): boolean => selected)\n .map(({ value }): string => value);\n","import {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default <TFieldValues>(\n fieldsNames: Set<InternalFieldName> | InternalFieldName[],\n fieldsRefs: FieldRefs,\n criteriaMode?: CriteriaMode,\n) => {\n const fields: Record<InternalFieldName, Field['_f']> = {};\n\n for (const name of fieldsNames) {\n const field = get(fieldsRefs, name) as Field;\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName<TFieldValues>[],\n fields,\n };\n};\n","import { RegisterOptions } from '../types';\n\nexport default <T extends RegisterOptions>(options?: T, mounted?: boolean) =>\n mounted &&\n options &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","export default ({\n isOnBlur,\n isOnChange,\n isOnTouch,\n isTouched,\n isReValidateOnBlur,\n isReValidateOnChange,\n isBlurEvent,\n isSubmitted,\n isOnAll,\n}: {\n isOnAll?: boolean;\n isOnBlur?: boolean;\n isOnChange?: boolean;\n isReValidateOnBlur?: boolean;\n isReValidateOnChange?: boolean;\n isBlurEvent?: boolean;\n isSubmitted?: boolean;\n isOnTouch?: boolean;\n isTouched?: boolean;\n}) => {\n if (isOnAll) {\n return false;\n } else if (!isSubmitted && isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? isReValidateOnBlur : isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? isReValidateOnChange : isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import * as React from 'react';\n\nimport { Message } from '../types';\nimport isString from '../utils/isString';\n\nexport default (value: unknown): value is Message =>\n isString(value) || React.isValidElement(value as JSX.Element);\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n","import { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport { Field, FieldError, InternalFieldErrors, Message } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isMessage from '../utils/isMessage';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async (\n {\n _f: {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n value: inputValue,\n valueAsNumber,\n mount,\n },\n }: Field,\n validateAllFieldCriteria: boolean,\n): Promise<InternalFieldErrors> => {\n if (!mount) {\n return {};\n }\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) && !ref.value) ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType = INPUT_VALIDATION_RULES.maxLength,\n minType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n required &&\n ((!isRadio && !isCheckBox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: isRadioOrCheckbox ? (refs || [])[0] || {} : ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (\n (!isNullOrUndefined(min) || !isNullOrUndefined(max)) &&\n inputValue !== ''\n ) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNaN(inputValue)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber || parseFloat(inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue);\n if (isString(maxOutput.value)) {\n exceedMax = valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value)) {\n exceedMin = valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (isString(inputValue) && !isEmpty && (maxLength || minLength)) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (isString(inputValue) && pattern && !isEmpty) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (validate) {\n const validateRef = isRadioOrCheckbox && refs ? refs[0] : ref;\n\n if (isFunction(validate)) {\n const result = await validate(inputValue);\n const validateError = getValidateError(result, validateRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n for (const [key, validateFunction] of Object.entries(validate)) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateResult = await validateFunction(inputValue);\n const validateError = getValidateError(\n validateResult,\n validateRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: validateRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n return error;\n};\n","import { VALIDATION_MODE } from '../constants';\nimport { Mode } from '../types';\n\nexport default (\n mode?: Mode,\n): {\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnAll: boolean;\n isOnTouch: boolean;\n} => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","export default (value: any): value is HTMLElement =>\n value instanceof HTMLElement;\n","import { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","export type Observer<T> = {\n next: (value: T) => void;\n};\n\ntype TearDown = () => void;\n\nexport type SubjectType<T> = {\n next: (value: T) => void;\n subscribe: (value: Observer<T>) => {\n unsubscribe: TearDown;\n };\n};\n\nexport class Subscription {\n private tearDowns: TearDown[] = [];\n\n add(tearDown: TearDown) {\n this.tearDowns.push(tearDown);\n }\n\n unsubscribe() {\n for (const teardown of this.tearDowns) {\n teardown();\n }\n this.tearDowns = [];\n }\n}\n\nclass Subscriber<T> implements Observer<T> {\n closed = false;\n\n constructor(private observer: Observer<T>, subscription: Subscription) {\n subscription.add(() => (this.closed = true));\n }\n\n next(value: T) {\n if (!this.closed) {\n this.observer.next(value);\n }\n }\n}\n\nexport default class Subject<T> {\n observers: Observer<T>[];\n\n constructor() {\n this.observers = [];\n }\n\n next(value: T) {\n for (const observer of this.observers) {\n observer.next(value);\n }\n }\n\n subscribe(observer: Observer<T>) {\n const subscription = new Subscription();\n const subscriber = new Subscriber(observer, subscription);\n this.observers.push(subscriber);\n\n return subscription;\n }\n\n unsubscribe() {\n this.observers = [];\n }\n}\n","import * as React from 'react';\n\nimport focusFieldBy from './logic/focusFieldBy';\nimport getFieldsValues from './logic/getFieldsValues';\nimport getFieldValue from './logic/getFieldValue';\nimport getFieldValueAs from './logic/getFieldValueAs';\nimport getNodeParentName from './logic/getNodeParentName';\nimport getProxyFormState from './logic/getProxyFormState';\nimport getResolverOptions from './logic/getResolverOptions';\nimport hasValidation from './logic/hasValidation';\nimport isNameInFieldArray from './logic/isNameInFieldArray';\nimport setFieldArrayDirtyFields from './logic/setFieldArrayDirtyFields';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport skipValidation from './logic/skipValidation';\nimport validateField from './logic/validateField';\nimport compact from './utils/compact';\nimport convertToArrayPayload from './utils/convertToArrayPayload';\nimport deepEqual from './utils/deepEqual';\nimport get from './utils/get';\nimport getValidationModes from './utils/getValidationModes';\nimport isCheckBoxInput from './utils/isCheckBoxInput';\nimport isEmptyObject from './utils/isEmptyObject';\nimport isFileInput from './utils/isFileInput';\nimport isFunction from './utils/isFunction';\nimport isHTMLElement from './utils/isHTMLElement';\nimport isMultipleSelect from './utils/isMultipleSelect';\nimport isNullOrUndefined from './utils/isNullOrUndefined';\nimport isObject from './utils/isObject';\nimport isPrimitive from './utils/isPrimitive';\nimport isProxyEnabled from './utils/isProxyEnabled';\nimport isRadioInput from './utils/isRadioInput';\nimport isRadioOrCheckboxFunction from './utils/isRadioOrCheckbox';\nimport isString from './utils/isString';\nimport isUndefined from './utils/isUndefined';\nimport isWeb from './utils/isWeb';\nimport omit from './utils/omit';\nimport set from './utils/set';\nimport Subject from './utils/Subject';\nimport unset from './utils/unset';\nimport { EVENTS, VALIDATION_MODE } from './constants';\nimport {\n ChangeHandler,\n DeepPartial,\n DefaultValues,\n Field,\n FieldArrayDefaultValues,\n FieldError,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n GetIsDirty,\n InternalFieldName,\n Names,\n Path,\n PathValue,\n ReadFormState,\n Ref,\n RegisterOptions,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UnpackNestedValue,\n UseFormClearErrors,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormRegisterReturn,\n UseFormReset,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from './types';\n\nconst isWindowUndefined = typeof window === 'undefined';\n\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext extends object = object,\n>({\n mode = VALIDATION_MODE.onSubmit,\n reValidateMode = VALIDATION_MODE.onChange,\n resolver,\n context,\n defaultValues = {} as DefaultValues<TFieldValues>,\n shouldFocusError = true,\n shouldUnregister,\n criteriaMode,\n}: UseFormProps<TFieldValues, TContext> = {}): UseFormReturn<TFieldValues> {\n const [formState, updateFormState] = React.useState<FormState<TFieldValues>>({\n isDirty: false,\n isValidating: false,\n dirtyFields: {},\n isSubmitted: false,\n submitCount: 0,\n touchedFields: {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n errors: {},\n });\n const readFormStateRef = React.useRef<ReadFormState>({\n isDirty: !isProxyEnabled,\n dirtyFields: !isProxyEnabled,\n touchedFields: !isProxyEnabled,\n isValidating: !isProxyEnabled,\n isValid: !isProxyEnabled,\n errors: !isProxyEnabled,\n });\n const formStateRef = React.useRef(formState);\n const fieldsRef = React.useRef<FieldRefs>({});\n const defaultValuesRef =\n React.useRef<DefaultValues<TFieldValues>>(defaultValues);\n const fieldArrayDefaultValuesRef = React.useRef<FieldArrayDefaultValues>({});\n const contextRef = React.useRef(context);\n const inFieldArrayActionRef = React.useRef(false);\n const isMountedRef = React.useRef(false);\n const subjectsRef: Subjects<TFieldValues> = React.useRef({\n watch: new Subject(),\n control: new Subject(),\n array: new Subject(),\n state: new Subject(),\n });\n const namesRef = React.useRef<Names>({\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n });\n\n const validationMode = getValidationModes(mode);\n const isValidateAllFieldCriteria = criteriaMode === VALIDATION_MODE.all;\n contextRef.current = context;\n\n const isFieldWatched = (name: FieldPath<TFieldValues>) =>\n namesRef.current.watchAll ||\n namesRef.current.watch.has(name) ||\n namesRef.current.watch.has((name.match(/\\w+/) || [])[0]);\n\n const shouldRenderBaseOnError = React.useCallback(\n async (\n shouldSkipRender: boolean,\n name: InternalFieldName,\n error?: FieldError,\n inputState?: {\n dirty?: FieldNamesMarkedBoolean<TFieldValues>;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean<TFieldValues>;\n },\n isValidFromResolver?: boolean,\n isWatched?: boolean,\n ): Promise<void> => {\n const previousError = get(formStateRef.current.errors, name);\n const isValid = readFormStateRef.current.isValid\n ? resolver\n ? isValidFromResolver\n : await validateForm(fieldsRef.current, true)\n : false;\n\n error\n ? set(formStateRef.current.errors, name, error)\n : unset(formStateRef.current.errors, name);\n\n if (\n (isWatched ||\n (error ? !deepEqual(previousError, error, true) : previousError) ||\n !isEmptyObject(inputState) ||\n formStateRef.current.isValid !== isValid) &&\n !shouldSkipRender\n ) {\n const updatedFormState = {\n ...inputState,\n isValid: !!isValid,\n errors: formStateRef.current.errors,\n name,\n };\n\n formStateRef.current = {\n ...formStateRef.current,\n ...updatedFormState,\n };\n\n subjectsRef.current.state.next(isWatched ? { name } : updatedFormState);\n }\n\n subjectsRef.current.state.next({\n isValidating: false,\n });\n },\n [],\n );\n\n const setFieldValue = React.useCallback(\n (\n name: InternalFieldName,\n rawValue: SetFieldValue<TFieldValues>,\n options: SetValueConfig = {},\n shouldRender?: boolean,\n shouldRegister?: boolean,\n ) => {\n shouldRegister && register(name as Path<TFieldValues>);\n const field = get(fieldsRef.current, name);\n\n if (field) {\n const _f = (field as Field)._f;\n\n if (_f) {\n const value =\n isWeb && isHTMLElement(_f.ref) && isNullOrUndefined(rawValue)\n ? ''\n : rawValue;\n _f.value = getFieldValueAs(rawValue, _f);\n\n if (isRadioInput(_f.ref)) {\n (_f.refs || []).forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === value),\n );\n } else if (isFileInput(_f.ref) && !isString(value)) {\n _f.ref.files = value as FileList;\n } else if (isMultipleSelect(_f.ref)) {\n [..._f.ref.options].forEach(\n (selectRef) =>\n (selectRef.selected = (value as string[]).includes(\n selectRef.value,\n )),\n );\n } else if (isCheckBoxInput(_f.ref) && _f.refs) {\n _f.refs.length > 1\n ? _f.refs.forEach(\n (checkboxRef) =>\n (checkboxRef.checked = Array.isArray(value)\n ? !!(value as []).find(\n (data: string) => data === checkboxRef.value,\n )\n : value === checkboxRef.value),\n )\n : (_f.refs[0].checked = !!value);\n } else {\n _f.ref.value = value;\n }\n\n if (shouldRender) {\n const values = getFieldsValues(fieldsRef);\n set(values, name, rawValue);\n subjectsRef.current.control.next({\n values: {\n ...defaultValuesRef.current,\n ...values,\n } as DefaultValues<TFieldValues>,\n name,\n });\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirtyState(name, value, options.shouldTouch);\n options.shouldValidate && trigger(name as Path<TFieldValues>);\n } else {\n field._f = {\n ref: {\n name,\n value: rawValue,\n },\n value: rawValue,\n };\n }\n }\n },\n [],\n );\n\n const getIsDirty: GetIsDirty = React.useCallback((name, data) => {\n const formValues = getFieldsValues(fieldsRef);\n\n name && data && set(formValues, name, data);\n\n return !deepEqual(formValues, defaultValuesRef.current);\n }, []);\n\n const updateTouchAndDirtyState = React.useCallback(\n (\n name: InternalFieldName,\n inputValue: unknown,\n isCurrentTouched?: boolean,\n shouldRender = true,\n ): Partial<\n Pick<FormState<TFieldValues>, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n const state: Partial<FormState<TFieldValues>> & { name: string } = {\n name,\n };\n let isChanged = false;\n\n if (readFormStateRef.current.isDirty) {\n const previousIsDirty = formStateRef.current.isDirty;\n formStateRef.current.isDirty = getIsDirty();\n state.isDirty = formStateRef.current.isDirty;\n isChanged = previousIsDirty !== state.isDirty;\n }\n\n if (readFormStateRef.current.dirtyFields) {\n const isPreviousFieldDirty = get(\n formStateRef.current.dirtyFields,\n name,\n );\n const isCurrentFieldDirty = !deepEqual(\n get(defaultValuesRef.current, name),\n inputValue,\n );\n isCurrentFieldDirty\n ? set(formStateRef.current.dirtyFields, name, true)\n : unset(formStateRef.current.dirtyFields, name);\n state.dirtyFields = formStateRef.current.dirtyFields;\n isChanged =\n isChanged ||\n isPreviousFieldDirty !== get(formStateRef.current.dirtyFields, name);\n }\n\n const isPreviousFieldTouched = get(\n formStateRef.current.touchedFields,\n name,\n );\n\n if (isCurrentTouched && !isPreviousFieldTouched) {\n set(formStateRef.current.touchedFields, name, isCurrentTouched);\n state.touchedFields = formStateRef.current.touchedFields;\n isChanged =\n isChanged ||\n (readFormStateRef.current.touchedFields &&\n isPreviousFieldTouched !== isCurrentTouched);\n }\n\n isChanged && shouldRender && subjectsRef.current.state.next(state);\n\n return isChanged ? state : {};\n },\n [],\n );\n\n const executeInlineValidation = React.useCallback(\n async (\n name: InternalFieldName,\n skipReRender: boolean,\n ): Promise<boolean> => {\n const error = (\n await validateField(\n get(fieldsRef.current, name) as Field,\n isValidateAllFieldCriteria,\n )\n )[name];\n\n shouldRenderBaseOnError(skipReRender, name, error);\n\n return isUndefined(error);\n },\n [isValidateAllFieldCriteria],\n );\n\n const executeResolverValidation = React.useCallback(\n async (names?: InternalFieldName[]) => {\n const { errors } = await resolver!(\n getFieldsValues(fieldsRef),\n contextRef.current,\n getResolverOptions(\n namesRef.current.mount,\n fieldsRef.current,\n criteriaMode,\n ),\n );\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(formStateRef.current.errors, name, error)\n : unset(formStateRef.current.errors, name);\n }\n } else {\n formStateRef.current.errors = errors;\n }\n\n return errors;\n },\n [criteriaMode],\n );\n\n const validateForm = async (\n fieldsRef: FieldRefs,\n shouldCheckValid?: boolean,\n context = {\n valid: true,\n },\n ) => {\n for (const name in fieldsRef) {\n const field = fieldsRef[name];\n\n if (field) {\n const _f = field._f;\n const current = omit(field, '_f');\n\n if (_f) {\n const fieldError = await validateField(\n field,\n isValidateAllFieldCriteria,\n );\n\n if (shouldCheckValid) {\n if (fieldError[_f.name]) {\n context.valid = false;\n break;\n }\n } else {\n fieldError[_f.name]\n ? set(formStateRef.current.errors, _f.name, fieldError[_f.name])\n : unset(formStateRef.current.errors, _f.name);\n }\n }\n\n current && (await validateForm(current, shouldCheckValid, context));\n }\n }\n\n return context.valid;\n };\n\n const trigger: UseFormTrigger<TFieldValues> = React.useCallback(\n async (name, options = {}) => {\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n let isValid;\n\n subjectsRef.current.state.next({\n isValidating: true,\n });\n\n if (resolver) {\n const schemaResult = await executeResolverValidation(\n isUndefined(name) ? name : fieldNames,\n );\n isValid = name\n ? fieldNames.every((name) => !get(schemaResult, name))\n : isEmptyObject(schemaResult);\n } else {\n isValid = name\n ? (\n await Promise.all(\n fieldNames\n .filter((fieldName) => get(fieldsRef.current, fieldName))\n .map(\n async (fieldName) =>\n await executeInlineValidation(fieldName, true),\n ),\n )\n ).every(Boolean)\n : await validateForm(fieldsRef.current);\n }\n\n subjectsRef.current.state.next({\n ...(isString(name) ? { name } : {}),\n errors: formStateRef.current.errors,\n isValidating: false,\n });\n\n if (options.shouldFocus && !isValid) {\n focusFieldBy(\n fieldsRef.current,\n (key) => get(formStateRef.current.errors, key),\n fieldNames,\n );\n }\n\n readFormStateRef.current.isValid && updateIsValid();\n\n return isValid;\n },\n [executeResolverValidation, executeInlineValidation],\n );\n\n const updateIsValidAndInputValue = (name: InternalFieldName, ref?: Ref) => {\n const field = get(fieldsRef.current, name) as Field;\n\n if (field) {\n const isValueUndefined = isUndefined(field._f.value);\n const defaultValue = isValueUndefined\n ? get(defaultValuesRef.current, name)\n : field._f.value;\n\n if (!isUndefined(defaultValue)) {\n if (ref && (ref as HTMLInputElement).defaultChecked) {\n field._f.value = getFieldValue(field);\n } else if (isNameInFieldArray(namesRef.current.array, name)) {\n field._f.value = defaultValue;\n } else {\n setFieldValue(name, defaultValue);\n }\n } else if (isValueUndefined) {\n field._f.value = getFieldValue(field);\n }\n }\n\n isMountedRef.current && readFormStateRef.current.isValid && updateIsValid();\n };\n\n const updateIsValid = React.useCallback(\n async (values = {}) => {\n const isValid = resolver\n ? isEmptyObject(\n (\n await resolver(\n {\n ...getFieldsValues(fieldsRef),\n ...values,\n },\n contextRef.current,\n getResolverOptions(\n namesRef.current.mount,\n fieldsRef.current,\n criteriaMode,\n ),\n )\n ).errors,\n )\n : await validateForm(fieldsRef.current, true);\n\n isValid !== formStateRef.current.isValid &&\n subjectsRef.current.state.next({\n isValid,\n });\n },\n [criteriaMode],\n );\n\n const setInternalValues = React.useCallback(\n (\n name: FieldPath<TFieldValues>,\n value: UnpackNestedValue<\n PathValue<TFieldValues, FieldPath<TFieldValues>>\n >,\n options: SetValueConfig,\n ) =>\n Object.entries(value).forEach(([inputKey, inputValue]) => {\n const fieldName = `${name}.${inputKey}` as Path<TFieldValues>;\n const field = get(fieldsRef.current, fieldName);\n const isFieldArray = namesRef.current.array.has(name);\n\n isFieldArray || !isPrimitive(inputValue) || (field && !field._f)\n ? setInternalValues(\n fieldName,\n inputValue as SetFieldValue<TFieldValues>,\n options,\n )\n : setFieldValue(\n fieldName,\n inputValue as SetFieldValue<TFieldValues>,\n options,\n true,\n !field,\n );\n }),\n [trigger],\n );\n\n const setValue: UseFormSetValue<TFieldValues> = (\n name,\n value,\n options = {},\n ) => {\n const field = get(fieldsRef.current, name);\n const isFieldArray = namesRef.current.array.has(name);\n\n if (isFieldArray) {\n subjectsRef.current.array.next({\n values: value,\n name,\n isReset: true,\n });\n\n if (\n (readFormStateRef.current.isDirty ||\n readFormStateRef.current.dirtyFields) &&\n options.shouldDirty\n ) {\n set(\n formStateRef.current.dirtyFields,\n name,\n setFieldArrayDirtyFields(\n value,\n get(defaultValuesRef.current, name, []),\n get(formStateRef.current.dirtyFields, name, []),\n ),\n );\n\n subjectsRef.current.state.next({\n name,\n dirtyFields: formStateRef.current.dirtyFields,\n isDirty: getIsDirty(name, value),\n });\n }\n\n !(value as []).length &&\n set(fieldsRef.current, name, []) &&\n set(fieldArrayDefaultValuesRef.current, name, []);\n }\n\n ((field && !field._f) || isFieldArray) && !isNullOrUndefined(value)\n ? setInternalValues(name, value, isFieldArray ? {} : options)\n : setFieldValue(name, value, options, true, !field);\n\n isFieldWatched(name) && subjectsRef.current.state.next({});\n subjectsRef.current.watch.next({ name, values: getValues() });\n };\n\n const handleChange: ChangeHandler = React.useCallback(\n async ({ type, target, target: { value, type: inputType } }) => {\n let name = (target as Ref)!.name;\n let error;\n let isValid;\n const field = get(fieldsRef.current, name) as Field;\n\n if (field) {\n let inputValue = inputType ? getFieldValue(field) : undefined;\n inputValue = isUndefined(inputValue) ? value : inputValue;\n\n const isBlurEvent = type === EVENTS.BLUR;\n const {\n isOnBlur: isReValidateOnBlur,\n isOnChange: isReValidateOnChange,\n } = getValidationModes(reValidateMode);\n\n const shouldSkipValidation =\n (!hasValidation(field._f, field._f.mount) &&\n !resolver &&\n !get(formStateRef.current.errors, name)) ||\n skipValidation({\n isBlurEvent,\n isTouched: !!get(formStateRef.current.touchedFields, name),\n isSubmitted: formStateRef.current.isSubmitted,\n isReValidateOnBlur,\n isReValidateOnChange,\n ...validationMode,\n });\n const isWatched =\n !isBlurEvent && isFieldWatched(name as FieldPath<TFieldValues>);\n\n if (!isUndefined(inputValue)) {\n field._f.value = inputValue;\n }\n\n const inputState = updateTouchAndDirtyState(\n name,\n field._f.value,\n isBlurEvent,\n false,\n );\n\n const shouldRender = !isEmptyObject(inputState) || isWatched;\n\n if (shouldSkipValidation) {\n !isBlurEvent &&\n subjectsRef.current.watch.next({\n name,\n type,\n values: getValues(),\n });\n return (\n shouldRender &&\n subjectsRef.current.state.next(\n isWatched ? { name } : { ...inputState, name },\n )\n );\n }\n\n subjectsRef.current.state.next({\n isValidating: true,\n });\n\n if (resolver) {\n const { errors } = await resolver(\n getFieldsValues(fieldsRef),\n contextRef.current,\n getResolverOptions([name], fieldsRef.current, criteriaMode),\n );\n error = get(errors, name);\n\n if (isCheckBoxInput(target as Ref) && !error) {\n const parentNodeName = getNodeParentName(name);\n const currentError = get(errors, parentNodeName, {});\n currentError.type && currentError.message && (error = currentError);\n\n if (\n currentError ||\n get(formStateRef.current.errors, parentNodeName)\n ) {\n name = parentNodeName;\n }\n }\n\n isValid = isEmptyObject(errors);\n } else {\n error = (await validateField(field, isValidateAllFieldCriteria))[\n name\n ];\n }\n\n !isBlurEvent &&\n subjectsRef.current.watch.next({\n name,\n type,\n values: getValues(),\n });\n shouldRenderBaseOnError(\n false,\n name,\n error,\n inputState,\n isValid,\n isWatched,\n );\n }\n },\n [],\n );\n\n const getValues: UseFormGetValues<TFieldValues> = (\n fieldNames?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>,\n ) => {\n const values = {\n ...defaultValuesRef.current,\n ...getFieldsValues(fieldsRef),\n };\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames as InternalFieldName)\n : fieldNames.map((name) => get(values, name as InternalFieldName));\n };\n\n const clearErrors: UseFormClearErrors<TFieldValues> = (name) => {\n name\n ? convertToArrayPayload(name).forEach((inputName) =>\n unset(formStateRef.current.errors, inputName),\n )\n : (formStateRef.current.errors = {});\n\n subjectsRef.current.state.next({\n errors: formStateRef.current.errors,\n });\n };\n\n const setError: UseFormSetError<TFieldValues> = (name, error, options) => {\n const ref = (\n ((get(fieldsRef.current, name) as Field) || { _f: {} })._f || {}\n ).ref;\n\n set(formStateRef.current.errors, name, {\n ...error,\n ref,\n });\n\n subjectsRef.current.state.next({\n name,\n errors: formStateRef.current.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watchInternal: WatchInternal<TFieldValues> = React.useCallback(\n (fieldNames, defaultValue, isGlobal, formValues) => {\n const isArrayNames = Array.isArray(fieldNames);\n const fieldValues =\n formValues || isMountedRef.current\n ? {\n ...defaultValuesRef.current,\n ...(formValues || getFieldsValues(fieldsRef)),\n }\n : isUndefined(defaultValue)\n ? defaultValuesRef.current\n : isArrayNames\n ? defaultValue\n : { [fieldNames as InternalFieldName]: defaultValue };\n\n if (isUndefined(fieldNames)) {\n isGlobal && (namesRef.current.watchAll = true);\n return fieldValues;\n }\n\n const result = [];\n\n for (const fieldName of convertToArrayPayload(fieldNames)) {\n isGlobal && namesRef.current.watch.add(fieldName as InternalFieldName);\n result.push(get(fieldValues, fieldName as InternalFieldName));\n }\n\n return isArrayNames ? result : result[0];\n },\n [],\n );\n\n const watch: UseFormWatch<TFieldValues> = (\n fieldName?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>\n | WatchObserver<TFieldValues>,\n defaultValue?: unknown,\n ) =>\n isFunction(fieldName)\n ? subjectsRef.current.watch.subscribe({\n next: (info) =>\n fieldName(\n watchInternal(\n undefined,\n defaultValue as UnpackNestedValue<DeepPartial<TFieldValues>>,\n ) as UnpackNestedValue<TFieldValues>,\n info,\n ),\n })\n : watchInternal(\n fieldName as InternalFieldName | InternalFieldName[],\n defaultValue as UnpackNestedValue<DeepPartial<TFieldValues>>,\n true,\n );\n\n const unregister: UseFormUnregister<TFieldValues> = (name, options = {}) => {\n for (const inputName of name\n ? convertToArrayPayload(name)\n : namesRef.current.mount) {\n namesRef.current.mount.delete(inputName);\n namesRef.current.array.delete(inputName);\n\n if (get(fieldsRef.current, inputName) as Field) {\n !options.keepError && unset(formStateRef.current.errors, inputName);\n !options.keepValue && unset(fieldsRef.current, inputName);\n !options.keepDirty &&\n unset(formStateRef.current.dirtyFields, inputName);\n !options.keepTouched &&\n unset(formStateRef.current.touchedFields, inputName);\n !shouldUnregister &&\n !options.keepDefaultValue &&\n unset(defaultValuesRef.current, inputName);\n\n subjectsRef.current.watch.next({\n name: inputName,\n values: getValues(),\n });\n }\n }\n\n subjectsRef.current.state.next({\n ...formStateRef.current,\n ...(!options.keepDirty ? {} : { isDirty: getIsDirty() }),\n });\n !options.keepIsValid && updateIsValid();\n };\n\n const registerFieldRef = (\n name: InternalFieldName,\n ref: HTMLInputElement,\n options?: RegisterOptions,\n ): ((name: InternalFieldName) => void) | void => {\n register(name as FieldPath<TFieldValues>, options);\n let field = get(fieldsRef.current, name) as Field;\n\n const isRadioOrCheckbox = isRadioOrCheckboxFunction(ref);\n\n if (\n ref === field._f.ref ||\n (isRadioOrCheckbox &&\n compact(field._f.refs || []).find((option) => option === ref))\n ) {\n return;\n }\n\n field = {\n _f: isRadioOrCheckbox\n ? {\n ...field._f,\n refs: [\n ...compact(field._f.refs || []).filter(\n (ref) => isHTMLElement(ref) && document.contains(ref),\n ),\n ref,\n ],\n ref: { type: ref.type, name },\n }\n : {\n ...field._f,\n ref,\n },\n };\n\n set(fieldsRef.current, name, field);\n\n updateIsValidAndInputValue(name, ref);\n };\n\n const register: UseFormRegister<TFieldValues> = React.useCallback(\n (name, options = {}) => {\n const field = get(fieldsRef.current, name);\n\n set(fieldsRef.current, name, {\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n namesRef.current.mount.add(name);\n !field && updateIsValidAndInputValue(name);\n\n return isWindowUndefined\n ? ({ name: name as InternalFieldName } as UseFormRegisterReturn)\n : {\n name,\n onChange: handleChange,\n onBlur: handleChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n registerFieldRef(name, ref, options);\n } else {\n const field = get(fieldsRef.current, name, {}) as Field;\n const shouldUnmount =\n shouldUnregister || options.shouldUnregister;\n\n if (field._f) {\n field._f.mount = false;\n // If initial state of field element is disabled,\n // value is not set on first \"register\"\n // re-sync the value in when it switched to enabled\n if (isUndefined(field._f.value)) {\n field._f.value = field._f.ref.value;\n }\n }\n\n shouldUnmount &&\n !(\n isNameInFieldArray(namesRef.current.array, name) &&\n inFieldArrayActionRef.current\n ) &&\n namesRef.current.unMount.add(name);\n }\n },\n };\n },\n [],\n );\n\n const handleSubmit: UseFormHandleSubmit<TFieldValues> = React.useCallback(\n (onValid, onInvalid) => async (e) => {\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let hasNoPromiseError = true;\n let fieldValues = getFieldsValues(fieldsRef);\n\n subjectsRef.current.state.next({\n isSubmitting: true,\n });\n\n try {\n if (resolver) {\n const { errors, values } = await resolver(\n fieldValues,\n contextRef.current,\n getResolverOptions(\n namesRef.current.mount,\n fieldsRef.current,\n criteriaMode,\n ),\n );\n formStateRef.current.errors = errors;\n fieldValues = values;\n } else {\n await validateForm(fieldsRef.current);\n }\n\n if (\n isEmptyObject(formStateRef.current.errors) &&\n Object.keys(formStateRef.current.errors).every((name) =>\n get(fieldValues, name),\n )\n ) {\n subjectsRef.current.state.next({\n errors: {},\n isSubmitting: true,\n });\n await onValid(fieldValues, e);\n } else {\n onInvalid && (await onInvalid(formStateRef.current.errors, e));\n shouldFocusError &&\n focusFieldBy(\n fieldsRef.current,\n (key) => get(formStateRef.current.errors, key),\n namesRef.current.mount,\n );\n }\n } catch (err) {\n hasNoPromiseError = false;\n throw err;\n } finally {\n formStateRef.current.isSubmitted = true;\n subjectsRef.current.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful:\n isEmptyObject(formStateRef.current.errors) && hasNoPromiseError,\n submitCount: formStateRef.current.submitCount + 1,\n errors: formStateRef.current.errors,\n });\n }\n },\n [shouldFocusError, isValidateAllFieldCriteria, criteriaMode],\n );\n\n const registerAbsentFields = <T extends DefaultValues<TFieldValues>>(\n value: T,\n name = '',\n ): void => {\n const field = get(fieldsRef.current, name);\n\n if (!field || (field && !field._f)) {\n if (\n !field &&\n (isPrimitive(value) ||\n (isWeb && (value instanceof FileList || value instanceof Date)))\n ) {\n register(name as Path<TFieldValues>, { value } as RegisterOptions);\n }\n\n if (Array.isArray(value) || isObject(value)) {\n if (name && !get(fieldsRef.current, name)) {\n set(fieldsRef.current, name, Array.isArray(value) ? [] : {});\n }\n\n for (const key in value) {\n registerAbsentFields(value[key], name + (name ? '.' : '') + key);\n }\n }\n }\n };\n\n const reset: UseFormReset<TFieldValues> = (values, keepStateOptions = {}) => {\n const updatedValues = values || defaultValuesRef.current;\n\n if (isWeb && !keepStateOptions.keepValues) {\n for (const name of namesRef.current.mount) {\n const field = get(fieldsRef.current, name);\n if (field && field._f) {\n const inputRef = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n try {\n isHTMLElement(inputRef) && inputRef.closest('form')!.reset();\n break;\n } catch {}\n }\n }\n }\n\n !keepStateOptions.keepDefaultValues &&\n (defaultValuesRef.current = { ...updatedValues });\n\n if (!keepStateOptions.keepValues) {\n fieldsRef.current = {};\n\n subjectsRef.current.control.next({\n values: { ...updatedValues },\n });\n\n subjectsRef.current.watch.next({\n values: { ...updatedValues },\n });\n\n subjectsRef.current.array.next({\n values: { ...updatedValues },\n isReset: true,\n });\n }\n\n !keepStateOptions.keepDefaultValues &&\n !shouldUnregister &&\n registerAbsentFields({ ...updatedValues });\n\n namesRef.current = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n };\n\n subjectsRef.current.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? formStateRef.current.submitCount\n : 0,\n isDirty: keepStateOptions.keepDirty\n ? formStateRef.current.isDirty\n : keepStateOptions.keepDefaultValues\n ? deepEqual(values, defaultValuesRef.current)\n : false,\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? formStateRef.current.isSubmitted\n : false,\n dirtyFields: keepStateOptions.keepDirty\n ? formStateRef.current.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? formStateRef.current.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? formStateRef.current.errors : {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n });\n\n isMountedRef.current = !!keepStateOptions.keepIsValid;\n };\n\n const setFocus: UseFormSetFocus<TFieldValues> = (name) =>\n get(fieldsRef.current, name)._f.ref.focus();\n\n React.useEffect(() => {\n !shouldUnregister && registerAbsentFields(defaultValuesRef.current);\n\n const formStateSubscription = subjectsRef.current.state.subscribe({\n next(formState) {\n if (shouldRenderFormState(formState, readFormStateRef.current, true)) {\n formStateRef.current = {\n ...formStateRef.current,\n ...formState,\n };\n updateFormState(formStateRef.current);\n }\n },\n });\n\n const useFieldArraySubscription = subjectsRef.current.array.subscribe({\n next(state) {\n if (state.values && state.name && readFormStateRef.current.isValid) {\n const values = getFieldsValues(fieldsRef);\n set(values, state.name, state.values);\n updateIsValid(values);\n }\n },\n });\n\n return () => {\n formStateSubscription.unsubscribe();\n useFieldArraySubscription.unsubscribe();\n };\n }, []);\n\n React.useEffect(() => {\n const isLiveInDom = (ref: Ref) =>\n !isHTMLElement(ref) || !document.contains(ref);\n\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n readFormStateRef.current.isValid && updateIsValid();\n }\n\n for (const name of namesRef.current.unMount) {\n const field = get(fieldsRef.current, name) as Field;\n\n field &&\n (field._f.refs\n ? field._f.refs.every(isLiveInDom)\n : isLiveInDom(field._f.ref)) &&\n unregister(name as FieldPath<TFieldValues>);\n }\n\n namesRef.current.unMount = new Set();\n });\n\n return {\n control: React.useMemo(\n () => ({\n register,\n inFieldArrayActionRef,\n getIsDirty,\n subjectsRef,\n watchInternal,\n fieldsRef,\n updateIsValid,\n namesRef,\n readFormStateRef,\n formStateRef,\n defaultValuesRef,\n fieldArrayDefaultValuesRef,\n unregister,\n shouldUnmount: shouldUnregister,\n }),\n [],\n ),\n formState: getProxyFormState<TFieldValues>(\n isProxyEnabled,\n formState,\n readFormStateRef,\n ),\n trigger,\n register,\n handleSubmit,\n watch: React.useCallback(watch, []),\n setValue: React.useCallback(setValue, [setInternalValues]),\n getValues: React.useCallback(getValues, []),\n reset: React.useCallback(reset, []),\n clearErrors: React.useCallback(clearErrors, []),\n unregister: React.useCallback(unregister, []),\n setError: React.useCallback(setError, []),\n setFocus: React.useCallback(setFocus, []),\n };\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nexports['default'] = function () {\n var Snap = undefined;\n try {\n Snap = require('snapsvg-cjs');\n } finally {\n return Snap;\n }\n};\n\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar pxToNum = function pxToNum(val) {\n return parseInt(val.slice(0, -2), 10);\n};\nexports.pxToNum = pxToNum;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = {\n slide: require('./menus/slide'),\n stack: require('./menus/stack'),\n elastic: require('./menus/elastic'),\n bubble: require('./menus/bubble'),\n push: require('./menus/push'),\n pushRotate: require('./menus/pushRotate'),\n scaleDown: require('./menus/scaleDown'),\n scaleRotate: require('./menus/scaleRotate'),\n fallDown: require('./menus/fallDown'),\n reveal: require('./menus/reveal')\n};\nmodule.exports = exports['default'];","/*\n\nBased off glamor's StyleSheet, thanks Sunil â¤ï¸\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n before = _this.prepend ? _this.container.firstChild : _this.before;\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-ms-input-placeholder|-moz-read-write|-moz-read-only){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} value\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string} type\n * @param {string[]} props\n * @param {object[]} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {string} type\n */\nexport function copy (value, root, type) {\n\treturn node(value, root.root, root.parent, type, root.props, root.children, 0)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\treturn delimiter(type === 34 || type === 39 ? type : character)\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// \" ' [ (\n\t\t\tcase 34: case 39: case 91: case 40:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, length, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (!element.return)\n\t\tswitch (element.type) {\n\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\tbreak\n\t\t\tcase KEYFRAMES:\n\t\t\t\treturn serialize([copy(replace(element.value, '@', '@' + WEBKIT), element, '')], callback)\n\t\t\tcase RULESET:\n\t\t\t\tif (element.length)\n\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\treturn serialize([copy(replace(value, /:(read-\\w+)/, ':' + MOZ + '$1'), element, '')], callback)\n\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\tcopy(replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1'), element, ''),\n\t\t\t\t\t\t\t\t\tcopy(replace(value, /:(plac\\w+)/, ':' + MOZ + '$1'), element, ''),\n\t\t\t\t\t\t\t\t\tcopy(replace(value, /:(plac\\w+)/, MS + 'input-$1'), element, '')\n\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t})\n\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, identifier, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifier(position - 1);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not\n !element.length) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { createContext, forwardRef, useContext, createElement } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z0-9$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z0-9$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, typeof cssProp === 'function' || Array.isArray(cssProp) ? useContext(ThemeContext) : undefined);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, useLayoutEffect } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-a8309070.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-a8309070.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.4.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"isolated-hoist-non-react-statics-do-not-use-this-in-your-code\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"mitchellhamilton <mitchell@mitchellhamilton.me>\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/cache\": \"^11.4.0\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/sheet\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.0.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.1.3\",\n\t\t\"@emotion/css-prettifier\": \"1.0.0\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.3.0\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^0.3.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, typeof styles === 'function' || Array.isArray(styles) ? useContext(ThemeContext) : undefined);\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n\n {\n insertStyles(cache, serialized, false);\n }\n\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n var globalContext = isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { jsx, keyframes, css as css$2, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport AutosizeInput from 'react-input-autosize';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _defineProperty$1 from '@babel/runtime/helpers/esm/defineProperty';\nimport { createContext, Component } from 'react';\nimport { createPortal } from 'react-dom';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n// ==============================\n// NO OP\n// ==============================\nvar noop = function noop() {};\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Clean Common Props\n// ==============================\n\nvar cleanCommonProps = function cleanCommonProps(props) {\n //className\n props.className;\n props.clearValue;\n props.cx;\n props.getStyles;\n props.getValue;\n props.hasValue;\n props.isMulti;\n props.isRtl;\n props.options;\n props.selectOption;\n props.selectProps;\n props.setValue;\n props.theme;\n var innerProps = _objectWithoutProperties(props, [\"className\", \"clearValue\", \"cx\", \"getStyles\", \"getValue\", \"hasValue\", \"isMulti\", \"isRtl\", \"options\", \"selectOption\", \"selectProps\", \"setValue\", \"theme\"]);\n\n return _objectSpread2({}, innerProps);\n}; // ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n}\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n} // ==============================\n// Passive Event Detector\n// ==============================\n// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36\n\nvar passiveOptionAccessed = false;\nvar options = {\n get passive() {\n return passiveOptionAccessed = true;\n }\n\n}; // check for SSR\n\nvar w = typeof window !== 'undefined' ? window : {};\n\nif (w.addEventListener && w.removeEventListener) {\n w.addEventListener('p', noop, options);\n w.removeEventListener('p', noop, false);\n}\n\nvar supportsPassiveEvents = passiveOptionAccessed;\n\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n if (shouldScroll) {\n scrollTo(scrollParent, scrollDown);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty$1(_ref3, alignToControl(placement), '100%'), _defineProperty$1(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty$1(_ref3, \"borderRadius\", borderRadius), _defineProperty$1(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty$1(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty$1(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty$1(_ref3, \"position\", 'absolute'), _defineProperty$1(_ref3, \"width\", '100%'), _defineProperty$1(_ref3, \"zIndex\", 1), _ref3;\n};\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread2(_objectSpread2({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n innerRef = props.innerRef,\n isMulti = props.isMulti;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n className = _this$props2.className,\n controlElement = _this$props2.controlElement,\n cx = _this$props2.cx,\n innerProps = _this$props2.innerProps,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", _extends({\n css: getStyles('menuPortal', state),\n className: cx({\n 'menu-portal': true\n }, className)\n }, innerProps), children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", _extends({\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n getStyles = props.getStyles;\n return jsx(\"div\", _extends({\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, innerProps), children);\n};\n\nvar _templateObject;\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"8mmkcg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0\"\n} : {\n name: \"tj5bde-Svg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }, innerProps), children || jsx(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }, innerProps), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/css$2({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingDot;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }, innerProps), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n innerProps = props.innerProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", _extends({\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, innerProps), jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\nvar GroupHeading = function GroupHeading(props) {\n var getStyles = props.getStyles,\n cx = props.cx,\n className = props.className;\n\n var _cleanCommonProps = cleanCommonProps(props);\n _cleanCommonProps.data;\n var innerProps = _objectWithoutProperties(_cleanCommonProps, [\"data\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', props),\n className: cx({\n 'group-heading': true\n }, className)\n }, innerProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n\n var _cleanCommonProps = cleanCommonProps(props),\n innerRef = _cleanCommonProps.innerRef,\n isDisabled = _cleanCommonProps.isDisabled,\n isHidden = _cleanCommonProps.isHidden,\n innerProps = _objectWithoutProperties(_cleanCommonProps, [\"innerRef\", \"isDisabled\", \"isHidden\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', props)\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, innerProps)));\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }, innerProps),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread2(_objectSpread2({}, components), props.components);\n};\n\nexport { isMobileDevice as A, classNames as B, defaultComponents as C, isDocumentElement as D, cleanValue as E, scrollIntoView as F, noop as G, handleInputChange as H, MenuPlacer as M, _createSuper as _, _objectSpread2 as a, clearIndicatorCSS as b, components as c, containerCSS as d, css as e, dropdownIndicatorCSS as f, groupCSS as g, groupHeadingCSS as h, indicatorsContainerCSS as i, indicatorSeparatorCSS as j, inputCSS as k, loadingIndicatorCSS as l, loadingMessageCSS as m, menuCSS as n, menuListCSS as o, menuPortalCSS as p, multiValueCSS as q, multiValueLabelCSS as r, supportsPassiveEvents as s, multiValueRemoveCSS as t, noOptionsMessageCSS as u, optionCSS as v, placeholderCSS as w, css$1 as x, valueContainerCSS as y, isTouchCapable as z };\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { a as _objectSpread2, s as supportsPassiveEvents, b as clearIndicatorCSS, d as containerCSS, e as css$1, f as dropdownIndicatorCSS, g as groupCSS, h as groupHeadingCSS, i as indicatorsContainerCSS, j as indicatorSeparatorCSS, k as inputCSS, l as loadingIndicatorCSS, m as loadingMessageCSS, n as menuCSS, o as menuListCSS, p as menuPortalCSS, q as multiValueCSS, r as multiValueLabelCSS, t as multiValueRemoveCSS, u as noOptionsMessageCSS, v as optionCSS, w as placeholderCSS, x as css$2, y as valueContainerCSS, z as isTouchCapable, A as isMobileDevice, _ as _createSuper, B as classNames, C as defaultComponents, D as isDocumentElement, E as cleanValue, F as scrollIntoView, G as noop, M as MenuPlacer } from './index-4bd03571.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport React, { useMemo, useRef, useCallback, useEffect, Component } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport memoizeOne from 'memoize-one';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"7pg0cj-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap\"\n} : {\n name: \"1f43avz-a11yText-A11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbmNvbnN0IEExMXlUZXh0ID0gKHByb3BzOiBFbGVtZW50Q29uZmlnPCdzcGFuJz4pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nvar defaultAriaLiveMessages = {\n guidance: function guidance(props) {\n var isSearchable = props.isSearchable,\n isMulti = props.isMulti,\n isDisabled = props.isDisabled,\n tabSelectsValue = props.tabSelectsValue,\n context = props.context;\n\n switch (context) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(props['aria-label'] || 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n\n default:\n return '';\n }\n },\n onChange: function onChange(props) {\n var action = props.action,\n _props$label = props.label,\n label = _props$label === void 0 ? '' : _props$label,\n isDisabled = props.isDisabled;\n\n switch (action) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(label, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(label, \" is disabled. Select another option.\") : \"option \".concat(label, \", selected.\");\n\n default:\n return '';\n }\n },\n onFocus: function onFocus(props) {\n var context = props.context,\n _props$focused = props.focused,\n focused = _props$focused === void 0 ? {} : _props$focused,\n options = props.options,\n _props$label2 = props.label,\n label = _props$label2 === void 0 ? '' : _props$label2,\n selectValue = props.selectValue,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected;\n\n var getArrayIndex = function getArrayIndex(arr, item) {\n return arr && arr.length ? \"\".concat(arr.indexOf(item) + 1, \" of \").concat(arr.length) : '';\n };\n\n if (context === 'value' && selectValue) {\n return \"value \".concat(label, \" focused, \").concat(getArrayIndex(selectValue, focused), \".\");\n }\n\n if (context === 'menu') {\n var disabled = isDisabled ? ' disabled' : '';\n var status = \"\".concat(isSelected ? 'selected' : 'focused').concat(disabled);\n return \"option \".concat(label, \" \").concat(status, \", \").concat(getArrayIndex(options, focused), \".\");\n }\n\n return '';\n },\n onFilter: function onFilter(props) {\n var inputValue = props.inputValue,\n resultsMessage = props.resultsMessage;\n return \"\".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n }\n};\n\nvar LiveRegion = function LiveRegion(props) {\n var ariaSelection = props.ariaSelection,\n focusedOption = props.focusedOption,\n focusedValue = props.focusedValue,\n focusableOptions = props.focusableOptions,\n isFocused = props.isFocused,\n selectValue = props.selectValue,\n selectProps = props.selectProps;\n var ariaLiveMessages = selectProps.ariaLiveMessages,\n getOptionLabel = selectProps.getOptionLabel,\n inputValue = selectProps.inputValue,\n isMulti = selectProps.isMulti,\n isOptionDisabled = selectProps.isOptionDisabled,\n isSearchable = selectProps.isSearchable,\n menuIsOpen = selectProps.menuIsOpen,\n options = selectProps.options,\n screenReaderStatus = selectProps.screenReaderStatus,\n tabSelectsValue = selectProps.tabSelectsValue;\n var ariaLabel = selectProps['aria-label'];\n var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes\n\n var messages = useMemo(function () {\n return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});\n }, [ariaLiveMessages]); // Update aria live selected option when prop changes\n\n var ariaSelected = useMemo(function () {\n var message = '';\n\n if (ariaSelection && messages.onChange) {\n var option = ariaSelection.option,\n removedValue = ariaSelection.removedValue,\n value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value\n\n var asOption = function asOption(val) {\n return !Array.isArray(val) ? val : null;\n };\n\n var selected = removedValue || option || asOption(value);\n\n var onChangeProps = _objectSpread2({\n isDisabled: selected && isOptionDisabled(selected),\n label: selected ? getOptionLabel(selected) : ''\n }, ariaSelection);\n\n message = messages.onChange(onChangeProps);\n }\n\n return message;\n }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);\n var ariaFocused = useMemo(function () {\n var focusMsg = '';\n var focused = focusedOption || focusedValue;\n var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));\n\n if (focused && messages.onFocus) {\n var onFocusProps = {\n focused: focused,\n label: getOptionLabel(focused),\n isDisabled: isOptionDisabled(focused),\n isSelected: isSelected,\n options: options,\n context: focused === focusedOption ? 'menu' : 'value',\n selectValue: selectValue\n };\n focusMsg = messages.onFocus(onFocusProps);\n }\n\n return focusMsg;\n }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);\n var ariaResults = useMemo(function () {\n var resultsMsg = '';\n\n if (menuIsOpen && options.length && messages.onFilter) {\n var resultsMessage = screenReaderStatus({\n count: focusableOptions.length\n });\n resultsMsg = messages.onFilter({\n inputValue: inputValue,\n resultsMessage: resultsMessage\n });\n }\n\n return resultsMsg;\n }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);\n var ariaGuidance = useMemo(function () {\n var guidanceMsg = '';\n\n if (messages.guidance) {\n var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';\n guidanceMsg = messages.guidance({\n 'aria-label': ariaLabel,\n context: context,\n isDisabled: focusedOption && isOptionDisabled(focusedOption),\n isMulti: isMulti,\n isSearchable: isSearchable,\n tabSelectsValue: tabSelectsValue\n });\n }\n\n return guidanceMsg;\n }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);\n var ariaContext = \"\".concat(ariaFocused, \" \").concat(ariaResults, \" \").concat(ariaGuidance);\n return jsx(A11yText, {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"false\",\n \"aria-relevant\": \"additions text\"\n }, isFocused && jsx(React.Fragment, null, jsx(\"span\", {\n id: \"aria-selection\"\n }, ariaSelected), jsx(\"span\", {\n id: \"aria-context\"\n }, ariaContext)));\n};\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nvar memoizedStripDiacriticsForInput = memoizeOne(stripDiacritics);\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread2({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = memoizedStripDiacriticsForInput(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction DummyInput(_ref) {\n _ref.in;\n _ref.out;\n _ref.onExited;\n _ref.appear;\n _ref.enter;\n _ref.exit;\n var innerRef = _ref.innerRef;\n _ref.emotion;\n var props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:DummyInput;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIER1bW15SW5wdXQoe1xuICBpbjogaW5Qcm9wLFxuICBvdXQsXG4gIG9uRXhpdGVkLFxuICBhcHBlYXIsXG4gIGVudGVyLFxuICBleGl0LFxuICBpbm5lclJlZixcbiAgZW1vdGlvbixcbiAgLi4ucHJvcHNcbn06IGFueSkge1xuICByZXR1cm4gKFxuICAgIDxpbnB1dFxuICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwKScsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59XG4iXX0= */\")\n }));\n}\n\nvar cancelScroll = function cancelScroll(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nfunction useScrollCapture(_ref) {\n var isEnabled = _ref.isEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var isBottom = useRef(false);\n var isTop = useRef(false);\n var touchStart = useRef(0);\n var scrollTarget = useRef(null);\n var handleEventDelta = useCallback(function (event, delta) {\n // Reference should never be `null` at this point, but flow complains otherwise\n if (scrollTarget.current === null) return;\n var _scrollTarget$current = scrollTarget.current,\n scrollTop = _scrollTarget$current.scrollTop,\n scrollHeight = _scrollTarget$current.scrollHeight,\n clientHeight = _scrollTarget$current.clientHeight;\n var target = scrollTarget.current;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && isBottom.current) {\n if (onBottomLeave) onBottomLeave(event);\n isBottom.current = false;\n }\n\n if (isDeltaPositive && isTop.current) {\n if (onTopLeave) onTopLeave(event);\n isTop.current = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !isBottom.current) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n isBottom.current = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !isTop.current) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n isTop.current = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n cancelScroll(event);\n }\n }, []);\n var onWheel = useCallback(function (event) {\n handleEventDelta(event, event.deltaY);\n }, [handleEventDelta]);\n var onTouchStart = useCallback(function (event) {\n // set touch start so we can calculate touchmove delta\n touchStart.current = event.changedTouches[0].clientY;\n }, []);\n var onTouchMove = useCallback(function (event) {\n var deltaY = touchStart.current - event.changedTouches[0].clientY;\n handleEventDelta(event, deltaY);\n }, [handleEventDelta]);\n var startListening = useCallback(function (el) {\n // bail early if no element is available to attach to\n if (!el) return;\n var notPassive = supportsPassiveEvents ? {\n passive: false\n } : false; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', onWheel, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', onTouchStart, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', onTouchMove, notPassive);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n var stopListening = useCallback(function (el) {\n // bail early if no element is available to detach from\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', onTouchMove, false);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n startListening(element);\n return function () {\n stopListening(element);\n };\n }, [isEnabled, startListening, stopListening]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar activeScrollLocks = 0;\nvar listenerOptions = {\n capture: false,\n passive: false\n};\nfunction useScrollLock(_ref) {\n var isEnabled = _ref.isEnabled,\n _ref$accountForScroll = _ref.accountForScrollbars,\n accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;\n var originalStyles = useRef({});\n var scrollTarget = useRef(null);\n var addScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n originalStyles.current[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }, []);\n var removeScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = originalStyles.current[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n }, []);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n addScrollLock(element);\n return function () {\n removeScrollLock(element);\n };\n }, [isEnabled, addScrollLock, removeScrollLock]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar blurSelectInput = function blurSelectInput() {\n return document.activeElement && document.activeElement.blur();\n};\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"1kfdb0e\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0\"\n} : {\n name: \"bp8cua-ScrollManager\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0RVIiwiZmlsZSI6IlNjcm9sbE1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNjcm9sbENhcHR1cmUgZnJvbSAnLi91c2VTY3JvbGxDYXB0dXJlJztcbmltcG9ydCB1c2VTY3JvbGxMb2NrIGZyb20gJy4vdXNlU2Nyb2xsTG9jayc7XG5cbnR5cGUgUmVmQ2FsbGJhY2s8VD4gPSAoVCB8IG51bGwpID0+IHZvaWQ7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiAoUmVmQ2FsbGJhY2s8SFRNTEVsZW1lbnQ+KSA9PiBFbGVtZW50PCo+LFxuICBsb2NrRW5hYmxlZDogYm9vbGVhbixcbiAgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW4sXG4gIG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudD4pID0+IHZvaWQsXG4gIG9uQm90dG9tTGVhdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BBcnJpdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BMZWF2ZT86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkLFxufTtcblxuY29uc3QgYmx1clNlbGVjdElucHV0ID0gKCkgPT5cbiAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcih7XG4gIGNoaWxkcmVuLFxuICBsb2NrRW5hYmxlZCxcbiAgY2FwdHVyZUVuYWJsZWQgPSB0cnVlLFxuICBvbkJvdHRvbUFycml2ZSxcbiAgb25Cb3R0b21MZWF2ZSxcbiAgb25Ub3BBcnJpdmUsXG4gIG9uVG9wTGVhdmUsXG59OiBQcm9wcykge1xuICBjb25zdCBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUsXG4gIH0pO1xuICBjb25zdCBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7IGlzRW5hYmxlZDogbG9ja0VuYWJsZWQgfSk7XG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gZWxlbWVudCA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\nfunction ScrollManager(_ref) {\n var children = _ref.children,\n lockEnabled = _ref.lockEnabled,\n _ref$captureEnabled = _ref.captureEnabled,\n captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var setScrollCaptureTarget = useScrollCapture({\n isEnabled: captureEnabled,\n onBottomArrive: onBottomArrive,\n onBottomLeave: onBottomLeave,\n onTopArrive: onTopArrive,\n onTopLeave: onTopLeave\n });\n var setScrollLockTarget = useScrollLock({\n isEnabled: lockEnabled\n });\n\n var targetRef = function targetRef(element) {\n setScrollCaptureTarget(element);\n setScrollLockTarget(element);\n };\n\n return jsx(React.Fragment, null, lockEnabled && jsx(\"div\", {\n onClick: blurSelectInput,\n css: _ref2\n }), children(targetRef));\n}\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css$1,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$2,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // initialize with source styles\n var styles = _objectSpread2({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\n\nvar defaultProps = {\n 'aria-live': 'polite',\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\n\nfunction toCategorizedOption(props, option, selectValue, index) {\n var isDisabled = _isOptionDisabled(props, option, selectValue);\n\n var isSelected = _isOptionSelected(props, option, selectValue);\n\n var label = getOptionLabel$1(props, option);\n var value = getOptionValue$1(props, option);\n return {\n type: 'option',\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n label: label,\n value: value,\n index: index\n };\n}\n\nfunction buildCategorizedOptions(props, selectValue) {\n return props.options.map(function (groupOrOption, groupOrOptionIndex) {\n if (groupOrOption.options) {\n var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {\n return toCategorizedOption(props, option, selectValue, optionIndex);\n }).filter(function (categorizedOption) {\n return isFocusable(props, categorizedOption);\n });\n return categorizedOptions.length > 0 ? {\n type: 'group',\n data: groupOrOption,\n options: categorizedOptions,\n index: groupOrOptionIndex\n } : undefined;\n }\n\n var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);\n return isFocusable(props, categorizedOption) ? categorizedOption : undefined;\n }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)\n .filter(function (categorizedOption) {\n return !!categorizedOption;\n });\n}\n\nfunction buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) {\n return option.data;\n })));\n } else {\n optionsAccumulator.push(categorizedOption.data);\n }\n\n return optionsAccumulator;\n }, []);\n}\n\nfunction buildFocusableOptions(props, selectValue) {\n return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));\n}\n\nfunction isFocusable(props, categorizedOption) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;\n var data = categorizedOption.data,\n isSelected = categorizedOption.isSelected,\n label = categorizedOption.label,\n value = categorizedOption.value;\n return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {\n label: label,\n value: value,\n data: data\n }, inputValue);\n}\n\nfunction getNextFocusedValue(state, nextSelectValue) {\n var focusedValue = state.focusedValue,\n lastSelectValue = state.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n}\n\nfunction getNextFocusedOption(state, options) {\n var lastFocusedOption = state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n}\n\nvar getOptionLabel$1 = function getOptionLabel(props, data) {\n return props.getOptionLabel(data);\n};\n\nvar getOptionValue$1 = function getOptionValue(props, data) {\n return props.getOptionValue(data);\n};\n\nfunction _isOptionDisabled(props, option, selectValue) {\n return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;\n}\n\nfunction _isOptionSelected(props, option, selectValue) {\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof props.isOptionSelected === 'function') {\n return props.isOptionSelected(option, selectValue);\n }\n\n var candidate = getOptionValue$1(props, option);\n return selectValue.some(function (i) {\n return getOptionValue$1(props, i) === candidate;\n });\n}\n\nfunction _filterOption(props, option, inputValue) {\n return props.filterOption ? props.filterOption(option, inputValue) : true;\n}\n\nvar shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {\n var hideSelectedOptions = props.hideSelectedOptions,\n isMulti = props.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n};\n\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper(Select);\n\n // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaSelection: null,\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n selectValue: [],\n clearFocusValueOnUpdate: false,\n inputIsHiddenAfterUpdate: undefined,\n prevProps: undefined\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.commonProps = void 0;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n actionMeta.name = name;\n\n _this.ariaOnChange(newValue, actionMeta);\n\n onChange(newValue, actionMeta);\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.setState({\n clearFocusValueOnUpdate: true\n });\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti,\n name = _this$props3.name;\n var selectValue = _this.state.selectValue;\n\n var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);\n\n var isDisabled = _this.isOptionDisabled(newValue, selectValue);\n\n if (deselected) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n } else if (!isDisabled) {\n // Select option if option is not disabled\n if (isMulti) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n } else {\n _this.setValue(newValue, 'select-option');\n }\n } else {\n _this.ariaOnChange(newValue, {\n action: 'select-option',\n name: name\n });\n\n return;\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValueArray = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n var selectValue = _this.state.selectValue;\n\n _this.onChange(_this.props.isMulti ? [] : null, {\n action: 'clear',\n removedValues: selectValue\n });\n };\n\n _this.popValue = function () {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValueArray = selectValue.slice(0, selectValue.length - 1);\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return getOptionLabel$1(_this.props, data);\n };\n\n _this.getOptionValue = function (data) {\n return getOptionValue$1(_this.props, data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getComponents = function () {\n return defaultComponents(_this.props);\n };\n\n _this.buildCategorizedOptions = function () {\n return buildCategorizedOptions(_this.props, _this.state.selectValue);\n };\n\n _this.getCategorizedOptions = function () {\n return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];\n };\n\n _this.buildFocusableOptions = function () {\n return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());\n };\n\n _this.getFocusableOptions = function () {\n return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];\n };\n\n _this.ariaOnChange = function (value, actionMeta) {\n _this.setState({\n ariaSelection: _objectSpread2({\n value: value\n }, actionMeta)\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref2) {\n var touches = _ref2.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref3) {\n var touches = _ref3.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState({\n inputIsHiddenAfterUpdate: false,\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n return shouldHideSelectedOptions(_this.props);\n };\n\n _this.onKeyDown = function (event) {\n var _this$props5 = _this.props,\n isMulti = _this$props5.isMulti,\n backspaceRemovesValue = _this$props5.backspaceRemovesValue,\n escapeClearsValue = _this$props5.escapeClearsValue,\n inputValue = _this$props5.inputValue,\n isClearable = _this$props5.isClearable,\n isDisabled = _this$props5.isDisabled,\n menuIsOpen = _this$props5.menuIsOpen,\n onKeyDown = _this$props5.onKeyDown,\n tabSelectsValue = _this$props5.tabSelectsValue,\n openMenuOnFocus = _this$props5.openMenuOnFocus;\n var _this$state = _this.state,\n focusedOption = _this$state.focusedOption,\n focusedValue = _this$state.focusedValue,\n selectValue = _this$state.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n _this.state.selectValue = cleanValue(_props.value);\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props6 = this.props,\n isDisabled = _this$props6.isDisabled,\n menuIsOpen = _this$props6.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n } // ==============================\n // Consumer Handlers\n // ==============================\n\n }, {\n key: \"onMenuOpen\",\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state2 = this.state,\n selectValue = _this$state2.selectValue,\n isFocused = _this$state2.isFocused;\n var focusableOptions = this.buildFocusableOptions();\n var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;\n\n if (!this.props.isMulti) {\n var selectedIndex = focusableOptions.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.setState({\n inputIsHiddenAfterUpdate: false,\n focusedValue: null,\n focusedOption: focusableOptions[openAtIndex]\n }, function () {\n return _this2.onMenuOpen();\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing\n\n if (!this.props.isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var focusedOption = this.state.focusedOption;\n var options = this.getFocusableOptions();\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n }\n }, {\n key: \"getTheme\",\n value: // ==============================\n // Getters\n // ==============================\n function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread2(_objectSpread2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n selectOption = this.selectOption,\n setValue = this.setValue,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n clearValue: clearValue,\n cx: cx,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n selectProps: props,\n setValue: setValue,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.getFocusableOptions().length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props7 = this.props,\n isClearable = _this$props7.isClearable,\n isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return _isOptionDisabled(this.props, option, selectValue);\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n return _isOptionSelected(this.props, option, selectValue);\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return _filterOption(this.props, option, inputValue);\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n value: // ==============================\n // Composition Handlers\n // ==============================\n function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n value: // ==============================\n // Touch Handlers\n // ==============================\n function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"renderInput\",\n value: // ==============================\n // Renderers\n // ==============================\n function renderInput() {\n var _this$props8 = this.props,\n isDisabled = _this$props8.isDisabled,\n isSearchable = _this$props8.isSearchable,\n inputId = _this$props8.inputId,\n inputValue = _this$props8.inputValue,\n tabIndex = _this$props8.tabIndex,\n form = _this$props8.form;\n\n var _this$getComponents = this.getComponents(),\n Input = _this$getComponents.Input;\n\n var inputIsHidden = this.state.inputIsHidden;\n var commonProps = this.commonProps;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n return /*#__PURE__*/React.createElement(Input, _extends({}, commonProps, {\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this3 = this;\n\n var _this$getComponents2 = this.getComponents(),\n MultiValue = _this$getComponents2.MultiValue,\n MultiValueContainer = _this$getComponents2.MultiValueContainer,\n MultiValueLabel = _this$getComponents2.MultiValueLabel,\n MultiValueRemove = _this$getComponents2.MultiValueRemove,\n SingleValue = _this$getComponents2.SingleValue,\n Placeholder = _this$getComponents2.Placeholder;\n\n var commonProps = this.commonProps;\n var _this$props9 = this.props,\n controlShouldRenderValue = _this$props9.controlShouldRenderValue,\n isDisabled = _this$props9.isDisabled,\n isMulti = _this$props9.isMulti,\n inputValue = _this$props9.inputValue,\n placeholder = _this$props9.placeholder;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue,\n isFocused = _this$state4.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this3.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this3.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this3.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this3.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var _this$getComponents3 = this.getComponents(),\n ClearIndicator = _this$getComponents3.ClearIndicator;\n\n var commonProps = this.commonProps;\n var _this$props10 = this.props,\n isDisabled = _this$props10.isDisabled,\n isLoading = _this$props10.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var _this$getComponents4 = this.getComponents(),\n LoadingIndicator = _this$getComponents4.LoadingIndicator;\n\n var commonProps = this.commonProps;\n var _this$props11 = this.props,\n isDisabled = _this$props11.isDisabled,\n isLoading = _this$props11.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$getComponents5 = this.getComponents(),\n DropdownIndicator = _this$getComponents5.DropdownIndicator,\n IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var _this$getComponents6 = this.getComponents(),\n DropdownIndicator = _this$getComponents6.DropdownIndicator;\n\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this4 = this;\n\n var _this$getComponents7 = this.getComponents(),\n Group = _this$getComponents7.Group,\n GroupHeading = _this$getComponents7.GroupHeading,\n Menu = _this$getComponents7.Menu,\n MenuList = _this$getComponents7.MenuList,\n MenuPortal = _this$getComponents7.MenuPortal,\n LoadingMessage = _this$getComponents7.LoadingMessage,\n NoOptionsMessage = _this$getComponents7.NoOptionsMessage,\n Option = _this$getComponents7.Option;\n\n var commonProps = this.commonProps;\n var focusedOption = this.state.focusedOption;\n var _this$props12 = this.props,\n captureMenuScroll = _this$props12.captureMenuScroll,\n inputValue = _this$props12.inputValue,\n isLoading = _this$props12.isLoading,\n loadingMessage = _this$props12.loadingMessage,\n minMenuHeight = _this$props12.minMenuHeight,\n maxMenuHeight = _this$props12.maxMenuHeight,\n menuIsOpen = _this$props12.menuIsOpen,\n menuPlacement = _this$props12.menuPlacement,\n menuPosition = _this$props12.menuPosition,\n menuPortalTarget = _this$props12.menuPortalTarget,\n menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,\n noOptionsMessage = _this$props12.noOptionsMessage,\n onMenuScrollToTop = _this$props12.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props, id) {\n var type = props.type,\n data = props.data,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n label = props.label,\n value = props.value;\n var isFocused = focusedOption === data;\n var onHover = isDisabled ? undefined : function () {\n return _this4.onOptionHover(data);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this4.selectOption(data);\n };\n var optionId = \"\".concat(_this4.getElementId('option'), \"-\").concat(id);\n var innerProps = {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n };\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, {\n innerProps: innerProps,\n data: data,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: type,\n value: value,\n isFocused: isFocused,\n innerRef: isFocused ? _this4.getFocusedOptionRef : undefined\n }), _this4.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = this.getCategorizedOptions().map(function (item) {\n if (item.type === 'group') {\n var data = item.data,\n options = item.options,\n groupIndex = item.index;\n var groupId = \"\".concat(_this4.getElementId('group'), \"-\").concat(groupIndex);\n var headingId = \"\".concat(groupId, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, {\n key: groupId,\n data: data,\n options: options,\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this4.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option, \"\".concat(groupIndex, \"-\").concat(option.index));\n }));\n } else if (item.type === 'option') {\n return render(item, \"\".concat(item.index));\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref4) {\n var ref = _ref4.ref,\n _ref4$placerProps = _ref4.placerProps,\n placement = _ref4$placerProps.placement,\n maxHeight = _ref4$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this4.onMenuMouseDown,\n onMouseMove: _this4.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollManager, {\n captureEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom,\n lockEnabled: menuShouldBlockScroll\n }, function (scrollTargetRef) {\n return /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: function innerRef(instance) {\n _this4.getMenuListRef(instance);\n\n scrollTargetRef(instance);\n },\n isLoading: isLoading,\n maxHeight: maxHeight,\n focusedOption: focusedOption\n }), menuUI);\n }));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this5 = this;\n\n var _this$props13 = this.props,\n delimiter = _this$props13.delimiter,\n isDisabled = _this$props13.isDisabled,\n isMulti = _this$props13.isMulti,\n name = _this$props13.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this5.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this5.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n var commonProps = this.commonProps;\n var _this$state5 = this.state,\n ariaSelection = _this$state5.ariaSelection,\n focusedOption = _this$state5.focusedOption,\n focusedValue = _this$state5.focusedValue,\n isFocused = _this$state5.isFocused,\n selectValue = _this$state5.selectValue;\n var focusableOptions = this.getFocusableOptions();\n return /*#__PURE__*/React.createElement(LiveRegion, _extends({}, commonProps, {\n ariaSelection: ariaSelection,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n isFocused: isFocused,\n selectValue: selectValue,\n focusableOptions: focusableOptions\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getComponents8 = this.getComponents(),\n Control = _this$getComponents8.Control,\n IndicatorsContainer = _this$getComponents8.IndicatorsContainer,\n SelectContainer = _this$getComponents8.SelectContainer,\n ValueContainer = _this$getComponents8.ValueContainer;\n\n var _this$props14 = this.props,\n className = _this$props14.className,\n id = _this$props14.id,\n isDisabled = _this$props14.isDisabled,\n menuIsOpen = _this$props14.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var prevProps = state.prevProps,\n clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,\n inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;\n var options = props.options,\n value = props.value,\n menuIsOpen = props.menuIsOpen,\n inputValue = props.inputValue;\n var newMenuOptionsState = {};\n\n if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {\n var selectValue = cleanValue(value);\n var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];\n var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;\n var focusedOption = getNextFocusedOption(state, focusableOptions);\n newMenuOptionsState = {\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n clearFocusValueOnUpdate: false\n };\n } // some updates should toggle the state of the input visibility\n\n\n var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {\n inputIsHidden: inputIsHiddenAfterUpdate,\n inputIsHiddenAfterUpdate: undefined\n } : {};\n return _objectSpread2(_objectSpread2(_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {\n prevProps: props\n });\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\n\nexport { Select as S, getOptionLabel as a, defaultProps as b, createFilter as c, defaultTheme as d, getOptionValue as g, mergeStyles as m };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\n\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props;\n _this$props2.defaultInputValue;\n _this$props2.defaultMenuIsOpen;\n _this$props2.defaultValue;\n var props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","import { S as Select } from './Select-dbb12e54.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-dbb12e54.esm.js';\nimport { m as manageState } from './stateManager-845a3300.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nexport { c as components } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport memoizeOne from 'memoize-one';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport 'react-input-autosize';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce, key) {\n return createCache({\n nonce: nonce,\n key: key\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce, this.props.cacheKey);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\n\nexport default index;\nexport { NonceProvider };\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.2\";\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.2\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nmodule.exports = _taggedTemplateLiteral;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar styles = {\n overlay: function overlay(isOpen) {\n return {\n position: 'fixed',\n zIndex: 1000,\n width: '100%',\n height: '100%',\n background: 'rgba(0, 0, 0, 0.3)',\n opacity: isOpen ? 1 : 0,\n MozTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n MsTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n OTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transition: isOpen ? 'opacity 0.3s' : 'opacity 0.3s, transform 0s 0.3s'\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n zIndex: 1100,\n width: width,\n height: '100%',\n MozTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n menu: function menu() {\n return {\n height: '100%',\n boxSizing: 'border-box',\n overflow: 'auto'\n };\n },\n\n itemList: function itemList() {\n return {\n height: '100%'\n };\n },\n\n item: function item() {\n return {\n display: 'block'\n };\n }\n};\n\nexports['default'] = styles;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.focusOnFirstMenuItem = focusOnFirstMenuItem;\nexports.focusOnLastMenuItem = focusOnLastMenuItem;\nexports.focusOnCrossButton = focusOnCrossButton;\nexports.focusOnMenuButton = focusOnMenuButton;\nexports.focusOnMenuItem = focusOnMenuItem;\nexports.focusOnNextMenuItem = focusOnNextMenuItem;\nexports.focusOnPreviousMenuItem = focusOnPreviousMenuItem;\n\nfunction focusOnFirstMenuItem() {\n var firstItem = Array.from(document.getElementsByClassName('bm-item')).shift();\n if (firstItem) {\n firstItem.focus();\n }\n}\n\nfunction focusOnLastMenuItem() {\n var lastItem = Array.from(document.getElementsByClassName('bm-item')).pop();\n if (lastItem) {\n lastItem.focus();\n }\n}\n\nfunction focusOnCrossButton() {\n var crossButton = document.getElementById('react-burger-cross-btn');\n if (crossButton) {\n crossButton.focus();\n }\n}\n\nfunction focusOnMenuButton() {\n var menuButton = document.getElementById('react-burger-menu-btn');\n if (menuButton) {\n menuButton.focus();\n }\n}\n\nfunction focusOnMenuItem(siblingType) {\n if (document.activeElement.className.includes('bm-item')) {\n var sibling = document.activeElement[siblingType];\n if (sibling) {\n sibling.focus();\n } else {\n focusOnCrossButton();\n }\n } else {\n if (siblingType === 'previousElementSibling') {\n focusOnLastMenuItem();\n } else {\n focusOnFirstMenuItem();\n }\n }\n}\n\nfunction focusOnNextMenuItem() {\n focusOnMenuItem('nextElementSibling');\n}\n\nfunction focusOnPreviousMenuItem() {\n focusOnMenuItem('previousElementSibling');\n}","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar BurgerIcon = (function (_Component) {\n _inherits(BurgerIcon, _Component);\n\n function BurgerIcon(props) {\n _classCallCheck(this, BurgerIcon);\n\n _get(Object.getPrototypeOf(BurgerIcon.prototype), 'constructor', this).call(this, props);\n this.state = {\n hover: false\n };\n }\n\n _createClass(BurgerIcon, [{\n key: 'getLineStyle',\n value: function getLineStyle(index) {\n return _extends({\n position: 'absolute',\n height: '20%',\n left: 0,\n right: 0,\n top: 20 * (index * 2) + '%',\n opacity: this.state.hover ? 0.6 : 1\n }, this.state.hover && this.props.styles.bmBurgerBarsHover);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon = undefined;\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-icon ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({ width: '100%', height: '100%' }, this.props.styles.bmIcon)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement(\n 'span',\n null,\n [0, 1, 2].map(function (bar) {\n return _react2['default'].createElement('span', {\n key: bar,\n className: ('bm-burger-bars ' + _this.props.barClassName + ' ' + (_this.state.hover ? 'bm-burger-bars-hover' : '')).trim(),\n style: _extends({}, _this.getLineStyle(bar), _this.props.styles.bmBurgerBars)\n });\n })\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n {\n className: ('bm-burger-button ' + this.props.className).trim(),\n style: _extends({ zIndex: 1000 }, this.props.styles.bmBurgerButton)\n },\n _react2['default'].createElement(\n 'button',\n {\n id: 'react-burger-menu-btn',\n onClick: this.props.onClick,\n onMouseOver: function () {\n _this.setState({ hover: true });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({ isMouseIn: true });\n }\n },\n onMouseOut: function () {\n _this.setState({ hover: false });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({ isMouseIn: false });\n }\n },\n style: buttonStyle\n },\n 'Open Menu'\n ),\n icon\n );\n }\n }]);\n\n return BurgerIcon;\n})(_react.Component);\n\nexports['default'] = BurgerIcon;\n\nBurgerIcon.propTypes = {\n barClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n styles: _propTypes2['default'].object\n};\n\nBurgerIcon.defaultProps = {\n barClassName: '',\n className: '',\n styles: {}\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar CrossIcon = (function (_Component) {\n _inherits(CrossIcon, _Component);\n\n function CrossIcon() {\n _classCallCheck(this, CrossIcon);\n\n _get(Object.getPrototypeOf(CrossIcon.prototype), 'constructor', this).apply(this, arguments);\n }\n\n _createClass(CrossIcon, [{\n key: 'getCrossStyle',\n value: function getCrossStyle(type) {\n return {\n position: 'absolute',\n width: 3,\n height: 14,\n transform: type === 'before' ? 'rotate(45deg)' : 'rotate(-45deg)'\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon;\n var buttonWrapperStyle = {\n position: 'absolute',\n width: 24,\n height: 24,\n right: 8,\n top: 8\n };\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-cross ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({ width: '100%', height: '100%' }, this.props.styles.bmCross)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement(\n 'span',\n { style: { position: 'absolute', top: '6px', right: '14px' } },\n ['before', 'after'].map(function (type, i) {\n return _react2['default'].createElement('span', {\n key: i,\n className: ('bm-cross ' + _this.props.crossClassName).trim(),\n style: _extends({}, _this.getCrossStyle(type), _this.props.styles.bmCross)\n });\n })\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n {\n className: ('bm-cross-button ' + this.props.className).trim(),\n style: _extends({}, buttonWrapperStyle, this.props.styles.bmCrossButton)\n },\n _react2['default'].createElement(\n 'button',\n {\n id: 'react-burger-cross-btn',\n onClick: this.props.onClick,\n style: buttonStyle,\n tabIndex: this.props.isOpen ? 0 : -1\n },\n 'Close Menu'\n ),\n icon\n );\n }\n }]);\n\n return CrossIcon;\n})(_react.Component);\n\nexports['default'] = CrossIcon;\n\nCrossIcon.propTypes = {\n crossClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n isOpen: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object\n};\n\nCrossIcon.defaultProps = {\n crossClassName: '',\n className: '',\n styles: {},\n isOpen: false\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n transition: isOpen ? 'transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)' : 'transform 0.4s cubic-bezier(0.7, 0, 0.3, 1)'\n };\n },\n\n item: function item(isOpen, width, right, nthChild) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n MsTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n OTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n transform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n transition: isOpen ? 'transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)' : 'transform 0s 0.2s cubic-bezier(0.7, 0, 0.3, 1)'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersSnapsvgImporter = require('../helpers/snapsvgImporter');\n\nvar _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter);\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar _helpersUtils = require('../helpers/utils');\n\nvar MORPH_SHAPE_WIDTH = 120;\n\nvar styles = {\n svg: {\n lib: _helpersSnapsvgImporter2['default'],\n pathInitial: 'M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z',\n pathOpen: 'M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z',\n animate: function animate(path) {\n path.animate({ path: this.pathOpen }, 400, window.mina.easeinout);\n }\n },\n\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: MORPH_SHAPE_WIDTH,\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : '',\n MsTransform: right ? 'rotateY(180deg)' : '',\n OTransform: right ? 'rotateY(180deg)' : '',\n WebkitTransform: right ? 'rotateY(180deg)' : '',\n transform: right ? 'rotateY(180deg)' : ''\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.3s'\n };\n },\n\n menu: function menu(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n width: (0, _helpersUtils.pxToNum)(width) - MORPH_SHAPE_WIDTH,\n whiteSpace: 'nowrap',\n boxSizing: 'border-box',\n overflow: 'visible'\n };\n },\n\n itemList: function itemList(isOpen, width, right) {\n if (right) {\n return {\n position: 'relative',\n left: '-110px',\n width: '170%',\n overflow: 'auto'\n };\n }\n },\n\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n transition: isOpen ? 'all 0.3s' : 'all 0.3s 0.1s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","window.eve = require('eve')\n\n// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar mina = (function (eve) {\n var animations = {},\n requestAnimFrame = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function (callback) {\n setTimeout(callback, 16, new Date().getTime());\n return true;\n },\n requestID,\n isArray = Array.isArray || function (a) {\n return a instanceof Array ||\n Object.prototype.toString.call(a) == \"[object Array]\";\n },\n idgen = 0,\n idprefix = \"M\" + (+new Date).toString(36),\n ID = function () {\n return idprefix + (idgen++).toString(36);\n },\n diff = function (a, b, A, B) {\n if (isArray(a)) {\n res = [];\n for (var i = 0, ii = a.length; i < ii; i++) {\n res[i] = diff(a[i], b, A[i], B);\n }\n return res;\n }\n var dif = (A - a) / (B - b);\n return function (bb) {\n return a + dif * (bb - b);\n };\n },\n timer = Date.now || function () {\n return +new Date;\n },\n sta = function (val) {\n var a = this;\n if (val == null) {\n return a.s;\n }\n var ds = a.s - val;\n a.b += a.dur * ds;\n a.B += a.dur * ds;\n a.s = val;\n },\n speed = function (val) {\n var a = this;\n if (val == null) {\n return a.spd;\n }\n a.spd = val;\n },\n duration = function (val) {\n var a = this;\n if (val == null) {\n return a.dur;\n }\n a.s = a.s * val / a.dur;\n a.dur = val;\n },\n stopit = function () {\n var a = this;\n delete animations[a.id];\n a.update();\n eve(\"mina.stop.\" + a.id, a);\n },\n pause = function () {\n var a = this;\n if (a.pdif) {\n return;\n }\n delete animations[a.id];\n a.update();\n a.pdif = a.get() - a.b;\n },\n resume = function () {\n var a = this;\n if (!a.pdif) {\n return;\n }\n a.b = a.get() - a.pdif;\n delete a.pdif;\n animations[a.id] = a;\n frame();\n },\n update = function () {\n var a = this,\n res;\n if (isArray(a.start)) {\n res = [];\n for (var j = 0, jj = a.start.length; j < jj; j++) {\n res[j] = +a.start[j] +\n (a.end[j] - a.start[j]) * a.easing(a.s);\n }\n } else {\n res = +a.start + (a.end - a.start) * a.easing(a.s);\n }\n a.set(res);\n },\n frame = function (timeStamp) {\n // Manual invokation?\n if (!timeStamp) {\n // Frame loop stopped?\n if (!requestID) {\n // Start frame loop...\n requestID = requestAnimFrame(frame);\n }\n return;\n }\n var len = 0;\n for (var i in animations) if (animations.hasOwnProperty(i)) {\n var a = animations[i],\n b = a.get(),\n res;\n len++;\n a.s = (b - a.b) / (a.dur / a.spd);\n if (a.s >= 1) {\n delete animations[i];\n a.s = 1;\n len--;\n (function (a) {\n setTimeout(function () {\n eve(\"mina.finish.\" + a.id, a);\n });\n }(a));\n }\n a.update();\n }\n requestID = len ? requestAnimFrame(frame) : false;\n },\n /*\\\n * mina\n [ method ]\n **\n * Generic animation of numbers\n **\n - a (number) start _slave_ number\n - A (number) end _slave_ number\n - b (number) start _master_ number (start time in general case)\n - B (number) end _master_ number (end time in general case)\n - get (function) getter of _master_ number (see @mina.time)\n - set (function) setter of _slave_ number\n - easing (function) #optional easing function, default is @mina.linear\n = (object) animation descriptor\n o {\n o id (string) animation id,\n o start (number) start _slave_ number,\n o end (number) end _slave_ number,\n o b (number) start _master_ number,\n o s (number) animation status (0..1),\n o dur (number) animation duration,\n o spd (number) animation speed,\n o get (function) getter of _master_ number (see @mina.time),\n o set (function) setter of _slave_ number,\n o easing (function) easing function, default is @mina.linear,\n o status (function) status getter/setter,\n o speed (function) speed getter/setter,\n o duration (function) duration getter/setter,\n o stop (function) animation stopper\n o pause (function) pauses the animation\n o resume (function) resumes the animation\n o update (function) calles setter with the right value of the animation\n o }\n \\*/\n mina = function (a, A, b, B, get, set, easing) {\n var anim = {\n id: ID(),\n start: a,\n end: A,\n b: b,\n s: 0,\n dur: B - b,\n spd: 1,\n get: get,\n set: set,\n easing: easing || mina.linear,\n status: sta,\n speed: speed,\n duration: duration,\n stop: stopit,\n pause: pause,\n resume: resume,\n update: update\n };\n animations[anim.id] = anim;\n var len = 0, i;\n for (i in animations) if (animations.hasOwnProperty(i)) {\n len++;\n if (len == 2) {\n break;\n }\n }\n len == 1 && frame();\n return anim;\n };\n /*\\\n * mina.time\n [ method ]\n **\n * Returns the current time. Equivalent to:\n | function () {\n | return (new Date).getTime();\n | }\n \\*/\n mina.time = timer;\n /*\\\n * mina.getById\n [ method ]\n **\n * Returns an animation by its id\n - id (string) animation's id\n = (object) See @mina\n \\*/\n mina.getById = function (id) {\n return animations[id] || null;\n };\n\n /*\\\n * mina.linear\n [ method ]\n **\n * Default linear easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.linear = function (n) {\n return n;\n };\n /*\\\n * mina.easeout\n [ method ]\n **\n * Easeout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeout = function (n) {\n return Math.pow(n, 1.7);\n };\n /*\\\n * mina.easein\n [ method ]\n **\n * Easein easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easein = function (n) {\n return Math.pow(n, .48);\n };\n /*\\\n * mina.easeinout\n [ method ]\n **\n * Easeinout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeinout = function (n) {\n if (n == 1) {\n return 1;\n }\n if (n == 0) {\n return 0;\n }\n var q = .48 - n / 1.04,\n Q = Math.sqrt(.1734 + q * q),\n x = Q - q,\n X = Math.pow(Math.abs(x), 1 / 3) * (x < 0 ? -1 : 1),\n y = -Q - q,\n Y = Math.pow(Math.abs(y), 1 / 3) * (y < 0 ? -1 : 1),\n t = X + Y + .5;\n return (1 - t) * 3 * t * t + t * t * t;\n };\n /*\\\n * mina.backin\n [ method ]\n **\n * Backin easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backin = function (n) {\n if (n == 1) {\n return 1;\n }\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n };\n /*\\\n * mina.backout\n [ method ]\n **\n * Backout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backout = function (n) {\n if (n == 0) {\n return 0;\n }\n n = n - 1;\n var s = 1.70158;\n return n * n * ((s + 1) * n + s) + 1;\n };\n /*\\\n * mina.elastic\n [ method ]\n **\n * Elastic easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.elastic = function (n) {\n if (n == !!n) {\n return n;\n }\n return Math.pow(2, -10 * n) * Math.sin((n - .075) *\n (2 * Math.PI) / .3) + 1;\n };\n /*\\\n * mina.bounce\n [ method ]\n **\n * Bounce easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.bounce = function (n) {\n var s = 7.5625,\n p = 2.75,\n l;\n if (n < 1 / p) {\n l = s * n * n;\n } else {\n if (n < 2 / p) {\n n -= 1.5 / p;\n l = s * n * n + .75;\n } else {\n if (n < 2.5 / p) {\n n -= 2.25 / p;\n l = s * n * n + .9375;\n } else {\n n -= 2.625 / p;\n l = s * n * n + .984375;\n }\n }\n }\n return l;\n };\n window.mina = mina;\n return mina;\n})(typeof eve == \"undefined\" ? function () {} : eve);\n\n// Copyright (c) 2013 - 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nvar Snap = (function(root) {\nSnap.version = \"0.5.1\";\n/*\\\n * Snap\n [ method ]\n **\n * Creates a drawing surface or wraps existing SVG element.\n **\n - width (number|string) width of surface\n - height (number|string) height of surface\n * or\n - DOM (SVGElement) element to be wrapped into Snap structure\n * or\n - array (array) array of elements (will return set of elements)\n * or\n - query (string) CSS query selector\n = (object) @Element\n\\*/\nfunction Snap(w, h) {\n if (w) {\n if (w.nodeType) {\n return wrap(w);\n }\n if (is(w, \"array\") && Snap.set) {\n return Snap.set.apply(Snap, w);\n }\n if (w instanceof Element) {\n return w;\n }\n if (h == null) {\n try {\n w = glob.doc.querySelector(String(w));\n return wrap(w);\n } catch (e) {\n return null;\n }\n }\n }\n w = w == null ? \"100%\" : w;\n h = h == null ? \"100%\" : h;\n return new Paper(w, h);\n}\nSnap.toString = function () {\n return \"Snap v\" + this.version;\n};\nSnap._ = {};\nvar glob = {\n win: root.window,\n doc: root.window.document\n};\nSnap._.glob = glob;\nvar has = \"hasOwnProperty\",\n Str = String,\n toFloat = parseFloat,\n toInt = parseInt,\n math = Math,\n mmax = math.max,\n mmin = math.min,\n abs = math.abs,\n pow = math.pow,\n PI = math.PI,\n round = math.round,\n E = \"\",\n S = \" \",\n objectToString = Object.prototype.toString,\n ISURL = /^url\\(['\"]?([^\\)]+?)['\"]?\\)$/i,\n colourRegExp = /^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,\n bezierrg = /^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,\n separator = Snap._.separator = /[,\\s]+/,\n whitespace = /[\\s]/g,\n commaSpaces = /[\\s]*,[\\s]*/,\n hsrg = {hs: 1, rg: 1},\n pathCommand = /([a-z])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n tCommand = /([rstm])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\s]*,?[\\s]*/ig,\n idgen = 0,\n idprefix = \"S\" + (+new Date).toString(36),\n ID = function (el) {\n return (el && el.type ? el.type : E) + idprefix + (idgen++).toString(36);\n },\n xlink = \"http://www.w3.org/1999/xlink\",\n xmlns = \"http://www.w3.org/2000/svg\",\n hub = {},\n /*\\\n * Snap.url\n [ method ]\n **\n * Wraps path into `\"url('<path>')\"`.\n - value (string) path\n = (string) wrapped path\n \\*/\n URL = Snap.url = function (url) {\n return \"url('#\" + url + \"')\";\n };\n\nfunction $(el, attr) {\n if (attr) {\n if (el == \"#text\") {\n el = glob.doc.createTextNode(attr.text || attr[\"#text\"] || \"\");\n }\n if (el == \"#comment\") {\n el = glob.doc.createComment(attr.text || attr[\"#text\"] || \"\");\n }\n if (typeof el == \"string\") {\n el = $(el);\n }\n if (typeof attr == \"string\") {\n if (el.nodeType == 1) {\n if (attr.substring(0, 6) == \"xlink:\") {\n return el.getAttributeNS(xlink, attr.substring(6));\n }\n if (attr.substring(0, 4) == \"xml:\") {\n return el.getAttributeNS(xmlns, attr.substring(4));\n }\n return el.getAttribute(attr);\n } else if (attr == \"text\") {\n return el.nodeValue;\n } else {\n return null;\n }\n }\n if (el.nodeType == 1) {\n for (var key in attr) if (attr[has](key)) {\n var val = Str(attr[key]);\n if (val) {\n if (key.substring(0, 6) == \"xlink:\") {\n el.setAttributeNS(xlink, key.substring(6), val);\n } else if (key.substring(0, 4) == \"xml:\") {\n el.setAttributeNS(xmlns, key.substring(4), val);\n } else {\n el.setAttribute(key, val);\n }\n } else {\n el.removeAttribute(key);\n }\n }\n } else if (\"text\" in attr) {\n el.nodeValue = attr.text;\n }\n } else {\n el = glob.doc.createElementNS(xmlns, el);\n }\n return el;\n}\nSnap._.$ = $;\nSnap._.id = ID;\nfunction getAttrs(el) {\n var attrs = el.attributes,\n name,\n out = {};\n for (var i = 0; i < attrs.length; i++) {\n if (attrs[i].namespaceURI == xlink) {\n name = \"xlink:\";\n } else {\n name = \"\";\n }\n name += attrs[i].name;\n out[name] = attrs[i].textContent;\n }\n return out;\n}\nfunction is(o, type) {\n type = Str.prototype.toLowerCase.call(type);\n if (type == \"finite\") {\n return isFinite(o);\n }\n if (type == \"array\" &&\n (o instanceof Array || Array.isArray && Array.isArray(o))) {\n return true;\n }\n return type == \"null\" && o === null ||\n type == typeof o && o !== null ||\n type == \"object\" && o === Object(o) ||\n objectToString.call(o).slice(8, -1).toLowerCase() == type;\n}\n/*\\\n * Snap.format\n [ method ]\n **\n * Replaces construction of type `{<name>}` to the corresponding argument\n **\n - token (string) string to format\n - json (object) object which properties are used as a replacement\n = (string) formatted string\n > Usage\n | // this draws a rectangular shape equivalent to \"M10,20h40v50h-40z\"\n | paper.path(Snap.format(\"M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z\", {\n | x: 10,\n | y: 20,\n | dim: {\n | width: 40,\n | height: 50,\n | \"negative width\": -40\n | }\n | }));\n\\*/\nSnap.format = (function () {\n var tokenRegex = /\\{([^\\}]+)\\}/g,\n objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g, // matches .xxxxx or [\"xxxxx\"] to run over object properties\n replacer = function (all, key, obj) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name in res) {\n res = res[name];\n }\n typeof res == \"function\" && isFunc && (res = res());\n }\n });\n res = (res == null || res == obj ? all : res) + \"\";\n return res;\n };\n return function (str, obj) {\n return Str(str).replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n };\n})();\nfunction clone(obj) {\n if (typeof obj == \"function\" || Object(obj) !== obj) {\n return obj;\n }\n var res = new obj.constructor;\n for (var key in obj) if (obj[has](key)) {\n res[key] = clone(obj[key]);\n }\n return res;\n}\nSnap._.clone = clone;\nfunction repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n}\nfunction cacher(f, scope, postprocessor) {\n function newf() {\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join(\"\\u2400\"),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n if (cache[has](args)) {\n repush(count, args);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f.apply(scope, arg);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n return newf;\n}\nSnap._.cacher = cacher;\nfunction angle(x1, y1, x2, y2, x3, y3) {\n if (x3 == null) {\n var x = x1 - x2,\n y = y1 - y2;\n if (!x && !y) {\n return 0;\n }\n return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;\n } else {\n return angle(x1, y1, x3, y3) - angle(x2, y2, x3, y3);\n }\n}\nfunction rad(deg) {\n return deg % 360 * PI / 180;\n}\nfunction deg(rad) {\n return rad * 180 / PI % 360;\n}\nfunction x_y() {\n return this.x + S + this.y;\n}\nfunction x_y_w_h() {\n return this.x + S + this.y + S + this.width + \" \\xd7 \" + this.height;\n}\n\n/*\\\n * Snap.rad\n [ method ]\n **\n * Transform angle to radians\n - deg (number) angle in degrees\n = (number) angle in radians\n\\*/\nSnap.rad = rad;\n/*\\\n * Snap.deg\n [ method ]\n **\n * Transform angle to degrees\n - rad (number) angle in radians\n = (number) angle in degrees\n\\*/\nSnap.deg = deg;\n/*\\\n * Snap.sin\n [ method ]\n **\n * Equivalent to `Math.sin()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) sin\n\\*/\nSnap.sin = function (angle) {\n return math.sin(Snap.rad(angle));\n};\n/*\\\n * Snap.tan\n [ method ]\n **\n * Equivalent to `Math.tan()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) tan\n\\*/\nSnap.tan = function (angle) {\n return math.tan(Snap.rad(angle));\n};\n/*\\\n * Snap.cos\n [ method ]\n **\n * Equivalent to `Math.cos()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) cos\n\\*/\nSnap.cos = function (angle) {\n return math.cos(Snap.rad(angle));\n};\n/*\\\n * Snap.asin\n [ method ]\n **\n * Equivalent to `Math.asin()` only works with degrees, not radians.\n - num (number) value\n = (number) asin in degrees\n\\*/\nSnap.asin = function (num) {\n return Snap.deg(math.asin(num));\n};\n/*\\\n * Snap.acos\n [ method ]\n **\n * Equivalent to `Math.acos()` only works with degrees, not radians.\n - num (number) value\n = (number) acos in degrees\n\\*/\nSnap.acos = function (num) {\n return Snap.deg(math.acos(num));\n};\n/*\\\n * Snap.atan\n [ method ]\n **\n * Equivalent to `Math.atan()` only works with degrees, not radians.\n - num (number) value\n = (number) atan in degrees\n\\*/\nSnap.atan = function (num) {\n return Snap.deg(math.atan(num));\n};\n/*\\\n * Snap.atan2\n [ method ]\n **\n * Equivalent to `Math.atan2()` only works with degrees, not radians.\n - num (number) value\n = (number) atan2 in degrees\n\\*/\nSnap.atan2 = function (num) {\n return Snap.deg(math.atan2(num));\n};\n/*\\\n * Snap.angle\n [ method ]\n **\n * Returns an angle between two or three points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n - x3 (number) #optional x coord of third point\n - y3 (number) #optional y coord of third point\n = (number) angle in degrees\n\\*/\nSnap.angle = angle;\n/*\\\n * Snap.len\n [ method ]\n **\n * Returns distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n\\*/\nSnap.len = function (x1, y1, x2, y2) {\n return Math.sqrt(Snap.len2(x1, y1, x2, y2));\n};\n/*\\\n * Snap.len2\n [ method ]\n **\n * Returns squared distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n\\*/\nSnap.len2 = function (x1, y1, x2, y2) {\n return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n};\n/*\\\n * Snap.closestPoint\n [ method ]\n **\n * Returns closest point to a given one on a given path.\n - path (Element) path element\n - x (number) x coord of a point\n - y (number) y coord of a point\n = (object) in format\n {\n x (number) x coord of the point on the path\n y (number) y coord of the point on the path\n length (number) length of the path to the point\n distance (number) distance from the given point to the path\n }\n\\*/\n// Copied from http://bl.ocks.org/mbostock/8027637\nSnap.closestPoint = function (path, x, y) {\n function distance2(p) {\n var dx = p.x - x,\n dy = p.y - y;\n return dx * dx + dy * dy;\n }\n var pathNode = path.node,\n pathLength = pathNode.getTotalLength(),\n precision = pathLength / pathNode.pathSegList.numberOfItems * .125,\n best,\n bestLength,\n bestDistance = Infinity;\n\n // linear scan for coarse approximation\n for (var scan, scanLength = 0, scanDistance; scanLength <= pathLength; scanLength += precision) {\n if ((scanDistance = distance2(scan = pathNode.getPointAtLength(scanLength))) < bestDistance) {\n best = scan;\n bestLength = scanLength;\n bestDistance = scanDistance;\n }\n }\n\n // binary search for precise estimate\n precision *= .5;\n while (precision > .5) {\n var before,\n after,\n beforeLength,\n afterLength,\n beforeDistance,\n afterDistance;\n if ((beforeLength = bestLength - precision) >= 0 && (beforeDistance = distance2(before = pathNode.getPointAtLength(beforeLength))) < bestDistance) {\n best = before;\n bestLength = beforeLength;\n bestDistance = beforeDistance;\n } else if ((afterLength = bestLength + precision) <= pathLength && (afterDistance = distance2(after = pathNode.getPointAtLength(afterLength))) < bestDistance) {\n best = after;\n bestLength = afterLength;\n bestDistance = afterDistance;\n } else {\n precision *= .5;\n }\n }\n\n best = {\n x: best.x,\n y: best.y,\n length: bestLength,\n distance: Math.sqrt(bestDistance)\n };\n return best;\n}\n/*\\\n * Snap.is\n [ method ]\n **\n * Handy replacement for the `typeof` operator\n - o (…) any object or primitive\n - type (string) name of the type, e.g., `string`, `function`, `number`, etc.\n = (boolean) `true` if given value is of given type\n\\*/\nSnap.is = is;\n/*\\\n * Snap.snapTo\n [ method ]\n **\n * Snaps given value to given grid\n - values (array|number) given array of values or step of the grid\n - value (number) value to adjust\n - tolerance (number) #optional maximum distance to the target value that would trigger the snap. Default is `10`.\n = (number) adjusted value\n\\*/\nSnap.snapTo = function (values, value, tolerance) {\n tolerance = is(tolerance, \"finite\") ? tolerance : 10;\n if (is(values, \"array\")) {\n var i = values.length;\n while (i--) if (abs(values[i] - value) <= tolerance) {\n return values[i];\n }\n } else {\n values = +values;\n var rem = value % values;\n if (rem < tolerance) {\n return value - rem;\n }\n if (rem > values - tolerance) {\n return value - rem + values;\n }\n }\n return value;\n};\n// Colour\n/*\\\n * Snap.getRGB\n [ method ]\n **\n * Parses color string as RGB object\n - color (string) color string in one of the following formats:\n # <ul>\n # <li>Color name (<code>red</code>, <code>green</code>, <code>cornflowerblue</code>, etc)</li>\n # <li>#••• — shortened HTML color: (<code>#000</code>, <code>#fc0</code>, etc.)</li>\n # <li>#•••••• — full length HTML color: (<code>#000000</code>, <code>#bd2300</code>)</li>\n # <li>rgb(•••, •••, •••) — red, green and blue channels values: (<code>rgb(200, 100, 0)</code>)</li>\n # <li>rgba(•••, •••, •••, •••) — also with opacity</li>\n # <li>rgb(•••%, •••%, •••%) — same as above, but in %: (<code>rgb(100%, 175%, 0%)</code>)</li>\n # <li>rgba(•••%, •••%, •••%, •••%) — also with opacity</li>\n # <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (<code>hsb(0.5, 0.25, 1)</code>)</li>\n # <li>hsba(•••, •••, •••, •••) — also with opacity</li>\n # <li>hsb(•••%, •••%, •••%) — same as above, but in %</li>\n # <li>hsba(•••%, •••%, •••%, •••%) — also with opacity</li>\n # <li>hsl(•••, •••, •••) — hue, saturation and luminosity values: (<code>hsb(0.5, 0.25, 0.5)</code>)</li>\n # <li>hsla(•••, •••, •••, •••) — also with opacity</li>\n # <li>hsl(•••%, •••%, •••%) — same as above, but in %</li>\n # <li>hsla(•••%, •••%, •••%, •••%) — also with opacity</li>\n # </ul>\n * Note that `%` can be used any time: `rgb(20%, 255, 50%)`.\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) true if string can't be parsed\n o }\n\\*/\nSnap.getRGB = cacher(function (colour) {\n if (!colour || !!((colour = Str(colour)).indexOf(\"-\") + 1)) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n }\n if (colour == \"none\") {\n return {r: -1, g: -1, b: -1, hex: \"none\", toString: rgbtoString};\n }\n !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == \"#\") && (colour = toHex(colour));\n if (!colour) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n }\n var res,\n red,\n green,\n blue,\n opacity,\n t,\n values,\n rgb = colour.match(colourRegExp);\n if (rgb) {\n if (rgb[2]) {\n blue = toInt(rgb[2].substring(5), 16);\n green = toInt(rgb[2].substring(3, 5), 16);\n red = toInt(rgb[2].substring(1, 3), 16);\n }\n if (rgb[3]) {\n blue = toInt((t = rgb[3].charAt(3)) + t, 16);\n green = toInt((t = rgb[3].charAt(2)) + t, 16);\n red = toInt((t = rgb[3].charAt(1)) + t, 16);\n }\n if (rgb[4]) {\n values = rgb[4].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n rgb[1].toLowerCase().slice(0, 4) == \"rgba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n }\n if (rgb[5]) {\n values = rgb[5].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsb2rgb(red, green, blue, opacity);\n }\n if (rgb[6]) {\n values = rgb[6].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsla\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsl2rgb(red, green, blue, opacity);\n }\n red = mmin(math.round(red), 255);\n green = mmin(math.round(green), 255);\n blue = mmin(math.round(blue), 255);\n opacity = mmin(mmax(opacity, 0), 1);\n rgb = {r: red, g: green, b: blue, toString: rgbtoString};\n rgb.hex = \"#\" + (16777216 | blue | green << 8 | red << 16).toString(16).slice(1);\n rgb.opacity = is(opacity, \"finite\") ? opacity : 1;\n return rgb;\n }\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n}, Snap);\n/*\\\n * Snap.hsb\n [ method ]\n **\n * Converts HSB values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - b (number) value or brightness\n = (string) hex representation of the color\n\\*/\nSnap.hsb = cacher(function (h, s, b) {\n return Snap.hsb2rgb(h, s, b).hex;\n});\n/*\\\n * Snap.hsl\n [ method ]\n **\n * Converts HSL values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (string) hex representation of the color\n\\*/\nSnap.hsl = cacher(function (h, s, l) {\n return Snap.hsl2rgb(h, s, l).hex;\n});\n/*\\\n * Snap.rgb\n [ method ]\n **\n * Converts RGB values to a hex representation of the color\n - r (number) red\n - g (number) green\n - b (number) blue\n = (string) hex representation of the color\n\\*/\nSnap.rgb = cacher(function (r, g, b, o) {\n if (is(o, \"finite\")) {\n var round = math.round;\n return \"rgba(\" + [round(r), round(g), round(b), +o.toFixed(2)] + \")\";\n }\n return \"#\" + (16777216 | b | g << 8 | r << 16).toString(16).slice(1);\n});\nvar toHex = function (color) {\n var i = glob.doc.getElementsByTagName(\"head\")[0] || glob.doc.getElementsByTagName(\"svg\")[0],\n red = \"rgb(255, 0, 0)\";\n toHex = cacher(function (color) {\n if (color.toLowerCase() == \"red\") {\n return red;\n }\n i.style.color = red;\n i.style.color = color;\n var out = glob.doc.defaultView.getComputedStyle(i, E).getPropertyValue(\"color\");\n return out == red ? null : out;\n });\n return toHex(color);\n},\nhsbtoString = function () {\n return \"hsb(\" + [this.h, this.s, this.b] + \")\";\n},\nhsltoString = function () {\n return \"hsl(\" + [this.h, this.s, this.l] + \")\";\n},\nrgbtoString = function () {\n return this.opacity == 1 || this.opacity == null ?\n this.hex :\n \"rgba(\" + [this.r, this.g, this.b, this.opacity] + \")\";\n},\nprepareRGB = function (r, g, b) {\n if (g == null && is(r, \"object\") && \"r\" in r && \"g\" in r && \"b\" in r) {\n b = r.b;\n g = r.g;\n r = r.r;\n }\n if (g == null && is(r, string)) {\n var clr = Snap.getRGB(r);\n r = clr.r;\n g = clr.g;\n b = clr.b;\n }\n if (r > 1 || g > 1 || b > 1) {\n r /= 255;\n g /= 255;\n b /= 255;\n }\n\n return [r, g, b];\n},\npackageRGB = function (r, g, b, o) {\n r = math.round(r * 255);\n g = math.round(g * 255);\n b = math.round(b * 255);\n var rgb = {\n r: r,\n g: g,\n b: b,\n opacity: is(o, \"finite\") ? o : 1,\n hex: Snap.rgb(r, g, b),\n toString: rgbtoString\n };\n is(o, \"finite\") && (rgb.opacity = o);\n return rgb;\n};\n/*\\\n * Snap.color\n [ method ]\n **\n * Parses the color string and returns an object featuring the color's component values\n - clr (string) color string in one of the supported formats (see @Snap.getRGB)\n = (object) Combined RGB/HSB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) `true` if string can't be parsed,\n o h (number) hue,\n o s (number) saturation,\n o v (number) value (brightness),\n o l (number) lightness\n o }\n\\*/\nSnap.color = function (clr) {\n var rgb;\n if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"b\" in clr) {\n rgb = Snap.hsb2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"l\" in clr) {\n rgb = Snap.hsl2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else {\n if (is(clr, \"string\")) {\n clr = Snap.getRGB(clr);\n }\n if (is(clr, \"object\") && \"r\" in clr && \"g\" in clr && \"b\" in clr && !(\"error\" in clr)) {\n rgb = Snap.rgb2hsl(clr);\n clr.h = rgb.h;\n clr.s = rgb.s;\n clr.l = rgb.l;\n rgb = Snap.rgb2hsb(clr);\n clr.v = rgb.b;\n } else {\n clr = {hex: \"none\"};\n clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;\n clr.error = 1;\n }\n }\n clr.toString = rgbtoString;\n return clr;\n};\n/*\\\n * Snap.hsb2rgb\n [ method ]\n **\n * Converts HSB values to an RGB object\n - h (number) hue\n - s (number) saturation\n - v (number) value or brightness\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n\\*/\nSnap.hsb2rgb = function (h, s, v, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"b\" in h) {\n v = h.b;\n s = h.s;\n o = h.o;\n h = h.h;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = v * s;\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = v - C;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n};\n/*\\\n * Snap.hsl2rgb\n [ method ]\n **\n * Converts HSL values to an RGB object\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n\\*/\nSnap.hsl2rgb = function (h, s, l, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"l\" in h) {\n l = h.l;\n s = h.s;\n h = h.h;\n }\n if (h > 1 || s > 1 || l > 1) {\n h /= 360;\n s /= 100;\n l /= 100;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = 2 * s * (l < .5 ? l : 1 - l);\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = l - C / 2;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n};\n/*\\\n * Snap.rgb2hsb\n [ method ]\n **\n * Converts RGB values to an HSB object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSB object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o b (number) brightness\n o }\n\\*/\nSnap.rgb2hsb = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, V, C;\n V = mmax(r, g, b);\n C = V - mmin(r, g, b);\n H = C == 0 ? null :\n V == r ? (g - b) / C :\n V == g ? (b - r) / C + 2 :\n (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n S = C == 0 ? 0 : C / V;\n return {h: H, s: S, b: V, toString: hsbtoString};\n};\n/*\\\n * Snap.rgb2hsl\n [ method ]\n **\n * Converts RGB values to an HSL object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSL object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o l (number) luminosity\n o }\n\\*/\nSnap.rgb2hsl = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, L, M, m, C;\n M = mmax(r, g, b);\n m = mmin(r, g, b);\n C = M - m;\n H = C == 0 ? null :\n M == r ? (g - b) / C :\n M == g ? (b - r) / C + 2 :\n (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n L = (M + m) / 2;\n S = C == 0 ? 0 :\n L < .5 ? C / (2 * L) :\n C / (2 - 2 * L);\n return {h: H, s: S, l: L, toString: hsltoString};\n};\n\n// Transformations\n/*\\\n * Snap.parsePathString\n [ method ]\n **\n * Utility method\n **\n * Parses given path string into an array of arrays of path segments\n - pathString (string|array) path string or array of segments (in the last case it is returned straight away)\n = (array) array of segments\n\\*/\nSnap.parsePathString = function (pathString) {\n if (!pathString) {\n return null;\n }\n var pth = Snap.path(pathString);\n if (pth.arr) {\n return Snap.path.clone(pth.arr);\n }\n\n var paramCounts = {a: 7, c: 6, o: 2, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, u: 3, z: 0},\n data = [];\n if (is(pathString, \"array\") && is(pathString[0], \"array\")) { // rough assumption\n data = Snap.path.clone(pathString);\n }\n if (!data.length) {\n Str(pathString).replace(pathCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n if (name == \"m\" && params.length > 2) {\n data.push([b].concat(params.splice(0, 2)));\n name = \"l\";\n b = b == \"m\" ? \"l\" : \"L\";\n }\n if (name == \"o\" && params.length == 1) {\n data.push([b, params[0]]);\n }\n if (name == \"r\") {\n data.push([b].concat(params));\n } else while (params.length >= paramCounts[name]) {\n data.push([b].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n data.toString = Snap.path.toString;\n pth.arr = Snap.path.clone(data);\n return data;\n};\n/*\\\n * Snap.parseTransformString\n [ method ]\n **\n * Utility method\n **\n * Parses given transform string into an array of transformations\n - TString (string|array) transform string or array of transformations (in the last case it is returned straight away)\n = (array) array of transformations\n\\*/\nvar parseTransformString = Snap.parseTransformString = function (TString) {\n if (!TString) {\n return null;\n }\n var paramCounts = {r: 3, s: 4, t: 2, m: 6},\n data = [];\n if (is(TString, \"array\") && is(TString[0], \"array\")) { // rough assumption\n data = Snap.path.clone(TString);\n }\n if (!data.length) {\n Str(TString).replace(tCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n data.push([b].concat(params));\n });\n }\n data.toString = Snap.path.toString;\n return data;\n};\nfunction svgTransform2string(tstr) {\n var res = [];\n tstr = tstr.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g, function (all, name, params) {\n params = params.split(/\\s*,\\s*|\\s+/);\n if (name == \"rotate\" && params.length == 1) {\n params.push(0, 0);\n }\n if (name == \"scale\") {\n if (params.length > 2) {\n params = params.slice(0, 2);\n } else if (params.length == 2) {\n params.push(0, 0);\n }\n if (params.length == 1) {\n params.push(params[0], 0, 0);\n }\n }\n if (name == \"skewX\") {\n res.push([\"m\", 1, 0, math.tan(rad(params[0])), 1, 0, 0]);\n } else if (name == \"skewY\") {\n res.push([\"m\", 1, math.tan(rad(params[0])), 0, 1, 0, 0]);\n } else {\n res.push([name.charAt(0)].concat(params));\n }\n return all;\n });\n return res;\n}\nSnap._.svgTransform2string = svgTransform2string;\nSnap._.rgTransform = /^[a-z][\\s]*-?\\.?\\d/i;\nfunction transform2matrix(tstr, bbox) {\n var tdata = parseTransformString(tstr),\n m = new Snap.Matrix;\n if (tdata) {\n for (var i = 0, ii = tdata.length; i < ii; i++) {\n var t = tdata[i],\n tlen = t.length,\n command = Str(t[0]).toLowerCase(),\n absolute = t[0] != command,\n inver = absolute ? m.invert() : 0,\n x1,\n y1,\n x2,\n y2,\n bb;\n if (command == \"t\" && tlen == 2){\n m.translate(t[1], 0);\n } else if (command == \"t\" && tlen == 3) {\n if (absolute) {\n x1 = inver.x(0, 0);\n y1 = inver.y(0, 0);\n x2 = inver.x(t[1], t[2]);\n y2 = inver.y(t[1], t[2]);\n m.translate(x2 - x1, y2 - y1);\n } else {\n m.translate(t[1], t[2]);\n }\n } else if (command == \"r\") {\n if (tlen == 2) {\n bb = bb || bbox;\n m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.rotate(t[1], x2, y2);\n } else {\n m.rotate(t[1], t[2], t[3]);\n }\n }\n } else if (command == \"s\") {\n if (tlen == 2 || tlen == 3) {\n bb = bb || bbox;\n m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.scale(t[1], t[1], x2, y2);\n } else {\n m.scale(t[1], t[1], t[2], t[3]);\n }\n } else if (tlen == 5) {\n if (absolute) {\n x2 = inver.x(t[3], t[4]);\n y2 = inver.y(t[3], t[4]);\n m.scale(t[1], t[2], x2, y2);\n } else {\n m.scale(t[1], t[2], t[3], t[4]);\n }\n }\n } else if (command == \"m\" && tlen == 7) {\n m.add(t[1], t[2], t[3], t[4], t[5], t[6]);\n }\n }\n }\n return m;\n}\nSnap._.transform2matrix = transform2matrix;\nSnap._unit2px = unit2px;\nvar contains = glob.doc.contains || glob.doc.compareDocumentPosition ?\n function (a, b) {\n var adown = a.nodeType == 9 ? a.documentElement : a,\n bup = b && b.parentNode;\n return a == bup || !!(bup && bup.nodeType == 1 && (\n adown.contains ?\n adown.contains(bup) :\n a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16\n ));\n } :\n function (a, b) {\n if (b) {\n while (b) {\n b = b.parentNode;\n if (b == a) {\n return true;\n }\n }\n }\n return false;\n };\nfunction getSomeDefs(el) {\n var p = el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) ||\n el.node.parentNode && wrap(el.node.parentNode) ||\n Snap.select(\"svg\") ||\n Snap(0, 0),\n pdefs = p.select(\"defs\"),\n defs = pdefs == null ? false : pdefs.node;\n if (!defs) {\n defs = make(\"defs\", p.node).node;\n }\n return defs;\n}\nfunction getSomeSVG(el) {\n return el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) || Snap.select(\"svg\");\n}\nSnap._.getSomeDefs = getSomeDefs;\nSnap._.getSomeSVG = getSomeSVG;\nfunction unit2px(el, name, value) {\n var svg = getSomeSVG(el).node,\n out = {},\n mgr = svg.querySelector(\".svg---mgr\");\n if (!mgr) {\n mgr = $(\"rect\");\n $(mgr, {x: -9e9, y: -9e9, width: 10, height: 10, \"class\": \"svg---mgr\", fill: \"none\"});\n svg.appendChild(mgr);\n }\n function getW(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {width: val});\n try {\n return mgr.getBBox().width;\n } catch (e) {\n return 0;\n }\n }\n function getH(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {height: val});\n try {\n return mgr.getBBox().height;\n } catch (e) {\n return 0;\n }\n }\n function set(nam, f) {\n if (name == null) {\n out[nam] = f(el.attr(nam) || 0);\n } else if (nam == name) {\n out = f(value == null ? el.attr(nam) || 0 : value);\n }\n }\n switch (el.type) {\n case \"rect\":\n set(\"rx\", getW);\n set(\"ry\", getH);\n case \"image\":\n set(\"width\", getW);\n set(\"height\", getH);\n case \"text\":\n set(\"x\", getW);\n set(\"y\", getH);\n break;\n case \"circle\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"r\", getW);\n break;\n case \"ellipse\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"rx\", getW);\n set(\"ry\", getH);\n break;\n case \"line\":\n set(\"x1\", getW);\n set(\"x2\", getW);\n set(\"y1\", getH);\n set(\"y2\", getH);\n break;\n case \"marker\":\n set(\"refX\", getW);\n set(\"markerWidth\", getW);\n set(\"refY\", getH);\n set(\"markerHeight\", getH);\n break;\n case \"radialGradient\":\n set(\"fx\", getW);\n set(\"fy\", getH);\n break;\n case \"tspan\":\n set(\"dx\", getW);\n set(\"dy\", getH);\n break;\n default:\n set(name, getW);\n }\n svg.removeChild(mgr);\n return out;\n}\n/*\\\n * Snap.select\n [ method ]\n **\n * Wraps a DOM element specified by CSS selector as @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n\\*/\nSnap.select = function (query) {\n query = Str(query).replace(/([^\\\\]):/g, \"$1\\\\:\");\n return wrap(glob.doc.querySelector(query));\n};\n/*\\\n * Snap.selectAll\n [ method ]\n **\n * Wraps DOM elements specified by CSS selector as set or array of @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n\\*/\nSnap.selectAll = function (query) {\n var nodelist = glob.doc.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n};\n\nfunction add2group(list) {\n if (!is(list, \"array\")) {\n list = Array.prototype.slice.call(arguments, 0);\n }\n var i = 0,\n j = 0,\n node = this.node;\n while (this[i]) delete this[i++];\n for (i = 0; i < list.length; i++) {\n if (list[i].type == \"set\") {\n list[i].forEach(function (el) {\n node.appendChild(el.node);\n });\n } else {\n node.appendChild(list[i].node);\n }\n }\n var children = node.childNodes;\n for (i = 0; i < children.length; i++) {\n this[j++] = wrap(children[i]);\n }\n return this;\n}\n// Hub garbage collector every 10s\nsetInterval(function () {\n for (var key in hub) if (hub[has](key)) {\n var el = hub[key],\n node = el.node;\n if (el.type != \"svg\" && !node.ownerSVGElement || el.type == \"svg\" && (!node.parentNode || \"ownerSVGElement\" in node.parentNode && !node.ownerSVGElement)) {\n delete hub[key];\n }\n }\n}, 1e4);\nfunction Element(el) {\n if (el.snap in hub) {\n return hub[el.snap];\n }\n var svg;\n try {\n svg = el.ownerSVGElement;\n } catch(e) {}\n /*\\\n * Element.node\n [ property (object) ]\n **\n * Gives you a reference to the DOM object, so you can assign event handlers or just mess around.\n > Usage\n | // draw a circle at coordinate 10,10 with radius of 10\n | var c = paper.circle(10, 10, 10);\n | c.node.onclick = function () {\n | c.attr(\"fill\", \"red\");\n | };\n \\*/\n this.node = el;\n if (svg) {\n this.paper = new Paper(svg);\n }\n /*\\\n * Element.type\n [ property (string) ]\n **\n * SVG tag name of the given element.\n \\*/\n this.type = el.tagName || el.nodeName;\n var id = this.id = ID(this);\n this.anims = {};\n this._ = {\n transform: []\n };\n el.snap = id;\n hub[id] = this;\n if (this.type == \"g\") {\n this.add = add2group;\n }\n if (this.type in {g: 1, mask: 1, pattern: 1, symbol: 1}) {\n for (var method in Paper.prototype) if (Paper.prototype[has](method)) {\n this[method] = Paper.prototype[method];\n }\n }\n}\n /*\\\n * Element.attr\n [ method ]\n **\n * Gets or sets given attributes of the element.\n **\n - params (object) contains key-value pairs of attributes you want to set\n * or\n - param (string) name of the attribute\n = (Element) the current element\n * or\n = (string) value of attribute\n > Usage\n | el.attr({\n | fill: \"#fc0\",\n | stroke: \"#000\",\n | strokeWidth: 2, // CamelCase...\n | \"fill-opacity\": 0.5, // or dash-separated names\n | width: \"*=2\" // prefixed values\n | });\n | console.log(el.attr(\"fill\")); // #fc0\n * Prefixed values in format `\"+=10\"` supported. All four operations\n * (`+`, `-`, `*` and `/`) could be used. Optionally you can use units for `+`\n * and `-`: `\"+=2em\"`.\n \\*/\n Element.prototype.attr = function (params, value) {\n var el = this,\n node = el.node;\n if (!params) {\n if (node.nodeType != 1) {\n return {\n text: node.nodeValue\n };\n }\n var attr = node.attributes,\n out = {};\n for (var i = 0, ii = attr.length; i < ii; i++) {\n out[attr[i].nodeName] = attr[i].nodeValue;\n }\n return out;\n }\n if (is(params, \"string\")) {\n if (arguments.length > 1) {\n var json = {};\n json[params] = value;\n params = json;\n } else {\n return eve(\"snap.util.getattr.\" + params, el).firstDefined();\n }\n }\n for (var att in params) {\n if (params[has](att)) {\n eve(\"snap.util.attr.\" + att, el, params[att]);\n }\n }\n return el;\n };\n/*\\\n * Snap.parse\n [ method ]\n **\n * Parses SVG fragment and converts it into a @Fragment\n **\n - svg (string) SVG string\n = (Fragment) the @Fragment\n\\*/\nSnap.parse = function (svg) {\n var f = glob.doc.createDocumentFragment(),\n full = true,\n div = glob.doc.createElement(\"div\");\n svg = Str(svg);\n if (!svg.match(/^\\s*<\\s*svg(?:\\s|>)/)) {\n svg = \"<svg>\" + svg + \"</svg>\";\n full = false;\n }\n div.innerHTML = svg;\n svg = div.getElementsByTagName(\"svg\")[0];\n if (svg) {\n if (full) {\n f = svg;\n } else {\n while (svg.firstChild) {\n f.appendChild(svg.firstChild);\n }\n }\n }\n return new Fragment(f);\n};\nfunction Fragment(frag) {\n this.node = frag;\n}\n/*\\\n * Snap.fragment\n [ method ]\n **\n * Creates a DOM fragment from a given list of elements or strings\n **\n - varargs (…) SVG string\n = (Fragment) the @Fragment\n\\*/\nSnap.fragment = function () {\n var args = Array.prototype.slice.call(arguments, 0),\n f = glob.doc.createDocumentFragment();\n for (var i = 0, ii = args.length; i < ii; i++) {\n var item = args[i];\n if (item.node && item.node.nodeType) {\n f.appendChild(item.node);\n }\n if (item.nodeType) {\n f.appendChild(item);\n }\n if (typeof item == \"string\") {\n f.appendChild(Snap.parse(item).node);\n }\n }\n return new Fragment(f);\n};\n\nfunction make(name, parent) {\n var res = $(name);\n parent.appendChild(res);\n var el = wrap(res);\n return el;\n}\nfunction Paper(w, h) {\n var res,\n desc,\n defs,\n proto = Paper.prototype;\n if (w && w.tagName && w.tagName.toLowerCase() == \"svg\") {\n if (w.snap in hub) {\n return hub[w.snap];\n }\n var doc = w.ownerDocument;\n res = new Element(w);\n desc = w.getElementsByTagName(\"desc\")[0];\n defs = w.getElementsByTagName(\"defs\")[0];\n if (!desc) {\n desc = $(\"desc\");\n desc.appendChild(doc.createTextNode(\"Created with Snap\"));\n res.node.appendChild(desc);\n }\n if (!defs) {\n defs = $(\"defs\");\n res.node.appendChild(defs);\n }\n res.defs = defs;\n for (var key in proto) if (proto[has](key)) {\n res[key] = proto[key];\n }\n res.paper = res.root = res;\n } else {\n res = make(\"svg\", glob.doc.body);\n $(res.node, {\n height: h,\n version: 1.1,\n width: w,\n xmlns: xmlns\n });\n }\n return res;\n}\nfunction wrap(dom) {\n if (!dom) {\n return dom;\n }\n if (dom instanceof Element || dom instanceof Fragment) {\n return dom;\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"svg\") {\n return new Paper(dom);\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"object\" && dom.type == \"image/svg+xml\") {\n return new Paper(dom.contentDocument.getElementsByTagName(\"svg\")[0]);\n }\n return new Element(dom);\n}\n\nSnap._.make = make;\nSnap._.wrap = wrap;\n/*\\\n * Paper.el\n [ method ]\n **\n * Creates an element on paper with a given name and no attributes\n **\n - name (string) tag name\n - attr (object) attributes\n = (Element) the current element\n > Usage\n | var c = paper.circle(10, 10, 10); // is the same as...\n | var c = paper.el(\"circle\").attr({\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n | // and the same as\n | var c = paper.el(\"circle\", {\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n\\*/\nPaper.prototype.el = function (name, attr) {\n var el = make(name, this.node);\n attr && el.attr(attr);\n return el;\n};\n/*\\\n * Element.children\n [ method ]\n **\n * Returns array of all the children of the element.\n = (array) array of Elements\n\\*/\nElement.prototype.children = function () {\n var out = [],\n ch = this.node.childNodes;\n for (var i = 0, ii = ch.length; i < ii; i++) {\n out[i] = Snap(ch[i]);\n }\n return out;\n};\nfunction jsonFiller(root, o) {\n for (var i = 0, ii = root.length; i < ii; i++) {\n var item = {\n type: root[i].type,\n attr: root[i].attr()\n },\n children = root[i].children();\n o.push(item);\n if (children.length) {\n jsonFiller(children, item.childNodes = []);\n }\n }\n}\n/*\\\n * Element.toJSON\n [ method ]\n **\n * Returns object representation of the given element and all its children.\n = (object) in format\n o {\n o type (string) this.type,\n o attr (object) attributes map,\n o childNodes (array) optional array of children in the same format\n o }\n\\*/\nElement.prototype.toJSON = function () {\n var out = [];\n jsonFiller([this], out);\n return out[0];\n};\n// default\neve.on(\"snap.util.getattr\", function () {\n var att = eve.nt();\n att = att.substring(att.lastIndexOf(\".\") + 1);\n var css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n return this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(css);\n } else {\n return $(this.node, att);\n }\n});\nvar cssAttr = {\n \"alignment-baseline\": 0,\n \"baseline-shift\": 0,\n \"clip\": 0,\n \"clip-path\": 0,\n \"clip-rule\": 0,\n \"color\": 0,\n \"color-interpolation\": 0,\n \"color-interpolation-filters\": 0,\n \"color-profile\": 0,\n \"color-rendering\": 0,\n \"cursor\": 0,\n \"direction\": 0,\n \"display\": 0,\n \"dominant-baseline\": 0,\n \"enable-background\": 0,\n \"fill\": 0,\n \"fill-opacity\": 0,\n \"fill-rule\": 0,\n \"filter\": 0,\n \"flood-color\": 0,\n \"flood-opacity\": 0,\n \"font\": 0,\n \"font-family\": 0,\n \"font-size\": 0,\n \"font-size-adjust\": 0,\n \"font-stretch\": 0,\n \"font-style\": 0,\n \"font-variant\": 0,\n \"font-weight\": 0,\n \"glyph-orientation-horizontal\": 0,\n \"glyph-orientation-vertical\": 0,\n \"image-rendering\": 0,\n \"kerning\": 0,\n \"letter-spacing\": 0,\n \"lighting-color\": 0,\n \"marker\": 0,\n \"marker-end\": 0,\n \"marker-mid\": 0,\n \"marker-start\": 0,\n \"mask\": 0,\n \"opacity\": 0,\n \"overflow\": 0,\n \"pointer-events\": 0,\n \"shape-rendering\": 0,\n \"stop-color\": 0,\n \"stop-opacity\": 0,\n \"stroke\": 0,\n \"stroke-dasharray\": 0,\n \"stroke-dashoffset\": 0,\n \"stroke-linecap\": 0,\n \"stroke-linejoin\": 0,\n \"stroke-miterlimit\": 0,\n \"stroke-opacity\": 0,\n \"stroke-width\": 0,\n \"text-anchor\": 0,\n \"text-decoration\": 0,\n \"text-rendering\": 0,\n \"unicode-bidi\": 0,\n \"visibility\": 0,\n \"word-spacing\": 0,\n \"writing-mode\": 0\n};\n\neve.on(\"snap.util.attr\", function (value) {\n var att = eve.nt(),\n attr = {};\n att = att.substring(att.lastIndexOf(\".\") + 1);\n attr[att] = value;\n var style = att.replace(/-(\\w)/gi, function (all, letter) {\n return letter.toUpperCase();\n }),\n css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n this.node.style[style] = value == null ? E : value;\n } else {\n $(this.node, attr);\n }\n});\n(function (proto) {}(Paper.prototype));\n\n// simple ajax\n/*\\\n * Snap.ajax\n [ method ]\n **\n * Simple implementation of Ajax\n **\n - url (string) URL\n - postData (object|string) data for post request\n - callback (function) callback\n - scope (object) #optional scope of callback\n * or\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n = (XMLHttpRequest) the XMLHttpRequest object, just in case\n\\*/\nSnap.ajax = function (url, postData, callback, scope){\n var req = new XMLHttpRequest,\n id = ID();\n if (req) {\n if (is(postData, \"function\")) {\n scope = callback;\n callback = postData;\n postData = null;\n } else if (is(postData, \"object\")) {\n var pd = [];\n for (var key in postData) if (postData.hasOwnProperty(key)) {\n pd.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(postData[key]));\n }\n postData = pd.join(\"&\");\n }\n req.open(postData ? \"POST\" : \"GET\", url, true);\n if (postData) {\n req.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n req.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n }\n if (callback) {\n eve.once(\"snap.ajax.\" + id + \".0\", callback);\n eve.once(\"snap.ajax.\" + id + \".200\", callback);\n eve.once(\"snap.ajax.\" + id + \".304\", callback);\n }\n req.onreadystatechange = function() {\n if (req.readyState != 4) return;\n eve(\"snap.ajax.\" + id + \".\" + req.status, scope, req);\n };\n if (req.readyState == 4) {\n return req;\n }\n req.send(postData);\n return req;\n }\n};\n/*\\\n * Snap.load\n [ method ]\n **\n * Loads external SVG file as a @Fragment (see @Snap.ajax for more advanced AJAX)\n **\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n\\*/\nSnap.load = function (url, callback, scope) {\n Snap.ajax(url, function (req) {\n var f = Snap.parse(req.responseText);\n scope ? callback.call(scope, f) : callback(f);\n });\n};\nvar getOffset = function (elem) {\n var box = elem.getBoundingClientRect(),\n doc = elem.ownerDocument,\n body = doc.body,\n docElem = doc.documentElement,\n clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,\n top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop ) - clientTop,\n left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft;\n return {\n y: top,\n x: left\n };\n};\n/*\\\n * Snap.getElementByPoint\n [ method ]\n **\n * Returns you topmost element under given point.\n **\n = (object) Snap element object\n - x (number) x coordinate from the top left corner of the window\n - y (number) y coordinate from the top left corner of the window\n > Usage\n | Snap.getElementByPoint(mouseX, mouseY).attr({stroke: \"#f00\"});\n\\*/\nSnap.getElementByPoint = function (x, y) {\n var paper = this,\n svg = paper.canvas,\n target = glob.doc.elementFromPoint(x, y);\n if (glob.win.opera && target.tagName == \"svg\") {\n var so = getOffset(target),\n sr = target.createSVGRect();\n sr.x = x - so.x;\n sr.y = y - so.y;\n sr.width = sr.height = 1;\n var hits = target.getIntersectionList(sr, null);\n if (hits.length) {\n target = hits[hits.length - 1];\n }\n }\n if (!target) {\n return null;\n }\n return wrap(target);\n};\n/*\\\n * Snap.plugin\n [ method ]\n **\n * Let you write plugins. You pass in a function with five arguments, like this:\n | Snap.plugin(function (Snap, Element, Paper, global, Fragment) {\n | Snap.newmethod = function () {};\n | Element.prototype.newmethod = function () {};\n | Paper.prototype.newmethod = function () {};\n | });\n * Inside the function you have access to all main objects (and their\n * prototypes). This allow you to extend anything you want.\n **\n - f (function) your plugin body\n\\*/\nSnap.plugin = function (f) {\n f(Snap, Element, Paper, glob, Fragment);\n};\nglob.win.Snap = Snap;\nreturn Snap;\n}(window || this));\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n unit2px = Snap._unit2px,\n $ = Snap._.$,\n make = Snap._.make,\n getSomeDefs = Snap._.getSomeDefs,\n has = \"hasOwnProperty\",\n wrap = Snap._.wrap;\n /*\\\n * Element.getBBox\n [ method ]\n **\n * Returns the bounding box descriptor for the given element\n **\n = (object) bounding box descriptor:\n o {\n o cx: (number) x of the center,\n o cy: (number) x of the center,\n o h: (number) height,\n o height: (number) height,\n o path: (string) path command for the box,\n o r0: (number) radius of a circle that fully encloses the box,\n o r1: (number) radius of the smallest circle that can be enclosed,\n o r2: (number) radius of the largest circle that can be enclosed,\n o vb: (string) box as a viewbox command,\n o w: (number) width,\n o width: (number) width,\n o x2: (number) x of the right side,\n o x: (number) x of the left side,\n o y2: (number) y of the bottom edge,\n o y: (number) y of the top edge\n o }\n \\*/\n elproto.getBBox = function (isWithoutTransform) {\n if (this.type == \"tspan\") {\n return Snap._.box(this.node.getClientRects().item(0));\n }\n if (!Snap.Matrix || !Snap.path) {\n return this.node.getBBox();\n }\n var el = this,\n m = new Snap.Matrix;\n if (el.removed) {\n return Snap._.box();\n }\n while (el.type == \"use\") {\n if (!isWithoutTransform) {\n m = m.add(el.transform().localMatrix.translate(el.attr(\"x\") || 0, el.attr(\"y\") || 0));\n }\n if (el.original) {\n el = el.original;\n } else {\n var href = el.attr(\"xlink:href\");\n el = el.original = el.node.ownerDocument.getElementById(href.substring(href.indexOf(\"#\") + 1));\n }\n }\n var _ = el._,\n pathfinder = Snap.path.get[el.type] || Snap.path.get.deflt;\n try {\n if (isWithoutTransform) {\n _.bboxwt = pathfinder ? Snap.path.getBBox(el.realPath = pathfinder(el)) : Snap._.box(el.node.getBBox());\n return Snap._.box(_.bboxwt);\n } else {\n el.realPath = pathfinder(el);\n el.matrix = el.transform().localMatrix;\n _.bbox = Snap.path.getBBox(Snap.path.map(el.realPath, m.add(el.matrix)));\n return Snap._.box(_.bbox);\n }\n } catch (e) {\n // Firefox doesn’t give you bbox of hidden element\n return Snap._.box();\n }\n };\n var propString = function () {\n return this.string;\n };\n function extractTransform(el, tstr) {\n if (tstr == null) {\n var doReturn = true;\n if (el.type == \"linearGradient\" || el.type == \"radialGradient\") {\n tstr = el.node.getAttribute(\"gradientTransform\");\n } else if (el.type == \"pattern\") {\n tstr = el.node.getAttribute(\"patternTransform\");\n } else {\n tstr = el.node.getAttribute(\"transform\");\n }\n if (!tstr) {\n return new Snap.Matrix;\n }\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n if (!Snap._.rgTransform.test(tstr)) {\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n tstr = Str(tstr).replace(/\\.{3}|\\u2026/g, el._.transform || \"\");\n }\n if (is(tstr, \"array\")) {\n tstr = Snap.path ? Snap.path.toString.call(tstr) : Str(tstr);\n }\n el._.transform = tstr;\n }\n var m = Snap._.transform2matrix(tstr, el.getBBox(1));\n if (doReturn) {\n return m;\n } else {\n el.matrix = m;\n }\n }\n /*\\\n * Element.transform\n [ method ]\n **\n * Gets or sets transformation of the element\n **\n - tstr (string) transform string in Snap or SVG format\n = (Element) the current element\n * or\n = (object) transformation descriptor:\n o {\n o string (string) transform string,\n o globalMatrix (Matrix) matrix of all transformations applied to element or its parents,\n o localMatrix (Matrix) matrix of transformations applied only to the element,\n o diffMatrix (Matrix) matrix of difference between global and local transformations,\n o global (string) global transformation as string,\n o local (string) local transformation as string,\n o toString (function) returns `string` property\n o }\n \\*/\n elproto.transform = function (tstr) {\n var _ = this._;\n if (tstr == null) {\n var papa = this,\n global = new Snap.Matrix(this.node.getCTM()),\n local = extractTransform(this),\n ms = [local],\n m = new Snap.Matrix,\n i,\n localString = local.toTransformString(),\n string = Str(local) == Str(this.matrix) ?\n Str(_.transform) : localString;\n while (papa.type != \"svg\" && (papa = papa.parent())) {\n ms.push(extractTransform(papa));\n }\n i = ms.length;\n while (i--) {\n m.add(ms[i]);\n }\n return {\n string: string,\n globalMatrix: global,\n totalMatrix: m,\n localMatrix: local,\n diffMatrix: global.clone().add(local.invert()),\n global: global.toTransformString(),\n total: m.toTransformString(),\n local: localString,\n toString: propString\n };\n }\n if (tstr instanceof Snap.Matrix) {\n this.matrix = tstr;\n this._.transform = tstr.toTransformString();\n } else {\n extractTransform(this, tstr);\n }\n\n if (this.node) {\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\") {\n $(this.node, {gradientTransform: this.matrix});\n } else if (this.type == \"pattern\") {\n $(this.node, {patternTransform: this.matrix});\n } else {\n $(this.node, {transform: this.matrix});\n }\n }\n\n return this;\n };\n /*\\\n * Element.parent\n [ method ]\n **\n * Returns the element's parent\n **\n = (Element) the parent element\n \\*/\n elproto.parent = function () {\n return wrap(this.node.parentNode);\n };\n /*\\\n * Element.append\n [ method ]\n **\n * Appends the given element to current one\n **\n - el (Element|Set) element to append\n = (Element) the parent element\n \\*/\n /*\\\n * Element.add\n [ method ]\n **\n * See @Element.append\n \\*/\n elproto.append = elproto.add = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n it.add(el);\n });\n return this;\n }\n el = wrap(el);\n this.node.appendChild(el.node);\n el.paper = this.paper;\n }\n return this;\n };\n /*\\\n * Element.appendTo\n [ method ]\n **\n * Appends the current element to the given one\n **\n - el (Element) parent element to append to\n = (Element) the child element\n \\*/\n elproto.appendTo = function (el) {\n if (el) {\n el = wrap(el);\n el.append(this);\n }\n return this;\n };\n /*\\\n * Element.prepend\n [ method ]\n **\n * Prepends the given element to the current one\n **\n - el (Element) element to prepend\n = (Element) the parent element\n \\*/\n elproto.prepend = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this,\n first;\n el.forEach(function (el) {\n if (first) {\n first.after(el);\n } else {\n it.prepend(el);\n }\n first = el;\n });\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.insertBefore(el.node, this.node.firstChild);\n this.add && this.add();\n el.paper = this.paper;\n this.parent() && this.parent().add();\n parent && parent.add();\n }\n return this;\n };\n /*\\\n * Element.prependTo\n [ method ]\n **\n * Prepends the current element to the given one\n **\n - el (Element) parent element to prepend to\n = (Element) the child element\n \\*/\n elproto.prependTo = function (el) {\n el = wrap(el);\n el.prepend(this);\n return this;\n };\n /*\\\n * Element.before\n [ method ]\n **\n * Inserts given element before the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.before = function (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n var parent = el.parent();\n it.node.parentNode.insertBefore(el.node, it.node);\n parent && parent.add();\n });\n this.parent().add();\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.parentNode.insertBefore(el.node, this.node);\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.after\n [ method ]\n **\n * Inserts given element after the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.after = function (el) {\n el = wrap(el);\n var parent = el.parent();\n if (this.node.nextSibling) {\n this.node.parentNode.insertBefore(el.node, this.node.nextSibling);\n } else {\n this.node.parentNode.appendChild(el.node);\n }\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.insertBefore\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertBefore = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.insertAfter\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertAfter = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node.nextSibling);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.remove\n [ method ]\n **\n * Removes element from the DOM\n = (Element) the detached element\n \\*/\n elproto.remove = function () {\n var parent = this.parent();\n this.node.parentNode && this.node.parentNode.removeChild(this.node);\n delete this.paper;\n this.removed = true;\n parent && parent.add();\n return this;\n };\n /*\\\n * Element.select\n [ method ]\n **\n * Gathers the nested @Element matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Element) result of query selection\n \\*/\n elproto.select = function (query) {\n return wrap(this.node.querySelector(query));\n };\n /*\\\n * Element.selectAll\n [ method ]\n **\n * Gathers nested @Element objects matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Set|array) result of query selection\n \\*/\n elproto.selectAll = function (query) {\n var nodelist = this.node.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n };\n /*\\\n * Element.asPX\n [ method ]\n **\n * Returns given attribute of the element as a `px` value (not %, em, etc.)\n **\n - attr (string) attribute name\n - value (string) #optional attribute value\n = (Element) result of query selection\n \\*/\n elproto.asPX = function (attr, value) {\n if (value == null) {\n value = this.attr(attr);\n }\n return +unit2px(this, attr, value);\n };\n // SIERRA Element.use(): I suggest adding a note about how to access the original element the returned <use> instantiates. It's a part of SVG with which ordinary web developers may be least familiar.\n /*\\\n * Element.use\n [ method ]\n **\n * Creates a `<use>` element linked to the current element\n **\n = (Element) the `<use>` element\n \\*/\n elproto.use = function () {\n var use,\n id = this.node.id;\n if (!id) {\n id = this.id;\n $(this.node, {\n id: id\n });\n }\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\" ||\n this.type == \"pattern\") {\n use = make(this.type, this.node.parentNode);\n } else {\n use = make(\"use\", this.node.parentNode);\n }\n $(use.node, {\n \"xlink:href\": \"#\" + id\n });\n use.original = this;\n return use;\n };\n function fixids(el) {\n var els = el.selectAll(\"*\"),\n it,\n url = /^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,\n ids = [],\n uses = {};\n function urltest(it, name) {\n var val = $(it.node, name);\n val = val && val.match(url);\n val = val && val[2];\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n var attr = {};\n attr[name] = Snap.url(id);\n $(it.node, attr);\n });\n }\n }\n function linktest(it) {\n var val = $(it.node, \"xlink:href\");\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n it.attr(\"xlink:href\", \"#\" + id);\n });\n }\n }\n for (var i = 0, ii = els.length; i < ii; i++) {\n it = els[i];\n urltest(it, \"fill\");\n urltest(it, \"stroke\");\n urltest(it, \"filter\");\n urltest(it, \"mask\");\n urltest(it, \"clip-path\");\n linktest(it);\n var oldid = $(it.node, \"id\");\n if (oldid) {\n $(it.node, {id: it.id});\n ids.push({\n old: oldid,\n id: it.id\n });\n }\n }\n for (i = 0, ii = ids.length; i < ii; i++) {\n var fs = uses[ids[i].old];\n if (fs) {\n for (var j = 0, jj = fs.length; j < jj; j++) {\n fs[j](ids[i].id);\n }\n }\n }\n }\n /*\\\n * Element.clone\n [ method ]\n **\n * Creates a clone of the element and inserts it after the element\n **\n = (Element) the clone\n \\*/\n elproto.clone = function () {\n var clone = wrap(this.node.cloneNode(true));\n if ($(clone.node, \"id\")) {\n $(clone.node, {id: clone.id});\n }\n fixids(clone);\n clone.insertAfter(this);\n return clone;\n };\n /*\\\n * Element.toDefs\n [ method ]\n **\n * Moves element to the shared `<defs>` area\n **\n = (Element) the element\n \\*/\n elproto.toDefs = function () {\n var defs = getSomeDefs(this);\n defs.appendChild(this.node);\n return this;\n };\n /*\\\n * Element.toPattern\n [ method ]\n **\n * Creates a `<pattern>` element from the current element\n **\n * To create a pattern you have to specify the pattern rect:\n - x (string|number)\n - y (string|number)\n - width (string|number)\n - height (string|number)\n = (Element) the `<pattern>` element\n * You can use pattern later on as an argument for `fill` attribute:\n | var p = paper.path(\"M10-5-10,15M15,0,0,15M0-5-20,15\").attr({\n | fill: \"none\",\n | stroke: \"#bada55\",\n | strokeWidth: 5\n | }).pattern(0, 0, 10, 10),\n | c = paper.circle(200, 200, 100);\n | c.attr({\n | fill: p\n | });\n \\*/\n elproto.pattern = elproto.toPattern = function (x, y, width, height) {\n var p = make(\"pattern\", getSomeDefs(this));\n if (x == null) {\n x = this.getBBox();\n }\n if (is(x, \"object\") && \"x\" in x) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n $(p.node, {\n x: x,\n y: y,\n width: width,\n height: height,\n patternUnits: \"userSpaceOnUse\",\n id: p.id,\n viewBox: [x, y, width, height].join(\" \")\n });\n p.node.appendChild(this.node);\n return p;\n };\n// SIERRA Element.marker(): clarify what a reference point is. E.g., helps you offset the object from its edge such as when centering it over a path.\n// SIERRA Element.marker(): I suggest the method should accept default reference point values. Perhaps centered with (refX = width/2) and (refY = height/2)? Also, couldn't it assume the element's current _width_ and _height_? And please specify what _x_ and _y_ mean: offsets? If so, from where? Couldn't they also be assigned default values?\n /*\\\n * Element.marker\n [ method ]\n **\n * Creates a `<marker>` element from the current element\n **\n * To create a marker you have to specify the bounding rect and reference point:\n - x (number)\n - y (number)\n - width (number)\n - height (number)\n - refX (number)\n - refY (number)\n = (Element) the `<marker>` element\n * You can specify the marker later as an argument for `marker-start`, `marker-end`, `marker-mid`, and `marker` attributes. The `marker` attribute places the marker at every point along the path, and `marker-mid` places them at every point except the start and end.\n \\*/\n // TODO add usage for markers\n elproto.marker = function (x, y, width, height, refX, refY) {\n var p = make(\"marker\", getSomeDefs(this));\n if (x == null) {\n x = this.getBBox();\n }\n if (is(x, \"object\") && \"x\" in x) {\n y = x.y;\n width = x.width;\n height = x.height;\n refX = x.refX || x.cx;\n refY = x.refY || x.cy;\n x = x.x;\n }\n $(p.node, {\n viewBox: [x, y, width, height].join(\" \"),\n markerWidth: width,\n markerHeight: height,\n orient: \"auto\",\n refX: refX || 0,\n refY: refY || 0,\n id: p.id\n });\n p.node.appendChild(this.node);\n return p;\n };\n var eldata = {};\n /*\\\n * Element.data\n [ method ]\n **\n * Adds or retrieves given value associated with given key. (Don’t confuse\n * with `data-` attributes)\n *\n * See also @Element.removeData\n - key (string) key to store data\n - value (any) #optional value to store\n = (object) @Element\n * or, if value is not specified:\n = (any) value\n > Usage\n | for (var i = 0, i < 5, i++) {\n | paper.circle(10 + 15 * i, 10, 10)\n | .attr({fill: \"#000\"})\n | .data(\"i\", i)\n | .click(function () {\n | alert(this.data(\"i\"));\n | });\n | }\n \\*/\n elproto.data = function (key, value) {\n var data = eldata[this.id] = eldata[this.id] || {};\n if (arguments.length == 0){\n eve(\"snap.data.get.\" + this.id, this, data, null);\n return data;\n }\n if (arguments.length == 1) {\n if (Snap.is(key, \"object\")) {\n for (var i in key) if (key[has](i)) {\n this.data(i, key[i]);\n }\n return this;\n }\n eve(\"snap.data.get.\" + this.id, this, data[key], key);\n return data[key];\n }\n data[key] = value;\n eve(\"snap.data.set.\" + this.id, this, value, key);\n return this;\n };\n /*\\\n * Element.removeData\n [ method ]\n **\n * Removes value associated with an element by given key.\n * If key is not provided, removes all the data of the element.\n - key (string) #optional key\n = (object) @Element\n \\*/\n elproto.removeData = function (key) {\n if (key == null) {\n eldata[this.id] = {};\n } else {\n eldata[this.id] && delete eldata[this.id][key];\n }\n return this;\n };\n /*\\\n * Element.outerSVG\n [ method ]\n **\n * Returns SVG code for the element, equivalent to HTML's `outerHTML`.\n *\n * See also @Element.innerSVG\n = (string) SVG code for the element\n \\*/\n /*\\\n * Element.toString\n [ method ]\n **\n * See @Element.outerSVG\n \\*/\n elproto.outerSVG = elproto.toString = toString(1);\n /*\\\n * Element.innerSVG\n [ method ]\n **\n * Returns SVG code for the element's contents, equivalent to HTML's `innerHTML`\n = (string) SVG code for the element\n \\*/\n elproto.innerSVG = toString();\n function toString(type) {\n return function () {\n var res = type ? \"<\" + this.type : \"\",\n attr = this.node.attributes,\n chld = this.node.childNodes;\n if (type) {\n for (var i = 0, ii = attr.length; i < ii; i++) {\n res += \" \" + attr[i].name + '=\"' +\n attr[i].value.replace(/\"/g, '\\\\\"') + '\"';\n }\n }\n if (chld.length) {\n type && (res += \">\");\n for (i = 0, ii = chld.length; i < ii; i++) {\n if (chld[i].nodeType == 3) {\n res += chld[i].nodeValue;\n } else if (chld[i].nodeType == 1) {\n res += wrap(chld[i]).toString();\n }\n }\n type && (res += \"</\" + this.type + \">\");\n } else {\n type && (res += \"/>\");\n }\n return res;\n };\n }\n elproto.toDataURL = function () {\n if (window && window.btoa) {\n var bb = this.getBBox(),\n svg = Snap.format('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"{width}\" height=\"{height}\" viewBox=\"{x} {y} {width} {height}\">{contents}</svg>', {\n x: +bb.x.toFixed(3),\n y: +bb.y.toFixed(3),\n width: +bb.width.toFixed(3),\n height: +bb.height.toFixed(3),\n contents: this.outerSVG()\n });\n return \"data:image/svg+xml;base64,\" + btoa(unescape(encodeURIComponent(svg)));\n }\n };\n /*\\\n * Fragment.select\n [ method ]\n **\n * See @Element.select\n \\*/\n Fragment.prototype.select = elproto.select;\n /*\\\n * Fragment.selectAll\n [ method ]\n **\n * See @Element.selectAll\n \\*/\n Fragment.prototype.selectAll = elproto.selectAll;\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var objectToString = Object.prototype.toString,\n Str = String,\n math = Math,\n E = \"\";\n function Matrix(a, b, c, d, e, f) {\n if (b == null && objectToString.call(a) == \"[object SVGMatrix]\") {\n this.a = a.a;\n this.b = a.b;\n this.c = a.c;\n this.d = a.d;\n this.e = a.e;\n this.f = a.f;\n return;\n }\n if (a != null) {\n this.a = +a;\n this.b = +b;\n this.c = +c;\n this.d = +d;\n this.e = +e;\n this.f = +f;\n } else {\n this.a = 1;\n this.b = 0;\n this.c = 0;\n this.d = 1;\n this.e = 0;\n this.f = 0;\n }\n }\n (function (matrixproto) {\n /*\\\n * Matrix.add\n [ method ]\n **\n * Adds the given matrix to existing one\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - matrix (object) @Matrix\n \\*/\n matrixproto.add = function (a, b, c, d, e, f) {\n if (a && a instanceof Matrix) {\n return this.add(a.a, a.b, a.c, a.d, a.e, a.f);\n }\n var aNew = a * this.a + b * this.c,\n bNew = a * this.b + b * this.d;\n this.e += e * this.a + f * this.c;\n this.f += e * this.b + f * this.d;\n this.c = c * this.a + d * this.c;\n this.d = c * this.b + d * this.d;\n\n this.a = aNew;\n this.b = bNew;\n return this;\n };\n /*\\\n * Matrix.multLeft\n [ method ]\n **\n * Multiplies a passed affine transform to the left: M * this.\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - matrix (object) @Matrix\n \\*/\n Matrix.prototype.multLeft = function (a, b, c, d, e, f) {\n if (a && a instanceof Matrix) {\n return this.multLeft(a.a, a.b, a.c, a.d, a.e, a.f);\n }\n var aNew = a * this.a + c * this.b,\n cNew = a * this.c + c * this.d,\n eNew = a * this.e + c * this.f + e;\n this.b = b * this.a + d * this.b;\n this.d = b * this.c + d * this.d;\n this.f = b * this.e + d * this.f + f;\n\n this.a = aNew;\n this.c = cNew;\n this.e = eNew;\n return this;\n };\n /*\\\n * Matrix.invert\n [ method ]\n **\n * Returns an inverted version of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.invert = function () {\n var me = this,\n x = me.a * me.d - me.b * me.c;\n return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);\n };\n /*\\\n * Matrix.clone\n [ method ]\n **\n * Returns a copy of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.clone = function () {\n return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);\n };\n /*\\\n * Matrix.translate\n [ method ]\n **\n * Translate the matrix\n - x (number) horizontal offset distance\n - y (number) vertical offset distance\n \\*/\n matrixproto.translate = function (x, y) {\n this.e += x * this.a + y * this.c;\n this.f += x * this.b + y * this.d;\n return this;\n };\n /*\\\n * Matrix.scale\n [ method ]\n **\n * Scales the matrix\n - x (number) amount to be scaled, with `1` resulting in no change\n - y (number) #optional amount to scale along the vertical axis. (Otherwise `x` applies to both axes.)\n - cx (number) #optional horizontal origin point from which to scale\n - cy (number) #optional vertical origin point from which to scale\n * Default cx, cy is the middle point of the element.\n \\*/\n matrixproto.scale = function (x, y, cx, cy) {\n y == null && (y = x);\n (cx || cy) && this.translate(cx, cy);\n this.a *= x;\n this.b *= x;\n this.c *= y;\n this.d *= y;\n (cx || cy) && this.translate(-cx, -cy);\n return this;\n };\n /*\\\n * Matrix.rotate\n [ method ]\n **\n * Rotates the matrix\n - a (number) angle of rotation, in degrees\n - x (number) horizontal origin point from which to rotate\n - y (number) vertical origin point from which to rotate\n \\*/\n matrixproto.rotate = function (a, x, y) {\n a = Snap.rad(a);\n x = x || 0;\n y = y || 0;\n var cos = +math.cos(a).toFixed(9),\n sin = +math.sin(a).toFixed(9);\n this.add(cos, sin, -sin, cos, x, y);\n return this.add(1, 0, 0, 1, -x, -y);\n };\n /*\\\n * Matrix.skewX\n [ method ]\n **\n * Skews the matrix along the x-axis\n - x (number) Angle to skew along the x-axis (in degrees).\n \\*/\n matrixproto.skewX = function (x) {\n return this.skew(x, 0);\n };\n /*\\\n * Matrix.skewY\n [ method ]\n **\n * Skews the matrix along the y-axis\n - y (number) Angle to skew along the y-axis (in degrees).\n \\*/\n matrixproto.skewY = function (y) {\n return this.skew(0, y);\n };\n /*\\\n * Matrix.skew\n [ method ]\n **\n * Skews the matrix\n - y (number) Angle to skew along the y-axis (in degrees).\n - x (number) Angle to skew along the x-axis (in degrees).\n \\*/\n matrixproto.skew = function (x, y) {\n x = x || 0;\n y = y || 0;\n x = Snap.rad(x);\n y = Snap.rad(y);\n var c = math.tan(x).toFixed(9);\n var b = math.tan(y).toFixed(9);\n return this.add(1, b, c, 1, 0, 0);\n };\n /*\\\n * Matrix.x\n [ method ]\n **\n * Returns x coordinate for given point after transformation described by the matrix. See also @Matrix.y\n - x (number)\n - y (number)\n = (number) x\n \\*/\n matrixproto.x = function (x, y) {\n return x * this.a + y * this.c + this.e;\n };\n /*\\\n * Matrix.y\n [ method ]\n **\n * Returns y coordinate for given point after transformation described by the matrix. See also @Matrix.x\n - x (number)\n - y (number)\n = (number) y\n \\*/\n matrixproto.y = function (x, y) {\n return x * this.b + y * this.d + this.f;\n };\n matrixproto.get = function (i) {\n return +this[Str.fromCharCode(97 + i)].toFixed(4);\n };\n matrixproto.toString = function () {\n return \"matrix(\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + \")\";\n };\n matrixproto.offset = function () {\n return [this.e.toFixed(4), this.f.toFixed(4)];\n };\n function norm(a) {\n return a[0] * a[0] + a[1] * a[1];\n }\n function normalize(a) {\n var mag = math.sqrt(norm(a));\n a[0] && (a[0] /= mag);\n a[1] && (a[1] /= mag);\n }\n /*\\\n * Matrix.determinant\n [ method ]\n **\n * Finds determinant of the given matrix.\n = (number) determinant\n \\*/\n matrixproto.determinant = function () {\n return this.a * this.d - this.b * this.c;\n };\n /*\\\n * Matrix.split\n [ method ]\n **\n * Splits matrix into primitive transformations\n = (object) in format:\n o dx (number) translation by x\n o dy (number) translation by y\n o scalex (number) scale by x\n o scaley (number) scale by y\n o shear (number) shear\n o rotate (number) rotation in deg\n o isSimple (boolean) could it be represented via simple transformations\n \\*/\n matrixproto.split = function () {\n var out = {};\n // translation\n out.dx = this.e;\n out.dy = this.f;\n\n // scale and shear\n var row = [[this.a, this.b], [this.c, this.d]];\n out.scalex = math.sqrt(norm(row[0]));\n normalize(row[0]);\n\n out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];\n row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];\n\n out.scaley = math.sqrt(norm(row[1]));\n normalize(row[1]);\n out.shear /= out.scaley;\n\n if (this.determinant() < 0) {\n out.scalex = -out.scalex;\n }\n\n // rotation\n var sin = row[0][1],\n cos = row[1][1];\n if (cos < 0) {\n out.rotate = Snap.deg(math.acos(cos));\n if (sin < 0) {\n out.rotate = 360 - out.rotate;\n }\n } else {\n out.rotate = Snap.deg(math.asin(sin));\n }\n\n out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);\n out.isSuperSimple = !+out.shear.toFixed(9) && out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate;\n out.noRotation = !+out.shear.toFixed(9) && !out.rotate;\n return out;\n };\n /*\\\n * Matrix.toTransformString\n [ method ]\n **\n * Returns transform string that represents given matrix\n = (string) transform string\n \\*/\n matrixproto.toTransformString = function (shorter) {\n var s = shorter || this.split();\n if (!+s.shear.toFixed(9)) {\n s.scalex = +s.scalex.toFixed(4);\n s.scaley = +s.scaley.toFixed(4);\n s.rotate = +s.rotate.toFixed(4);\n return (s.dx || s.dy ? \"t\" + [+s.dx.toFixed(4), +s.dy.toFixed(4)] : E) +\n (s.rotate ? \"r\" + [+s.rotate.toFixed(4), 0, 0] : E) +\n (s.scalex != 1 || s.scaley != 1 ? \"s\" + [s.scalex, s.scaley, 0, 0] : E);\n } else {\n return \"m\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];\n }\n };\n })(Matrix.prototype);\n /*\\\n * Snap.Matrix\n [ method ]\n **\n * Matrix constructor, extend on your own risk.\n * To create matrices use @Snap.matrix.\n \\*/\n Snap.Matrix = Matrix;\n /*\\\n * Snap.matrix\n [ method ]\n **\n * Utility method\n **\n * Returns a matrix based on the given parameters\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - svgMatrix (SVGMatrix)\n = (object) @Matrix\n \\*/\n Snap.matrix = function (a, b, c, d, e, f) {\n return new Matrix(a, b, c, d, e, f);\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var has = \"hasOwnProperty\",\n make = Snap._.make,\n wrap = Snap._.wrap,\n is = Snap.is,\n getSomeDefs = Snap._.getSomeDefs,\n reURLValue = /^url\\((['\"]?)([^)]+)\\1\\)$/,\n $ = Snap._.$,\n URL = Snap.url,\n Str = String,\n separator = Snap._.separator,\n E = \"\";\n /*\\\n * Snap.deurl\n [ method ]\n **\n * Unwraps path from `\"url(<path>)\"`.\n - value (string) url path\n = (string) unwrapped path\n \\*/\n Snap.deurl = function (value) {\n var res = String(value).match(reURLValue);\n return res ? res[2] : value;\n }\n // Attributes event handlers\n eve.on(\"snap.util.attr.mask\", function (value) {\n if (value instanceof Element || value instanceof Fragment) {\n eve.stop();\n if (value instanceof Fragment && value.node.childNodes.length == 1) {\n value = value.node.firstChild;\n getSomeDefs(this).appendChild(value);\n value = wrap(value);\n }\n if (value.type == \"mask\") {\n var mask = value;\n } else {\n mask = make(\"mask\", getSomeDefs(this));\n mask.node.appendChild(value.node);\n }\n !mask.node.id && $(mask.node, {\n id: mask.id\n });\n $(this.node, {\n mask: URL(mask.id)\n });\n }\n });\n (function (clipIt) {\n eve.on(\"snap.util.attr.clip\", clipIt);\n eve.on(\"snap.util.attr.clip-path\", clipIt);\n eve.on(\"snap.util.attr.clipPath\", clipIt);\n }(function (value) {\n if (value instanceof Element || value instanceof Fragment) {\n eve.stop();\n var clip,\n node = value.node;\n while (node) {\n if (node.nodeName === \"clipPath\") {\n clip = new Element(node);\n break;\n }\n if (node.nodeName === \"svg\") {\n clip = undefined;\n break;\n }\n node = node.parentNode;\n }\n if (!clip) {\n clip = make(\"clipPath\", getSomeDefs(this));\n clip.node.appendChild(value.node);\n !clip.node.id && $(clip.node, {\n id: clip.id\n });\n }\n $(this.node, {\n \"clip-path\": URL(clip.node.id || clip.id)\n });\n }\n }));\n function fillStroke(name) {\n return function (value) {\n eve.stop();\n if (value instanceof Fragment && value.node.childNodes.length == 1 &&\n (value.node.firstChild.tagName == \"radialGradient\" ||\n value.node.firstChild.tagName == \"linearGradient\" ||\n value.node.firstChild.tagName == \"pattern\")) {\n value = value.node.firstChild;\n getSomeDefs(this).appendChild(value);\n value = wrap(value);\n }\n if (value instanceof Element) {\n if (value.type == \"radialGradient\" || value.type == \"linearGradient\"\n || value.type == \"pattern\") {\n if (!value.node.id) {\n $(value.node, {\n id: value.id\n });\n }\n var fill = URL(value.node.id);\n } else {\n fill = value.attr(name);\n }\n } else {\n fill = Snap.color(value);\n if (fill.error) {\n var grad = Snap(getSomeDefs(this).ownerSVGElement).gradient(value);\n if (grad) {\n if (!grad.node.id) {\n $(grad.node, {\n id: grad.id\n });\n }\n fill = URL(grad.node.id);\n } else {\n fill = value;\n }\n } else {\n fill = Str(fill);\n }\n }\n var attrs = {};\n attrs[name] = fill;\n $(this.node, attrs);\n this.node.style[name] = E;\n };\n }\n eve.on(\"snap.util.attr.fill\", fillStroke(\"fill\"));\n eve.on(\"snap.util.attr.stroke\", fillStroke(\"stroke\"));\n var gradrg = /^([lr])(?:\\(([^)]*)\\))?(.*)$/i;\n eve.on(\"snap.util.grad.parse\", function parseGrad(string) {\n string = Str(string);\n var tokens = string.match(gradrg);\n if (!tokens) {\n return null;\n }\n var type = tokens[1],\n params = tokens[2],\n stops = tokens[3];\n params = params.split(/\\s*,\\s*/).map(function (el) {\n return +el == el ? +el : el;\n });\n if (params.length == 1 && params[0] == 0) {\n params = [];\n }\n stops = stops.split(\"-\");\n stops = stops.map(function (el) {\n el = el.split(\":\");\n var out = {\n color: el[0]\n };\n if (el[1]) {\n out.offset = parseFloat(el[1]);\n }\n return out;\n });\n var len = stops.length,\n start = 0,\n j = 0;\n function seed(i, end) {\n var step = (end - start) / (i - j);\n for (var k = j; k < i; k++) {\n stops[k].offset = +(+start + step * (k - j)).toFixed(2);\n }\n j = i;\n start = end;\n }\n len--;\n for (var i = 0; i < len; i++) if (\"offset\" in stops[i]) {\n seed(i, stops[i].offset);\n }\n stops[len].offset = stops[len].offset || 100;\n seed(len, stops[len].offset);\n return {\n type: type,\n params: params,\n stops: stops\n };\n });\n\n eve.on(\"snap.util.attr.d\", function (value) {\n eve.stop();\n if (is(value, \"array\") && is(value[0], \"array\")) {\n value = Snap.path.toString.call(value);\n }\n value = Str(value);\n if (value.match(/[ruo]/i)) {\n value = Snap.path.toAbsolute(value);\n }\n $(this.node, {d: value});\n })(-1);\n eve.on(\"snap.util.attr.#text\", function (value) {\n eve.stop();\n value = Str(value);\n var txt = glob.doc.createTextNode(value);\n while (this.node.firstChild) {\n this.node.removeChild(this.node.firstChild);\n }\n this.node.appendChild(txt);\n })(-1);\n eve.on(\"snap.util.attr.path\", function (value) {\n eve.stop();\n this.attr({d: value});\n })(-1);\n eve.on(\"snap.util.attr.class\", function (value) {\n eve.stop();\n this.node.className.baseVal = value;\n })(-1);\n eve.on(\"snap.util.attr.viewBox\", function (value) {\n var vb;\n if (is(value, \"object\") && \"x\" in value) {\n vb = [value.x, value.y, value.width, value.height].join(\" \");\n } else if (is(value, \"array\")) {\n vb = value.join(\" \");\n } else {\n vb = value;\n }\n $(this.node, {\n viewBox: vb\n });\n eve.stop();\n })(-1);\n eve.on(\"snap.util.attr.transform\", function (value) {\n this.transform(value);\n eve.stop();\n })(-1);\n eve.on(\"snap.util.attr.r\", function (value) {\n if (this.type == \"rect\") {\n eve.stop();\n $(this.node, {\n rx: value,\n ry: value\n });\n }\n })(-1);\n eve.on(\"snap.util.attr.textpath\", function (value) {\n eve.stop();\n if (this.type == \"text\") {\n var id, tp, node;\n if (!value && this.textPath) {\n tp = this.textPath;\n while (tp.node.firstChild) {\n this.node.appendChild(tp.node.firstChild);\n }\n tp.remove();\n delete this.textPath;\n return;\n }\n if (is(value, \"string\")) {\n var defs = getSomeDefs(this),\n path = wrap(defs.parentNode).path(value);\n defs.appendChild(path.node);\n id = path.id;\n path.attr({id: id});\n } else {\n value = wrap(value);\n if (value instanceof Element) {\n id = value.attr(\"id\");\n if (!id) {\n id = value.id;\n value.attr({id: id});\n }\n }\n }\n if (id) {\n tp = this.textPath;\n node = this.node;\n if (tp) {\n tp.attr({\"xlink:href\": \"#\" + id});\n } else {\n tp = $(\"textPath\", {\n \"xlink:href\": \"#\" + id\n });\n while (node.firstChild) {\n tp.appendChild(node.firstChild);\n }\n node.appendChild(tp);\n this.textPath = wrap(tp);\n }\n }\n }\n })(-1);\n eve.on(\"snap.util.attr.text\", function (value) {\n if (this.type == \"text\") {\n var i = 0,\n node = this.node,\n tuner = function (chunk) {\n var out = $(\"tspan\");\n if (is(chunk, \"array\")) {\n for (var i = 0; i < chunk.length; i++) {\n out.appendChild(tuner(chunk[i]));\n }\n } else {\n out.appendChild(glob.doc.createTextNode(chunk));\n }\n out.normalize && out.normalize();\n return out;\n };\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n var tuned = tuner(value);\n while (tuned.firstChild) {\n node.appendChild(tuned.firstChild);\n }\n }\n eve.stop();\n })(-1);\n function setFontSize(value) {\n eve.stop();\n if (value == +value) {\n value += \"px\";\n }\n this.node.style.fontSize = value;\n }\n eve.on(\"snap.util.attr.fontSize\", setFontSize)(-1);\n eve.on(\"snap.util.attr.font-size\", setFontSize)(-1);\n\n\n eve.on(\"snap.util.getattr.transform\", function () {\n eve.stop();\n return this.transform();\n })(-1);\n eve.on(\"snap.util.getattr.textpath\", function () {\n eve.stop();\n return this.textPath;\n })(-1);\n // Markers\n (function () {\n function getter(end) {\n return function () {\n eve.stop();\n var style = glob.doc.defaultView.getComputedStyle(this.node, null).getPropertyValue(\"marker-\" + end);\n if (style == \"none\") {\n return style;\n } else {\n return Snap(glob.doc.getElementById(style.match(reURLValue)[1]));\n }\n };\n }\n function setter(end) {\n return function (value) {\n eve.stop();\n var name = \"marker\" + end.charAt(0).toUpperCase() + end.substring(1);\n if (value == \"\" || !value) {\n this.node.style[name] = \"none\";\n return;\n }\n if (value.type == \"marker\") {\n var id = value.node.id;\n if (!id) {\n $(value.node, {id: value.id});\n }\n this.node.style[name] = URL(id);\n return;\n }\n };\n }\n eve.on(\"snap.util.getattr.marker-end\", getter(\"end\"))(-1);\n eve.on(\"snap.util.getattr.markerEnd\", getter(\"end\"))(-1);\n eve.on(\"snap.util.getattr.marker-start\", getter(\"start\"))(-1);\n eve.on(\"snap.util.getattr.markerStart\", getter(\"start\"))(-1);\n eve.on(\"snap.util.getattr.marker-mid\", getter(\"mid\"))(-1);\n eve.on(\"snap.util.getattr.markerMid\", getter(\"mid\"))(-1);\n eve.on(\"snap.util.attr.marker-end\", setter(\"end\"))(-1);\n eve.on(\"snap.util.attr.markerEnd\", setter(\"end\"))(-1);\n eve.on(\"snap.util.attr.marker-start\", setter(\"start\"))(-1);\n eve.on(\"snap.util.attr.markerStart\", setter(\"start\"))(-1);\n eve.on(\"snap.util.attr.marker-mid\", setter(\"mid\"))(-1);\n eve.on(\"snap.util.attr.markerMid\", setter(\"mid\"))(-1);\n }());\n eve.on(\"snap.util.getattr.r\", function () {\n if (this.type == \"rect\" && $(this.node, \"rx\") == $(this.node, \"ry\")) {\n eve.stop();\n return $(this.node, \"rx\");\n }\n })(-1);\n function textExtract(node) {\n var out = [];\n var children = node.childNodes;\n for (var i = 0, ii = children.length; i < ii; i++) {\n var chi = children[i];\n if (chi.nodeType == 3) {\n out.push(chi.nodeValue);\n }\n if (chi.tagName == \"tspan\") {\n if (chi.childNodes.length == 1 && chi.firstChild.nodeType == 3) {\n out.push(chi.firstChild.nodeValue);\n } else {\n out.push(textExtract(chi));\n }\n }\n }\n return out;\n }\n eve.on(\"snap.util.getattr.text\", function () {\n if (this.type == \"text\" || this.type == \"tspan\") {\n eve.stop();\n var out = textExtract(this.node);\n return out.length == 1 ? out[0] : out;\n }\n })(-1);\n eve.on(\"snap.util.getattr.#text\", function () {\n return this.node.textContent;\n })(-1);\n eve.on(\"snap.util.getattr.fill\", function (internal) {\n if (internal) {\n return;\n }\n eve.stop();\n var value = eve(\"snap.util.getattr.fill\", this, true).firstDefined();\n return Snap(Snap.deurl(value)) || value;\n })(-1);\n eve.on(\"snap.util.getattr.stroke\", function (internal) {\n if (internal) {\n return;\n }\n eve.stop();\n var value = eve(\"snap.util.getattr.stroke\", this, true).firstDefined();\n return Snap(Snap.deurl(value)) || value;\n })(-1);\n eve.on(\"snap.util.getattr.viewBox\", function () {\n eve.stop();\n var vb = $(this.node, \"viewBox\");\n if (vb) {\n vb = vb.split(separator);\n return Snap._.box(+vb[0], +vb[1], +vb[2], +vb[3]);\n } else {\n return;\n }\n })(-1);\n eve.on(\"snap.util.getattr.points\", function () {\n var p = $(this.node, \"points\");\n eve.stop();\n if (p) {\n return p.split(separator);\n } else {\n return;\n }\n })(-1);\n eve.on(\"snap.util.getattr.path\", function () {\n var p = $(this.node, \"d\");\n eve.stop();\n return p;\n })(-1);\n eve.on(\"snap.util.getattr.class\", function () {\n return this.node.className.baseVal;\n })(-1);\n function getFontSize() {\n eve.stop();\n return this.node.style.fontSize;\n }\n eve.on(\"snap.util.getattr.fontSize\", getFontSize)(-1);\n eve.on(\"snap.util.getattr.font-size\", getFontSize)(-1);\n});\n\n// Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var rgNotSpace = /\\S+/g,\n rgBadSpace = /[\\t\\r\\n\\f]/g,\n rgTrim = /(^\\s+|\\s+$)/g,\n Str = String,\n elproto = Element.prototype;\n /*\\\n * Element.addClass\n [ method ]\n **\n * Adds given class name or list of class names to the element.\n - value (string) class name or space separated list of class names\n **\n = (Element) original element.\n \\*/\n elproto.addClass = function (value) {\n var classes = Str(value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n\n if (classes.length) {\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (!~pos) {\n curClasses.push(clazz);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n }\n return this;\n };\n /*\\\n * Element.removeClass\n [ method ]\n **\n * Removes given class name or list of class names from the element.\n - value (string) class name or space separated list of class names\n **\n = (Element) original element.\n \\*/\n elproto.removeClass = function (value) {\n var classes = Str(value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n if (curClasses.length) {\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (~pos) {\n curClasses.splice(pos, 1);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n }\n return this;\n };\n /*\\\n * Element.hasClass\n [ method ]\n **\n * Checks if the element has a given class name in the list of class names applied to it.\n - value (string) class name\n **\n = (boolean) `true` if the element has given class\n \\*/\n elproto.hasClass = function (value) {\n var elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [];\n return !!~curClasses.indexOf(value);\n };\n /*\\\n * Element.toggleClass\n [ method ]\n **\n * Add or remove one or more classes from the element, depending on either\n * the class’s presence or the value of the `flag` argument.\n - value (string) class name or space separated list of class names\n - flag (boolean) value to determine whether the class should be added or removed\n **\n = (Element) original element.\n \\*/\n elproto.toggleClass = function (value, flag) {\n if (flag != null) {\n if (flag) {\n return this.addClass(value);\n } else {\n return this.removeClass(value);\n }\n }\n var classes = (value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (~pos) {\n curClasses.splice(pos, 1);\n } else {\n curClasses.push(clazz);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n return this;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var operators = {\n \"+\": function (x, y) {\n return x + y;\n },\n \"-\": function (x, y) {\n return x - y;\n },\n \"/\": function (x, y) {\n return x / y;\n },\n \"*\": function (x, y) {\n return x * y;\n }\n },\n Str = String,\n reUnit = /[a-z]+$/i,\n reAddon = /^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;\n function getNumber(val) {\n return val;\n }\n function getUnit(unit) {\n return function (val) {\n return +val.toFixed(3) + unit;\n };\n }\n eve.on(\"snap.util.attr\", function (val) {\n var plus = Str(val).match(reAddon);\n if (plus) {\n var evnt = eve.nt(),\n name = evnt.substring(evnt.lastIndexOf(\".\") + 1),\n a = this.attr(name),\n atr = {};\n eve.stop();\n var unit = plus[3] || \"\",\n aUnit = a.match(reUnit),\n op = operators[plus[1]];\n if (aUnit && aUnit == unit) {\n val = op(parseFloat(a), +plus[2]);\n } else {\n a = this.asPX(name);\n val = op(this.asPX(name), this.asPX(name, plus[2] + unit));\n }\n if (isNaN(a) || isNaN(val)) {\n return;\n }\n atr[name] = val;\n this.attr(atr);\n }\n })(-10);\n eve.on(\"snap.util.equal\", function (name, b) {\n var A, B, a = Str(this.attr(name) || \"\"),\n el = this,\n bplus = Str(b).match(reAddon);\n if (bplus) {\n eve.stop();\n var unit = bplus[3] || \"\",\n aUnit = a.match(reUnit),\n op = operators[bplus[1]];\n if (aUnit && aUnit == unit) {\n return {\n from: parseFloat(a),\n to: op(parseFloat(a), +bplus[2]),\n f: getUnit(aUnit)\n };\n } else {\n a = this.asPX(name);\n return {\n from: a,\n to: op(a, this.asPX(name, bplus[2] + unit)),\n f: getNumber\n };\n }\n }\n })(-10);\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var proto = Paper.prototype,\n is = Snap.is;\n /*\\\n * Paper.rect\n [ method ]\n *\n * Draws a rectangle\n **\n - x (number) x coordinate of the top left corner\n - y (number) y coordinate of the top left corner\n - width (number) width\n - height (number) height\n - rx (number) #optional horizontal radius for rounded corners, default is 0\n - ry (number) #optional vertical radius for rounded corners, default is rx or 0\n = (object) the `rect` element\n **\n > Usage\n | // regular rectangle\n | var c = paper.rect(10, 10, 50, 50);\n | // rectangle with rounded corners\n | var c = paper.rect(40, 40, 50, 50, 10);\n \\*/\n proto.rect = function (x, y, w, h, rx, ry) {\n var attr;\n if (ry == null) {\n ry = rx;\n }\n if (is(x, \"object\") && x == \"[object Object]\") {\n attr = x;\n } else if (x != null) {\n attr = {\n x: x,\n y: y,\n width: w,\n height: h\n };\n if (rx != null) {\n attr.rx = rx;\n attr.ry = ry;\n }\n }\n return this.el(\"rect\", attr);\n };\n /*\\\n * Paper.circle\n [ method ]\n **\n * Draws a circle\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - r (number) radius\n = (object) the `circle` element\n **\n > Usage\n | var c = paper.circle(50, 50, 40);\n \\*/\n proto.circle = function (cx, cy, r) {\n var attr;\n if (is(cx, \"object\") && cx == \"[object Object]\") {\n attr = cx;\n } else if (cx != null) {\n attr = {\n cx: cx,\n cy: cy,\n r: r\n };\n }\n return this.el(\"circle\", attr);\n };\n\n var preload = (function () {\n function onerror() {\n this.parentNode.removeChild(this);\n }\n return function (src, f) {\n var img = glob.doc.createElement(\"img\"),\n body = glob.doc.body;\n img.style.cssText = \"position:absolute;left:-9999em;top:-9999em\";\n img.onload = function () {\n f.call(img);\n img.onload = img.onerror = null;\n body.removeChild(img);\n };\n img.onerror = onerror;\n body.appendChild(img);\n img.src = src;\n };\n }());\n\n /*\\\n * Paper.image\n [ method ]\n **\n * Places an image on the surface\n **\n - src (string) URI of the source image\n - x (number) x offset position\n - y (number) y offset position\n - width (number) width of the image\n - height (number) height of the image\n = (object) the `image` element\n * or\n = (object) Snap element object with type `image`\n **\n > Usage\n | var c = paper.image(\"apple.png\", 10, 10, 80, 80);\n \\*/\n proto.image = function (src, x, y, width, height) {\n var el = this.el(\"image\");\n if (is(src, \"object\") && \"src\" in src) {\n el.attr(src);\n } else if (src != null) {\n var set = {\n \"xlink:href\": src,\n preserveAspectRatio: \"none\"\n };\n if (x != null && y != null) {\n set.x = x;\n set.y = y;\n }\n if (width != null && height != null) {\n set.width = width;\n set.height = height;\n } else {\n preload(src, function () {\n Snap._.$(el.node, {\n width: this.offsetWidth,\n height: this.offsetHeight\n });\n });\n }\n Snap._.$(el.node, set);\n }\n return el;\n };\n /*\\\n * Paper.ellipse\n [ method ]\n **\n * Draws an ellipse\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - rx (number) horizontal radius\n - ry (number) vertical radius\n = (object) the `ellipse` element\n **\n > Usage\n | var c = paper.ellipse(50, 50, 40, 20);\n \\*/\n proto.ellipse = function (cx, cy, rx, ry) {\n var attr;\n if (is(cx, \"object\") && cx == \"[object Object]\") {\n attr = cx;\n } else if (cx != null) {\n attr ={\n cx: cx,\n cy: cy,\n rx: rx,\n ry: ry\n };\n }\n return this.el(\"ellipse\", attr);\n };\n // SIERRA Paper.path(): Unclear from the link what a Catmull-Rom curveto is, and why it would make life any easier.\n /*\\\n * Paper.path\n [ method ]\n **\n * Creates a `<path>` element using the given string as the path's definition\n - pathString (string) #optional path string in SVG format\n * Path string consists of one-letter commands, followed by comma seprarated arguments in numerical form. Example:\n | \"M10,20L30,40\"\n * This example features two commands: `M`, with arguments `(10, 20)` and `L` with arguments `(30, 40)`. Uppercase letter commands express coordinates in absolute terms, while lowercase commands express them in relative terms from the most recently declared coordinates.\n *\n # <p>Here is short list of commands available, for more details see <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" title=\"Details of a path's data attribute's format are described in the SVG specification.\">SVG path string format</a> or <a href=\"https://developer.mozilla.org/en/SVG/Tutorial/Paths\">article about path strings at MDN</a>.</p>\n # <table><thead><tr><th>Command</th><th>Name</th><th>Parameters</th></tr></thead><tbody>\n # <tr><td>M</td><td>moveto</td><td>(x y)+</td></tr>\n # <tr><td>Z</td><td>closepath</td><td>(none)</td></tr>\n # <tr><td>L</td><td>lineto</td><td>(x y)+</td></tr>\n # <tr><td>H</td><td>horizontal lineto</td><td>x+</td></tr>\n # <tr><td>V</td><td>vertical lineto</td><td>y+</td></tr>\n # <tr><td>C</td><td>curveto</td><td>(x1 y1 x2 y2 x y)+</td></tr>\n # <tr><td>S</td><td>smooth curveto</td><td>(x2 y2 x y)+</td></tr>\n # <tr><td>Q</td><td>quadratic Bézier curveto</td><td>(x1 y1 x y)+</td></tr>\n # <tr><td>T</td><td>smooth quadratic Bézier curveto</td><td>(x y)+</td></tr>\n # <tr><td>A</td><td>elliptical arc</td><td>(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+</td></tr>\n # <tr><td>R</td><td><a href=\"http://en.wikipedia.org/wiki/Catmull–Rom_spline#Catmull.E2.80.93Rom_spline\">Catmull-Rom curveto</a>*</td><td>x1 y1 (x y)+</td></tr></tbody></table>\n * * _Catmull-Rom curveto_ is a not standard SVG command and added to make life easier.\n * Note: there is a special case when a path consists of only three commands: `M10,10R…z`. In this case the path connects back to its starting point.\n > Usage\n | var c = paper.path(\"M10 10L90 90\");\n | // draw a diagonal line:\n | // move to 10,10, line to 90,90\n \\*/\n proto.path = function (d) {\n var attr;\n if (is(d, \"object\") && !is(d, \"array\")) {\n attr = d;\n } else if (d) {\n attr = {d: d};\n }\n return this.el(\"path\", attr);\n };\n /*\\\n * Paper.g\n [ method ]\n **\n * Creates a group element\n **\n - varargs (…) #optional elements to nest within the group\n = (object) the `g` element\n **\n > Usage\n | var c1 = paper.circle(),\n | c2 = paper.rect(),\n | g = paper.g(c2, c1); // note that the order of elements is different\n * or\n | var c1 = paper.circle(),\n | c2 = paper.rect(),\n | g = paper.g();\n | g.add(c2, c1);\n \\*/\n /*\\\n * Paper.group\n [ method ]\n **\n * See @Paper.g\n \\*/\n proto.group = proto.g = function (first) {\n var attr,\n el = this.el(\"g\");\n if (arguments.length == 1 && first && !first.type) {\n el.attr(first);\n } else if (arguments.length) {\n el.add(Array.prototype.slice.call(arguments, 0));\n }\n return el;\n };\n /*\\\n * Paper.svg\n [ method ]\n **\n * Creates a nested SVG element.\n - x (number) @optional X of the element\n - y (number) @optional Y of the element\n - width (number) @optional width of the element\n - height (number) @optional height of the element\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n **\n = (object) the `svg` element\n **\n \\*/\n proto.svg = function (x, y, width, height, vbx, vby, vbw, vbh) {\n var attrs = {};\n if (is(x, \"object\") && y == null) {\n attrs = x;\n } else {\n if (x != null) {\n attrs.x = x;\n }\n if (y != null) {\n attrs.y = y;\n }\n if (width != null) {\n attrs.width = width;\n }\n if (height != null) {\n attrs.height = height;\n }\n if (vbx != null && vby != null && vbw != null && vbh != null) {\n attrs.viewBox = [vbx, vby, vbw, vbh];\n }\n }\n return this.el(\"svg\", attrs);\n };\n /*\\\n * Paper.mask\n [ method ]\n **\n * Equivalent in behaviour to @Paper.g, except it’s a mask.\n **\n = (object) the `mask` element\n **\n \\*/\n proto.mask = function (first) {\n var attr,\n el = this.el(\"mask\");\n if (arguments.length == 1 && first && !first.type) {\n el.attr(first);\n } else if (arguments.length) {\n el.add(Array.prototype.slice.call(arguments, 0));\n }\n return el;\n };\n /*\\\n * Paper.ptrn\n [ method ]\n **\n * Equivalent in behaviour to @Paper.g, except it’s a pattern.\n - x (number) @optional X of the element\n - y (number) @optional Y of the element\n - width (number) @optional width of the element\n - height (number) @optional height of the element\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n **\n = (object) the `pattern` element\n **\n \\*/\n proto.ptrn = function (x, y, width, height, vx, vy, vw, vh) {\n if (is(x, \"object\")) {\n var attr = x;\n } else {\n attr = {patternUnits: \"userSpaceOnUse\"};\n if (x) {\n attr.x = x;\n }\n if (y) {\n attr.y = y;\n }\n if (width != null) {\n attr.width = width;\n }\n if (height != null) {\n attr.height = height;\n }\n if (vx != null && vy != null && vw != null && vh != null) {\n attr.viewBox = [vx, vy, vw, vh];\n } else {\n attr.viewBox = [x || 0, y || 0, width || 0, height || 0];\n }\n }\n return this.el(\"pattern\", attr);\n };\n /*\\\n * Paper.use\n [ method ]\n **\n * Creates a <use> element.\n - id (string) @optional id of element to link\n * or\n - id (Element) @optional element to link\n **\n = (object) the `use` element\n **\n \\*/\n proto.use = function (id) {\n if (id != null) {\n if (id instanceof Element) {\n if (!id.attr(\"id\")) {\n id.attr({id: Snap._.id(id)});\n }\n id = id.attr(\"id\");\n }\n if (String(id).charAt() == \"#\") {\n id = id.substring(1);\n }\n return this.el(\"use\", {\"xlink:href\": \"#\" + id});\n } else {\n return Element.prototype.use.call(this);\n }\n };\n /*\\\n * Paper.symbol\n [ method ]\n **\n * Creates a <symbol> element.\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n = (object) the `symbol` element\n **\n \\*/\n proto.symbol = function (vx, vy, vw, vh) {\n var attr = {};\n if (vx != null && vy != null && vw != null && vh != null) {\n attr.viewBox = [vx, vy, vw, vh];\n }\n\n return this.el(\"symbol\", attr);\n };\n /*\\\n * Paper.text\n [ method ]\n **\n * Draws a text string\n **\n - x (number) x coordinate position\n - y (number) y coordinate position\n - text (string|array) The text string to draw or array of strings to nest within separate `<tspan>` elements\n = (object) the `text` element\n **\n > Usage\n | var t1 = paper.text(50, 50, \"Snap\");\n | var t2 = paper.text(50, 50, [\"S\",\"n\",\"a\",\"p\"]);\n | // Text path usage\n | t1.attr({textpath: \"M10,10L100,100\"});\n | // or\n | var pth = paper.path(\"M10,10L100,100\");\n | t1.attr({textpath: pth});\n \\*/\n proto.text = function (x, y, text) {\n var attr = {};\n if (is(x, \"object\")) {\n attr = x;\n } else if (x != null) {\n attr = {\n x: x,\n y: y,\n text: text || \"\"\n };\n }\n return this.el(\"text\", attr);\n };\n /*\\\n * Paper.line\n [ method ]\n **\n * Draws a line\n **\n - x1 (number) x coordinate position of the start\n - y1 (number) y coordinate position of the start\n - x2 (number) x coordinate position of the end\n - y2 (number) y coordinate position of the end\n = (object) the `line` element\n **\n > Usage\n | var t1 = paper.line(50, 50, 100, 100);\n \\*/\n proto.line = function (x1, y1, x2, y2) {\n var attr = {};\n if (is(x1, \"object\")) {\n attr = x1;\n } else if (x1 != null) {\n attr = {\n x1: x1,\n x2: x2,\n y1: y1,\n y2: y2\n };\n }\n return this.el(\"line\", attr);\n };\n /*\\\n * Paper.polyline\n [ method ]\n **\n * Draws a polyline\n **\n - points (array) array of points\n * or\n - varargs (…) points\n = (object) the `polyline` element\n **\n > Usage\n | var p1 = paper.polyline([10, 10, 100, 100]);\n | var p2 = paper.polyline(10, 10, 100, 100);\n \\*/\n proto.polyline = function (points) {\n if (arguments.length > 1) {\n points = Array.prototype.slice.call(arguments, 0);\n }\n var attr = {};\n if (is(points, \"object\") && !is(points, \"array\")) {\n attr = points;\n } else if (points != null) {\n attr = {points: points};\n }\n return this.el(\"polyline\", attr);\n };\n /*\\\n * Paper.polygon\n [ method ]\n **\n * Draws a polygon. See @Paper.polyline\n \\*/\n proto.polygon = function (points) {\n if (arguments.length > 1) {\n points = Array.prototype.slice.call(arguments, 0);\n }\n var attr = {};\n if (is(points, \"object\") && !is(points, \"array\")) {\n attr = points;\n } else if (points != null) {\n attr = {points: points};\n }\n return this.el(\"polygon\", attr);\n };\n // gradients\n (function () {\n var $ = Snap._.$;\n // gradients' helpers\n /*\\\n * Element.stops\n [ method ]\n **\n * Only for gradients!\n * Returns array of gradient stops elements.\n = (array) the stops array.\n \\*/\n function Gstops() {\n return this.selectAll(\"stop\");\n }\n /*\\\n * Element.addStop\n [ method ]\n **\n * Only for gradients!\n * Adds another stop to the gradient.\n - color (string) stops color\n - offset (number) stops offset 0..100\n = (object) gradient element\n \\*/\n function GaddStop(color, offset) {\n var stop = $(\"stop\"),\n attr = {\n offset: +offset + \"%\"\n };\n color = Snap.color(color);\n attr[\"stop-color\"] = color.hex;\n if (color.opacity < 1) {\n attr[\"stop-opacity\"] = color.opacity;\n }\n $(stop, attr);\n var stops = this.stops(),\n inserted;\n for (var i = 0; i < stops.length; i++) {\n var stopOffset = parseFloat(stops[i].attr(\"offset\"));\n if (stopOffset > offset) {\n this.node.insertBefore(stop, stops[i].node);\n inserted = true;\n break;\n }\n }\n if (!inserted) {\n this.node.appendChild(stop);\n }\n return this;\n }\n function GgetBBox() {\n if (this.type == \"linearGradient\") {\n var x1 = $(this.node, \"x1\") || 0,\n x2 = $(this.node, \"x2\") || 1,\n y1 = $(this.node, \"y1\") || 0,\n y2 = $(this.node, \"y2\") || 0;\n return Snap._.box(x1, y1, math.abs(x2 - x1), math.abs(y2 - y1));\n } else {\n var cx = this.node.cx || .5,\n cy = this.node.cy || .5,\n r = this.node.r || 0;\n return Snap._.box(cx - r, cy - r, r * 2, r * 2);\n }\n }\n /*\\\n * Element.setStops\n [ method ]\n **\n * Only for gradients!\n * Updates stops of the gradient based on passed gradient descriptor. See @Ppaer.gradient\n - str (string) gradient descriptor part after `()`.\n = (object) gradient element\n | var g = paper.gradient(\"l(0, 0, 1, 1)#000-#f00-#fff\");\n | g.setStops(\"#fff-#000-#f00-#fc0\");\n \\*/\n function GsetStops(str) {\n var grad = str,\n stops = this.stops();\n if (typeof str == \"string\") {\n grad = eve(\"snap.util.grad.parse\", null, \"l(0,0,0,1)\" + str).firstDefined().stops;\n }\n if (!Snap.is(grad, \"array\")) {\n return;\n }\n for (var i = 0; i < stops.length; i++) {\n if (grad[i]) {\n var color = Snap.color(grad[i].color),\n attr = {\"offset\": grad[i].offset + \"%\"};\n attr[\"stop-color\"] = color.hex;\n if (color.opacity < 1) {\n attr[\"stop-opacity\"] = color.opacity;\n }\n stops[i].attr(attr);\n } else {\n stops[i].remove();\n }\n }\n for (i = stops.length; i < grad.length; i++) {\n this.addStop(grad[i].color, grad[i].offset);\n }\n return this;\n }\n function gradient(defs, str) {\n var grad = eve(\"snap.util.grad.parse\", null, str).firstDefined(),\n el;\n if (!grad) {\n return null;\n }\n grad.params.unshift(defs);\n if (grad.type.toLowerCase() == \"l\") {\n el = gradientLinear.apply(0, grad.params);\n } else {\n el = gradientRadial.apply(0, grad.params);\n }\n if (grad.type != grad.type.toLowerCase()) {\n $(el.node, {\n gradientUnits: \"userSpaceOnUse\"\n });\n }\n var stops = grad.stops,\n len = stops.length;\n for (var i = 0; i < len; i++) {\n var stop = stops[i];\n el.addStop(stop.color, stop.offset);\n }\n return el;\n }\n function gradientLinear(defs, x1, y1, x2, y2) {\n var el = Snap._.make(\"linearGradient\", defs);\n el.stops = Gstops;\n el.addStop = GaddStop;\n el.getBBox = GgetBBox;\n el.setStops = GsetStops;\n if (x1 != null) {\n $(el.node, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n }\n return el;\n }\n function gradientRadial(defs, cx, cy, r, fx, fy) {\n var el = Snap._.make(\"radialGradient\", defs);\n el.stops = Gstops;\n el.addStop = GaddStop;\n el.getBBox = GgetBBox;\n if (cx != null) {\n $(el.node, {\n cx: cx,\n cy: cy,\n r: r\n });\n }\n if (fx != null && fy != null) {\n $(el.node, {\n fx: fx,\n fy: fy\n });\n }\n return el;\n }\n /*\\\n * Paper.gradient\n [ method ]\n **\n * Creates a gradient element\n **\n - gradient (string) gradient descriptor\n > Gradient Descriptor\n * The gradient descriptor is an expression formatted as\n * follows: `<type>(<coords>)<colors>`. The `<type>` can be\n * either linear or radial. The uppercase `L` or `R` letters\n * indicate absolute coordinates offset from the SVG surface.\n * Lowercase `l` or `r` letters indicate coordinates\n * calculated relative to the element to which the gradient is\n * applied. Coordinates specify a linear gradient vector as\n * `x1`, `y1`, `x2`, `y2`, or a radial gradient as `cx`, `cy`,\n * `r` and optional `fx`, `fy` specifying a focal point away\n * from the center of the circle. Specify `<colors>` as a list\n * of dash-separated CSS color values. Each color may be\n * followed by a custom offset value, separated with a colon\n * character.\n > Examples\n * Linear gradient, relative from top-left corner to bottom-right\n * corner, from black through red to white:\n | var g = paper.gradient(\"l(0, 0, 1, 1)#000-#f00-#fff\");\n * Linear gradient, absolute from (0, 0) to (100, 100), from black\n * through red at 25% to white:\n | var g = paper.gradient(\"L(0, 0, 100, 100)#000-#f00:25-#fff\");\n * Radial gradient, relative from the center of the element with radius\n * half the width, from black to white:\n | var g = paper.gradient(\"r(0.5, 0.5, 0.5)#000-#fff\");\n * To apply the gradient:\n | paper.circle(50, 50, 40).attr({\n | fill: g\n | });\n = (object) the `gradient` element\n \\*/\n proto.gradient = function (str) {\n return gradient(this.defs, str);\n };\n proto.gradientLinear = function (x1, y1, x2, y2) {\n return gradientLinear(this.defs, x1, y1, x2, y2);\n };\n proto.gradientRadial = function (cx, cy, r, fx, fy) {\n return gradientRadial(this.defs, cx, cy, r, fx, fy);\n };\n /*\\\n * Paper.toString\n [ method ]\n **\n * Returns SVG code for the @Paper\n = (string) SVG code for the @Paper\n \\*/\n proto.toString = function () {\n var doc = this.node.ownerDocument,\n f = doc.createDocumentFragment(),\n d = doc.createElement(\"div\"),\n svg = this.node.cloneNode(true),\n res;\n f.appendChild(d);\n d.appendChild(svg);\n Snap._.$(svg, {xmlns: \"http://www.w3.org/2000/svg\"});\n res = d.innerHTML;\n f.removeChild(f.firstChild);\n return res;\n };\n /*\\\n * Paper.toDataURL\n [ method ]\n **\n * Returns SVG code for the @Paper as Data URI string.\n = (string) Data URI string\n \\*/\n proto.toDataURL = function () {\n if (window && window.btoa) {\n return \"data:image/svg+xml;base64,\" + btoa(unescape(encodeURIComponent(this)));\n }\n };\n /*\\\n * Paper.clear\n [ method ]\n **\n * Removes all child nodes of the paper, except <defs>.\n \\*/\n proto.clear = function () {\n var node = this.node.firstChild,\n next;\n while (node) {\n next = node.nextSibling;\n if (node.tagName != \"defs\") {\n node.parentNode.removeChild(node);\n } else {\n proto.clear.call({node: node});\n }\n node = next;\n }\n };\n }());\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n is = Snap.is,\n clone = Snap._.clone,\n has = \"hasOwnProperty\",\n p2s = /,?([a-z]),?/gi,\n toFloat = parseFloat,\n math = Math,\n PI = math.PI,\n mmin = math.min,\n mmax = math.max,\n pow = math.pow,\n abs = math.abs;\n function paths(ps) {\n var p = paths.ps = paths.ps || {};\n if (p[ps]) {\n p[ps].sleep = 100;\n } else {\n p[ps] = {\n sleep: 100\n };\n }\n setTimeout(function () {\n for (var key in p) if (p[has](key) && key != ps) {\n p[key].sleep--;\n !p[key].sleep && delete p[key];\n }\n });\n return p[ps];\n }\n function box(x, y, width, height) {\n if (x == null) {\n x = y = width = height = 0;\n }\n if (y == null) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n return {\n x: x,\n y: y,\n width: width,\n w: width,\n height: height,\n h: height,\n x2: x + width,\n y2: y + height,\n cx: x + width / 2,\n cy: y + height / 2,\n r1: math.min(width, height) / 2,\n r2: math.max(width, height) / 2,\n r0: math.sqrt(width * width + height * height) / 2,\n path: rectPath(x, y, width, height),\n vb: [x, y, width, height].join(\" \")\n };\n }\n function toString() {\n return this.join(\",\").replace(p2s, \"$1\");\n }\n function pathClone(pathArray) {\n var res = clone(pathArray);\n res.toString = toString;\n return res;\n }\n function getPointAtSegmentLength(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {\n if (length == null) {\n return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);\n } else {\n return findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y,\n getTotLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));\n }\n }\n function getLengthFactory(istotal, subpath) {\n function O(val) {\n return +(+val).toFixed(3);\n }\n return Snap._.cacher(function (path, length, onlystart) {\n if (path instanceof Element) {\n path = path.attr(\"d\");\n }\n path = path2curve(path);\n var x, y, p, l, sp = \"\", subpaths = {}, point,\n len = 0;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = +p[1];\n y = +p[2];\n } else {\n l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n if (len + l > length) {\n if (subpath && !subpaths.start) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n sp += [\n \"C\" + O(point.start.x),\n O(point.start.y),\n O(point.m.x),\n O(point.m.y),\n O(point.x),\n O(point.y)\n ];\n if (onlystart) {return sp;}\n subpaths.start = sp;\n sp = [\n \"M\" + O(point.x),\n O(point.y) + \"C\" + O(point.n.x),\n O(point.n.y),\n O(point.end.x),\n O(point.end.y),\n O(p[5]),\n O(p[6])\n ].join();\n len += l;\n x = +p[5];\n y = +p[6];\n continue;\n }\n if (!istotal && !subpath) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n return point;\n }\n }\n len += l;\n x = +p[5];\n y = +p[6];\n }\n sp += p.shift() + p;\n }\n subpaths.end = sp;\n point = istotal ? len : subpath ? subpaths : findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);\n return point;\n }, null, Snap._.clone);\n }\n var getTotalLength = getLengthFactory(1),\n getPointAtLength = getLengthFactory(),\n getSubpathsAtLength = getLengthFactory(0, 1);\n function findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t,\n t13 = pow(t1, 3),\n t12 = pow(t1, 2),\n t2 = t * t,\n t3 = t2 * t,\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y,\n mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x),\n my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y),\n nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x),\n ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y),\n ax = t1 * p1x + t * c1x,\n ay = t1 * p1y + t * c1y,\n cx = t1 * c2x + t * p2x,\n cy = t1 * c2y + t * p2y,\n alpha = 90 - math.atan2(mx - nx, my - ny) * 180 / PI;\n // (mx > nx || my < ny) && (alpha += 180);\n return {\n x: x,\n y: y,\n m: {x: mx, y: my},\n n: {x: nx, y: ny},\n start: {x: ax, y: ay},\n end: {x: cx, y: cy},\n alpha: alpha\n };\n }\n function bezierBBox(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\n if (!Snap.is(p1x, \"array\")) {\n p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];\n }\n var bbox = curveDim.apply(null, p1x);\n return box(\n bbox.min.x,\n bbox.min.y,\n bbox.max.x - bbox.min.x,\n bbox.max.y - bbox.min.y\n );\n }\n function isPointInsideBBox(bbox, x, y) {\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n }\n function isBBoxIntersect(bbox1, bbox2) {\n bbox1 = box(bbox1);\n bbox2 = box(bbox2);\n return isPointInsideBBox(bbox2, bbox1.x, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x, bbox1.y2)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y2)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2)\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x\n || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y\n || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\n }\n function base3(t, p1, p2, p3, p4) {\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n }\n function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\n if (z == null) {\n z = 1;\n }\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n var z2 = z / 2,\n n = 12,\n Tvalues = [-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],\n Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],\n sum = 0;\n for (var i = 0; i < n; i++) {\n var ct = z2 * Tvalues[i] + z2,\n xbase = base3(ct, x1, x2, x3, x4),\n ybase = base3(ct, y1, y2, y3, y4),\n comb = xbase * xbase + ybase * ybase;\n sum += Cvalues[i] * math.sqrt(comb);\n }\n return z2 * sum;\n }\n function getTotLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {\n if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {\n return;\n }\n var t = 1,\n step = t / 2,\n t2 = t - step,\n l,\n e = .01;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n while (abs(l - ll) > e) {\n step /= 2;\n t2 += (l < ll ? 1 : -1) * step;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n }\n return t2;\n }\n function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {\n if (\n mmax(x1, x2) < mmin(x3, x4) ||\n mmin(x1, x2) > mmax(x3, x4) ||\n mmax(y1, y2) < mmin(y3, y4) ||\n mmin(y1, y2) > mmax(y3, y4)\n ) {\n return;\n }\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n var px = nx / denominator,\n py = ny / denominator,\n px2 = +px.toFixed(2),\n py2 = +py.toFixed(2);\n if (\n px2 < +mmin(x1, x2).toFixed(2) ||\n px2 > +mmax(x1, x2).toFixed(2) ||\n px2 < +mmin(x3, x4).toFixed(2) ||\n px2 > +mmax(x3, x4).toFixed(2) ||\n py2 < +mmin(y1, y2).toFixed(2) ||\n py2 > +mmax(y1, y2).toFixed(2) ||\n py2 < +mmin(y3, y4).toFixed(2) ||\n py2 > +mmax(y3, y4).toFixed(2)\n ) {\n return;\n }\n return {x: px, y: py};\n }\n function inter(bez1, bez2) {\n return interHelper(bez1, bez2);\n }\n function interCount(bez1, bez2) {\n return interHelper(bez1, bez2, 1);\n }\n function interHelper(bez1, bez2, justCount) {\n var bbox1 = bezierBBox(bez1),\n bbox2 = bezierBBox(bez2);\n if (!isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n var l1 = bezlen.apply(0, bez1),\n l2 = bezlen.apply(0, bez2),\n n1 = ~~(l1 / 8),\n n2 = ~~(l2 / 8),\n dots1 = [],\n dots2 = [],\n xy = {},\n res = justCount ? 0 : [];\n for (var i = 0; i < n1 + 1; i++) {\n var p = findDotsAtSegment.apply(0, bez1.concat(i / n1));\n dots1.push({x: p.x, y: p.y, t: i / n1});\n }\n for (i = 0; i < n2 + 1; i++) {\n p = findDotsAtSegment.apply(0, bez2.concat(i / n2));\n dots2.push({x: p.x, y: p.y, t: i / n2});\n }\n for (i = 0; i < n1; i++) {\n for (var j = 0; j < n2; j++) {\n var di = dots1[i],\n di1 = dots1[i + 1],\n dj = dots2[j],\n dj1 = dots2[j + 1],\n ci = abs(di1.x - di.x) < .001 ? \"y\" : \"x\",\n cj = abs(dj1.x - dj.x) < .001 ? \"y\" : \"x\",\n is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);\n if (is) {\n if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {\n continue;\n }\n xy[is.x.toFixed(4)] = is.y.toFixed(4);\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) {\n if (justCount) {\n res++;\n } else {\n res.push({\n x: is.x,\n y: is.y,\n t1: t1,\n t2: t2\n });\n }\n }\n }\n }\n }\n return res;\n }\n function pathIntersection(path1, path2) {\n return interPathHelper(path1, path2);\n }\n function pathIntersectionNumber(path1, path2) {\n return interPathHelper(path1, path2, 1);\n }\n function interPathHelper(path1, path2, justCount) {\n path1 = path2curve(path1);\n path2 = path2curve(path2);\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\n res = justCount ? 0 : [];\n for (var i = 0, ii = path1.length; i < ii; i++) {\n var pi = path1[i];\n if (pi[0] == \"M\") {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n if (pi[0] == \"C\") {\n bez1 = [x1, y1].concat(pi.slice(1));\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];\n x1 = x1m;\n y1 = y1m;\n }\n for (var j = 0, jj = path2.length; j < jj; j++) {\n var pj = path2[j];\n if (pj[0] == \"M\") {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n if (pj[0] == \"C\") {\n bez2 = [x2, y2].concat(pj.slice(1));\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];\n x2 = x2m;\n y2 = y2m;\n }\n var intr = interHelper(bez1, bez2, justCount);\n if (justCount) {\n res += intr;\n } else {\n for (var k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n res = res.concat(intr);\n }\n }\n }\n }\n }\n return res;\n }\n function isPointInsidePath(path, x, y) {\n var bbox = pathBBox(path);\n return isPointInsideBBox(bbox, x, y) &&\n interPathHelper(path, [[\"M\", x, y], [\"H\", bbox.x2 + 10]], 1) % 2 == 1;\n }\n function pathBBox(path) {\n var pth = paths(path);\n if (pth.bbox) {\n return clone(pth.bbox);\n }\n if (!path) {\n return box();\n }\n path = path2curve(path);\n var x = 0,\n y = 0,\n X = [],\n Y = [],\n p;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = p[1];\n y = p[2];\n X.push(x);\n Y.push(y);\n } else {\n var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n X = X.concat(dim.min.x, dim.max.x);\n Y = Y.concat(dim.min.y, dim.max.y);\n x = p[5];\n y = p[6];\n }\n }\n var xmin = mmin.apply(0, X),\n ymin = mmin.apply(0, Y),\n xmax = mmax.apply(0, X),\n ymax = mmax.apply(0, Y),\n bb = box(xmin, ymin, xmax - xmin, ymax - ymin);\n pth.bbox = clone(bb);\n return bb;\n }\n function rectPath(x, y, w, h, r) {\n if (r) {\n return [\n [\"M\", +x + +r, y],\n [\"l\", w - r * 2, 0],\n [\"a\", r, r, 0, 0, 1, r, r],\n [\"l\", 0, h - r * 2],\n [\"a\", r, r, 0, 0, 1, -r, r],\n [\"l\", r * 2 - w, 0],\n [\"a\", r, r, 0, 0, 1, -r, -r],\n [\"l\", 0, r * 2 - h],\n [\"a\", r, r, 0, 0, 1, r, -r],\n [\"z\"]\n ];\n }\n var res = [[\"M\", x, y], [\"l\", w, 0], [\"l\", 0, h], [\"l\", -w, 0], [\"z\"]];\n res.toString = toString;\n return res;\n }\n function ellipsePath(x, y, rx, ry, a) {\n if (a == null && ry == null) {\n ry = rx;\n }\n x = +x;\n y = +y;\n rx = +rx;\n ry = +ry;\n if (a != null) {\n var rad = Math.PI / 180,\n x1 = x + rx * Math.cos(-ry * rad),\n x2 = x + rx * Math.cos(-a * rad),\n y1 = y + rx * Math.sin(-ry * rad),\n y2 = y + rx * Math.sin(-a * rad),\n res = [[\"M\", x1, y1], [\"A\", rx, rx, 0, +(a - ry > 180), 0, x2, y2]];\n } else {\n res = [\n [\"M\", x, y],\n [\"m\", 0, -ry],\n [\"a\", rx, ry, 0, 1, 1, 0, 2 * ry],\n [\"a\", rx, ry, 0, 1, 1, 0, -2 * ry],\n [\"z\"]\n ];\n }\n res.toString = toString;\n return res;\n }\n var unit2px = Snap._unit2px,\n getPath = {\n path: function (el) {\n return el.attr(\"path\");\n },\n circle: function (el) {\n var attr = unit2px(el);\n return ellipsePath(attr.cx, attr.cy, attr.r);\n },\n ellipse: function (el) {\n var attr = unit2px(el);\n return ellipsePath(attr.cx || 0, attr.cy || 0, attr.rx, attr.ry);\n },\n rect: function (el) {\n var attr = unit2px(el);\n return rectPath(attr.x || 0, attr.y || 0, attr.width, attr.height, attr.rx, attr.ry);\n },\n image: function (el) {\n var attr = unit2px(el);\n return rectPath(attr.x || 0, attr.y || 0, attr.width, attr.height);\n },\n line: function (el) {\n return \"M\" + [el.attr(\"x1\") || 0, el.attr(\"y1\") || 0, el.attr(\"x2\"), el.attr(\"y2\")];\n },\n polyline: function (el) {\n return \"M\" + el.attr(\"points\");\n },\n polygon: function (el) {\n return \"M\" + el.attr(\"points\") + \"z\";\n },\n deflt: function (el) {\n var bbox = el.node.getBBox();\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\n }\n };\n function pathToRelative(pathArray) {\n var pth = paths(pathArray),\n lowerCase = String.prototype.toLowerCase;\n if (pth.rel) {\n return pathClone(pth.rel);\n }\n if (!Snap.is(pathArray, \"array\") || !Snap.is(pathArray && pathArray[0], \"array\")) {\n pathArray = Snap.parsePathString(pathArray);\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0;\n if (pathArray[0][0] == \"M\") {\n x = pathArray[0][1];\n y = pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res.push([\"M\", x, y]);\n }\n for (var i = start, ii = pathArray.length; i < ii; i++) {\n var r = res[i] = [],\n pa = pathArray[i];\n if (pa[0] != lowerCase.call(pa[0])) {\n r[0] = lowerCase.call(pa[0]);\n switch (r[0]) {\n case \"a\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +(pa[6] - x).toFixed(3);\n r[7] = +(pa[7] - y).toFixed(3);\n break;\n case \"v\":\n r[1] = +(pa[1] - y).toFixed(3);\n break;\n case \"m\":\n mx = pa[1];\n my = pa[2];\n default:\n for (var j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +(pa[j] - (j % 2 ? x : y)).toFixed(3);\n }\n }\n } else {\n r = res[i] = [];\n if (pa[0] == \"m\") {\n mx = pa[1] + x;\n my = pa[2] + y;\n }\n for (var k = 0, kk = pa.length; k < kk; k++) {\n res[i][k] = pa[k];\n }\n }\n var len = res[i].length;\n switch (res[i][0]) {\n case \"z\":\n x = mx;\n y = my;\n break;\n case \"h\":\n x += +res[i][len - 1];\n break;\n case \"v\":\n y += +res[i][len - 1];\n break;\n default:\n x += +res[i][len - 2];\n y += +res[i][len - 1];\n }\n }\n res.toString = toString;\n pth.rel = pathClone(res);\n return res;\n }\n function pathToAbsolute(pathArray) {\n var pth = paths(pathArray);\n if (pth.abs) {\n return pathClone(pth.abs);\n }\n if (!is(pathArray, \"array\") || !is(pathArray && pathArray[0], \"array\")) { // rough assumption\n pathArray = Snap.parsePathString(pathArray);\n }\n if (!pathArray || !pathArray.length) {\n return [[\"M\", 0, 0]];\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0,\n pa0;\n if (pathArray[0][0] == \"M\") {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = [\"M\", x, y];\n }\n var crz = pathArray.length == 3 &&\n pathArray[0][0] == \"M\" &&\n pathArray[1][0].toUpperCase() == \"R\" &&\n pathArray[2][0].toUpperCase() == \"Z\";\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push(r = []);\n pa = pathArray[i];\n pa0 = pa[0];\n if (pa0 != pa0.toUpperCase()) {\n r[0] = pa0.toUpperCase();\n switch (r[0]) {\n case \"A\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case \"V\":\n r[1] = +pa[1] + y;\n break;\n case \"H\":\n r[1] = +pa[1] + x;\n break;\n case \"R\":\n var dots = [x, y].concat(pa.slice(1));\n for (var j = 2, jj = dots.length; j < jj; j++) {\n dots[j] = +dots[j] + x;\n dots[++j] = +dots[j] + y;\n }\n res.pop();\n res = res.concat(catmullRom2bezier(dots, crz));\n break;\n case \"O\":\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n break;\n case \"U\":\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = [\"U\"].concat(res[res.length - 1].slice(-2));\n break;\n case \"M\":\n mx = +pa[1] + x;\n my = +pa[2] + y;\n default:\n for (j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + (j % 2 ? x : y);\n }\n }\n } else if (pa0 == \"R\") {\n dots = [x, y].concat(pa.slice(1));\n res.pop();\n res = res.concat(catmullRom2bezier(dots, crz));\n r = [\"R\"].concat(pa.slice(-2));\n } else if (pa0 == \"O\") {\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n } else if (pa0 == \"U\") {\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = [\"U\"].concat(res[res.length - 1].slice(-2));\n } else {\n for (var k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n pa0 = pa0.toUpperCase();\n if (pa0 != \"O\") {\n switch (r[0]) {\n case \"Z\":\n x = +mx;\n y = +my;\n break;\n case \"H\":\n x = r[1];\n break;\n case \"V\":\n y = r[1];\n break;\n case \"M\":\n mx = r[r.length - 2];\n my = r[r.length - 1];\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n }\n res.toString = toString;\n pth.abs = pathClone(res);\n return res;\n }\n function l2c(x1, y1, x2, y2) {\n return [x1, y1, x2, y2, x2, y2];\n }\n function q2c(x1, y1, ax, ay, x2, y2) {\n var _13 = 1 / 3,\n _23 = 2 / 3;\n return [\n _13 * x1 + _23 * ax,\n _13 * y1 + _23 * ay,\n _13 * x2 + _23 * ax,\n _13 * y2 + _23 * ay,\n x2,\n y2\n ];\n }\n function a2c(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n var _120 = PI * 120 / 180,\n rad = PI / 180 * (+angle || 0),\n res = [],\n xy,\n rotate = Snap._.cacher(function (x, y, rad) {\n var X = x * math.cos(rad) - y * math.sin(rad),\n Y = x * math.sin(rad) + y * math.cos(rad);\n return {x: X, y: Y};\n });\n if (!rx || !ry) {\n return [x1, y1, x2, y2, x2, y2];\n }\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n var cos = math.cos(PI / 180 * angle),\n sin = math.sin(PI / 180 * angle),\n x = (x1 - x2) / 2,\n y = (y1 - y2) / 2;\n var h = x * x / (rx * rx) + y * y / (ry * ry);\n if (h > 1) {\n h = math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n var rx2 = rx * rx,\n ry2 = ry * ry,\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\n cx = k * rx * y / ry + (x1 + x2) / 2,\n cy = k * -ry * x / rx + (y1 + y2) / 2,\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? PI - f1 : f1;\n f2 = x2 < cx ? PI - f2 : f2;\n f1 < 0 && (f1 = PI * 2 + f1);\n f2 < 0 && (f2 = PI * 2 + f2);\n if (sweep_flag && f1 > f2) {\n f1 = f1 - PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n var df = f2 - f1;\n if (abs(df) > _120) {\n var f2old = f2,\n x2old = x2,\n y2old = y2;\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * math.cos(f2);\n y2 = cy + ry * math.sin(f2);\n res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n var c1 = math.cos(f1),\n s1 = math.sin(f1),\n c2 = math.cos(f2),\n s2 = math.sin(f2),\n t = math.tan(df / 4),\n hx = 4 / 3 * rx * t,\n hy = 4 / 3 * ry * t,\n m1 = [x1, y1],\n m2 = [x1 + hx * s1, y1 - hy * c1],\n m3 = [x2 + hx * s2, y2 - hy * c2],\n m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(res);\n } else {\n res = [m2, m3, m4].concat(res).join().split(\",\");\n var newres = [];\n for (var i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n return newres;\n }\n }\n function findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t;\n return {\n x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,\n y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y\n };\n }\n\n // Returns bounding box of cubic bezier curve.\n // Source: http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n // Original version: NISHIO Hirokazu\n // Modifications: https://github.com/timo22345\n function curveDim(x0, y0, x1, y1, x2, y2, x3, y3) {\n var tvalues = [],\n bounds = [[], []],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (var i = 0; i < 2; ++i) {\n if (i == 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length,\n jlen = j,\n mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n\n return {\n min: {x: mmin.apply(0, bounds[0]), y: mmin.apply(0, bounds[1])},\n max: {x: mmax.apply(0, bounds[0]), y: mmax.apply(0, bounds[1])}\n };\n }\n\n function path2curve(path, path2) {\n var pth = !path2 && paths(path);\n if (!path2 && pth.curve) {\n return pathClone(pth.curve);\n }\n var p = pathToAbsolute(path),\n p2 = path2 && pathToAbsolute(path2),\n attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n processPath = function (path, d, pcom) {\n var nx, ny;\n if (!path) {\n return [\"C\", d.x, d.y, d.x, d.y, d.x, d.y];\n }\n !(path[0] in {T: 1, Q: 1}) && (d.qx = d.qy = null);\n switch (path[0]) {\n case \"M\":\n d.X = path[1];\n d.Y = path[2];\n break;\n case \"A\":\n path = [\"C\"].concat(a2c.apply(0, [d.x, d.y].concat(path.slice(1))));\n break;\n case \"S\":\n if (pcom == \"C\" || pcom == \"S\") { // In \"S\" case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx; // And reflect the previous\n ny = d.y * 2 - d.by; // command's control point relative to the current point.\n }\n else { // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = [\"C\", nx, ny].concat(path.slice(1));\n break;\n case \"T\":\n if (pcom == \"Q\" || pcom == \"T\") { // In \"T\" case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx; // And make a reflection similar\n d.qy = d.y * 2 - d.qy; // to case \"S\".\n }\n else { // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = [\"C\"].concat(q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));\n break;\n case \"Q\":\n d.qx = path[1];\n d.qy = path[2];\n path = [\"C\"].concat(q2c(d.x, d.y, path[1], path[2], path[3], path[4]));\n break;\n case \"L\":\n path = [\"C\"].concat(l2c(d.x, d.y, path[1], path[2]));\n break;\n case \"H\":\n path = [\"C\"].concat(l2c(d.x, d.y, path[1], d.y));\n break;\n case \"V\":\n path = [\"C\"].concat(l2c(d.x, d.y, d.x, path[1]));\n break;\n case \"Z\":\n path = [\"C\"].concat(l2c(d.x, d.y, d.X, d.Y));\n break;\n }\n return path;\n },\n fixArc = function (pp, i) {\n if (pp[i].length > 7) {\n pp[i].shift();\n var pi = pp[i];\n while (pi.length) {\n pcoms1[i] = \"A\"; // if created multiple C:s, their original seg is saved\n p2 && (pcoms2[i] = \"A\"); // the same as above\n pp.splice(i++, 0, [\"C\"].concat(pi.splice(0, 6)));\n }\n pp.splice(i, 1);\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n fixM = function (path1, path2, a1, a2, i) {\n if (path1 && path2 && path1[i][0] == \"M\" && path2[i][0] != \"M\") {\n path2.splice(i, 0, [\"M\", a2.x, a2.y]);\n a1.bx = 0;\n a1.by = 0;\n a1.x = path1[i][1];\n a1.y = path1[i][2];\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n pcoms1 = [], // path commands of original path p\n pcoms2 = [], // path commands of original path p2\n pfirst = \"\", // temporary holder for original path command\n pcom = \"\"; // holder for previous path command of original path\n for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) {\n p[i] && (pfirst = p[i][0]); // save current path command\n\n if (pfirst != \"C\") // C is not saved yet, because it may be result of conversion\n {\n pcoms1[i] = pfirst; // Save current path command\n i && ( pcom = pcoms1[i - 1]); // Get previous path command pcom\n }\n p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath\n\n if (pcoms1[i] != \"A\" && pfirst == \"C\") pcoms1[i] = \"C\"; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1\n\n if (p2) { // the same procedures is done to p2\n p2[i] && (pfirst = p2[i][0]);\n if (pfirst != \"C\") {\n pcoms2[i] = pfirst;\n i && (pcom = pcoms2[i - 1]);\n }\n p2[i] = processPath(p2[i], attrs2, pcom);\n\n if (pcoms2[i] != \"A\" && pfirst == \"C\") {\n pcoms2[i] = \"C\";\n }\n\n fixArc(p2, i);\n }\n fixM(p, p2, attrs, attrs2, i);\n fixM(p2, p, attrs2, attrs, i);\n var seg = p[i],\n seg2 = p2 && p2[i],\n seglen = seg.length,\n seg2len = p2 && seg2.length;\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\n attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);\n attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);\n attrs2.x = p2 && seg2[seg2len - 2];\n attrs2.y = p2 && seg2[seg2len - 1];\n }\n if (!p2) {\n pth.curve = pathClone(p);\n }\n return p2 ? [p, p2] : p;\n }\n function mapPath(path, matrix) {\n if (!matrix) {\n return path;\n }\n var x, y, i, j, ii, jj, pathi;\n path = path2curve(path);\n for (i = 0, ii = path.length; i < ii; i++) {\n pathi = path[i];\n for (j = 1, jj = pathi.length; j < jj; j += 2) {\n x = matrix.x(pathi[j], pathi[j + 1]);\n y = matrix.y(pathi[j], pathi[j + 1]);\n pathi[j] = x;\n pathi[j + 1] = y;\n }\n }\n return path;\n }\n\n // http://schepers.cc/getting-to-the-point\n function catmullRom2bezier(crp, z) {\n var d = [];\n for (var i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) {\n var p = [\n {x: +crp[i - 2], y: +crp[i - 1]},\n {x: +crp[i], y: +crp[i + 1]},\n {x: +crp[i + 2], y: +crp[i + 3]},\n {x: +crp[i + 4], y: +crp[i + 5]}\n ];\n if (z) {\n if (!i) {\n p[0] = {x: +crp[iLen - 2], y: +crp[iLen - 1]};\n } else if (iLen - 4 == i) {\n p[3] = {x: +crp[0], y: +crp[1]};\n } else if (iLen - 2 == i) {\n p[2] = {x: +crp[0], y: +crp[1]};\n p[3] = {x: +crp[2], y: +crp[3]};\n }\n } else {\n if (iLen - 4 == i) {\n p[3] = p[2];\n } else if (!i) {\n p[0] = {x: +crp[i], y: +crp[i + 1]};\n }\n }\n d.push([\"C\",\n (-p[0].x + 6 * p[1].x + p[2].x) / 6,\n (-p[0].y + 6 * p[1].y + p[2].y) / 6,\n (p[1].x + 6 * p[2].x - p[3].x) / 6,\n (p[1].y + 6*p[2].y - p[3].y) / 6,\n p[2].x,\n p[2].y\n ]);\n }\n\n return d;\n }\n\n // export\n Snap.path = paths;\n\n /*\\\n * Snap.path.getTotalLength\n [ method ]\n **\n * Returns the length of the given path in pixels\n **\n - path (string) SVG path string\n **\n = (number) length\n \\*/\n Snap.path.getTotalLength = getTotalLength;\n /*\\\n * Snap.path.getPointAtLength\n [ method ]\n **\n * Returns the coordinates of the point located at the given length along the given path\n **\n - path (string) SVG path string\n - length (number) length, in pixels, from the start of the path, excluding non-rendering jumps\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate,\n o y: (number) y coordinate,\n o alpha: (number) angle of derivative\n o }\n \\*/\n Snap.path.getPointAtLength = getPointAtLength;\n /*\\\n * Snap.path.getSubpath\n [ method ]\n **\n * Returns the subpath of a given path between given start and end lengths\n **\n - path (string) SVG path string\n - from (number) length, in pixels, from the start of the path to the start of the segment\n - to (number) length, in pixels, from the start of the path to the end of the segment\n **\n = (string) path string definition for the segment\n \\*/\n Snap.path.getSubpath = function (path, from, to) {\n if (this.getTotalLength(path) - to < 1e-6) {\n return getSubpathsAtLength(path, from).end;\n }\n var a = getSubpathsAtLength(path, to, 1);\n return from ? getSubpathsAtLength(a, from).end : a;\n };\n /*\\\n * Element.getTotalLength\n [ method ]\n **\n * Returns the length of the path in pixels (only works for `path` elements)\n = (number) length\n \\*/\n elproto.getTotalLength = function () {\n if (this.node.getTotalLength) {\n return this.node.getTotalLength();\n }\n };\n // SIERRA Element.getPointAtLength()/Element.getTotalLength(): If a <path> is broken into different segments, is the jump distance to the new coordinates set by the _M_ or _m_ commands calculated as part of the path's total length?\n /*\\\n * Element.getPointAtLength\n [ method ]\n **\n * Returns coordinates of the point located at the given length on the given path (only works for `path` elements)\n **\n - length (number) length, in pixels, from the start of the path, excluding non-rendering jumps\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate,\n o y: (number) y coordinate,\n o alpha: (number) angle of derivative\n o }\n \\*/\n elproto.getPointAtLength = function (length) {\n return getPointAtLength(this.attr(\"d\"), length);\n };\n // SIERRA Element.getSubpath(): Similar to the problem for Element.getPointAtLength(). Unclear how this would work for a segmented path. Overall, the concept of _subpath_ and what I'm calling a _segment_ (series of non-_M_ or _Z_ commands) is unclear.\n /*\\\n * Element.getSubpath\n [ method ]\n **\n * Returns subpath of a given element from given start and end lengths (only works for `path` elements)\n **\n - from (number) length, in pixels, from the start of the path to the start of the segment\n - to (number) length, in pixels, from the start of the path to the end of the segment\n **\n = (string) path string definition for the segment\n \\*/\n elproto.getSubpath = function (from, to) {\n return Snap.path.getSubpath(this.attr(\"d\"), from, to);\n };\n Snap._.box = box;\n /*\\\n * Snap.path.findDotsAtSegment\n [ method ]\n **\n * Utility method\n **\n * Finds dot coordinates on the given cubic beziér curve at the given t\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n - t (number) position on the curve (0..1)\n = (object) point information in format:\n o {\n o x: (number) x coordinate of the point,\n o y: (number) y coordinate of the point,\n o m: {\n o x: (number) x coordinate of the left anchor,\n o y: (number) y coordinate of the left anchor\n o },\n o n: {\n o x: (number) x coordinate of the right anchor,\n o y: (number) y coordinate of the right anchor\n o },\n o start: {\n o x: (number) x coordinate of the start of the curve,\n o y: (number) y coordinate of the start of the curve\n o },\n o end: {\n o x: (number) x coordinate of the end of the curve,\n o y: (number) y coordinate of the end of the curve\n o },\n o alpha: (number) angle of the curve derivative at the point\n o }\n \\*/\n Snap.path.findDotsAtSegment = findDotsAtSegment;\n /*\\\n * Snap.path.bezierBBox\n [ method ]\n **\n * Utility method\n **\n * Returns the bounding box of a given cubic beziér curve\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n * or\n - bez (array) array of six points for beziér curve\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box,\n o y: (number) y coordinate of the left top point of the box,\n o x2: (number) x coordinate of the right bottom point of the box,\n o y2: (number) y coordinate of the right bottom point of the box,\n o width: (number) width of the box,\n o height: (number) height of the box\n o }\n \\*/\n Snap.path.bezierBBox = bezierBBox;\n /*\\\n * Snap.path.isPointInsideBBox\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside bounding box\n - bbox (string) bounding box\n - x (string) x coordinate of the point\n - y (string) y coordinate of the point\n = (boolean) `true` if point is inside\n \\*/\n Snap.path.isPointInsideBBox = isPointInsideBBox;\n Snap.closest = function (x, y, X, Y) {\n var r = 100,\n b = box(x - r / 2, y - r / 2, r, r),\n inside = [],\n getter = X[0].hasOwnProperty(\"x\") ? function (i) {\n return {\n x: X[i].x,\n y: X[i].y\n };\n } : function (i) {\n return {\n x: X[i],\n y: Y[i]\n };\n },\n found = 0;\n while (r <= 1e6 && !found) {\n for (var i = 0, ii = X.length; i < ii; i++) {\n var xy = getter(i);\n if (isPointInsideBBox(b, xy.x, xy.y)) {\n found++;\n inside.push(xy);\n break;\n }\n }\n if (!found) {\n r *= 2;\n b = box(x - r / 2, y - r / 2, r, r)\n }\n }\n if (r == 1e6) {\n return;\n }\n var len = Infinity,\n res;\n for (i = 0, ii = inside.length; i < ii; i++) {\n var l = Snap.len(x, y, inside[i].x, inside[i].y);\n if (len > l) {\n len = l;\n inside[i].len = l;\n res = inside[i];\n }\n }\n return res;\n };\n /*\\\n * Snap.path.isBBoxIntersect\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if two bounding boxes intersect\n - bbox1 (string) first bounding box\n - bbox2 (string) second bounding box\n = (boolean) `true` if bounding boxes intersect\n \\*/\n Snap.path.isBBoxIntersect = isBBoxIntersect;\n /*\\\n * Snap.path.intersection\n [ method ]\n **\n * Utility method\n **\n * Finds intersections of two paths\n - path1 (string) path string\n - path2 (string) path string\n = (array) dots of intersection\n o [\n o {\n o x: (number) x coordinate of the point,\n o y: (number) y coordinate of the point,\n o t1: (number) t value for segment of path1,\n o t2: (number) t value for segment of path2,\n o segment1: (number) order number for segment of path1,\n o segment2: (number) order number for segment of path2,\n o bez1: (array) eight coordinates representing beziér curve for the segment of path1,\n o bez2: (array) eight coordinates representing beziér curve for the segment of path2\n o }\n o ]\n \\*/\n Snap.path.intersection = pathIntersection;\n Snap.path.intersectionNumber = pathIntersectionNumber;\n /*\\\n * Snap.path.isPointInside\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside a given closed path.\n *\n * Note: fill mode doesn’t affect the result of this method.\n - path (string) path string\n - x (number) x of the point\n - y (number) y of the point\n = (boolean) `true` if point is inside the path\n \\*/\n Snap.path.isPointInside = isPointInsidePath;\n /*\\\n * Snap.path.getBBox\n [ method ]\n **\n * Utility method\n **\n * Returns the bounding box of a given path\n - path (string) path string\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box,\n o y: (number) y coordinate of the left top point of the box,\n o x2: (number) x coordinate of the right bottom point of the box,\n o y2: (number) y coordinate of the right bottom point of the box,\n o width: (number) width of the box,\n o height: (number) height of the box\n o }\n \\*/\n Snap.path.getBBox = pathBBox;\n Snap.path.get = getPath;\n /*\\\n * Snap.path.toRelative\n [ method ]\n **\n * Utility method\n **\n * Converts path coordinates into relative values\n - path (string) path string\n = (array) path string\n \\*/\n Snap.path.toRelative = pathToRelative;\n /*\\\n * Snap.path.toAbsolute\n [ method ]\n **\n * Utility method\n **\n * Converts path coordinates into absolute values\n - path (string) path string\n = (array) path string\n \\*/\n Snap.path.toAbsolute = pathToAbsolute;\n /*\\\n * Snap.path.toCubic\n [ method ]\n **\n * Utility method\n **\n * Converts path to a new path where all segments are cubic beziér curves\n - pathString (string|array) path string or array of segments\n = (array) array of segments\n \\*/\n Snap.path.toCubic = path2curve;\n /*\\\n * Snap.path.map\n [ method ]\n **\n * Transform the path string with the given matrix\n - path (string) path string\n - matrix (object) see @Matrix\n = (string) transformed path string\n \\*/\n Snap.path.map = mapPath;\n Snap.path.toString = toString;\n Snap.path.clone = pathClone;\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var mmax = Math.max,\n mmin = Math.min;\n\n // Set\n var Set = function (items) {\n this.items = [];\n\tthis.bindings = {};\n this.length = 0;\n this.type = \"set\";\n if (items) {\n for (var i = 0, ii = items.length; i < ii; i++) {\n if (items[i]) {\n this[this.items.length] = this.items[this.items.length] = items[i];\n this.length++;\n }\n }\n }\n },\n setproto = Set.prototype;\n /*\\\n * Set.push\n [ method ]\n **\n * Adds each argument to the current set\n = (object) original element\n \\*/\n setproto.push = function () {\n var item,\n len;\n for (var i = 0, ii = arguments.length; i < ii; i++) {\n item = arguments[i];\n if (item) {\n len = this.items.length;\n this[len] = this.items[len] = item;\n this.length++;\n }\n }\n return this;\n };\n /*\\\n * Set.pop\n [ method ]\n **\n * Removes last element and returns it\n = (object) element\n \\*/\n setproto.pop = function () {\n this.length && delete this[this.length--];\n return this.items.pop();\n };\n /*\\\n * Set.forEach\n [ method ]\n **\n * Executes given function for each element in the set\n *\n * If the function returns `false`, the loop stops running.\n **\n - callback (function) function to run\n - thisArg (object) context object for the callback\n = (object) Set object\n \\*/\n setproto.forEach = function (callback, thisArg) {\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n if (callback.call(thisArg, this.items[i], i) === false) {\n return this;\n }\n }\n return this;\n };\n /*\\\n * Set.animate\n [ method ]\n **\n * Animates each element in set in sync.\n *\n **\n - attrs (object) key-value pairs of destination attributes\n - duration (number) duration of the animation in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function that executes when the animation ends\n * or\n - animation (array) array of animation parameter for each element in set in format `[attrs, duration, easing, callback]`\n > Usage\n | // animate all elements in set to radius 10\n | set.animate({r: 10}, 500, mina.easein);\n | // or\n | // animate first element to radius 10, but second to radius 20 and in different time\n | set.animate([{r: 10}, 500, mina.easein], [{r: 20}, 1500, mina.easein]);\n = (Element) the current element\n \\*/\n setproto.animate = function (attrs, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n if (attrs instanceof Snap._.Animation) {\n callback = attrs.callback;\n easing = attrs.easing;\n ms = easing.dur;\n attrs = attrs.attr;\n }\n var args = arguments;\n if (Snap.is(attrs, \"array\") && Snap.is(args[args.length - 1], \"array\")) {\n var each = true;\n }\n var begin,\n handler = function () {\n if (begin) {\n this.b = begin;\n } else {\n begin = this.b;\n }\n },\n cb = 0,\n set = this,\n callbacker = callback && function () {\n if (++cb == set.length) {\n callback.call(this);\n }\n };\n return this.forEach(function (el, i) {\n eve.once(\"snap.animcreated.\" + el.id, handler);\n if (each) {\n args[i] && el.animate.apply(el, args[i]);\n } else {\n el.animate(attrs, ms, easing, callbacker);\n }\n });\n };\n /*\\\n * Set.remove\n [ method ]\n **\n * Removes all children of the set.\n *\n = (object) Set object\n \\*/\n setproto.remove = function () {\n while (this.length) {\n this.pop().remove();\n }\n return this;\n };\n /*\\\n * Set.bind\n [ method ]\n **\n * Specifies how to handle a specific attribute when applied\n * to a set.\n *\n **\n - attr (string) attribute name\n - callback (function) function to run\n * or\n - attr (string) attribute name\n - element (Element) specific element in the set to apply the attribute to\n * or\n - attr (string) attribute name\n - element (Element) specific element in the set to apply the attribute to\n - eattr (string) attribute on the element to bind the attribute to\n = (object) Set object\n \\*/\n setproto.bind = function (attr, a, b) {\n var data = {};\n if (typeof a == \"function\") {\n this.bindings[attr] = a;\n } else {\n var aname = b || attr;\n this.bindings[attr] = function (v) {\n data[aname] = v;\n a.attr(data);\n };\n }\n return this;\n };\n /*\\\n * Set.attr\n [ method ]\n **\n * Equivalent of @Element.attr.\n = (object) Set object\n \\*/\n setproto.attr = function (value) {\n var unbound = {};\n for (var k in value) {\n if (this.bindings[k]) {\n this.bindings[k](value[k]);\n } else {\n unbound[k] = value[k];\n }\n }\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n this.items[i].attr(unbound);\n }\n return this;\n };\n /*\\\n * Set.clear\n [ method ]\n **\n * Removes all elements from the set\n \\*/\n setproto.clear = function () {\n while (this.length) {\n this.pop();\n }\n };\n /*\\\n * Set.splice\n [ method ]\n **\n * Removes range of elements from the set\n **\n - index (number) position of the deletion\n - count (number) number of element to remove\n - insertion… (object) #optional elements to insert\n = (object) set elements that were deleted\n \\*/\n setproto.splice = function (index, count, insertion) {\n index = index < 0 ? mmax(this.length + index, 0) : index;\n count = mmax(0, mmin(this.length - index, count));\n var tail = [],\n todel = [],\n args = [],\n i;\n for (i = 2; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n for (i = 0; i < count; i++) {\n todel.push(this[index + i]);\n }\n for (; i < this.length - index; i++) {\n tail.push(this[index + i]);\n }\n var arglen = args.length;\n for (i = 0; i < arglen + tail.length; i++) {\n this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];\n }\n i = this.items.length = this.length -= count - arglen;\n while (this[i]) {\n delete this[i++];\n }\n return new Set(todel);\n };\n /*\\\n * Set.exclude\n [ method ]\n **\n * Removes given element from the set\n **\n - element (object) element to remove\n = (boolean) `true` if object was found and removed from the set\n \\*/\n setproto.exclude = function (el) {\n for (var i = 0, ii = this.length; i < ii; i++) if (this[i] == el) {\n this.splice(i, 1);\n return true;\n }\n return false;\n };\n /*\\\n * Set.insertAfter\n [ method ]\n **\n * Inserts set elements after given element.\n **\n - element (object) set will be inserted after this element\n = (object) Set object\n \\*/\n setproto.insertAfter = function (el) {\n var i = this.items.length;\n while (i--) {\n this.items[i].insertAfter(el);\n }\n return this;\n };\n /*\\\n * Set.getBBox\n [ method ]\n **\n * Union of all bboxes of the set. See @Element.getBBox.\n = (object) bounding box descriptor. See @Element.getBBox.\n \\*/\n setproto.getBBox = function () {\n var x = [],\n y = [],\n x2 = [],\n y2 = [];\n for (var i = this.items.length; i--;) if (!this.items[i].removed) {\n var box = this.items[i].getBBox();\n x.push(box.x);\n y.push(box.y);\n x2.push(box.x + box.width);\n y2.push(box.y + box.height);\n }\n x = mmin.apply(0, x);\n y = mmin.apply(0, y);\n x2 = mmax.apply(0, x2);\n y2 = mmax.apply(0, y2);\n return {\n x: x,\n y: y,\n x2: x2,\n y2: y2,\n width: x2 - x,\n height: y2 - y,\n cx: x + (x2 - x) / 2,\n cy: y + (y2 - y) / 2\n };\n };\n /*\\\n * Set.insertAfter\n [ method ]\n **\n * Creates a clone of the set.\n **\n = (object) New Set object\n \\*/\n setproto.clone = function (s) {\n s = new Set;\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n s.push(this.items[i].clone());\n }\n return s;\n };\n setproto.toString = function () {\n return \"Snap\\u2018s set\";\n };\n setproto.type = \"set\";\n // export\n /*\\\n * Snap.Set\n [ property ]\n **\n * Set constructor.\n \\*/\n Snap.Set = Set;\n /*\\\n * Snap.set\n [ method ]\n **\n * Creates a set and fills it with list of arguments.\n **\n = (object) New Set object\n | var r = paper.rect(0, 0, 10, 10),\n | s1 = Snap.set(), // empty set\n | s2 = Snap.set(r, paper.circle(100, 100, 20)); // prefilled set\n \\*/\n Snap.set = function () {\n var set = new Set;\n if (arguments.length) {\n set.push.apply(set, Array.prototype.slice.call(arguments, 0));\n }\n return set;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var names = {},\n reUnit = /[%a-z]+$/i,\n Str = String;\n names.stroke = names.fill = \"colour\";\n function getEmpty(item) {\n var l = item[0];\n switch (l.toLowerCase()) {\n case \"t\": return [l, 0, 0];\n case \"m\": return [l, 1, 0, 0, 1, 0, 0];\n case \"r\": if (item.length == 4) {\n return [l, 0, item[2], item[3]];\n } else {\n return [l, 0];\n }\n case \"s\": if (item.length == 5) {\n return [l, 1, 1, item[3], item[4]];\n } else if (item.length == 3) {\n return [l, 1, 1];\n } else {\n return [l, 1];\n }\n }\n }\n function equaliseTransform(t1, t2, getBBox) {\n t1 = t1 || new Snap.Matrix;\n t2 = t2 || new Snap.Matrix;\n t1 = Snap.parseTransformString(t1.toTransformString()) || [];\n t2 = Snap.parseTransformString(t2.toTransformString()) || [];\n var maxlength = Math.max(t1.length, t2.length),\n from = [],\n to = [],\n i = 0, j, jj,\n tt1, tt2;\n for (; i < maxlength; i++) {\n tt1 = t1[i] || getEmpty(t2[i]);\n tt2 = t2[i] || getEmpty(tt1);\n if (tt1[0] != tt2[0] ||\n tt1[0].toLowerCase() == \"r\" && (tt1[2] != tt2[2] || tt1[3] != tt2[3]) ||\n tt1[0].toLowerCase() == \"s\" && (tt1[3] != tt2[3] || tt1[4] != tt2[4])\n ) {\n t1 = Snap._.transform2matrix(t1, getBBox());\n t2 = Snap._.transform2matrix(t2, getBBox());\n from = [[\"m\", t1.a, t1.b, t1.c, t1.d, t1.e, t1.f]];\n to = [[\"m\", t2.a, t2.b, t2.c, t2.d, t2.e, t2.f]];\n break;\n }\n from[i] = [];\n to[i] = [];\n for (j = 0, jj = Math.max(tt1.length, tt2.length); j < jj; j++) {\n j in tt1 && (from[i][j] = tt1[j]);\n j in tt2 && (to[i][j] = tt2[j]);\n }\n }\n return {\n from: path2array(from),\n to: path2array(to),\n f: getPath(from)\n };\n }\n function getNumber(val) {\n return val;\n }\n function getUnit(unit) {\n return function (val) {\n return +val.toFixed(3) + unit;\n };\n }\n function getViewBox(val) {\n return val.join(\" \");\n }\n function getColour(clr) {\n return Snap.rgb(clr[0], clr[1], clr[2], clr[3]);\n }\n function getPath(path) {\n var k = 0, i, ii, j, jj, out, a, b = [];\n for (i = 0, ii = path.length; i < ii; i++) {\n out = \"[\";\n a = ['\"' + path[i][0] + '\"'];\n for (j = 1, jj = path[i].length; j < jj; j++) {\n a[j] = \"val[\" + k++ + \"]\";\n }\n out += a + \"]\";\n b[i] = out;\n }\n return Function(\"val\", \"return Snap.path.toString.call([\" + b + \"])\");\n }\n function path2array(path) {\n var out = [];\n for (var i = 0, ii = path.length; i < ii; i++) {\n for (var j = 1, jj = path[i].length; j < jj; j++) {\n out.push(path[i][j]);\n }\n }\n return out;\n }\n function isNumeric(obj) {\n return isFinite(obj);\n }\n function arrayEqual(arr1, arr2) {\n if (!Snap.is(arr1, \"array\") || !Snap.is(arr2, \"array\")) {\n return false;\n }\n return arr1.toString() == arr2.toString();\n }\n Element.prototype.equal = function (name, b) {\n return eve(\"snap.util.equal\", this, name, b).firstDefined();\n };\n eve.on(\"snap.util.equal\", function (name, b) {\n var A, B, a = Str(this.attr(name) || \"\"),\n el = this;\n if (names[name] == \"colour\") {\n A = Snap.color(a);\n B = Snap.color(b);\n return {\n from: [A.r, A.g, A.b, A.opacity],\n to: [B.r, B.g, B.b, B.opacity],\n f: getColour\n };\n }\n if (name == \"viewBox\") {\n A = this.attr(name).vb.split(\" \").map(Number);\n B = b.split(\" \").map(Number);\n return {\n from: A,\n to: B,\n f: getViewBox\n };\n }\n if (name == \"transform\" || name == \"gradientTransform\" || name == \"patternTransform\") {\n if (typeof b == \"string\") {\n b = Str(b).replace(/\\.{3}|\\u2026/g, a);\n }\n a = this.matrix;\n if (!Snap._.rgTransform.test(b)) {\n b = Snap._.transform2matrix(Snap._.svgTransform2string(b), this.getBBox());\n } else {\n b = Snap._.transform2matrix(b, this.getBBox());\n }\n return equaliseTransform(a, b, function () {\n return el.getBBox(1);\n });\n }\n if (name == \"d\" || name == \"path\") {\n A = Snap.path.toCubic(a, b);\n return {\n from: path2array(A[0]),\n to: path2array(A[1]),\n f: getPath(A[0])\n };\n }\n if (name == \"points\") {\n A = Str(a).split(Snap._.separator);\n B = Str(b).split(Snap._.separator);\n return {\n from: A,\n to: B,\n f: function (val) { return val; }\n };\n }\n if (isNumeric(a) && isNumeric(b)) {\n return {\n from: parseFloat(a),\n to: parseFloat(b),\n f: getNumber\n };\n }\n var aUnit = a.match(reUnit),\n bUnit = Str(b).match(reUnit);\n if (aUnit && arrayEqual(aUnit, bUnit)) {\n return {\n from: parseFloat(a),\n to: parseFloat(b),\n f: getUnit(aUnit)\n };\n } else {\n return {\n from: this.asPX(name),\n to: this.asPX(name, b),\n f: getNumber\n };\n }\n });\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n// \n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// \n// http://www.apache.org/licenses/LICENSE-2.0\n// \n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n has = \"hasOwnProperty\",\n supportsTouch = \"createTouch\" in glob.doc,\n events = [\n \"click\", \"dblclick\", \"mousedown\", \"mousemove\", \"mouseout\",\n \"mouseover\", \"mouseup\", \"touchstart\", \"touchmove\", \"touchend\",\n \"touchcancel\"\n ],\n touchMap = {\n mousedown: \"touchstart\",\n mousemove: \"touchmove\",\n mouseup: \"touchend\"\n },\n getScroll = function (xy, el) {\n var name = xy == \"y\" ? \"scrollTop\" : \"scrollLeft\",\n doc = el && el.node ? el.node.ownerDocument : glob.doc;\n return doc[name in doc.documentElement ? \"documentElement\" : \"body\"][name];\n },\n preventDefault = function () {\n this.returnValue = false;\n },\n preventTouch = function () {\n return this.originalEvent.preventDefault();\n },\n stopPropagation = function () {\n this.cancelBubble = true;\n },\n stopTouch = function () {\n return this.originalEvent.stopPropagation();\n },\n addEvent = function (obj, type, fn, element) {\n var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,\n f = function (e) {\n var scrollY = getScroll(\"y\", element),\n scrollX = getScroll(\"x\", element);\n if (supportsTouch && touchMap[has](type)) {\n for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {\n if (e.targetTouches[i].target == obj || obj.contains(e.targetTouches[i].target)) {\n var olde = e;\n e = e.targetTouches[i];\n e.originalEvent = olde;\n e.preventDefault = preventTouch;\n e.stopPropagation = stopTouch;\n break;\n }\n }\n }\n var x = e.clientX + scrollX,\n y = e.clientY + scrollY;\n return fn.call(element, e, x, y);\n };\n\n if (type !== realName) {\n obj.addEventListener(type, f, false);\n }\n\n obj.addEventListener(realName, f, false);\n\n return function () {\n if (type !== realName) {\n obj.removeEventListener(type, f, false);\n }\n\n obj.removeEventListener(realName, f, false);\n return true;\n };\n },\n drag = [],\n dragMove = function (e) {\n var x = e.clientX,\n y = e.clientY,\n scrollY = getScroll(\"y\"),\n scrollX = getScroll(\"x\"),\n dragi,\n j = drag.length;\n while (j--) {\n dragi = drag[j];\n if (supportsTouch) {\n var i = e.touches && e.touches.length,\n touch;\n while (i--) {\n touch = e.touches[i];\n if (touch.identifier == dragi.el._drag.id || dragi.el.node.contains(touch.target)) {\n x = touch.clientX;\n y = touch.clientY;\n (e.originalEvent ? e.originalEvent : e).preventDefault();\n break;\n }\n }\n } else {\n e.preventDefault();\n }\n var node = dragi.el.node,\n o,\n next = node.nextSibling,\n parent = node.parentNode,\n display = node.style.display;\n // glob.win.opera && parent.removeChild(node);\n // node.style.display = \"none\";\n // o = dragi.el.paper.getElementByPoint(x, y);\n // node.style.display = display;\n // glob.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));\n // o && eve(\"snap.drag.over.\" + dragi.el.id, dragi.el, o);\n x += scrollX;\n y += scrollY;\n eve(\"snap.drag.move.\" + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);\n }\n },\n dragUp = function (e) {\n Snap.unmousemove(dragMove).unmouseup(dragUp);\n var i = drag.length,\n dragi;\n while (i--) {\n dragi = drag[i];\n dragi.el._drag = {};\n eve(\"snap.drag.end.\" + dragi.el.id, dragi.end_scope || dragi.start_scope || dragi.move_scope || dragi.el, e);\n eve.off(\"snap.drag.*.\" + dragi.el.id);\n }\n drag = [];\n };\n /*\\\n * Element.click\n [ method ]\n **\n * Adds a click event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unclick\n [ method ]\n **\n * Removes a click event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.dblclick\n [ method ]\n **\n * Adds a double click event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.undblclick\n [ method ]\n **\n * Removes a double click event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mousedown\n [ method ]\n **\n * Adds a mousedown event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousedown\n [ method ]\n **\n * Removes a mousedown event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mousemove\n [ method ]\n **\n * Adds a mousemove event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousemove\n [ method ]\n **\n * Removes a mousemove event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseout\n [ method ]\n **\n * Adds a mouseout event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseout\n [ method ]\n **\n * Removes a mouseout event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseover\n [ method ]\n **\n * Adds a mouseover event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseover\n [ method ]\n **\n * Removes a mouseover event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseup\n [ method ]\n **\n * Adds a mouseup event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseup\n [ method ]\n **\n * Removes a mouseup event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchstart\n [ method ]\n **\n * Adds a touchstart event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchstart\n [ method ]\n **\n * Removes a touchstart event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchmove\n [ method ]\n **\n * Adds a touchmove event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchmove\n [ method ]\n **\n * Removes a touchmove event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchend\n [ method ]\n **\n * Adds a touchend event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchend\n [ method ]\n **\n * Removes a touchend event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchcancel\n [ method ]\n **\n * Adds a touchcancel event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchcancel\n [ method ]\n **\n * Removes a touchcancel event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n for (var i = events.length; i--;) {\n (function (eventName) {\n Snap[eventName] = elproto[eventName] = function (fn, scope) {\n if (Snap.is(fn, \"function\")) {\n this.events = this.events || [];\n this.events.push({\n name: eventName,\n f: fn,\n unbind: addEvent(this.node || document, eventName, fn, scope || this)\n });\n } else {\n for (var i = 0, ii = this.events.length; i < ii; i++) if (this.events[i].name == eventName) {\n try {\n this.events[i].f.call(this);\n } catch (e) {}\n }\n }\n return this;\n };\n Snap[\"un\" + eventName] =\n elproto[\"un\" + eventName] = function (fn) {\n var events = this.events || [],\n l = events.length;\n while (l--) if (events[l].name == eventName &&\n (events[l].f == fn || !fn)) {\n events[l].unbind();\n events.splice(l, 1);\n !events.length && delete this.events;\n return this;\n }\n return this;\n };\n })(events[i]);\n }\n /*\\\n * Element.hover\n [ method ]\n **\n * Adds hover event handlers to the element\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n - icontext (object) #optional context for hover in handler\n - ocontext (object) #optional context for hover out handler\n = (object) @Element\n \\*/\n elproto.hover = function (f_in, f_out, scope_in, scope_out) {\n return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);\n };\n /*\\\n * Element.unhover\n [ method ]\n **\n * Removes hover event handlers from the element\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n = (object) @Element\n \\*/\n elproto.unhover = function (f_in, f_out) {\n return this.unmouseover(f_in).unmouseout(f_out);\n };\n var draggable = [];\n // SIERRA unclear what _context_ refers to for starting, ending, moving the drag gesture.\n // SIERRA Element.drag(): _x position of the mouse_: Where are the x/y values offset from?\n // SIERRA Element.drag(): much of this member's doc appears to be duplicated for some reason.\n // SIERRA Unclear about this sentence: _Additionally following drag events will be triggered: drag.start.<id> on start, drag.end.<id> on end and drag.move.<id> on every move._ Is there a global _drag_ object to which you can assign handlers keyed by an element's ID?\n /*\\\n * Element.drag\n [ method ]\n **\n * Adds event handlers for an element's drag gesture\n **\n - onmove (function) handler for moving\n - onstart (function) handler for drag start\n - onend (function) handler for drag end\n - mcontext (object) #optional context for moving handler\n - scontext (object) #optional context for drag start handler\n - econtext (object) #optional context for drag end handler\n * Additionaly following `drag` events are triggered: `drag.start.<id>` on start, \n * `drag.end.<id>` on end and `drag.move.<id>` on every move. When element is dragged over another element \n * `drag.over.<id>` fires as well.\n *\n * Start event and start handler are called in specified context or in context of the element with following parameters:\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * Move event and move handler are called in specified context or in context of the element with following parameters:\n o dx (number) shift by x from the start point\n o dy (number) shift by y from the start point\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * End event and end handler are called in specified context or in context of the element with following parameters:\n o event (object) DOM event object\n = (object) @Element\n \\*/\n elproto.drag = function (onmove, onstart, onend, move_scope, start_scope, end_scope) {\n var el = this;\n if (!arguments.length) {\n var origTransform;\n return el.drag(function (dx, dy) {\n this.attr({\n transform: origTransform + (origTransform ? \"T\" : \"t\") + [dx, dy]\n });\n }, function () {\n origTransform = this.transform().local;\n });\n }\n function start(e, x, y) {\n (e.originalEvent || e).preventDefault();\n el._drag.x = x;\n el._drag.y = y;\n el._drag.id = e.identifier;\n !drag.length && Snap.mousemove(dragMove).mouseup(dragUp);\n drag.push({el: el, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope});\n onstart && eve.on(\"snap.drag.start.\" + el.id, onstart);\n onmove && eve.on(\"snap.drag.move.\" + el.id, onmove);\n onend && eve.on(\"snap.drag.end.\" + el.id, onend);\n eve(\"snap.drag.start.\" + el.id, start_scope || move_scope || el, x, y, e);\n }\n function init(e, x, y) {\n eve(\"snap.draginit.\" + el.id, el, e, x, y);\n }\n eve.on(\"snap.draginit.\" + el.id, start);\n el._drag = {};\n draggable.push({el: el, start: start, init: init});\n el.mousedown(init);\n return el;\n };\n /*\n * Element.onDragOver\n [ method ]\n **\n * Shortcut to assign event handler for `drag.over.<id>` event, where `id` is the element's `id` (see @Element.id)\n - f (function) handler for event, first argument would be the element you are dragging over\n \\*/\n // elproto.onDragOver = function (f) {\n // f ? eve.on(\"snap.drag.over.\" + this.id, f) : eve.unbind(\"snap.drag.over.\" + this.id);\n // };\n /*\\\n * Element.undrag\n [ method ]\n **\n * Removes all drag event handlers from the given element\n \\*/\n elproto.undrag = function () {\n var i = draggable.length;\n while (i--) if (draggable[i].el == this) {\n this.unmousedown(draggable[i].init);\n draggable.splice(i, 1);\n eve.unbind(\"snap.drag.*.\" + this.id);\n eve.unbind(\"snap.draginit.\" + this.id);\n }\n !draggable.length && Snap.unmousemove(dragMove).unmouseup(dragUp);\n return this;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n pproto = Paper.prototype,\n rgurl = /^\\s*url\\((.+)\\)/,\n Str = String,\n $ = Snap._.$;\n Snap.filter = {};\n /*\\\n * Paper.filter\n [ method ]\n **\n * Creates a `<filter>` element\n **\n - filstr (string) SVG fragment of filter provided as a string\n = (object) @Element\n * Note: It is recommended to use filters embedded into the page inside an empty SVG element.\n > Usage\n | var f = paper.filter('<feGaussianBlur stdDeviation=\"2\"/>'),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n pproto.filter = function (filstr) {\n var paper = this;\n if (paper.type != \"svg\") {\n paper = paper.paper;\n }\n var f = Snap.parse(Str(filstr)),\n id = Snap._.id(),\n width = paper.node.offsetWidth,\n height = paper.node.offsetHeight,\n filter = $(\"filter\");\n $(filter, {\n id: id,\n filterUnits: \"userSpaceOnUse\"\n });\n filter.appendChild(f.node);\n paper.defs.appendChild(filter);\n return new Element(filter);\n };\n\n eve.on(\"snap.util.getattr.filter\", function () {\n eve.stop();\n var p = $(this.node, \"filter\");\n if (p) {\n var match = Str(p).match(rgurl);\n return match && Snap.select(match[1]);\n }\n });\n eve.on(\"snap.util.attr.filter\", function (value) {\n if (value instanceof Element && value.type == \"filter\") {\n eve.stop();\n var id = value.node.id;\n if (!id) {\n $(value.node, {id: value.id});\n id = value.id;\n }\n $(this.node, {\n filter: Snap.url(id)\n });\n }\n if (!value || value == \"none\") {\n eve.stop();\n this.node.removeAttribute(\"filter\");\n }\n });\n /*\\\n * Snap.filter.blur\n [ method ]\n **\n * Returns an SVG markup string for the blur filter\n **\n - x (number) amount of horizontal blur, in pixels\n - y (number) #optional amount of vertical blur, in pixels\n = (string) filter representation\n > Usage\n | var f = paper.filter(Snap.filter.blur(5, 10)),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n Snap.filter.blur = function (x, y) {\n if (x == null) {\n x = 2;\n }\n var def = y == null ? x : [x, y];\n return Snap.format('\\<feGaussianBlur stdDeviation=\"{def}\"/>', {\n def: def\n });\n };\n Snap.filter.blur.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.shadow\n [ method ]\n **\n * Returns an SVG markup string for the shadow filter\n **\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - blur (number) #optional amount of blur\n - color (string) #optional color of the shadow\n - opacity (number) #optional `0..1` opacity of the shadow\n * or\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - color (string) #optional color of the shadow\n - opacity (number) #optional `0..1` opacity of the shadow\n * which makes blur default to `4`. Or\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - opacity (number) #optional `0..1` opacity of the shadow\n = (string) filter representation\n > Usage\n | var f = paper.filter(Snap.filter.shadow(0, 2, .3)),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n Snap.filter.shadow = function (dx, dy, blur, color, opacity) {\n if (opacity == null) {\n if (color == null) {\n opacity = blur;\n blur = 4;\n color = \"#000\";\n } else {\n opacity = color;\n color = blur;\n blur = 4;\n }\n }\n if (blur == null) {\n blur = 4;\n }\n if (opacity == null) {\n opacity = 1;\n }\n if (dx == null) {\n dx = 0;\n dy = 2;\n }\n if (dy == null) {\n dy = dx;\n }\n color = Snap.color(color);\n return Snap.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>', {\n color: color,\n dx: dx,\n dy: dy,\n blur: blur,\n opacity: opacity\n });\n };\n Snap.filter.shadow.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.grayscale\n [ method ]\n **\n * Returns an SVG markup string for the grayscale filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.grayscale = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>', {\n a: 0.2126 + 0.7874 * (1 - amount),\n b: 0.7152 - 0.7152 * (1 - amount),\n c: 0.0722 - 0.0722 * (1 - amount),\n d: 0.2126 - 0.2126 * (1 - amount),\n e: 0.7152 + 0.2848 * (1 - amount),\n f: 0.0722 - 0.0722 * (1 - amount),\n g: 0.2126 - 0.2126 * (1 - amount),\n h: 0.0722 + 0.9278 * (1 - amount)\n });\n };\n Snap.filter.grayscale.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.sepia\n [ method ]\n **\n * Returns an SVG markup string for the sepia filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.sepia = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>', {\n a: 0.393 + 0.607 * (1 - amount),\n b: 0.769 - 0.769 * (1 - amount),\n c: 0.189 - 0.189 * (1 - amount),\n d: 0.349 - 0.349 * (1 - amount),\n e: 0.686 + 0.314 * (1 - amount),\n f: 0.168 - 0.168 * (1 - amount),\n g: 0.272 - 0.272 * (1 - amount),\n h: 0.534 - 0.534 * (1 - amount),\n i: 0.131 + 0.869 * (1 - amount)\n });\n };\n Snap.filter.sepia.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.saturate\n [ method ]\n **\n * Returns an SVG markup string for the saturate filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.saturate = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>', {\n amount: 1 - amount\n });\n };\n Snap.filter.saturate.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.hueRotate\n [ method ]\n **\n * Returns an SVG markup string for the hue-rotate filter\n **\n - angle (number) angle of rotation\n = (string) filter representation\n \\*/\n Snap.filter.hueRotate = function (angle) {\n angle = angle || 0;\n return Snap.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>', {\n angle: angle\n });\n };\n Snap.filter.hueRotate.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.invert\n [ method ]\n **\n * Returns an SVG markup string for the invert filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.invert = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n// <feColorMatrix type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\" color-interpolation-filters=\"sRGB\"/>\n return Snap.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>', {\n amount: amount,\n amount2: 1 - amount\n });\n };\n Snap.filter.invert.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.brightness\n [ method ]\n **\n * Returns an SVG markup string for the brightness filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.brightness = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>', {\n amount: amount\n });\n };\n Snap.filter.brightness.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.contrast\n [ method ]\n **\n * Returns an SVG markup string for the contrast filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.contrast = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>', {\n amount: amount,\n amount2: .5 - amount / 2\n });\n };\n Snap.filter.contrast.toString = function () {\n return this();\n };\n});\n\n// Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var box = Snap._.box,\n is = Snap.is,\n firstLetter = /^[^a-z]*([tbmlrc])/i,\n toString = function () {\n return \"T\" + this.dx + \",\" + this.dy;\n };\n /*\\\n * Element.getAlign\n [ method ]\n **\n * Returns shift needed to align the element relatively to given element.\n * If no elements specified, parent `<svg>` container will be used.\n - el (object) @optional alignment element\n - way (string) one of six values: `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"left\"`, `\"center\"`, `\"right\"`\n = (object|string) Object in format `{dx: , dy: }` also has a string representation as a transformation string\n > Usage\n | el.transform(el.getAlign(el2, \"top\"));\n * or\n | var dy = el.getAlign(el2, \"top\").dy;\n \\*/\n Element.prototype.getAlign = function (el, way) {\n if (way == null && is(el, \"string\")) {\n way = el;\n el = null;\n }\n el = el || this.paper;\n var bx = el.getBBox ? el.getBBox() : box(el),\n bb = this.getBBox(),\n out = {};\n way = way && way.match(firstLetter);\n way = way ? way[1].toLowerCase() : \"c\";\n switch (way) {\n case \"t\":\n out.dx = 0;\n out.dy = bx.y - bb.y;\n break;\n case \"b\":\n out.dx = 0;\n out.dy = bx.y2 - bb.y2;\n break;\n case \"m\":\n out.dx = 0;\n out.dy = bx.cy - bb.cy;\n break;\n case \"l\":\n out.dx = bx.x - bb.x;\n out.dy = 0;\n break;\n case \"r\":\n out.dx = bx.x2 - bb.x2;\n out.dy = 0;\n break;\n default:\n out.dx = bx.cx - bb.cx;\n out.dy = 0;\n break;\n }\n out.toString = toString;\n return out;\n };\n /*\\\n * Element.align\n [ method ]\n **\n * Aligns the element relatively to given one via transformation.\n * If no elements specified, parent `<svg>` container will be used.\n - el (object) @optional alignment element\n - way (string) one of six values: `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"left\"`, `\"center\"`, `\"right\"`\n = (object) this element\n > Usage\n | el.align(el2, \"top\");\n * or\n | el.align(\"middle\");\n \\*/\n Element.prototype.align = function (el, way) {\n return this.transform(\"...\" + this.getAlign(el, way));\n };\n});\n\n// Copyright (c) 2016 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n has = \"hasOwnProperty\";\n function slice(from, to, f) {\n return function (arr) {\n var res = arr.slice(from, to);\n if (res.length == 1) {\n res = res[0];\n }\n return f ? f(res) : res;\n };\n }\n var Animation = function (attr, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n this.attr = attr;\n this.dur = ms;\n easing && (this.easing = easing);\n callback && (this.callback = callback);\n };\n Snap._.Animation = Animation;\n /*\\\n * Snap.animation\n [ method ]\n **\n * Creates an animation object\n **\n - attr (object) attributes of final destination\n - duration (number) duration of the animation, in milliseconds\n - easing (function) #optional one of easing functions of @mina or custom one\n - callback (function) #optional callback function that fires when animation ends\n = (object) animation object\n \\*/\n Snap.animation = function (attr, ms, easing, callback) {\n return new Animation(attr, ms, easing, callback);\n };\n /*\\\n * Element.inAnim\n [ method ]\n **\n * Returns a set of animations that may be able to manipulate the current element\n **\n = (object) in format:\n o {\n o anim (object) animation object,\n o mina (object) @mina object,\n o curStatus (number) 0..1 — status of the animation: 0 — just started, 1 — just finished,\n o status (function) gets or sets the status of the animation,\n o stop (function) stops the animation\n o }\n \\*/\n elproto.inAnim = function () {\n var el = this,\n res = [];\n for (var id in el.anims) if (el.anims[has](id)) {\n (function (a) {\n res.push({\n anim: new Animation(a._attrs, a.dur, a.easing, a._callback),\n mina: a,\n curStatus: a.status(),\n status: function (val) {\n return a.status(val);\n },\n stop: function () {\n a.stop();\n }\n });\n }(el.anims[id]));\n }\n return res;\n };\n /*\\\n * Snap.animate\n [ method ]\n **\n * Runs generic animation of one number into another with a caring function\n **\n - from (number|array) number or array of numbers\n - to (number|array) number or array of numbers\n - setter (function) caring function that accepts one number argument\n - duration (number) duration, in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function to execute when animation ends\n = (object) animation object in @mina format\n o {\n o id (string) animation id, consider it read-only,\n o duration (function) gets or sets the duration of the animation,\n o easing (function) easing,\n o speed (function) gets or sets the speed of the animation,\n o status (function) gets or sets the status of the animation,\n o stop (function) stops the animation\n o }\n | var rect = Snap().rect(0, 0, 10, 10);\n | Snap.animate(0, 10, function (val) {\n | rect.attr({\n | x: val\n | });\n | }, 1000);\n | // in given context is equivalent to\n | rect.animate({x: 10}, 1000);\n \\*/\n Snap.animate = function (from, to, setter, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n var now = mina.time(),\n anim = mina(from, to, now, now + ms, mina.time, setter, easing);\n callback && eve.once(\"mina.finish.\" + anim.id, callback);\n return anim;\n };\n /*\\\n * Element.stop\n [ method ]\n **\n * Stops all the animations for the current element\n **\n = (Element) the current element\n \\*/\n elproto.stop = function () {\n var anims = this.inAnim();\n for (var i = 0, ii = anims.length; i < ii; i++) {\n anims[i].stop();\n }\n return this;\n };\n /*\\\n * Element.animate\n [ method ]\n **\n * Animates the given attributes of the element\n **\n - attrs (object) key-value pairs of destination attributes\n - duration (number) duration of the animation in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function that executes when the animation ends\n = (Element) the current element\n \\*/\n elproto.animate = function (attrs, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n if (attrs instanceof Animation) {\n callback = attrs.callback;\n easing = attrs.easing;\n ms = attrs.dur;\n attrs = attrs.attr;\n }\n var fkeys = [], tkeys = [], keys = {}, from, to, f, eq,\n el = this;\n for (var key in attrs) if (attrs[has](key)) {\n if (el.equal) {\n eq = el.equal(key, Str(attrs[key]));\n from = eq.from;\n to = eq.to;\n f = eq.f;\n } else {\n from = +el.attr(key);\n to = +attrs[key];\n }\n var len = is(from, \"array\") ? from.length : 1;\n keys[key] = slice(fkeys.length, fkeys.length + len, f);\n fkeys = fkeys.concat(from);\n tkeys = tkeys.concat(to);\n }\n var now = mina.time(),\n anim = mina(fkeys, tkeys, now, now + ms, mina.time, function (val) {\n var attr = {};\n for (var key in keys) if (keys[has](key)) {\n attr[key] = keys[key](val);\n }\n el.attr(attr);\n }, easing);\n el.anims[anim.id] = anim;\n anim._attrs = attrs;\n anim._callback = callback;\n eve(\"snap.animcreated.\" + el.id, anim);\n eve.once(\"mina.finish.\" + anim.id, function () {\n eve.off(\"mina.*.\" + anim.id);\n delete el.anims[anim.id];\n callback && callback.call(el);\n });\n eve.once(\"mina.stop.\" + anim.id, function () {\n eve.off(\"mina.*.\" + anim.id);\n delete el.anims[anim.id];\n });\n return el;\n };\n});\n\n// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n // Colours are from https://www.materialui.co\n var red = \"#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000\",\n pink = \"#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162\",\n purple = \"#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF\",\n deeppurple = \"#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA\",\n indigo = \"#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE\",\n blue = \"#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF\",\n lightblue = \"#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA\",\n cyan = \"#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4\",\n teal = \"#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5\",\n green = \"#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853\",\n lightgreen = \"#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17\",\n lime = \"#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00\",\n yellow = \"#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600\",\n amber = \"#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00\",\n orange = \"#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00\",\n deeporange = \"#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00\",\n brown = \"#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723\",\n grey = \"#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121\",\n bluegrey = \"#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238\";\n /*\\\n * Snap.mui\n [ property ]\n **\n * Contain Material UI colours.\n | Snap().rect(0, 0, 10, 10).attr({fill: Snap.mui.deeppurple, stroke: Snap.mui.amber[600]});\n # For colour reference: <a href=\"https://www.materialui.co\">https://www.materialui.co</a>.\n \\*/\n Snap.mui = {};\n /*\\\n * Snap.flat\n [ property ]\n **\n * Contain Flat UI colours.\n | Snap().rect(0, 0, 10, 10).attr({fill: Snap.flat.carrot, stroke: Snap.flat.wetasphalt});\n # For colour reference: <a href=\"https://www.materialui.co\">https://www.materialui.co</a>.\n \\*/\n Snap.flat = {};\n function saveColor(colors) {\n colors = colors.split(/(?=#)/);\n var color = new String(colors[5]);\n color[50] = colors[0];\n color[100] = colors[1];\n color[200] = colors[2];\n color[300] = colors[3];\n color[400] = colors[4];\n color[500] = colors[5];\n color[600] = colors[6];\n color[700] = colors[7];\n color[800] = colors[8];\n color[900] = colors[9];\n if (colors[10]) {\n color.A100 = colors[10];\n color.A200 = colors[11];\n color.A400 = colors[12];\n color.A700 = colors[13];\n }\n return color;\n }\n Snap.mui.red = saveColor(red);\n Snap.mui.pink = saveColor(pink);\n Snap.mui.purple = saveColor(purple);\n Snap.mui.deeppurple = saveColor(deeppurple);\n Snap.mui.indigo = saveColor(indigo);\n Snap.mui.blue = saveColor(blue);\n Snap.mui.lightblue = saveColor(lightblue);\n Snap.mui.cyan = saveColor(cyan);\n Snap.mui.teal = saveColor(teal);\n Snap.mui.green = saveColor(green);\n Snap.mui.lightgreen = saveColor(lightgreen);\n Snap.mui.lime = saveColor(lime);\n Snap.mui.yellow = saveColor(yellow);\n Snap.mui.amber = saveColor(amber);\n Snap.mui.orange = saveColor(orange);\n Snap.mui.deeporange = saveColor(deeporange);\n Snap.mui.brown = saveColor(brown);\n Snap.mui.grey = saveColor(grey);\n Snap.mui.bluegrey = saveColor(bluegrey);\n Snap.flat.turquoise = \"#1abc9c\";\n Snap.flat.greensea = \"#16a085\";\n Snap.flat.sunflower = \"#f1c40f\";\n Snap.flat.orange = \"#f39c12\";\n Snap.flat.emerland = \"#2ecc71\";\n Snap.flat.nephritis = \"#27ae60\";\n Snap.flat.carrot = \"#e67e22\";\n Snap.flat.pumpkin = \"#d35400\";\n Snap.flat.peterriver = \"#3498db\";\n Snap.flat.belizehole = \"#2980b9\";\n Snap.flat.alizarin = \"#e74c3c\";\n Snap.flat.pomegranate = \"#c0392b\";\n Snap.flat.amethyst = \"#9b59b6\";\n Snap.flat.wisteria = \"#8e44ad\";\n Snap.flat.clouds = \"#ecf0f1\";\n Snap.flat.silver = \"#bdc3c7\";\n Snap.flat.wetasphalt = \"#34495e\";\n Snap.flat.midnightblue = \"#2c3e50\";\n Snap.flat.concrete = \"#95a5a6\";\n Snap.flat.asbestos = \"#7f8c8d\";\n /*\\\n * Snap.importMUIColors\n [ method ]\n **\n * Imports Material UI colours into global object.\n | Snap.importMUIColors();\n | Snap().rect(0, 0, 10, 10).attr({fill: deeppurple, stroke: amber[600]});\n # For colour reference: <a href=\"https://www.materialui.co\">https://www.materialui.co</a>.\n \\*/\n Snap.importMUIColors = function () {\n for (var color in Snap.mui) {\n if (Snap.mui.hasOwnProperty(color)) {\n window[color] = Snap.mui[color];\n }\n }\n };\n});\n\nmodule.exports = Snap\n","// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┠\\\\\n// │ Eve 0.5.4 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.5.4\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n comaseparator = /\\s*,\\s*/,\n wildcard = \"*\",\n numsort = function (a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {n: {}},\n firstDefined = function () {\n for (var i = 0, ii = this.length; i < ii; i++) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n lastDefined = function () {\n var i = this.length;\n while (--i) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n objtos = Object.prototype.toString,\n Str = String,\n isArray = Array.isArray || function (ar) {\n return ar instanceof Array || objtos.call(ar) == \"[object Array]\";\n },\n /*\\\n * eve\n [ method ]\n\n * Fires event with given `name`, given scope and other parameters.\n\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n\n = (object) array of returned values from the listeners. Array has two methods `.firstDefined()` and `.lastDefined()` to get first or last not `undefined` value.\n \\*/\n eve = function (name, scope) {\n var oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event;\n out.firstDefined = firstDefined;\n out.lastDefined = lastDefined;\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l)\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out;\n };\n // Undocumented. Debug only.\n eve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = isArray(name) ? name : name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n /*\\\n * eve.separator\n [ method ]\n\n * If for some reasons you don’t like default separators (`.` or `/`) you can specify yours\n * here. Be aware that if you pass a string longer than one character it will be treated as\n * a list of characters.\n\n - separator (string) new separator. Empty string resets to default: `.` or `/`.\n \\*/\n eve.separator = function (sep) {\n if (sep) {\n sep = Str(sep).replace(/(?=[\\.\\^\\]\\[\\-])/g, \"\\\\\");\n sep = \"[\" + sep + \"]\";\n separator = new RegExp(sep);\n } else {\n separator = /[\\.\\/]/;\n }\n };\n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`†for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n - name (array) if you don’t want to use separators, you can use array of strings\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment.\n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt` function will be called before `eatIt`.\n *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in caseâ€.\n \\*/\n eve.on = function (name, f) {\n if (typeof f != \"function\") {\n return function () {};\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n for (var i = 0, ii = names.length; i < ii; i++) {\n (function (name) {\n var names = isArray(name) ? name : Str(name).split(separator),\n e = events,\n exist;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\n exist = true;\n break;\n }\n !exist && e.f.push(f);\n }(names[i]));\n }\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n * Arguments that will be passed to the result function will be also\n * concated to the list of final arguments.\n | el.onclick = eve.f(\"click\", 1, 2);\n | eve.on(\"click\", function (a, b, c) {\n | console.log(a, b, c); // 1, 2, [event object]\n | });\n - event (string) event name\n - varargs (…) and any other arguments\n = (function) possible event handler function\n \\*/\n eve.f = function (event) {\n var attrs = [].slice.call(arguments, 1);\n return function () {\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n };\n };\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n var cur = isArray(current_event) ? current_event.join(\".\") : current_event;\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(cur);\n }\n return cur;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return isArray(current_event) ? current_event : current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n * If no arguments specified all the events will be cleared.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n if (!name) {\n eve._events = events = {n: {}};\n return;\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n if (names.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n eve.off(names[i], f);\n }\n return;\n }\n names = isArray(name) ? name : Str(name).split(separator);\n var e,\n key,\n splice,\n i, ii, j, jj,\n cur = [events],\n inodes = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n inodes.unshift({\n n: e,\n name: names[i]\n });\n }\n } else {\n for (key in e) if (e[has](key)) {\n splice.push(e[key]);\n inodes.unshift({\n n: e,\n name: key\n });\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n !funcs.length && delete e.n[key].f;\n }\n } else {\n delete e.f;\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n e = e.n;\n }\n }\n // prune inner nodes in path\n prune: for (i = 0, ii = inodes.length; i < ii; i++) {\n e = inodes[i];\n for (key in e.n[e.name].f) {\n // not empty (has listeners)\n continue prune;\n }\n for (key in e.n[e.name].n) {\n // not empty (has children)\n continue prune;\n }\n // is empty\n delete e.n[e.name];\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function () {\n eve.off(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n glob.eve = eve;\n typeof module != \"undefined\" && module.exports ? module.exports = eve : typeof define === \"function\" && define.amd ? define(\"eve\", [], function () { return eve; }) : glob.eve = eve;\n})(typeof window != \"undefined\" ? window : this);\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersSnapsvgImporter = require('../helpers/snapsvgImporter');\n\nvar _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter);\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar _helpersUtils = require('../helpers/utils');\n\nvar BUBBLE_WIDTH = 140;\n\nvar styles = {\n svg: {\n lib: _helpersSnapsvgImporter2['default'],\n pathInitial: 'M-7.312,0H0c0,0,0,113.839,0,400c0,264.506,0,400,0,400h-7.312V0z',\n pathOpen: 'M-7.312,0H15c0,0,66,113.339,66,399.5C81,664.006,15,800,15,800H-7.312V0z;M-7.312,0H100c0,0,0,113.839,0,400c0,264.506,0,400,0,400H-7.312V0z',\n animate: function animate(path) {\n var pos = 0;\n var steps = this.pathOpen.split(';');\n var stepsTotal = steps.length;\n var mina = window.mina;\n\n var nextStep = function nextStep() {\n if (pos > stepsTotal - 1) return;\n\n path.animate({ path: steps[pos] }, pos === 0 ? 400 : 500, pos === 0 ? mina.easein : mina.elastic, function () {\n nextStep();\n });\n\n pos++;\n };\n\n nextStep();\n }\n },\n\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: '100%',\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n MsTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n OTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n WebkitTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n transform: right ? 'rotateY(180deg)' : 'rotateY(0deg)'\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: isOpen ? 'transform 0.4s 0s' : 'transform 0.4s'\n };\n },\n\n menu: function menu(isOpen, width, right) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n position: 'fixed',\n MozTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n\n item: function item(isOpen, width, right, nthChild) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s, transform 0.3s 0.4s' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n\n closeButton: function closeButton(isOpen, width, right) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transformOrigin: right ? '100% 50%' : '0% 50%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n MsTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n OTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n WebkitTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n transform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n transformOrigin: '100%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer() {\n return {\n perspective: '1500px'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n transform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s',\n overflow: isOpen ? '' : 'hidden'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n menuWrap: function menuWrap(isOpen) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n MsTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n OTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n transform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n transition: 'all 0.5s ease-in-out'\n };\n },\n\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n perspectiveOrigin: '0% 50%',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: 'translate3d(0, 0, 0)',\n MsTransform: 'translate3d(0, 0, 0)',\n OTransform: 'translate3d(0, 0, 0)',\n WebkitTransform: 'translate3d(0, 0, 0)',\n transform: 'translate3d(0, 0, 0)',\n zIndex: isOpen ? 1000 : -1\n };\n },\n\n overlay: function overlay(isOpen, width, right) {\n return {\n zIndex: 1400,\n MozTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n MsTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n OTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n WebkitTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transition: 'all 0.5s',\n visibility: isOpen ? 'visible' : 'hidden'\n };\n },\n\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s',\n zIndex: 1200,\n position: 'relative'\n };\n },\n\n burgerIcon: function burgerIcon(isOpen, width, right) {\n return {\n MozTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n MsTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n OTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n WebkitTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transition: 'all 0.1s',\n position: 'relative',\n zIndex: 1300\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];"],"sourceRoot":""} \ No newline at end of file diff --git a/backend/static/react/js/2.92bb91cc.chunk.js b/backend/static/react/js/2.c5f15404.chunk.js similarity index 68% rename from backend/static/react/js/2.92bb91cc.chunk.js rename to backend/static/react/js/2.c5f15404.chunk.js index e3f29262f2b019171f2572a68674103228134995..b4a14e3eb0a26dff106724360bd34931055cbaf0 100644 --- a/backend/static/react/js/2.92bb91cc.chunk.js +++ b/backend/static/react/js/2.c5f15404.chunk.js @@ -1,3 +1,3 @@ -/*! For license information please see 2.92bb91cc.chunk.js.LICENSE.txt */ -(this["webpackJsonpinaglobe-dashboard"]=this["webpackJsonpinaglobe-dashboard"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(39)},function(e,t,n){"use strict";e.exports=n(34)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(17);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){a=!0,o=l}finally{try{r||null==u.return||u.return()}finally{if(a)throw o}}return n}}(e,t)||Object(r.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(15);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return g}));var r=n(7),a=n(9),o=n(1),i=n.n(o),u=n(11),l=(n(13),n(2)),s=n(14),c=n(10);i.a.Component;var f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=Object(u.b)(t.props),t}return Object(a.a)(t,e),t.prototype.render=function(){return i.a.createElement(r.b,{history:this.history,children:this.props.children})},t}(i.a.Component);var d=function(e,t){return"function"===typeof e?e(t):e},p=function(e,t){return"string"===typeof e?Object(u.c)(e,null,null,t):e},h=function(e){return e},m=i.a.forwardRef;"undefined"===typeof m&&(m=h);var v=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,o=Object(s.a)(e,["innerRef","navigate","onClick"]),u=o.target,c=Object(l.a)({},o,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=h!==m&&t||n,i.a.createElement("a",c)}));var g=m((function(e,t){var n=e.component,a=void 0===n?v:n,o=e.replace,u=e.to,f=e.innerRef,g=Object(s.a)(e,["component","replace","to","innerRef"]);return i.a.createElement(r.d.Consumer,null,(function(e){e||Object(c.a)(!1);var n=e.history,r=p(d(u,e.location),e.location),s=r?n.createHref(r):"",v=Object(l.a)({},g,{href:s,navigate:function(){var t=d(u,e.location);(o?n.replace:n.push)(t)}});return h!==m?v.ref=t||f:v.innerRef=f,i.a.createElement(a,v)}))})),y=function(e){return e},b=i.a.forwardRef;"undefined"===typeof b&&(b=y);b((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,o=e.activeClassName,u=void 0===o?"active":o,f=e.activeStyle,h=e.className,m=e.exact,v=e.isActive,x=e.location,w=e.sensitive,k=e.strict,O=e.style,C=e.to,S=e.innerRef,E=Object(s.a)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return i.a.createElement(r.d.Consumer,null,(function(e){e||Object(c.a)(!1);var n=x||e.location,o=p(d(C,n),n),s=o.pathname,_=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),F=_?Object(r.e)(n.pathname,{path:_,exact:m,sensitive:w,strict:k}):null,P=!!(v?v(F,n):F),T=P?function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(h,u):h,M=P?Object(l.a)({},O,{},f):O,j=Object(l.a)({"aria-current":P&&a||null,className:T,style:M,to:o},E);return y!==b?j.ref=t||S:j.innerRef=S,i.a.createElement(g,j)}))}))},function(e,t,n){e.exports=n(45)},function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return y})),n.d(t,"f",(function(){return _})),n.d(t,"g",(function(){return F}));var r=n(9),a=n(1),o=n.n(a),i=(n(13),n(11)),u=n(25),l=n(10),s=n(2),c=n(26),f=n.n(c),d=(n(27),n(14)),p=(n(18),function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History")),h=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),m=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.a.createElement(h.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.a.createElement(p.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.a.Component);o.a.Component;o.a.Component;var v={},g=0;function y(e,t){void 0===t&&(t={}),("string"===typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,u=void 0!==i&&i,l=n.sensitive,s=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=v[n]||(v[n]={});if(r[e])return r[e];var a=[],o={regexp:f()(e,a,t),keys:a};return g<1e4&&(r[e]=o,g++),o}(n,{end:o,strict:u,sensitive:s}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var c=l[0],d=l.slice(1),p=e===c;return o&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=d[n],e}),{})}}),null)}var b=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(h.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?y(n.pathname,e.props):t.match,a=Object(s.a)({},t,{location:n,match:r}),i=e.props,u=i.children,c=i.component,f=i.render;return Array.isArray(u)&&0===u.length&&(u=null),o.a.createElement(h.Provider,{value:a},a.match?u?"function"===typeof u?u(a):u:c?o.a.createElement(c,a):f?f(a):null:"function"===typeof u?u(a):null)}))},t}(o.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function w(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:Object(s.a)({},t,{pathname:t.pathname.substr(n.length)})}function k(e){return"string"===typeof e?e:Object(i.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function C(){}o.a.Component;var S=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(h.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,a=e.props.location||t.location;return o.a.Children.forEach(e.props.children,(function(e){if(null==r&&o.a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?y(a.pathname,Object(s.a)({},e.props,{path:i})):t.match}})),r?o.a.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.a.Component);var E=o.a.useContext;function _(){return E(p)}function F(){var e=E(h).match;return e?e.params:{}}},function(e,t,n){"use strict";function r(e,t,n,r,a,o,i){try{var u=e[o](i),l=u.value}catch(s){return void n(s)}u.done?t(l):Promise.resolve(l).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,l,"next",e)}function l(e){r(i,a,o,u,l,"throw",e)}u(void 0)}))}}n.d(t,"a",(function(){return a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(20);function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Object(r.a)(e,t)}},function(e,t,n){"use strict";var r="Invariant failed";t.a=function(e,t){if(!e)throw new Error(r)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return O})),n.d(t,"b",(function(){return P})),n.d(t,"d",(function(){return M})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var r=n(2);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}var i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],u=e&&a(e),l=t&&a(t),s=u||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var f=0,d=i.length;d>=0;d--){var p=i[d];"."===p?o(i,d):".."===p?(o(i,d),f++):f&&(o(i,d),f--)}if(!s)for(;f--;f)i.unshift("..");!s||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=u(t),a=u(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},s=n(10);function c(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function m(e,t,n,a){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(r.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(u){throw u instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):u}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var y=!("undefined"===typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}var x="popstate",w="hashchange";function k(){try{return window.history.state||{}}catch(e){return{}}}function O(e){void 0===e&&(e={}),y||Object(s.a)(!1);var t=window.history,n=function(){var e=window.navigator.userAgent;return(-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history}(),a=!(-1===window.navigator.userAgent.indexOf("Trident")),o=e,i=o.forceRefresh,u=void 0!==i&&i,l=o.getUserConfirmation,f=void 0===l?b:l,v=o.keyLength,O=void 0===v?6:v,C=e.basename?p(c(e.basename)):"";function S(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return C&&(o=d(o,C)),m(o,r,n)}function E(){return Math.random().toString(36).substr(2,O)}var _=g();function F(e){Object(r.a)(V,e),V.length=t.length,_.notifyListeners(V.location,V.action)}function P(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(S(e.state))}function T(){j(S(k()))}var M=!1;function j(e){if(M)M=!1,F();else{_.confirmTransitionTo(e,"POP",f,(function(t){t?F({action:"POP",location:e}):function(e){var t=V.location,n=A.indexOf(t.key);-1===n&&(n=0);var r=A.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(M=!0,L(a))}(e)}))}}var N=S(k()),A=[N.key];function I(e){return C+h(e)}function L(e){t.go(e)}var D=0;function R(e){1===(D+=e)&&1===e?(window.addEventListener(x,P),a&&window.addEventListener(w,T)):0===D&&(window.removeEventListener(x,P),a&&window.removeEventListener(w,T))}var z=!1;var V={length:t.length,action:"POP",location:N,createHref:I,push:function(e,r){var a="PUSH",o=m(e,r,E(),V.location);_.confirmTransitionTo(o,a,f,(function(e){if(e){var r=I(o),i=o.key,l=o.state;if(n)if(t.pushState({key:i,state:l},null,r),u)window.location.href=r;else{var s=A.indexOf(V.location.key),c=A.slice(0,s+1);c.push(o.key),A=c,F({action:a,location:o})}else window.location.href=r}}))},replace:function(e,r){var a="REPLACE",o=m(e,r,E(),V.location);_.confirmTransitionTo(o,a,f,(function(e){if(e){var r=I(o),i=o.key,l=o.state;if(n)if(t.replaceState({key:i,state:l},null,r),u)window.location.replace(r);else{var s=A.indexOf(V.location.key);-1!==s&&(A[s]=o.key),F({action:a,location:o})}else window.location.replace(r)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=_.setPrompt(e);return z||(R(1),z=!0),function(){return z&&(z=!1,R(-1)),t()}},listen:function(e){var t=_.appendListener(e);return R(1),function(){R(-1),t()}}};return V}var C="hashchange",S={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:c},slash:{encodePath:c,decodePath:c}};function E(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function _(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function F(e){window.location.replace(E(window.location.href)+"#"+e)}function P(e){void 0===e&&(e={}),y||Object(s.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?b:a,i=n.hashType,u=void 0===i?"slash":i,l=e.basename?p(c(e.basename)):"",f=S[u],v=f.encodePath,x=f.decodePath;function w(){var e=x(_());return l&&(e=d(e,l)),m(e)}var k=g();function O(e){Object(r.a)(V,e),V.length=t.length,k.notifyListeners(V.location,V.action)}var P=!1,T=null;function M(){var e,t,n=_(),r=v(n);if(n!==r)F(r);else{var a=w(),i=V.location;if(!P&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(T===h(a))return;T=null,function(e){if(P)P=!1,O();else{var t="POP";k.confirmTransitionTo(e,t,o,(function(n){n?O({action:t,location:e}):function(e){var t=V.location,n=I.lastIndexOf(h(t));-1===n&&(n=0);var r=I.lastIndexOf(h(e));-1===r&&(r=0);var a=n-r;a&&(P=!0,L(a))}(e)}))}}(a)}}var j=_(),N=v(j);j!==N&&F(N);var A=w(),I=[h(A)];function L(e){t.go(e)}var D=0;function R(e){1===(D+=e)&&1===e?window.addEventListener(C,M):0===D&&window.removeEventListener(C,M)}var z=!1;var V={length:t.length,action:"POP",location:A,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=E(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n="PUSH",r=m(e,void 0,void 0,V.location);k.confirmTransitionTo(r,n,o,(function(e){if(e){var t=h(r),a=v(l+t);if(_()!==a){T=t,function(e){window.location.hash=e}(a);var o=I.lastIndexOf(h(V.location)),i=I.slice(0,o+1);i.push(t),I=i,O({action:n,location:r})}else O()}}))},replace:function(e,t){var n="REPLACE",r=m(e,void 0,void 0,V.location);k.confirmTransitionTo(r,n,o,(function(e){if(e){var t=h(r),a=v(l+t);_()!==a&&(T=t,F(a));var o=I.indexOf(h(V.location));-1!==o&&(I[o]=t),O({action:n,location:r})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return z||(R(1),z=!0),function(){return z&&(z=!1,R(-1)),t()}},listen:function(e){var t=k.appendListener(e);return R(1),function(){R(-1),t()}}};return V}function T(e,t,n){return Math.min(Math.max(e,t),n)}function M(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,u=void 0===i?0:i,l=t.keyLength,s=void 0===l?6:l,c=g();function f(e){Object(r.a)(x,e),x.length=x.entries.length,c.notifyListeners(x.location,x.action)}function d(){return Math.random().toString(36).substr(2,s)}var p=T(u,0,o.length-1),v=o.map((function(e){return m(e,void 0,"string"===typeof e?d():e.key||d())})),y=h;function b(e){var t=T(x.index+e,0,x.entries.length-1),r=x.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var x={length:v.length,action:"POP",location:v[p],index:p,entries:v,createHref:y,push:function(e,t){var r="PUSH",a=m(e,t,d(),x.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=x.index+1,n=x.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),f({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=m(e,t,d(),x.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(x.entries[x.index]=a,f({action:r,location:a}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=x.index+e;return t>=0&&t<x.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return x}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){a=!0,o=l}finally{try{!r&&u.return&&u.return()}finally{if(a)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function o(e){return e&&e.__esModule?e:{default:e}}var i=o(n(1)),u=(o(n(16)),o(n(13))),l=o(n(57)),s=n(58),c=o(n(59)),f=o(n(60));t.default=function(e){if(!e)throw new Error("No styles supplied");var t="ArrowDown",n="ArrowUp";var o=function(o){var u=i.default.useState(!1),d=r(u,2),p=d[0],h=d[1],m=i.default.useRef(),v=i.default.useRef({}),g=function(e){var t=i.default.useRef(e);return i.default.useEffect((function(){t.current=e})),t.current}(o.isOpen);function y(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];v.current=e,O(),setTimeout((function(){h((function(t){return"undefined"!==typeof e.isOpen?e.isOpen:!t}))}))}function b(){"function"===typeof o.onClose?o.onClose():y()}function x(e,t){var n=o.width,r=o.right;return e(p,"string"!==typeof n?n+"px":n,r,t)}function w(t,n,r){var i="bm"+t.replace(t.charAt(0),t.charAt(0).toUpperCase()),u=l.default[t]?x(l.default[t]):{};return e[t]&&(u=a({},u,x(e[t],n+1))),o.styles[i]&&(u=a({},u,o.styles[i])),r&&(u=a({},u,r)),o.noTransition&&delete u.transition,u}function k(e,t,n){var r=document.getElementById(e);if(r){var a=x(t);for(var i in a)a.hasOwnProperty(i)&&(r.style[i]=n?a[i]:"");var u=function(e){return e.style["overflow-x"]=n?"hidden":""};o.htmlClassName||u(document.querySelector("html")),o.bodyClassName||u(document.querySelector("body"))}else console.error("Element with ID '"+e+"' not found")}function O(){var t=arguments.length<=0||void 0===arguments[0]||arguments[0],n=function(e,n){return e.classList[t?"add":"remove"](n)};o.htmlClassName&&n(document.querySelector("html"),o.htmlClassName),o.bodyClassName&&n(document.querySelector("body"),o.bodyClassName),e.pageWrap&&o.pageWrapId&&k(o.pageWrapId,e.pageWrap,t),e.outerContainer&&o.outerContainerId&&k(o.outerContainerId,e.outerContainer,t);var r=document.querySelector(".bm-menu-wrap");r&&(t?r.removeAttribute("hidden"):r.setAttribute("hidden",!0))}function C(){m.current&&clearTimeout(m.current)}function S(e){switch((e=e||window.event).key){case"Escape":o.disableCloseOnEsc||(b(),(0,s.focusOnMenuButton)());break;case t:(0,s.focusOnNextMenuItem)();break;case n:(0,s.focusOnPreviousMenuItem)();break;case"Home":(0,s.focusOnFirstMenuItem)();break;case"End":(0,s.focusOnLastMenuItem)()}}function E(e){if((e=e||window.event).target===document.getElementById("react-burger-menu-btn"))switch(e.key){case t:case" ":y();break;case n:y({focusOnLastItem:!0})}}return i.default.useEffect((function(){return o.isOpen&&y({isOpen:!0,noStateChange:!0}),function(){O(!1),C()}}),[]),i.default.useEffect((function(){"undefined"!==typeof o.isOpen&&o.isOpen!==p&&o.isOpen!==g?y():e.svg&&function(){var t=document.getElementById("bm-morph-shape"),n=e.svg.lib(t).select("path");p?e.svg.animate(n):setTimeout((function(){n.attr("d",e.svg.pathInitial)}),300)}()})),i.default.useEffect((function(){var e=v.current,t=e.noStateChange,n=e.focusOnLastItem;t||o.onStateChange({isOpen:p}),o.disableAutoFocus||(p?n?(0,s.focusOnLastMenuItem)():(0,s.focusOnFirstMenuItem)():document.activeElement?document.activeElement.blur():document.body.blur()),C(),m.current=setTimeout((function(){m.current=null,p||O(!1)}),500);var r=p?S:E,a=o.customOnKeyDown||r;return window.addEventListener("keydown",a),function(){window.removeEventListener("keydown",a)}}),[p]),i.default.createElement("div",null,!o.noOverlay&&i.default.createElement("div",{className:("bm-overlay "+o.overlayClassName).trim(),onClick:function(){!0===o.disableOverlayClick||"function"===typeof o.disableOverlayClick&&o.disableOverlayClick()||b()},style:w("overlay")}),!1!==o.customBurgerIcon&&i.default.createElement("div",{style:w("burgerIcon")},i.default.createElement(c.default,{onClick:function(){"function"===typeof o.onOpen?o.onOpen():y()},styles:o.styles,customIcon:o.customBurgerIcon,className:o.burgerButtonClassName,barClassName:o.burgerBarClassName,onIconStateChange:o.onIconStateChange})),i.default.createElement("div",{id:o.id,className:("bm-menu-wrap "+o.className).trim(),style:w("menuWrap"),"aria-hidden":!p},e.svg&&i.default.createElement("div",{id:"bm-morph-shape",className:("bm-morph-shape "+o.morphShapeClassName).trim(),style:w("morphShape")},i.default.createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 100 800",preserveAspectRatio:"none"},i.default.createElement("path",{d:e.svg.pathInitial}))),i.default.createElement("div",{className:("bm-menu "+o.menuClassName).trim(),style:w("menu")},i.default.createElement(o.itemListElement,{className:("bm-item-list "+o.itemListClassName).trim(),style:w("itemList")},i.default.Children.map(o.children,(function(e,t){if(e){var n={key:t,className:["bm-item",o.itemClassName,e.props.className].filter((function(e){return!!e})).join(" "),style:w("item",t,e.props.style),tabIndex:p?0:-1};return i.default.cloneElement(e,n)}})))),!1!==o.customCrossIcon&&i.default.createElement("div",{style:w("closeButton")},i.default.createElement(f.default,{onClick:b,styles:o.styles,customIcon:o.customCrossIcon,className:o.crossButtonClassName,crossClassName:o.crossClassName,isOpen:p}))))};return o.propTypes={bodyClassName:u.default.string,burgerBarClassName:u.default.string,burgerButtonClassName:u.default.string,className:u.default.string,crossButtonClassName:u.default.string,crossClassName:u.default.string,customBurgerIcon:u.default.oneOfType([u.default.element,u.default.oneOf([!1])]),customCrossIcon:u.default.oneOfType([u.default.element,u.default.oneOf([!1])]),customOnKeyDown:u.default.func,disableAutoFocus:u.default.bool,disableCloseOnEsc:u.default.bool,disableOverlayClick:u.default.oneOfType([u.default.bool,u.default.func]),htmlClassName:u.default.string,id:u.default.string,isOpen:u.default.bool,itemClassName:u.default.string,itemListClassName:u.default.string,itemListElement:u.default.oneOf(["div","nav"]),menuClassName:u.default.string,morphShapeClassName:u.default.string,noOverlay:u.default.bool,noTransition:u.default.bool,onClose:u.default.func,onIconHoverChange:u.default.func,onOpen:u.default.func,onStateChange:u.default.func,outerContainerId:e&&e.outerContainer?u.default.string.isRequired:u.default.string,overlayClassName:u.default.string,pageWrapId:e&&e.pageWrap?u.default.string.isRequired:u.default.string,right:u.default.bool,styles:u.default.object,width:u.default.oneOfType([u.default.number,u.default.string])},o.defaultProps={bodyClassName:"",burgerBarClassName:"",burgerButtonClassName:"",className:"",crossButtonClassName:"",crossClassName:"",disableAutoFocus:!1,disableCloseOnEsc:!1,htmlClassName:"",id:"",itemClassName:"",itemListClassName:"",menuClassName:"",morphShapeClassName:"",noOverlay:!1,noTransition:!1,onStateChange:function(){},outerContainerId:"",overlayClassName:"",pageWrapId:"",styles:{},width:300,onIconHoverChange:function(){},itemListElement:"nav"},o},e.exports=t.default},function(e,t,n){e.exports=n(40)()},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(35)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(19);function a(e,t){if(e){if("string"===typeof e)return Object(r.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(e,t):void 0}}},function(e,t,n){"use strict";var r=n(27),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function l(e){return r.isMemo(e)?i:u[e.$$typeof]||a}u[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[r.Memo]=i;var s=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var i=c(n);f&&(i=i.concat(f(n)));for(var u=l(t),m=l(n),v=0;v<i.length;++v){var g=i[v];if(!o[g]&&(!r||!r[g])&&(!m||!m[g])&&(!u||!u[g])){var y=d(n,g);try{s(t,g,y)}catch(b){}}}}return t}},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}n.d(t,"a",(function(){return je}));var i=n(6),u=n.n(i),l=n(8),s=n(17);function c(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=Object(s.a)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}var f=n(15),d=n(3),p=n(19);function h(e){return function(e){if(Array.isArray(e))return Object(p.a)(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(s.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var m=n(1),v=function(e){return"checkbox"===e.type},g=function(e){return null==e},y=function(e){return"object"===typeof e},b=function(e){return!g(e)&&!Array.isArray(e)&&y(e)&&!(e instanceof Date)},x=function(e){return e.substring(0,e.search(/.\d/))||e},w=function(e,t){return h(e).some((function(e){return x(t)===e}))},k=function(e){return e.filter(Boolean)},O=function(e){return void 0===e},C=function(e,t,n){if(b(e)&&t){var r=k(t.split(/[,[\].]+?/)).reduce((function(e,t){return g(e)?e:e[t]}),e);return O(r)||r===e?O(e[t])?n:e[t]:r}},S="blur",E="onBlur",_="onChange",F="onSubmit",P="onTouched",T="all",M="max",j="min",N="maxLength",A="minLength",I="pattern",L="required",D="validate",R=function(e,t){var n=Object.assign({},e);return delete n[t],n},z=m.createContext(null);z.displayName="RHFContext";var V=function(e,t,n,r){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return e?new Proxy(t,{get:function(e,t){if(t in e)return n.current[t]!==T&&(n.current[t]=!a||T),r&&(r.current[t]=!0),e[t]}}):t},B=function(e){return b(e)&&!Object.keys(e).length},U=function(e,t,n){var r=R(e,"name");return B(r)||Object.keys(r).length>=Object.keys(t).length||Object.keys(r).find((function(e){return t[e]===(!n||T)}))},H=function(e){return Array.isArray(e)?e:[e]},W="undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement&&"undefined"!==typeof document,$=W?"Proxy"in window:"undefined"!==typeof Proxy;var q=function(e,t,n,r,a){return t?Object.assign(Object.assign({},n[e]),{types:Object.assign(Object.assign({},n[e]&&n[e].types?n[e].types:{}),Object(f.a)({},r,a||!0))}):{}},Y=function(e){return/^\w*$/.test(e)},G=function(e){return k(e.replace(/["|']|\]/g,"").split(/\.|\[/))};function Q(e,t,n){for(var r=-1,a=Y(t)?[t]:G(t),o=a.length,i=o-1;++r<o;){var u=a[r],l=n;if(r!==i){var s=e[u];l=b(s)||Array.isArray(s)?s:isNaN(+a[r+1])?{}:[]}e[u]=l,e=e[u]}return e}var X=function e(t,n,r){var a,o=c(r||Object.keys(t));try{for(o.s();!(a=o.n()).done;){var i=a.value,u=C(t,i);if(u){var l=u._f,s=R(u,"_f");if(l&&n(l.name)){if(l.ref.focus&&O(l.ref.focus()))break;if(l.refs){l.refs[0].focus();break}}else b(s)&&e(s,n)}}}catch(f){o.e(f)}finally{o.f()}},K=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in t.current){var a=t.current[r];if(a&&!g(n)){var o=a._f,i=R(a,"_f");Q(n,r,o&&o.ref?o.ref.disabled||o.refs&&o.refs.every((function(e){return e.disabled}))?void 0:o.value:Array.isArray(a)?[]:{}),i&&e({current:i},n[r])}}return n},Z=function(e){return g(e)||!y(e)};function J(e,t,n){if(Z(e)||Z(t)||e instanceof Date||t instanceof Date)return e===t;if(!m.isValidElement(e)){var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var o=0,i=r;o<i.length;o++){var u=i[o],l=e[u];if(!n||"ref"!==u){var s=t[u];if((b(l)||Array.isArray(l))&&(b(s)||Array.isArray(s))?!J(l,s,n):l!==s)return!1}}}return!0}function ee(e,t){if(Z(e)||Z(t))return t;for(var n in t){var r=e[n],a=t[n];try{e[n]=b(r)&&b(a)||Array.isArray(r)&&Array.isArray(a)?ee(r,a):a}catch(o){}}return e}function te(e,t,n,r,a){for(var o=-1;++o<e.length;){for(var i in e[o])Array.isArray(e[o][i])?(!n[o]&&(n[o]={}),n[o][i]=[],te(e[o][i],C(t[o]||{},i,[]),n[o][i],n[o],i)):J(C(t[o]||{},i),e[o][i])?Q(n[o]||{},i):n[o]=Object.assign(Object.assign({},n[o]),Object(f.a)({},i,!0));r&&!n.length&&delete r[a]}return n}var ne=function(e,t,n){return ee(te(e,t,n.slice(0,e.length)),te(t,e,n.slice(0,e.length)))};var re=function(e){return"string"===typeof e};var ae=function(e){return"boolean"===typeof e};function oe(e,t){var n,r=Y(t)?[t]:G(t),a=1==r.length?e:function(e,t){for(var n=t.slice(0,-1).length,r=0;r<n;)e=O(e)?r++:e[t[r++]];return e}(e,r),o=r[r.length-1];a&&delete a[o];for(var i=0;i<r.slice(0,-1).length;i++){var u=-1,l=void 0,s=r.slice(0,-(i+1)),c=s.length-1;for(i>0&&(n=e);++u<s.length;){var f=s[u];l=l?l[f]:e[f],c===u&&(b(l)&&B(l)||Array.isArray(l)&&!l.filter((function(e){return b(e)&&!B(e)||ae(e)})).length)&&(n?delete n[f]:delete e[f]),n=l}}return e}var ie=function(e){return"file"===e.type},ue=function(e){return"select-multiple"===e.type},le=function(e){return"radio"===e.type},se={value:!1,isValid:!1},ce={value:!0,isValid:!0},fe=function(e){if(Array.isArray(e)){if(e.length>1){var t=e.filter((function(e){return e&&e.checked&&!e.disabled})).map((function(e){return e.value}));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!O(e[0].attributes.value)?O(e[0].value)||""===e[0].value?ce:{value:e[0].value,isValid:!0}:ce:se}return se},de=function(e,t){var n=t.valueAsNumber,r=t.valueAsDate,a=t.setValueAs;return O(e)?e:n?""===e?NaN:+e:r?new Date(e):a?a(e):e},pe={isValid:!1,value:null},he=function(e){return Array.isArray(e)?e.reduce((function(e,t){return t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e}),pe):pe};function me(e){if(e&&e._f){var t=e._f.ref;if(t.disabled)return;return ie(t)?t.files:le(t)?he(e._f.refs).value:ue(t)?h(t.options).filter((function(e){return e.selected})).map((function(e){return e.value})):v(t)?fe(e._f.refs).value:de(O(t.value)?e._f.ref.value:t.value,e._f)}}var ve=function(e,t,n){var r,a={},o=c(e);try{for(o.s();!(r=o.n()).done;){var i=r.value,u=C(t,i);u&&Q(a,i,u._f)}}catch(l){o.e(l)}finally{o.f()}return{criteriaMode:n,names:h(e),fields:a}},ge=function(e,t){return t&&e&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate)},ye=function(e){var t=e.isOnBlur,n=e.isOnChange,r=e.isOnTouch,a=e.isTouched,o=e.isReValidateOnBlur,i=e.isReValidateOnChange,u=e.isBlurEvent,l=e.isSubmitted;return!e.isOnAll&&(!l&&r?!(a||u):(l?o:t)?!u:!(l?i:n)||u)},be=function(e){return"function"===typeof e},xe=function(e){return re(e)||m.isValidElement(e)},we=function(e){return e instanceof RegExp};function ke(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"validate";if(xe(e)||Array.isArray(e)&&e.every(xe)||ae(e)&&!e)return{type:n,message:xe(e)?e:"",ref:t}}var Oe=function(e){return b(e)&&!we(e)?e:{value:e,message:""}},Ce=function(){var e=Object(l.a)(u.a.mark((function e(t,n){var r,a,o,i,l,s,c,f,p,h,m,y,x,w,k,O,C,S,E,_,F,P,T,R,z,V,U,H,W,$,Y,G,Q,X,K,Z,J,ee,te,ne,oe,ue,se,ce,de,pe,me;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t._f,a=r.ref,o=r.refs,i=r.required,l=r.maxLength,s=r.minLength,c=r.min,f=r.max,p=r.pattern,h=r.validate,m=r.name,y=r.value,x=r.valueAsNumber,r.mount){e.next=3;break}return e.abrupt("return",{});case 3:if(w={},k=le(a),O=v(a),C=k||O,S=(x||ie(a))&&!a.value||""===y||Array.isArray(y)&&!y.length,E=q.bind(null,m,n,w),_=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:N,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:A,i=e?t:n;w[m]=Object.assign({type:e?r:o,message:i,ref:a},E(e?r:o,i))},!i||!(!k&&!O&&(S||g(y))||ae(y)&&!y||O&&!fe(o).isValid||k&&!he(o).isValid)){e.next=16;break}if(F=xe(i)?{value:!!i,message:i}:Oe(i),P=F.value,T=F.message,!P){e.next=16;break}if(w[m]=Object.assign({type:L,message:T,ref:C?(o||[])[0]||{}:a},E(L,T)),n){e.next=16;break}return e.abrupt("return",w);case 16:if(g(c)&&g(f)||""===y){e.next=24;break}if(V=Oe(f),U=Oe(c),isNaN(y)?(W=a.valueAsDate||new Date(y),re(V.value)&&(R=W>new Date(V.value)),re(U.value)&&(z=W<new Date(U.value))):(H=a.valueAsNumber||parseFloat(y),g(V.value)||(R=H>V.value),g(U.value)||(z=H<U.value)),!R&&!z){e.next=24;break}if(_(!!R,V.message,U.message,M,j),n){e.next=24;break}return e.abrupt("return",w);case 24:if(!re(y)||S||!l&&!s){e.next=33;break}if($=Oe(l),Y=Oe(s),G=!g($.value)&&y.length>$.value,Q=!g(Y.value)&&y.length<Y.value,!G&&!Q){e.next=33;break}if(_(G,$.message,Y.message),n){e.next=33;break}return e.abrupt("return",w);case 33:if(!re(y)||!p||S){e.next=39;break}if(X=Oe(p),K=X.value,Z=X.message,!we(K)||y.match(K)){e.next=39;break}if(w[m]=Object.assign({type:I,message:Z,ref:a},E(I,Z)),n){e.next=39;break}return e.abrupt("return",w);case 39:if(!h){e.next=71;break}if(J=C&&o?o[0]:a,!be(h)){e.next=52;break}return e.next=44,h(y);case 44:if(ee=e.sent,!(te=ke(ee,J))){e.next=50;break}if(w[m]=Object.assign(Object.assign({},te),E(D,te.message)),n){e.next=50;break}return e.abrupt("return",w);case 50:e.next=71;break;case 52:if(!b(h)){e.next=71;break}ne={},oe=0,ue=Object.entries(h);case 55:if(!(oe<ue.length)){e.next=67;break}if(se=Object(d.a)(ue[oe],2),ce=se[0],de=se[1],B(ne)||n){e.next=59;break}return e.abrupt("break",67);case 59:return e.next=61,de(y);case 61:pe=e.sent,(me=ke(pe,J,ce))&&(ne=Object.assign(Object.assign({},me),E(ce,me.message)),n&&(w[m]=ne));case 64:oe++,e.next=55;break;case 67:if(B(ne)){e.next=71;break}if(w[m]=Object.assign({ref:J},ne),n){e.next=71;break}return e.abrupt("return",w);case 71:return e.abrupt("return",w);case 72:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Se=function(e){return{isOnSubmit:!e||e===F,isOnBlur:e===E,isOnChange:e===_,isOnAll:e===T,isOnTouch:e===P}},Ee=function(e){return e instanceof HTMLElement},_e=function(e){return le(e)||v(e)},Fe=function(){function e(){r(this,e),this.tearDowns=[]}return o(e,[{key:"add",value:function(e){this.tearDowns.push(e)}},{key:"unsubscribe",value:function(){var e,t=c(this.tearDowns);try{for(t.s();!(e=t.n()).done;){(0,e.value)()}}catch(n){t.e(n)}finally{t.f()}this.tearDowns=[]}}]),e}(),Pe=function(){function e(t,n){var a=this;r(this,e),this.observer=t,this.closed=!1,n.add((function(){return a.closed=!0}))}return o(e,[{key:"next",value:function(e){this.closed||this.observer.next(e)}}]),e}(),Te=function(){function e(){r(this,e),this.observers=[]}return o(e,[{key:"next",value:function(e){var t,n=c(this.observers);try{for(n.s();!(t=n.n()).done;){t.value.next(e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"subscribe",value:function(e){var t=new Fe,n=new Pe(e,t);return this.observers.push(n),t}},{key:"unsubscribe",value:function(){this.observers=[]}}]),e}(),Me="undefined"===typeof window;function je(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mode,n=void 0===t?F:t,r=e.reValidateMode,a=void 0===r?_:r,o=e.resolver,i=e.context,s=e.defaultValues,p=void 0===s?{}:s,y=e.shouldFocusError,E=void 0===y||y,P=e.shouldUnregister,M=e.criteriaMode,j=m.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}}),N=Object(d.a)(j,2),A=N[0],I=N[1],L=m.useRef({isDirty:!$,dirtyFields:!$,touchedFields:!$,isValidating:!$,isValid:!$,errors:!$}),D=m.useRef(A),z=m.useRef({}),q=m.useRef(p),Y=m.useRef({}),G=m.useRef(i),ee=m.useRef(!1),te=m.useRef(!1),ae=m.useRef({watch:new Te,control:new Te,array:new Te,state:new Te}),se=m.useRef({mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1}),ce=Se(n),fe=M===T;G.current=i;var pe=function(e){return se.current.watchAll||se.current.watch.has(e)||se.current.watch.has((e.match(/\w+/)||[])[0])},he=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t,n,r,a,i,l){var s,c,f;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=C(D.current.errors,n),!L.current.isValid){e.next=12;break}if(!o){e.next=6;break}e.t1=i,e.next=9;break;case 6:return e.next=8,Pe(z.current,!0);case 8:e.t1=e.sent;case 9:e.t0=e.t1,e.next=13;break;case 12:e.t0=!1;case 13:c=e.t0,r?Q(D.current.errors,n,r):oe(D.current.errors,n),!l&&(r?J(s,r,!0):!s)&&B(a)&&D.current.isValid===c||t||(f=Object.assign(Object.assign({},a),{isValid:!!c,errors:D.current.errors,name:n}),D.current=Object.assign(Object.assign({},D.current),f),ae.current.state.next(l?{name:n}:f)),ae.current.state.next({isValidating:!1});case 17:case"end":return e.stop()}}),e)})));return function(t,n,r,a,o,i){return e.apply(this,arguments)}}(),[]),xe=m.useCallback((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;a&&$e(e);var o=C(z.current,e);if(o){var i=o._f;if(i){var u=W&&Ee(i.ref)&&g(t)?"":t;if(i.value=de(t,i),le(i.ref)?(i.refs||[]).forEach((function(e){return e.checked=e.value===u})):ie(i.ref)&&!re(u)?i.ref.files=u:ue(i.ref)?h(i.ref.options).forEach((function(e){return e.selected=u.includes(e.value)})):v(i.ref)&&i.refs?i.refs.length>1?i.refs.forEach((function(e){return e.checked=Array.isArray(u)?!!u.find((function(t){return t===e.value})):u===e.value})):i.refs[0].checked=!!u:i.ref.value=u,r){var l=K(z);Q(l,e,t),ae.current.control.next({values:Object.assign(Object.assign({},q.current),l),name:e})}(n.shouldDirty||n.shouldTouch)&&ke(e,u,n.shouldTouch),n.shouldValidate&&je(e)}else o._f={ref:{name:e,value:t},value:t}}}),[]),we=m.useCallback((function(e,t){var n=K(z);return e&&t&&Q(n,e,t),!J(n,q.current)}),[]),ke=m.useCallback((function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a={name:e},o=!1;if(L.current.isDirty){var i=D.current.isDirty;D.current.isDirty=we(),a.isDirty=D.current.isDirty,o=i!==a.isDirty}if(L.current.dirtyFields){var u=C(D.current.dirtyFields,e),l=!J(C(q.current,e),t);l?Q(D.current.dirtyFields,e,!0):oe(D.current.dirtyFields,e),a.dirtyFields=D.current.dirtyFields,o=o||u!==C(D.current.dirtyFields,e)}var s=C(D.current.touchedFields,e);return n&&!s&&(Q(D.current.touchedFields,e,n),a.touchedFields=D.current.touchedFields,o=o||L.current.touchedFields&&s!==n),o&&r&&ae.current.state.next(a),o?a:{}}),[]),Oe=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t,n){var r;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ce(C(z.current,t),fe);case 2:return e.t0=t,r=e.sent[e.t0],he(n,t,r),e.abrupt("return",O(r));case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[fe]),Fe=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t){var n,r,a,i,l,s;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o(K(z),G.current,ve(se.current.mount,z.current,M));case 2:if(n=e.sent,r=n.errors,t){a=c(t);try{for(a.s();!(i=a.n()).done;)l=i.value,(s=C(r,l))?Q(D.current.errors,l,s):oe(D.current.errors,l)}catch(u){a.e(u)}finally{a.f()}}else D.current.errors=r;return e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[M]),Pe=function(){var e=Object(l.a)(u.a.mark((function e(t,n){var r,a,o,i,l,s,c=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=c.length>2&&void 0!==c[2]?c[2]:{valid:!0},e.t0=u.a.keys(t);case 2:if((e.t1=e.t0()).done){e.next=25;break}if(a=e.t1.value,!(o=t[a])){e.next=23;break}if(i=o._f,l=R(o,"_f"),!i){e.next=19;break}return e.next=11,Ce(o,fe);case 11:if(s=e.sent,!n){e.next=18;break}if(!s[i.name]){e.next=16;break}return r.valid=!1,e.abrupt("break",25);case 16:e.next=19;break;case 18:s[i.name]?Q(D.current.errors,i.name,s[i.name]):oe(D.current.errors,i.name);case 19:if(e.t2=l,!e.t2){e.next=23;break}return e.next=23,Pe(l,n,r);case 23:e.next=2;break;case 25:return e.abrupt("return",r.valid);case 26:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),je=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t){var n,r,a,i,s=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},r=H(t),ae.current.state.next({isValidating:!0}),!o){e.next=10;break}return e.next=6,Fe(O(t)?t:r);case 6:i=e.sent,a=t?r.every((function(e){return!C(i,e)})):B(i),e.next=20;break;case 10:if(!t){e.next=16;break}return e.next=13,Promise.all(r.filter((function(e){return C(z.current,e)})).map(function(){var e=Object(l.a)(u.a.mark((function e(t){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Oe(t,!0);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 13:e.t0=e.sent.every(Boolean),e.next=19;break;case 16:return e.next=18,Pe(z.current);case 18:e.t0=e.sent;case 19:a=e.t0;case 20:return ae.current.state.next(Object.assign(Object.assign({},re(t)?{name:t}:{}),{errors:D.current.errors,isValidating:!1})),n.shouldFocus&&!a&&X(z.current,(function(e){return C(D.current.errors,e)}),r),L.current.isValid&&Ae(),e.abrupt("return",a);case 24:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[Fe,Oe]),Ne=function(e,t){var n=C(z.current,e);if(n){var r=O(n._f.value),a=r?C(q.current,e):n._f.value;O(a)?r&&(n._f.value=me(n)):t&&t.defaultChecked?n._f.value=me(n):w(se.current.array,e)?n._f.value=a:xe(e,a)}te.current&&L.current.isValid&&Ae()},Ae=m.useCallback(Object(l.a)(u.a.mark((function e(){var t,n,r=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.length>0&&void 0!==r[0]?r[0]:{},!o){e.next=9;break}return e.t1=B,e.next=5,o(Object.assign(Object.assign({},K(z)),t),G.current,ve(se.current.mount,z.current,M));case 5:e.t2=e.sent.errors,e.t0=(0,e.t1)(e.t2),e.next=12;break;case 9:return e.next=11,Pe(z.current,!0);case 11:e.t0=e.sent;case 12:(n=e.t0)!==D.current.isValid&&ae.current.state.next({isValid:n});case 14:case"end":return e.stop()}}),e)}))),[M]),Ie=m.useCallback((function(e,t,n){return Object.entries(t).forEach((function(t){var r=Object(d.a)(t,2),a=r[0],o=r[1],i="".concat(e,".").concat(a),u=C(z.current,i);se.current.array.has(e)||!Z(o)||u&&!u._f?Ie(i,o,n):xe(i,o,n,!0,!u)}))}),[je]),Le=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=C(z.current,e),a=se.current.array.has(e);a&&(ae.current.array.next({values:t,name:e,isReset:!0}),(L.current.isDirty||L.current.dirtyFields)&&n.shouldDirty&&(Q(D.current.dirtyFields,e,ne(t,C(q.current,e,[]),C(D.current.dirtyFields,e,[]))),ae.current.state.next({name:e,dirtyFields:D.current.dirtyFields,isDirty:we(e,t)})),!t.length&&Q(z.current,e,[])&&Q(Y.current,e,[])),(r&&!r._f||a)&&!g(t)?Ie(e,t,a?{}:n):xe(e,t,n,!0,!r),pe(e)&&ae.current.state.next({}),ae.current.watch.next({name:e,values:Re()})},De=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t){var n,r,i,l,s,c,f,d,p,h,m,g,y,b,w,k,E,_,F,P,T,j;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.type,r=t.target,i=t.target,l=i.value,s=i.type,c=r.name,!(p=C(z.current,c))){e.next=33;break}if(h=s?me(p):void 0,h=O(h)?l:h,m=n===S,g=Se(a),y=g.isOnBlur,b=g.isOnChange,w=!ge(p._f,p._f.mount)&&!o&&!C(D.current.errors,c)||ye(Object.assign({isBlurEvent:m,isTouched:!!C(D.current.touchedFields,c),isSubmitted:D.current.isSubmitted,isReValidateOnBlur:y,isReValidateOnChange:b},ce)),k=!m&&pe(c),O(h)||(p._f.value=h),E=ke(c,p._f.value,m,!1),_=!B(E)||k,!w){e.next=16;break}return!m&&ae.current.watch.next({name:c,type:n,values:Re()}),e.abrupt("return",_&&ae.current.state.next(k?{name:c}:Object.assign(Object.assign({},E),{name:c})));case 16:if(ae.current.state.next({isValidating:!0}),!o){e.next=27;break}return e.next=20,o(K(z),G.current,ve([c],z.current,M));case 20:F=e.sent,P=F.errors,f=C(P,c),v(r)&&!f&&(T=x(c),(j=C(P,T,{})).type&&j.message&&(f=j),(j||C(D.current.errors,T))&&(c=T)),d=B(P),e.next=31;break;case 27:return e.next=29,Ce(p,fe);case 29:e.t0=c,f=e.sent[e.t0];case 31:!m&&ae.current.watch.next({name:c,type:n,values:Re()}),he(!1,c,f,E,d,k);case 33:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]),Re=function(e){var t=Object.assign(Object.assign({},q.current),K(z));return O(e)?t:re(e)?C(t,e):e.map((function(e){return C(t,e)}))},ze=function(e){e?H(e).forEach((function(e){return oe(D.current.errors,e)})):D.current.errors={},ae.current.state.next({errors:D.current.errors})},Ve=function(e,t,n){var r=((C(z.current,e)||{_f:{}})._f||{}).ref;Q(D.current.errors,e,Object.assign(Object.assign({},t),{ref:r})),ae.current.state.next({name:e,errors:D.current.errors,isValid:!1}),n&&n.shouldFocus&&r&&r.focus&&r.focus()},Be=m.useCallback((function(e,t,n,r){var a=Array.isArray(e),o=r||te.current?Object.assign(Object.assign({},q.current),r||K(z)):O(t)?q.current:a?t:Object(f.a)({},e,t);if(O(e))return n&&(se.current.watchAll=!0),o;var i,u=[],l=c(H(e));try{for(l.s();!(i=l.n()).done;){var s=i.value;n&&se.current.watch.add(s),u.push(C(o,s))}}catch(d){l.e(d)}finally{l.f()}return a?u:u[0]}),[]),Ue=function(e,t){return be(e)?ae.current.watch.subscribe({next:function(n){return e(Be(void 0,t),n)}}):Be(e,t,!0)},He=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=c(e?H(e):se.current.mount);try{for(r.s();!(t=r.n()).done;){var a=t.value;se.current.mount.delete(a),se.current.array.delete(a),C(z.current,a)&&(!n.keepError&&oe(D.current.errors,a),!n.keepValue&&oe(z.current,a),!n.keepDirty&&oe(D.current.dirtyFields,a),!n.keepTouched&&oe(D.current.touchedFields,a),!P&&!n.keepDefaultValue&&oe(q.current,a),ae.current.watch.next({name:a,values:Re()}))}}catch(o){r.e(o)}finally{r.f()}ae.current.state.next(Object.assign(Object.assign({},D.current),n.keepDirty?{isDirty:we()}:{})),!n.keepIsValid&&Ae()},We=function(e,t,n){$e(e,n);var r=C(z.current,e),a=_e(t);t===r._f.ref||a&&k(r._f.refs||[]).find((function(e){return e===t}))||(r={_f:a?Object.assign(Object.assign({},r._f),{refs:[].concat(h(k(r._f.refs||[]).filter((function(e){return Ee(e)&&document.contains(e)}))),[t]),ref:{type:t.type,name:e}}):Object.assign(Object.assign({},r._f),{ref:t})},Q(z.current,e,r),Ne(e,t))},$e=m.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=C(z.current,e);return Q(z.current,e,{_f:Object.assign(Object.assign(Object.assign({},n&&n._f?n._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),se.current.mount.add(e),!n&&Ne(e),Me?{name:e}:{name:e,onChange:De,onBlur:De,ref:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(n){if(n)We(e,n,t);else{var r=C(z.current,e,{}),a=P||t.shouldUnregister;r._f&&(r._f.mount=!1,O(r._f.value)&&(r._f.value=r._f.ref.value)),a&&(!w(se.current.array,e)||!ee.current)&&se.current.unMount.add(e)}}))}}),[]),qe=m.useCallback((function(e,t){return function(){var n=Object(l.a)(u.a.mark((function n(r){var a,i,l,s,c;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist()),a=!0,i=K(z),ae.current.state.next({isSubmitting:!0}),n.prev=4,!o){n.next=15;break}return n.next=8,o(i,G.current,ve(se.current.mount,z.current,M));case 8:l=n.sent,s=l.errors,c=l.values,D.current.errors=s,i=c,n.next=17;break;case 15:return n.next=17,Pe(z.current);case 17:if(!B(D.current.errors)||!Object.keys(D.current.errors).every((function(e){return C(i,e)}))){n.next=23;break}return ae.current.state.next({errors:{},isSubmitting:!0}),n.next=21,e(i,r);case 21:n.next=28;break;case 23:if(n.t0=t,!n.t0){n.next=27;break}return n.next=27,t(D.current.errors,r);case 27:E&&X(z.current,(function(e){return C(D.current.errors,e)}),se.current.mount);case 28:n.next=34;break;case 30:throw n.prev=30,n.t1=n.catch(4),a=!1,n.t1;case 34:return n.prev=34,D.current.isSubmitted=!0,ae.current.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:B(D.current.errors)&&a,submitCount:D.current.submitCount+1,errors:D.current.errors}),n.finish(34);case 38:case"end":return n.stop()}}),n,null,[[4,30,34,38]])})));return function(e){return n.apply(this,arguments)}}()}),[E,fe,M]),Ye=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=C(z.current,n);if((!r||r&&!r._f)&&(!r&&(Z(t)||W&&(t instanceof FileList||t instanceof Date))&&$e(n,{value:t}),Array.isArray(t)||b(t)))for(var a in n&&!C(z.current,n)&&Q(z.current,n,Array.isArray(t)?[]:{}),t)e(t[a],n+(n?".":"")+a)},Ge=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e||q.current;if(W&&!t.keepValues){var r,a=c(se.current.mount);try{for(a.s();!(r=a.n()).done;){var o=r.value,i=C(z.current,o);if(i&&i._f){var u=Array.isArray(i._f.refs)?i._f.refs[0]:i._f.ref;try{Ee(u)&&u.closest("form").reset();break}catch(l){}}}}catch(s){a.e(s)}finally{a.f()}}!t.keepDefaultValues&&(q.current=Object.assign({},n)),t.keepValues||(z.current={},ae.current.control.next({values:Object.assign({},n)}),ae.current.watch.next({values:Object.assign({},n)}),ae.current.array.next({values:Object.assign({},n),isReset:!0})),!t.keepDefaultValues&&!P&&Ye(Object.assign({},n)),se.current={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1},ae.current.state.next({submitCount:t.keepSubmitCount?D.current.submitCount:0,isDirty:t.keepDirty?D.current.isDirty:!!t.keepDefaultValues&&J(e,q.current),isSubmitted:!!t.keepIsSubmitted&&D.current.isSubmitted,dirtyFields:t.keepDirty?D.current.dirtyFields:{},touchedFields:t.keepTouched?D.current.touchedFields:{},errors:t.keepErrors?D.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),te.current=!!t.keepIsValid},Qe=function(e){return C(z.current,e)._f.ref.focus()};return m.useEffect((function(){!P&&Ye(q.current);var e=ae.current.state.subscribe({next:function(e){U(e,L.current,!0)&&(D.current=Object.assign(Object.assign({},D.current),e),I(D.current))}}),t=ae.current.array.subscribe({next:function(e){if(e.values&&e.name&&L.current.isValid){var t=K(z);Q(t,e.name,e.values),Ae(t)}}});return function(){e.unsubscribe(),t.unsubscribe()}}),[]),m.useEffect((function(){var e=function(e){return!Ee(e)||!document.contains(e)};te.current||(te.current=!0,L.current.isValid&&Ae());var t,n=c(se.current.unMount);try{for(n.s();!(t=n.n()).done;){var r=t.value,a=C(z.current,r);a&&(a._f.refs?a._f.refs.every(e):e(a._f.ref))&&He(r)}}catch(o){n.e(o)}finally{n.f()}se.current.unMount=new Set})),{control:m.useMemo((function(){return{register:$e,inFieldArrayActionRef:ee,getIsDirty:we,subjectsRef:ae,watchInternal:Be,fieldsRef:z,updateIsValid:Ae,namesRef:se,readFormStateRef:L,formStateRef:D,defaultValuesRef:q,fieldArrayDefaultValuesRef:Y,unregister:He,shouldUnmount:P}}),[]),formState:V($,A,L),trigger:je,register:$e,handleSubmit:qe,watch:m.useCallback(Ue,[]),setValue:m.useCallback(Le,[Ie]),getValues:m.useCallback(Re,[]),reset:m.useCallback(Ge,[]),clearErrors:m.useCallback(ze,[]),unregister:m.useCallback(He,[]),setError:m.useCallback(Ve,[]),setFocus:m.useCallback(Qe,[])}}},,function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,t){for(var n,u,l=i(e),s=1;s<arguments.length;s++){for(var c in n=Object(arguments[s]))a.call(n,c)&&(l[c]=n[c]);if(r){u=r(n);for(var f=0;f<u.length;f++)o.call(n,u[f])&&(l[u[f]]=n[u[f]])}}return l}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(1),i=l(o),u=l(n(13));function l(e){return e&&e.__esModule?e:{default:e}}var s={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},c=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],f=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},d=!("undefined"===typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return d?"_"+Math.random().toString(36).substr(2,12):void 0},h=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"===typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p(),prevId:e.id},n}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.id;return n!==t.prevId?{inputId:n||p(),prevId:n}:null}}]),a(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"===typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(f(e,this.sizer),this.placeHolderSizer&&f(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&"undefined"!==typeof this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return d&&e?i.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!==e&&void 0!==e?e:t})),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),a=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(a),a.className=this.props.inputClassName,a.id=this.state.inputId,a.style=n,i.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),i.default.createElement("input",r({},a,{ref:this.inputRef})),i.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?i.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(o.Component);h.propTypes={className:u.default.string,defaultValue:u.default.any,extraWidth:u.default.oneOfType([u.default.number,u.default.string]),id:u.default.string,injectStyles:u.default.bool,inputClassName:u.default.string,inputRef:u.default.func,inputStyle:u.default.object,minWidth:u.default.oneOfType([u.default.number,u.default.string]),onAutosize:u.default.func,onChange:u.default.func,placeholder:u.default.string,placeholderIsMinWidth:u.default.bool,style:u.default.object,value:u.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),o=n(9),i=n(13),u=n.n(i),l=1073741823,s="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof e?e:{};function c(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var f=a.a.createContext||function(e,t){var n,a,i="__create-react-context-"+function(){var e="__global_unique_id__";return s[e]=(s[e]||0)+1}()+"__",f=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).emitter=c(t.props.value),t}Object(o.a)(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o===1/i:o!==o&&i!==i)?n=0:(n="function"===typeof t?t(r,a):l,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},r.render=function(){return this.props.children},n}(r.Component);f.childContextTypes=((n={})[i]=u.a.object.isRequired,n);var d=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!==((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}Object(o.a)(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?l:t},r.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?l:e},r.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},r.getValue=function(){return this.context[i]?this.context[i].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return d.contextTypes=((a={})[i]=u.a.object,a),{Provider:f,Consumer:d}};t.a=f}).call(this,n(42))},function(e,t,n){var r=n(43);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return u(o(e,t),t)},e.exports.tokensToFunction=u,e.exports.tokensToRegExp=d;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,u="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var f=n[0],d=n[1],p=n.index;if(u+=e.slice(i,p),i=p+f.length,d)u+=d[1];else{var h=e[i],m=n[2],v=n[3],g=n[4],y=n[5],b=n[6],x=n[7];u&&(r.push(u),u="");var w=null!=m&&null!=h&&h!==m,k="+"===b||"*"===b,O="?"===b||"*"===b,C=n[2]||c,S=g||y;r.push({name:v||o++,prefix:m||"",delimiter:C,optional:O,repeat:k,partial:w,asterisk:!!x,pattern:S?s(S):x?".*":"[^"+l(C)+"]+?"})}}return i<e.length&&(u+=e.substr(i)),u&&r.push(u),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function u(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"===typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",f(t)));return function(t,a){for(var o="",u=t||{},l=(a||{}).pretty?i:encodeURIComponent,s=0;s<e.length;s++){var c=e[s];if("string"!==typeof c){var f,d=u[c.name];if(null==d){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(d)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(d)+"`");if(0===d.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<d.length;p++){if(f=l(d[p]),!n[s].test(f))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(f)+"`");o+=(0===p?c.prefix:c.delimiter)+f}}else{if(f=c.asterisk?encodeURI(d).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(d),!n[s].test(f))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+f+'"');o+=c.prefix+f}}else o+=c}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function s(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function f(e){return e&&e.sensitive?"":"i"}function d(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",u=0;u<e.length;u++){var s=e[u];if("string"===typeof s)i+=l(s);else{var d=l(s.prefix),p="(?:"+s.pattern+")";t.push(s),s.repeat&&(p+="(?:"+d+p+")*"),i+=p=s.optional?s.partial?d+"("+p+")?":"(?:"+d+"("+p+"))?":d+"("+p+")"}}var h=l(n.delimiter||"/"),m=i.slice(-h.length)===h;return a||(i=(m?i.slice(0,-h.length):i)+"(?:"+h+"(?=$))?"),i+=o?"$":a&&m?"":"(?="+h+"|$)",c(new RegExp("^"+i,f(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",f(n)),t)}(e,t,n):function(e,t,n){return d(o(e,n),t,n)}(e,t,n)}},function(e,t,n){"use strict";e.exports=n(44)},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,n.apply(this,arguments)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=void 0;try{e=n(63)}finally{return e}},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.pxToNum=function(e){return parseInt(e.slice(0,-2),10)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={slide:n(56),stack:n(61),elastic:n(62),bubble:n(65),push:n(66),pushRotate:n(67),scaleDown:n(68),scaleRotate:n(69),fallDown:n(70),reveal:n(71)},e.exports=t.default},function(e,t,n){"use strict";var r=n(2),a=n(1),o=n.n(a);var i=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(u){0}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),u="-ms-",l="-moz-",s="-webkit-",c="comm",f="rule",d="decl",p=Math.abs,h=String.fromCharCode;function m(e){return e.trim()}function v(e,t,n){return e.replace(t,n)}function g(e,t){return e.indexOf(t)}function y(e,t){return 0|e.charCodeAt(t)}function b(e,t,n){return e.slice(t,n)}function x(e){return e.length}function w(e){return e.length}function k(e,t){return t.push(e),e}function O(e,t){return e.map(t).join("")}var C=1,S=1,E=0,_=0,F=0,P="";function T(e,t,n,r,a,o,i){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:C,column:S,length:i,return:""}}function M(e,t,n){return T(e,t.root,t.parent,n,t.props,t.children,0)}function j(){return F=_>0?y(P,--_):0,S--,10===F&&(S=1,C--),F}function N(){return F=_<E?y(P,_++):0,S++,10===F&&(S=1,C++),F}function A(){return y(P,_)}function I(){return _}function L(e,t){return b(P,e,t)}function D(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function R(e){return C=S=1,E=x(P=e),_=0,[]}function z(e){return P="",e}function V(e){return m(L(_-1,H(91===e?e+2:40===e?e+1:e)))}function B(e){for(;(F=A())&&F<33;)N();return D(e)>2||D(F)>3?"":" "}function U(e,t){for(;--t&&N()&&!(F<48||F>102||F>57&&F<65||F>70&&F<97););return L(e,I()+(t<6&&32==A()&&32==N()))}function H(e){for(;N();)switch(F){case e:return _;case 34:case 39:return H(34===e||39===e?e:F);case 40:41===e&&H(e);break;case 92:N()}return _}function W(e,t){for(;N()&&e+F!==57&&(e+F!==84||47!==A()););return"/*"+L(t,_-1)+"*"+h(47===e?e:N())}function $(e){for(;!D(A());)N();return L(e,_)}function q(e){return z(Y("",null,null,null,[""],e=R(e),0,[0],e))}function Y(e,t,n,r,a,o,i,u,l){for(var s=0,c=0,f=i,d=0,p=0,m=0,g=1,y=1,b=1,w=0,O="",C=a,S=o,E=r,_=O;y;)switch(m=w,w=N()){case 34:case 39:case 91:case 40:_+=V(w);break;case 9:case 10:case 13:case 32:_+=B(m);break;case 92:_+=U(I()-1,7);continue;case 47:switch(A()){case 42:case 47:k(Q(W(N(),I()),t,n),l);break;default:_+="/"}break;case 123*g:u[s++]=x(_)*b;case 125*g:case 59:case 0:switch(w){case 0:case 125:y=0;case 59+c:p>0&&x(_)-f&&k(p>32?X(_+";",r,n,f-1):X(v(_," ","")+";",r,n,f-2),l);break;case 59:_+=";";default:if(k(E=G(_,t,n,s,c,a,u,O,C=[],S=[],f),o),123===w)if(0===c)Y(_,t,E,E,C,o,f,u,S);else switch(d){case 100:case 109:case 115:Y(e,E,E,r&&k(G(e,E,E,0,0,a,u,O,a,C=[],f),S),a,S,f,u,r?C:S);break;default:Y(_,E,E,E,[""],S,f,u,S)}}s=c=p=0,g=b=1,O=_="",f=i;break;case 58:f=1+x(_),p=m;default:if(g<1)if(123==w)--g;else if(125==w&&0==g++&&125==j())continue;switch(_+=h(w),w*g){case 38:b=c>0?1:(_+="\f",-1);break;case 44:u[s++]=(x(_)-1)*b,b=1;break;case 64:45===A()&&(_+=V(N())),d=A(),c=x(O=_+=$(I())),w++;break;case 45:45===m&&2==x(_)&&(g=0)}}return o}function G(e,t,n,r,a,o,i,u,l,s,c){for(var d=a-1,h=0===a?o:[""],g=w(h),y=0,x=0,k=0;y<r;++y)for(var O=0,C=b(e,d+1,d=p(x=i[y])),S=e;O<g;++O)(S=m(x>0?h[O]+" "+C:v(C,/&\f/g,h[O])))&&(l[k++]=S);return T(e,t,n,0===a?f:u,l,s,c)}function Q(e,t,n){return T(e,t,n,c,h(F),b(e,2,-2),0)}function X(e,t,n,r){return T(e,t,n,d,b(e,0,r),b(e,r+1,-1),r)}function K(e,t){switch(function(e,t){return(((t<<2^y(e,0))<<2^y(e,1))<<2^y(e,2))<<2^y(e,3)}(e,t)){case 5103:return s+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return s+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return s+e+l+e+u+e+e;case 6828:case 4268:return s+e+u+e+e;case 6165:return s+e+u+"flex-"+e+e;case 5187:return s+e+v(e,/(\w+).+(:[^]+)/,s+"box-$1$2"+u+"flex-$1$2")+e;case 5443:return s+e+u+"flex-item-"+v(e,/flex-|-self/,"")+e;case 4675:return s+e+u+"flex-line-pack"+v(e,/align-content|flex-|-self/,"")+e;case 5548:return s+e+u+v(e,"shrink","negative")+e;case 5292:return s+e+u+v(e,"basis","preferred-size")+e;case 6060:return s+"box-"+v(e,"-grow","")+s+e+u+v(e,"grow","positive")+e;case 4554:return s+v(e,/([^-])(transform)/g,"$1"+s+"$2")+e;case 6187:return v(v(v(e,/(zoom-|grab)/,s+"$1"),/(image-set)/,s+"$1"),e,"")+e;case 5495:case 3959:return v(e,/(image-set\([^]*)/,s+"$1$`$1");case 4968:return v(v(e,/(.+:)(flex-)?(.*)/,s+"box-pack:$3"+u+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+s+e+e;case 4095:case 3583:case 4068:case 2532:return v(e,/(.+)-inline(.+)/,s+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(x(e)-1-t>6)switch(y(e,t+1)){case 109:if(45!==y(e,t+4))break;case 102:return v(e,/(.+:)(.+)-([^]+)/,"$1"+s+"$2-$3$1"+l+(108==y(e,t+3)?"$3":"$2-$3"))+e;case 115:return~g(e,"stretch")?K(v(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==y(e,t+1))break;case 6444:switch(y(e,x(e)-3-(~g(e,"!important")&&10))){case 107:return v(e,":",":"+s)+e;case 101:return v(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+s+(45===y(e,14)?"inline-":"")+"box$3$1"+s+"$2$3$1"+u+"$2box$3")+e}break;case 5936:switch(y(e,t+11)){case 114:return s+e+u+v(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return s+e+u+v(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return s+e+u+v(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return s+e+u+e+e}return e}function Z(e,t){for(var n="",r=w(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function J(e,t,n,r){switch(e.type){case"@import":case d:return e.return=e.return||e.value;case c:return"";case f:e.value=e.props.join(",")}return x(n=Z(e.children,r))?e.return=e.value+"{"+n+"}":""}function ee(e){return function(t){t.root||(t=t.return)&&e(t)}}var te=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}},ne=function(e,t){return z(function(e,t){var n=-1,r=44;do{switch(D(r)){case 0:38===r&&12===A()&&(t[n]=1),e[n]+=$(_-1);break;case 2:e[n]+=V(r);break;case 4:if(44===r){e[++n]=58===A()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=h(r)}}while(r=N());return e}(R(e),t))},re=new WeakMap,ae=function(e){if("rule"===e.type&&e.parent&&e.length){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||re.get(n))&&!r){re.set(e,!0);for(var a=[],o=ne(t,a),i=n.props,u=0,l=0;u<o.length;u++)for(var s=0;s<i.length;s++,l++)e.props[l]=a[u]?o[u].replace(/&\f/g,i[s]):i[s]+" "+o[u]}}},oe=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},ie=[function(e,t,n,r){if(!e.return)switch(e.type){case d:e.return=K(e.value,e.length);break;case"@keyframes":return Z([M(v(e.value,"@","@"+s),e,"")],r);case f:if(e.length)return O(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Z([M(v(t,/:(read-\w+)/,":-moz-$1"),e,"")],r);case"::placeholder":return Z([M(v(t,/:(plac\w+)/,":"+s+"input-$1"),e,""),M(v(t,/:(plac\w+)/,":-moz-$1"),e,""),M(v(t,/:(plac\w+)/,u+"input-$1"),e,"")],r)}return""}))}}],ue=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r=e.stylisPlugins||ie;var a,o,u={},l=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)u[t[n]]=!0;l.push(e)}));var s=[ae,oe];var c,f=[J,ee((function(e){c.insert(e)}))],d=function(e){var t=w(e);return function(n,r,a,o){for(var i="",u=0;u<t;u++)i+=e[u](n,r,a,o)||"";return i}}(s.concat(r,f));o=function(e,t,n,r){c=n,Z(q(e?e+"{"+t.styles+"}":t.styles),d),r&&(p.inserted[t.name]=!0)};var p={key:t,sheet:new i({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend}),nonce:e.nonce,inserted:u,registered:{},insert:o};return p.sheet.hydrate(l),p};n(18);function le(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}var se=function(e,t,n){var r=e.key+"-"+t.name;if(!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles),void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+r:"",a,e.sheet,!0);a=a.next}while(void 0!==a)}};var ce=function(e){for(var t,n=0,r=0,a=e.length;a>=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},fe={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},de=/[A-Z]|^ms/g,pe=/_EMO_([^_]+?)_([^]*?)_EMO_/g,he=function(e){return 45===e.charCodeAt(1)},me=function(e){return null!=e&&"boolean"!==typeof e},ve=te((function(e){return he(e)?e:e.replace(de,"-$&").toLowerCase()})),ge=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(pe,(function(e,t,n){return be={name:t,styles:n,next:be},t}))}return 1===fe[e]||he(e)||"number"!==typeof t||0===t?t:t+"px"};function ye(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return be={name:n.name,styles:n.styles,next:be},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)be={name:r.name,styles:r.styles,next:be},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=ye(e,t,n[a])+";";else for(var o in n){var i=n[o];if("object"!==typeof i)null!=t&&void 0!==t[i]?r+=o+"{"+t[i]+"}":me(i)&&(r+=ve(o)+":"+ge(o,i)+";");else if(!Array.isArray(i)||"string"!==typeof i[0]||null!=t&&void 0!==t[i[0]]){var u=ye(e,t,i);switch(o){case"animation":case"animationName":r+=ve(o)+":"+u+";";break;default:r+=o+"{"+u+"}"}}else for(var l=0;l<i.length;l++)me(i[l])&&(r+=ve(o)+":"+ge(o,i[l])+";")}return r}(e,t,n);case"function":if(void 0!==e){var a=be,o=n(e);return be=a,ye(e,t,o)}break;case"string":}if(null==t)return n;var i=t[n];return void 0!==i?i:n}var be,xe=/label:\s*([^\s;\n{]+)\s*(;|$)/g;var we=function(e,t,n){if(1===e.length&&"object"===typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,a="";be=void 0;var o=e[0];null==o||void 0===o.raw?(r=!1,a+=ye(n,t,o)):a+=o[0];for(var i=1;i<e.length;i++)a+=ye(n,t,e[i]),r&&(a+=o[i]);xe.lastIndex=0;for(var u,l="";null!==(u=xe.exec(a));)l+="-"+u[1];return{name:ce(a)+l,styles:a,next:be}},ke=Object.prototype.hasOwnProperty,Oe=Object(a.createContext)("undefined"!==typeof HTMLElement?ue({key:"css"}):null),Ce=Oe.Provider,Se=function(e){return Object(a.forwardRef)((function(t,n){var r=Object(a.useContext)(Oe);return e(t,r,n)}))},Ee=Object(a.createContext)({});var _e="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Fe=function(e,t){var n={};for(var r in t)ke.call(t,r)&&(n[r]=t[r]);return n[_e]=e,n},Pe=Se((function(e,t,n){var r=e.css;"string"===typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var o=e[_e],i=[r],u="";"string"===typeof e.className?u=le(t.registered,i,e.className):null!=e.className&&(u=e.className+" ");var l=we(i,void 0,"function"===typeof r||Array.isArray(r)?Object(a.useContext)(Ee):void 0);se(t,l,"string"===typeof o);u+=t.key+"-"+l.name;var s={};for(var c in e)ke.call(e,c)&&"css"!==c&&c!==_e&&(s[c]=e[c]);return s.ref=n,s.className=u,Object(a.createElement)(o,s)}));n(28);var Te=function(e,t){var n=arguments;if(null==t||!ke.call(t,"css"))return a.createElement.apply(void 0,n);var r=n.length,o=new Array(r);o[0]=Pe,o[1]=Fe(e,t);for(var i=2;i<r;i++)o[i]=n[i];return a.createElement.apply(null,o)};function Me(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return we(t)}var je=function e(t){for(var n=t.length,r=0,a="";r<n;r++){var o=t[r];if(null!=o){var i=void 0;switch(typeof o){case"boolean":break;case"object":if(Array.isArray(o))i=e(o);else for(var u in i="",o)o[u]&&u&&(i&&(i+=" "),i+=u);break;default:i=o}i&&(a&&(a+=" "),a+=i)}}return a};function Ne(e,t,n){var r=[],a=le(e,r,n);return r.length<2?n:a+t(r)}var Ae=Se((function(e,t){var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=we(n,t.registered);return se(t,a,!1),t.key+"-"+a.name},r={css:n,cx:function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return Ne(t.registered,n,je(r))},theme:Object(a.useContext)(Ee)},o=e.children(r);return!0,o}));var Ie=n(14);function Le(e,t){if(null==e)return{};var n,r,a=Object(Ie.a)(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function De(e){return(De="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Re=n(24),ze=n.n(Re);function Ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ue(e,t,n){return t&&Be(e.prototype,t),n&&Be(e,n),e}var He=n(20);function We(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Object(He.a)(e,t)}function $e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var qe=n(16);function Ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){Ye(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xe(e){return(Xe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ke(e,t){return!t||"object"!==typeof t&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ze(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(u){return!1}}();return function(){var n,r=Xe(e);if(t){var a=Xe(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return Ke(this,n)}}var Je=function(){};function et(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}function tt(e,t,n){var r=[n];if(t&&e)for(var a in t)t.hasOwnProperty(a)&&t[a]&&r.push("".concat(et(e,a)));return r.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(" ")}var nt=function(e){return Array.isArray(e)?e.filter(Boolean):"object"===De(e)&&null!==e?[e]:[]},rt=function(e){return e.className,e.clearValue,e.cx,e.getStyles,e.getValue,e.hasValue,e.isMulti,e.isRtl,e.options,e.selectOption,e.selectProps,e.setValue,e.theme,Qe({},Le(e,["className","clearValue","cx","getStyles","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"]))};function at(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function ot(e){return at(e)?window.pageYOffset:e.scrollTop}function it(e,t){at(e)?window.scrollTo(0,t):e.scrollTop=t}function ut(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}function lt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Je,a=ot(e),o=t-a,i=10,u=0;function l(){var t=ut(u+=i,a,o,n);it(e,t),u<n?window.requestAnimationFrame(l):r(e)}l()}function st(){try{return document.createEvent("TouchEvent"),!0}catch(u){return!1}}var ct=!1,ft={get passive(){return ct=!0}},dt="undefined"!==typeof window?window:{};dt.addEventListener&&dt.removeEventListener&&(dt.addEventListener("p",Je,ft),dt.removeEventListener("p",Je,!1));var pt=ct;function ht(e){var t=e.maxHeight,n=e.menuEl,r=e.minHeight,a=e.placement,o=e.shouldScroll,i=e.isFixedPosition,u=e.theme.spacing,l=function(e){var t=getComputedStyle(e),n="absolute"===t.position,r=/(auto|scroll)/,a=document.documentElement;if("fixed"===t.position)return a;for(var o=e;o=o.parentElement;)if(t=getComputedStyle(o),(!n||"static"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return o;return a}(n),s={placement:"bottom",maxHeight:t};if(!n||!n.offsetParent)return s;var c=l.getBoundingClientRect().height,f=n.getBoundingClientRect(),d=f.bottom,p=f.height,h=f.top,m=n.offsetParent.getBoundingClientRect().top,v=window.innerHeight,g=ot(l),y=parseInt(getComputedStyle(n).marginBottom,10),b=parseInt(getComputedStyle(n).marginTop,10),x=m-b,w=v-h,k=x+g,O=c-g-h,C=d-v+g+y,S=g+h-b,E=160;switch(a){case"auto":case"bottom":if(w>=p)return{placement:"bottom",maxHeight:t};if(O>=p&&!i)return o&<(l,C,E),{placement:"bottom",maxHeight:t};if(!i&&O>=r||i&&w>=r)return o&<(l,C,E),{placement:"bottom",maxHeight:i?w-y:O-y};if("auto"===a||i){var _=t,F=i?x:k;return F>=r&&(_=Math.min(F-y-u.controlHeight,t)),{placement:"top",maxHeight:_}}if("bottom"===a)return o&&it(l,C),{placement:"bottom",maxHeight:t};break;case"top":if(x>=p)return{placement:"top",maxHeight:t};if(k>=p&&!i)return o&<(l,S,E),{placement:"top",maxHeight:t};if(!i&&k>=r||i&&x>=r){var P=t;return(!i&&k>=r||i&&x>=r)&&(P=i?x-b:k-b),o&<(l,S,E),{placement:"top",maxHeight:P}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(a,'".'))}return s}var mt=function(e){return"auto"===e?"bottom":e},vt=Object(a.createContext)({getPortalPlacement:null}),gt=function(e){We(n,e);var t=Ze(n);function n(){var e;Ve(this,n);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return(e=t.call.apply(t,[this].concat(a))).state={maxHeight:e.props.maxMenuHeight,placement:null},e.getPlacement=function(t){var n=e.props,r=n.minMenuHeight,a=n.maxMenuHeight,o=n.menuPlacement,i=n.menuPosition,u=n.menuShouldScrollIntoView,l=n.theme;if(t){var s="fixed"===i,c=ht({maxHeight:a,menuEl:t,minHeight:r,placement:o,shouldScroll:u&&!s,isFixedPosition:s,theme:l}),f=e.context.getPortalPlacement;f&&f(c),e.setState(c)}},e.getUpdatedProps=function(){var t=e.props.menuPlacement,n=e.state.placement||mt(t);return Qe(Qe({},e.props),{},{placement:n,maxHeight:e.state.maxHeight})},e}return Ue(n,[{key:"render",value:function(){return(0,this.props.children)({ref:this.getPlacement,placerProps:this.getUpdatedProps()})}}]),n}(a.Component);gt.contextType=vt;var yt=function(e){var t=e.theme,n=t.spacing.baseUnit;return{color:t.colors.neutral40,padding:"".concat(2*n,"px ").concat(3*n,"px"),textAlign:"center"}},bt=yt,xt=yt,wt=function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("noOptionsMessage",e),className:a({"menu-notice":!0,"menu-notice--no-options":!0},n)},i),t)};wt.defaultProps={children:"No options"};var kt=function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("loadingMessage",e),className:a({"menu-notice":!0,"menu-notice--loading":!0},n)},i),t)};kt.defaultProps={children:"Loading..."};var Ot,Ct=function(e){We(n,e);var t=Ze(n);function n(){var e;Ve(this,n);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return(e=t.call.apply(t,[this].concat(a))).state={placement:null},e.getPortalPlacement=function(t){var n=t.placement;n!==mt(e.props.menuPlacement)&&e.setState({placement:n})},e}return Ue(n,[{key:"render",value:function(){var e=this.props,t=e.appendTo,n=e.children,a=e.className,o=e.controlElement,i=e.cx,u=e.innerProps,l=e.menuPlacement,s=e.menuPosition,c=e.getStyles,f="fixed"===s;if(!t&&!f||!o)return null;var d=this.state.placement||mt(l),p=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(o),h=f?0:window.pageYOffset,m={offset:p[d]+h,position:s,rect:p},v=Te("div",Object(r.a)({css:c("menuPortal",m),className:i({"menu-portal":!0},a)},u),n);return Te(vt.Provider,{value:{getPortalPlacement:this.getPortalPlacement}},t?Object(qe.createPortal)(v,t):v)}}]),n}(a.Component);var St,Et,_t={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},Ft=function(e){var t=e.size,n=Le(e,["size"]);return Te("svg",Object(r.a)({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:_t},n))},Pt=function(e){return Te(Ft,Object(r.a)({size:20},e),Te("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},Tt=function(e){return Te(Ft,Object(r.a)({size:20},e),Te("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Mt=function(e){var t=e.isFocused,n=e.theme,r=n.spacing.baseUnit,a=n.colors;return{label:"indicatorContainer",color:t?a.neutral60:a.neutral20,display:"flex",padding:2*r,transition:"color 150ms",":hover":{color:t?a.neutral80:a.neutral40}}},jt=Mt,Nt=Mt,At=function(){var e=Me.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(Ot||(St=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],Et||(Et=St.slice(0)),Ot=Object.freeze(Object.defineProperties(St,{raw:{value:Object.freeze(Et)}})))),It=function(e){var t=e.delay,n=e.offset;return Te("span",{css:Me({animation:"".concat(At," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":null,height:"1em",verticalAlign:"top",width:"1em"},"","")})},Lt=function(e){var t=e.className,n=e.cx,a=e.getStyles,o=e.innerProps,i=e.isRtl;return Te("div",Object(r.a)({css:a("loadingIndicator",e),className:n({indicator:!0,"loading-indicator":!0},t)},o),Te(It,{delay:0,offset:i}),Te(It,{delay:160,offset:!0}),Te(It,{delay:320,offset:!i}))};Lt.defaultProps={size:4};var Dt=function(e){return{label:"input",background:0,border:0,fontSize:"inherit",opacity:e?0:1,outline:0,padding:0,color:"inherit"}},Rt=function(e){var t=e.children,n=e.innerProps;return Te("div",n,t)},zt=Rt,Vt=Rt;var Bt=function(e){var t=e.children,n=e.className,r=e.components,a=e.cx,o=e.data,i=e.getStyles,u=e.innerProps,l=e.isDisabled,s=e.removeProps,c=e.selectProps,f=r.Container,d=r.Label,p=r.Remove;return Te(Ae,null,(function(r){var h=r.css,m=r.cx;return Te(f,{data:o,innerProps:Qe({className:m(h(i("multiValue",e)),a({"multi-value":!0,"multi-value--is-disabled":l},n))},u),selectProps:c},Te(d,{data:o,innerProps:{className:m(h(i("multiValueLabel",e)),a({"multi-value__label":!0},n))},selectProps:c},t),Te(p,{data:o,innerProps:Qe({className:m(h(i("multiValueRemove",e)),a({"multi-value__remove":!0},n))},s),selectProps:c}))}))};Bt.defaultProps={cropWithEllipsis:!0};var Ut={ClearIndicator:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("clearIndicator",e),className:a({indicator:!0,"clear-indicator":!0},n)},i),t||Te(Pt,null))},Control:function(e){var t=e.children,n=e.cx,a=e.getStyles,o=e.className,i=e.isDisabled,u=e.isFocused,l=e.innerRef,s=e.innerProps,c=e.menuIsOpen;return Te("div",Object(r.a)({ref:l,css:a("control",e),className:n({control:!0,"control--is-disabled":i,"control--is-focused":u,"control--menu-is-open":c},o)},s),t)},DropdownIndicator:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("dropdownIndicator",e),className:a({indicator:!0,"dropdown-indicator":!0},n)},i),t||Te(Tt,null))},DownChevron:Tt,CrossIcon:Pt,Group:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.Heading,u=e.headingProps,l=e.innerProps,s=e.label,c=e.theme,f=e.selectProps;return Te("div",Object(r.a)({css:o("group",e),className:a({group:!0},n)},l),Te(i,Object(r.a)({},u,{selectProps:f,theme:c,getStyles:o,cx:a}),s),Te("div",null,t))},GroupHeading:function(e){var t=e.getStyles,n=e.cx,a=e.className,o=rt(e);o.data;var i=Le(o,["data"]);return Te("div",Object(r.a)({css:t("groupHeading",e),className:n({"group-heading":!0},a)},i))},IndicatorsContainer:function(e){var t=e.children,n=e.className,a=e.cx,o=e.innerProps,i=e.getStyles;return Te("div",Object(r.a)({css:i("indicatorsContainer",e),className:a({indicators:!0},n)},o),t)},IndicatorSeparator:function(e){var t=e.className,n=e.cx,a=e.getStyles,o=e.innerProps;return Te("span",Object(r.a)({},o,{css:a("indicatorSeparator",e),className:n({"indicator-separator":!0},t)}))},Input:function(e){var t=e.className,n=e.cx,a=e.getStyles,o=rt(e),i=o.innerRef,u=o.isDisabled,l=o.isHidden,s=Le(o,["innerRef","isDisabled","isHidden"]);return Te("div",{css:a("input",e)},Te(ze.a,Object(r.a)({className:n({input:!0},t),inputRef:i,inputStyle:Dt(l),disabled:u},s)))},LoadingIndicator:Lt,Menu:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerRef,u=e.innerProps;return Te("div",Object(r.a)({css:o("menu",e),className:a({menu:!0},n),ref:i},u),t)},MenuList:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps,u=e.innerRef,l=e.isMulti;return Te("div",Object(r.a)({css:o("menuList",e),className:a({"menu-list":!0,"menu-list--is-multi":l},n),ref:u},i),t)},MenuPortal:Ct,LoadingMessage:kt,NoOptionsMessage:wt,MultiValue:Bt,MultiValueContainer:zt,MultiValueLabel:Vt,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return Te("div",n,t||Te(Pt,{size:14}))},Option:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.isDisabled,u=e.isFocused,l=e.isSelected,s=e.innerRef,c=e.innerProps;return Te("div",Object(r.a)({css:o("option",e),className:a({option:!0,"option--is-disabled":i,"option--is-focused":u,"option--is-selected":l},n),ref:s},c),t)},Placeholder:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("placeholder",e),className:a({placeholder:!0},n)},i),t)},SelectContainer:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps,u=e.isDisabled,l=e.isRtl;return Te("div",Object(r.a)({css:o("container",e),className:a({"--is-disabled":u,"--is-rtl":l},n)},i),t)},SingleValue:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.isDisabled,u=e.innerProps;return Te("div",Object(r.a)({css:o("singleValue",e),className:a({"single-value":!0,"single-value--is-disabled":i},n)},u),t)},ValueContainer:function(e){var t=e.children,n=e.className,a=e.cx,o=e.innerProps,i=e.isMulti,u=e.getStyles,l=e.hasValue;return Te("div",Object(r.a)({css:u("valueContainer",e),className:a({"value-container":!0,"value-container--is-multi":i,"value-container--has-value":l},n)},o),t)}};function Ht(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wt(e){return function(e){if(Array.isArray(e))return Ht(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"===typeof e)return Ht(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ht(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var $t=Number.isNaN||function(e){return"number"===typeof e&&e!==e};function qt(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(r=e[n],a=t[n],!(r===a||$t(r)&&$t(a)))return!1;var r,a;return!0}var Yt=function(e,t){var n;void 0===t&&(t=qt);var r,a=[],o=!1;return function(){for(var i=[],u=0;u<arguments.length;u++)i[u]=arguments[u];return o&&n===this&&t(i,a)||(r=e.apply(this,i),o=!0,n=this,a=i),r}};for(var Gt={name:"7pg0cj-a11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"},Qt=function(e){return Te("span",Object(r.a)({css:Gt},e))},Xt={guidance:function(e){var t=e.isSearchable,n=e.isMulti,r=e.isDisabled,a=e.tabSelectsValue;switch(e.context){case"menu":return"Use Up and Down to choose options".concat(r?"":", press Enter to select the currently focused option",", press Escape to exit the menu").concat(a?", press Tab to select the option and exit the menu":"",".");case"input":return"".concat(e["aria-label"]||"Select"," is focused ").concat(t?",type to refine list":"",", press Down to open the menu, ").concat(n?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value";default:return""}},onChange:function(e){var t=e.action,n=e.label,r=void 0===n?"":n,a=e.isDisabled;switch(t){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(r,", deselected.");case"select-option":return"option ".concat(r,a?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,r=void 0===n?{}:n,a=e.options,o=e.label,i=void 0===o?"":o,u=e.selectValue,l=e.isDisabled,s=e.isSelected,c=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&u)return"value ".concat(i," focused, ").concat(c(u,r),".");if("menu"===t){var f=l?" disabled":"",d="".concat(s?"selected":"focused").concat(f);return"option ".concat(i," ").concat(d,", ").concat(c(a,r),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},Kt=function(e){var t=e.ariaSelection,n=e.focusedOption,r=e.focusedValue,i=e.focusableOptions,u=e.isFocused,l=e.selectValue,s=e.selectProps,c=s.ariaLiveMessages,f=s.getOptionLabel,d=s.inputValue,p=s.isMulti,h=s.isOptionDisabled,m=s.isSearchable,v=s.menuIsOpen,g=s.options,y=s.screenReaderStatus,b=s.tabSelectsValue,x=s["aria-label"],w=s["aria-live"],k=Object(a.useMemo)((function(){return Qe(Qe({},Xt),c||{})}),[c]),O=Object(a.useMemo)((function(){var e,n="";if(t&&k.onChange){var r=t.option,a=t.removedValue,o=t.value,i=a||r||(e=o,Array.isArray(e)?null:e),u=Qe({isDisabled:i&&h(i),label:i?f(i):""},t);n=k.onChange(u)}return n}),[t,h,f,k]),C=Object(a.useMemo)((function(){var e="",t=n||r,a=!!(n&&l&&l.includes(n));if(t&&k.onFocus){var o={focused:t,label:f(t),isDisabled:h(t),isSelected:a,options:g,context:t===n?"menu":"value",selectValue:l};e=k.onFocus(o)}return e}),[n,r,f,h,k,g,l]),S=Object(a.useMemo)((function(){var e="";if(v&&g.length&&k.onFilter){var t=y({count:i.length});e=k.onFilter({inputValue:d,resultsMessage:t})}return e}),[i,d,v,k,g,y]),E=Object(a.useMemo)((function(){var e="";if(k.guidance){var t=r?"value":v?"menu":"input";e=k.guidance({"aria-label":x,context:t,isDisabled:n&&h(n),isMulti:p,isSearchable:m,tabSelectsValue:b})}return e}),[x,n,r,p,h,m,v,k,b]),_="".concat(C," ").concat(S," ").concat(E);return Te(Qt,{"aria-live":w,"aria-atomic":"false","aria-relevant":"additions text"},u&&Te(o.a.Fragment,null,Te("span",{id:"aria-selection"},O),Te("span",{id:"aria-context"},_)))},Zt=[{base:"A",letters:"A\u24b6\uff21\xc0\xc1\xc2\u1ea6\u1ea4\u1eaa\u1ea8\xc3\u0100\u0102\u1eb0\u1eae\u1eb4\u1eb2\u0226\u01e0\xc4\u01de\u1ea2\xc5\u01fa\u01cd\u0200\u0202\u1ea0\u1eac\u1eb6\u1e00\u0104\u023a\u2c6f"},{base:"AA",letters:"\ua732"},{base:"AE",letters:"\xc6\u01fc\u01e2"},{base:"AO",letters:"\ua734"},{base:"AU",letters:"\ua736"},{base:"AV",letters:"\ua738\ua73a"},{base:"AY",letters:"\ua73c"},{base:"B",letters:"B\u24b7\uff22\u1e02\u1e04\u1e06\u0243\u0182\u0181"},{base:"C",letters:"C\u24b8\uff23\u0106\u0108\u010a\u010c\xc7\u1e08\u0187\u023b\ua73e"},{base:"D",letters:"D\u24b9\uff24\u1e0a\u010e\u1e0c\u1e10\u1e12\u1e0e\u0110\u018b\u018a\u0189\ua779"},{base:"DZ",letters:"\u01f1\u01c4"},{base:"Dz",letters:"\u01f2\u01c5"},{base:"E",letters:"E\u24ba\uff25\xc8\xc9\xca\u1ec0\u1ebe\u1ec4\u1ec2\u1ebc\u0112\u1e14\u1e16\u0114\u0116\xcb\u1eba\u011a\u0204\u0206\u1eb8\u1ec6\u0228\u1e1c\u0118\u1e18\u1e1a\u0190\u018e"},{base:"F",letters:"F\u24bb\uff26\u1e1e\u0191\ua77b"},{base:"G",letters:"G\u24bc\uff27\u01f4\u011c\u1e20\u011e\u0120\u01e6\u0122\u01e4\u0193\ua7a0\ua77d\ua77e"},{base:"H",letters:"H\u24bd\uff28\u0124\u1e22\u1e26\u021e\u1e24\u1e28\u1e2a\u0126\u2c67\u2c75\ua78d"},{base:"I",letters:"I\u24be\uff29\xcc\xcd\xce\u0128\u012a\u012c\u0130\xcf\u1e2e\u1ec8\u01cf\u0208\u020a\u1eca\u012e\u1e2c\u0197"},{base:"J",letters:"J\u24bf\uff2a\u0134\u0248"},{base:"K",letters:"K\u24c0\uff2b\u1e30\u01e8\u1e32\u0136\u1e34\u0198\u2c69\ua740\ua742\ua744\ua7a2"},{base:"L",letters:"L\u24c1\uff2c\u013f\u0139\u013d\u1e36\u1e38\u013b\u1e3c\u1e3a\u0141\u023d\u2c62\u2c60\ua748\ua746\ua780"},{base:"LJ",letters:"\u01c7"},{base:"Lj",letters:"\u01c8"},{base:"M",letters:"M\u24c2\uff2d\u1e3e\u1e40\u1e42\u2c6e\u019c"},{base:"N",letters:"N\u24c3\uff2e\u01f8\u0143\xd1\u1e44\u0147\u1e46\u0145\u1e4a\u1e48\u0220\u019d\ua790\ua7a4"},{base:"NJ",letters:"\u01ca"},{base:"Nj",letters:"\u01cb"},{base:"O",letters:"O\u24c4\uff2f\xd2\xd3\xd4\u1ed2\u1ed0\u1ed6\u1ed4\xd5\u1e4c\u022c\u1e4e\u014c\u1e50\u1e52\u014e\u022e\u0230\xd6\u022a\u1ece\u0150\u01d1\u020c\u020e\u01a0\u1edc\u1eda\u1ee0\u1ede\u1ee2\u1ecc\u1ed8\u01ea\u01ec\xd8\u01fe\u0186\u019f\ua74a\ua74c"},{base:"OI",letters:"\u01a2"},{base:"OO",letters:"\ua74e"},{base:"OU",letters:"\u0222"},{base:"P",letters:"P\u24c5\uff30\u1e54\u1e56\u01a4\u2c63\ua750\ua752\ua754"},{base:"Q",letters:"Q\u24c6\uff31\ua756\ua758\u024a"},{base:"R",letters:"R\u24c7\uff32\u0154\u1e58\u0158\u0210\u0212\u1e5a\u1e5c\u0156\u1e5e\u024c\u2c64\ua75a\ua7a6\ua782"},{base:"S",letters:"S\u24c8\uff33\u1e9e\u015a\u1e64\u015c\u1e60\u0160\u1e66\u1e62\u1e68\u0218\u015e\u2c7e\ua7a8\ua784"},{base:"T",letters:"T\u24c9\uff34\u1e6a\u0164\u1e6c\u021a\u0162\u1e70\u1e6e\u0166\u01ac\u01ae\u023e\ua786"},{base:"TZ",letters:"\ua728"},{base:"U",letters:"U\u24ca\uff35\xd9\xda\xdb\u0168\u1e78\u016a\u1e7a\u016c\xdc\u01db\u01d7\u01d5\u01d9\u1ee6\u016e\u0170\u01d3\u0214\u0216\u01af\u1eea\u1ee8\u1eee\u1eec\u1ef0\u1ee4\u1e72\u0172\u1e76\u1e74\u0244"},{base:"V",letters:"V\u24cb\uff36\u1e7c\u1e7e\u01b2\ua75e\u0245"},{base:"VY",letters:"\ua760"},{base:"W",letters:"W\u24cc\uff37\u1e80\u1e82\u0174\u1e86\u1e84\u1e88\u2c72"},{base:"X",letters:"X\u24cd\uff38\u1e8a\u1e8c"},{base:"Y",letters:"Y\u24ce\uff39\u1ef2\xdd\u0176\u1ef8\u0232\u1e8e\u0178\u1ef6\u1ef4\u01b3\u024e\u1efe"},{base:"Z",letters:"Z\u24cf\uff3a\u0179\u1e90\u017b\u017d\u1e92\u1e94\u01b5\u0224\u2c7f\u2c6b\ua762"},{base:"a",letters:"a\u24d0\uff41\u1e9a\xe0\xe1\xe2\u1ea7\u1ea5\u1eab\u1ea9\xe3\u0101\u0103\u1eb1\u1eaf\u1eb5\u1eb3\u0227\u01e1\xe4\u01df\u1ea3\xe5\u01fb\u01ce\u0201\u0203\u1ea1\u1ead\u1eb7\u1e01\u0105\u2c65\u0250"},{base:"aa",letters:"\ua733"},{base:"ae",letters:"\xe6\u01fd\u01e3"},{base:"ao",letters:"\ua735"},{base:"au",letters:"\ua737"},{base:"av",letters:"\ua739\ua73b"},{base:"ay",letters:"\ua73d"},{base:"b",letters:"b\u24d1\uff42\u1e03\u1e05\u1e07\u0180\u0183\u0253"},{base:"c",letters:"c\u24d2\uff43\u0107\u0109\u010b\u010d\xe7\u1e09\u0188\u023c\ua73f\u2184"},{base:"d",letters:"d\u24d3\uff44\u1e0b\u010f\u1e0d\u1e11\u1e13\u1e0f\u0111\u018c\u0256\u0257\ua77a"},{base:"dz",letters:"\u01f3\u01c6"},{base:"e",letters:"e\u24d4\uff45\xe8\xe9\xea\u1ec1\u1ebf\u1ec5\u1ec3\u1ebd\u0113\u1e15\u1e17\u0115\u0117\xeb\u1ebb\u011b\u0205\u0207\u1eb9\u1ec7\u0229\u1e1d\u0119\u1e19\u1e1b\u0247\u025b\u01dd"},{base:"f",letters:"f\u24d5\uff46\u1e1f\u0192\ua77c"},{base:"g",letters:"g\u24d6\uff47\u01f5\u011d\u1e21\u011f\u0121\u01e7\u0123\u01e5\u0260\ua7a1\u1d79\ua77f"},{base:"h",letters:"h\u24d7\uff48\u0125\u1e23\u1e27\u021f\u1e25\u1e29\u1e2b\u1e96\u0127\u2c68\u2c76\u0265"},{base:"hv",letters:"\u0195"},{base:"i",letters:"i\u24d8\uff49\xec\xed\xee\u0129\u012b\u012d\xef\u1e2f\u1ec9\u01d0\u0209\u020b\u1ecb\u012f\u1e2d\u0268\u0131"},{base:"j",letters:"j\u24d9\uff4a\u0135\u01f0\u0249"},{base:"k",letters:"k\u24da\uff4b\u1e31\u01e9\u1e33\u0137\u1e35\u0199\u2c6a\ua741\ua743\ua745\ua7a3"},{base:"l",letters:"l\u24db\uff4c\u0140\u013a\u013e\u1e37\u1e39\u013c\u1e3d\u1e3b\u017f\u0142\u019a\u026b\u2c61\ua749\ua781\ua747"},{base:"lj",letters:"\u01c9"},{base:"m",letters:"m\u24dc\uff4d\u1e3f\u1e41\u1e43\u0271\u026f"},{base:"n",letters:"n\u24dd\uff4e\u01f9\u0144\xf1\u1e45\u0148\u1e47\u0146\u1e4b\u1e49\u019e\u0272\u0149\ua791\ua7a5"},{base:"nj",letters:"\u01cc"},{base:"o",letters:"o\u24de\uff4f\xf2\xf3\xf4\u1ed3\u1ed1\u1ed7\u1ed5\xf5\u1e4d\u022d\u1e4f\u014d\u1e51\u1e53\u014f\u022f\u0231\xf6\u022b\u1ecf\u0151\u01d2\u020d\u020f\u01a1\u1edd\u1edb\u1ee1\u1edf\u1ee3\u1ecd\u1ed9\u01eb\u01ed\xf8\u01ff\u0254\ua74b\ua74d\u0275"},{base:"oi",letters:"\u01a3"},{base:"ou",letters:"\u0223"},{base:"oo",letters:"\ua74f"},{base:"p",letters:"p\u24df\uff50\u1e55\u1e57\u01a5\u1d7d\ua751\ua753\ua755"},{base:"q",letters:"q\u24e0\uff51\u024b\ua757\ua759"},{base:"r",letters:"r\u24e1\uff52\u0155\u1e59\u0159\u0211\u0213\u1e5b\u1e5d\u0157\u1e5f\u024d\u027d\ua75b\ua7a7\ua783"},{base:"s",letters:"s\u24e2\uff53\xdf\u015b\u1e65\u015d\u1e61\u0161\u1e67\u1e63\u1e69\u0219\u015f\u023f\ua7a9\ua785\u1e9b"},{base:"t",letters:"t\u24e3\uff54\u1e6b\u1e97\u0165\u1e6d\u021b\u0163\u1e71\u1e6f\u0167\u01ad\u0288\u2c66\ua787"},{base:"tz",letters:"\ua729"},{base:"u",letters:"u\u24e4\uff55\xf9\xfa\xfb\u0169\u1e79\u016b\u1e7b\u016d\xfc\u01dc\u01d8\u01d6\u01da\u1ee7\u016f\u0171\u01d4\u0215\u0217\u01b0\u1eeb\u1ee9\u1eef\u1eed\u1ef1\u1ee5\u1e73\u0173\u1e77\u1e75\u0289"},{base:"v",letters:"v\u24e5\uff56\u1e7d\u1e7f\u028b\ua75f\u028c"},{base:"vy",letters:"\ua761"},{base:"w",letters:"w\u24e6\uff57\u1e81\u1e83\u0175\u1e87\u1e85\u1e98\u1e89\u2c73"},{base:"x",letters:"x\u24e7\uff58\u1e8b\u1e8d"},{base:"y",letters:"y\u24e8\uff59\u1ef3\xfd\u0177\u1ef9\u0233\u1e8f\xff\u1ef7\u1e99\u1ef5\u01b4\u024f\u1eff"},{base:"z",letters:"z\u24e9\uff5a\u017a\u1e91\u017c\u017e\u1e93\u1e95\u01b6\u0225\u0240\u2c6c\ua763"}],Jt=new RegExp("["+Zt.map((function(e){return e.letters})).join("")+"]","g"),en={},tn=0;tn<Zt.length;tn++)for(var nn=Zt[tn],rn=0;rn<nn.letters.length;rn++)en[nn.letters[rn]]=nn.base;var an=function(e){return e.replace(Jt,(function(e){return en[e]}))},on=Yt(an),un=function(e){return e.replace(/^\s+|\s+$/g,"")},ln=function(e){return"".concat(e.label," ").concat(e.value)};function sn(e){e.in,e.out,e.onExited,e.appear,e.enter,e.exit;var t=e.innerRef;e.emotion;var n=Le(e,["in","out","onExited","appear","enter","exit","innerRef","emotion"]);return Te("input",Object(r.a)({ref:t},n,{css:Me({label:"dummyInput",background:0,border:0,fontSize:"inherit",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(0)"},"","")}))}var cn=["boxSizing","height","overflow","paddingRight","position"],fn={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function dn(e){e.preventDefault()}function pn(e){e.stopPropagation()}function hn(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function mn(){return"ontouchstart"in window||navigator.maxTouchPoints}var vn=!("undefined"===typeof window||!window.document||!window.document.createElement),gn=0,yn={capture:!1,passive:!1};var bn=function(){return document.activeElement&&document.activeElement.blur()},xn={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function wn(e){var t=e.children,n=e.lockEnabled,r=e.captureEnabled,i=function(e){var t=e.isEnabled,n=e.onBottomArrive,r=e.onBottomLeave,o=e.onTopArrive,i=e.onTopLeave,u=Object(a.useRef)(!1),l=Object(a.useRef)(!1),s=Object(a.useRef)(0),c=Object(a.useRef)(null),f=Object(a.useCallback)((function(e,t){if(null!==c.current){var a=c.current,s=a.scrollTop,f=a.scrollHeight,d=a.clientHeight,p=c.current,h=t>0,m=f-d-s,v=!1;m>t&&u.current&&(r&&r(e),u.current=!1),h&&l.current&&(i&&i(e),l.current=!1),h&&t>m?(n&&!u.current&&n(e),p.scrollTop=f,v=!0,u.current=!0):!h&&-t>s&&(o&&!l.current&&o(e),p.scrollTop=0,v=!0,l.current=!0),v&&function(e){e.preventDefault(),e.stopPropagation()}(e)}}),[]),d=Object(a.useCallback)((function(e){f(e,e.deltaY)}),[f]),p=Object(a.useCallback)((function(e){s.current=e.changedTouches[0].clientY}),[]),h=Object(a.useCallback)((function(e){var t=s.current-e.changedTouches[0].clientY;f(e,t)}),[f]),m=Object(a.useCallback)((function(e){if(e){var t=!!pt&&{passive:!1};"function"===typeof e.addEventListener&&e.addEventListener("wheel",d,t),"function"===typeof e.addEventListener&&e.addEventListener("touchstart",p,t),"function"===typeof e.addEventListener&&e.addEventListener("touchmove",h,t)}}),[h,p,d]),v=Object(a.useCallback)((function(e){e&&("function"===typeof e.removeEventListener&&e.removeEventListener("wheel",d,!1),"function"===typeof e.removeEventListener&&e.removeEventListener("touchstart",p,!1),"function"===typeof e.removeEventListener&&e.removeEventListener("touchmove",h,!1))}),[h,p,d]);return Object(a.useEffect)((function(){if(t){var e=c.current;return m(e),function(){v(e)}}}),[t,m,v]),function(e){c.current=e}}({isEnabled:void 0===r||r,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),u=function(e){var t=e.isEnabled,n=e.accountForScrollbars,r=void 0===n||n,o=Object(a.useRef)({}),i=Object(a.useRef)(null),u=Object(a.useCallback)((function(e){if(vn){var t=document.body,n=t&&t.style;if(r&&cn.forEach((function(e){var t=n&&n[e];o.current[e]=t})),r&&gn<1){var a=parseInt(o.current.paddingRight,10)||0,i=document.body?document.body.clientWidth:0,u=window.innerWidth-i+a||0;Object.keys(fn).forEach((function(e){var t=fn[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(u,"px"))}t&&mn()&&(t.addEventListener("touchmove",dn,yn),e&&(e.addEventListener("touchstart",hn,yn),e.addEventListener("touchmove",pn,yn))),gn+=1}}),[]),l=Object(a.useCallback)((function(e){if(vn){var t=document.body,n=t&&t.style;gn=Math.max(gn-1,0),r&&gn<1&&cn.forEach((function(e){var t=o.current[e];n&&(n[e]=t)})),t&&mn()&&(t.removeEventListener("touchmove",dn,yn),e&&(e.removeEventListener("touchstart",hn,yn),e.removeEventListener("touchmove",pn,yn)))}}),[]);return Object(a.useEffect)((function(){if(t){var e=i.current;return u(e),function(){l(e)}}}),[t,u,l]),function(e){i.current=e}}({isEnabled:n});return Te(o.a.Fragment,null,n&&Te("div",{onClick:bn,css:xn}),t((function(e){i(e),u(e)})))}var kn={clearIndicator:Nt,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":null,pointerEvents:t?"none":null,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,a=r.colors,o=r.borderRadius,i=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?a.neutral5:a.neutral0,borderColor:t?a.neutral10:n?a.primary:a.neutral20,borderRadius:o,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px ".concat(a.primary):null,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:i.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?a.primary:a.neutral30}}},dropdownIndicator:jt,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:"500",marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,a=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?a.neutral10:a.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,a=n.colors;return{margin:r.baseUnit/2,paddingBottom:r.baseUnit/2,paddingTop:r.baseUnit/2,visibility:t?"hidden":"visible",color:a.neutral80}},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,a=r.colors,o=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?a.neutral60:a.neutral20,display:"flex",padding:2*o,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:xt,menu:function(e){var t,n=e.placement,r=e.theme,a=r.borderRadius,o=r.spacing,i=r.colors;return $e(t={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n),"100%"),$e(t,"backgroundColor",i.neutral0),$e(t,"borderRadius",a),$e(t,"boxShadow","0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)"),$e(t,"marginBottom",o.menuGutter),$e(t,"marginTop",o.menuGutter),$e(t,"position","absolute"),$e(t,"width","100%"),$e(t,"zIndex",1),t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,a=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:a?"ellipsis":null,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,a=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused&&a.dangerLight,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:a.dangerLight,color:a.danger}}},noOptionsMessage:bt,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,a=e.theme,o=a.spacing,i=a.colors;return{label:"option",backgroundColor:r?i.primary:n?i.primary25:"transparent",color:t?i.neutral20:r?i.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:"".concat(2*o.baseUnit,"px ").concat(3*o.baseUnit,"px"),width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:!t&&(r?i.primary:i.primary50)}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2,position:"absolute",top:"50%",transform:"translateY(-50%)"}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,a=n.colors;return{label:"singleValue",color:t?a.neutral40:a.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"calc(100% - ".concat(2*r.baseUnit,"px)"),overflow:"hidden",position:"absolute",textOverflow:"ellipsis",whiteSpace:"nowrap",top:"50%",transform:"translateY(-50%)"}},valueContainer:function(e){var t=e.theme.spacing;return{alignItems:"center",display:"flex",flex:1,flexWrap:"wrap",padding:"".concat(t.baseUnit/2,"px ").concat(2*t.baseUnit,"px"),WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}};var On,Cn={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},Sn={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:st(),captureMenuScroll:!st(),closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){var n=Qe({ignoreCase:!0,ignoreAccents:!0,stringify:ln,trim:!0,matchFrom:"any"},On),r=n.ignoreCase,a=n.ignoreAccents,o=n.stringify,i=n.trim,u=n.matchFrom,l=i?un(t):t,s=i?un(o(e)):o(e);return r&&(l=l.toLowerCase(),s=s.toLowerCase()),a&&(l=on(l),s=an(s)),"start"===u?s.substr(0,l.length)===l:s.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(u){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:"0",tabSelectsValue:!0};function En(e,t,n,r){return{type:"option",data:t,isDisabled:jn(e,t,n),isSelected:Nn(e,t,n),label:Tn(e,t),value:Mn(e,t),index:r}}function _n(e,t){return e.options.map((function(n,r){if(n.options){var a=n.options.map((function(n,r){return En(e,n,t,r)})).filter((function(t){return Pn(e,t)}));return a.length>0?{type:"group",data:n,options:a,index:r}:void 0}var o=En(e,n,t,r);return Pn(e,o)?o:void 0})).filter((function(e){return!!e}))}function Fn(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,Wt(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Pn(e,t){var n=e.inputValue,r=void 0===n?"":n,a=t.data,o=t.isSelected,i=t.label,u=t.value;return(!In(e)||!o)&&An(e,{label:i,value:u,data:a},r)}var Tn=function(e,t){return e.getOptionLabel(t)},Mn=function(e,t){return e.getOptionValue(t)};function jn(e,t,n){return"function"===typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Nn(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"===typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=Mn(e,t);return n.some((function(t){return Mn(e,t)===r}))}function An(e,t,n){return!e.filterOption||e.filterOption(t,n)}var In=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},Ln=1,Dn=function(e){We(n,e);var t=Ze(n);function n(e){var r;return Ve(this,n),(r=t.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},r.blockOptionHover=!1,r.isComposing=!1,r.commonProps=void 0,r.initialTouchX=0,r.initialTouchY=0,r.instancePrefix="",r.openAfterFocus=!1,r.scrollToFocusedOptionOnUpdate=!1,r.userIsDragging=void 0,r.controlRef=null,r.getControlRef=function(e){r.controlRef=e},r.focusedOptionRef=null,r.getFocusedOptionRef=function(e){r.focusedOptionRef=e},r.menuListRef=null,r.getMenuListRef=function(e){r.menuListRef=e},r.inputRef=null,r.getInputRef=function(e){r.inputRef=e},r.focus=r.focusInput,r.blur=r.blurInput,r.onChange=function(e,t){var n=r.props,a=n.onChange,o=n.name;t.name=o,r.ariaOnChange(e,t),a(e,t)},r.setValue=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"set-value",n=arguments.length>2?arguments[2]:void 0,a=r.props,o=a.closeMenuOnSelect,i=a.isMulti;r.onInputChange("",{action:"set-value"}),o&&(r.setState({inputIsHiddenAfterUpdate:!i}),r.onMenuClose()),r.setState({clearFocusValueOnUpdate:!0}),r.onChange(e,{action:t,option:n})},r.selectOption=function(e){var t=r.props,n=t.blurInputOnSelect,a=t.isMulti,o=t.name,i=r.state.selectValue,u=a&&r.isOptionSelected(e,i),l=r.isOptionDisabled(e,i);if(u){var s=r.getOptionValue(e);r.setValue(i.filter((function(e){return r.getOptionValue(e)!==s})),"deselect-option",e)}else{if(l)return void r.ariaOnChange(e,{action:"select-option",name:o});a?r.setValue([].concat(Wt(i),[e]),"select-option",e):r.setValue(e,"select-option")}n&&r.blurInput()},r.removeValue=function(e){var t=r.props.isMulti,n=r.state.selectValue,a=r.getOptionValue(e),o=n.filter((function(e){return r.getOptionValue(e)!==a})),i=t?o:o[0]||null;r.onChange(i,{action:"remove-value",removedValue:e}),r.focusInput()},r.clearValue=function(){var e=r.state.selectValue;r.onChange(r.props.isMulti?[]:null,{action:"clear",removedValues:e})},r.popValue=function(){var e=r.props.isMulti,t=r.state.selectValue,n=t[t.length-1],a=t.slice(0,t.length-1),o=e?a:a[0]||null;r.onChange(o,{action:"pop-value",removedValue:n})},r.getValue=function(){return r.state.selectValue},r.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return tt.apply(void 0,[r.props.classNamePrefix].concat(t))},r.getOptionLabel=function(e){return Tn(r.props,e)},r.getOptionValue=function(e){return Mn(r.props,e)},r.getStyles=function(e,t){var n=kn[e](t);n.boxSizing="border-box";var a=r.props.styles[e];return a?a(n,t):n},r.getElementId=function(e){return"".concat(r.instancePrefix,"-").concat(e)},r.getComponents=function(){return e=r.props,Qe(Qe({},Ut),e.components);var e},r.buildCategorizedOptions=function(){return _n(r.props,r.state.selectValue)},r.getCategorizedOptions=function(){return r.props.menuIsOpen?r.buildCategorizedOptions():[]},r.buildFocusableOptions=function(){return Fn(r.buildCategorizedOptions())},r.getFocusableOptions=function(){return r.props.menuIsOpen?r.buildFocusableOptions():[]},r.ariaOnChange=function(e,t){r.setState({ariaSelection:Qe({value:e},t)})},r.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),r.focusInput())},r.onMenuMouseMove=function(e){r.blockOptionHover=!1},r.onControlMouseDown=function(e){var t=r.props.openMenuOnClick;r.state.isFocused?r.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&r.onMenuClose():t&&r.openMenu("first"):(t&&(r.openAfterFocus=!0),r.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()},r.onDropdownIndicatorMouseDown=function(e){if((!e||"mousedown"!==e.type||0===e.button)&&!r.props.isDisabled){var t=r.props,n=t.isMulti,a=t.menuIsOpen;r.focusInput(),a?(r.setState({inputIsHiddenAfterUpdate:!n}),r.onMenuClose()):r.openMenu("first"),e.preventDefault(),e.stopPropagation()}},r.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(r.clearValue(),e.stopPropagation(),r.openAfterFocus=!1,"touchend"===e.type?r.focusInput():setTimeout((function(){return r.focusInput()})))},r.onScroll=function(e){"boolean"===typeof r.props.closeMenuOnScroll?e.target instanceof HTMLElement&&at(e.target)&&r.props.onMenuClose():"function"===typeof r.props.closeMenuOnScroll&&r.props.closeMenuOnScroll(e)&&r.props.onMenuClose()},r.onCompositionStart=function(){r.isComposing=!0},r.onCompositionEnd=function(){r.isComposing=!1},r.onTouchStart=function(e){var t=e.touches,n=t&&t.item(0);n&&(r.initialTouchX=n.clientX,r.initialTouchY=n.clientY,r.userIsDragging=!1)},r.onTouchMove=function(e){var t=e.touches,n=t&&t.item(0);if(n){var a=Math.abs(n.clientX-r.initialTouchX),o=Math.abs(n.clientY-r.initialTouchY);r.userIsDragging=a>5||o>5}},r.onTouchEnd=function(e){r.userIsDragging||(r.controlRef&&!r.controlRef.contains(e.target)&&r.menuListRef&&!r.menuListRef.contains(e.target)&&r.blurInput(),r.initialTouchX=0,r.initialTouchY=0)},r.onControlTouchEnd=function(e){r.userIsDragging||r.onControlMouseDown(e)},r.onClearIndicatorTouchEnd=function(e){r.userIsDragging||r.onClearIndicatorMouseDown(e)},r.onDropdownIndicatorTouchEnd=function(e){r.userIsDragging||r.onDropdownIndicatorMouseDown(e)},r.handleInputChange=function(e){var t=e.currentTarget.value;r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange(t,{action:"input-change"}),r.props.menuIsOpen||r.onMenuOpen()},r.onInputFocus=function(e){r.props.onFocus&&r.props.onFocus(e),r.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(r.openAfterFocus||r.props.openMenuOnFocus)&&r.openMenu("first"),r.openAfterFocus=!1},r.onInputBlur=function(e){r.menuListRef&&r.menuListRef.contains(document.activeElement)?r.inputRef.focus():(r.props.onBlur&&r.props.onBlur(e),r.onInputChange("",{action:"input-blur"}),r.onMenuClose(),r.setState({focusedValue:null,isFocused:!1}))},r.onOptionHover=function(e){r.blockOptionHover||r.state.focusedOption===e||r.setState({focusedOption:e})},r.shouldHideSelectedOptions=function(){return In(r.props)},r.onKeyDown=function(e){var t=r.props,n=t.isMulti,a=t.backspaceRemovesValue,o=t.escapeClearsValue,i=t.inputValue,u=t.isClearable,l=t.isDisabled,s=t.menuIsOpen,c=t.onKeyDown,f=t.tabSelectsValue,d=t.openMenuOnFocus,p=r.state,h=p.focusedOption,m=p.focusedValue,v=p.selectValue;if(!l&&("function"!==typeof c||(c(e),!e.defaultPrevented))){switch(r.blockOptionHover=!0,e.key){case"ArrowLeft":if(!n||i)return;r.focusValue("previous");break;case"ArrowRight":if(!n||i)return;r.focusValue("next");break;case"Delete":case"Backspace":if(i)return;if(m)r.removeValue(m);else{if(!a)return;n?r.popValue():u&&r.clearValue()}break;case"Tab":if(r.isComposing)return;if(e.shiftKey||!s||!f||!h||d&&r.isOptionSelected(h,v))return;r.selectOption(h);break;case"Enter":if(229===e.keyCode)break;if(s){if(!h)return;if(r.isComposing)return;r.selectOption(h);break}return;case"Escape":s?(r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange("",{action:"menu-close"}),r.onMenuClose()):u&&o&&r.clearValue();break;case" ":if(i)return;if(!s){r.openMenu("first");break}if(!h)return;r.selectOption(h);break;case"ArrowUp":s?r.focusOption("up"):r.openMenu("last");break;case"ArrowDown":s?r.focusOption("down"):r.openMenu("first");break;case"PageUp":if(!s)return;r.focusOption("pageup");break;case"PageDown":if(!s)return;r.focusOption("pagedown");break;case"Home":if(!s)return;r.focusOption("first");break;case"End":if(!s)return;r.focusOption("last");break;default:return}e.preventDefault()}},r.instancePrefix="react-select-"+(r.props.instanceId||++Ln),r.state.selectValue=nt(e.value),r}return Ue(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,r=t.menuIsOpen,a=this.state.isFocused;(a&&!n&&e.isDisabled||a&&r&&!e.menuIsOpen)&&this.focusInput(),a&&n&&!e.isDisabled&&this.setState({isFocused:!1},this.onMenuClose),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(!function(e,t){var n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=t.offsetHeight/3;r.bottom+a>n.bottom?it(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+a,e.scrollHeight)):r.top-a<n.top&&it(e,Math.max(t.offsetTop-a,0))}(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close"}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this,n=this.state,r=n.selectValue,a=n.isFocused,o=this.buildFocusableOptions(),i="first"===e?0:o.length-1;if(!this.props.isMulti){var u=o.indexOf(r[0]);u>-1&&(i=u)}this.scrollToFocusedOptionOnUpdate=!(a&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:o[i]},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,r=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var a=n.indexOf(r);r||(a=-1);var o=n.length-1,i=-1;if(n.length){switch(e){case"previous":i=0===a?0:-1===a?o:a-1;break;case"next":a>-1&&a<o&&(i=a+1)}this.setState({inputIsHidden:-1!==i,focusedValue:n[i]})}}}},{key:"focusOption",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,r=this.getFocusableOptions();if(r.length){var a=0,o=r.indexOf(n);n||(o=-1),"up"===e?a=o>0?o-1:r.length-1:"down"===e?a=(o+1)%r.length:"pageup"===e?(a=o-t)<0&&(a=0):"pagedown"===e?(a=o+t)>r.length-1&&(a=r.length-1):"last"===e&&(a=r.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:r[a],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?"function"===typeof this.props.theme?this.props.theme(Cn):Qe(Qe({},Cn),this.props.theme):Cn}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getValue,a=this.selectOption,o=this.setValue,i=this.props,u=i.isMulti,l=i.isRtl,s=i.options;return{clearValue:e,cx:t,getStyles:n,getValue:r,hasValue:this.hasValue(),isMulti:u,isRtl:l,options:s,selectOption:a,selectProps:i,setValue:o,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return jn(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Nn(this.props,e,t)}},{key:"filterOption",value:function(e,t){return An(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"===typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,a=e.inputId,i=e.inputValue,u=e.tabIndex,l=e.form,s=this.getComponents().Input,c=this.state.inputIsHidden,f=this.commonProps,d=a||this.getElementId("input"),p={"aria-autocomplete":"list","aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"]};return n?o.a.createElement(s,Object(r.a)({},f,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:d,innerRef:this.getInputRef,isDisabled:t,isHidden:c,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:u,form:l,type:"text",value:i},p)):o.a.createElement(sn,Object(r.a)({id:d,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Je,onFocus:this.onInputFocus,readOnly:!0,disabled:t,tabIndex:u,form:l,value:""},p))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,t=this.getComponents(),n=t.MultiValue,a=t.MultiValueContainer,i=t.MultiValueLabel,u=t.MultiValueRemove,l=t.SingleValue,s=t.Placeholder,c=this.commonProps,f=this.props,d=f.controlShouldRenderValue,p=f.isDisabled,h=f.isMulti,m=f.inputValue,v=f.placeholder,g=this.state,y=g.selectValue,b=g.focusedValue,x=g.isFocused;if(!this.hasValue()||!d)return m?null:o.a.createElement(s,Object(r.a)({},c,{key:"placeholder",isDisabled:p,isFocused:x}),v);if(h)return y.map((function(t,l){var s=t===b;return o.a.createElement(n,Object(r.a)({},c,{components:{Container:a,Label:i,Remove:u},isFocused:s,isDisabled:p,key:"".concat(e.getOptionValue(t)).concat(l),index:l,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:t}),e.formatOptionLabel(t,"value"))}));if(m)return null;var w=y[0];return o.a.createElement(l,Object(r.a)({},c,{data:w,isDisabled:p}),this.formatOptionLabel(w,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.getComponents().ClearIndicator,t=this.commonProps,n=this.props,a=n.isDisabled,i=n.isLoading,u=this.state.isFocused;if(!this.isClearable()||!e||a||!this.hasValue()||i)return null;var l={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,Object(r.a)({},t,{innerProps:l,isFocused:u}))}},{key:"renderLoadingIndicator",value:function(){var e=this.getComponents().LoadingIndicator,t=this.commonProps,n=this.props,a=n.isDisabled,i=n.isLoading,u=this.state.isFocused;if(!e||!i)return null;return o.a.createElement(e,Object(r.a)({},t,{innerProps:{"aria-hidden":"true"},isDisabled:a,isFocused:u}))}},{key:"renderIndicatorSeparator",value:function(){var e=this.getComponents(),t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var a=this.commonProps,i=this.props.isDisabled,u=this.state.isFocused;return o.a.createElement(n,Object(r.a)({},a,{isDisabled:i,isFocused:u}))}},{key:"renderDropdownIndicator",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,a=this.state.isFocused,i={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,Object(r.a)({},t,{innerProps:i,isDisabled:n,isFocused:a}))}},{key:"renderMenu",value:function(){var e=this,t=this.getComponents(),n=t.Group,a=t.GroupHeading,i=t.Menu,u=t.MenuList,l=t.MenuPortal,s=t.LoadingMessage,c=t.NoOptionsMessage,f=t.Option,d=this.commonProps,p=this.state.focusedOption,h=this.props,m=h.captureMenuScroll,v=h.inputValue,g=h.isLoading,y=h.loadingMessage,b=h.minMenuHeight,x=h.maxMenuHeight,w=h.menuIsOpen,k=h.menuPlacement,O=h.menuPosition,C=h.menuPortalTarget,S=h.menuShouldBlockScroll,E=h.menuShouldScrollIntoView,_=h.noOptionsMessage,F=h.onMenuScrollToTop,P=h.onMenuScrollToBottom;if(!w)return null;var T,M=function(t,n){var a=t.type,i=t.data,u=t.isDisabled,l=t.isSelected,s=t.label,c=t.value,h=p===i,m=u?void 0:function(){return e.onOptionHover(i)},v=u?void 0:function(){return e.selectOption(i)},g="".concat(e.getElementId("option"),"-").concat(n),y={id:g,onClick:v,onMouseMove:m,onMouseOver:m,tabIndex:-1};return o.a.createElement(f,Object(r.a)({},d,{innerProps:y,data:i,isDisabled:u,isSelected:l,key:g,label:s,type:a,value:c,isFocused:h,innerRef:h?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())T=this.getCategorizedOptions().map((function(t){if("group"===t.type){var i=t.data,u=t.options,l=t.index,s="".concat(e.getElementId("group"),"-").concat(l),c="".concat(s,"-heading");return o.a.createElement(n,Object(r.a)({},d,{key:s,data:i,options:u,Heading:a,headingProps:{id:c,data:t.data},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return M(e,"".concat(l,"-").concat(e.index))})))}if("option"===t.type)return M(t,"".concat(t.index))}));else if(g){var j=y({inputValue:v});if(null===j)return null;T=o.a.createElement(s,d,j)}else{var N=_({inputValue:v});if(null===N)return null;T=o.a.createElement(c,d,N)}var A={minMenuHeight:b,maxMenuHeight:x,menuPlacement:k,menuPosition:O,menuShouldScrollIntoView:E},I=o.a.createElement(gt,Object(r.a)({},d,A),(function(t){var n=t.ref,a=t.placerProps,l=a.placement,s=a.maxHeight;return o.a.createElement(i,Object(r.a)({},d,A,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:g,placement:l}),o.a.createElement(wn,{captureEnabled:m,onTopArrive:F,onBottomArrive:P,lockEnabled:S},(function(t){return o.a.createElement(u,Object(r.a)({},d,{innerRef:function(n){e.getMenuListRef(n),t(n)},isLoading:g,maxHeight:s,focusedOption:p}),T)})))}));return C||"fixed"===O?o.a.createElement(l,Object(r.a)({},d,{appendTo:C,controlElement:this.controlRef,menuPlacement:k,menuPosition:O}),I):I}},{key:"renderFormField",value:function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,a=t.isMulti,i=t.name,u=this.state.selectValue;if(i&&!r){if(a){if(n){var l=u.map((function(t){return e.getOptionValue(t)})).join(n);return o.a.createElement("input",{name:i,type:"hidden",value:l})}var s=u.length>0?u.map((function(t,n){return o.a.createElement("input",{key:"i-".concat(n),name:i,type:"hidden",value:e.getOptionValue(t)})})):o.a.createElement("input",{name:i,type:"hidden"});return o.a.createElement("div",null,s)}var c=u[0]?this.getOptionValue(u[0]):"";return o.a.createElement("input",{name:i,type:"hidden",value:c})}}},{key:"renderLiveRegion",value:function(){var e=this.commonProps,t=this.state,n=t.ariaSelection,a=t.focusedOption,i=t.focusedValue,u=t.isFocused,l=t.selectValue,s=this.getFocusableOptions();return o.a.createElement(Kt,Object(r.a)({},e,{ariaSelection:n,focusedOption:a,focusedValue:i,isFocused:u,selectValue:l,focusableOptions:s}))}},{key:"render",value:function(){var e=this.getComponents(),t=e.Control,n=e.IndicatorsContainer,a=e.SelectContainer,i=e.ValueContainer,u=this.props,l=u.className,s=u.id,c=u.isDisabled,f=u.menuIsOpen,d=this.state.isFocused,p=this.commonProps=this.getCommonProps();return o.a.createElement(a,Object(r.a)({},p,{className:l,innerProps:{id:s,onKeyDown:this.onKeyDown},isDisabled:c,isFocused:d}),this.renderLiveRegion(),o.a.createElement(t,Object(r.a)({},p,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:c,isFocused:d,menuIsOpen:f}),o.a.createElement(i,Object(r.a)({},p,{isDisabled:c}),this.renderPlaceholderOrValue(),this.renderInput()),o.a.createElement(n,Object(r.a)({},p,{isDisabled:c}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,a=t.inputIsHiddenAfterUpdate,o=e.options,i=e.value,u=e.menuIsOpen,l=e.inputValue,s={};if(n&&(i!==n.value||o!==n.options||u!==n.menuIsOpen||l!==n.inputValue)){var c=nt(i),f=u?function(e,t){return Fn(_n(e,t))}(e,c):[],d=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r<t.length)return t[r]}return null}(t,c):null;s={selectValue:c,focusedOption:function(e,t){var n=e.focusedOption;return n&&t.indexOf(n)>-1?n:t[0]}(t,f),focusedValue:d,clearFocusValueOnUpdate:!1}}var p=null!=a&&e!==n?{inputIsHidden:a,inputIsHiddenAfterUpdate:void 0}:{};return Qe(Qe(Qe({},s),p),{},{prevProps:e})}}]),n}(a.Component);Dn.defaultProps=Sn;var Rn={defaultInputValue:"",defaultMenuIsOpen:!1,defaultValue:null},zn=(n(46),n(51),n(53),n(54),n(55),a.Component,function(e){var t,n;return n=t=function(t){We(a,t);var n=Ze(a);function a(){var e;Ve(this,a);for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return(e=n.call.apply(n,[this].concat(r))).select=void 0,e.state={inputValue:void 0!==e.props.inputValue?e.props.inputValue:e.props.defaultInputValue,menuIsOpen:void 0!==e.props.menuIsOpen?e.props.menuIsOpen:e.props.defaultMenuIsOpen,value:void 0!==e.props.value?e.props.value:e.props.defaultValue},e.onChange=function(t,n){e.callProp("onChange",t,n),e.setState({value:t})},e.onInputChange=function(t,n){var r=e.callProp("onInputChange",t,n);e.setState({inputValue:void 0!==r?r:t})},e.onMenuOpen=function(){e.callProp("onMenuOpen"),e.setState({menuIsOpen:!0})},e.onMenuClose=function(){e.callProp("onMenuClose"),e.setState({menuIsOpen:!1})},e}return Ue(a,[{key:"focus",value:function(){this.select.focus()}},{key:"blur",value:function(){this.select.blur()}},{key:"getProp",value:function(e){return void 0!==this.props[e]?this.props[e]:this.state[e]}},{key:"callProp",value:function(e){if("function"===typeof this.props[e]){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return(t=this.props)[e].apply(t,r)}}},{key:"render",value:function(){var t=this,n=this.props;n.defaultInputValue,n.defaultMenuIsOpen,n.defaultValue;var a=Le(n,["defaultInputValue","defaultMenuIsOpen","defaultValue"]);return o.a.createElement(e,Object(r.a)({},a,{ref:function(e){t.select=e},inputValue:this.getProp("inputValue"),menuIsOpen:this.getProp("menuIsOpen"),onChange:this.onChange,onInputChange:this.onInputChange,onMenuClose:this.onMenuClose,onMenuOpen:this.onMenuOpen,value:this.getProp("value")}))}}]),a}(a.Component),t.defaultProps=Rn,n}(Dn));t.a=zn},function(e,t,n){"use strict";var r=n(23),a=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,u=60110,l=60112;t.Suspense=60113;var s=60115,c=60116;if("function"===typeof Symbol&&Symbol.for){var f=Symbol.for;a=f("react.element"),o=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),i=f("react.provider"),u=f("react.context"),l=f("react.forward_ref"),t.Suspense=f("react.suspense"),s=f("react.memo"),c=f("react.lazy")}var d="function"===typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function g(){}function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=v.prototype;var b=y.prototype=new g;b.constructor=y,r(b,v.prototype),b.isPureReactComponent=!0;var x={current:null},w=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function O(e,t,n){var r,o={},i=null,u=null;if(null!=t)for(r in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(i=""+t.key),t)w.call(t,r)&&!k.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var s=Array(l),c=0;c<l;c++)s[c]=arguments[c+2];o.children=s}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:a,type:e,key:i,ref:u,props:o,_owner:x.current}}function C(e){return"object"===typeof e&&null!==e&&e.$$typeof===a}var S=/\/+/g;function E(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function _(e,t,n,r,i){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var l=!1;if(null===e)l=!0;else switch(u){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case a:case o:l=!0}}if(l)return i=i(l=e),e=""===r?"."+E(l,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(S,"$&/")+"/"),_(i,t,n,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(S,"$&/")+"/")+e)),t.push(i)),1;if(l=0,r=""===r?".":r+":",Array.isArray(e))for(var s=0;s<e.length;s++){var c=r+E(u=e[s],s);l+=_(u,t,n,c,i)}else if("function"===typeof(c=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e)))for(e=c.call(e),s=0;!(u=e.next()).done;)l+=_(u=u.value,t,n,c=r+E(u,s++),i);else if("object"===u)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function F(e,t,n){if(null==e)return e;var r=[],a=0;return _(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function P(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var T={current:null};function M(){var e=T.current;if(null===e)throw Error(p(321));return e}var j={ReactCurrentDispatcher:T,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:x,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:F,forEach:function(e,t,n){F(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return F(e,(function(){t++})),t},toArray:function(e){return F(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error(p(143));return e}},t.Component=v,t.PureComponent=y,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=j,t.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error(p(267,e));var o=r({},e.props),i=e.key,u=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,l=x.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)w.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];o.children=s}return{$$typeof:a,type:e.type,key:i,ref:u,props:o,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:u,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=O,t.createFactory=function(e){var t=O.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return M().useCallback(e,t)},t.useContext=function(e,t){return M().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return M().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return M().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return M().useLayoutEffect(e,t)},t.useMemo=function(e,t){return M().useMemo(e,t)},t.useReducer=function(e,t,n){return M().useReducer(e,t,n)},t.useRef=function(e){return M().useRef(e)},t.useState=function(e){return M().useState(e)},t.version="17.0.2"},function(e,t,n){"use strict";var r=n(1),a=n(23),o=n(36);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var u=new Set,l={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)u.add(t[e])}var f=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,h={},m={};function v(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new v(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new v(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new v(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new v(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new v(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new v(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function x(e,t,n,r){var a=g.hasOwnProperty(t)?g[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!p.call(m,e)||!p.call(h,e)&&(d.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new v(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);g[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=60103,O=60106,C=60107,S=60108,E=60114,_=60109,F=60110,P=60112,T=60113,M=60120,j=60115,N=60116,A=60121,I=60128,L=60129,D=60130,R=60131;if("function"===typeof Symbol&&Symbol.for){var z=Symbol.for;k=z("react.element"),O=z("react.portal"),C=z("react.fragment"),S=z("react.strict_mode"),E=z("react.profiler"),_=z("react.provider"),F=z("react.context"),P=z("react.forward_ref"),T=z("react.suspense"),M=z("react.suspense_list"),j=z("react.memo"),N=z("react.lazy"),A=z("react.block"),z("react.scope"),I=z("react.opaque.id"),L=z("react.debug_trace_mode"),D=z("react.offscreen"),R=z("react.legacy_hidden")}var V,B="function"===typeof Symbol&&Symbol.iterator;function U(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=B&&e[B]||e["@@iterator"])?e:null}function H(e){if(void 0===V)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);V=t&&t[1]||""}return"\n"+V+e}var W=!1;function $(e,t){if(!e||W)return"";W=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var r=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){r=l}e.call(t.prototype)}else{try{throw Error()}catch(l){r=l}e()}}catch(l){if(l&&r&&"string"===typeof l.stack){for(var a=l.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,u=o.length-1;1<=i&&0<=u&&a[i]!==o[u];)u--;for(;1<=i&&0<=u;i--,u--)if(a[i]!==o[u]){if(1!==i||1!==u)do{if(i--,0>--u||a[i]!==o[u])return"\n"+a[i].replace(" at new "," at ")}while(1<=i&&0<=u);break}}}finally{W=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function q(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return e=$(e.type,!1);case 11:return e=$(e.type.render,!1);case 22:return e=$(e.type._render,!1);case 1:return e=$(e.type,!0);default:return""}}function Y(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case C:return"Fragment";case O:return"Portal";case E:return"Profiler";case S:return"StrictMode";case T:return"Suspense";case M:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case F:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case P:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case j:return Y(e.type);case A:return Y(e._render);case N:t=e._payload,e=e._init;try{return Y(e(t))}catch(n){}}return null}function G(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=Q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Q(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Z(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=G(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=G(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,G(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ae(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+G(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function ue(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:G(n)}}function se(e,t){var n=G(t.value),r=G(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var fe="http://www.w3.org/1999/xhtml",de="http://www.w3.org/2000/svg";function pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,ve,ge=(ve=function(e,t){if(e.namespaceURI!==de||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ve(e,t)}))}:ve);function ye(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xe=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(""+t).trim():t+"px"}function ke(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=we(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(be).forEach((function(e){xe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Oe=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ce(e,t){if(t){if(Oe[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(i(62))}}function Se(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ee(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,Fe=null,Pe=null;function Te(e){if(e=ea(e)){if("function"!==typeof _e)throw Error(i(280));var t=e.stateNode;t&&(t=na(t),_e(e.stateNode,e.type,t))}}function Me(e){Fe?Pe?Pe.push(e):Pe=[e]:Fe=e}function je(){if(Fe){var e=Fe,t=Pe;if(Pe=Fe=null,Te(e),t)for(e=0;e<t.length;e++)Te(t[e])}}function Ne(e,t){return e(t)}function Ae(e,t,n,r,a){return e(t,n,r,a)}function Ie(){}var Le=Ne,De=!1,Re=!1;function ze(){null===Fe&&null===Pe||(Ie(),je())}function Ve(e,t){var n=e.stateNode;if(null===n)return null;var r=na(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(i(231,t,typeof n));return n}var Be=!1;if(f)try{var Ue={};Object.defineProperty(Ue,"passive",{get:function(){Be=!0}}),window.addEventListener("test",Ue,Ue),window.removeEventListener("test",Ue,Ue)}catch(ve){Be=!1}function He(e,t,n,r,a,o,i,u,l){var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(c){this.onError(c)}}var We=!1,$e=null,qe=!1,Ye=null,Ge={onError:function(e){We=!0,$e=e}};function Qe(e,t,n,r,a,o,i,u,l){We=!1,$e=null,He.apply(Ge,arguments)}function Xe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ke(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ze(e){if(Xe(e)!==e)throw Error(i(188))}function Je(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return Ze(a),e;if(o===r)return Ze(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var u=!1,l=a.child;l;){if(l===n){u=!0,n=a,r=o;break}if(l===r){u=!0,r=a,n=o;break}l=l.sibling}if(!u){for(l=o.child;l;){if(l===n){u=!0,n=o,r=a;break}if(l===r){u=!0,r=o,n=a;break}l=l.sibling}if(!u)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,rt,at,ot=!1,it=[],ut=null,lt=null,st=null,ct=new Map,ft=new Map,dt=[],pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ht(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function mt(e,t){switch(e){case"focusin":case"focusout":ut=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":st=null;break;case"pointerover":case"pointerout":ct.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ft.delete(t.pointerId)}}function vt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e=ht(t,n,r,a,o),null!==t&&(null!==(t=ea(t))&&nt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function gt(e){var t=Jr(e.target);if(null!==t){var n=Xe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ke(n)))return e.blockedOn=t,void at(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){rt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ea(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function bt(e,t,n){yt(e)&&n.delete(t)}function xt(){for(ot=!1;0<it.length;){var e=it[0];if(null!==e.blockedOn){null!==(e=ea(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&it.shift()}null!==ut&&yt(ut)&&(ut=null),null!==lt&&yt(lt)&&(lt=null),null!==st&&yt(st)&&(st=null),ct.forEach(bt),ft.forEach(bt)}function wt(e,t){e.blockedOn===t&&(e.blockedOn=null,ot||(ot=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,xt)))}function kt(e){function t(t){return wt(t,e)}if(0<it.length){wt(it[0],e);for(var n=1;n<it.length;n++){var r=it[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ut&&wt(ut,e),null!==lt&&wt(lt,e),null!==st&&wt(st,e),ct.forEach(t),ft.forEach(t),n=0;n<dt.length;n++)(r=dt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<dt.length&&null===(n=dt[0]).blockedOn;)gt(n),null===n.blockedOn&&dt.shift()}function Ot(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ct={animationend:Ot("Animation","AnimationEnd"),animationiteration:Ot("Animation","AnimationIteration"),animationstart:Ot("Animation","AnimationStart"),transitionend:Ot("Transition","TransitionEnd")},St={},Et={};function _t(e){if(St[e])return St[e];if(!Ct[e])return e;var t,n=Ct[e];for(t in n)if(n.hasOwnProperty(t)&&t in Et)return St[e]=n[t];return e}f&&(Et=document.createElement("div").style,"AnimationEvent"in window||(delete Ct.animationend.animation,delete Ct.animationiteration.animation,delete Ct.animationstart.animation),"TransitionEvent"in window||delete Ct.transitionend.transition);var Ft=_t("animationend"),Pt=_t("animationiteration"),Tt=_t("animationstart"),Mt=_t("transitionend"),jt=new Map,Nt=new Map,At=["abort","abort",Ft,"animationEnd",Pt,"animationIteration",Tt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Mt,"transitionEnd","waiting","waiting"];function It(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Nt.set(r,t),jt.set(r,a),s(a,[r])}}(0,o.unstable_now)();var Lt=8;function Dt(e){if(0!==(1&e))return Lt=15,1;if(0!==(2&e))return Lt=14,2;if(0!==(4&e))return Lt=13,4;var t=24&e;return 0!==t?(Lt=12,t):0!==(32&e)?(Lt=11,32):0!==(t=192&e)?(Lt=10,t):0!==(256&e)?(Lt=9,256):0!==(t=3584&e)?(Lt=8,t):0!==(4096&e)?(Lt=7,4096):0!==(t=4186112&e)?(Lt=6,t):0!==(t=62914560&e)?(Lt=5,t):67108864&e?(Lt=4,67108864):0!==(134217728&e)?(Lt=3,134217728):0!==(t=805306368&e)?(Lt=2,t):0!==(1073741824&e)?(Lt=1,1073741824):(Lt=8,e)}function Rt(e,t){var n=e.pendingLanes;if(0===n)return Lt=0;var r=0,a=0,o=e.expiredLanes,i=e.suspendedLanes,u=e.pingedLanes;if(0!==o)r=o,a=Lt=15;else if(0!==(o=134217727&n)){var l=o&~i;0!==l?(r=Dt(l),a=Lt):0!==(u&=o)&&(r=Dt(u),a=Lt)}else 0!==(o=n&~i)?(r=Dt(o),a=Lt):0!==u&&(r=Dt(u),a=Lt);if(0===r)return 0;if(r=n&((0>(r=31-Wt(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0===(t&i)){if(Dt(t),a<=Lt)return t;Lt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Wt(t)),r|=e[n],t&=~a;return r}function zt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Vt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Bt(24&~t))?Vt(10,t):e;case 10:return 0===(e=Bt(192&~t))?Vt(8,t):e;case 8:return 0===(e=Bt(3584&~t))&&(0===(e=Bt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Bt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function Bt(e){return e&-e}function Ut(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ht(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Wt(t)]=n}var Wt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-($t(e)/qt|0)|0},$t=Math.log,qt=Math.LN2;var Yt=o.unstable_UserBlockingPriority,Gt=o.unstable_runWithPriority,Qt=!0;function Xt(e,t,n,r){De||Ie();var a=Zt,o=De;De=!0;try{Ae(a,e,t,n,r)}finally{(De=o)||ze()}}function Kt(e,t,n,r){Gt(Yt,Zt.bind(null,e,t,n,r))}function Zt(e,t,n,r){var a;if(Qt)if((a=0===(4&t))&&0<it.length&&-1<pt.indexOf(e))e=ht(null,e,t,n,r),it.push(e);else{var o=Jt(e,t,n,r);if(null===o)a&&mt(e,r);else{if(a){if(-1<pt.indexOf(e))return e=ht(o,e,t,n,r),void it.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return ut=vt(ut,e,t,n,r,a),!0;case"dragenter":return lt=vt(lt,e,t,n,r,a),!0;case"mouseover":return st=vt(st,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return ct.set(o,vt(ct.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,ft.set(o,vt(ft.get(o)||null,e,t,n,r,a)),!0}return!1}(o,e,t,n,r))return;mt(e,r)}jr(e,t,r,null,n)}}}function Jt(e,t,n,r){var a=Ee(r);if(null!==(a=Jr(a))){var o=Xe(a);if(null===o)a=null;else{var i=o.tag;if(13===i){if(null!==(a=Ke(o)))return a;a=null}else if(3===i){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;a=null}else o!==a&&(a=null)}}return jr(e,t,r,a,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,r=n.length,a="value"in en?en.value:en.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return nn=a.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function on(){return!0}function un(){return!1}function ln(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?on:un,this.isPropagationStopped=un,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=on)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=on)},persist:function(){},isPersistent:on}),t}var sn,cn,fn,dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pn=ln(dn),hn=a({},dn,{view:0,detail:0}),mn=ln(hn),vn=a({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_n,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==fn&&(fn&&"mousemove"===e.type?(sn=e.screenX-fn.screenX,cn=e.screenY-fn.screenY):cn=sn=0,fn=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:cn}}),gn=ln(vn),yn=ln(a({},vn,{dataTransfer:0})),bn=ln(a({},hn,{relatedTarget:0})),xn=ln(a({},dn,{animationName:0,elapsedTime:0,pseudoElement:0})),wn=ln(a({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),kn=ln(a({},dn,{data:0})),On={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Cn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function _n(){return En}var Fn=ln(a({},hn,{key:function(e){if(e.key){var t=On[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Cn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_n,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),Pn=ln(a({},vn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Tn=ln(a({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_n})),Mn=ln(a({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),jn=ln(a({},vn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Nn=[9,13,27,32],An=f&&"CompositionEvent"in window,In=null;f&&"documentMode"in document&&(In=document.documentMode);var Ln=f&&"TextEvent"in window&&!In,Dn=f&&(!An||In&&8<In&&11>=In),Rn=String.fromCharCode(32),zn=!1;function Vn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function $n(e,t,n,r){Me(r),0<(t=Ar(t,"onChange")).length&&(n=new pn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var qn=null,Yn=null;function Gn(e){Er(e,0)}function Qn(e){if(K(ta(e)))return e}function Xn(e,t){if("change"===e)return t}var Kn=!1;if(f){var Zn;if(f){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"===typeof er.oninput}Zn=Jn}else Zn=!1;Kn=Zn&&(!document.documentMode||9<document.documentMode)}function tr(){qn&&(qn.detachEvent("onpropertychange",nr),Yn=qn=null)}function nr(e){if("value"===e.propertyName&&Qn(Yn)){var t=[];if($n(t,Yn,e,Ee(e)),e=Gn,De)e(t);else{De=!0;try{Ne(e,t)}finally{De=!1,ze()}}}}function rr(e,t,n){"focusin"===e?(tr(),Yn=n,(qn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Yn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var ur="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},lr=Object.prototype.hasOwnProperty;function sr(e,t){if(ur(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!lr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fr(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var mr=f&&"documentMode"in document&&11>=document.documentMode,vr=null,gr=null,yr=null,br=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;br||null==vr||vr!==Z(r)||("selectionStart"in(r=vr)&&hr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&sr(yr,r)||(yr=r,0<(r=Ar(gr,"onSelect")).length&&(t=new pn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}It("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),It("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),It(At,2);for(var wr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),kr=0;kr<wr.length;kr++)Nt.set(wr[kr],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Or="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Or));function Sr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,u,l,s){if(Qe.apply(this,arguments),We){if(!We)throw Error(i(198));var c=$e;We=!1,$e=null,qe||(qe=!0,Ye=c)}}(r,t,void 0,e),e.currentTarget=null}function Er(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var u=r[i],l=u.instance,s=u.currentTarget;if(u=u.listener,l!==o&&a.isPropagationStopped())break e;Sr(a,u,s),o=l}else for(i=0;i<r.length;i++){if(l=(u=r[i]).instance,s=u.currentTarget,u=u.listener,l!==o&&a.isPropagationStopped())break e;Sr(a,u,s),o=l}}}if(qe)throw e=Ye,qe=!1,Ye=null,e}function _r(e,t){var n=ra(t),r=e+"__bubble";n.has(r)||(Mr(t,e,2,!1),n.add(r))}var Fr="_reactListening"+Math.random().toString(36).slice(2);function Pr(e){e[Fr]||(e[Fr]=!0,u.forEach((function(t){Cr.has(t)||Tr(t,!1,e,null),Tr(t,!0,e,null)})))}function Tr(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==r&&!t&&Cr.has(e)){if("scroll"!==e)return;a|=2,o=r}var i=ra(o),u=e+"__"+(t?"capture":"bubble");i.has(u)||(t&&(a|=4),Mr(o,e,a,t),i.add(u))}function Mr(e,t,n,r){var a=Nt.get(t);switch(void 0===a?2:a){case 0:a=Xt;break;case 1:a=Kt;break;default:a=Zt}n=a.bind(null,t,n,e),a=void 0,!Be||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function jr(e,t,n,r,a){var o=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var u=r.stateNode.containerInfo;if(u===a||8===u.nodeType&&u.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==u;){if(null===(i=Jr(u)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}u=u.parentNode}}r=r.return}!function(e,t,n){if(Re)return e(t,n);Re=!0;try{Le(e,t,n)}finally{Re=!1,ze()}}((function(){var r=o,a=Ee(n),i=[];e:{var u=jt.get(e);if(void 0!==u){var l=pn,s=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=Fn;break;case"focusin":s="focus",l=bn;break;case"focusout":s="blur",l=bn;break;case"beforeblur":case"afterblur":l=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=yn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Tn;break;case Ft:case Pt:case Tt:l=xn;break;case Mt:l=Mn;break;case"scroll":l=mn;break;case"wheel":l=jn;break;case"copy":case"cut":case"paste":l=wn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Pn}var c=0!==(4&t),f=!c&&"scroll"===e,d=c?null!==u?u+"Capture":null:u;c=[];for(var p,h=r;null!==h;){var m=(p=h).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==d&&(null!=(m=Ve(h,d))&&c.push(Nr(h,m,p)))),f)break;h=h.return}0<c.length&&(u=new l(u,s,null,n,a),i.push({event:u,listeners:c}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(u="mouseover"===e||"pointerover"===e)||0!==(16&t)||!(s=n.relatedTarget||n.fromElement)||!Jr(s)&&!s[Kr])&&(l||u)&&(u=a.window===a?a:(u=a.ownerDocument)?u.defaultView||u.parentWindow:window,l?(l=r,null!==(s=(s=n.relatedTarget||n.toElement)?Jr(s):null)&&(s!==(f=Xe(s))||5!==s.tag&&6!==s.tag)&&(s=null)):(l=null,s=r),l!==s)){if(c=gn,m="onMouseLeave",d="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(c=Pn,m="onPointerLeave",d="onPointerEnter",h="pointer"),f=null==l?u:ta(l),p=null==s?u:ta(s),(u=new c(m,h+"leave",l,n,a)).target=f,u.relatedTarget=p,m=null,Jr(a)===r&&((c=new c(d,h+"enter",s,n,a)).target=p,c.relatedTarget=f,m=c),f=m,l&&s)e:{for(d=s,h=0,p=c=l;p;p=Ir(p))h++;for(p=0,m=d;m;m=Ir(m))p++;for(;0<h-p;)c=Ir(c),h--;for(;0<p-h;)d=Ir(d),p--;for(;h--;){if(c===d||null!==d&&c===d.alternate)break e;c=Ir(c),d=Ir(d)}c=null}else c=null;null!==l&&Lr(i,u,l,c,!1),null!==s&&null!==f&&Lr(i,f,s,c,!0)}if("select"===(l=(u=r?ta(r):window).nodeName&&u.nodeName.toLowerCase())||"input"===l&&"file"===u.type)var v=Xn;else if(Wn(u))if(Kn)v=ir;else{v=ar;var g=rr}else(l=u.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===u.type||"radio"===u.type)&&(v=or);switch(v&&(v=v(e,r))?$n(i,v,n,a):(g&&g(e,u,r),"focusout"===e&&(g=u._wrapperState)&&g.controlled&&"number"===u.type&&ae(u,"number",u.value)),g=r?ta(r):window,e){case"focusin":(Wn(g)||"true"===g.contentEditable)&&(vr=g,gr=r,yr=null);break;case"focusout":yr=gr=vr=null;break;case"mousedown":br=!0;break;case"contextmenu":case"mouseup":case"dragend":br=!1,xr(i,n,a);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":xr(i,n,a)}var y;if(An)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Un?Vn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Dn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==b?"onCompositionEnd"===b&&Un&&(y=rn()):(tn="value"in(en=a)?en.value:en.textContent,Un=!0)),0<(g=Ar(r,b)).length&&(b=new kn(b,e,null,n,a),i.push({event:b,listeners:g}),y?b.data=y:null!==(y=Bn(n))&&(b.data=y))),(y=Ln?function(e,t){switch(e){case"compositionend":return Bn(t);case"keypress":return 32!==t.which?null:(zn=!0,Rn);case"textInput":return(e=t.data)===Rn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!An&&Vn(e,t)?(e=rn(),nn=tn=en=null,Un=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Dn&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))&&(0<(r=Ar(r,"onBeforeInput")).length&&(a=new kn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=y))}Er(i,t)}))}function Nr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ar(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Ve(e,n))&&r.unshift(Nr(e,o,a)),null!=(o=Ve(e,t))&&r.push(Nr(e,o,a))),e=e.return}return r}function Ir(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Lr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var u=n,l=u.alternate,s=u.stateNode;if(null!==l&&l===r)break;5===u.tag&&null!==s&&(u=s,a?null!=(l=Ve(n,o))&&i.unshift(Nr(n,l,u)):a||null!=(l=Ve(n,o))&&i.push(Nr(n,l,u))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function Dr(){}var Rr=null,zr=null;function Vr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Br(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Ur="function"===typeof setTimeout?setTimeout:void 0,Hr="function"===typeof clearTimeout?clearTimeout:void 0;function Wr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function $r(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function qr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Yr=0;var Gr=Math.random().toString(36).slice(2),Qr="__reactFiber$"+Gr,Xr="__reactProps$"+Gr,Kr="__reactContainer$"+Gr,Zr="__reactEvents$"+Gr;function Jr(e){var t=e[Qr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Kr]||n[Qr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=qr(e);null!==e;){if(n=e[Qr])return n;e=qr(e)}return t}n=(e=n).parentNode}return null}function ea(e){return!(e=e[Qr]||e[Kr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ta(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function na(e){return e[Xr]||null}function ra(e){var t=e[Zr];return void 0===t&&(t=e[Zr]=new Set),t}var aa=[],oa=-1;function ia(e){return{current:e}}function ua(e){0>oa||(e.current=aa[oa],aa[oa]=null,oa--)}function la(e,t){oa++,aa[oa]=e.current,e.current=t}var sa={},ca=ia(sa),fa=ia(!1),da=sa;function pa(e,t){var n=e.type.contextTypes;if(!n)return sa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ha(e){return null!==(e=e.childContextTypes)&&void 0!==e}function ma(){ua(fa),ua(ca)}function va(e,t,n){if(ca.current!==sa)throw Error(i(168));la(ca,t),la(fa,n)}function ga(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,Y(t)||"Unknown",o));return a({},n,r)}function ya(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||sa,da=ca.current,la(ca,e),la(fa,fa.current),!0}function ba(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=ga(e,t,da),r.__reactInternalMemoizedMergedChildContext=e,ua(fa),ua(ca),la(ca,e)):ua(fa),la(fa,n)}var xa=null,wa=null,ka=o.unstable_runWithPriority,Oa=o.unstable_scheduleCallback,Ca=o.unstable_cancelCallback,Sa=o.unstable_shouldYield,Ea=o.unstable_requestPaint,_a=o.unstable_now,Fa=o.unstable_getCurrentPriorityLevel,Pa=o.unstable_ImmediatePriority,Ta=o.unstable_UserBlockingPriority,Ma=o.unstable_NormalPriority,ja=o.unstable_LowPriority,Na=o.unstable_IdlePriority,Aa={},Ia=void 0!==Ea?Ea:function(){},La=null,Da=null,Ra=!1,za=_a(),Va=1e4>za?_a:function(){return _a()-za};function Ba(){switch(Fa()){case Pa:return 99;case Ta:return 98;case Ma:return 97;case ja:return 96;case Na:return 95;default:throw Error(i(332))}}function Ua(e){switch(e){case 99:return Pa;case 98:return Ta;case 97:return Ma;case 96:return ja;case 95:return Na;default:throw Error(i(332))}}function Ha(e,t){return e=Ua(e),ka(e,t)}function Wa(e,t,n){return e=Ua(e),Oa(e,t,n)}function $a(){if(null!==Da){var e=Da;Da=null,Ca(e)}qa()}function qa(){if(!Ra&&null!==La){Ra=!0;var e=0;try{var t=La;Ha(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),La=null}catch(n){throw null!==La&&(La=La.slice(e+1)),Oa(Pa,$a),n}finally{Ra=!1}}}var Ya=w.ReactCurrentBatchConfig;function Ga(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Qa=ia(null),Xa=null,Ka=null,Za=null;function Ja(){Za=Ka=Xa=null}function eo(e){var t=Qa.current;ua(Qa),e.type._context._currentValue=t}function to(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function no(e,t){Xa=e,Za=Ka=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Ai=!0),e.firstContext=null)}function ro(e,t){if(Za!==e&&!1!==t&&0!==t)if("number"===typeof t&&1073741823!==t||(Za=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ka){if(null===Xa)throw Error(i(308));Ka=t,Xa.dependencies={lanes:0,firstContext:t,responders:null}}else Ka=Ka.next=t;return e._currentValue}var ao=!1;function oo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function io(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function uo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function lo(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function so(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function co(e,t,n,r){var o=e.updateQueue;ao=!1;var i=o.firstBaseUpdate,u=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,c=s.next;s.next=null,null===u?i=c:u.next=c,u=s;var f=e.alternate;if(null!==f){var d=(f=f.updateQueue).lastBaseUpdate;d!==u&&(null===d?f.firstBaseUpdate=c:d.next=c,f.lastBaseUpdate=s)}}if(null!==i){for(d=o.baseState,u=0,f=c=s=null;;){l=i.lane;var p=i.eventTime;if((r&l)===l){null!==f&&(f=f.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var h=e,m=i;switch(l=t,p=n,m.tag){case 1:if("function"===typeof(h=m.payload)){d=h.call(p,d,l);break e}d=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null===(l="function"===typeof(h=m.payload)?h.call(p,d,l):h)||void 0===l)break e;d=a({},d,l);break e;case 2:ao=!0}}null!==i.callback&&(e.flags|=32,null===(l=o.effects)?o.effects=[i]:l.push(i))}else p={eventTime:p,lane:l,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===f?(c=f=p,s=d):f=f.next=p,u|=l;if(null===(i=i.next)){if(null===(l=o.shared.pending))break;i=l.next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}null===f&&(s=d),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=f,Ru|=u,e.lanes=u,e.memoizedState=d}}function fo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!==typeof a)throw Error(i(191,a));a.call(r)}}}var po=(new r.Component).refs;function ho(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var mo={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=sl(),a=cl(e),o=uo(r,a);o.payload=t,void 0!==n&&null!==n&&(o.callback=n),lo(e,o),fl(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=sl(),a=cl(e),o=uo(r,a);o.tag=1,o.payload=t,void 0!==n&&null!==n&&(o.callback=n),lo(e,o),fl(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=sl(),r=cl(e),a=uo(n,r);a.tag=2,void 0!==t&&null!==t&&(a.callback=t),lo(e,a),fl(e,r,n)}};function vo(e,t,n,r,a,o,i){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,o))}function go(e,t,n){var r=!1,a=sa,o=t.contextType;return"object"===typeof o&&null!==o?o=ro(o):(a=ha(t)?da:ca.current,o=(r=null!==(r=t.contextTypes)&&void 0!==r)?pa(e,a):sa),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=mo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function yo(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&mo.enqueueReplaceState(t,t.state,null)}function bo(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=po,oo(e);var o=t.contextType;"object"===typeof o&&null!==o?a.context=ro(o):(o=ha(t)?da:ca.current,a.context=pa(e,o)),co(e,n,a,r),a.state=e.memoizedState,"function"===typeof(o=t.getDerivedStateFromProps)&&(ho(e,t,o,n),a.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof a.getSnapshotBeforeUpdate||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||(t=a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&mo.enqueueReplaceState(a,a.state,null),co(e,n,a,r),a.state=e.memoizedState),"function"===typeof a.componentDidMount&&(e.flags|=4)}var xo=Array.isArray;function wo(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===a?t.ref:((t=function(e){var t=r.refs;t===po&&(t=r.refs={}),null===e?delete t[a]:t[a]=e})._stringRef=a,t)}if("string"!==typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function ko(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Oo(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Hl(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function u(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Yl(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function s(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=wo(e,t,n),r.return=e,r):((r=Wl(n.type,n.key,n.props,null,e.mode,r)).ref=wo(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Gl(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function f(e,t,n,r,o){return null===t||7!==t.tag?((t=$l(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function d(e,t,n){if("string"===typeof t||"number"===typeof t)return(t=Yl(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Wl(t.type,t.key,t.props,null,e.mode,n)).ref=wo(e,null,t),n.return=e,n;case O:return(t=Gl(t,e.mode,n)).return=e,t}if(xo(t)||U(t))return(t=$l(t,e.mode,n,null)).return=e,t;ko(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"===typeof n||"number"===typeof n)return null!==a?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?n.type===C?f(e,t,n.props.children,r,a):s(e,t,n,r):null;case O:return n.key===a?c(e,t,n,r):null}if(xo(n)||U(n))return null!==a?null:f(e,t,n,r,null);ko(e,n)}return null}function h(e,t,n,r,a){if("string"===typeof r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"===typeof r&&null!==r){switch(r.$$typeof){case k:return e=e.get(null===r.key?n:r.key)||null,r.type===C?f(t,e,r.props.children,a,r.key):s(t,e,r,a);case O:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(xo(r)||U(r))return f(t,e=e.get(n)||null,r,a,null);ko(t,r)}return null}function m(a,i,u,l){for(var s=null,c=null,f=i,m=i=0,v=null;null!==f&&m<u.length;m++){f.index>m?(v=f,f=null):v=f.sibling;var g=p(a,f,u[m],l);if(null===g){null===f&&(f=v);break}e&&f&&null===g.alternate&&t(a,f),i=o(g,i,m),null===c?s=g:c.sibling=g,c=g,f=v}if(m===u.length)return n(a,f),s;if(null===f){for(;m<u.length;m++)null!==(f=d(a,u[m],l))&&(i=o(f,i,m),null===c?s=f:c.sibling=f,c=f);return s}for(f=r(a,f);m<u.length;m++)null!==(v=h(f,a,m,u[m],l))&&(e&&null!==v.alternate&&f.delete(null===v.key?m:v.key),i=o(v,i,m),null===c?s=v:c.sibling=v,c=v);return e&&f.forEach((function(e){return t(a,e)})),s}function v(a,u,l,s){var c=U(l);if("function"!==typeof c)throw Error(i(150));if(null==(l=c.call(l)))throw Error(i(151));for(var f=c=null,m=u,v=u=0,g=null,y=l.next();null!==m&&!y.done;v++,y=l.next()){m.index>v?(g=m,m=null):g=m.sibling;var b=p(a,m,y.value,s);if(null===b){null===m&&(m=g);break}e&&m&&null===b.alternate&&t(a,m),u=o(b,u,v),null===f?c=b:f.sibling=b,f=b,m=g}if(y.done)return n(a,m),c;if(null===m){for(;!y.done;v++,y=l.next())null!==(y=d(a,y.value,s))&&(u=o(y,u,v),null===f?c=y:f.sibling=y,f=y);return c}for(m=r(a,m);!y.done;v++,y=l.next())null!==(y=h(m,a,v,y.value,s))&&(e&&null!==y.alternate&&m.delete(null===y.key?v:y.key),u=o(y,u,v),null===f?c=y:f.sibling=y,f=y);return e&&m.forEach((function(e){return t(a,e)})),c}return function(e,r,o,l){var s="object"===typeof o&&null!==o&&o.type===C&&null===o.key;s&&(o=o.props.children);var c="object"===typeof o&&null!==o;if(c)switch(o.$$typeof){case k:e:{for(c=o.key,s=r;null!==s;){if(s.key===c){switch(s.tag){case 7:if(o.type===C){n(e,s.sibling),(r=a(s,o.props.children)).return=e,e=r;break e}break;default:if(s.elementType===o.type){n(e,s.sibling),(r=a(s,o.props)).ref=wo(e,s,o),r.return=e,e=r;break e}}n(e,s);break}t(e,s),s=s.sibling}o.type===C?((r=$l(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Wl(o.type,o.key,o.props,null,e.mode,l)).ref=wo(e,r,o),l.return=e,e=l)}return u(e);case O:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Gl(o,e.mode,l)).return=e,e=r}return u(e)}if("string"===typeof o||"number"===typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Yl(o,e.mode,l)).return=e,e=r),u(e);if(xo(o))return m(e,r,o,l);if(U(o))return v(e,r,o,l);if(c&&ko(e,o),"undefined"===typeof o&&!s)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,Y(e.type)||"Component"))}return n(e,r)}}var Co=Oo(!0),So=Oo(!1),Eo={},_o=ia(Eo),Fo=ia(Eo),Po=ia(Eo);function To(e){if(e===Eo)throw Error(i(174));return e}function Mo(e,t){switch(la(Po,t),la(Fo,e),la(_o,Eo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(_o),la(_o,t)}function jo(){ua(_o),ua(Fo),ua(Po)}function No(e){To(Po.current);var t=To(_o.current),n=he(t,e.type);t!==n&&(la(Fo,e),la(_o,n))}function Ao(e){Fo.current===e&&(ua(_o),ua(Fo))}var Io=ia(0);function Lo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Do=null,Ro=null,zo=!1;function Vo(e,t){var n=Bl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Bo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Uo(e){if(zo){var t=Ro;if(t){var n=t;if(!Bo(e,t)){if(!(t=$r(n.nextSibling))||!Bo(e,t))return e.flags=-1025&e.flags|2,zo=!1,void(Do=e);Vo(Do,n)}Do=e,Ro=$r(t.firstChild)}else e.flags=-1025&e.flags|2,zo=!1,Do=e}}function Ho(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Do=e}function Wo(e){if(e!==Do)return!1;if(!zo)return Ho(e),zo=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Br(t,e.memoizedProps))for(t=Ro;t;)Vo(e,t),t=$r(t.nextSibling);if(Ho(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Ro=$r(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Ro=null}}else Ro=Do?$r(e.stateNode.nextSibling):null;return!0}function $o(){Ro=Do=null,zo=!1}var qo=[];function Yo(){for(var e=0;e<qo.length;e++)qo[e]._workInProgressVersionPrimary=null;qo.length=0}var Go=w.ReactCurrentDispatcher,Qo=w.ReactCurrentBatchConfig,Xo=0,Ko=null,Zo=null,Jo=null,ei=!1,ti=!1;function ni(){throw Error(i(321))}function ri(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function ai(e,t,n,r,a,o){if(Xo=o,Ko=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Go.current=null===e||null===e.memoizedState?Ti:Mi,e=n(r,a),ti){o=0;do{if(ti=!1,!(25>o))throw Error(i(301));o+=1,Jo=Zo=null,t.updateQueue=null,Go.current=ji,e=n(r,a)}while(ti)}if(Go.current=Pi,t=null!==Zo&&null!==Zo.next,Xo=0,Jo=Zo=Ko=null,ei=!1,t)throw Error(i(300));return e}function oi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Jo?Ko.memoizedState=Jo=e:Jo=Jo.next=e,Jo}function ii(){if(null===Zo){var e=Ko.alternate;e=null!==e?e.memoizedState:null}else e=Zo.next;var t=null===Jo?Ko.memoizedState:Jo.next;if(null!==t)Jo=t,Zo=e;else{if(null===e)throw Error(i(310));e={memoizedState:(Zo=e).memoizedState,baseState:Zo.baseState,baseQueue:Zo.baseQueue,queue:Zo.queue,next:null},null===Jo?Ko.memoizedState=Jo=e:Jo=Jo.next=e}return Jo}function ui(e,t){return"function"===typeof t?t(e):t}function li(e){var t=ii(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=Zo,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var u=a.next;a.next=o.next,o.next=u}r.baseQueue=a=o,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var l=u=o=null,s=a;do{var c=s.lane;if((Xo&c)===c)null!==l&&(l=l.next={lane:0,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),r=s.eagerReducer===e?s.eagerState:e(r,s.action);else{var f={lane:c,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null};null===l?(u=l=f,o=r):l=l.next=f,Ko.lanes|=c,Ru|=c}s=s.next}while(null!==s&&s!==a);null===l?o=r:l.next=u,ur(r,t.memoizedState)||(Ai=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function si(e){var t=ii(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var u=a=a.next;do{o=e(o,u.action),u=u.next}while(u!==a);ur(o,t.memoizedState)||(Ai=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ci(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Xo&e)===e)&&(t._workInProgressVersionPrimary=r,qo.push(t))),e)return n(t._source);throw qo.push(t),Error(i(350))}function fi(e,t,n,r){var a=Tu;if(null===a)throw Error(i(349));var o=t._getVersion,u=o(t._source),l=Go.current,s=l.useState((function(){return ci(a,t,n)})),c=s[1],f=s[0];s=Jo;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,m=d.source;d=d.subscribe;var v=Ko;return e.memoizedState={refs:p,source:t,subscribe:r},l.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!ur(u,e)){e=n(t._source),ur(f,e)||(c(e),e=cl(v),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,i=e;0<i;){var l=31-Wt(i),s=1<<l;r[l]|=e,i&=~s}}}),[n,t,r]),l.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=cl(v);a.mutableReadLanes|=r&a.pendingLanes}catch(o){n((function(){throw o}))}}))}),[t,r]),ur(h,n)&&ur(m,t)&&ur(d,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:f}).dispatch=c=Fi.bind(null,Ko,e),s.queue=e,s.baseQueue=null,f=ci(a,t,n),s.memoizedState=s.baseState=f),f}function di(e,t,n){return fi(ii(),e,t,n)}function pi(e){var t=oi();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:e}).dispatch=Fi.bind(null,Ko,e),[t.memoizedState,e]}function hi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Ko.updateQueue)?(t={lastEffect:null},Ko.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function mi(e){return e={current:e},oi().memoizedState=e}function vi(){return ii().memoizedState}function gi(e,t,n,r){var a=oi();Ko.flags|=e,a.memoizedState=hi(1|t,n,void 0,void 0===r?null:r)}function yi(e,t,n,r){var a=ii();r=void 0===r?null:r;var o=void 0;if(null!==Zo){var i=Zo.memoizedState;if(o=i.destroy,null!==r&&ri(r,i.deps))return void hi(t,n,o,r)}Ko.flags|=e,a.memoizedState=hi(1|t,n,o,r)}function bi(e,t){return gi(516,4,e,t)}function xi(e,t){return yi(516,4,e,t)}function wi(e,t){return yi(4,2,e,t)}function ki(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Oi(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,yi(4,2,ki.bind(null,t,e),n)}function Ci(){}function Si(e,t){var n=ii();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ri(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ei(e,t){var n=ii();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ri(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function _i(e,t){var n=Ba();Ha(98>n?98:n,(function(){e(!0)})),Ha(97<n?97:n,(function(){var n=Qo.transition;Qo.transition=1;try{e(!1),t()}finally{Qo.transition=n}}))}function Fi(e,t,n){var r=sl(),a=cl(e),o={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?o.next=o:(o.next=i.next,i.next=o),t.pending=o,i=e.alternate,e===Ko||null!==i&&i===Ko)ti=ei=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var u=t.lastRenderedState,l=i(u,n);if(o.eagerReducer=i,o.eagerState=l,ur(l,u))return}catch(s){}fl(e,a,r)}}var Pi={readContext:ro,useCallback:ni,useContext:ni,useEffect:ni,useImperativeHandle:ni,useLayoutEffect:ni,useMemo:ni,useReducer:ni,useRef:ni,useState:ni,useDebugValue:ni,useDeferredValue:ni,useTransition:ni,useMutableSource:ni,useOpaqueIdentifier:ni,unstable_isNewReconciler:!1},Ti={readContext:ro,useCallback:function(e,t){return oi().memoizedState=[e,void 0===t?null:t],e},useContext:ro,useEffect:bi,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,gi(4,2,ki.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gi(4,2,e,t)},useMemo:function(e,t){var n=oi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=oi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Fi.bind(null,Ko,e),[r.memoizedState,e]},useRef:mi,useState:pi,useDebugValue:Ci,useDeferredValue:function(e){var t=pi(e),n=t[0],r=t[1];return bi((function(){var t=Qo.transition;Qo.transition=1;try{r(e)}finally{Qo.transition=t}}),[e]),n},useTransition:function(){var e=pi(!1),t=e[0];return mi(e=_i.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=oi();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},fi(r,e,t,n)},useOpaqueIdentifier:function(){if(zo){var e=!1,t=function(e){return{$$typeof:I,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Yr++).toString(36))),Error(i(355))})),n=pi(t)[1];return 0===(2&Ko.mode)&&(Ko.flags|=516,hi(5,(function(){n("r:"+(Yr++).toString(36))}),void 0,null)),t}return pi(t="r:"+(Yr++).toString(36)),t},unstable_isNewReconciler:!1},Mi={readContext:ro,useCallback:Si,useContext:ro,useEffect:xi,useImperativeHandle:Oi,useLayoutEffect:wi,useMemo:Ei,useReducer:li,useRef:vi,useState:function(){return li(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=li(ui),n=t[0],r=t[1];return xi((function(){var t=Qo.transition;Qo.transition=1;try{r(e)}finally{Qo.transition=t}}),[e]),n},useTransition:function(){var e=li(ui)[0];return[vi().current,e]},useMutableSource:di,useOpaqueIdentifier:function(){return li(ui)[0]},unstable_isNewReconciler:!1},ji={readContext:ro,useCallback:Si,useContext:ro,useEffect:xi,useImperativeHandle:Oi,useLayoutEffect:wi,useMemo:Ei,useReducer:si,useRef:vi,useState:function(){return si(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=si(ui),n=t[0],r=t[1];return xi((function(){var t=Qo.transition;Qo.transition=1;try{r(e)}finally{Qo.transition=t}}),[e]),n},useTransition:function(){var e=si(ui)[0];return[vi().current,e]},useMutableSource:di,useOpaqueIdentifier:function(){return si(ui)[0]},unstable_isNewReconciler:!1},Ni=w.ReactCurrentOwner,Ai=!1;function Ii(e,t,n,r){t.child=null===e?So(t,null,n,r):Co(t,e.child,n,r)}function Li(e,t,n,r,a){n=n.render;var o=t.ref;return no(t,a),r=ai(e,t,n,r,o,a),null===e||Ai?(t.flags|=1,Ii(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,nu(e,t,a))}function Di(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!==typeof i||Ul(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Wl(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Ri(e,t,i,r,a,o))}return i=e.child,0===(a&o)&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:sr)(a,r)&&e.ref===t.ref)?nu(e,t,o):(t.flags|=1,(e=Hl(i,r)).ref=t.ref,e.return=t,t.child=e)}function Ri(e,t,n,r,a,o){if(null!==e&&sr(e.memoizedProps,r)&&e.ref===t.ref){if(Ai=!1,0===(o&a))return t.lanes=e.lanes,nu(e,t,o);0!==(16384&e.flags)&&(Ai=!0)}return Bi(e,t,n,r,o)}function zi(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0===(4&t.mode))t.memoizedState={baseLanes:0},bl(t,n);else{if(0===(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},bl(t,e),null;t.memoizedState={baseLanes:0},bl(t,null!==o?o.baseLanes:n)}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,bl(t,r);return Ii(e,t,a,n),t.child}function Vi(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Bi(e,t,n,r,a){var o=ha(n)?da:ca.current;return o=pa(t,o),no(t,a),n=ai(e,t,n,r,o,a),null===e||Ai?(t.flags|=1,Ii(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,nu(e,t,a))}function Ui(e,t,n,r,a){if(ha(n)){var o=!0;ya(t)}else o=!1;if(no(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),go(t,n,r),bo(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,u=t.memoizedProps;i.props=u;var l=i.context,s=n.contextType;"object"===typeof s&&null!==s?s=ro(s):s=pa(t,s=ha(n)?da:ca.current);var c=n.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof i.getSnapshotBeforeUpdate;f||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(u!==r||l!==s)&&yo(t,i,r,s),ao=!1;var d=t.memoizedState;i.state=d,co(t,r,i,a),l=t.memoizedState,u!==r||d!==l||fa.current||ao?("function"===typeof c&&(ho(t,n,c,r),l=t.memoizedState),(u=ao||vo(t,n,u,r,d,l,s))?(f||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||("function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"===typeof i.componentDidMount&&(t.flags|=4)):("function"===typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=s,r=u):("function"===typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,io(e,t),u=t.memoizedProps,s=t.type===t.elementType?u:Ga(t.type,u),i.props=s,f=t.pendingProps,d=i.context,"object"===typeof(l=n.contextType)&&null!==l?l=ro(l):l=pa(t,l=ha(n)?da:ca.current);var p=n.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof i.getSnapshotBeforeUpdate)||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(u!==f||d!==l)&&yo(t,i,r,l),ao=!1,d=t.memoizedState,i.state=d,co(t,r,i,a);var h=t.memoizedState;u!==f||d!==h||fa.current||ao?("function"===typeof p&&(ho(t,n,p,r),h=t.memoizedState),(s=ao||vo(t,n,s,r,d,h,l))?(c||"function"!==typeof i.UNSAFE_componentWillUpdate&&"function"!==typeof i.componentWillUpdate||("function"===typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,l),"function"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,l)),"function"===typeof i.componentDidUpdate&&(t.flags|=4),"function"===typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!==typeof i.componentDidUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof i.getSnapshotBeforeUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=l,r=s):("function"!==typeof i.componentDidUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof i.getSnapshotBeforeUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),r=!1)}return Hi(e,t,n,r,o,a)}function Hi(e,t,n,r,a,o){Vi(e,t);var i=0!==(64&t.flags);if(!r&&!i)return a&&ba(t,n,!1),nu(e,t,o);r=t.stateNode,Ni.current=t;var u=i&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,u,o)):Ii(e,t,u,o),t.memoizedState=r.state,a&&ba(t,n,!0),t.child}function Wi(e){var t=e.stateNode;t.pendingContext?va(0,t.pendingContext,t.pendingContext!==t.context):t.context&&va(0,t.context,!1),Mo(e,t.containerInfo)}var $i,qi,Yi,Gi={dehydrated:null,retryLane:0};function Qi(e,t,n){var r,a=t.pendingProps,o=Io.current,i=!1;return(r=0!==(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!==(2&o)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(o|=1),la(Io,1&o),null===e?(void 0!==a.fallback&&Uo(t),e=a.children,o=a.fallback,i?(e=Xi(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Gi,e):"number"===typeof a.unstable_expectedLoadTime?(e=Xi(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Gi,t.lanes=33554432,e):((n=ql({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(a=Zi(e,t,a.children,a.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=Gi,a):(n=Ki(e,t,a.children,n),t.memoizedState=null,n))}function Xi(e,t,n,r){var a=e.mode,o=e.child;return t={mode:"hidden",children:t},0===(2&a)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=ql(t,a,0,null),n=$l(n,a,r,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function Ki(e,t,n,r){var a=e.child;return e=a.sibling,n=Hl(a,{mode:"visible",children:n}),0===(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function Zi(e,t,n,r,a){var o=t.mode,i=e.child;e=i.sibling;var u={mode:"hidden",children:n};return 0===(2&o)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=u,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Hl(i,u),null!==e?r=Hl(e,r):(r=$l(r,o,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function Ji(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),to(e.return,t)}function eu(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.lastEffect=o)}function tu(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Ii(e,t,r.children,n),0!==(2&(r=Io.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!==(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ji(e,n);else if(19===e.tag)Ji(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(la(Io,r),0===(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Lo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),eu(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Lo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}eu(t,!0,n,null,o,t.lastEffect);break;case"together":eu(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function nu(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ru|=t.lanes,0!==(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Hl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Hl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function ru(e,t){if(!zo)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function au(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return ha(t.type)&&ma(),null;case 3:return jo(),ua(fa),ua(ca),Yo(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Wo(t)?t.flags|=4:r.hydrate||(t.flags|=256)),null;case 5:Ao(t);var o=To(Po.current);if(n=t.type,null!==e&&null!=t.stateNode)qi(e,t,n,r),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=To(_o.current),Wo(t)){r=t.stateNode,n=t.type;var u=t.memoizedProps;switch(r[Qr]=t,r[Xr]=u,n){case"dialog":_r("cancel",r),_r("close",r);break;case"iframe":case"object":case"embed":_r("load",r);break;case"video":case"audio":for(e=0;e<Or.length;e++)_r(Or[e],r);break;case"source":_r("error",r);break;case"img":case"image":case"link":_r("error",r),_r("load",r);break;case"details":_r("toggle",r);break;case"input":ee(r,u),_r("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!u.multiple},_r("invalid",r);break;case"textarea":le(r,u),_r("invalid",r)}for(var s in Ce(n,u),e=null,u)u.hasOwnProperty(s)&&(o=u[s],"children"===s?"string"===typeof o?r.textContent!==o&&(e=["children",o]):"number"===typeof o&&r.textContent!==""+o&&(e=["children",""+o]):l.hasOwnProperty(s)&&null!=o&&"onScroll"===s&&_r("scroll",r));switch(n){case"input":X(r),re(r,u,!0);break;case"textarea":X(r),ce(r);break;case"select":case"option":break;default:"function"===typeof u.onClick&&(r.onclick=Dr)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(s=9===o.nodeType?o:o.ownerDocument,e===fe&&(e=pe(n)),e===fe?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Qr]=t,e[Xr]=r,$i(e,t),t.stateNode=e,s=Se(n,r),n){case"dialog":_r("cancel",e),_r("close",e),o=r;break;case"iframe":case"object":case"embed":_r("load",e),o=r;break;case"video":case"audio":for(o=0;o<Or.length;o++)_r(Or[o],e);o=r;break;case"source":_r("error",e),o=r;break;case"img":case"image":case"link":_r("error",e),_r("load",e),o=r;break;case"details":_r("toggle",e),o=r;break;case"input":ee(e,r),o=J(e,r),_r("invalid",e);break;case"option":o=oe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=a({},r,{value:void 0}),_r("invalid",e);break;case"textarea":le(e,r),o=ue(e,r),_r("invalid",e);break;default:o=r}Ce(n,o);var c=o;for(u in c)if(c.hasOwnProperty(u)){var f=c[u];"style"===u?ke(e,f):"dangerouslySetInnerHTML"===u?null!=(f=f?f.__html:void 0)&&ge(e,f):"children"===u?"string"===typeof f?("textarea"!==n||""!==f)&&ye(e,f):"number"===typeof f&&ye(e,""+f):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?null!=f&&"onScroll"===u&&_r("scroll",e):null!=f&&x(e,u,f,s))}switch(n){case"input":X(e),re(e,r,!1);break;case"textarea":X(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+G(r.value));break;case"select":e.multiple=!!r.multiple,null!=(u=r.value)?ie(e,!!r.multiple,u,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof o.onClick&&(e.onclick=Dr)}Vr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Yi(0,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));n=To(Po.current),To(_o.current),Wo(t)?(r=t.stateNode,n=t.memoizedProps,r[Qr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Qr]=t,t.stateNode=r)}return null;case 13:return ua(Io),r=t.memoizedState,0!==(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Wo(t):n=null!==e.memoizedState,r&&!n&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Io.current)?0===Iu&&(Iu=3):(0!==Iu&&3!==Iu||(Iu=4),null===Tu||0===(134217727&Ru)&&0===(134217727&zu)||ml(Tu,ju))),(r||n)&&(t.flags|=4),null);case 4:return jo(),null===e&&Pr(t.stateNode.containerInfo),null;case 10:return eo(t),null;case 17:return ha(t.type)&&ma(),null;case 19:if(ua(Io),null===(r=t.memoizedState))return null;if(u=0!==(64&t.flags),null===(s=r.rendering))if(u)ru(r,!1);else{if(0!==Iu||null!==e&&0!==(64&e.flags))for(e=t.child;null!==e;){if(null!==(s=Lo(e))){for(t.flags|=64,ru(r,!1),null!==(u=s.updateQueue)&&(t.updateQueue=u,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(u=n).flags&=2,u.nextEffect=null,u.firstEffect=null,u.lastEffect=null,null===(s=u.alternate)?(u.childLanes=0,u.lanes=e,u.child=null,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=s.childLanes,u.lanes=s.lanes,u.child=s.child,u.memoizedProps=s.memoizedProps,u.memoizedState=s.memoizedState,u.updateQueue=s.updateQueue,u.type=s.type,e=s.dependencies,u.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return la(Io,1&Io.current|2),t.child}e=e.sibling}null!==r.tail&&Va()>Hu&&(t.flags|=64,u=!0,ru(r,!1),t.lanes=33554432)}else{if(!u)if(null!==(e=Lo(s))){if(t.flags|=64,u=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),ru(r,!0),null===r.tail&&"hidden"===r.tailMode&&!s.alternate&&!zo)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Va()-r.renderingStartTime>Hu&&1073741824!==n&&(t.flags|=64,u=!0,ru(r,!1),t.lanes=33554432);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Va(),n.sibling=null,t=Io.current,la(Io,u?1&t|2:1&t),n):null;case 23:case 24:return xl(),null!==e&&null!==e.memoizedState!==(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ou(e){switch(e.tag){case 1:ha(e.type)&&ma();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(jo(),ua(fa),ua(ca),Yo(),0!==(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Ao(e),null;case 13:return ua(Io),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(Io),null;case 4:return jo(),null;case 10:return eo(e),null;case 23:case 24:return xl(),null;default:return null}}function iu(e,t){try{var n="",r=t;do{n+=q(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a}}function uu(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}$i=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},qi=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,To(_o.current);var i,u=null;switch(n){case"input":o=J(e,o),r=J(e,r),u=[];break;case"option":o=oe(e,o),r=oe(e,r),u=[];break;case"select":o=a({},o,{value:void 0}),r=a({},r,{value:void 0}),u=[];break;case"textarea":o=ue(e,o),r=ue(e,r),u=[];break;default:"function"!==typeof o.onClick&&"function"===typeof r.onClick&&(e.onclick=Dr)}for(f in Ce(n,r),n=null,o)if(!r.hasOwnProperty(f)&&o.hasOwnProperty(f)&&null!=o[f])if("style"===f){var s=o[f];for(i in s)s.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==f&&"children"!==f&&"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&"autoFocus"!==f&&(l.hasOwnProperty(f)?u||(u=[]):(u=u||[]).push(f,null));for(f in r){var c=r[f];if(s=null!=o?o[f]:void 0,r.hasOwnProperty(f)&&c!==s&&(null!=c||null!=s))if("style"===f)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(u||(u=[]),u.push(f,n)),n=c;else"dangerouslySetInnerHTML"===f?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(u=u||[]).push(f,c)):"children"===f?"string"!==typeof c&&"number"!==typeof c||(u=u||[]).push(f,""+c):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&(l.hasOwnProperty(f)?(null!=c&&"onScroll"===f&&_r("scroll",e),u||s===c||(u=[])):"object"===typeof c&&null!==c&&c.$$typeof===I?c.toString():(u=u||[]).push(f,c))}n&&(u=u||[]).push("style",n);var f=u;(t.updateQueue=f)&&(t.flags|=4)}},Yi=function(e,t,n,r){n!==r&&(t.flags|=4)};var lu="function"===typeof WeakMap?WeakMap:Map;function su(e,t,n){(n=uo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Yu||(Yu=!0,Gu=r),uu(0,t)},n}function cu(e,t,n){(n=uo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var a=t.value;n.payload=function(){return uu(0,t),r(a)}}var o=e.stateNode;return null!==o&&"function"===typeof o.componentDidCatch&&(n.callback=function(){"function"!==typeof r&&(null===Qu?Qu=new Set([this]):Qu.add(this),uu(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var fu="function"===typeof WeakSet?WeakSet:Set;function du(e){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(n){Dl(e,n)}else t.current=null}function pu(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ga(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Wr(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(i(163))}function hu(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3===(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,0!==(4&(a=a.tag))&&0!==(1&a)&&(Al(n,e),Nl(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Ga(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&fo(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}fo(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Vr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&kt(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(i(163))}function mu(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"===typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=void 0!==a&&null!==a&&a.hasOwnProperty("display")?a.display:null,r.style.display=we("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function vu(e,t){if(wa&&"function"===typeof wa.onCommitFiberUnmount)try{wa.onCommitFiberUnmount(xa,t)}catch(o){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(0!==(4&r))Al(t,n);else{r=t;try{a()}catch(o){Dl(r,o)}}n=n.next}while(n!==e)}break;case 1:if(du(t),"function"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(o){Dl(t,o)}break;case 5:du(t);break;case 4:ku(e,t)}}function gu(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function yu(e){return 5===e.tag||3===e.tag||4===e.tag}function bu(e){e:{for(var t=e.return;null!==t;){if(yu(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(ye(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||yu(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?xu(e,n,t):wu(e,n,t)}function xu(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Dr));else if(4!==r&&null!==(e=e.child))for(xu(e,t,n),e=e.sibling;null!==e;)xu(e,t,n),e=e.sibling}function wu(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(wu(e,t,n),e=e.sibling;null!==e;)wu(e,t,n),e=e.sibling}function ku(e,t){for(var n,r,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var u=e,l=a,s=l;;)if(vu(u,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===l)break e;for(;null===s.sibling;){if(null===s.return||s.return===l)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}r?(u=n,l=a.stateNode,8===u.nodeType?u.parentNode.removeChild(l):u.removeChild(l)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(vu(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function Ou(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3===(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Xr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),Se(e,a),t=Se(e,r),a=0;a<o.length;a+=2){var u=o[a],l=o[a+1];"style"===u?ke(n,l):"dangerouslySetInnerHTML"===u?ge(n,l):"children"===u?ye(n,l):x(n,u,l,t)}switch(e){case"input":ne(n,r);break;case"textarea":se(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(o=r.value)?ie(n,!!r.multiple,o,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,kt(n.containerInfo)));case 12:return;case 13:return null!==t.memoizedState&&(Uu=Va(),mu(t.child,!0)),void Cu(t);case 19:return void Cu(t);case 17:return;case 23:case 24:return void mu(t,null!==t.memoizedState)}throw Error(i(163))}function Cu(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new fu),t.forEach((function(t){var r=zl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Su(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Eu=Math.ceil,_u=w.ReactCurrentDispatcher,Fu=w.ReactCurrentOwner,Pu=0,Tu=null,Mu=null,ju=0,Nu=0,Au=ia(0),Iu=0,Lu=null,Du=0,Ru=0,zu=0,Vu=0,Bu=null,Uu=0,Hu=1/0;function Wu(){Hu=Va()+500}var $u,qu=null,Yu=!1,Gu=null,Qu=null,Xu=!1,Ku=null,Zu=90,Ju=[],el=[],tl=null,nl=0,rl=null,al=-1,ol=0,il=0,ul=null,ll=!1;function sl(){return 0!==(48&Pu)?Va():-1!==al?al:al=Va()}function cl(e){if(0===(2&(e=e.mode)))return 1;if(0===(4&e))return 99===Ba()?1:2;if(0===ol&&(ol=Du),0!==Ya.transition){0!==il&&(il=null!==Bu?Bu.pendingLanes:0),e=ol;var t=4186112&~il;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Ba(),0!==(4&Pu)&&98===e?e=Vt(12,ol):e=Vt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ol),e}function fl(e,t,n){if(50<nl)throw nl=0,rl=null,Error(i(185));if(null===(e=dl(e,t)))return null;Ht(e,t,n),e===Tu&&(zu|=t,4===Iu&&ml(e,ju));var r=Ba();1===t?0!==(8&Pu)&&0===(48&Pu)?vl(e):(pl(e,n),0===Pu&&(Wu(),$a())):(0===(4&Pu)||98!==r&&99!==r||(null===tl?tl=new Set([e]):tl.add(e)),pl(e,n)),Bu=e}function dl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function pl(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,u=e.pendingLanes;0<u;){var l=31-Wt(u),s=1<<l,c=o[l];if(-1===c){if(0===(s&r)||0!==(s&a)){c=t,Dt(s);var f=Lt;o[l]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=s);u&=~s}if(r=Rt(e,e===Tu?ju:0),t=Lt,0===r)null!==n&&(n!==Aa&&Ca(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Aa&&Ca(n)}15===t?(n=vl.bind(null,e),null===La?(La=[n],Da=Oa(Pa,qa)):La.push(n),n=Aa):14===t?n=Wa(99,vl.bind(null,e)):n=Wa(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),hl.bind(null,e)),e.callbackPriority=t,e.callbackNode=n}}function hl(e){if(al=-1,il=ol=0,0!==(48&Pu))throw Error(i(327));var t=e.callbackNode;if(jl()&&e.callbackNode!==t)return null;var n=Rt(e,e===Tu?ju:0);if(0===n)return null;var r=n,a=Pu;Pu|=16;var o=Ol();for(Tu===e&&ju===r||(Wu(),wl(e,r));;)try{El();break}catch(l){kl(e,l)}if(Ja(),_u.current=o,Pu=a,null!==Mu?r=0:(Tu=null,ju=0,r=Iu),0!==(Du&zu))wl(e,0);else if(0!==r){if(2===r&&(Pu|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(n=zt(e))&&(r=Cl(e,n))),1===r)throw t=Lu,wl(e,0),ml(e,n),pl(e,Va()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:Pl(e);break;case 3:if(ml(e,n),(62914560&n)===n&&10<(r=Uu+500-Va())){if(0!==Rt(e,0))break;if(((a=e.suspendedLanes)&n)!==n){sl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Ur(Pl.bind(null,e),r);break}Pl(e);break;case 4:if(ml(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var u=31-Wt(n);o=1<<u,(u=r[u])>a&&(a=u),n&=~o}if(n=a,10<(n=(120>(n=Va()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Eu(n/1960))-n)){e.timeoutHandle=Ur(Pl.bind(null,e),n);break}Pl(e);break;case 5:Pl(e);break;default:throw Error(i(329))}}return pl(e,Va()),e.callbackNode===t?hl.bind(null,e):null}function ml(e,t){for(t&=~Vu,t&=~zu,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Wt(t),r=1<<n;e[n]=-1,t&=~r}}function vl(e){if(0!==(48&Pu))throw Error(i(327));if(jl(),e===Tu&&0!==(e.expiredLanes&ju)){var t=ju,n=Cl(e,t);0!==(Du&zu)&&(n=Cl(e,t=Rt(e,t)))}else n=Cl(e,t=Rt(e,0));if(0!==e.tag&&2===n&&(Pu|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(t=zt(e))&&(n=Cl(e,t))),1===n)throw n=Lu,wl(e,0),ml(e,t),pl(e,Va()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pl(e),pl(e,Va()),null}function gl(e,t){var n=Pu;Pu|=1;try{return e(t)}finally{0===(Pu=n)&&(Wu(),$a())}}function yl(e,t){var n=Pu;Pu&=-2,Pu|=8;try{return e(t)}finally{0===(Pu=n)&&(Wu(),$a())}}function bl(e,t){la(Au,Nu),Nu|=t,Du|=t}function xl(){Nu=Au.current,ua(Au)}function wl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Hr(n)),null!==Mu)for(n=Mu.return;null!==n;){var r=n;switch(r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&ma();break;case 3:jo(),ua(fa),ua(ca),Yo();break;case 5:Ao(r);break;case 4:jo();break;case 13:case 19:ua(Io);break;case 10:eo(r);break;case 23:case 24:xl()}n=n.return}Tu=e,Mu=Hl(e.current,null),ju=Nu=Du=t,Iu=0,Lu=null,Vu=zu=Ru=0}function kl(e,t){for(;;){var n=Mu;try{if(Ja(),Go.current=Pi,ei){for(var r=Ko.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ei=!1}if(Xo=0,Jo=Zo=Ko=null,ti=!1,Fu.current=null,null===n||null===n.return){Iu=1,Lu=t,Mu=null;break}e:{var o=e,i=n.return,u=n,l=t;if(t=ju,u.flags|=2048,u.firstEffect=u.lastEffect=null,null!==l&&"object"===typeof l&&"function"===typeof l.then){var s=l;if(0===(2&u.mode)){var c=u.alternate;c?(u.updateQueue=c.updateQueue,u.memoizedState=c.memoizedState,u.lanes=c.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=0!==(1&Io.current),d=i;do{var p;if(p=13===d.tag){var h=d.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var m=d.memoizedProps;p=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!f)}}if(p){var v=d.updateQueue;if(null===v){var g=new Set;g.add(s),d.updateQueue=g}else v.add(s);if(0===(2&d.mode)){if(d.flags|=64,u.flags|=16384,u.flags&=-2981,1===u.tag)if(null===u.alternate)u.tag=17;else{var y=uo(-1,1);y.tag=2,lo(u,y)}u.lanes|=1;break e}l=void 0,u=t;var b=o.pingCache;if(null===b?(b=o.pingCache=new lu,l=new Set,b.set(s,l)):void 0===(l=b.get(s))&&(l=new Set,b.set(s,l)),!l.has(u)){l.add(u);var x=Rl.bind(null,o,s,u);s.then(x,x)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);l=Error((Y(u.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Iu&&(Iu=2),l=iu(l,u),d=i;do{switch(d.tag){case 3:o=l,d.flags|=4096,t&=-t,d.lanes|=t,so(d,su(0,o,t));break e;case 1:o=l;var w=d.type,k=d.stateNode;if(0===(64&d.flags)&&("function"===typeof w.getDerivedStateFromError||null!==k&&"function"===typeof k.componentDidCatch&&(null===Qu||!Qu.has(k)))){d.flags|=4096,t&=-t,d.lanes|=t,so(d,cu(d,o,t));break e}}d=d.return}while(null!==d)}Fl(n)}catch(O){t=O,Mu===n&&null!==n&&(Mu=n=n.return);continue}break}}function Ol(){var e=_u.current;return _u.current=Pi,null===e?Pi:e}function Cl(e,t){var n=Pu;Pu|=16;var r=Ol();for(Tu===e&&ju===t||wl(e,t);;)try{Sl();break}catch(a){kl(e,a)}if(Ja(),Pu=n,_u.current=r,null!==Mu)throw Error(i(261));return Tu=null,ju=0,Iu}function Sl(){for(;null!==Mu;)_l(Mu)}function El(){for(;null!==Mu&&!Sa();)_l(Mu)}function _l(e){var t=$u(e.alternate,e,Nu);e.memoizedProps=e.pendingProps,null===t?Fl(e):Mu=t,Fu.current=null}function Fl(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(2048&t.flags)){if(null!==(n=au(n,t,Nu)))return void(Mu=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!==(1073741824&Nu)||0===(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&0===(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=ou(t)))return n.flags&=2047,void(Mu=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Mu=t);Mu=t=e}while(null!==t);0===Iu&&(Iu=5)}function Pl(e){var t=Ba();return Ha(99,Tl.bind(null,e,t)),null}function Tl(e,t){do{jl()}while(null!==Ku);if(0!==(48&Pu))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,o=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var u=e.eventTimes,l=e.expirationTimes;0<o;){var s=31-Wt(o),c=1<<s;a[s]=0,u[s]=-1,l[s]=-1,o&=~c}if(null!==tl&&0===(24&r)&&tl.has(e)&&tl.delete(e),e===Tu&&(Mu=Tu=null,ju=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Pu,Pu|=32,Fu.current=null,Rr=Qt,hr(u=pr())){if("selectionStart"in u)l={start:u.selectionStart,end:u.selectionEnd};else e:if(l=(l=u.ownerDocument)&&l.defaultView||window,(c=l.getSelection&&l.getSelection())&&0!==c.rangeCount){l=c.anchorNode,o=c.anchorOffset,s=c.focusNode,c=c.focusOffset;try{l.nodeType,s.nodeType}catch(E){l=null;break e}var f=0,d=-1,p=-1,h=0,m=0,v=u,g=null;t:for(;;){for(var y;v!==l||0!==o&&3!==v.nodeType||(d=f+o),v!==s||0!==c&&3!==v.nodeType||(p=f+c),3===v.nodeType&&(f+=v.nodeValue.length),null!==(y=v.firstChild);)g=v,v=y;for(;;){if(v===u)break t;if(g===l&&++h===o&&(d=f),g===s&&++m===c&&(p=f),null!==(y=v.nextSibling))break;g=(v=g).parentNode}v=y}l=-1===d||-1===p?null:{start:d,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;zr={focusedElem:u,selectionRange:l},Qt=!1,ul=null,ll=!1,qu=r;do{try{Ml()}catch(E){if(null===qu)throw Error(i(330));Dl(qu,E),qu=qu.nextEffect}}while(null!==qu);ul=null,qu=r;do{try{for(u=e;null!==qu;){var b=qu.flags;if(16&b&&ye(qu.stateNode,""),128&b){var x=qu.alternate;if(null!==x){var w=x.ref;null!==w&&("function"===typeof w?w(null):w.current=null)}}switch(1038&b){case 2:bu(qu),qu.flags&=-3;break;case 6:bu(qu),qu.flags&=-3,Ou(qu.alternate,qu);break;case 1024:qu.flags&=-1025;break;case 1028:qu.flags&=-1025,Ou(qu.alternate,qu);break;case 4:Ou(qu.alternate,qu);break;case 8:ku(u,l=qu);var k=l.alternate;gu(l),null!==k&&gu(k)}qu=qu.nextEffect}}catch(E){if(null===qu)throw Error(i(330));Dl(qu,E),qu=qu.nextEffect}}while(null!==qu);if(w=zr,x=pr(),b=w.focusedElem,u=w.selectionRange,x!==b&&b&&b.ownerDocument&&dr(b.ownerDocument.documentElement,b)){null!==u&&hr(b)&&(x=u.start,void 0===(w=u.end)&&(w=x),"selectionStart"in b?(b.selectionStart=x,b.selectionEnd=Math.min(w,b.value.length)):(w=(x=b.ownerDocument||document)&&x.defaultView||window).getSelection&&(w=w.getSelection(),l=b.textContent.length,k=Math.min(u.start,l),u=void 0===u.end?k:Math.min(u.end,l),!w.extend&&k>u&&(l=u,u=k,k=l),l=fr(b,k),o=fr(b,u),l&&o&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==o.node||w.focusOffset!==o.offset)&&((x=x.createRange()).setStart(l.node,l.offset),w.removeAllRanges(),k>u?(w.addRange(x),w.extend(o.node,o.offset)):(x.setEnd(o.node,o.offset),w.addRange(x))))),x=[];for(w=b;w=w.parentNode;)1===w.nodeType&&x.push({element:w,left:w.scrollLeft,top:w.scrollTop});for("function"===typeof b.focus&&b.focus(),b=0;b<x.length;b++)(w=x[b]).element.scrollLeft=w.left,w.element.scrollTop=w.top}Qt=!!Rr,zr=Rr=null,e.current=n,qu=r;do{try{for(b=e;null!==qu;){var O=qu.flags;if(36&O&&hu(b,qu.alternate,qu),128&O){x=void 0;var C=qu.ref;if(null!==C){var S=qu.stateNode;switch(qu.tag){case 5:x=S;break;default:x=S}"function"===typeof C?C(x):C.current=x}}qu=qu.nextEffect}}catch(E){if(null===qu)throw Error(i(330));Dl(qu,E),qu=qu.nextEffect}}while(null!==qu);qu=null,Ia(),Pu=a}else e.current=n;if(Xu)Xu=!1,Ku=e,Zu=t;else for(qu=r;null!==qu;)t=qu.nextEffect,qu.nextEffect=null,8&qu.flags&&((O=qu).sibling=null,O.stateNode=null),qu=t;if(0===(r=e.pendingLanes)&&(Qu=null),1===r?e===rl?nl++:(nl=0,rl=e):nl=0,n=n.stateNode,wa&&"function"===typeof wa.onCommitFiberRoot)try{wa.onCommitFiberRoot(xa,n,void 0,64===(64&n.current.flags))}catch(E){}if(pl(e,Va()),Yu)throw Yu=!1,e=Gu,Gu=null,e;return 0!==(8&Pu)||$a(),null}function Ml(){for(;null!==qu;){var e=qu.alternate;ll||null===ul||(0!==(8&qu.flags)?et(qu,ul)&&(ll=!0):13===qu.tag&&Su(e,qu)&&et(qu,ul)&&(ll=!0));var t=qu.flags;0!==(256&t)&&pu(e,qu),0===(512&t)||Xu||(Xu=!0,Wa(97,(function(){return jl(),null}))),qu=qu.nextEffect}}function jl(){if(90!==Zu){var e=97<Zu?97:Zu;return Zu=90,Ha(e,Il)}return!1}function Nl(e,t){Ju.push(t,e),Xu||(Xu=!0,Wa(97,(function(){return jl(),null})))}function Al(e,t){el.push(t,e),Xu||(Xu=!0,Wa(97,(function(){return jl(),null})))}function Il(){if(null===Ku)return!1;var e=Ku;if(Ku=null,0!==(48&Pu))throw Error(i(331));var t=Pu;Pu|=32;var n=el;el=[];for(var r=0;r<n.length;r+=2){var a=n[r],o=n[r+1],u=a.destroy;if(a.destroy=void 0,"function"===typeof u)try{u()}catch(s){if(null===o)throw Error(i(330));Dl(o,s)}}for(n=Ju,Ju=[],r=0;r<n.length;r+=2){a=n[r],o=n[r+1];try{var l=a.create;a.destroy=l()}catch(s){if(null===o)throw Error(i(330));Dl(o,s)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Pu=t,$a(),!0}function Ll(e,t,n){lo(e,t=su(0,t=iu(n,t),1)),t=sl(),null!==(e=dl(e,1))&&(Ht(e,1,t),pl(e,t))}function Dl(e,t){if(3===e.tag)Ll(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Ll(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"===typeof n.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Qu||!Qu.has(r))){var a=cu(n,e=iu(t,e),1);if(lo(n,a),a=sl(),null!==(n=dl(n,1)))Ht(n,1,a),pl(n,a);else if("function"===typeof r.componentDidCatch&&(null===Qu||!Qu.has(r)))try{r.componentDidCatch(t,e)}catch(o){}break}}n=n.return}}function Rl(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=sl(),e.pingedLanes|=e.suspendedLanes&n,Tu===e&&(ju&n)===n&&(4===Iu||3===Iu&&(62914560&ju)===ju&&500>Va()-Uu?wl(e,0):Vu|=n),pl(e,t)}function zl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0===(2&(t=e.mode))?t=1:0===(4&t)?t=99===Ba()?1:2:(0===ol&&(ol=Du),0===(t=Bt(62914560&~ol))&&(t=4194304))),n=sl(),null!==(e=dl(e,t))&&(Ht(e,t,n),pl(e,n))}function Vl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Bl(e,t,n,r){return new Vl(e,t,n,r)}function Ul(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Hl(e,t){var n=e.alternate;return null===n?((n=Bl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Wl(e,t,n,r,a,o){var u=2;if(r=e,"function"===typeof e)Ul(e)&&(u=1);else if("string"===typeof e)u=5;else e:switch(e){case C:return $l(n.children,a,o,t);case L:u=8,a|=16;break;case S:u=8,a|=1;break;case E:return(e=Bl(12,n,t,8|a)).elementType=E,e.type=E,e.lanes=o,e;case T:return(e=Bl(13,n,t,a)).type=T,e.elementType=T,e.lanes=o,e;case M:return(e=Bl(19,n,t,a)).elementType=M,e.lanes=o,e;case D:return ql(n,a,o,t);case R:return(e=Bl(24,n,t,a)).elementType=R,e.lanes=o,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case _:u=10;break e;case F:u=9;break e;case P:u=11;break e;case j:u=14;break e;case N:u=16,r=null;break e;case A:u=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Bl(u,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function $l(e,t,n,r){return(e=Bl(7,e,r,t)).lanes=n,e}function ql(e,t,n,r){return(e=Bl(23,e,r,t)).elementType=D,e.lanes=n,e}function Yl(e,t,n){return(e=Bl(6,e,null,t)).lanes=n,e}function Gl(e,t,n){return(t=Bl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ql(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ut(0),this.expirationTimes=Ut(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ut(0),this.mutableSourceEagerHydrationData=null}function Xl(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:O,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function Kl(e,t,n,r){var a=t.current,o=sl(),u=cl(a);e:if(n){t:{if(Xe(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(ha(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(i(171))}if(1===n.tag){var s=n.type;if(ha(s)){n=ga(n,s,l);break e}}n=l}else n=sa;return null===t.context?t.context=n:t.pendingContext=n,(t=uo(o,u)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),lo(a,t),fl(a,u,o),u}function Zl(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Jl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function es(e,t){Jl(e,t),(e=e.alternate)&&Jl(e,t)}function ts(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Ql(e,t,null!=n&&!0===n.hydrate),t=Bl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,oo(t),e[Kr]=n.current,Pr(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function ns(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function rs(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"===typeof a){var u=a;a=function(){var e=Zl(i);u.call(e)}}Kl(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ts(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"===typeof a){var l=a;a=function(){var e=Zl(i);l.call(e)}}yl((function(){Kl(t,i,e,a)}))}return Zl(i)}function as(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ns(t))throw Error(i(200));return Xl(e,t,null,n)}$u=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||fa.current)Ai=!0;else{if(0===(n&r)){switch(Ai=!1,t.tag){case 3:Wi(t),$o();break;case 5:No(t);break;case 1:ha(t.type)&&ya(t);break;case 4:Mo(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;la(Qa,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(n&t.child.childLanes)?Qi(e,t,n):(la(Io,1&Io.current),null!==(t=nu(e,t,n))?t.sibling:null);la(Io,1&Io.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(64&e.flags)){if(r)return tu(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),la(Io,Io.current),r)break;return null;case 23:case 24:return t.lanes=0,zi(e,t,n)}return nu(e,t,n)}Ai=0!==(16384&e.flags)}else Ai=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=pa(t,ca.current),no(t,n),a=ai(null,t,r,e,a,n),t.flags|=1,"object"===typeof a&&null!==a&&"function"===typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ha(r)){var o=!0;ya(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,oo(t);var u=r.getDerivedStateFromProps;"function"===typeof u&&ho(t,r,u,e),a.updater=mo,t.stateNode=a,a._reactInternals=t,bo(t,r,e,n),t=Hi(null,t,r,!0,o,n)}else t.tag=0,Ii(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"===typeof e)return Ul(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===P)return 11;if(e===j)return 14}return 2}(a),e=Ga(a,e),o){case 0:t=Bi(null,t,a,e,n);break e;case 1:t=Ui(null,t,a,e,n);break e;case 11:t=Li(null,t,a,e,n);break e;case 14:t=Di(null,t,a,Ga(a.type,e),r,n);break e}throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Bi(e,t,r,a=t.elementType===r?a:Ga(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ui(e,t,r,a=t.elementType===r?a:Ga(r,a),n);case 3:if(Wi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,io(e,t),co(t,r,null,n),(r=t.memoizedState.element)===a)$o(),t=nu(e,t,n);else{if((o=(a=t.stateNode).hydrate)&&(Ro=$r(t.stateNode.containerInfo.firstChild),Do=t,o=zo=!0),o){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(o=e[a])._workInProgressVersionPrimary=e[a+1],qo.push(o);for(n=So(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Ii(e,t,r,n),$o();t=t.child}return t;case 5:return No(t),null===e&&Uo(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,u=a.children,Br(r,a)?u=null:null!==o&&Br(r,o)&&(t.flags|=16),Vi(e,t),Ii(e,t,u,n),t.child;case 6:return null===e&&Uo(t),null;case 13:return Qi(e,t,n);case 4:return Mo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,n):Ii(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Li(e,t,r,a=t.elementType===r?a:Ga(r,a),n);case 7:return Ii(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ii(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,u=t.memoizedProps,o=a.value;var l=t.type._context;if(la(Qa,l._currentValue),l._currentValue=o,null!==u)if(l=u.value,0===(o=ur(l,o)?0:0|("function"===typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(u.children===a.children&&!fa.current){t=nu(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var s=l.dependencies;if(null!==s){u=l.child;for(var c=s.firstContext;null!==c;){if(c.context===r&&0!==(c.observedBits&o)){1===l.tag&&((c=uo(-1,n&-n)).tag=2,lo(l,c)),l.lanes|=n,null!==(c=l.alternate)&&(c.lanes|=n),to(l.return,n),s.lanes|=n;break}c=c.next}}else u=10===l.tag&&l.type===t.type?null:l.child;if(null!==u)u.return=l;else for(u=l;null!==u;){if(u===t){u=null;break}if(null!==(l=u.sibling)){l.return=u.return,u=l;break}u=u.return}l=u}Ii(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,no(t,n),r=r(a=ro(a,o.unstable_observedBits)),t.flags|=1,Ii(e,t,r,n),t.child;case 14:return o=Ga(a=t.type,t.pendingProps),Di(e,t,a,o=Ga(a.type,o),r,n);case 15:return Ri(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Ga(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ha(r)?(e=!0,ya(t)):e=!1,no(t,n),go(t,r,a),bo(t,r,a,n),Hi(null,t,r,!0,e,n);case 19:return tu(e,t,n);case 23:case 24:return zi(e,t,n)}throw Error(i(156,t.tag))},ts.prototype.render=function(e){Kl(e,this._internalRoot,null,null)},ts.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Kl(null,e,null,(function(){t[Kr]=null}))},tt=function(e){13===e.tag&&(fl(e,4,sl()),es(e,4))},nt=function(e){13===e.tag&&(fl(e,67108864,sl()),es(e,67108864))},rt=function(e){if(13===e.tag){var t=sl(),n=cl(e);fl(e,n,t),es(e,n)}},at=function(e,t){return t()},_e=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=na(r);if(!a)throw Error(i(90));K(r),ne(r,a)}}}break;case"textarea":se(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Ne=gl,Ae=function(e,t,n,r,a){var o=Pu;Pu|=4;try{return Ha(98,e.bind(null,t,n,r,a))}finally{0===(Pu=o)&&(Wu(),$a())}},Ie=function(){0===(49&Pu)&&(function(){if(null!==tl){var e=tl;tl=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,pl(e,Va())}))}$a()}(),jl())},Le=function(e,t){var n=Pu;Pu|=2;try{return e(t)}finally{0===(Pu=n)&&(Wu(),$a())}};var os={Events:[ea,ta,na,Me,je,jl,{current:!1}]},is={findFiberByHostInstance:Jr,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},us={bundleType:is.bundleType,version:is.version,rendererPackageName:is.rendererPackageName,rendererConfig:is.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:is.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ls=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ls.isDisabled&&ls.supportsFiber)try{xa=ls.inject(us),wa=ls}catch(ve){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=os,t.createPortal=as,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=Je(t))?null:e.stateNode},t.flushSync=function(e,t){var n=Pu;if(0!==(48&n))return e(t);Pu|=1;try{if(e)return Ha(99,e.bind(null,t))}finally{Pu=n,$a()}},t.hydrate=function(e,t,n){if(!ns(t))throw Error(i(200));return rs(null,e,t,!0,n)},t.render=function(e,t,n){if(!ns(t))throw Error(i(200));return rs(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!ns(e))throw Error(i(40));return!!e._reactRootContainer&&(yl((function(){rs(null,null,e,!1,(function(){e._reactRootContainer=null,e[Kr]=null}))})),!0)},t.unstable_batchedUpdates=gl,t.unstable_createPortal=function(e,t){return as(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!ns(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return rs(e,t,n,!1,r)},t.version="17.0.2"},function(e,t,n){"use strict";e.exports=n(37)},function(e,t,n){"use strict";var r,a,o,i;if("object"===typeof performance&&"function"===typeof performance.now){var u=performance;t.unstable_now=function(){return u.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var c=null,f=null,d=function e(){if(null!==c)try{var n=t.unstable_now();c(!0,n),c=null}catch(r){throw setTimeout(e,0),r}};r=function(e){null!==c?setTimeout(r,0,e):(c=e,setTimeout(d,0))},a=function(e,t){f=setTimeout(e,t)},o=function(){clearTimeout(f)},t.unstable_shouldYield=function(){return!1},i=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,h=window.clearTimeout;if("undefined"!==typeof console){var m=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var v=!1,g=null,y=-1,b=5,x=0;t.unstable_shouldYield=function(){return t.unstable_now()>=x},i=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):b=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,k=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();x=e+b;try{g(!0,e)?k.postMessage(null):(v=!1,g=null)}catch(n){throw k.postMessage(null),n}}else v=!1},r=function(e){g=e,v||(v=!0,k.postMessage(null))},a=function(e,n){y=p((function(){e(t.unstable_now())}),n)},o=function(){h(y),y=-1}}function O(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<E(a,t)))break e;e[r]=t,e[n]=a,n=r}}function C(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],u=o+1,l=e[u];if(void 0!==i&&0>E(i,n))void 0!==l&&0>E(l,i)?(e[r]=l,e[u]=n,r=u):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==l&&0>E(l,n)))break e;e[r]=l,e[u]=n,r=u}}}return t}return null}function E(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var _=[],F=[],P=1,T=null,M=3,j=!1,N=!1,A=!1;function I(e){for(var t=C(F);null!==t;){if(null===t.callback)S(F);else{if(!(t.startTime<=e))break;S(F),t.sortIndex=t.expirationTime,O(_,t)}t=C(F)}}function L(e){if(A=!1,I(e),!N)if(null!==C(_))N=!0,r(D);else{var t=C(F);null!==t&&a(L,t.startTime-e)}}function D(e,n){N=!1,A&&(A=!1,o()),j=!0;var r=M;try{for(I(n),T=C(_);null!==T&&(!(T.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=T.callback;if("function"===typeof i){T.callback=null,M=T.priorityLevel;var u=i(T.expirationTime<=n);n=t.unstable_now(),"function"===typeof u?T.callback=u:T===C(_)&&S(_),I(n)}else S(_);T=C(_)}if(null!==T)var l=!0;else{var s=C(F);null!==s&&a(L,s.startTime-n),l=!1}return l}finally{T=null,M=r,j=!1}}var R=i;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){N||j||(N=!0,r(D))},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_getFirstCallbackNode=function(){return C(_)},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=R,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,i){var u=t.unstable_now();switch("object"===typeof i&&null!==i?i="number"===typeof(i=i.delay)&&0<i?u+i:u:i=u,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:P++,callback:n,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>u?(e.sortIndex=i,O(F,e),null===C(_)&&e===C(F)&&(A?o():A=!0,a(L,i-u))):(e.sortIndex=l,O(_,e),N||j||(N=!0,r(D))),e},t.unstable_wrapCallback=function(e){var t=M;return function(){var n=M;M=t;try{return e.apply(this,arguments)}finally{M=n}}}},,function(e,t,n){"use strict";n(23);var r=n(1),a=60103;if(t.Fragment=60107,"function"===typeof Symbol&&Symbol.for){var o=Symbol.for;a=o("react.element"),t.Fragment=o("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,o={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)u.call(t,r)&&!l.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:s,ref:c,props:o,_owner:i.current}}t.jsx=s,t.jsxs=s},function(e,t,n){"use strict";var r=n(41);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r="function"===typeof Symbol&&Symbol.for,a=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,u=r?Symbol.for("react.strict_mode"):60108,l=r?Symbol.for("react.profiler"):60114,s=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,f=r?Symbol.for("react.async_mode"):60111,d=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.suspense_list"):60120,v=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,y=r?Symbol.for("react.block"):60121,b=r?Symbol.for("react.fundamental"):60117,x=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function k(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case f:case d:case i:case l:case u:case h:return e;default:switch(e=e&&e.$$typeof){case c:case p:case g:case v:case s:return e;default:return t}}case o:return t}}}function O(e){return k(e)===d}t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=a,t.ForwardRef=p,t.Fragment=i,t.Lazy=g,t.Memo=v,t.Portal=o,t.Profiler=l,t.StrictMode=u,t.Suspense=h,t.isAsyncMode=function(e){return O(e)||k(e)===f},t.isConcurrentMode=O,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===i},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===v},t.isPortal=function(e){return k(e)===o},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===u},t.isSuspense=function(e){return k(e)===h},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===i||e===d||e===l||e===u||e===h||e===m||"object"===typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===v||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===b||e.$$typeof===x||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},function(e,t,n){var r=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,a="function"===typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(M){l=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var a=t&&t.prototype instanceof v?t:v,o=Object.create(a.prototype),i=new F(r||[]);return o._invoke=function(e,t,n){var r=f;return function(a,o){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===a)throw o;return T()}for(n.method=a,n.arg=o;;){var i=n.delegate;if(i){var u=S(i,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var l=c(e,t,n);if("normal"===l.type){if(r=n.done?h:d,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=h,n.method="throw",n.arg=l.arg)}}}(e,n,i),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(M){return{type:"throw",arg:M}}}e.wrap=s;var f="suspendedStart",d="suspendedYield",p="executing",h="completed",m={};function v(){}function g(){}function y(){}var b={};b[o]=function(){return this};var x=Object.getPrototypeOf,w=x&&x(x(P([])));w&&w!==n&&r.call(w,o)&&(b=w);var k=y.prototype=v.prototype=Object.create(b);function O(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(a,o,i,u){var l=c(e[a],e,o);if("throw"!==l.type){var s=l.arg,f=s.value;return f&&"object"===typeof f&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,i,u)}),(function(e){n("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,u)}))}u(l.arg)}var a;this._invoke=function(e,r){function o(){return new t((function(t,a){n(e,r,t,a)}))}return a=a?a.then(o,o):o()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var a=c(r,e.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,m;var o=a.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function P(e){if(e){var n=e[o];if(n)return n.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var a=-1,i=function n(){for(;++a<e.length;)if(r.call(e,a))return n.value=e[a],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}return{next:T}}function T(){return{value:t,done:!0}}return g.prototype=k.constructor=y,y.constructor=g,g.displayName=l(y,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,l(e,u,"GeneratorFunction")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},O(C.prototype),C.prototype[i]=function(){return this},e.AsyncIterator=C,e.async=function(t,n,r,a,o){void 0===o&&(o=Promise);var i=new C(s(t,n,r,a),o);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},O(k),l(k,u,"Generator"),k[o]=function(){return this},k.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=P,F.prototype={constructor:F,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(_),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function a(r,a){return u.type="throw",u.arg=e,n.next=r,a&&(n.method="next",n.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;_(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:P(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=r}catch(a){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){var r=n(47),a=n(48),o=n(49),i=n(50);e.exports=function(e){return r(e)||a(e)||o(e)||i()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(29);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(29);e.exports=function(e,t){if(e){if("string"===typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(52);e.exports=function(e,t){if(null==e)return{};var n,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={overlay:function(e){return{position:"fixed",zIndex:1e3,width:"100%",height:"100%",background:"rgba(0, 0, 0, 0.3)",opacity:e?1:0,MozTransform:e?"":"translate3d(100%, 0, 0)",MsTransform:e?"":"translate3d(100%, 0, 0)",OTransform:e?"":"translate3d(100%, 0, 0)",WebkitTransform:e?"":"translate3d(100%, 0, 0)",transform:e?"":"translate3d(100%, 0, 0)",transition:e?"opacity 0.3s":"opacity 0.3s, transform 0s 0.3s"}},menuWrap:function(e,t,n){return{position:"fixed",right:n?0:"inherit",zIndex:1100,width:t,height:"100%",MozTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:"all 0.5s"}},menu:function(){return{height:"100%",boxSizing:"border-box",overflow:"auto"}},itemList:function(){return{height:"100%"}},item:function(){return{display:"block"}}},e.exports=t.default},function(e,t,n){"use strict";function r(){var e=Array.from(document.getElementsByClassName("bm-item")).shift();e&&e.focus()}function a(){var e=Array.from(document.getElementsByClassName("bm-item")).pop();e&&e.focus()}function o(){var e=document.getElementById("react-burger-cross-btn");e&&e.focus()}function i(e){if(document.activeElement.className.includes("bm-item")){var t=document.activeElement[e];t?t.focus():o()}else"previousElementSibling"===e?a():r()}Object.defineProperty(t,"__esModule",{value:!0}),t.focusOnFirstMenuItem=r,t.focusOnLastMenuItem=a,t.focusOnCrossButton=o,t.focusOnMenuButton=function(){var e=document.getElementById("react-burger-menu-btn");e&&e.focus()},t.focusOnMenuItem=i,t.focusOnNextMenuItem=function(){i("nextElementSibling")},t.focusOnPreviousMenuItem=function(){i("previousElementSibling")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e){return e&&e.__esModule?e:{default:e}}var i=n(1),u=o(i),l=o(n(13)),s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){for(var r=!0;r;){var a=e,o=t,i=n;r=!1,null===a&&(a=Function.prototype);var u=Object.getOwnPropertyDescriptor(a,o);if(void 0!==u){if("value"in u)return u.value;var l=u.get;if(void 0===l)return;return l.call(i)}var s=Object.getPrototypeOf(a);if(null===s)return;e=s,t=o,n=i,r=!0,u=s=void 0}}(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={hover:!1}}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"getLineStyle",value:function(e){return r({position:"absolute",height:"20%",left:0,right:0,top:2*e*20+"%",opacity:this.state.hover?.6:1},this.state.hover&&this.props.styles.bmBurgerBarsHover)}},{key:"render",value:function(){var e=this,t=void 0;if(this.props.customIcon){var n={className:("bm-icon "+(this.props.customIcon.props.className||"")).trim(),style:r({width:"100%",height:"100%"},this.props.styles.bmIcon)};t=u.default.cloneElement(this.props.customIcon,n)}else t=u.default.createElement("span",null,[0,1,2].map((function(t){return u.default.createElement("span",{key:t,className:("bm-burger-bars "+e.props.barClassName+" "+(e.state.hover?"bm-burger-bars-hover":"")).trim(),style:r({},e.getLineStyle(t),e.props.styles.bmBurgerBars)})})));return u.default.createElement("div",{className:("bm-burger-button "+this.props.className).trim(),style:r({zIndex:1e3},this.props.styles.bmBurgerButton)},u.default.createElement("button",{id:"react-burger-menu-btn",onClick:this.props.onClick,onMouseOver:function(){e.setState({hover:!0}),e.props.onIconHoverChange&&e.props.onIconHoverChange({isMouseIn:!0})},onMouseOut:function(){e.setState({hover:!1}),e.props.onIconHoverChange&&e.props.onIconHoverChange({isMouseIn:!1})},style:{position:"absolute",left:0,top:0,zIndex:1,width:"100%",height:"100%",margin:0,padding:0,border:"none",fontSize:0,background:"transparent",cursor:"pointer"}},"Open Menu"),t)}}]),t}(i.Component);t.default=s,s.propTypes={barClassName:l.default.string,customIcon:l.default.element,styles:l.default.object},s.defaultProps={barClassName:"",className:"",styles:{}},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(e,t,n){for(var r=!0;r;){var a=e,o=t,i=n;r=!1,null===a&&(a=Function.prototype);var u=Object.getOwnPropertyDescriptor(a,o);if(void 0!==u){if("value"in u)return u.value;var l=u.get;if(void 0===l)return;return l.call(i)}var s=Object.getPrototypeOf(a);if(null===s)return;e=s,t=o,n=i,r=!0,u=s=void 0}};function i(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var l=n(1),s=i(l),c=i(n(13)),f=function(e){function t(){u(this,t),o(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"getCrossStyle",value:function(e){return{position:"absolute",width:3,height:14,transform:"before"===e?"rotate(45deg)":"rotate(-45deg)"}}},{key:"render",value:function(){var e,t=this;if(this.props.customIcon){var n={className:("bm-cross "+(this.props.customIcon.props.className||"")).trim(),style:r({width:"100%",height:"100%"},this.props.styles.bmCross)};e=s.default.cloneElement(this.props.customIcon,n)}else e=s.default.createElement("span",{style:{position:"absolute",top:"6px",right:"14px"}},["before","after"].map((function(e,n){return s.default.createElement("span",{key:n,className:("bm-cross "+t.props.crossClassName).trim(),style:r({},t.getCrossStyle(e),t.props.styles.bmCross)})})));return s.default.createElement("div",{className:("bm-cross-button "+this.props.className).trim(),style:r({},{position:"absolute",width:24,height:24,right:8,top:8},this.props.styles.bmCrossButton)},s.default.createElement("button",{id:"react-burger-cross-btn",onClick:this.props.onClick,style:{position:"absolute",left:0,top:0,zIndex:1,width:"100%",height:"100%",margin:0,padding:0,border:"none",fontSize:0,background:"transparent",cursor:"pointer"},tabIndex:this.props.isOpen?0:-1},"Close Menu"),e)}}]),t}(l.Component);t.default=f,f.propTypes={crossClassName:c.default.string,customIcon:c.default.element,isOpen:c.default.bool,styles:c.default.object},f.defaultProps={crossClassName:"",className:"",styles:{},isOpen:!1},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({menuWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",MsTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",OTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",transform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",transition:e?"transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)":"transform 0.4s cubic-bezier(0.7, 0, 0.3, 1)"}},item:function(e,t,n,r){return{MozTransform:e?"":"translate3d(0, "+500*r+"px, 0)",MsTransform:e?"":"translate3d(0, "+500*r+"px, 0)",OTransform:e?"":"translate3d(0, "+500*r+"px, 0)",WebkitTransform:e?"":"translate3d(0, "+500*r+"px, 0)",transform:e?"":"translate3d(0, "+500*r+"px, 0)",transition:e?"transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)":"transform 0s 0.2s cubic-bezier(0.7, 0, 0.3, 1)"}}}),e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(30)),o=r(n(12)),i=n(31),u={svg:{lib:a.default,pathInitial:"M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z",pathOpen:"M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z",animate:function(e){e.animate({path:this.pathOpen},400,window.mina.easeinout)}},morphShape:function(e,t,n){return{position:"absolute",width:120,height:"100%",right:n?"inherit":0,left:n?0:"inherit",MozTransform:n?"rotateY(180deg)":"",MsTransform:n?"rotateY(180deg)":"",OTransform:n?"rotateY(180deg)":"",WebkitTransform:n?"rotateY(180deg)":"",transform:n?"rotateY(180deg)":""}},menuWrap:function(e,t,n){return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:"all 0.3s"}},menu:function(e,t,n){return{position:"fixed",right:n?0:"inherit",width:(0,i.pxToNum)(t)-120,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"visible"}},itemList:function(e,t,n){if(n)return{position:"relative",left:"-110px",width:"170%",overflow:"auto"}},pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",MsTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",OTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",WebkitTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",transform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",transition:e?"all 0.3s":"all 0.3s 0.1s"}},outerContainer:function(e){return{overflow:e?"":"hidden"}}};t.default=(0,o.default)(u),e.exports=t.default},function(e,t,n){window.eve=n(64);var r=function(e){var t,n={},r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return setTimeout(e,16,(new Date).getTime()),!0},a=Array.isArray||function(e){return e instanceof Array||"[object Array]"==Object.prototype.toString.call(e)},o=0,i="M"+(+new Date).toString(36),u=Date.now||function(){return+new Date},l=function(e){var t=this;if(null==e)return t.s;var n=t.s-e;t.b+=t.dur*n,t.B+=t.dur*n,t.s=e},s=function(e){if(null==e)return this.spd;this.spd=e},c=function(e){var t=this;if(null==e)return t.dur;t.s=t.s*e/t.dur,t.dur=e},f=function(){var t=this;delete n[t.id],t.update(),e("mina.stop."+t.id,t)},d=function(){var e=this;e.pdif||(delete n[e.id],e.update(),e.pdif=e.get()-e.b)},p=function(){var e=this;e.pdif&&(e.b=e.get()-e.pdif,delete e.pdif,n[e.id]=e,m())},h=function(){var e,t=this;if(a(t.start)){e=[];for(var n=0,r=t.start.length;n<r;n++)e[n]=+t.start[n]+(t.end[n]-t.start[n])*t.easing(t.s)}else e=+t.start+(t.end-t.start)*t.easing(t.s);t.set(e)},m=function a(o){if(o){var i=0;for(var u in n)if(n.hasOwnProperty(u)){var l=n[u],s=l.get();i++,l.s=(s-l.b)/(l.dur/l.spd),l.s>=1&&(delete n[u],l.s=1,i--,function(t){setTimeout((function(){e("mina.finish."+t.id,t)}))}(l)),l.update()}t=!!i&&r(a)}else t||(t=r(a))},v=function e(t,r,a,u,v,g,y){var b={id:i+(o++).toString(36),start:t,end:r,b:a,s:0,dur:u-a,spd:1,get:v,set:g,easing:y||e.linear,status:l,speed:s,duration:c,stop:f,pause:d,resume:p,update:h};n[b.id]=b;var x,w=0;for(x in n)if(n.hasOwnProperty(x)&&2==++w)break;return 1==w&&m(),b};return v.time=u,v.getById=function(e){return n[e]||null},v.linear=function(e){return e},v.easeout=function(e){return Math.pow(e,1.7)},v.easein=function(e){return Math.pow(e,.48)},v.easeinout=function(e){if(1==e)return 1;if(0==e)return 0;var t=.48-e/1.04,n=Math.sqrt(.1734+t*t),r=n-t,a=-n-t,o=Math.pow(Math.abs(r),1/3)*(r<0?-1:1)+Math.pow(Math.abs(a),1/3)*(a<0?-1:1)+.5;return 3*(1-o)*o*o+o*o*o},v.backin=function(e){if(1==e)return 1;var t=1.70158;return e*e*((t+1)*e-t)},v.backout=function(e){if(0==e)return 0;var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},v.elastic=function(e){return e==!!e?e:Math.pow(2,-10*e)*Math.sin((e-.075)*(2*Math.PI)/.3)+1},v.bounce=function(e){var t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},window.mina=v,v}("undefined"==typeof eve?function(){}:eve),a=function(e){function t(e,r){if(e){if(e.nodeType)return W(e);if(_(e,"array")&&t.set)return t.set.apply(t,e);if(e instanceof V)return e;if(null==r)try{return W(e=n.doc.querySelector(String(e)))}catch(a){return null}}return new H(e=null==e?"100%":e,r=null==r?"100%":r)}t.version="0.5.1",t.toString=function(){return"Snap v"+this.version},t._={};var n={win:e.window,doc:e.window.document};t._.glob=n;var r="hasOwnProperty",a=String,o=parseFloat,i=parseInt,u=Math,l=u.max,s=u.min,c=u.abs,f=(u.pow,u.PI),d=(u.round,Object.prototype.toString),p=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i,h=(t._.separator=/[,\s]+/,/[\s]*,[\s]*/),m={hs:1,rg:1},v=/([a-z])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi,y=/([rstm])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi,b=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\s]*,?[\s]*/gi,x=0,w="S"+(+new Date).toString(36),k=function(e){return(e&&e.type?e.type:"")+w+(x++).toString(36)},O="http://www.w3.org/1999/xlink",C="http://www.w3.org/2000/svg",S={};t.url=function(e){return"url('#"+e+"')"};function E(e,t){if(t){if("#text"==e&&(e=n.doc.createTextNode(t.text||t["#text"]||"")),"#comment"==e&&(e=n.doc.createComment(t.text||t["#text"]||"")),"string"==typeof e&&(e=E(e)),"string"==typeof t)return 1==e.nodeType?"xlink:"==t.substring(0,6)?e.getAttributeNS(O,t.substring(6)):"xml:"==t.substring(0,4)?e.getAttributeNS(C,t.substring(4)):e.getAttribute(t):"text"==t?e.nodeValue:null;if(1==e.nodeType){for(var o in t)if(t[r](o)){var i=a(t[o]);i?"xlink:"==o.substring(0,6)?e.setAttributeNS(O,o.substring(6),i):"xml:"==o.substring(0,4)?e.setAttributeNS(C,o.substring(4),i):e.setAttribute(o,i):e.removeAttribute(o)}}else"text"in t&&(e.nodeValue=t.text)}else e=n.doc.createElementNS(C,e);return e}function _(e,t){return"finite"==(t=a.prototype.toLowerCase.call(t))?isFinite(e):!("array"!=t||!(e instanceof Array||Array.isArray&&Array.isArray(e)))||("null"==t&&null===e||t==typeof e&&null!==e||"object"==t&&e===Object(e)||d.call(e).slice(8,-1).toLowerCase()==t)}function F(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return e.push(e.splice(n,1)[0])}function P(e,t,n){return function a(){var o=Array.prototype.slice.call(arguments,0),i=o.join("\u2400"),u=a.cache=a.cache||{},l=a.count=a.count||[];return u[r](i)?(F(l,i),n?n(u[i]):u[i]):(l.length>=1e3&&delete u[l.shift()],l.push(i),u[i]=e.apply(t,o),n?n(u[i]):u[i])}}function T(e){return e%360*f/180}t._.$=E,t._.id=k,t.format=function(){var e=/\{([^\}]+)\}/g,t=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;return function(n,r){return a(n).replace(e,(function(e,n){return function(e,n,r){var a=r;return n.replace(t,(function(e,t,n,r,o){t=t||r,a&&(t in a&&(a=a[t]),"function"==typeof a&&o&&(a=a()))})),a=(null==a||a==r?e:a)+""}(e,n,r)}))}}(),t._.clone=function e(t){if("function"==typeof t||Object(t)!==t)return t;var n=new t.constructor;for(var a in t)t[r](a)&&(n[a]=e(t[a]));return n},t._.cacher=P,t.rad=T,t.deg=function(e){return 180*e/f%360},t.sin=function(e){return u.sin(t.rad(e))},t.tan=function(e){return u.tan(t.rad(e))},t.cos=function(e){return u.cos(t.rad(e))},t.asin=function(e){return t.deg(u.asin(e))},t.acos=function(e){return t.deg(u.acos(e))},t.atan=function(e){return t.deg(u.atan(e))},t.atan2=function(e){return t.deg(u.atan2(e))},t.angle=function e(t,n,r,a,o,i){if(null==o){var l=t-r,s=n-a;return l||s?(180+180*u.atan2(-s,-l)/f+360)%360:0}return e(t,n,o,i)-e(r,a,o,i)},t.len=function(e,n,r,a){return Math.sqrt(t.len2(e,n,r,a))},t.len2=function(e,t,n,r){return(e-n)*(e-n)+(t-r)*(t-r)},t.closestPoint=function(e,t,n){function r(e){var r=e.x-t,a=e.y-n;return r*r+a*a}for(var a,o,i,u,l=e.node,s=l.getTotalLength(),c=s/l.pathSegList.numberOfItems*.125,f=1/0,d=0;d<=s;d+=c)(u=r(i=l.getPointAtLength(d)))<f&&(a=i,o=d,f=u);for(c*=.5;c>.5;){var p,h,m,v,g,y;(m=o-c)>=0&&(g=r(p=l.getPointAtLength(m)))<f?(a=p,o=m,f=g):(v=o+c)<=s&&(y=r(h=l.getPointAtLength(v)))<f?(a=h,o=v,f=y):c*=.5}return a={x:a.x,y:a.y,length:o,distance:Math.sqrt(f)}},t.is=_,t.snapTo=function(e,t,n){if(n=_(n,"finite")?n:10,_(e,"array")){for(var r=e.length;r--;)if(c(e[r]-t)<=n)return e[r]}else{var a=t%(e=+e);if(a<n)return t-a;if(a>e-n)return t-a+e}return t},t.getRGB=P((function(e){if(!e||(e=a(e)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:A};if("none"==e)return{r:-1,g:-1,b:-1,hex:"none",toString:A};if(!m[r](e.toLowerCase().substring(0,2))&&"#"!=e.charAt()&&(e=M(e)),!e)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:A};var n,c,f,d,v,g,y=e.match(p);return y?(y[2]&&(f=i(y[2].substring(5),16),c=i(y[2].substring(3,5),16),n=i(y[2].substring(1,3),16)),y[3]&&(f=i((v=y[3].charAt(3))+v,16),c=i((v=y[3].charAt(2))+v,16),n=i((v=y[3].charAt(1))+v,16)),y[4]&&(g=y[4].split(h),n=o(g[0]),"%"==g[0].slice(-1)&&(n*=2.55),c=o(g[1]),"%"==g[1].slice(-1)&&(c*=2.55),f=o(g[2]),"%"==g[2].slice(-1)&&(f*=2.55),"rgba"==y[1].toLowerCase().slice(0,4)&&(d=o(g[3])),g[3]&&"%"==g[3].slice(-1)&&(d/=100)),y[5]?(g=y[5].split(h),n=o(g[0]),"%"==g[0].slice(-1)&&(n/=100),c=o(g[1]),"%"==g[1].slice(-1)&&(c/=100),f=o(g[2]),"%"==g[2].slice(-1)&&(f/=100),("deg"==g[0].slice(-3)||"\xb0"==g[0].slice(-1))&&(n/=360),"hsba"==y[1].toLowerCase().slice(0,4)&&(d=o(g[3])),g[3]&&"%"==g[3].slice(-1)&&(d/=100),t.hsb2rgb(n,c,f,d)):y[6]?(g=y[6].split(h),n=o(g[0]),"%"==g[0].slice(-1)&&(n/=100),c=o(g[1]),"%"==g[1].slice(-1)&&(c/=100),f=o(g[2]),"%"==g[2].slice(-1)&&(f/=100),("deg"==g[0].slice(-3)||"\xb0"==g[0].slice(-1))&&(n/=360),"hsla"==y[1].toLowerCase().slice(0,4)&&(d=o(g[3])),g[3]&&"%"==g[3].slice(-1)&&(d/=100),t.hsl2rgb(n,c,f,d)):(n=s(u.round(n),255),c=s(u.round(c),255),f=s(u.round(f),255),d=s(l(d,0),1),(y={r:n,g:c,b:f,toString:A}).hex="#"+(16777216|f|c<<8|n<<16).toString(16).slice(1),y.opacity=_(d,"finite")?d:1,y)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:A}}),t),t.hsb=P((function(e,n,r){return t.hsb2rgb(e,n,r).hex})),t.hsl=P((function(e,n,r){return t.hsl2rgb(e,n,r).hex})),t.rgb=P((function(e,t,n,r){if(_(r,"finite")){var a=u.round;return"rgba("+[a(e),a(t),a(n),+r.toFixed(2)]+")"}return"#"+(16777216|n|t<<8|e<<16).toString(16).slice(1)}));var M=function(e){var t=n.doc.getElementsByTagName("head")[0]||n.doc.getElementsByTagName("svg")[0],r="rgb(255, 0, 0)";return(M=P((function(e){if("red"==e.toLowerCase())return r;t.style.color=r,t.style.color=e;var a=n.doc.defaultView.getComputedStyle(t,"").getPropertyValue("color");return a==r?null:a})))(e)},j=function(){return"hsb("+[this.h,this.s,this.b]+")"},N=function(){return"hsl("+[this.h,this.s,this.l]+")"},A=function(){return 1==this.opacity||null==this.opacity?this.hex:"rgba("+[this.r,this.g,this.b,this.opacity]+")"},I=function(e,n,r){if(null==n&&_(e,"object")&&"r"in e&&"g"in e&&"b"in e&&(r=e.b,n=e.g,e=e.r),null==n&&_(e,string)){var a=t.getRGB(e);e=a.r,n=a.g,r=a.b}return(e>1||n>1||r>1)&&(e/=255,n/=255,r/=255),[e,n,r]},L=function(e,n,r,a){var o={r:e=u.round(255*e),g:n=u.round(255*n),b:r=u.round(255*r),opacity:_(a,"finite")?a:1,hex:t.rgb(e,n,r),toString:A};return _(a,"finite")&&(o.opacity=a),o};t.color=function(e){var n;return _(e,"object")&&"h"in e&&"s"in e&&"b"in e?(n=t.hsb2rgb(e),e.r=n.r,e.g=n.g,e.b=n.b,e.opacity=1,e.hex=n.hex):_(e,"object")&&"h"in e&&"s"in e&&"l"in e?(n=t.hsl2rgb(e),e.r=n.r,e.g=n.g,e.b=n.b,e.opacity=1,e.hex=n.hex):(_(e,"string")&&(e=t.getRGB(e)),_(e,"object")&&"r"in e&&"g"in e&&"b"in e&&!("error"in e)?(n=t.rgb2hsl(e),e.h=n.h,e.s=n.s,e.l=n.l,n=t.rgb2hsb(e),e.v=n.b):((e={hex:"none"}).r=e.g=e.b=e.h=e.s=e.v=e.l=-1,e.error=1)),e.toString=A,e},t.hsb2rgb=function(e,t,n,r){var a,o,i,u,l;return _(e,"object")&&"h"in e&&"s"in e&&"b"in e&&(n=e.b,t=e.s,r=e.o,e=e.h),u=(l=n*t)*(1-c((e=(e*=360)%360/60)%2-1)),a=o=i=n-l,L(a+=[l,u,0,0,u,l][e=~~e],o+=[u,l,l,u,0,0][e],i+=[0,0,u,l,l,u][e],r)},t.hsl2rgb=function(e,t,n,r){var a,o,i,u,l;return _(e,"object")&&"h"in e&&"s"in e&&"l"in e&&(n=e.l,t=e.s,e=e.h),(e>1||t>1||n>1)&&(e/=360,t/=100,n/=100),u=(l=2*t*(n<.5?n:1-n))*(1-c((e=(e*=360)%360/60)%2-1)),a=o=i=n-l/2,L(a+=[l,u,0,0,u,l][e=~~e],o+=[u,l,l,u,0,0][e],i+=[0,0,u,l,l,u][e],r)},t.rgb2hsb=function(e,t,n){var r,a;return e=(n=I(e,t,n))[0],t=n[1],n=n[2],{h:((0==(a=(r=l(e,t,n))-s(e,t,n))?null:r==e?(t-n)/a:r==t?(n-e)/a+2:(e-t)/a+4)+360)%6*60/360,s:0==a?0:a/r,b:r,toString:j}},t.rgb2hsl=function(e,t,n){var r,a,o,i;return e=(n=I(e,t,n))[0],t=n[1],n=n[2],r=((a=l(e,t,n))+(o=s(e,t,n)))/2,{h:((0==(i=a-o)?null:a==e?(t-n)/i:a==t?(n-e)/i+2:(e-t)/i+4)+360)%6*60/360,s:0==i?0:r<.5?i/(2*r):i/(2-2*r),l:r,toString:N}},t.parsePathString=function(e){if(!e)return null;var n=t.path(e);if(n.arr)return t.path.clone(n.arr);var r={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},o=[];return _(e,"array")&&_(e[0],"array")&&(o=t.path.clone(e)),o.length||a(e).replace(v,(function(e,t,n){var a=[],i=t.toLowerCase();if(n.replace(b,(function(e,t){t&&a.push(+t)})),"m"==i&&a.length>2&&(o.push([t].concat(a.splice(0,2))),i="l",t="m"==t?"l":"L"),"o"==i&&1==a.length&&o.push([t,a[0]]),"r"==i)o.push([t].concat(a));else for(;a.length>=r[i]&&(o.push([t].concat(a.splice(0,r[i]))),r[i]););})),o.toString=t.path.toString,n.arr=t.path.clone(o),o};var D=t.parseTransformString=function(e){if(!e)return null;var n=[];return _(e,"array")&&_(e[0],"array")&&(n=t.path.clone(e)),n.length||a(e).replace(y,(function(e,t,r){var a=[];t.toLowerCase();r.replace(b,(function(e,t){t&&a.push(+t)})),n.push([t].concat(a))})),n.toString=t.path.toString,n};t._.svgTransform2string=function(e){var t=[];return e=e.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g,(function(e,n,r){return r=r.split(/\s*,\s*|\s+/),"rotate"==n&&1==r.length&&r.push(0,0),"scale"==n&&(r.length>2?r=r.slice(0,2):2==r.length&&r.push(0,0),1==r.length&&r.push(r[0],0,0)),"skewX"==n?t.push(["m",1,0,u.tan(T(r[0])),1,0,0]):"skewY"==n?t.push(["m",1,u.tan(T(r[0])),0,1,0,0]):t.push([n.charAt(0)].concat(r)),e})),t},t._.rgTransform=/^[a-z][\s]*-?\.?\d/i,t._.transform2matrix=function(e,n){var r=D(e),o=new t.Matrix;if(r)for(var i=0,u=r.length;i<u;i++){var l,s,c,f,d,p=r[i],h=p.length,m=a(p[0]).toLowerCase(),v=p[0]!=m,g=v?o.invert():0;"t"==m&&2==h?o.translate(p[1],0):"t"==m&&3==h?v?(l=g.x(0,0),s=g.y(0,0),c=g.x(p[1],p[2]),f=g.y(p[1],p[2]),o.translate(c-l,f-s)):o.translate(p[1],p[2]):"r"==m?2==h?(d=d||n,o.rotate(p[1],d.x+d.width/2,d.y+d.height/2)):4==h&&(v?(c=g.x(p[2],p[3]),f=g.y(p[2],p[3]),o.rotate(p[1],c,f)):o.rotate(p[1],p[2],p[3])):"s"==m?2==h||3==h?(d=d||n,o.scale(p[1],p[h-1],d.x+d.width/2,d.y+d.height/2)):4==h?v?(c=g.x(p[2],p[3]),f=g.y(p[2],p[3]),o.scale(p[1],p[1],c,f)):o.scale(p[1],p[1],p[2],p[3]):5==h&&(v?(c=g.x(p[3],p[4]),f=g.y(p[3],p[4]),o.scale(p[1],p[2],c,f)):o.scale(p[1],p[2],p[3],p[4])):"m"==m&&7==h&&o.add(p[1],p[2],p[3],p[4],p[5],p[6])}return o},t._unit2px=function(e,t,n){var r=R(e).node,a={},o=r.querySelector(".svg---mgr");o||(o=E("rect"),E(o,{x:-9e9,y:-9e9,width:10,height:10,class:"svg---mgr",fill:"none"}),r.appendChild(o));function i(e){if(null==e)return"";if(e==+e)return e;E(o,{width:e});try{return o.getBBox().width}catch(t){return 0}}function u(e){if(null==e)return"";if(e==+e)return e;E(o,{height:e});try{return o.getBBox().height}catch(t){return 0}}function l(r,o){null==t?a[r]=o(e.attr(r)||0):r==t&&(a=o(null==n?e.attr(r)||0:n))}switch(e.type){case"rect":l("rx",i),l("ry",u);case"image":l("width",i),l("height",u);case"text":l("x",i),l("y",u);break;case"circle":l("cx",i),l("cy",u),l("r",i);break;case"ellipse":l("cx",i),l("cy",u),l("rx",i),l("ry",u);break;case"line":l("x1",i),l("x2",i),l("y1",u),l("y2",u);break;case"marker":l("refX",i),l("markerWidth",i),l("refY",u),l("markerHeight",u);break;case"radialGradient":l("fx",i),l("fy",u);break;case"tspan":l("dx",i),l("dy",u);break;default:l(t,i)}return r.removeChild(o),a};n.doc.contains||n.doc.compareDocumentPosition;function R(e){return e.node.ownerSVGElement&&W(e.node.ownerSVGElement)||t.select("svg")}function z(e){_(e,"array")||(e=Array.prototype.slice.call(arguments,0));for(var t=0,n=0,r=this.node;this[t];)delete this[t++];for(t=0;t<e.length;t++)"set"==e[t].type?e[t].forEach((function(e){r.appendChild(e.node)})):r.appendChild(e[t].node);var a=r.childNodes;for(t=0;t<a.length;t++)this[n++]=W(a[t]);return this}function V(e){if(e.snap in S)return S[e.snap];var t;try{t=e.ownerSVGElement}catch(o){}this.node=e,t&&(this.paper=new H(t)),this.type=e.tagName||e.nodeName;var n=this.id=k(this);if(this.anims={},this._={transform:[]},e.snap=n,S[n]=this,"g"==this.type&&(this.add=z),this.type in{g:1,mask:1,pattern:1,symbol:1})for(var a in H.prototype)H.prototype[r](a)&&(this[a]=H.prototype[a])}function B(e){this.node=e}function U(e,t){var n=E(e);return t.appendChild(n),W(n)}function H(e,t){var a,o,i,u=H.prototype;if(e&&e.tagName&&"svg"==e.tagName.toLowerCase()){if(e.snap in S)return S[e.snap];var l=e.ownerDocument;for(var s in a=new V(e),o=e.getElementsByTagName("desc")[0],i=e.getElementsByTagName("defs")[0],o||((o=E("desc")).appendChild(l.createTextNode("Created with Snap")),a.node.appendChild(o)),i||(i=E("defs"),a.node.appendChild(i)),a.defs=i,u)u[r](s)&&(a[s]=u[s]);a.paper=a.root=a}else E((a=U("svg",n.doc.body)).node,{height:t,version:1.1,width:e,xmlns:C});return a}function W(e){return e?e instanceof V||e instanceof B?e:e.tagName&&"svg"==e.tagName.toLowerCase()?new H(e):e.tagName&&"object"==e.tagName.toLowerCase()&&"image/svg+xml"==e.type?new H(e.contentDocument.getElementsByTagName("svg")[0]):new V(e):e}function $(e,t){for(var n=0,r=e.length;n<r;n++){var a={type:e[n].type,attr:e[n].attr()},o=e[n].children();t.push(a),o.length&&$(o,a.childNodes=[])}}t._.getSomeDefs=function(e){var n=e.node.ownerSVGElement&&W(e.node.ownerSVGElement)||e.node.parentNode&&W(e.node.parentNode)||t.select("svg")||t(0,0),r=n.select("defs"),a=null!=r&&r.node;return a||(a=U("defs",n.node).node),a},t._.getSomeSVG=R,t.select=function(e){return e=a(e).replace(/([^\\]):/g,"$1\\:"),W(n.doc.querySelector(e))},t.selectAll=function(e){for(var r=n.doc.querySelectorAll(e),a=(t.set||Array)(),o=0;o<r.length;o++)a.push(W(r[o]));return a},setInterval((function(){for(var e in S)if(S[r](e)){var t=S[e],n=t.node;("svg"!=t.type&&!n.ownerSVGElement||"svg"==t.type&&(!n.parentNode||"ownerSVGElement"in n.parentNode&&!n.ownerSVGElement))&&delete S[e]}}),1e4),V.prototype.attr=function(e,t){var n=this,a=n.node;if(!e){if(1!=a.nodeType)return{text:a.nodeValue};for(var o=a.attributes,i={},u=0,l=o.length;u<l;u++)i[o[u].nodeName]=o[u].nodeValue;return i}if(_(e,"string")){if(!(arguments.length>1))return eve("snap.util.getattr."+e,n).firstDefined();var s={};s[e]=t,e=s}for(var c in e)e[r](c)&&eve("snap.util.attr."+c,n,e[c]);return n},t.parse=function(e){var t=n.doc.createDocumentFragment(),r=!0,o=n.doc.createElement("div");if((e=a(e)).match(/^\s*<\s*svg(?:\s|>)/)||(e="<svg>"+e+"</svg>",r=!1),o.innerHTML=e,e=o.getElementsByTagName("svg")[0])if(r)t=e;else for(;e.firstChild;)t.appendChild(e.firstChild);return new B(t)},t.fragment=function(){for(var e=Array.prototype.slice.call(arguments,0),r=n.doc.createDocumentFragment(),a=0,o=e.length;a<o;a++){var i=e[a];i.node&&i.node.nodeType&&r.appendChild(i.node),i.nodeType&&r.appendChild(i),"string"==typeof i&&r.appendChild(t.parse(i).node)}return new B(r)},t._.make=U,t._.wrap=W,H.prototype.el=function(e,t){var n=U(e,this.node);return t&&n.attr(t),n},V.prototype.children=function(){for(var e=[],n=this.node.childNodes,r=0,a=n.length;r<a;r++)e[r]=t(n[r]);return e},V.prototype.toJSON=function(){var e=[];return $([this],e),e[0]},eve.on("snap.util.getattr",(function(){var e=eve.nt(),t=(e=e.substring(e.lastIndexOf(".")+1)).replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));return q[r](t)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(t):E(this.node,e)}));var q={"alignment-baseline":0,"baseline-shift":0,clip:0,"clip-path":0,"clip-rule":0,color:0,"color-interpolation":0,"color-interpolation-filters":0,"color-profile":0,"color-rendering":0,cursor:0,direction:0,display:0,"dominant-baseline":0,"enable-background":0,fill:0,"fill-opacity":0,"fill-rule":0,filter:0,"flood-color":0,"flood-opacity":0,font:0,"font-family":0,"font-size":0,"font-size-adjust":0,"font-stretch":0,"font-style":0,"font-variant":0,"font-weight":0,"glyph-orientation-horizontal":0,"glyph-orientation-vertical":0,"image-rendering":0,kerning:0,"letter-spacing":0,"lighting-color":0,marker:0,"marker-end":0,"marker-mid":0,"marker-start":0,mask:0,opacity:0,overflow:0,"pointer-events":0,"shape-rendering":0,"stop-color":0,"stop-opacity":0,stroke:0,"stroke-dasharray":0,"stroke-dashoffset":0,"stroke-linecap":0,"stroke-linejoin":0,"stroke-miterlimit":0,"stroke-opacity":0,"stroke-width":0,"text-anchor":0,"text-decoration":0,"text-rendering":0,"unicode-bidi":0,visibility:0,"word-spacing":0,"writing-mode":0};eve.on("snap.util.attr",(function(e){var t=eve.nt(),n={};n[t=t.substring(t.lastIndexOf(".")+1)]=e;var a=t.replace(/-(\w)/gi,(function(e,t){return t.toUpperCase()})),o=t.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));q[r](o)?this.node.style[a]=null==e?"":e:E(this.node,n)})),H.prototype,t.ajax=function(e,t,n,r){var a=new XMLHttpRequest,o=k();if(a){if(_(t,"function"))r=n,n=t,t=null;else if(_(t,"object")){var i=[];for(var u in t)t.hasOwnProperty(u)&&i.push(encodeURIComponent(u)+"="+encodeURIComponent(t[u]));t=i.join("&")}return a.open(t?"POST":"GET",e,!0),t&&(a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.setRequestHeader("Content-type","application/x-www-form-urlencoded")),n&&(eve.once("snap.ajax."+o+".0",n),eve.once("snap.ajax."+o+".200",n),eve.once("snap.ajax."+o+".304",n)),a.onreadystatechange=function(){4==a.readyState&&eve("snap.ajax."+o+"."+a.status,r,a)},4==a.readyState?a:(a.send(t),a)}},t.load=function(e,n,r){t.ajax(e,(function(e){var a=t.parse(e.responseText);r?n.call(r,a):n(a)}))};return t.getElementByPoint=function(e,t){this.canvas;var r=n.doc.elementFromPoint(e,t);if(n.win.opera&&"svg"==r.tagName){var a=function(e){var t=e.getBoundingClientRect(),n=e.ownerDocument,r=n.body,a=n.documentElement,o=a.clientTop||r.clientTop||0,i=a.clientLeft||r.clientLeft||0;return{y:t.top+(g.win.pageYOffset||a.scrollTop||r.scrollTop)-o,x:t.left+(g.win.pageXOffset||a.scrollLeft||r.scrollLeft)-i}}(r),o=r.createSVGRect();o.x=e-a.x,o.y=t-a.y,o.width=o.height=1;var i=r.getIntersectionList(o,null);i.length&&(r=i[i.length-1])}return r?W(r):null},t.plugin=function(e){e(t,V,H,n,B)},n.win.Snap=t,t}(window||this);a.plugin((function(e,t,n,r,a){var o=t.prototype,i=e.is,u=String,l=e._unit2px,s=e._.$,c=e._.make,f=e._.getSomeDefs,d="hasOwnProperty",p=e._.wrap;o.getBBox=function(t){if("tspan"==this.type)return e._.box(this.node.getClientRects().item(0));if(!e.Matrix||!e.path)return this.node.getBBox();var n=this,r=new e.Matrix;if(n.removed)return e._.box();for(;"use"==n.type;)if(t||(r=r.add(n.transform().localMatrix.translate(n.attr("x")||0,n.attr("y")||0))),n.original)n=n.original;else{var a=n.attr("xlink:href");n=n.original=n.node.ownerDocument.getElementById(a.substring(a.indexOf("#")+1))}var o=n._,i=e.path.get[n.type]||e.path.get.deflt;try{return t?(o.bboxwt=i?e.path.getBBox(n.realPath=i(n)):e._.box(n.node.getBBox()),e._.box(o.bboxwt)):(n.realPath=i(n),n.matrix=n.transform().localMatrix,o.bbox=e.path.getBBox(e.path.map(n.realPath,r.add(n.matrix))),e._.box(o.bbox))}catch(u){return e._.box()}};var h=function(){return this.string};function m(t,n){if(null==n){var r=!0;if(!(n="linearGradient"==t.type||"radialGradient"==t.type?t.node.getAttribute("gradientTransform"):"pattern"==t.type?t.node.getAttribute("patternTransform"):t.node.getAttribute("transform")))return new e.Matrix;n=e._.svgTransform2string(n)}else n=e._.rgTransform.test(n)?u(n).replace(/\.{3}|\u2026/g,t._.transform||""):e._.svgTransform2string(n),i(n,"array")&&(n=e.path?e.path.toString.call(n):u(n)),t._.transform=n;var a=e._.transform2matrix(n,t.getBBox(1));if(r)return a;t.matrix=a}o.transform=function(t){var n=this._;if(null==t){for(var r,a=this,o=new e.Matrix(this.node.getCTM()),i=m(this),l=[i],c=new e.Matrix,f=i.toTransformString(),d=u(i)==u(this.matrix)?u(n.transform):f;"svg"!=a.type&&(a=a.parent());)l.push(m(a));for(r=l.length;r--;)c.add(l[r]);return{string:d,globalMatrix:o,totalMatrix:c,localMatrix:i,diffMatrix:o.clone().add(i.invert()),global:o.toTransformString(),total:c.toTransformString(),local:f,toString:h}}return t instanceof e.Matrix?(this.matrix=t,this._.transform=t.toTransformString()):m(this,t),this.node&&("linearGradient"==this.type||"radialGradient"==this.type?s(this.node,{gradientTransform:this.matrix}):"pattern"==this.type?s(this.node,{patternTransform:this.matrix}):s(this.node,{transform:this.matrix})),this},o.parent=function(){return p(this.node.parentNode)},o.append=o.add=function(e){if(e){if("set"==e.type){var t=this;return e.forEach((function(e){t.add(e)})),this}e=p(e),this.node.appendChild(e.node),e.paper=this.paper}return this},o.appendTo=function(e){return e&&(e=p(e)).append(this),this},o.prepend=function(e){if(e){if("set"==e.type){var t,n=this;return e.forEach((function(e){t?t.after(e):n.prepend(e),t=e})),this}var r=(e=p(e)).parent();this.node.insertBefore(e.node,this.node.firstChild),this.add&&this.add(),e.paper=this.paper,this.parent()&&this.parent().add(),r&&r.add()}return this},o.prependTo=function(e){return(e=p(e)).prepend(this),this},o.before=function(e){if("set"==e.type){var t=this;return e.forEach((function(e){var n=e.parent();t.node.parentNode.insertBefore(e.node,t.node),n&&n.add()})),this.parent().add(),this}var n=(e=p(e)).parent();return this.node.parentNode.insertBefore(e.node,this.node),this.parent()&&this.parent().add(),n&&n.add(),e.paper=this.paper,this},o.after=function(e){var t=(e=p(e)).parent();return this.node.nextSibling?this.node.parentNode.insertBefore(e.node,this.node.nextSibling):this.node.parentNode.appendChild(e.node),this.parent()&&this.parent().add(),t&&t.add(),e.paper=this.paper,this},o.insertBefore=function(e){e=p(e);var t=this.parent();return e.node.parentNode.insertBefore(this.node,e.node),this.paper=e.paper,t&&t.add(),e.parent()&&e.parent().add(),this},o.insertAfter=function(e){e=p(e);var t=this.parent();return e.node.parentNode.insertBefore(this.node,e.node.nextSibling),this.paper=e.paper,t&&t.add(),e.parent()&&e.parent().add(),this},o.remove=function(){var e=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,e&&e.add(),this},o.select=function(e){return p(this.node.querySelector(e))},o.selectAll=function(t){for(var n=this.node.querySelectorAll(t),r=(e.set||Array)(),a=0;a<n.length;a++)r.push(p(n[a]));return r},o.asPX=function(e,t){return null==t&&(t=this.attr(e)),+l(this,e,t)},o.use=function(){var e,t=this.node.id;return t||(t=this.id,s(this.node,{id:t})),e="linearGradient"==this.type||"radialGradient"==this.type||"pattern"==this.type?c(this.type,this.node.parentNode):c("use",this.node.parentNode),s(e.node,{"xlink:href":"#"+t}),e.original=this,e},o.clone=function(){var t=p(this.node.cloneNode(!0));return s(t.node,"id")&&s(t.node,{id:t.id}),function(t){var n,r=t.selectAll("*"),a=/^\s*url\(("|'|)(.*)\1\)\s*$/,o=[],i={};function u(t,n){var r=s(t.node,n);(r=(r=r&&r.match(a))&&r[2])&&"#"==r.charAt()&&(r=r.substring(1))&&(i[r]=(i[r]||[]).concat((function(r){var a={};a[n]=e.url(r),s(t.node,a)})))}function l(e){var t=s(e.node,"xlink:href");t&&"#"==t.charAt()&&(t=t.substring(1))&&(i[t]=(i[t]||[]).concat((function(t){e.attr("xlink:href","#"+t)})))}for(var c=0,f=r.length;c<f;c++){u(n=r[c],"fill"),u(n,"stroke"),u(n,"filter"),u(n,"mask"),u(n,"clip-path"),l(n);var d=s(n.node,"id");d&&(s(n.node,{id:n.id}),o.push({old:d,id:n.id}))}for(c=0,f=o.length;c<f;c++){var p=i[o[c].old];if(p)for(var h=0,m=p.length;h<m;h++)p[h](o[c].id)}}(t),t.insertAfter(this),t},o.toDefs=function(){return f(this).appendChild(this.node),this},o.pattern=o.toPattern=function(e,t,n,r){var a=c("pattern",f(this));return null==e&&(e=this.getBBox()),i(e,"object")&&"x"in e&&(t=e.y,n=e.width,r=e.height,e=e.x),s(a.node,{x:e,y:t,width:n,height:r,patternUnits:"userSpaceOnUse",id:a.id,viewBox:[e,t,n,r].join(" ")}),a.node.appendChild(this.node),a},o.marker=function(e,t,n,r,a,o){var u=c("marker",f(this));return null==e&&(e=this.getBBox()),i(e,"object")&&"x"in e&&(t=e.y,n=e.width,r=e.height,a=e.refX||e.cx,o=e.refY||e.cy,e=e.x),s(u.node,{viewBox:[e,t,n,r].join(" "),markerWidth:n,markerHeight:r,orient:"auto",refX:a||0,refY:o||0,id:u.id}),u.node.appendChild(this.node),u};var v={};function g(e){return function(){var t=e?"<"+this.type:"",n=this.node.attributes,r=this.node.childNodes;if(e)for(var a=0,o=n.length;a<o;a++)t+=" "+n[a].name+'="'+n[a].value.replace(/"/g,'\\"')+'"';if(r.length){for(e&&(t+=">"),a=0,o=r.length;a<o;a++)3==r[a].nodeType?t+=r[a].nodeValue:1==r[a].nodeType&&(t+=p(r[a]).toString());e&&(t+="</"+this.type+">")}else e&&(t+="/>");return t}}o.data=function(t,n){var r=v[this.id]=v[this.id]||{};if(0==arguments.length)return eve("snap.data.get."+this.id,this,r,null),r;if(1==arguments.length){if(e.is(t,"object")){for(var a in t)t[d](a)&&this.data(a,t[a]);return this}return eve("snap.data.get."+this.id,this,r[t],t),r[t]}return r[t]=n,eve("snap.data.set."+this.id,this,n,t),this},o.removeData=function(e){return null==e?v[this.id]={}:v[this.id]&&delete v[this.id][e],this},o.outerSVG=o.toString=g(1),o.innerSVG=g(),o.toDataURL=function(){if(window&&window.btoa){var t=this.getBBox(),n=e.format('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}" viewBox="{x} {y} {width} {height}">{contents}</svg>',{x:+t.x.toFixed(3),y:+t.y.toFixed(3),width:+t.width.toFixed(3),height:+t.height.toFixed(3),contents:this.outerSVG()});return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(n)))}},a.prototype.select=o.select,a.prototype.selectAll=o.selectAll})),a.plugin((function(e,t,n,r,a){var o=Object.prototype.toString,i=String,u=Math;function l(e,t,n,r,a,i){if(null==t&&"[object SVGMatrix]"==o.call(e))return this.a=e.a,this.b=e.b,this.c=e.c,this.d=e.d,this.e=e.e,void(this.f=e.f);null!=e?(this.a=+e,this.b=+t,this.c=+n,this.d=+r,this.e=+a,this.f=+i):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}!function(t){function n(e){return e[0]*e[0]+e[1]*e[1]}function r(e){var t=u.sqrt(n(e));e[0]&&(e[0]/=t),e[1]&&(e[1]/=t)}t.add=function(e,t,n,r,a,o){if(e&&e instanceof l)return this.add(e.a,e.b,e.c,e.d,e.e,e.f);var i=e*this.a+t*this.c,u=e*this.b+t*this.d;return this.e+=a*this.a+o*this.c,this.f+=a*this.b+o*this.d,this.c=n*this.a+r*this.c,this.d=n*this.b+r*this.d,this.a=i,this.b=u,this},l.prototype.multLeft=function(e,t,n,r,a,o){if(e&&e instanceof l)return this.multLeft(e.a,e.b,e.c,e.d,e.e,e.f);var i=e*this.a+n*this.b,u=e*this.c+n*this.d,s=e*this.e+n*this.f+a;return this.b=t*this.a+r*this.b,this.d=t*this.c+r*this.d,this.f=t*this.e+r*this.f+o,this.a=i,this.c=u,this.e=s,this},t.invert=function(){var e=this,t=e.a*e.d-e.b*e.c;return new l(e.d/t,-e.b/t,-e.c/t,e.a/t,(e.c*e.f-e.d*e.e)/t,(e.b*e.e-e.a*e.f)/t)},t.clone=function(){return new l(this.a,this.b,this.c,this.d,this.e,this.f)},t.translate=function(e,t){return this.e+=e*this.a+t*this.c,this.f+=e*this.b+t*this.d,this},t.scale=function(e,t,n,r){return null==t&&(t=e),(n||r)&&this.translate(n,r),this.a*=e,this.b*=e,this.c*=t,this.d*=t,(n||r)&&this.translate(-n,-r),this},t.rotate=function(t,n,r){t=e.rad(t),n=n||0,r=r||0;var a=+u.cos(t).toFixed(9),o=+u.sin(t).toFixed(9);return this.add(a,o,-o,a,n,r),this.add(1,0,0,1,-n,-r)},t.skewX=function(e){return this.skew(e,0)},t.skewY=function(e){return this.skew(0,e)},t.skew=function(t,n){t=t||0,n=n||0,t=e.rad(t),n=e.rad(n);var r=u.tan(t).toFixed(9),a=u.tan(n).toFixed(9);return this.add(1,a,r,1,0,0)},t.x=function(e,t){return e*this.a+t*this.c+this.e},t.y=function(e,t){return e*this.b+t*this.d+this.f},t.get=function(e){return+this[i.fromCharCode(97+e)].toFixed(4)},t.toString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"},t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},t.determinant=function(){return this.a*this.d-this.b*this.c},t.split=function(){var t={};t.dx=this.e,t.dy=this.f;var a=[[this.a,this.b],[this.c,this.d]];t.scalex=u.sqrt(n(a[0])),r(a[0]),t.shear=a[0][0]*a[1][0]+a[0][1]*a[1][1],a[1]=[a[1][0]-a[0][0]*t.shear,a[1][1]-a[0][1]*t.shear],t.scaley=u.sqrt(n(a[1])),r(a[1]),t.shear/=t.scaley,this.determinant()<0&&(t.scalex=-t.scalex);var o=a[0][1],i=a[1][1];return i<0?(t.rotate=e.deg(u.acos(i)),o<0&&(t.rotate=360-t.rotate)):t.rotate=e.deg(u.asin(o)),t.isSimple=!+t.shear.toFixed(9)&&(t.scalex.toFixed(9)==t.scaley.toFixed(9)||!t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t},t.toTransformString=function(e){var t=e||this.split();return+t.shear.toFixed(9)?"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(t.scalex=+t.scalex.toFixed(4),t.scaley=+t.scaley.toFixed(4),t.rotate=+t.rotate.toFixed(4),(t.dx||t.dy?"t"+[+t.dx.toFixed(4),+t.dy.toFixed(4)]:"")+(t.rotate?"r"+[+t.rotate.toFixed(4),0,0]:"")+(1!=t.scalex||1!=t.scaley?"s"+[t.scalex,t.scaley,0,0]:""))}}(l.prototype),e.Matrix=l,e.matrix=function(e,t,n,r,a,o){return new l(e,t,n,r,a,o)}})),a.plugin((function(e,t,n,r,a){var o,i=e._.make,u=e._.wrap,l=e.is,s=e._.getSomeDefs,c=/^url\((['"]?)([^)]+)\1\)$/,f=e._.$,d=e.url,p=String,h=e._.separator;function m(n){return function(r){if(eve.stop(),r instanceof a&&1==r.node.childNodes.length&&("radialGradient"==r.node.firstChild.tagName||"linearGradient"==r.node.firstChild.tagName||"pattern"==r.node.firstChild.tagName)&&(r=r.node.firstChild,s(this).appendChild(r),r=u(r)),r instanceof t)if("radialGradient"==r.type||"linearGradient"==r.type||"pattern"==r.type){r.node.id||f(r.node,{id:r.id});var o=d(r.node.id)}else o=r.attr(n);else if((o=e.color(r)).error){var i=e(s(this).ownerSVGElement).gradient(r);i?(i.node.id||f(i.node,{id:i.id}),o=d(i.node.id)):o=r}else o=p(o);var l={};l[n]=o,f(this.node,l),this.node.style[n]=""}}e.deurl=function(e){var t=String(e).match(c);return t?t[2]:e},eve.on("snap.util.attr.mask",(function(e){if(e instanceof t||e instanceof a){if(eve.stop(),e instanceof a&&1==e.node.childNodes.length&&(e=e.node.firstChild,s(this).appendChild(e),e=u(e)),"mask"==e.type)var n=e;else(n=i("mask",s(this))).node.appendChild(e.node);!n.node.id&&f(n.node,{id:n.id}),f(this.node,{mask:d(n.id)})}})),o=function(e){if(e instanceof t||e instanceof a){eve.stop();for(var n,r=e.node;r;){if("clipPath"===r.nodeName){n=new t(r);break}if("svg"===r.nodeName){n=void 0;break}r=r.parentNode}n||((n=i("clipPath",s(this))).node.appendChild(e.node),!n.node.id&&f(n.node,{id:n.id})),f(this.node,{"clip-path":d(n.node.id||n.id)})}},eve.on("snap.util.attr.clip",o),eve.on("snap.util.attr.clip-path",o),eve.on("snap.util.attr.clipPath",o),eve.on("snap.util.attr.fill",m("fill")),eve.on("snap.util.attr.stroke",m("stroke"));var v=/^([lr])(?:\(([^)]*)\))?(.*)$/i;function g(e){eve.stop(),e==+e&&(e+="px"),this.node.style.fontSize=e}function y(e){for(var t=[],n=e.childNodes,r=0,a=n.length;r<a;r++){var o=n[r];3==o.nodeType&&t.push(o.nodeValue),"tspan"==o.tagName&&(1==o.childNodes.length&&3==o.firstChild.nodeType?t.push(o.firstChild.nodeValue):t.push(y(o)))}return t}function b(){return eve.stop(),this.node.style.fontSize}eve.on("snap.util.grad.parse",(function(e){var t=(e=p(e)).match(v);if(!t)return null;var n=t[1],r=t[2],a=t[3];1==(r=r.split(/\s*,\s*/).map((function(e){return+e==e?+e:e}))).length&&0==r[0]&&(r=[]);var o=(a=(a=a.split("-")).map((function(e){var t={color:(e=e.split(":"))[0]};return e[1]&&(t.offset=parseFloat(e[1])),t}))).length,i=0,u=0;function l(e,t){for(var n=(t-i)/(e-u),r=u;r<e;r++)a[r].offset=+(+i+n*(r-u)).toFixed(2);u=e,i=t}o--;for(var s=0;s<o;s++)"offset"in a[s]&&l(s,a[s].offset);return a[o].offset=a[o].offset||100,l(o,a[o].offset),{type:n,params:r,stops:a}})),eve.on("snap.util.attr.d",(function(t){eve.stop(),l(t,"array")&&l(t[0],"array")&&(t=e.path.toString.call(t)),(t=p(t)).match(/[ruo]/i)&&(t=e.path.toAbsolute(t)),f(this.node,{d:t})}))(-1),eve.on("snap.util.attr.#text",(function(e){eve.stop(),e=p(e);for(var t=r.doc.createTextNode(e);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(t)}))(-1),eve.on("snap.util.attr.path",(function(e){eve.stop(),this.attr({d:e})}))(-1),eve.on("snap.util.attr.class",(function(e){eve.stop(),this.node.className.baseVal=e}))(-1),eve.on("snap.util.attr.viewBox",(function(e){var t;t=l(e,"object")&&"x"in e?[e.x,e.y,e.width,e.height].join(" "):l(e,"array")?e.join(" "):e,f(this.node,{viewBox:t}),eve.stop()}))(-1),eve.on("snap.util.attr.transform",(function(e){this.transform(e),eve.stop()}))(-1),eve.on("snap.util.attr.r",(function(e){"rect"==this.type&&(eve.stop(),f(this.node,{rx:e,ry:e}))}))(-1),eve.on("snap.util.attr.textpath",(function(e){if(eve.stop(),"text"==this.type){var n,r,a;if(!e&&this.textPath){for(r=this.textPath;r.node.firstChild;)this.node.appendChild(r.node.firstChild);return r.remove(),void delete this.textPath}if(l(e,"string")){var o=s(this),i=u(o.parentNode).path(e);o.appendChild(i.node),n=i.id,i.attr({id:n})}else(e=u(e))instanceof t&&((n=e.attr("id"))||(n=e.id,e.attr({id:n})));if(n)if(r=this.textPath,a=this.node,r)r.attr({"xlink:href":"#"+n});else{for(r=f("textPath",{"xlink:href":"#"+n});a.firstChild;)r.appendChild(a.firstChild);a.appendChild(r),this.textPath=u(r)}}}))(-1),eve.on("snap.util.attr.text",(function(e){if("text"==this.type){for(var t=this.node;t.firstChild;)t.removeChild(t.firstChild);for(var n=function e(t){var n=f("tspan");if(l(t,"array"))for(var a=0;a<t.length;a++)n.appendChild(e(t[a]));else n.appendChild(r.doc.createTextNode(t));return n.normalize&&n.normalize(),n}(e);n.firstChild;)t.appendChild(n.firstChild)}eve.stop()}))(-1),eve.on("snap.util.attr.fontSize",g)(-1),eve.on("snap.util.attr.font-size",g)(-1),eve.on("snap.util.getattr.transform",(function(){return eve.stop(),this.transform()}))(-1),eve.on("snap.util.getattr.textpath",(function(){return eve.stop(),this.textPath}))(-1),function(){function t(t){return function(){eve.stop();var n=r.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue("marker-"+t);return"none"==n?n:e(r.doc.getElementById(n.match(c)[1]))}}function n(e){return function(t){eve.stop();var n="marker"+e.charAt(0).toUpperCase()+e.substring(1);if(""!=t&&t){if("marker"==t.type){var r=t.node.id;return r||f(t.node,{id:t.id}),void(this.node.style[n]=d(r))}}else this.node.style[n]="none"}}eve.on("snap.util.getattr.marker-end",t("end"))(-1),eve.on("snap.util.getattr.markerEnd",t("end"))(-1),eve.on("snap.util.getattr.marker-start",t("start"))(-1),eve.on("snap.util.getattr.markerStart",t("start"))(-1),eve.on("snap.util.getattr.marker-mid",t("mid"))(-1),eve.on("snap.util.getattr.markerMid",t("mid"))(-1),eve.on("snap.util.attr.marker-end",n("end"))(-1),eve.on("snap.util.attr.markerEnd",n("end"))(-1),eve.on("snap.util.attr.marker-start",n("start"))(-1),eve.on("snap.util.attr.markerStart",n("start"))(-1),eve.on("snap.util.attr.marker-mid",n("mid"))(-1),eve.on("snap.util.attr.markerMid",n("mid"))(-1)}(),eve.on("snap.util.getattr.r",(function(){if("rect"==this.type&&f(this.node,"rx")==f(this.node,"ry"))return eve.stop(),f(this.node,"rx")}))(-1),eve.on("snap.util.getattr.text",(function(){if("text"==this.type||"tspan"==this.type){eve.stop();var e=y(this.node);return 1==e.length?e[0]:e}}))(-1),eve.on("snap.util.getattr.#text",(function(){return this.node.textContent}))(-1),eve.on("snap.util.getattr.fill",(function(t){if(!t){eve.stop();var n=eve("snap.util.getattr.fill",this,!0).firstDefined();return e(e.deurl(n))||n}}))(-1),eve.on("snap.util.getattr.stroke",(function(t){if(!t){eve.stop();var n=eve("snap.util.getattr.stroke",this,!0).firstDefined();return e(e.deurl(n))||n}}))(-1),eve.on("snap.util.getattr.viewBox",(function(){eve.stop();var t=f(this.node,"viewBox");return t?(t=t.split(h),e._.box(+t[0],+t[1],+t[2],+t[3])):void 0}))(-1),eve.on("snap.util.getattr.points",(function(){var e=f(this.node,"points");return eve.stop(),e?e.split(h):void 0}))(-1),eve.on("snap.util.getattr.path",(function(){var e=f(this.node,"d");return eve.stop(),e}))(-1),eve.on("snap.util.getattr.class",(function(){return this.node.className.baseVal}))(-1),eve.on("snap.util.getattr.fontSize",b)(-1),eve.on("snap.util.getattr.font-size",b)(-1)})),a.plugin((function(e,t,n,r,a){var o=/\S+/g,i=String,u=t.prototype;u.addClass=function(e){var t,n,r,a=i(e||"").match(o)||[],u=this.node,l=u.className.baseVal,s=l.match(o)||[];if(a.length){for(t=0;n=a[t++];)~s.indexOf(n)||s.push(n);l!=(r=s.join(" "))&&(u.className.baseVal=r)}return this},u.removeClass=function(e){var t,n,r,a,u=i(e||"").match(o)||[],l=this.node,s=l.className.baseVal,c=s.match(o)||[];if(c.length){for(t=0;r=u[t++];)~(n=c.indexOf(r))&&c.splice(n,1);s!=(a=c.join(" "))&&(l.className.baseVal=a)}return this},u.hasClass=function(e){return!!~(this.node.className.baseVal.match(o)||[]).indexOf(e)},u.toggleClass=function(e,t){if(null!=t)return t?this.addClass(e):this.removeClass(e);var n,r,a,i,u=(e||"").match(o)||[],l=this.node,s=l.className.baseVal,c=s.match(o)||[];for(n=0;a=u[n++];)~(r=c.indexOf(a))?c.splice(r,1):c.push(a);return s!=(i=c.join(" "))&&(l.className.baseVal=i),this}})),a.plugin((function(e,t,n,r,a){var o={"+":function(e,t){return e+t},"-":function(e,t){return e-t},"/":function(e,t){return e/t},"*":function(e,t){return e*t}},i=String,u=/[a-z]+$/i,l=/^\s*([+\-\/*])\s*=\s*([\d.eE+\-]+)\s*([^\d\s]+)?\s*$/;function s(e){return e}function c(e){return function(t){return+t.toFixed(3)+e}}eve.on("snap.util.attr",(function(e){var t=i(e).match(l);if(t){var n=eve.nt(),r=n.substring(n.lastIndexOf(".")+1),a=this.attr(r),s={};eve.stop();var c=t[3]||"",f=a.match(u),d=o[t[1]];if(f&&f==c?e=d(parseFloat(a),+t[2]):(a=this.asPX(r),e=d(this.asPX(r),this.asPX(r,t[2]+c))),isNaN(a)||isNaN(e))return;s[r]=e,this.attr(s)}}))(-10),eve.on("snap.util.equal",(function(e,t){var n=i(this.attr(e)||""),r=i(t).match(l);if(r){eve.stop();var a=r[3]||"",f=n.match(u),d=o[r[1]];return f&&f==a?{from:parseFloat(n),to:d(parseFloat(n),+r[2]),f:c(f)}:{from:n=this.asPX(e),to:d(n,this.asPX(e,r[2]+a)),f:s}}}))(-10)})),a.plugin((function(e,t,n,r,a){var o=n.prototype,i=e.is;o.rect=function(e,t,n,r,a,o){var u;return null==o&&(o=a),i(e,"object")&&"[object Object]"==e?u=e:null!=e&&(u={x:e,y:t,width:n,height:r},null!=a&&(u.rx=a,u.ry=o)),this.el("rect",u)},o.circle=function(e,t,n){var r;return i(e,"object")&&"[object Object]"==e?r=e:null!=e&&(r={cx:e,cy:t,r:n}),this.el("circle",r)};var u=function(){function e(){this.parentNode.removeChild(this)}return function(t,n){var a=r.doc.createElement("img"),o=r.doc.body;a.style.cssText="position:absolute;left:-9999em;top:-9999em",a.onload=function(){n.call(a),a.onload=a.onerror=null,o.removeChild(a)},a.onerror=e,o.appendChild(a),a.src=t}}();o.image=function(t,n,r,a,o){var l=this.el("image");if(i(t,"object")&&"src"in t)l.attr(t);else if(null!=t){var s={"xlink:href":t,preserveAspectRatio:"none"};null!=n&&null!=r&&(s.x=n,s.y=r),null!=a&&null!=o?(s.width=a,s.height=o):u(t,(function(){e._.$(l.node,{width:this.offsetWidth,height:this.offsetHeight})})),e._.$(l.node,s)}return l},o.ellipse=function(e,t,n,r){var a;return i(e,"object")&&"[object Object]"==e?a=e:null!=e&&(a={cx:e,cy:t,rx:n,ry:r}),this.el("ellipse",a)},o.path=function(e){var t;return i(e,"object")&&!i(e,"array")?t=e:e&&(t={d:e}),this.el("path",t)},o.group=o.g=function(e){var t=this.el("g");return 1==arguments.length&&e&&!e.type?t.attr(e):arguments.length&&t.add(Array.prototype.slice.call(arguments,0)),t},o.svg=function(e,t,n,r,a,o,u,l){var s={};return i(e,"object")&&null==t?s=e:(null!=e&&(s.x=e),null!=t&&(s.y=t),null!=n&&(s.width=n),null!=r&&(s.height=r),null!=a&&null!=o&&null!=u&&null!=l&&(s.viewBox=[a,o,u,l])),this.el("svg",s)},o.mask=function(e){var t=this.el("mask");return 1==arguments.length&&e&&!e.type?t.attr(e):arguments.length&&t.add(Array.prototype.slice.call(arguments,0)),t},o.ptrn=function(e,t,n,r,a,o,u,l){if(i(e,"object"))var s=e;else s={patternUnits:"userSpaceOnUse"},e&&(s.x=e),t&&(s.y=t),null!=n&&(s.width=n),null!=r&&(s.height=r),s.viewBox=null!=a&&null!=o&&null!=u&&null!=l?[a,o,u,l]:[e||0,t||0,n||0,r||0];return this.el("pattern",s)},o.use=function(n){return null!=n?(n instanceof t&&(n.attr("id")||n.attr({id:e._.id(n)}),n=n.attr("id")),"#"==String(n).charAt()&&(n=n.substring(1)),this.el("use",{"xlink:href":"#"+n})):t.prototype.use.call(this)},o.symbol=function(e,t,n,r){var a={};return null!=e&&null!=t&&null!=n&&null!=r&&(a.viewBox=[e,t,n,r]),this.el("symbol",a)},o.text=function(e,t,n){var r={};return i(e,"object")?r=e:null!=e&&(r={x:e,y:t,text:n||""}),this.el("text",r)},o.line=function(e,t,n,r){var a={};return i(e,"object")?a=e:null!=e&&(a={x1:e,x2:n,y1:t,y2:r}),this.el("line",a)},o.polyline=function(e){arguments.length>1&&(e=Array.prototype.slice.call(arguments,0));var t={};return i(e,"object")&&!i(e,"array")?t=e:null!=e&&(t={points:e}),this.el("polyline",t)},o.polygon=function(e){arguments.length>1&&(e=Array.prototype.slice.call(arguments,0));var t={};return i(e,"object")&&!i(e,"array")?t=e:null!=e&&(t={points:e}),this.el("polygon",t)},function(){var t=e._.$;function n(){return this.selectAll("stop")}function r(n,r){var a=t("stop"),o={offset:+r+"%"};n=e.color(n),o["stop-color"]=n.hex,n.opacity<1&&(o["stop-opacity"]=n.opacity),t(a,o);for(var i,u=this.stops(),l=0;l<u.length;l++){if(parseFloat(u[l].attr("offset"))>r){this.node.insertBefore(a,u[l].node),i=!0;break}}return i||this.node.appendChild(a),this}function a(){if("linearGradient"==this.type){var n=t(this.node,"x1")||0,r=t(this.node,"x2")||1,a=t(this.node,"y1")||0,o=t(this.node,"y2")||0;return e._.box(n,a,math.abs(r-n),math.abs(o-a))}var i=this.node.cx||.5,u=this.node.cy||.5,l=this.node.r||0;return e._.box(i-l,u-l,2*l,2*l)}function i(t){var n=t,r=this.stops();if("string"==typeof t&&(n=eve("snap.util.grad.parse",null,"l(0,0,0,1)"+t).firstDefined().stops),e.is(n,"array")){for(var a=0;a<r.length;a++)if(n[a]){var o=e.color(n[a].color),i={offset:n[a].offset+"%"};i["stop-color"]=o.hex,o.opacity<1&&(i["stop-opacity"]=o.opacity),r[a].attr(i)}else r[a].remove();for(a=r.length;a<n.length;a++)this.addStop(n[a].color,n[a].offset);return this}}function u(o,u,l,s,c){var f=e._.make("linearGradient",o);return f.stops=n,f.addStop=r,f.getBBox=a,f.setStops=i,null!=u&&t(f.node,{x1:u,y1:l,x2:s,y2:c}),f}function l(o,i,u,l,s,c){var f=e._.make("radialGradient",o);return f.stops=n,f.addStop=r,f.getBBox=a,null!=i&&t(f.node,{cx:i,cy:u,r:l}),null!=s&&null!=c&&t(f.node,{fx:s,fy:c}),f}o.gradient=function(e){return function(e,n){var r,a=eve("snap.util.grad.parse",null,n).firstDefined();if(!a)return null;a.params.unshift(e),r="l"==a.type.toLowerCase()?u.apply(0,a.params):l.apply(0,a.params),a.type!=a.type.toLowerCase()&&t(r.node,{gradientUnits:"userSpaceOnUse"});for(var o=a.stops,i=o.length,s=0;s<i;s++){var c=o[s];r.addStop(c.color,c.offset)}return r}(this.defs,e)},o.gradientLinear=function(e,t,n,r){return u(this.defs,e,t,n,r)},o.gradientRadial=function(e,t,n,r,a){return l(this.defs,e,t,n,r,a)},o.toString=function(){var t,n=this.node.ownerDocument,r=n.createDocumentFragment(),a=n.createElement("div"),o=this.node.cloneNode(!0);return r.appendChild(a),a.appendChild(o),e._.$(o,{xmlns:"http://www.w3.org/2000/svg"}),t=a.innerHTML,r.removeChild(r.firstChild),t},o.toDataURL=function(){if(window&&window.btoa)return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(this)))},o.clear=function(){for(var e,t=this.node.firstChild;t;)e=t.nextSibling,"defs"!=t.tagName?t.parentNode.removeChild(t):o.clear.call({node:t}),t=e}}()})),a.plugin((function(e,t,n,r){var a=t.prototype,o=e.is,i=e._.clone,u=/,?([a-z]),?/gi,l=parseFloat,s=Math,c=s.PI,f=s.min,d=s.max,p=s.pow,h=s.abs;function m(e){var t=m.ps=m.ps||{};return t[e]?t[e].sleep=100:t[e]={sleep:100},setTimeout((function(){for(var n in t)t.hasOwnProperty(n)&&n!=e&&(t[n].sleep--,!t[n].sleep&&delete t[n])})),t[e]}function v(e,t,n,r){return null==e&&(e=t=n=r=0),null==t&&(t=e.y,n=e.width,r=e.height,e=e.x),{x:e,y:t,width:n,w:n,height:r,h:r,x2:e+n,y2:t+r,cx:e+n/2,cy:t+r/2,r1:s.min(n,r)/2,r2:s.max(n,r)/2,r0:s.sqrt(n*n+r*r)/2,path:A(e,t,n,r),vb:[e,t,n,r].join(" ")}}function g(){return this.join(",").replace(u,"$1")}function y(e){var t=i(e);return t.toString=g,t}function b(e,t,n,r,a,o,i,u,l){return null==l?P(e,t,n,r,a,o,i,u):C(e,t,n,r,a,o,i,u,function(e,t,n,r,a,o,i,u,l){if(l<0||P(e,t,n,r,a,o,i,u)<l)return;var s,c=1,f=c/2,d=c-f,p=.01;s=P(e,t,n,r,a,o,i,u,d);for(;h(s-l)>p;)s=P(e,t,n,r,a,o,i,u,d+=(s<l?1:-1)*(f/=2));return d}(e,t,n,r,a,o,i,u,l))}function x(n,r){function a(e){return+(+e).toFixed(3)}return e._.cacher((function(e,o,i){e instanceof t&&(e=e.attr("d"));for(var u,l,s,c,f,d="",p={},h=0,m=0,v=(e=H(e)).length;m<v;m++){if("M"==(s=e[m])[0])u=+s[1],l=+s[2];else{if(h+(c=b(u,l,s[1],s[2],s[3],s[4],s[5],s[6]))>o){if(r&&!p.start){if(d+=["C"+a((f=b(u,l,s[1],s[2],s[3],s[4],s[5],s[6],o-h)).start.x),a(f.start.y),a(f.m.x),a(f.m.y),a(f.x),a(f.y)],i)return d;p.start=d,d=["M"+a(f.x),a(f.y)+"C"+a(f.n.x),a(f.n.y),a(f.end.x),a(f.end.y),a(s[5]),a(s[6])].join(),h+=c,u=+s[5],l=+s[6];continue}if(!n&&!r)return f=b(u,l,s[1],s[2],s[3],s[4],s[5],s[6],o-h)}h+=c,u=+s[5],l=+s[6]}d+=s.shift()+s}return p.end=d,f=n?h:r?p:C(u,l,s[0],s[1],s[2],s[3],s[4],s[5],1)}),null,e._.clone)}var w=x(1),k=x(),O=x(0,1);function C(e,t,n,r,a,o,i,u,l){var f=1-l,d=p(f,3),h=p(f,2),m=l*l,v=m*l,g=e+2*l*(n-e)+m*(a-2*n+e),y=t+2*l*(r-t)+m*(o-2*r+t),b=n+2*l*(a-n)+m*(i-2*a+n),x=r+2*l*(o-r)+m*(u-2*o+r);return{x:d*e+3*h*l*n+3*f*l*l*a+v*i,y:d*t+3*h*l*r+3*f*l*l*o+v*u,m:{x:g,y:y},n:{x:b,y:x},start:{x:f*e+l*n,y:f*t+l*r},end:{x:f*a+l*i,y:f*o+l*u},alpha:90-180*s.atan2(g-b,y-x)/c}}function S(t,n,r,a,o,i,u,l){e.is(t,"array")||(t=[t,n,r,a,o,i,u,l]);var s=U.apply(null,t);return v(s.min.x,s.min.y,s.max.x-s.min.x,s.max.y-s.min.y)}function E(e,t,n){return t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function _(e,t){return e=v(e),E(t=v(t),e.x,e.y)||E(t,e.x2,e.y)||E(t,e.x,e.y2)||E(t,e.x2,e.y2)||E(e,t.x,t.y)||E(e,t.x2,t.y)||E(e,t.x,t.y2)||E(e,t.x2,t.y2)||(e.x<t.x2&&e.x>t.x||t.x<e.x2&&t.x>e.x)&&(e.y<t.y2&&e.y>t.y||t.y<e.y2&&t.y>e.y)}function F(e,t,n,r,a){return e*(e*(-3*t+9*n-9*r+3*a)+6*t-12*n+6*r)-3*t+3*n}function P(e,t,n,r,a,o,i,u,l){null==l&&(l=1);for(var c=(l=l>1?1:l<0?0:l)/2,f=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],d=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],p=0,h=0;h<12;h++){var m=c*f[h]+c,v=F(m,e,n,a,i),g=F(m,t,r,o,u),y=v*v+g*g;p+=d[h]*s.sqrt(y)}return c*p}function T(e,t,n,r,a,o,i,u){if(!(d(e,n)<f(a,i)||f(e,n)>d(a,i)||d(t,r)<f(o,u)||f(t,r)>d(o,u))){var l=(e-n)*(o-u)-(t-r)*(a-i);if(l){var s=((e*r-t*n)*(a-i)-(e-n)*(a*u-o*i))/l,c=((e*r-t*n)*(o-u)-(t-r)*(a*u-o*i))/l,p=+s.toFixed(2),h=+c.toFixed(2);if(!(p<+f(e,n).toFixed(2)||p>+d(e,n).toFixed(2)||p<+f(a,i).toFixed(2)||p>+d(a,i).toFixed(2)||h<+f(t,r).toFixed(2)||h>+d(t,r).toFixed(2)||h<+f(o,u).toFixed(2)||h>+d(o,u).toFixed(2)))return{x:s,y:c}}}}function M(e,t,n){if(!_(S(e),S(t)))return n?0:[];for(var r=~~(P.apply(0,e)/8),a=~~(P.apply(0,t)/8),o=[],i=[],u={},l=n?0:[],s=0;s<r+1;s++){var c=C.apply(0,e.concat(s/r));o.push({x:c.x,y:c.y,t:s/r})}for(s=0;s<a+1;s++)c=C.apply(0,t.concat(s/a)),i.push({x:c.x,y:c.y,t:s/a});for(s=0;s<r;s++)for(var f=0;f<a;f++){var d=o[s],p=o[s+1],m=i[f],v=i[f+1],g=h(p.x-d.x)<.001?"y":"x",y=h(v.x-m.x)<.001?"y":"x",b=T(d.x,d.y,p.x,p.y,m.x,m.y,v.x,v.y);if(b){if(u[b.x.toFixed(4)]==b.y.toFixed(4))continue;u[b.x.toFixed(4)]=b.y.toFixed(4);var x=d.t+h((b[g]-d[g])/(p[g]-d[g]))*(p.t-d.t),w=m.t+h((b[y]-m[y])/(v[y]-m[y]))*(v.t-m.t);x>=0&&x<=1&&w>=0&&w<=1&&(n?l++:l.push({x:b.x,y:b.y,t1:x,t2:w}))}}return l}function j(e,t,n){e=H(e),t=H(t);for(var r,a,o,i,u,l,s,c,f,d,p=n?0:[],h=0,m=e.length;h<m;h++){var v=e[h];if("M"==v[0])r=u=v[1],a=l=v[2];else{"C"==v[0]?(f=[r,a].concat(v.slice(1)),r=f[6],a=f[7]):(f=[r,a,r,a,u,l,u,l],r=u,a=l);for(var g=0,y=t.length;g<y;g++){var b=t[g];if("M"==b[0])o=s=b[1],i=c=b[2];else{"C"==b[0]?(d=[o,i].concat(b.slice(1)),o=d[6],i=d[7]):(d=[o,i,o,i,s,c,s,c],o=s,i=c);var x=M(f,d,n);if(n)p+=x;else{for(var w=0,k=x.length;w<k;w++)x[w].segment1=h,x[w].segment2=g,x[w].bez1=f,x[w].bez2=d;p=p.concat(x)}}}}}return p}function N(e){var t=m(e);if(t.bbox)return i(t.bbox);if(!e)return v();for(var n,r=0,a=0,o=[],u=[],l=0,s=(e=H(e)).length;l<s;l++)if("M"==(n=e[l])[0])r=n[1],a=n[2],o.push(r),u.push(a);else{var c=U(r,a,n[1],n[2],n[3],n[4],n[5],n[6]);o=o.concat(c.min.x,c.max.x),u=u.concat(c.min.y,c.max.y),r=n[5],a=n[6]}var p=f.apply(0,o),h=f.apply(0,u),g=v(p,h,d.apply(0,o)-p,d.apply(0,u)-h);return t.bbox=i(g),g}function A(e,t,n,r,a){if(a)return[["M",+e+ +a,t],["l",n-2*a,0],["a",a,a,0,0,1,a,a],["l",0,r-2*a],["a",a,a,0,0,1,-a,a],["l",2*a-n,0],["a",a,a,0,0,1,-a,-a],["l",0,2*a-r],["a",a,a,0,0,1,a,-a],["z"]];var o=[["M",e,t],["l",n,0],["l",0,r],["l",-n,0],["z"]];return o.toString=g,o}function I(e,t,n,r,a){if(null==a&&null==r&&(r=n),e=+e,t=+t,n=+n,r=+r,null!=a)var o=Math.PI/180,i=e+n*Math.cos(-r*o),u=e+n*Math.cos(-a*o),l=[["M",i,t+n*Math.sin(-r*o)],["A",n,n,0,+(a-r>180),0,u,t+n*Math.sin(-a*o)]];else l=[["M",e,t],["m",0,-r],["a",n,r,0,1,1,0,2*r],["a",n,r,0,1,1,0,-2*r],["z"]];return l.toString=g,l}var L=e._unit2px,D={path:function(e){return e.attr("path")},circle:function(e){var t=L(e);return I(t.cx,t.cy,t.r)},ellipse:function(e){var t=L(e);return I(t.cx||0,t.cy||0,t.rx,t.ry)},rect:function(e){var t=L(e);return A(t.x||0,t.y||0,t.width,t.height,t.rx,t.ry)},image:function(e){var t=L(e);return A(t.x||0,t.y||0,t.width,t.height)},line:function(e){return"M"+[e.attr("x1")||0,e.attr("y1")||0,e.attr("x2"),e.attr("y2")]},polyline:function(e){return"M"+e.attr("points")},polygon:function(e){return"M"+e.attr("points")+"z"},deflt:function(e){var t=e.node.getBBox();return A(t.x,t.y,t.width,t.height)}};function R(t){var n=m(t);if(n.abs)return y(n.abs);if(o(t,"array")&&o(t&&t[0],"array")||(t=e.parsePathString(t)),!t||!t.length)return[["M",0,0]];var r,a=[],i=0,u=0,l=0,s=0,c=0;"M"==t[0][0]&&(l=i=+t[0][1],s=u=+t[0][2],c++,a[0]=["M",i,u]);for(var f,d,p=3==t.length&&"M"==t[0][0]&&"R"==t[1][0].toUpperCase()&&"Z"==t[2][0].toUpperCase(),h=c,v=t.length;h<v;h++){if(a.push(f=[]),(r=(d=t[h])[0])!=r.toUpperCase())switch(f[0]=r.toUpperCase(),f[0]){case"A":f[1]=d[1],f[2]=d[2],f[3]=d[3],f[4]=d[4],f[5]=d[5],f[6]=+d[6]+i,f[7]=+d[7]+u;break;case"V":f[1]=+d[1]+u;break;case"H":f[1]=+d[1]+i;break;case"R":for(var b=[i,u].concat(d.slice(1)),x=2,w=b.length;x<w;x++)b[x]=+b[x]+i,b[++x]=+b[x]+u;a.pop(),a=a.concat(W(b,p));break;case"O":a.pop(),(b=I(i,u,d[1],d[2])).push(b[0]),a=a.concat(b);break;case"U":a.pop(),a=a.concat(I(i,u,d[1],d[2],d[3])),f=["U"].concat(a[a.length-1].slice(-2));break;case"M":l=+d[1]+i,s=+d[2]+u;default:for(x=1,w=d.length;x<w;x++)f[x]=+d[x]+(x%2?i:u)}else if("R"==r)b=[i,u].concat(d.slice(1)),a.pop(),a=a.concat(W(b,p)),f=["R"].concat(d.slice(-2));else if("O"==r)a.pop(),(b=I(i,u,d[1],d[2])).push(b[0]),a=a.concat(b);else if("U"==r)a.pop(),a=a.concat(I(i,u,d[1],d[2],d[3])),f=["U"].concat(a[a.length-1].slice(-2));else for(var k=0,O=d.length;k<O;k++)f[k]=d[k];if("O"!=(r=r.toUpperCase()))switch(f[0]){case"Z":i=+l,u=+s;break;case"H":i=f[1];break;case"V":u=f[1];break;case"M":l=f[f.length-2],s=f[f.length-1];default:i=f[f.length-2],u=f[f.length-1]}}return a.toString=g,n.abs=y(a),a}function z(e,t,n,r){return[e,t,n,r,n,r]}function V(e,t,n,r,a,o){var i=1/3,u=2/3;return[i*e+u*n,i*t+u*r,i*a+u*n,i*o+u*r,a,o]}function B(t,n,r,a,o,i,u,l,f,d){var p,m=120*c/180,v=c/180*(+o||0),g=[],y=e._.cacher((function(e,t,n){return{x:e*s.cos(n)-t*s.sin(n),y:e*s.sin(n)+t*s.cos(n)}}));if(!r||!a)return[t,n,l,f,l,f];if(d)_=d[0],F=d[1],S=d[2],E=d[3];else{t=(p=y(t,n,-v)).x,n=p.y,l=(p=y(l,f,-v)).x,f=p.y;s.cos(c/180*o),s.sin(c/180*o);var b=(t-l)/2,x=(n-f)/2,w=b*b/(r*r)+x*x/(a*a);w>1&&(r*=w=s.sqrt(w),a*=w);var k=r*r,O=a*a,C=(i==u?-1:1)*s.sqrt(h((k*O-k*x*x-O*b*b)/(k*x*x+O*b*b))),S=C*r*x/a+(t+l)/2,E=C*-a*b/r+(n+f)/2,_=s.asin(((n-E)/a).toFixed(9)),F=s.asin(((f-E)/a).toFixed(9));(_=t<S?c-_:_)<0&&(_=2*c+_),(F=l<S?c-F:F)<0&&(F=2*c+F),u&&_>F&&(_-=2*c),!u&&F>_&&(F-=2*c)}var P=F-_;if(h(P)>m){var T=F,M=l,j=f;F=_+m*(u&&F>_?1:-1),g=B(l=S+r*s.cos(F),f=E+a*s.sin(F),r,a,o,0,u,M,j,[F,T,S,E])}P=F-_;var N=s.cos(_),A=s.sin(_),I=s.cos(F),L=s.sin(F),D=s.tan(P/4),R=4/3*r*D,z=4/3*a*D,V=[t,n],U=[t+R*A,n-z*N],H=[l+R*L,f-z*I],W=[l,f];if(U[0]=2*V[0]-U[0],U[1]=2*V[1]-U[1],d)return[U,H,W].concat(g);for(var $=[],q=0,Y=(g=[U,H,W].concat(g).join().split(",")).length;q<Y;q++)$[q]=q%2?y(g[q-1],g[q],v).y:y(g[q],g[q+1],v).x;return $}function U(e,t,n,r,a,o,i,u){for(var l,c,p,m,v,g,y,b,x=[],w=[[],[]],k=0;k<2;++k)if(0==k?(c=6*e-12*n+6*a,l=-3*e+9*n-9*a+3*i,p=3*n-3*e):(c=6*t-12*r+6*o,l=-3*t+9*r-9*o+3*u,p=3*r-3*t),h(l)<1e-12){if(h(c)<1e-12)continue;0<(m=-p/c)&&m<1&&x.push(m)}else y=c*c-4*p*l,b=s.sqrt(y),y<0||(0<(v=(-c+b)/(2*l))&&v<1&&x.push(v),0<(g=(-c-b)/(2*l))&&g<1&&x.push(g));for(var O,C=x.length,S=C;C--;)O=1-(m=x[C]),w[0][C]=O*O*O*e+3*O*O*m*n+3*O*m*m*a+m*m*m*i,w[1][C]=O*O*O*t+3*O*O*m*r+3*O*m*m*o+m*m*m*u;return w[0][S]=e,w[1][S]=t,w[0][S+1]=i,w[1][S+1]=u,w[0].length=w[1].length=S+2,{min:{x:f.apply(0,w[0]),y:f.apply(0,w[1])},max:{x:d.apply(0,w[0]),y:d.apply(0,w[1])}}}function H(e,t){var n=!t&&m(e);if(!t&&n.curve)return y(n.curve);for(var r=R(e),a=t&&R(t),o={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},u=function(e,t,n){var r,a;if(!e)return["C",t.x,t.y,t.x,t.y,t.x,t.y];switch(!(e[0]in{T:1,Q:1})&&(t.qx=t.qy=null),e[0]){case"M":t.X=e[1],t.Y=e[2];break;case"A":e=["C"].concat(B.apply(0,[t.x,t.y].concat(e.slice(1))));break;case"S":"C"==n||"S"==n?(r=2*t.x-t.bx,a=2*t.y-t.by):(r=t.x,a=t.y),e=["C",r,a].concat(e.slice(1));break;case"T":"Q"==n||"T"==n?(t.qx=2*t.x-t.qx,t.qy=2*t.y-t.qy):(t.qx=t.x,t.qy=t.y),e=["C"].concat(V(t.x,t.y,t.qx,t.qy,e[1],e[2]));break;case"Q":t.qx=e[1],t.qy=e[2],e=["C"].concat(V(t.x,t.y,e[1],e[2],e[3],e[4]));break;case"L":e=["C"].concat(z(t.x,t.y,e[1],e[2]));break;case"H":e=["C"].concat(z(t.x,t.y,e[1],t.y));break;case"V":e=["C"].concat(z(t.x,t.y,t.x,e[1]));break;case"Z":e=["C"].concat(z(t.x,t.y,t.X,t.Y))}return e},s=function(e,t){if(e[t].length>7){e[t].shift();for(var n=e[t];n.length;)f[t]="A",a&&(p[t]="A"),e.splice(t++,0,["C"].concat(n.splice(0,6)));e.splice(t,1),b=d(r.length,a&&a.length||0)}},c=function(e,t,n,o,i){e&&t&&"M"==e[i][0]&&"M"!=t[i][0]&&(t.splice(i,0,["M",o.x,o.y]),n.bx=0,n.by=0,n.x=e[i][1],n.y=e[i][2],b=d(r.length,a&&a.length||0))},f=[],p=[],h="",v="",g=0,b=d(r.length,a&&a.length||0);g<b;g++){r[g]&&(h=r[g][0]),"C"!=h&&(f[g]=h,g&&(v=f[g-1])),r[g]=u(r[g],o,v),"A"!=f[g]&&"C"==h&&(f[g]="C"),s(r,g),a&&(a[g]&&(h=a[g][0]),"C"!=h&&(p[g]=h,g&&(v=p[g-1])),a[g]=u(a[g],i,v),"A"!=p[g]&&"C"==h&&(p[g]="C"),s(a,g)),c(r,a,o,i,g),c(a,r,i,o,g);var x=r[g],w=a&&a[g],k=x.length,O=a&&w.length;o.x=x[k-2],o.y=x[k-1],o.bx=l(x[k-4])||o.x,o.by=l(x[k-3])||o.y,i.bx=a&&(l(w[O-4])||i.x),i.by=a&&(l(w[O-3])||i.y),i.x=a&&w[O-2],i.y=a&&w[O-1]}return a||(n.curve=y(r)),a?[r,a]:r}function W(e,t){for(var n=[],r=0,a=e.length;a-2*!t>r;r+=2){var o=[{x:+e[r-2],y:+e[r-1]},{x:+e[r],y:+e[r+1]},{x:+e[r+2],y:+e[r+3]},{x:+e[r+4],y:+e[r+5]}];t?r?a-4==r?o[3]={x:+e[0],y:+e[1]}:a-2==r&&(o[2]={x:+e[0],y:+e[1]},o[3]={x:+e[2],y:+e[3]}):o[0]={x:+e[a-2],y:+e[a-1]}:a-4==r?o[3]=o[2]:r||(o[0]={x:+e[r],y:+e[r+1]}),n.push(["C",(-o[0].x+6*o[1].x+o[2].x)/6,(-o[0].y+6*o[1].y+o[2].y)/6,(o[1].x+6*o[2].x-o[3].x)/6,(o[1].y+6*o[2].y-o[3].y)/6,o[2].x,o[2].y])}return n}e.path=m,e.path.getTotalLength=w,e.path.getPointAtLength=k,e.path.getSubpath=function(e,t,n){if(this.getTotalLength(e)-n<1e-6)return O(e,t).end;var r=O(e,n,1);return t?O(r,t).end:r},a.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()},a.getPointAtLength=function(e){return k(this.attr("d"),e)},a.getSubpath=function(t,n){return e.path.getSubpath(this.attr("d"),t,n)},e._.box=v,e.path.findDotsAtSegment=C,e.path.bezierBBox=S,e.path.isPointInsideBBox=E,e.closest=function(t,n,r,a){for(var o=100,i=v(t-o/2,n-o/2,o,o),u=[],l=r[0].hasOwnProperty("x")?function(e){return{x:r[e].x,y:r[e].y}}:function(e){return{x:r[e],y:a[e]}},s=0;o<=1e6&&!s;){for(var c=0,f=r.length;c<f;c++){var d=l(c);if(E(i,d.x,d.y)){s++,u.push(d);break}}s||(i=v(t-(o*=2)/2,n-o/2,o,o))}if(1e6!=o){var p,h=1/0;for(c=0,f=u.length;c<f;c++){var m=e.len(t,n,u[c].x,u[c].y);h>m&&(h=m,u[c].len=m,p=u[c])}return p}},e.path.isBBoxIntersect=_,e.path.intersection=function(e,t){return j(e,t)},e.path.intersectionNumber=function(e,t){return j(e,t,1)},e.path.isPointInside=function(e,t,n){var r=N(e);return E(r,t,n)&&j(e,[["M",t,n],["H",r.x2+10]],1)%2==1},e.path.getBBox=N,e.path.get=D,e.path.toRelative=function(t){var n=m(t),r=String.prototype.toLowerCase;if(n.rel)return y(n.rel);e.is(t,"array")&&e.is(t&&t[0],"array")||(t=e.parsePathString(t));var a=[],o=0,i=0,u=0,l=0,s=0;"M"==t[0][0]&&(u=o=t[0][1],l=i=t[0][2],s++,a.push(["M",o,i]));for(var c=s,f=t.length;c<f;c++){var d=a[c]=[],p=t[c];if(p[0]!=r.call(p[0]))switch(d[0]=r.call(p[0]),d[0]){case"a":d[1]=p[1],d[2]=p[2],d[3]=p[3],d[4]=p[4],d[5]=p[5],d[6]=+(p[6]-o).toFixed(3),d[7]=+(p[7]-i).toFixed(3);break;case"v":d[1]=+(p[1]-i).toFixed(3);break;case"m":u=p[1],l=p[2];default:for(var h=1,v=p.length;h<v;h++)d[h]=+(p[h]-(h%2?o:i)).toFixed(3)}else{d=a[c]=[],"m"==p[0]&&(u=p[1]+o,l=p[2]+i);for(var b=0,x=p.length;b<x;b++)a[c][b]=p[b]}var w=a[c].length;switch(a[c][0]){case"z":o=u,i=l;break;case"h":o+=+a[c][w-1];break;case"v":i+=+a[c][w-1];break;default:o+=+a[c][w-2],i+=+a[c][w-1]}}return a.toString=g,n.rel=y(a),a},e.path.toAbsolute=R,e.path.toCubic=H,e.path.map=function(e,t){if(!t)return e;var n,r,a,o,i,u,l;for(a=0,i=(e=H(e)).length;a<i;a++)for(o=1,u=(l=e[a]).length;o<u;o+=2)n=t.x(l[o],l[o+1]),r=t.y(l[o],l[o+1]),l[o]=n,l[o+1]=r;return e},e.path.toString=g,e.path.clone=y})),a.plugin((function(e,t,n,a){var o=Math.max,i=Math.min,u=function(e){if(this.items=[],this.bindings={},this.length=0,this.type="set",e)for(var t=0,n=e.length;t<n;t++)e[t]&&(this[this.items.length]=this.items[this.items.length]=e[t],this.length++)},l=u.prototype;l.push=function(){for(var e,t,n=0,r=arguments.length;n<r;n++)(e=arguments[n])&&(this[t=this.items.length]=this.items[t]=e,this.length++);return this},l.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},l.forEach=function(e,t){for(var n=0,r=this.items.length;n<r;n++)if(!1===e.call(t,this.items[n],n))return this;return this},l.animate=function(t,n,a,o){"function"!=typeof a||a.length||(o=a,a=r.linear),t instanceof e._.Animation&&(o=t.callback,a=t.easing,n=a.dur,t=t.attr);var i=arguments;if(e.is(t,"array")&&e.is(i[i.length-1],"array"))var u=!0;var l,s=function(){l?this.b=l:l=this.b},c=0,f=this,d=o&&function(){++c==f.length&&o.call(this)};return this.forEach((function(e,r){eve.once("snap.animcreated."+e.id,s),u?i[r]&&e.animate.apply(e,i[r]):e.animate(t,n,a,d)}))},l.remove=function(){for(;this.length;)this.pop().remove();return this},l.bind=function(e,t,n){var r={};if("function"==typeof t)this.bindings[e]=t;else{var a=n||e;this.bindings[e]=function(e){r[a]=e,t.attr(r)}}return this},l.attr=function(e){var t={};for(var n in e)this.bindings[n]?this.bindings[n](e[n]):t[n]=e[n];for(var r=0,a=this.items.length;r<a;r++)this.items[r].attr(t);return this},l.clear=function(){for(;this.length;)this.pop()},l.splice=function(e,t,n){e=e<0?o(this.length+e,0):e,t=o(0,i(this.length-e,t));var r,a=[],l=[],s=[];for(r=2;r<arguments.length;r++)s.push(arguments[r]);for(r=0;r<t;r++)l.push(this[e+r]);for(;r<this.length-e;r++)a.push(this[e+r]);var c=s.length;for(r=0;r<c+a.length;r++)this.items[e+r]=this[e+r]=r<c?s[r]:a[r-c];for(r=this.items.length=this.length-=t-c;this[r];)delete this[r++];return new u(l)},l.exclude=function(e){for(var t=0,n=this.length;t<n;t++)if(this[t]==e)return this.splice(t,1),!0;return!1},l.insertAfter=function(e){for(var t=this.items.length;t--;)this.items[t].insertAfter(e);return this},l.getBBox=function(){for(var e=[],t=[],n=[],r=[],a=this.items.length;a--;)if(!this.items[a].removed){var u=this.items[a].getBBox();e.push(u.x),t.push(u.y),n.push(u.x+u.width),r.push(u.y+u.height)}return{x:e=i.apply(0,e),y:t=i.apply(0,t),x2:n=o.apply(0,n),y2:r=o.apply(0,r),width:n-e,height:r-t,cx:e+(n-e)/2,cy:t+(r-t)/2}},l.clone=function(e){e=new u;for(var t=0,n=this.items.length;t<n;t++)e.push(this.items[t].clone());return e},l.toString=function(){return"Snap\u2018s set"},l.type="set",e.Set=u,e.set=function(){var e=new u;return arguments.length&&e.push.apply(e,Array.prototype.slice.call(arguments,0)),e}})),a.plugin((function(e,t,n,r){var a={},o=/[%a-z]+$/i,i=String;function u(e){var t=e[0];switch(t.toLowerCase()){case"t":return[t,0,0];case"m":return[t,1,0,0,1,0,0];case"r":return 4==e.length?[t,0,e[2],e[3]]:[t,0];case"s":return 5==e.length?[t,1,1,e[3],e[4]]:3==e.length?[t,1,1]:[t,1]}}function l(e){return e}function s(e){return e.join(" ")}function c(t){return e.rgb(t[0],t[1],t[2],t[3])}function f(e){var t,n,r,a,o,i,u=0,l=[];for(t=0,n=e.length;t<n;t++){for(o="[",i=['"'+e[t][0]+'"'],r=1,a=e[t].length;r<a;r++)i[r]="val["+u+++"]";o+=i+"]",l[t]=o}return Function("val","return Snap.path.toString.call(["+l+"])")}function d(e){for(var t=[],n=0,r=e.length;n<r;n++)for(var a=1,o=e[n].length;a<o;a++)t.push(e[n][a]);return t}function p(e){return isFinite(e)}a.stroke=a.fill="colour",t.prototype.equal=function(e,t){return eve("snap.util.equal",this,e,t).firstDefined()},eve.on("snap.util.equal",(function(t,n){var r,h,m=i(this.attr(t)||""),v=this;if("colour"==a[t])return r=e.color(m),h=e.color(n),{from:[r.r,r.g,r.b,r.opacity],to:[h.r,h.g,h.b,h.opacity],f:c};if("viewBox"==t)return{from:r=this.attr(t).vb.split(" ").map(Number),to:h=n.split(" ").map(Number),f:s};if("transform"==t||"gradientTransform"==t||"patternTransform"==t)return"string"==typeof n&&(n=i(n).replace(/\.{3}|\u2026/g,m)),function(t,n,r){t=t||new e.Matrix,n=n||new e.Matrix,t=e.parseTransformString(t.toTransformString())||[],n=e.parseTransformString(n.toTransformString())||[];for(var a,o,i,l,s=Math.max(t.length,n.length),c=[],p=[],h=0;h<s;h++){if(i=t[h]||u(n[h]),l=n[h]||u(i),i[0]!=l[0]||"r"==i[0].toLowerCase()&&(i[2]!=l[2]||i[3]!=l[3])||"s"==i[0].toLowerCase()&&(i[3]!=l[3]||i[4]!=l[4])){t=e._.transform2matrix(t,r()),n=e._.transform2matrix(n,r()),c=[["m",t.a,t.b,t.c,t.d,t.e,t.f]],p=[["m",n.a,n.b,n.c,n.d,n.e,n.f]];break}for(c[h]=[],p[h]=[],a=0,o=Math.max(i.length,l.length);a<o;a++)a in i&&(c[h][a]=i[a]),a in l&&(p[h][a]=l[a])}return{from:d(c),to:d(p),f:f(c)}}(m=this.matrix,n=e._.rgTransform.test(n)?e._.transform2matrix(n,this.getBBox()):e._.transform2matrix(e._.svgTransform2string(n),this.getBBox()),(function(){return v.getBBox(1)}));if("d"==t||"path"==t)return{from:d((r=e.path.toCubic(m,n))[0]),to:d(r[1]),f:f(r[0])};if("points"==t)return{from:r=i(m).split(e._.separator),to:h=i(n).split(e._.separator),f:function(e){return e}};if(p(m)&&p(n))return{from:parseFloat(m),to:parseFloat(n),f:l};var g,y,b,x=m.match(o),w=i(n).match(o);return x&&(y=x,b=w,e.is(y,"array")&&e.is(b,"array")&&y.toString()==b.toString())?{from:parseFloat(m),to:parseFloat(n),f:(g=x,function(e){return+e.toFixed(3)+g})}:{from:this.asPX(t),to:this.asPX(t,n),f:l}}))})),a.plugin((function(e,t,n,r){for(var a=t.prototype,o=("createTouch"in r.doc),i=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup","touchstart","touchmove","touchend","touchcancel"],u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},l=function(e,t){var n="y"==e?"scrollTop":"scrollLeft",a=t&&t.node?t.node.ownerDocument:r.doc;return a[n in a.documentElement?"documentElement":"body"][n]},s=function(){return this.originalEvent.preventDefault()},c=function(){return this.originalEvent.stopPropagation()},f=function(e,t,n,r){var a=o&&u[t]?u[t]:t,i=function(a){var i=l("y",r),f=l("x",r);if(o&&u.hasOwnProperty(t))for(var d=0,p=a.targetTouches&&a.targetTouches.length;d<p;d++)if(a.targetTouches[d].target==e||e.contains(a.targetTouches[d].target)){var h=a;(a=a.targetTouches[d]).originalEvent=h,a.preventDefault=s,a.stopPropagation=c;break}var m=a.clientX+f,v=a.clientY+i;return n.call(r,a,m,v)};return t!==a&&e.addEventListener(t,i,!1),e.addEventListener(a,i,!1),function(){return t!==a&&e.removeEventListener(t,i,!1),e.removeEventListener(a,i,!1),!0}},d=[],p=function(e){for(var t,n=e.clientX,r=e.clientY,a=l("y"),i=l("x"),u=d.length;u--;){if(t=d[u],o){for(var s,c=e.touches&&e.touches.length;c--;)if((s=e.touches[c]).identifier==t.el._drag.id||t.el.node.contains(s.target)){n=s.clientX,r=s.clientY,(e.originalEvent?e.originalEvent:e).preventDefault();break}}else e.preventDefault();var f=t.el.node;f.nextSibling,f.parentNode,f.style.display;n+=i,r+=a,eve("snap.drag.move."+t.el.id,t.move_scope||t.el,n-t.el._drag.x,r-t.el._drag.y,n,r,e)}},h=function t(n){e.unmousemove(p).unmouseup(t);for(var r,a=d.length;a--;)(r=d[a]).el._drag={},eve("snap.drag.end."+r.el.id,r.end_scope||r.start_scope||r.move_scope||r.el,n),eve.off("snap.drag.*."+r.el.id);d=[]},m=i.length;m--;)!function(t){e[t]=a[t]=function(n,r){if(e.is(n,"function"))this.events=this.events||[],this.events.push({name:t,f:n,unbind:f(this.node||document,t,n,r||this)});else for(var a=0,o=this.events.length;a<o;a++)if(this.events[a].name==t)try{this.events[a].f.call(this)}catch(i){}return this},e["un"+t]=a["un"+t]=function(e){for(var n=this.events||[],r=n.length;r--;)if(n[r].name==t&&(n[r].f==e||!e))return n[r].unbind(),n.splice(r,1),!n.length&&delete this.events,this;return this}}(i[m]);a.hover=function(e,t,n,r){return this.mouseover(e,n).mouseout(t,r||n)},a.unhover=function(e,t){return this.unmouseover(e).unmouseout(t)};var v=[];a.drag=function(t,n,r,a,o,i){var u,l=this;if(!arguments.length)return l.drag((function(e,t){this.attr({transform:u+(u?"T":"t")+[e,t]})}),(function(){u=this.transform().local}));function s(u,s,c){(u.originalEvent||u).preventDefault(),l._drag.x=s,l._drag.y=c,l._drag.id=u.identifier,!d.length&&e.mousemove(p).mouseup(h),d.push({el:l,move_scope:a,start_scope:o,end_scope:i}),n&&eve.on("snap.drag.start."+l.id,n),t&&eve.on("snap.drag.move."+l.id,t),r&&eve.on("snap.drag.end."+l.id,r),eve("snap.drag.start."+l.id,o||a||l,s,c,u)}function c(e,t,n){eve("snap.draginit."+l.id,l,e,t,n)}return eve.on("snap.draginit."+l.id,s),l._drag={},v.push({el:l,start:s,init:c}),l.mousedown(c),l},a.undrag=function(){for(var t=v.length;t--;)v[t].el==this&&(this.unmousedown(v[t].init),v.splice(t,1),eve.unbind("snap.drag.*."+this.id),eve.unbind("snap.draginit."+this.id));return!v.length&&e.unmousemove(p).unmouseup(h),this}})),a.plugin((function(e,t,n,r){t.prototype;var a=n.prototype,o=/^\s*url\((.+)\)/,i=String,u=e._.$;e.filter={},a.filter=function(n){var r=this;"svg"!=r.type&&(r=r.paper);var a=e.parse(i(n)),o=e._.id(),l=(r.node.offsetWidth,r.node.offsetHeight,u("filter"));return u(l,{id:o,filterUnits:"userSpaceOnUse"}),l.appendChild(a.node),r.defs.appendChild(l),new t(l)},eve.on("snap.util.getattr.filter",(function(){eve.stop();var t=u(this.node,"filter");if(t){var n=i(t).match(o);return n&&e.select(n[1])}})),eve.on("snap.util.attr.filter",(function(n){if(n instanceof t&&"filter"==n.type){eve.stop();var r=n.node.id;r||(u(n.node,{id:n.id}),r=n.id),u(this.node,{filter:e.url(r)})}n&&"none"!=n||(eve.stop(),this.node.removeAttribute("filter"))})),e.filter.blur=function(t,n){null==t&&(t=2);var r=null==n?t:[t,n];return e.format('<feGaussianBlur stdDeviation="{def}"/>',{def:r})},e.filter.blur.toString=function(){return this()},e.filter.shadow=function(t,n,r,a,o){return null==o&&(null==a?(o=r,r=4,a="#000"):(o=a,a=r,r=4)),null==r&&(r=4),null==o&&(o=1),null==t&&(t=0,n=2),null==n&&(n=t),a=e.color(a),e.format('<feGaussianBlur in="SourceAlpha" stdDeviation="{blur}"/><feOffset dx="{dx}" dy="{dy}" result="offsetblur"/><feFlood flood-color="{color}"/><feComposite in2="offsetblur" operator="in"/><feComponentTransfer><feFuncA type="linear" slope="{opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>',{color:a,dx:t,dy:n,blur:r,opacity:o})},e.filter.shadow.toString=function(){return this()},e.filter.grayscale=function(t){return null==t&&(t=1),e.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0"/>',{a:.2126+.7874*(1-t),b:.7152-.7152*(1-t),c:.0722-.0722*(1-t),d:.2126-.2126*(1-t),e:.7152+.2848*(1-t),f:.0722-.0722*(1-t),g:.2126-.2126*(1-t),h:.0722+.9278*(1-t)})},e.filter.grayscale.toString=function(){return this()},e.filter.sepia=function(t){return null==t&&(t=1),e.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0"/>',{a:.393+.607*(1-t),b:.769-.769*(1-t),c:.189-.189*(1-t),d:.349-.349*(1-t),e:.686+.314*(1-t),f:.168-.168*(1-t),g:.272-.272*(1-t),h:.534-.534*(1-t),i:.131+.869*(1-t)})},e.filter.sepia.toString=function(){return this()},e.filter.saturate=function(t){return null==t&&(t=1),e.format('<feColorMatrix type="saturate" values="{amount}"/>',{amount:1-t})},e.filter.saturate.toString=function(){return this()},e.filter.hueRotate=function(t){return t=t||0,e.format('<feColorMatrix type="hueRotate" values="{angle}"/>',{angle:t})},e.filter.hueRotate.toString=function(){return this()},e.filter.invert=function(t){return null==t&&(t=1),e.format('<feComponentTransfer><feFuncR type="table" tableValues="{amount} {amount2}"/><feFuncG type="table" tableValues="{amount} {amount2}"/><feFuncB type="table" tableValues="{amount} {amount2}"/></feComponentTransfer>',{amount:t,amount2:1-t})},e.filter.invert.toString=function(){return this()},e.filter.brightness=function(t){return null==t&&(t=1),e.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}"/><feFuncG type="linear" slope="{amount}"/><feFuncB type="linear" slope="{amount}"/></feComponentTransfer>',{amount:t})},e.filter.brightness.toString=function(){return this()},e.filter.contrast=function(t){return null==t&&(t=1),e.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}" intercept="{amount2}"/><feFuncG type="linear" slope="{amount}" intercept="{amount2}"/><feFuncB type="linear" slope="{amount}" intercept="{amount2}"/></feComponentTransfer>',{amount:t,amount2:.5-t/2})},e.filter.contrast.toString=function(){return this()}})),a.plugin((function(e,t,n,r,a){var o=e._.box,i=e.is,u=/^[^a-z]*([tbmlrc])/i,l=function(){return"T"+this.dx+","+this.dy};t.prototype.getAlign=function(e,t){null==t&&i(e,"string")&&(t=e,e=null);var n=(e=e||this.paper).getBBox?e.getBBox():o(e),r=this.getBBox(),a={};switch(t=(t=t&&t.match(u))?t[1].toLowerCase():"c"){case"t":a.dx=0,a.dy=n.y-r.y;break;case"b":a.dx=0,a.dy=n.y2-r.y2;break;case"m":a.dx=0,a.dy=n.cy-r.cy;break;case"l":a.dx=n.x-r.x,a.dy=0;break;case"r":a.dx=n.x2-r.x2,a.dy=0;break;default:a.dx=n.cx-r.cx,a.dy=0}return a.toString=l,a},t.prototype.align=function(e,t){return this.transform("..."+this.getAlign(e,t))}})),a.plugin((function(e,t,n,a,o){var i=t.prototype,u=e.is,l=String,s="hasOwnProperty";function c(e,t,n){return function(r){var a=r.slice(e,t);return 1==a.length&&(a=a[0]),n?n(a):a}}var f=function(e,t,n,a){"function"!=typeof n||n.length||(a=n,n=r.linear),this.attr=e,this.dur=t,n&&(this.easing=n),a&&(this.callback=a)};e._.Animation=f,e.animation=function(e,t,n,r){return new f(e,t,n,r)},i.inAnim=function(){var e=this,t=[];for(var n in e.anims)e.anims[s](n)&&function(e){t.push({anim:new f(e._attrs,e.dur,e.easing,e._callback),mina:e,curStatus:e.status(),status:function(t){return e.status(t)},stop:function(){e.stop()}})}(e.anims[n]);return t},e.animate=function(e,t,n,a,o,i){"function"!=typeof o||o.length||(i=o,o=r.linear);var u=r.time(),l=r(e,t,u,u+a,r.time,n,o);return i&&eve.once("mina.finish."+l.id,i),l},i.stop=function(){for(var e=this.inAnim(),t=0,n=e.length;t<n;t++)e[t].stop();return this},i.animate=function(e,t,n,a){"function"!=typeof n||n.length||(a=n,n=r.linear),e instanceof f&&(a=e.callback,n=e.easing,t=e.dur,e=e.attr);var o,i,d,p,h=[],m=[],v={},g=this;for(var y in e)if(e[s](y)){g.equal?(o=(p=g.equal(y,l(e[y]))).from,i=p.to,d=p.f):(o=+g.attr(y),i=+e[y]);var b=u(o,"array")?o.length:1;v[y]=c(h.length,h.length+b,d),h=h.concat(o),m=m.concat(i)}var x=r.time(),w=r(h,m,x,x+t,r.time,(function(e){var t={};for(var n in v)v[s](n)&&(t[n]=v[n](e));g.attr(t)}),n);return g.anims[w.id]=w,w._attrs=e,w._callback=a,eve("snap.animcreated."+g.id,w),eve.once("mina.finish."+w.id,(function(){eve.off("mina.*."+w.id),delete g.anims[w.id],a&&a.call(g)})),eve.once("mina.stop."+w.id,(function(){eve.off("mina.*."+w.id),delete g.anims[w.id]})),g}})),a.plugin((function(e,t,n,r){function a(e){e=e.split(/(?=#)/);var t=new String(e[5]);return t[50]=e[0],t[100]=e[1],t[200]=e[2],t[300]=e[3],t[400]=e[4],t[500]=e[5],t[600]=e[6],t[700]=e[7],t[800]=e[8],t[900]=e[9],e[10]&&(t.A100=e[10],t.A200=e[11],t.A400=e[12],t.A700=e[13]),t}e.mui={},e.flat={},e.mui.red=a("#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000"),e.mui.pink=a("#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162"),e.mui.purple=a("#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF"),e.mui.deeppurple=a("#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA"),e.mui.indigo=a("#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE"),e.mui.blue=a("#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF"),e.mui.lightblue=a("#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA"),e.mui.cyan=a("#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4"),e.mui.teal=a("#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5"),e.mui.green=a("#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853"),e.mui.lightgreen=a("#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17"),e.mui.lime=a("#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00"),e.mui.yellow=a("#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600"),e.mui.amber=a("#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00"),e.mui.orange=a("#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00"),e.mui.deeporange=a("#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00"),e.mui.brown=a("#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723"),e.mui.grey=a("#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121"),e.mui.bluegrey=a("#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238"),e.flat.turquoise="#1abc9c",e.flat.greensea="#16a085",e.flat.sunflower="#f1c40f",e.flat.orange="#f39c12",e.flat.emerland="#2ecc71",e.flat.nephritis="#27ae60",e.flat.carrot="#e67e22",e.flat.pumpkin="#d35400",e.flat.peterriver="#3498db",e.flat.belizehole="#2980b9",e.flat.alizarin="#e74c3c",e.flat.pomegranate="#c0392b",e.flat.amethyst="#9b59b6",e.flat.wisteria="#8e44ad",e.flat.clouds="#ecf0f1",e.flat.silver="#bdc3c7",e.flat.wetasphalt="#34495e",e.flat.midnightblue="#2c3e50",e.flat.concrete="#95a5a6",e.flat.asbestos="#7f8c8d",e.importMUIColors=function(){for(var t in e.mui)e.mui.hasOwnProperty(t)&&(window[t]=e.mui[t])}})),e.exports=a},function(e,t,n){var r;!function(n){var a,o,i="0.5.4",u="hasOwnProperty",l=/[\.\/]/,s=/\s*,\s*/,c=function(e,t){return e-t},f={n:{}},d=function(){for(var e=0,t=this.length;e<t;e++)if("undefined"!=typeof this[e])return this[e]},p=function(){for(var e=this.length;--e;)if("undefined"!=typeof this[e])return this[e]},h=Object.prototype.toString,m=String,v=Array.isArray||function(e){return e instanceof Array||"[object Array]"==h.call(e)},g=function e(t,n){var r,i=o,u=Array.prototype.slice.call(arguments,2),l=e.listeners(t),s=0,f=[],h={},m=[],v=a;m.firstDefined=d,m.lastDefined=p,a=t,o=0;for(var g=0,y=l.length;g<y;g++)"zIndex"in l[g]&&(f.push(l[g].zIndex),l[g].zIndex<0&&(h[l[g].zIndex]=l[g]));for(f.sort(c);f[s]<0;)if(r=h[f[s++]],m.push(r.apply(n,u)),o)return o=i,m;for(g=0;g<y;g++)if("zIndex"in(r=l[g]))if(r.zIndex==f[s]){if(m.push(r.apply(n,u)),o)break;do{if((r=h[f[++s]])&&m.push(r.apply(n,u)),o)break}while(r)}else h[r.zIndex]=r;else if(m.push(r.apply(n,u)),o)break;return o=i,a=v,m};g._events=f,g.listeners=function(e){var t,n,r,a,o,i,u,s,c=v(e)?e:e.split(l),d=f,p=[d],h=[];for(a=0,o=c.length;a<o;a++){for(s=[],i=0,u=p.length;i<u;i++)for(n=[(d=p[i].n)[c[a]],d["*"]],r=2;r--;)(t=n[r])&&(s.push(t),h=h.concat(t.f||[]));p=s}return h},g.separator=function(e){e?(e="["+(e=m(e).replace(/(?=[\.\^\]\[\-])/g,"\\"))+"]",l=new RegExp(e)):l=/[\.\/]/},g.on=function(e,t){if("function"!=typeof t)return function(){};for(var n=v(e)?v(e[0])?e:[e]:m(e).split(s),r=0,a=n.length;r<a;r++)!function(e){for(var n,r=v(e)?e:m(e).split(l),a=f,o=0,i=r.length;o<i;o++)a=(a=a.n).hasOwnProperty(r[o])&&a[r[o]]||(a[r[o]]={n:{}});for(a.f=a.f||[],o=0,i=a.f.length;o<i;o++)if(a.f[o]==t){n=!0;break}!n&&a.f.push(t)}(n[r]);return function(e){+e==+e&&(t.zIndex=+e)}},g.f=function(e){var t=[].slice.call(arguments,1);return function(){g.apply(null,[e,null].concat(t).concat([].slice.call(arguments,0)))}},g.stop=function(){o=1},g.nt=function(e){var t=v(a)?a.join("."):a;return e?new RegExp("(?:\\.|\\/|^)"+e+"(?:\\.|\\/|$)").test(t):t},g.nts=function(){return v(a)?a:a.split(l)},g.off=g.unbind=function(e,t){if(e){var n=v(e)?v(e[0])?e:[e]:m(e).split(s);if(n.length>1)for(var r=0,a=n.length;r<a;r++)g.off(n[r],t);else{n=v(e)?e:m(e).split(l);var o,i,c,d,p,h=[f],y=[];for(r=0,a=n.length;r<a;r++)for(d=0;d<h.length;d+=c.length-2){if(c=[d,1],o=h[d].n,"*"!=n[r])o[n[r]]&&(c.push(o[n[r]]),y.unshift({n:o,name:n[r]}));else for(i in o)o[u](i)&&(c.push(o[i]),y.unshift({n:o,name:i}));h.splice.apply(h,c)}for(r=0,a=h.length;r<a;r++)for(o=h[r];o.n;){if(t){if(o.f){for(d=0,p=o.f.length;d<p;d++)if(o.f[d]==t){o.f.splice(d,1);break}!o.f.length&&delete o.f}for(i in o.n)if(o.n[u](i)&&o.n[i].f){var b=o.n[i].f;for(d=0,p=b.length;d<p;d++)if(b[d]==t){b.splice(d,1);break}!b.length&&delete o.n[i].f}}else for(i in delete o.f,o.n)o.n[u](i)&&o.n[i].f&&delete o.n[i].f;o=o.n}e:for(r=0,a=y.length;r<a;r++){for(i in(o=y[r]).n[o.name].f)continue e;for(i in o.n[o.name].n)continue e;delete o.n[o.name]}}}else g._events=f={n:{}}},g.once=function(e,t){return g.on(e,(function n(){return g.off(e,n),t.apply(this,arguments)}))},g.version=i,g.toString=function(){return"You are running Eve 0.5.4"},n.eve=g,e.exports?e.exports=g:void 0===(r=function(){return g}.apply(t,[]))||(e.exports=r)}("undefined"!=typeof window?window:this)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(30)),o=r(n(12)),i=n(31),u={svg:{lib:a.default,pathInitial:"M-7.312,0H0c0,0,0,113.839,0,400c0,264.506,0,400,0,400h-7.312V0z",pathOpen:"M-7.312,0H15c0,0,66,113.339,66,399.5C81,664.006,15,800,15,800H-7.312V0z;M-7.312,0H100c0,0,0,113.839,0,400c0,264.506,0,400,0,400H-7.312V0z",animate:function(e){var t=0,n=this.pathOpen.split(";"),r=n.length,a=window.mina;!function o(){t>r-1||(e.animate({path:n[t]},0===t?400:500,0===t?a.easein:a.elastic,(function(){o()})),t++)}()}},morphShape:function(e,t,n){return{position:"absolute",width:"100%",height:"100%",right:n?"inherit":0,left:n?0:"inherit",MozTransform:n?"rotateY(180deg)":"rotateY(0deg)",MsTransform:n?"rotateY(180deg)":"rotateY(0deg)",OTransform:n?"rotateY(180deg)":"rotateY(0deg)",WebkitTransform:n?"rotateY(180deg)":"rotateY(0deg)",transform:n?"rotateY(180deg)":"rotateY(0deg)"}},menuWrap:function(e,t,n){return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:e?"transform 0.4s 0s":"transform 0.4s"}},menu:function(e,t,n){var r=(0,i.pxToNum)(t)-140;return{position:"fixed",MozTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",MsTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",OTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",WebkitTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transition:e?"opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}},item:function(e,t,n,r){var a=(0,i.pxToNum)(t)-140;return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",transition:e?"opacity 0.3s 0.4s, transform 0.3s 0.4s":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}},closeButton:function(e,t,n){var r=(0,i.pxToNum)(t)-140;return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transition:e?"opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}}};t.default=(0,o.default)(u),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s"}},outerContainer:function(e){return{overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",transform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",transformOrigin:n?"100% 50%":"0% 50%",transformStyle:"preserve-3d",transition:"all 0.5s"}},outerContainer:function(e){return{perspective:"1500px",overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t){return{MozTransform:e?"":"translate3d(0, 0, -"+t+")",MsTransform:e?"":"translate3d(0, 0, -"+t+")",OTransform:e?"":"translate3d(0, 0, -"+t+")",WebkitTransform:e?"":"translate3d(0, 0, -"+t+")",transform:e?"":"translate3d(0, 0, -"+t+")",transformOrigin:"100%",transformStyle:"preserve-3d",transition:"all 0.5s"}},outerContainer:function(){return{perspective:"1500px"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",MsTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",OTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",WebkitTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",transform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",transformStyle:"preserve-3d",transition:"all 0.5s",overflow:e?"":"hidden"}},outerContainer:function(e){return{perspective:"1500px",overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({menuWrap:function(e){return{MozTransform:e?"":"translate3d(0, -100%, 0)",MsTransform:e?"":"translate3d(0, -100%, 0)",OTransform:e?"":"translate3d(0, -100%, 0)",WebkitTransform:e?"":"translate3d(0, -100%, 0)",transform:e?"":"translate3d(0, -100%, 0)",transition:"all 0.5s ease-in-out"}},pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s"}},outerContainer:function(e){return{perspective:"1500px",perspectiveOrigin:"0% 50%",overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({menuWrap:function(e,t,n){return{MozTransform:"translate3d(0, 0, 0)",MsTransform:"translate3d(0, 0, 0)",OTransform:"translate3d(0, 0, 0)",WebkitTransform:"translate3d(0, 0, 0)",transform:"translate3d(0, 0, 0)",zIndex:e?1e3:-1}},overlay:function(e,t,n){return{zIndex:1400,MozTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",MsTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",OTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",WebkitTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",transform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",transition:"all 0.5s",visibility:e?"visible":"hidden"}},pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s",zIndex:1200,position:"relative"}},burgerIcon:function(e,t,n){return{MozTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",MsTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",OTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",WebkitTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",transform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",transition:"all 0.1s",position:"relative",zIndex:1300}},outerContainer:function(e){return{overflow:e?"":"hidden"}}}),e.exports=t.default}]]); -//# sourceMappingURL=2.92bb91cc.chunk.js.map \ No newline at end of file +/*! For license information please see 2.c5f15404.chunk.js.LICENSE.txt */ +(this["webpackJsonpinaglobe-dashboard"]=this["webpackJsonpinaglobe-dashboard"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(39)},function(e,t,n){"use strict";e.exports=n(34)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(17);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){a=!0,o=l}finally{try{r||null==u.return||u.return()}finally{if(a)throw o}}return n}}(e,t)||Object(r.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){e.exports=n(45)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return g}));var r=n(6),a=n(9),o=n(1),i=n.n(o),u=n(11),l=(n(13),n(2)),s=n(14),c=n(10);i.a.Component;var f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=Object(u.b)(t.props),t}return Object(a.a)(t,e),t.prototype.render=function(){return i.a.createElement(r.b,{history:this.history,children:this.props.children})},t}(i.a.Component);var d=function(e,t){return"function"===typeof e?e(t):e},p=function(e,t){return"string"===typeof e?Object(u.c)(e,null,null,t):e},h=function(e){return e},m=i.a.forwardRef;"undefined"===typeof m&&(m=h);var v=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,o=Object(s.a)(e,["innerRef","navigate","onClick"]),u=o.target,c=Object(l.a)({},o,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=h!==m&&t||n,i.a.createElement("a",c)}));var g=m((function(e,t){var n=e.component,a=void 0===n?v:n,o=e.replace,u=e.to,f=e.innerRef,g=Object(s.a)(e,["component","replace","to","innerRef"]);return i.a.createElement(r.d.Consumer,null,(function(e){e||Object(c.a)(!1);var n=e.history,r=p(d(u,e.location),e.location),s=r?n.createHref(r):"",v=Object(l.a)({},g,{href:s,navigate:function(){var t=d(u,e.location);(o?n.replace:n.push)(t)}});return h!==m?v.ref=t||f:v.innerRef=f,i.a.createElement(a,v)}))})),y=function(e){return e},b=i.a.forwardRef;"undefined"===typeof b&&(b=y);b((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,o=e.activeClassName,u=void 0===o?"active":o,f=e.activeStyle,h=e.className,m=e.exact,v=e.isActive,x=e.location,w=e.sensitive,k=e.strict,O=e.style,C=e.to,S=e.innerRef,E=Object(s.a)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return i.a.createElement(r.d.Consumer,null,(function(e){e||Object(c.a)(!1);var n=x||e.location,o=p(d(C,n),n),s=o.pathname,_=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),F=_?Object(r.e)(n.pathname,{path:_,exact:m,sensitive:w,strict:k}):null,P=!!(v?v(F,n):F),T=P?function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(h,u):h,M=P?Object(l.a)({},O,{},f):O,j=Object(l.a)({"aria-current":P&&a||null,className:T,style:M,to:o},E);return y!==b?j.ref=t||S:j.innerRef=S,i.a.createElement(g,j)}))}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return y})),n.d(t,"f",(function(){return _})),n.d(t,"g",(function(){return F}));var r=n(9),a=n(1),o=n.n(a),i=(n(13),n(11)),u=n(26),l=n(10),s=n(2),c=n(27),f=n.n(c),d=(n(28),n(14)),p=(n(18),function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History")),h=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),m=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.a.createElement(h.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.a.createElement(p.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.a.Component);o.a.Component;o.a.Component;var v={},g=0;function y(e,t){void 0===t&&(t={}),("string"===typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,u=void 0!==i&&i,l=n.sensitive,s=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=v[n]||(v[n]={});if(r[e])return r[e];var a=[],o={regexp:f()(e,a,t),keys:a};return g<1e4&&(r[e]=o,g++),o}(n,{end:o,strict:u,sensitive:s}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var c=l[0],d=l.slice(1),p=e===c;return o&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=d[n],e}),{})}}),null)}var b=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(h.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?y(n.pathname,e.props):t.match,a=Object(s.a)({},t,{location:n,match:r}),i=e.props,u=i.children,c=i.component,f=i.render;return Array.isArray(u)&&0===u.length&&(u=null),o.a.createElement(h.Provider,{value:a},a.match?u?"function"===typeof u?u(a):u:c?o.a.createElement(c,a):f?f(a):null:"function"===typeof u?u(a):null)}))},t}(o.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function w(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:Object(s.a)({},t,{pathname:t.pathname.substr(n.length)})}function k(e){return"string"===typeof e?e:Object(i.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function C(){}o.a.Component;var S=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(h.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,a=e.props.location||t.location;return o.a.Children.forEach(e.props.children,(function(e){if(null==r&&o.a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?y(a.pathname,Object(s.a)({},e.props,{path:i})):t.match}})),r?o.a.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.a.Component);var E=o.a.useContext;function _(){return E(p)}function F(){var e=E(h).match;return e?e.params:{}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(15);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){Object(r.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}},function(e,t,n){"use strict";function r(e,t,n,r,a,o,i){try{var u=e[o](i),l=u.value}catch(s){return void n(s)}u.done?t(l):Promise.resolve(l).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,l,"next",e)}function l(e){r(i,a,o,u,l,"throw",e)}u(void 0)}))}}n.d(t,"a",(function(){return a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(20);function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Object(r.a)(e,t)}},function(e,t,n){"use strict";var r="Invariant failed";t.a=function(e,t){if(!e)throw new Error(r)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return O})),n.d(t,"b",(function(){return P})),n.d(t,"d",(function(){return M})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var r=n(2);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}var i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],u=e&&a(e),l=t&&a(t),s=u||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var f=0,d=i.length;d>=0;d--){var p=i[d];"."===p?o(i,d):".."===p?(o(i,d),f++):f&&(o(i,d),f--)}if(!s)for(;f--;f)i.unshift("..");!s||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=u(t),a=u(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},s=n(10);function c(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function m(e,t,n,a){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(r.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(u){throw u instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):u}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var y=!("undefined"===typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}var x="popstate",w="hashchange";function k(){try{return window.history.state||{}}catch(e){return{}}}function O(e){void 0===e&&(e={}),y||Object(s.a)(!1);var t=window.history,n=function(){var e=window.navigator.userAgent;return(-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history}(),a=!(-1===window.navigator.userAgent.indexOf("Trident")),o=e,i=o.forceRefresh,u=void 0!==i&&i,l=o.getUserConfirmation,f=void 0===l?b:l,v=o.keyLength,O=void 0===v?6:v,C=e.basename?p(c(e.basename)):"";function S(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return C&&(o=d(o,C)),m(o,r,n)}function E(){return Math.random().toString(36).substr(2,O)}var _=g();function F(e){Object(r.a)(V,e),V.length=t.length,_.notifyListeners(V.location,V.action)}function P(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(S(e.state))}function T(){j(S(k()))}var M=!1;function j(e){if(M)M=!1,F();else{_.confirmTransitionTo(e,"POP",f,(function(t){t?F({action:"POP",location:e}):function(e){var t=V.location,n=A.indexOf(t.key);-1===n&&(n=0);var r=A.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(M=!0,L(a))}(e)}))}}var N=S(k()),A=[N.key];function I(e){return C+h(e)}function L(e){t.go(e)}var D=0;function R(e){1===(D+=e)&&1===e?(window.addEventListener(x,P),a&&window.addEventListener(w,T)):0===D&&(window.removeEventListener(x,P),a&&window.removeEventListener(w,T))}var z=!1;var V={length:t.length,action:"POP",location:N,createHref:I,push:function(e,r){var a="PUSH",o=m(e,r,E(),V.location);_.confirmTransitionTo(o,a,f,(function(e){if(e){var r=I(o),i=o.key,l=o.state;if(n)if(t.pushState({key:i,state:l},null,r),u)window.location.href=r;else{var s=A.indexOf(V.location.key),c=A.slice(0,s+1);c.push(o.key),A=c,F({action:a,location:o})}else window.location.href=r}}))},replace:function(e,r){var a="REPLACE",o=m(e,r,E(),V.location);_.confirmTransitionTo(o,a,f,(function(e){if(e){var r=I(o),i=o.key,l=o.state;if(n)if(t.replaceState({key:i,state:l},null,r),u)window.location.replace(r);else{var s=A.indexOf(V.location.key);-1!==s&&(A[s]=o.key),F({action:a,location:o})}else window.location.replace(r)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=_.setPrompt(e);return z||(R(1),z=!0),function(){return z&&(z=!1,R(-1)),t()}},listen:function(e){var t=_.appendListener(e);return R(1),function(){R(-1),t()}}};return V}var C="hashchange",S={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:c},slash:{encodePath:c,decodePath:c}};function E(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function _(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function F(e){window.location.replace(E(window.location.href)+"#"+e)}function P(e){void 0===e&&(e={}),y||Object(s.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?b:a,i=n.hashType,u=void 0===i?"slash":i,l=e.basename?p(c(e.basename)):"",f=S[u],v=f.encodePath,x=f.decodePath;function w(){var e=x(_());return l&&(e=d(e,l)),m(e)}var k=g();function O(e){Object(r.a)(V,e),V.length=t.length,k.notifyListeners(V.location,V.action)}var P=!1,T=null;function M(){var e,t,n=_(),r=v(n);if(n!==r)F(r);else{var a=w(),i=V.location;if(!P&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(T===h(a))return;T=null,function(e){if(P)P=!1,O();else{var t="POP";k.confirmTransitionTo(e,t,o,(function(n){n?O({action:t,location:e}):function(e){var t=V.location,n=I.lastIndexOf(h(t));-1===n&&(n=0);var r=I.lastIndexOf(h(e));-1===r&&(r=0);var a=n-r;a&&(P=!0,L(a))}(e)}))}}(a)}}var j=_(),N=v(j);j!==N&&F(N);var A=w(),I=[h(A)];function L(e){t.go(e)}var D=0;function R(e){1===(D+=e)&&1===e?window.addEventListener(C,M):0===D&&window.removeEventListener(C,M)}var z=!1;var V={length:t.length,action:"POP",location:A,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=E(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n="PUSH",r=m(e,void 0,void 0,V.location);k.confirmTransitionTo(r,n,o,(function(e){if(e){var t=h(r),a=v(l+t);if(_()!==a){T=t,function(e){window.location.hash=e}(a);var o=I.lastIndexOf(h(V.location)),i=I.slice(0,o+1);i.push(t),I=i,O({action:n,location:r})}else O()}}))},replace:function(e,t){var n="REPLACE",r=m(e,void 0,void 0,V.location);k.confirmTransitionTo(r,n,o,(function(e){if(e){var t=h(r),a=v(l+t);_()!==a&&(T=t,F(a));var o=I.indexOf(h(V.location));-1!==o&&(I[o]=t),O({action:n,location:r})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return z||(R(1),z=!0),function(){return z&&(z=!1,R(-1)),t()}},listen:function(e){var t=k.appendListener(e);return R(1),function(){R(-1),t()}}};return V}function T(e,t,n){return Math.min(Math.max(e,t),n)}function M(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,u=void 0===i?0:i,l=t.keyLength,s=void 0===l?6:l,c=g();function f(e){Object(r.a)(x,e),x.length=x.entries.length,c.notifyListeners(x.location,x.action)}function d(){return Math.random().toString(36).substr(2,s)}var p=T(u,0,o.length-1),v=o.map((function(e){return m(e,void 0,"string"===typeof e?d():e.key||d())})),y=h;function b(e){var t=T(x.index+e,0,x.entries.length-1),r=x.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var x={length:v.length,action:"POP",location:v[p],index:p,entries:v,createHref:y,push:function(e,t){var r="PUSH",a=m(e,t,d(),x.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=x.index+1,n=x.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),f({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=m(e,t,d(),x.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(x.entries[x.index]=a,f({action:r,location:a}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=x.index+e;return t>=0&&t<x.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return x}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){a=!0,o=l}finally{try{!r&&u.return&&u.return()}finally{if(a)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function o(e){return e&&e.__esModule?e:{default:e}}var i=o(n(1)),u=(o(n(16)),o(n(13))),l=o(n(57)),s=n(58),c=o(n(59)),f=o(n(60));t.default=function(e){if(!e)throw new Error("No styles supplied");var t="ArrowDown",n="ArrowUp";var o=function(o){var u=i.default.useState(!1),d=r(u,2),p=d[0],h=d[1],m=i.default.useRef(),v=i.default.useRef({}),g=function(e){var t=i.default.useRef(e);return i.default.useEffect((function(){t.current=e})),t.current}(o.isOpen);function y(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];v.current=e,O(),setTimeout((function(){h((function(t){return"undefined"!==typeof e.isOpen?e.isOpen:!t}))}))}function b(){"function"===typeof o.onClose?o.onClose():y()}function x(e,t){var n=o.width,r=o.right;return e(p,"string"!==typeof n?n+"px":n,r,t)}function w(t,n,r){var i="bm"+t.replace(t.charAt(0),t.charAt(0).toUpperCase()),u=l.default[t]?x(l.default[t]):{};return e[t]&&(u=a({},u,x(e[t],n+1))),o.styles[i]&&(u=a({},u,o.styles[i])),r&&(u=a({},u,r)),o.noTransition&&delete u.transition,u}function k(e,t,n){var r=document.getElementById(e);if(r){var a=x(t);for(var i in a)a.hasOwnProperty(i)&&(r.style[i]=n?a[i]:"");var u=function(e){return e.style["overflow-x"]=n?"hidden":""};o.htmlClassName||u(document.querySelector("html")),o.bodyClassName||u(document.querySelector("body"))}else console.error("Element with ID '"+e+"' not found")}function O(){var t=arguments.length<=0||void 0===arguments[0]||arguments[0],n=function(e,n){return e.classList[t?"add":"remove"](n)};o.htmlClassName&&n(document.querySelector("html"),o.htmlClassName),o.bodyClassName&&n(document.querySelector("body"),o.bodyClassName),e.pageWrap&&o.pageWrapId&&k(o.pageWrapId,e.pageWrap,t),e.outerContainer&&o.outerContainerId&&k(o.outerContainerId,e.outerContainer,t);var r=document.querySelector(".bm-menu-wrap");r&&(t?r.removeAttribute("hidden"):r.setAttribute("hidden",!0))}function C(){m.current&&clearTimeout(m.current)}function S(e){switch((e=e||window.event).key){case"Escape":o.disableCloseOnEsc||(b(),(0,s.focusOnMenuButton)());break;case t:(0,s.focusOnNextMenuItem)();break;case n:(0,s.focusOnPreviousMenuItem)();break;case"Home":(0,s.focusOnFirstMenuItem)();break;case"End":(0,s.focusOnLastMenuItem)()}}function E(e){if((e=e||window.event).target===document.getElementById("react-burger-menu-btn"))switch(e.key){case t:case" ":y();break;case n:y({focusOnLastItem:!0})}}return i.default.useEffect((function(){return o.isOpen&&y({isOpen:!0,noStateChange:!0}),function(){O(!1),C()}}),[]),i.default.useEffect((function(){"undefined"!==typeof o.isOpen&&o.isOpen!==p&&o.isOpen!==g?y():e.svg&&function(){var t=document.getElementById("bm-morph-shape"),n=e.svg.lib(t).select("path");p?e.svg.animate(n):setTimeout((function(){n.attr("d",e.svg.pathInitial)}),300)}()})),i.default.useEffect((function(){var e=v.current,t=e.noStateChange,n=e.focusOnLastItem;t||o.onStateChange({isOpen:p}),o.disableAutoFocus||(p?n?(0,s.focusOnLastMenuItem)():(0,s.focusOnFirstMenuItem)():document.activeElement?document.activeElement.blur():document.body.blur()),C(),m.current=setTimeout((function(){m.current=null,p||O(!1)}),500);var r=p?S:E,a=o.customOnKeyDown||r;return window.addEventListener("keydown",a),function(){window.removeEventListener("keydown",a)}}),[p]),i.default.createElement("div",null,!o.noOverlay&&i.default.createElement("div",{className:("bm-overlay "+o.overlayClassName).trim(),onClick:function(){!0===o.disableOverlayClick||"function"===typeof o.disableOverlayClick&&o.disableOverlayClick()||b()},style:w("overlay")}),!1!==o.customBurgerIcon&&i.default.createElement("div",{style:w("burgerIcon")},i.default.createElement(c.default,{onClick:function(){"function"===typeof o.onOpen?o.onOpen():y()},styles:o.styles,customIcon:o.customBurgerIcon,className:o.burgerButtonClassName,barClassName:o.burgerBarClassName,onIconStateChange:o.onIconStateChange})),i.default.createElement("div",{id:o.id,className:("bm-menu-wrap "+o.className).trim(),style:w("menuWrap"),"aria-hidden":!p},e.svg&&i.default.createElement("div",{id:"bm-morph-shape",className:("bm-morph-shape "+o.morphShapeClassName).trim(),style:w("morphShape")},i.default.createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 100 800",preserveAspectRatio:"none"},i.default.createElement("path",{d:e.svg.pathInitial}))),i.default.createElement("div",{className:("bm-menu "+o.menuClassName).trim(),style:w("menu")},i.default.createElement(o.itemListElement,{className:("bm-item-list "+o.itemListClassName).trim(),style:w("itemList")},i.default.Children.map(o.children,(function(e,t){if(e){var n={key:t,className:["bm-item",o.itemClassName,e.props.className].filter((function(e){return!!e})).join(" "),style:w("item",t,e.props.style),tabIndex:p?0:-1};return i.default.cloneElement(e,n)}})))),!1!==o.customCrossIcon&&i.default.createElement("div",{style:w("closeButton")},i.default.createElement(f.default,{onClick:b,styles:o.styles,customIcon:o.customCrossIcon,className:o.crossButtonClassName,crossClassName:o.crossClassName,isOpen:p}))))};return o.propTypes={bodyClassName:u.default.string,burgerBarClassName:u.default.string,burgerButtonClassName:u.default.string,className:u.default.string,crossButtonClassName:u.default.string,crossClassName:u.default.string,customBurgerIcon:u.default.oneOfType([u.default.element,u.default.oneOf([!1])]),customCrossIcon:u.default.oneOfType([u.default.element,u.default.oneOf([!1])]),customOnKeyDown:u.default.func,disableAutoFocus:u.default.bool,disableCloseOnEsc:u.default.bool,disableOverlayClick:u.default.oneOfType([u.default.bool,u.default.func]),htmlClassName:u.default.string,id:u.default.string,isOpen:u.default.bool,itemClassName:u.default.string,itemListClassName:u.default.string,itemListElement:u.default.oneOf(["div","nav"]),menuClassName:u.default.string,morphShapeClassName:u.default.string,noOverlay:u.default.bool,noTransition:u.default.bool,onClose:u.default.func,onIconHoverChange:u.default.func,onOpen:u.default.func,onStateChange:u.default.func,outerContainerId:e&&e.outerContainer?u.default.string.isRequired:u.default.string,overlayClassName:u.default.string,pageWrapId:e&&e.pageWrap?u.default.string.isRequired:u.default.string,right:u.default.bool,styles:u.default.object,width:u.default.oneOfType([u.default.number,u.default.string])},o.defaultProps={bodyClassName:"",burgerBarClassName:"",burgerButtonClassName:"",className:"",crossButtonClassName:"",crossClassName:"",disableAutoFocus:!1,disableCloseOnEsc:!1,htmlClassName:"",id:"",itemClassName:"",itemListClassName:"",menuClassName:"",morphShapeClassName:"",noOverlay:!1,noTransition:!1,onStateChange:function(){},outerContainerId:"",overlayClassName:"",pageWrapId:"",styles:{},width:300,onIconHoverChange:function(){},itemListElement:"nav"},o},e.exports=t.default},function(e,t,n){e.exports=n(40)()},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(35)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(19);function a(e,t){if(e){if("string"===typeof e)return Object(r.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(e,t):void 0}}},function(e,t,n){"use strict";var r=n(28),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function l(e){return r.isMemo(e)?i:u[e.$$typeof]||a}u[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[r.Memo]=i;var s=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var i=c(n);f&&(i=i.concat(f(n)));for(var u=l(t),m=l(n),v=0;v<i.length;++v){var g=i[v];if(!o[g]&&(!r||!r[g])&&(!m||!m[g])&&(!u||!u[g])){var y=d(n,g);try{s(t,g,y)}catch(b){}}}}return t}},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(2),a=n(1),o=n.n(a);var i=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(u){0}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),u="-ms-",l="-moz-",s="-webkit-",c="comm",f="rule",d="decl",p=Math.abs,h=String.fromCharCode;function m(e){return e.trim()}function v(e,t,n){return e.replace(t,n)}function g(e,t){return e.indexOf(t)}function y(e,t){return 0|e.charCodeAt(t)}function b(e,t,n){return e.slice(t,n)}function x(e){return e.length}function w(e){return e.length}function k(e,t){return t.push(e),e}function O(e,t){return e.map(t).join("")}var C=1,S=1,E=0,_=0,F=0,P="";function T(e,t,n,r,a,o,i){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:C,column:S,length:i,return:""}}function M(e,t,n){return T(e,t.root,t.parent,n,t.props,t.children,0)}function j(){return F=_>0?y(P,--_):0,S--,10===F&&(S=1,C--),F}function N(){return F=_<E?y(P,_++):0,S++,10===F&&(S=1,C++),F}function A(){return y(P,_)}function I(){return _}function L(e,t){return b(P,e,t)}function D(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function R(e){return C=S=1,E=x(P=e),_=0,[]}function z(e){return P="",e}function V(e){return m(L(_-1,H(91===e?e+2:40===e?e+1:e)))}function B(e){for(;(F=A())&&F<33;)N();return D(e)>2||D(F)>3?"":" "}function U(e,t){for(;--t&&N()&&!(F<48||F>102||F>57&&F<65||F>70&&F<97););return L(e,I()+(t<6&&32==A()&&32==N()))}function H(e){for(;N();)switch(F){case e:return _;case 34:case 39:return H(34===e||39===e?e:F);case 40:41===e&&H(e);break;case 92:N()}return _}function W(e,t){for(;N()&&e+F!==57&&(e+F!==84||47!==A()););return"/*"+L(t,_-1)+"*"+h(47===e?e:N())}function $(e){for(;!D(A());)N();return L(e,_)}function q(e){return z(Y("",null,null,null,[""],e=R(e),0,[0],e))}function Y(e,t,n,r,a,o,i,u,l){for(var s=0,c=0,f=i,d=0,p=0,m=0,g=1,y=1,b=1,w=0,O="",C=a,S=o,E=r,_=O;y;)switch(m=w,w=N()){case 34:case 39:case 91:case 40:_+=V(w);break;case 9:case 10:case 13:case 32:_+=B(m);break;case 92:_+=U(I()-1,7);continue;case 47:switch(A()){case 42:case 47:k(Q(W(N(),I()),t,n),l);break;default:_+="/"}break;case 123*g:u[s++]=x(_)*b;case 125*g:case 59:case 0:switch(w){case 0:case 125:y=0;case 59+c:p>0&&x(_)-f&&k(p>32?X(_+";",r,n,f-1):X(v(_," ","")+";",r,n,f-2),l);break;case 59:_+=";";default:if(k(E=G(_,t,n,s,c,a,u,O,C=[],S=[],f),o),123===w)if(0===c)Y(_,t,E,E,C,o,f,u,S);else switch(d){case 100:case 109:case 115:Y(e,E,E,r&&k(G(e,E,E,0,0,a,u,O,a,C=[],f),S),a,S,f,u,r?C:S);break;default:Y(_,E,E,E,[""],S,f,u,S)}}s=c=p=0,g=b=1,O=_="",f=i;break;case 58:f=1+x(_),p=m;default:if(g<1)if(123==w)--g;else if(125==w&&0==g++&&125==j())continue;switch(_+=h(w),w*g){case 38:b=c>0?1:(_+="\f",-1);break;case 44:u[s++]=(x(_)-1)*b,b=1;break;case 64:45===A()&&(_+=V(N())),d=A(),c=x(O=_+=$(I())),w++;break;case 45:45===m&&2==x(_)&&(g=0)}}return o}function G(e,t,n,r,a,o,i,u,l,s,c){for(var d=a-1,h=0===a?o:[""],g=w(h),y=0,x=0,k=0;y<r;++y)for(var O=0,C=b(e,d+1,d=p(x=i[y])),S=e;O<g;++O)(S=m(x>0?h[O]+" "+C:v(C,/&\f/g,h[O])))&&(l[k++]=S);return T(e,t,n,0===a?f:u,l,s,c)}function Q(e,t,n){return T(e,t,n,c,h(F),b(e,2,-2),0)}function X(e,t,n,r){return T(e,t,n,d,b(e,0,r),b(e,r+1,-1),r)}function K(e,t){switch(function(e,t){return(((t<<2^y(e,0))<<2^y(e,1))<<2^y(e,2))<<2^y(e,3)}(e,t)){case 5103:return s+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return s+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return s+e+l+e+u+e+e;case 6828:case 4268:return s+e+u+e+e;case 6165:return s+e+u+"flex-"+e+e;case 5187:return s+e+v(e,/(\w+).+(:[^]+)/,s+"box-$1$2"+u+"flex-$1$2")+e;case 5443:return s+e+u+"flex-item-"+v(e,/flex-|-self/,"")+e;case 4675:return s+e+u+"flex-line-pack"+v(e,/align-content|flex-|-self/,"")+e;case 5548:return s+e+u+v(e,"shrink","negative")+e;case 5292:return s+e+u+v(e,"basis","preferred-size")+e;case 6060:return s+"box-"+v(e,"-grow","")+s+e+u+v(e,"grow","positive")+e;case 4554:return s+v(e,/([^-])(transform)/g,"$1"+s+"$2")+e;case 6187:return v(v(v(e,/(zoom-|grab)/,s+"$1"),/(image-set)/,s+"$1"),e,"")+e;case 5495:case 3959:return v(e,/(image-set\([^]*)/,s+"$1$`$1");case 4968:return v(v(e,/(.+:)(flex-)?(.*)/,s+"box-pack:$3"+u+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+s+e+e;case 4095:case 3583:case 4068:case 2532:return v(e,/(.+)-inline(.+)/,s+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(x(e)-1-t>6)switch(y(e,t+1)){case 109:if(45!==y(e,t+4))break;case 102:return v(e,/(.+:)(.+)-([^]+)/,"$1"+s+"$2-$3$1"+l+(108==y(e,t+3)?"$3":"$2-$3"))+e;case 115:return~g(e,"stretch")?K(v(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==y(e,t+1))break;case 6444:switch(y(e,x(e)-3-(~g(e,"!important")&&10))){case 107:return v(e,":",":"+s)+e;case 101:return v(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+s+(45===y(e,14)?"inline-":"")+"box$3$1"+s+"$2$3$1"+u+"$2box$3")+e}break;case 5936:switch(y(e,t+11)){case 114:return s+e+u+v(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return s+e+u+v(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return s+e+u+v(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return s+e+u+e+e}return e}function Z(e,t){for(var n="",r=w(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function J(e,t,n,r){switch(e.type){case"@import":case d:return e.return=e.return||e.value;case c:return"";case f:e.value=e.props.join(",")}return x(n=Z(e.children,r))?e.return=e.value+"{"+n+"}":""}function ee(e){return function(t){t.root||(t=t.return)&&e(t)}}var te=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}},ne=function(e,t){return z(function(e,t){var n=-1,r=44;do{switch(D(r)){case 0:38===r&&12===A()&&(t[n]=1),e[n]+=$(_-1);break;case 2:e[n]+=V(r);break;case 4:if(44===r){e[++n]=58===A()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=h(r)}}while(r=N());return e}(R(e),t))},re=new WeakMap,ae=function(e){if("rule"===e.type&&e.parent&&e.length){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||re.get(n))&&!r){re.set(e,!0);for(var a=[],o=ne(t,a),i=n.props,u=0,l=0;u<o.length;u++)for(var s=0;s<i.length;s++,l++)e.props[l]=a[u]?o[u].replace(/&\f/g,i[s]):i[s]+" "+o[u]}}},oe=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},ie=[function(e,t,n,r){if(!e.return)switch(e.type){case d:e.return=K(e.value,e.length);break;case"@keyframes":return Z([M(v(e.value,"@","@"+s),e,"")],r);case f:if(e.length)return O(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Z([M(v(t,/:(read-\w+)/,":-moz-$1"),e,"")],r);case"::placeholder":return Z([M(v(t,/:(plac\w+)/,":"+s+"input-$1"),e,""),M(v(t,/:(plac\w+)/,":-moz-$1"),e,""),M(v(t,/:(plac\w+)/,u+"input-$1"),e,"")],r)}return""}))}}],ue=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r=e.stylisPlugins||ie;var a,o,u={},l=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)u[t[n]]=!0;l.push(e)}));var s=[ae,oe];var c,f=[J,ee((function(e){c.insert(e)}))],d=function(e){var t=w(e);return function(n,r,a,o){for(var i="",u=0;u<t;u++)i+=e[u](n,r,a,o)||"";return i}}(s.concat(r,f));o=function(e,t,n,r){c=n,Z(q(e?e+"{"+t.styles+"}":t.styles),d),r&&(p.inserted[t.name]=!0)};var p={key:t,sheet:new i({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend}),nonce:e.nonce,inserted:u,registered:{},insert:o};return p.sheet.hydrate(l),p};n(18);function le(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}var se=function(e,t,n){var r=e.key+"-"+t.name;if(!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles),void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+r:"",a,e.sheet,!0);a=a.next}while(void 0!==a)}};var ce=function(e){for(var t,n=0,r=0,a=e.length;a>=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},fe={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},de=/[A-Z]|^ms/g,pe=/_EMO_([^_]+?)_([^]*?)_EMO_/g,he=function(e){return 45===e.charCodeAt(1)},me=function(e){return null!=e&&"boolean"!==typeof e},ve=te((function(e){return he(e)?e:e.replace(de,"-$&").toLowerCase()})),ge=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(pe,(function(e,t,n){return be={name:t,styles:n,next:be},t}))}return 1===fe[e]||he(e)||"number"!==typeof t||0===t?t:t+"px"};function ye(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return be={name:n.name,styles:n.styles,next:be},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)be={name:r.name,styles:r.styles,next:be},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=ye(e,t,n[a])+";";else for(var o in n){var i=n[o];if("object"!==typeof i)null!=t&&void 0!==t[i]?r+=o+"{"+t[i]+"}":me(i)&&(r+=ve(o)+":"+ge(o,i)+";");else if(!Array.isArray(i)||"string"!==typeof i[0]||null!=t&&void 0!==t[i[0]]){var u=ye(e,t,i);switch(o){case"animation":case"animationName":r+=ve(o)+":"+u+";";break;default:r+=o+"{"+u+"}"}}else for(var l=0;l<i.length;l++)me(i[l])&&(r+=ve(o)+":"+ge(o,i[l])+";")}return r}(e,t,n);case"function":if(void 0!==e){var a=be,o=n(e);return be=a,ye(e,t,o)}break;case"string":}if(null==t)return n;var i=t[n];return void 0!==i?i:n}var be,xe=/label:\s*([^\s;\n{]+)\s*(;|$)/g;var we=function(e,t,n){if(1===e.length&&"object"===typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,a="";be=void 0;var o=e[0];null==o||void 0===o.raw?(r=!1,a+=ye(n,t,o)):a+=o[0];for(var i=1;i<e.length;i++)a+=ye(n,t,e[i]),r&&(a+=o[i]);xe.lastIndex=0;for(var u,l="";null!==(u=xe.exec(a));)l+="-"+u[1];return{name:ce(a)+l,styles:a,next:be}},ke=Object.prototype.hasOwnProperty,Oe=Object(a.createContext)("undefined"!==typeof HTMLElement?ue({key:"css"}):null),Ce=Oe.Provider,Se=function(e){return Object(a.forwardRef)((function(t,n){var r=Object(a.useContext)(Oe);return e(t,r,n)}))},Ee=Object(a.createContext)({});var _e="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Fe=function(e,t){var n={};for(var r in t)ke.call(t,r)&&(n[r]=t[r]);return n[_e]=e,n},Pe=Se((function(e,t,n){var r=e.css;"string"===typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var o=e[_e],i=[r],u="";"string"===typeof e.className?u=le(t.registered,i,e.className):null!=e.className&&(u=e.className+" ");var l=we(i,void 0,"function"===typeof r||Array.isArray(r)?Object(a.useContext)(Ee):void 0);se(t,l,"string"===typeof o);u+=t.key+"-"+l.name;var s={};for(var c in e)ke.call(e,c)&&"css"!==c&&c!==_e&&(s[c]=e[c]);return s.ref=n,s.className=u,Object(a.createElement)(o,s)}));n(29);var Te=function(e,t){var n=arguments;if(null==t||!ke.call(t,"css"))return a.createElement.apply(void 0,n);var r=n.length,o=new Array(r);o[0]=Pe,o[1]=Fe(e,t);for(var i=2;i<r;i++)o[i]=n[i];return a.createElement.apply(null,o)};function Me(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return we(t)}var je=function e(t){for(var n=t.length,r=0,a="";r<n;r++){var o=t[r];if(null!=o){var i=void 0;switch(typeof o){case"boolean":break;case"object":if(Array.isArray(o))i=e(o);else for(var u in i="",o)o[u]&&u&&(i&&(i+=" "),i+=u);break;default:i=o}i&&(a&&(a+=" "),a+=i)}}return a};function Ne(e,t,n){var r=[],a=le(e,r,n);return r.length<2?n:a+t(r)}var Ae=Se((function(e,t){var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=we(n,t.registered);return se(t,a,!1),t.key+"-"+a.name},r={css:n,cx:function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return Ne(t.registered,n,je(r))},theme:Object(a.useContext)(Ee)},o=e.children(r);return!0,o}));var Ie=n(14);function Le(e,t){if(null==e)return{};var n,r,a=Object(Ie.a)(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function De(e){return(De="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Re=n(25),ze=n.n(Re);function Ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ue(e,t,n){return t&&Be(e.prototype,t),n&&Be(e,n),e}var He=n(20);function We(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Object(He.a)(e,t)}function $e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var qe=n(16);function Ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){Ye(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xe(e){return(Xe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ke(e,t){return!t||"object"!==typeof t&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ze(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(u){return!1}}();return function(){var n,r=Xe(e);if(t){var a=Xe(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return Ke(this,n)}}var Je=function(){};function et(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}function tt(e,t,n){var r=[n];if(t&&e)for(var a in t)t.hasOwnProperty(a)&&t[a]&&r.push("".concat(et(e,a)));return r.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(" ")}var nt=function(e){return Array.isArray(e)?e.filter(Boolean):"object"===De(e)&&null!==e?[e]:[]},rt=function(e){return e.className,e.clearValue,e.cx,e.getStyles,e.getValue,e.hasValue,e.isMulti,e.isRtl,e.options,e.selectOption,e.selectProps,e.setValue,e.theme,Qe({},Le(e,["className","clearValue","cx","getStyles","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"]))};function at(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function ot(e){return at(e)?window.pageYOffset:e.scrollTop}function it(e,t){at(e)?window.scrollTo(0,t):e.scrollTop=t}function ut(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}function lt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Je,a=ot(e),o=t-a,i=10,u=0;function l(){var t=ut(u+=i,a,o,n);it(e,t),u<n?window.requestAnimationFrame(l):r(e)}l()}function st(){try{return document.createEvent("TouchEvent"),!0}catch(u){return!1}}var ct=!1,ft={get passive(){return ct=!0}},dt="undefined"!==typeof window?window:{};dt.addEventListener&&dt.removeEventListener&&(dt.addEventListener("p",Je,ft),dt.removeEventListener("p",Je,!1));var pt=ct;function ht(e){var t=e.maxHeight,n=e.menuEl,r=e.minHeight,a=e.placement,o=e.shouldScroll,i=e.isFixedPosition,u=e.theme.spacing,l=function(e){var t=getComputedStyle(e),n="absolute"===t.position,r=/(auto|scroll)/,a=document.documentElement;if("fixed"===t.position)return a;for(var o=e;o=o.parentElement;)if(t=getComputedStyle(o),(!n||"static"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return o;return a}(n),s={placement:"bottom",maxHeight:t};if(!n||!n.offsetParent)return s;var c=l.getBoundingClientRect().height,f=n.getBoundingClientRect(),d=f.bottom,p=f.height,h=f.top,m=n.offsetParent.getBoundingClientRect().top,v=window.innerHeight,g=ot(l),y=parseInt(getComputedStyle(n).marginBottom,10),b=parseInt(getComputedStyle(n).marginTop,10),x=m-b,w=v-h,k=x+g,O=c-g-h,C=d-v+g+y,S=g+h-b,E=160;switch(a){case"auto":case"bottom":if(w>=p)return{placement:"bottom",maxHeight:t};if(O>=p&&!i)return o&<(l,C,E),{placement:"bottom",maxHeight:t};if(!i&&O>=r||i&&w>=r)return o&<(l,C,E),{placement:"bottom",maxHeight:i?w-y:O-y};if("auto"===a||i){var _=t,F=i?x:k;return F>=r&&(_=Math.min(F-y-u.controlHeight,t)),{placement:"top",maxHeight:_}}if("bottom"===a)return o&&it(l,C),{placement:"bottom",maxHeight:t};break;case"top":if(x>=p)return{placement:"top",maxHeight:t};if(k>=p&&!i)return o&<(l,S,E),{placement:"top",maxHeight:t};if(!i&&k>=r||i&&x>=r){var P=t;return(!i&&k>=r||i&&x>=r)&&(P=i?x-b:k-b),o&<(l,S,E),{placement:"top",maxHeight:P}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(a,'".'))}return s}var mt=function(e){return"auto"===e?"bottom":e},vt=Object(a.createContext)({getPortalPlacement:null}),gt=function(e){We(n,e);var t=Ze(n);function n(){var e;Ve(this,n);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return(e=t.call.apply(t,[this].concat(a))).state={maxHeight:e.props.maxMenuHeight,placement:null},e.getPlacement=function(t){var n=e.props,r=n.minMenuHeight,a=n.maxMenuHeight,o=n.menuPlacement,i=n.menuPosition,u=n.menuShouldScrollIntoView,l=n.theme;if(t){var s="fixed"===i,c=ht({maxHeight:a,menuEl:t,minHeight:r,placement:o,shouldScroll:u&&!s,isFixedPosition:s,theme:l}),f=e.context.getPortalPlacement;f&&f(c),e.setState(c)}},e.getUpdatedProps=function(){var t=e.props.menuPlacement,n=e.state.placement||mt(t);return Qe(Qe({},e.props),{},{placement:n,maxHeight:e.state.maxHeight})},e}return Ue(n,[{key:"render",value:function(){return(0,this.props.children)({ref:this.getPlacement,placerProps:this.getUpdatedProps()})}}]),n}(a.Component);gt.contextType=vt;var yt=function(e){var t=e.theme,n=t.spacing.baseUnit;return{color:t.colors.neutral40,padding:"".concat(2*n,"px ").concat(3*n,"px"),textAlign:"center"}},bt=yt,xt=yt,wt=function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("noOptionsMessage",e),className:a({"menu-notice":!0,"menu-notice--no-options":!0},n)},i),t)};wt.defaultProps={children:"No options"};var kt=function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("loadingMessage",e),className:a({"menu-notice":!0,"menu-notice--loading":!0},n)},i),t)};kt.defaultProps={children:"Loading..."};var Ot,Ct=function(e){We(n,e);var t=Ze(n);function n(){var e;Ve(this,n);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return(e=t.call.apply(t,[this].concat(a))).state={placement:null},e.getPortalPlacement=function(t){var n=t.placement;n!==mt(e.props.menuPlacement)&&e.setState({placement:n})},e}return Ue(n,[{key:"render",value:function(){var e=this.props,t=e.appendTo,n=e.children,a=e.className,o=e.controlElement,i=e.cx,u=e.innerProps,l=e.menuPlacement,s=e.menuPosition,c=e.getStyles,f="fixed"===s;if(!t&&!f||!o)return null;var d=this.state.placement||mt(l),p=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(o),h=f?0:window.pageYOffset,m={offset:p[d]+h,position:s,rect:p},v=Te("div",Object(r.a)({css:c("menuPortal",m),className:i({"menu-portal":!0},a)},u),n);return Te(vt.Provider,{value:{getPortalPlacement:this.getPortalPlacement}},t?Object(qe.createPortal)(v,t):v)}}]),n}(a.Component);var St,Et,_t={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},Ft=function(e){var t=e.size,n=Le(e,["size"]);return Te("svg",Object(r.a)({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:_t},n))},Pt=function(e){return Te(Ft,Object(r.a)({size:20},e),Te("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},Tt=function(e){return Te(Ft,Object(r.a)({size:20},e),Te("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Mt=function(e){var t=e.isFocused,n=e.theme,r=n.spacing.baseUnit,a=n.colors;return{label:"indicatorContainer",color:t?a.neutral60:a.neutral20,display:"flex",padding:2*r,transition:"color 150ms",":hover":{color:t?a.neutral80:a.neutral40}}},jt=Mt,Nt=Mt,At=function(){var e=Me.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(Ot||(St=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],Et||(Et=St.slice(0)),Ot=Object.freeze(Object.defineProperties(St,{raw:{value:Object.freeze(Et)}})))),It=function(e){var t=e.delay,n=e.offset;return Te("span",{css:Me({animation:"".concat(At," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":null,height:"1em",verticalAlign:"top",width:"1em"},"","")})},Lt=function(e){var t=e.className,n=e.cx,a=e.getStyles,o=e.innerProps,i=e.isRtl;return Te("div",Object(r.a)({css:a("loadingIndicator",e),className:n({indicator:!0,"loading-indicator":!0},t)},o),Te(It,{delay:0,offset:i}),Te(It,{delay:160,offset:!0}),Te(It,{delay:320,offset:!i}))};Lt.defaultProps={size:4};var Dt=function(e){return{label:"input",background:0,border:0,fontSize:"inherit",opacity:e?0:1,outline:0,padding:0,color:"inherit"}},Rt=function(e){var t=e.children,n=e.innerProps;return Te("div",n,t)},zt=Rt,Vt=Rt;var Bt=function(e){var t=e.children,n=e.className,r=e.components,a=e.cx,o=e.data,i=e.getStyles,u=e.innerProps,l=e.isDisabled,s=e.removeProps,c=e.selectProps,f=r.Container,d=r.Label,p=r.Remove;return Te(Ae,null,(function(r){var h=r.css,m=r.cx;return Te(f,{data:o,innerProps:Qe({className:m(h(i("multiValue",e)),a({"multi-value":!0,"multi-value--is-disabled":l},n))},u),selectProps:c},Te(d,{data:o,innerProps:{className:m(h(i("multiValueLabel",e)),a({"multi-value__label":!0},n))},selectProps:c},t),Te(p,{data:o,innerProps:Qe({className:m(h(i("multiValueRemove",e)),a({"multi-value__remove":!0},n))},s),selectProps:c}))}))};Bt.defaultProps={cropWithEllipsis:!0};var Ut={ClearIndicator:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("clearIndicator",e),className:a({indicator:!0,"clear-indicator":!0},n)},i),t||Te(Pt,null))},Control:function(e){var t=e.children,n=e.cx,a=e.getStyles,o=e.className,i=e.isDisabled,u=e.isFocused,l=e.innerRef,s=e.innerProps,c=e.menuIsOpen;return Te("div",Object(r.a)({ref:l,css:a("control",e),className:n({control:!0,"control--is-disabled":i,"control--is-focused":u,"control--menu-is-open":c},o)},s),t)},DropdownIndicator:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("dropdownIndicator",e),className:a({indicator:!0,"dropdown-indicator":!0},n)},i),t||Te(Tt,null))},DownChevron:Tt,CrossIcon:Pt,Group:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.Heading,u=e.headingProps,l=e.innerProps,s=e.label,c=e.theme,f=e.selectProps;return Te("div",Object(r.a)({css:o("group",e),className:a({group:!0},n)},l),Te(i,Object(r.a)({},u,{selectProps:f,theme:c,getStyles:o,cx:a}),s),Te("div",null,t))},GroupHeading:function(e){var t=e.getStyles,n=e.cx,a=e.className,o=rt(e);o.data;var i=Le(o,["data"]);return Te("div",Object(r.a)({css:t("groupHeading",e),className:n({"group-heading":!0},a)},i))},IndicatorsContainer:function(e){var t=e.children,n=e.className,a=e.cx,o=e.innerProps,i=e.getStyles;return Te("div",Object(r.a)({css:i("indicatorsContainer",e),className:a({indicators:!0},n)},o),t)},IndicatorSeparator:function(e){var t=e.className,n=e.cx,a=e.getStyles,o=e.innerProps;return Te("span",Object(r.a)({},o,{css:a("indicatorSeparator",e),className:n({"indicator-separator":!0},t)}))},Input:function(e){var t=e.className,n=e.cx,a=e.getStyles,o=rt(e),i=o.innerRef,u=o.isDisabled,l=o.isHidden,s=Le(o,["innerRef","isDisabled","isHidden"]);return Te("div",{css:a("input",e)},Te(ze.a,Object(r.a)({className:n({input:!0},t),inputRef:i,inputStyle:Dt(l),disabled:u},s)))},LoadingIndicator:Lt,Menu:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerRef,u=e.innerProps;return Te("div",Object(r.a)({css:o("menu",e),className:a({menu:!0},n),ref:i},u),t)},MenuList:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps,u=e.innerRef,l=e.isMulti;return Te("div",Object(r.a)({css:o("menuList",e),className:a({"menu-list":!0,"menu-list--is-multi":l},n),ref:u},i),t)},MenuPortal:Ct,LoadingMessage:kt,NoOptionsMessage:wt,MultiValue:Bt,MultiValueContainer:zt,MultiValueLabel:Vt,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return Te("div",n,t||Te(Pt,{size:14}))},Option:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.isDisabled,u=e.isFocused,l=e.isSelected,s=e.innerRef,c=e.innerProps;return Te("div",Object(r.a)({css:o("option",e),className:a({option:!0,"option--is-disabled":i,"option--is-focused":u,"option--is-selected":l},n),ref:s},c),t)},Placeholder:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps;return Te("div",Object(r.a)({css:o("placeholder",e),className:a({placeholder:!0},n)},i),t)},SelectContainer:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.innerProps,u=e.isDisabled,l=e.isRtl;return Te("div",Object(r.a)({css:o("container",e),className:a({"--is-disabled":u,"--is-rtl":l},n)},i),t)},SingleValue:function(e){var t=e.children,n=e.className,a=e.cx,o=e.getStyles,i=e.isDisabled,u=e.innerProps;return Te("div",Object(r.a)({css:o("singleValue",e),className:a({"single-value":!0,"single-value--is-disabled":i},n)},u),t)},ValueContainer:function(e){var t=e.children,n=e.className,a=e.cx,o=e.innerProps,i=e.isMulti,u=e.getStyles,l=e.hasValue;return Te("div",Object(r.a)({css:u("valueContainer",e),className:a({"value-container":!0,"value-container--is-multi":i,"value-container--has-value":l},n)},o),t)}};function Ht(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wt(e){return function(e){if(Array.isArray(e))return Ht(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"===typeof e)return Ht(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ht(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var $t=Number.isNaN||function(e){return"number"===typeof e&&e!==e};function qt(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(r=e[n],a=t[n],!(r===a||$t(r)&&$t(a)))return!1;var r,a;return!0}var Yt=function(e,t){var n;void 0===t&&(t=qt);var r,a=[],o=!1;return function(){for(var i=[],u=0;u<arguments.length;u++)i[u]=arguments[u];return o&&n===this&&t(i,a)||(r=e.apply(this,i),o=!0,n=this,a=i),r}};for(var Gt={name:"7pg0cj-a11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"},Qt=function(e){return Te("span",Object(r.a)({css:Gt},e))},Xt={guidance:function(e){var t=e.isSearchable,n=e.isMulti,r=e.isDisabled,a=e.tabSelectsValue;switch(e.context){case"menu":return"Use Up and Down to choose options".concat(r?"":", press Enter to select the currently focused option",", press Escape to exit the menu").concat(a?", press Tab to select the option and exit the menu":"",".");case"input":return"".concat(e["aria-label"]||"Select"," is focused ").concat(t?",type to refine list":"",", press Down to open the menu, ").concat(n?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value";default:return""}},onChange:function(e){var t=e.action,n=e.label,r=void 0===n?"":n,a=e.isDisabled;switch(t){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(r,", deselected.");case"select-option":return"option ".concat(r,a?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,r=void 0===n?{}:n,a=e.options,o=e.label,i=void 0===o?"":o,u=e.selectValue,l=e.isDisabled,s=e.isSelected,c=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&u)return"value ".concat(i," focused, ").concat(c(u,r),".");if("menu"===t){var f=l?" disabled":"",d="".concat(s?"selected":"focused").concat(f);return"option ".concat(i," ").concat(d,", ").concat(c(a,r),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},Kt=function(e){var t=e.ariaSelection,n=e.focusedOption,r=e.focusedValue,i=e.focusableOptions,u=e.isFocused,l=e.selectValue,s=e.selectProps,c=s.ariaLiveMessages,f=s.getOptionLabel,d=s.inputValue,p=s.isMulti,h=s.isOptionDisabled,m=s.isSearchable,v=s.menuIsOpen,g=s.options,y=s.screenReaderStatus,b=s.tabSelectsValue,x=s["aria-label"],w=s["aria-live"],k=Object(a.useMemo)((function(){return Qe(Qe({},Xt),c||{})}),[c]),O=Object(a.useMemo)((function(){var e,n="";if(t&&k.onChange){var r=t.option,a=t.removedValue,o=t.value,i=a||r||(e=o,Array.isArray(e)?null:e),u=Qe({isDisabled:i&&h(i),label:i?f(i):""},t);n=k.onChange(u)}return n}),[t,h,f,k]),C=Object(a.useMemo)((function(){var e="",t=n||r,a=!!(n&&l&&l.includes(n));if(t&&k.onFocus){var o={focused:t,label:f(t),isDisabled:h(t),isSelected:a,options:g,context:t===n?"menu":"value",selectValue:l};e=k.onFocus(o)}return e}),[n,r,f,h,k,g,l]),S=Object(a.useMemo)((function(){var e="";if(v&&g.length&&k.onFilter){var t=y({count:i.length});e=k.onFilter({inputValue:d,resultsMessage:t})}return e}),[i,d,v,k,g,y]),E=Object(a.useMemo)((function(){var e="";if(k.guidance){var t=r?"value":v?"menu":"input";e=k.guidance({"aria-label":x,context:t,isDisabled:n&&h(n),isMulti:p,isSearchable:m,tabSelectsValue:b})}return e}),[x,n,r,p,h,m,v,k,b]),_="".concat(C," ").concat(S," ").concat(E);return Te(Qt,{"aria-live":w,"aria-atomic":"false","aria-relevant":"additions text"},u&&Te(o.a.Fragment,null,Te("span",{id:"aria-selection"},O),Te("span",{id:"aria-context"},_)))},Zt=[{base:"A",letters:"A\u24b6\uff21\xc0\xc1\xc2\u1ea6\u1ea4\u1eaa\u1ea8\xc3\u0100\u0102\u1eb0\u1eae\u1eb4\u1eb2\u0226\u01e0\xc4\u01de\u1ea2\xc5\u01fa\u01cd\u0200\u0202\u1ea0\u1eac\u1eb6\u1e00\u0104\u023a\u2c6f"},{base:"AA",letters:"\ua732"},{base:"AE",letters:"\xc6\u01fc\u01e2"},{base:"AO",letters:"\ua734"},{base:"AU",letters:"\ua736"},{base:"AV",letters:"\ua738\ua73a"},{base:"AY",letters:"\ua73c"},{base:"B",letters:"B\u24b7\uff22\u1e02\u1e04\u1e06\u0243\u0182\u0181"},{base:"C",letters:"C\u24b8\uff23\u0106\u0108\u010a\u010c\xc7\u1e08\u0187\u023b\ua73e"},{base:"D",letters:"D\u24b9\uff24\u1e0a\u010e\u1e0c\u1e10\u1e12\u1e0e\u0110\u018b\u018a\u0189\ua779"},{base:"DZ",letters:"\u01f1\u01c4"},{base:"Dz",letters:"\u01f2\u01c5"},{base:"E",letters:"E\u24ba\uff25\xc8\xc9\xca\u1ec0\u1ebe\u1ec4\u1ec2\u1ebc\u0112\u1e14\u1e16\u0114\u0116\xcb\u1eba\u011a\u0204\u0206\u1eb8\u1ec6\u0228\u1e1c\u0118\u1e18\u1e1a\u0190\u018e"},{base:"F",letters:"F\u24bb\uff26\u1e1e\u0191\ua77b"},{base:"G",letters:"G\u24bc\uff27\u01f4\u011c\u1e20\u011e\u0120\u01e6\u0122\u01e4\u0193\ua7a0\ua77d\ua77e"},{base:"H",letters:"H\u24bd\uff28\u0124\u1e22\u1e26\u021e\u1e24\u1e28\u1e2a\u0126\u2c67\u2c75\ua78d"},{base:"I",letters:"I\u24be\uff29\xcc\xcd\xce\u0128\u012a\u012c\u0130\xcf\u1e2e\u1ec8\u01cf\u0208\u020a\u1eca\u012e\u1e2c\u0197"},{base:"J",letters:"J\u24bf\uff2a\u0134\u0248"},{base:"K",letters:"K\u24c0\uff2b\u1e30\u01e8\u1e32\u0136\u1e34\u0198\u2c69\ua740\ua742\ua744\ua7a2"},{base:"L",letters:"L\u24c1\uff2c\u013f\u0139\u013d\u1e36\u1e38\u013b\u1e3c\u1e3a\u0141\u023d\u2c62\u2c60\ua748\ua746\ua780"},{base:"LJ",letters:"\u01c7"},{base:"Lj",letters:"\u01c8"},{base:"M",letters:"M\u24c2\uff2d\u1e3e\u1e40\u1e42\u2c6e\u019c"},{base:"N",letters:"N\u24c3\uff2e\u01f8\u0143\xd1\u1e44\u0147\u1e46\u0145\u1e4a\u1e48\u0220\u019d\ua790\ua7a4"},{base:"NJ",letters:"\u01ca"},{base:"Nj",letters:"\u01cb"},{base:"O",letters:"O\u24c4\uff2f\xd2\xd3\xd4\u1ed2\u1ed0\u1ed6\u1ed4\xd5\u1e4c\u022c\u1e4e\u014c\u1e50\u1e52\u014e\u022e\u0230\xd6\u022a\u1ece\u0150\u01d1\u020c\u020e\u01a0\u1edc\u1eda\u1ee0\u1ede\u1ee2\u1ecc\u1ed8\u01ea\u01ec\xd8\u01fe\u0186\u019f\ua74a\ua74c"},{base:"OI",letters:"\u01a2"},{base:"OO",letters:"\ua74e"},{base:"OU",letters:"\u0222"},{base:"P",letters:"P\u24c5\uff30\u1e54\u1e56\u01a4\u2c63\ua750\ua752\ua754"},{base:"Q",letters:"Q\u24c6\uff31\ua756\ua758\u024a"},{base:"R",letters:"R\u24c7\uff32\u0154\u1e58\u0158\u0210\u0212\u1e5a\u1e5c\u0156\u1e5e\u024c\u2c64\ua75a\ua7a6\ua782"},{base:"S",letters:"S\u24c8\uff33\u1e9e\u015a\u1e64\u015c\u1e60\u0160\u1e66\u1e62\u1e68\u0218\u015e\u2c7e\ua7a8\ua784"},{base:"T",letters:"T\u24c9\uff34\u1e6a\u0164\u1e6c\u021a\u0162\u1e70\u1e6e\u0166\u01ac\u01ae\u023e\ua786"},{base:"TZ",letters:"\ua728"},{base:"U",letters:"U\u24ca\uff35\xd9\xda\xdb\u0168\u1e78\u016a\u1e7a\u016c\xdc\u01db\u01d7\u01d5\u01d9\u1ee6\u016e\u0170\u01d3\u0214\u0216\u01af\u1eea\u1ee8\u1eee\u1eec\u1ef0\u1ee4\u1e72\u0172\u1e76\u1e74\u0244"},{base:"V",letters:"V\u24cb\uff36\u1e7c\u1e7e\u01b2\ua75e\u0245"},{base:"VY",letters:"\ua760"},{base:"W",letters:"W\u24cc\uff37\u1e80\u1e82\u0174\u1e86\u1e84\u1e88\u2c72"},{base:"X",letters:"X\u24cd\uff38\u1e8a\u1e8c"},{base:"Y",letters:"Y\u24ce\uff39\u1ef2\xdd\u0176\u1ef8\u0232\u1e8e\u0178\u1ef6\u1ef4\u01b3\u024e\u1efe"},{base:"Z",letters:"Z\u24cf\uff3a\u0179\u1e90\u017b\u017d\u1e92\u1e94\u01b5\u0224\u2c7f\u2c6b\ua762"},{base:"a",letters:"a\u24d0\uff41\u1e9a\xe0\xe1\xe2\u1ea7\u1ea5\u1eab\u1ea9\xe3\u0101\u0103\u1eb1\u1eaf\u1eb5\u1eb3\u0227\u01e1\xe4\u01df\u1ea3\xe5\u01fb\u01ce\u0201\u0203\u1ea1\u1ead\u1eb7\u1e01\u0105\u2c65\u0250"},{base:"aa",letters:"\ua733"},{base:"ae",letters:"\xe6\u01fd\u01e3"},{base:"ao",letters:"\ua735"},{base:"au",letters:"\ua737"},{base:"av",letters:"\ua739\ua73b"},{base:"ay",letters:"\ua73d"},{base:"b",letters:"b\u24d1\uff42\u1e03\u1e05\u1e07\u0180\u0183\u0253"},{base:"c",letters:"c\u24d2\uff43\u0107\u0109\u010b\u010d\xe7\u1e09\u0188\u023c\ua73f\u2184"},{base:"d",letters:"d\u24d3\uff44\u1e0b\u010f\u1e0d\u1e11\u1e13\u1e0f\u0111\u018c\u0256\u0257\ua77a"},{base:"dz",letters:"\u01f3\u01c6"},{base:"e",letters:"e\u24d4\uff45\xe8\xe9\xea\u1ec1\u1ebf\u1ec5\u1ec3\u1ebd\u0113\u1e15\u1e17\u0115\u0117\xeb\u1ebb\u011b\u0205\u0207\u1eb9\u1ec7\u0229\u1e1d\u0119\u1e19\u1e1b\u0247\u025b\u01dd"},{base:"f",letters:"f\u24d5\uff46\u1e1f\u0192\ua77c"},{base:"g",letters:"g\u24d6\uff47\u01f5\u011d\u1e21\u011f\u0121\u01e7\u0123\u01e5\u0260\ua7a1\u1d79\ua77f"},{base:"h",letters:"h\u24d7\uff48\u0125\u1e23\u1e27\u021f\u1e25\u1e29\u1e2b\u1e96\u0127\u2c68\u2c76\u0265"},{base:"hv",letters:"\u0195"},{base:"i",letters:"i\u24d8\uff49\xec\xed\xee\u0129\u012b\u012d\xef\u1e2f\u1ec9\u01d0\u0209\u020b\u1ecb\u012f\u1e2d\u0268\u0131"},{base:"j",letters:"j\u24d9\uff4a\u0135\u01f0\u0249"},{base:"k",letters:"k\u24da\uff4b\u1e31\u01e9\u1e33\u0137\u1e35\u0199\u2c6a\ua741\ua743\ua745\ua7a3"},{base:"l",letters:"l\u24db\uff4c\u0140\u013a\u013e\u1e37\u1e39\u013c\u1e3d\u1e3b\u017f\u0142\u019a\u026b\u2c61\ua749\ua781\ua747"},{base:"lj",letters:"\u01c9"},{base:"m",letters:"m\u24dc\uff4d\u1e3f\u1e41\u1e43\u0271\u026f"},{base:"n",letters:"n\u24dd\uff4e\u01f9\u0144\xf1\u1e45\u0148\u1e47\u0146\u1e4b\u1e49\u019e\u0272\u0149\ua791\ua7a5"},{base:"nj",letters:"\u01cc"},{base:"o",letters:"o\u24de\uff4f\xf2\xf3\xf4\u1ed3\u1ed1\u1ed7\u1ed5\xf5\u1e4d\u022d\u1e4f\u014d\u1e51\u1e53\u014f\u022f\u0231\xf6\u022b\u1ecf\u0151\u01d2\u020d\u020f\u01a1\u1edd\u1edb\u1ee1\u1edf\u1ee3\u1ecd\u1ed9\u01eb\u01ed\xf8\u01ff\u0254\ua74b\ua74d\u0275"},{base:"oi",letters:"\u01a3"},{base:"ou",letters:"\u0223"},{base:"oo",letters:"\ua74f"},{base:"p",letters:"p\u24df\uff50\u1e55\u1e57\u01a5\u1d7d\ua751\ua753\ua755"},{base:"q",letters:"q\u24e0\uff51\u024b\ua757\ua759"},{base:"r",letters:"r\u24e1\uff52\u0155\u1e59\u0159\u0211\u0213\u1e5b\u1e5d\u0157\u1e5f\u024d\u027d\ua75b\ua7a7\ua783"},{base:"s",letters:"s\u24e2\uff53\xdf\u015b\u1e65\u015d\u1e61\u0161\u1e67\u1e63\u1e69\u0219\u015f\u023f\ua7a9\ua785\u1e9b"},{base:"t",letters:"t\u24e3\uff54\u1e6b\u1e97\u0165\u1e6d\u021b\u0163\u1e71\u1e6f\u0167\u01ad\u0288\u2c66\ua787"},{base:"tz",letters:"\ua729"},{base:"u",letters:"u\u24e4\uff55\xf9\xfa\xfb\u0169\u1e79\u016b\u1e7b\u016d\xfc\u01dc\u01d8\u01d6\u01da\u1ee7\u016f\u0171\u01d4\u0215\u0217\u01b0\u1eeb\u1ee9\u1eef\u1eed\u1ef1\u1ee5\u1e73\u0173\u1e77\u1e75\u0289"},{base:"v",letters:"v\u24e5\uff56\u1e7d\u1e7f\u028b\ua75f\u028c"},{base:"vy",letters:"\ua761"},{base:"w",letters:"w\u24e6\uff57\u1e81\u1e83\u0175\u1e87\u1e85\u1e98\u1e89\u2c73"},{base:"x",letters:"x\u24e7\uff58\u1e8b\u1e8d"},{base:"y",letters:"y\u24e8\uff59\u1ef3\xfd\u0177\u1ef9\u0233\u1e8f\xff\u1ef7\u1e99\u1ef5\u01b4\u024f\u1eff"},{base:"z",letters:"z\u24e9\uff5a\u017a\u1e91\u017c\u017e\u1e93\u1e95\u01b6\u0225\u0240\u2c6c\ua763"}],Jt=new RegExp("["+Zt.map((function(e){return e.letters})).join("")+"]","g"),en={},tn=0;tn<Zt.length;tn++)for(var nn=Zt[tn],rn=0;rn<nn.letters.length;rn++)en[nn.letters[rn]]=nn.base;var an=function(e){return e.replace(Jt,(function(e){return en[e]}))},on=Yt(an),un=function(e){return e.replace(/^\s+|\s+$/g,"")},ln=function(e){return"".concat(e.label," ").concat(e.value)};function sn(e){e.in,e.out,e.onExited,e.appear,e.enter,e.exit;var t=e.innerRef;e.emotion;var n=Le(e,["in","out","onExited","appear","enter","exit","innerRef","emotion"]);return Te("input",Object(r.a)({ref:t},n,{css:Me({label:"dummyInput",background:0,border:0,fontSize:"inherit",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(0)"},"","")}))}var cn=["boxSizing","height","overflow","paddingRight","position"],fn={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function dn(e){e.preventDefault()}function pn(e){e.stopPropagation()}function hn(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function mn(){return"ontouchstart"in window||navigator.maxTouchPoints}var vn=!("undefined"===typeof window||!window.document||!window.document.createElement),gn=0,yn={capture:!1,passive:!1};var bn=function(){return document.activeElement&&document.activeElement.blur()},xn={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function wn(e){var t=e.children,n=e.lockEnabled,r=e.captureEnabled,i=function(e){var t=e.isEnabled,n=e.onBottomArrive,r=e.onBottomLeave,o=e.onTopArrive,i=e.onTopLeave,u=Object(a.useRef)(!1),l=Object(a.useRef)(!1),s=Object(a.useRef)(0),c=Object(a.useRef)(null),f=Object(a.useCallback)((function(e,t){if(null!==c.current){var a=c.current,s=a.scrollTop,f=a.scrollHeight,d=a.clientHeight,p=c.current,h=t>0,m=f-d-s,v=!1;m>t&&u.current&&(r&&r(e),u.current=!1),h&&l.current&&(i&&i(e),l.current=!1),h&&t>m?(n&&!u.current&&n(e),p.scrollTop=f,v=!0,u.current=!0):!h&&-t>s&&(o&&!l.current&&o(e),p.scrollTop=0,v=!0,l.current=!0),v&&function(e){e.preventDefault(),e.stopPropagation()}(e)}}),[]),d=Object(a.useCallback)((function(e){f(e,e.deltaY)}),[f]),p=Object(a.useCallback)((function(e){s.current=e.changedTouches[0].clientY}),[]),h=Object(a.useCallback)((function(e){var t=s.current-e.changedTouches[0].clientY;f(e,t)}),[f]),m=Object(a.useCallback)((function(e){if(e){var t=!!pt&&{passive:!1};"function"===typeof e.addEventListener&&e.addEventListener("wheel",d,t),"function"===typeof e.addEventListener&&e.addEventListener("touchstart",p,t),"function"===typeof e.addEventListener&&e.addEventListener("touchmove",h,t)}}),[h,p,d]),v=Object(a.useCallback)((function(e){e&&("function"===typeof e.removeEventListener&&e.removeEventListener("wheel",d,!1),"function"===typeof e.removeEventListener&&e.removeEventListener("touchstart",p,!1),"function"===typeof e.removeEventListener&&e.removeEventListener("touchmove",h,!1))}),[h,p,d]);return Object(a.useEffect)((function(){if(t){var e=c.current;return m(e),function(){v(e)}}}),[t,m,v]),function(e){c.current=e}}({isEnabled:void 0===r||r,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),u=function(e){var t=e.isEnabled,n=e.accountForScrollbars,r=void 0===n||n,o=Object(a.useRef)({}),i=Object(a.useRef)(null),u=Object(a.useCallback)((function(e){if(vn){var t=document.body,n=t&&t.style;if(r&&cn.forEach((function(e){var t=n&&n[e];o.current[e]=t})),r&&gn<1){var a=parseInt(o.current.paddingRight,10)||0,i=document.body?document.body.clientWidth:0,u=window.innerWidth-i+a||0;Object.keys(fn).forEach((function(e){var t=fn[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(u,"px"))}t&&mn()&&(t.addEventListener("touchmove",dn,yn),e&&(e.addEventListener("touchstart",hn,yn),e.addEventListener("touchmove",pn,yn))),gn+=1}}),[]),l=Object(a.useCallback)((function(e){if(vn){var t=document.body,n=t&&t.style;gn=Math.max(gn-1,0),r&&gn<1&&cn.forEach((function(e){var t=o.current[e];n&&(n[e]=t)})),t&&mn()&&(t.removeEventListener("touchmove",dn,yn),e&&(e.removeEventListener("touchstart",hn,yn),e.removeEventListener("touchmove",pn,yn)))}}),[]);return Object(a.useEffect)((function(){if(t){var e=i.current;return u(e),function(){l(e)}}}),[t,u,l]),function(e){i.current=e}}({isEnabled:n});return Te(o.a.Fragment,null,n&&Te("div",{onClick:bn,css:xn}),t((function(e){i(e),u(e)})))}var kn={clearIndicator:Nt,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":null,pointerEvents:t?"none":null,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,a=r.colors,o=r.borderRadius,i=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?a.neutral5:a.neutral0,borderColor:t?a.neutral10:n?a.primary:a.neutral20,borderRadius:o,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px ".concat(a.primary):null,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:i.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?a.primary:a.neutral30}}},dropdownIndicator:jt,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:"500",marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,a=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?a.neutral10:a.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,a=n.colors;return{margin:r.baseUnit/2,paddingBottom:r.baseUnit/2,paddingTop:r.baseUnit/2,visibility:t?"hidden":"visible",color:a.neutral80}},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,a=r.colors,o=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?a.neutral60:a.neutral20,display:"flex",padding:2*o,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:xt,menu:function(e){var t,n=e.placement,r=e.theme,a=r.borderRadius,o=r.spacing,i=r.colors;return $e(t={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n),"100%"),$e(t,"backgroundColor",i.neutral0),$e(t,"borderRadius",a),$e(t,"boxShadow","0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)"),$e(t,"marginBottom",o.menuGutter),$e(t,"marginTop",o.menuGutter),$e(t,"position","absolute"),$e(t,"width","100%"),$e(t,"zIndex",1),t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,a=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:a?"ellipsis":null,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,a=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused&&a.dangerLight,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:a.dangerLight,color:a.danger}}},noOptionsMessage:bt,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,a=e.theme,o=a.spacing,i=a.colors;return{label:"option",backgroundColor:r?i.primary:n?i.primary25:"transparent",color:t?i.neutral20:r?i.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:"".concat(2*o.baseUnit,"px ").concat(3*o.baseUnit,"px"),width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:!t&&(r?i.primary:i.primary50)}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2,position:"absolute",top:"50%",transform:"translateY(-50%)"}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,a=n.colors;return{label:"singleValue",color:t?a.neutral40:a.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"calc(100% - ".concat(2*r.baseUnit,"px)"),overflow:"hidden",position:"absolute",textOverflow:"ellipsis",whiteSpace:"nowrap",top:"50%",transform:"translateY(-50%)"}},valueContainer:function(e){var t=e.theme.spacing;return{alignItems:"center",display:"flex",flex:1,flexWrap:"wrap",padding:"".concat(t.baseUnit/2,"px ").concat(2*t.baseUnit,"px"),WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}};var On,Cn={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},Sn={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:st(),captureMenuScroll:!st(),closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){var n=Qe({ignoreCase:!0,ignoreAccents:!0,stringify:ln,trim:!0,matchFrom:"any"},On),r=n.ignoreCase,a=n.ignoreAccents,o=n.stringify,i=n.trim,u=n.matchFrom,l=i?un(t):t,s=i?un(o(e)):o(e);return r&&(l=l.toLowerCase(),s=s.toLowerCase()),a&&(l=on(l),s=an(s)),"start"===u?s.substr(0,l.length)===l:s.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(u){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:"0",tabSelectsValue:!0};function En(e,t,n,r){return{type:"option",data:t,isDisabled:jn(e,t,n),isSelected:Nn(e,t,n),label:Tn(e,t),value:Mn(e,t),index:r}}function _n(e,t){return e.options.map((function(n,r){if(n.options){var a=n.options.map((function(n,r){return En(e,n,t,r)})).filter((function(t){return Pn(e,t)}));return a.length>0?{type:"group",data:n,options:a,index:r}:void 0}var o=En(e,n,t,r);return Pn(e,o)?o:void 0})).filter((function(e){return!!e}))}function Fn(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,Wt(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Pn(e,t){var n=e.inputValue,r=void 0===n?"":n,a=t.data,o=t.isSelected,i=t.label,u=t.value;return(!In(e)||!o)&&An(e,{label:i,value:u,data:a},r)}var Tn=function(e,t){return e.getOptionLabel(t)},Mn=function(e,t){return e.getOptionValue(t)};function jn(e,t,n){return"function"===typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Nn(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"===typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=Mn(e,t);return n.some((function(t){return Mn(e,t)===r}))}function An(e,t,n){return!e.filterOption||e.filterOption(t,n)}var In=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},Ln=1,Dn=function(e){We(n,e);var t=Ze(n);function n(e){var r;return Ve(this,n),(r=t.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},r.blockOptionHover=!1,r.isComposing=!1,r.commonProps=void 0,r.initialTouchX=0,r.initialTouchY=0,r.instancePrefix="",r.openAfterFocus=!1,r.scrollToFocusedOptionOnUpdate=!1,r.userIsDragging=void 0,r.controlRef=null,r.getControlRef=function(e){r.controlRef=e},r.focusedOptionRef=null,r.getFocusedOptionRef=function(e){r.focusedOptionRef=e},r.menuListRef=null,r.getMenuListRef=function(e){r.menuListRef=e},r.inputRef=null,r.getInputRef=function(e){r.inputRef=e},r.focus=r.focusInput,r.blur=r.blurInput,r.onChange=function(e,t){var n=r.props,a=n.onChange,o=n.name;t.name=o,r.ariaOnChange(e,t),a(e,t)},r.setValue=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"set-value",n=arguments.length>2?arguments[2]:void 0,a=r.props,o=a.closeMenuOnSelect,i=a.isMulti;r.onInputChange("",{action:"set-value"}),o&&(r.setState({inputIsHiddenAfterUpdate:!i}),r.onMenuClose()),r.setState({clearFocusValueOnUpdate:!0}),r.onChange(e,{action:t,option:n})},r.selectOption=function(e){var t=r.props,n=t.blurInputOnSelect,a=t.isMulti,o=t.name,i=r.state.selectValue,u=a&&r.isOptionSelected(e,i),l=r.isOptionDisabled(e,i);if(u){var s=r.getOptionValue(e);r.setValue(i.filter((function(e){return r.getOptionValue(e)!==s})),"deselect-option",e)}else{if(l)return void r.ariaOnChange(e,{action:"select-option",name:o});a?r.setValue([].concat(Wt(i),[e]),"select-option",e):r.setValue(e,"select-option")}n&&r.blurInput()},r.removeValue=function(e){var t=r.props.isMulti,n=r.state.selectValue,a=r.getOptionValue(e),o=n.filter((function(e){return r.getOptionValue(e)!==a})),i=t?o:o[0]||null;r.onChange(i,{action:"remove-value",removedValue:e}),r.focusInput()},r.clearValue=function(){var e=r.state.selectValue;r.onChange(r.props.isMulti?[]:null,{action:"clear",removedValues:e})},r.popValue=function(){var e=r.props.isMulti,t=r.state.selectValue,n=t[t.length-1],a=t.slice(0,t.length-1),o=e?a:a[0]||null;r.onChange(o,{action:"pop-value",removedValue:n})},r.getValue=function(){return r.state.selectValue},r.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return tt.apply(void 0,[r.props.classNamePrefix].concat(t))},r.getOptionLabel=function(e){return Tn(r.props,e)},r.getOptionValue=function(e){return Mn(r.props,e)},r.getStyles=function(e,t){var n=kn[e](t);n.boxSizing="border-box";var a=r.props.styles[e];return a?a(n,t):n},r.getElementId=function(e){return"".concat(r.instancePrefix,"-").concat(e)},r.getComponents=function(){return e=r.props,Qe(Qe({},Ut),e.components);var e},r.buildCategorizedOptions=function(){return _n(r.props,r.state.selectValue)},r.getCategorizedOptions=function(){return r.props.menuIsOpen?r.buildCategorizedOptions():[]},r.buildFocusableOptions=function(){return Fn(r.buildCategorizedOptions())},r.getFocusableOptions=function(){return r.props.menuIsOpen?r.buildFocusableOptions():[]},r.ariaOnChange=function(e,t){r.setState({ariaSelection:Qe({value:e},t)})},r.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),r.focusInput())},r.onMenuMouseMove=function(e){r.blockOptionHover=!1},r.onControlMouseDown=function(e){var t=r.props.openMenuOnClick;r.state.isFocused?r.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&r.onMenuClose():t&&r.openMenu("first"):(t&&(r.openAfterFocus=!0),r.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()},r.onDropdownIndicatorMouseDown=function(e){if((!e||"mousedown"!==e.type||0===e.button)&&!r.props.isDisabled){var t=r.props,n=t.isMulti,a=t.menuIsOpen;r.focusInput(),a?(r.setState({inputIsHiddenAfterUpdate:!n}),r.onMenuClose()):r.openMenu("first"),e.preventDefault(),e.stopPropagation()}},r.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(r.clearValue(),e.stopPropagation(),r.openAfterFocus=!1,"touchend"===e.type?r.focusInput():setTimeout((function(){return r.focusInput()})))},r.onScroll=function(e){"boolean"===typeof r.props.closeMenuOnScroll?e.target instanceof HTMLElement&&at(e.target)&&r.props.onMenuClose():"function"===typeof r.props.closeMenuOnScroll&&r.props.closeMenuOnScroll(e)&&r.props.onMenuClose()},r.onCompositionStart=function(){r.isComposing=!0},r.onCompositionEnd=function(){r.isComposing=!1},r.onTouchStart=function(e){var t=e.touches,n=t&&t.item(0);n&&(r.initialTouchX=n.clientX,r.initialTouchY=n.clientY,r.userIsDragging=!1)},r.onTouchMove=function(e){var t=e.touches,n=t&&t.item(0);if(n){var a=Math.abs(n.clientX-r.initialTouchX),o=Math.abs(n.clientY-r.initialTouchY);r.userIsDragging=a>5||o>5}},r.onTouchEnd=function(e){r.userIsDragging||(r.controlRef&&!r.controlRef.contains(e.target)&&r.menuListRef&&!r.menuListRef.contains(e.target)&&r.blurInput(),r.initialTouchX=0,r.initialTouchY=0)},r.onControlTouchEnd=function(e){r.userIsDragging||r.onControlMouseDown(e)},r.onClearIndicatorTouchEnd=function(e){r.userIsDragging||r.onClearIndicatorMouseDown(e)},r.onDropdownIndicatorTouchEnd=function(e){r.userIsDragging||r.onDropdownIndicatorMouseDown(e)},r.handleInputChange=function(e){var t=e.currentTarget.value;r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange(t,{action:"input-change"}),r.props.menuIsOpen||r.onMenuOpen()},r.onInputFocus=function(e){r.props.onFocus&&r.props.onFocus(e),r.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(r.openAfterFocus||r.props.openMenuOnFocus)&&r.openMenu("first"),r.openAfterFocus=!1},r.onInputBlur=function(e){r.menuListRef&&r.menuListRef.contains(document.activeElement)?r.inputRef.focus():(r.props.onBlur&&r.props.onBlur(e),r.onInputChange("",{action:"input-blur"}),r.onMenuClose(),r.setState({focusedValue:null,isFocused:!1}))},r.onOptionHover=function(e){r.blockOptionHover||r.state.focusedOption===e||r.setState({focusedOption:e})},r.shouldHideSelectedOptions=function(){return In(r.props)},r.onKeyDown=function(e){var t=r.props,n=t.isMulti,a=t.backspaceRemovesValue,o=t.escapeClearsValue,i=t.inputValue,u=t.isClearable,l=t.isDisabled,s=t.menuIsOpen,c=t.onKeyDown,f=t.tabSelectsValue,d=t.openMenuOnFocus,p=r.state,h=p.focusedOption,m=p.focusedValue,v=p.selectValue;if(!l&&("function"!==typeof c||(c(e),!e.defaultPrevented))){switch(r.blockOptionHover=!0,e.key){case"ArrowLeft":if(!n||i)return;r.focusValue("previous");break;case"ArrowRight":if(!n||i)return;r.focusValue("next");break;case"Delete":case"Backspace":if(i)return;if(m)r.removeValue(m);else{if(!a)return;n?r.popValue():u&&r.clearValue()}break;case"Tab":if(r.isComposing)return;if(e.shiftKey||!s||!f||!h||d&&r.isOptionSelected(h,v))return;r.selectOption(h);break;case"Enter":if(229===e.keyCode)break;if(s){if(!h)return;if(r.isComposing)return;r.selectOption(h);break}return;case"Escape":s?(r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange("",{action:"menu-close"}),r.onMenuClose()):u&&o&&r.clearValue();break;case" ":if(i)return;if(!s){r.openMenu("first");break}if(!h)return;r.selectOption(h);break;case"ArrowUp":s?r.focusOption("up"):r.openMenu("last");break;case"ArrowDown":s?r.focusOption("down"):r.openMenu("first");break;case"PageUp":if(!s)return;r.focusOption("pageup");break;case"PageDown":if(!s)return;r.focusOption("pagedown");break;case"Home":if(!s)return;r.focusOption("first");break;case"End":if(!s)return;r.focusOption("last");break;default:return}e.preventDefault()}},r.instancePrefix="react-select-"+(r.props.instanceId||++Ln),r.state.selectValue=nt(e.value),r}return Ue(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,r=t.menuIsOpen,a=this.state.isFocused;(a&&!n&&e.isDisabled||a&&r&&!e.menuIsOpen)&&this.focusInput(),a&&n&&!e.isDisabled&&this.setState({isFocused:!1},this.onMenuClose),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(!function(e,t){var n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=t.offsetHeight/3;r.bottom+a>n.bottom?it(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+a,e.scrollHeight)):r.top-a<n.top&&it(e,Math.max(t.offsetTop-a,0))}(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close"}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this,n=this.state,r=n.selectValue,a=n.isFocused,o=this.buildFocusableOptions(),i="first"===e?0:o.length-1;if(!this.props.isMulti){var u=o.indexOf(r[0]);u>-1&&(i=u)}this.scrollToFocusedOptionOnUpdate=!(a&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:o[i]},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,r=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var a=n.indexOf(r);r||(a=-1);var o=n.length-1,i=-1;if(n.length){switch(e){case"previous":i=0===a?0:-1===a?o:a-1;break;case"next":a>-1&&a<o&&(i=a+1)}this.setState({inputIsHidden:-1!==i,focusedValue:n[i]})}}}},{key:"focusOption",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,r=this.getFocusableOptions();if(r.length){var a=0,o=r.indexOf(n);n||(o=-1),"up"===e?a=o>0?o-1:r.length-1:"down"===e?a=(o+1)%r.length:"pageup"===e?(a=o-t)<0&&(a=0):"pagedown"===e?(a=o+t)>r.length-1&&(a=r.length-1):"last"===e&&(a=r.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:r[a],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?"function"===typeof this.props.theme?this.props.theme(Cn):Qe(Qe({},Cn),this.props.theme):Cn}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getValue,a=this.selectOption,o=this.setValue,i=this.props,u=i.isMulti,l=i.isRtl,s=i.options;return{clearValue:e,cx:t,getStyles:n,getValue:r,hasValue:this.hasValue(),isMulti:u,isRtl:l,options:s,selectOption:a,selectProps:i,setValue:o,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return jn(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Nn(this.props,e,t)}},{key:"filterOption",value:function(e,t){return An(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"===typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,a=e.inputId,i=e.inputValue,u=e.tabIndex,l=e.form,s=this.getComponents().Input,c=this.state.inputIsHidden,f=this.commonProps,d=a||this.getElementId("input"),p={"aria-autocomplete":"list","aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"]};return n?o.a.createElement(s,Object(r.a)({},f,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:d,innerRef:this.getInputRef,isDisabled:t,isHidden:c,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:u,form:l,type:"text",value:i},p)):o.a.createElement(sn,Object(r.a)({id:d,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Je,onFocus:this.onInputFocus,readOnly:!0,disabled:t,tabIndex:u,form:l,value:""},p))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,t=this.getComponents(),n=t.MultiValue,a=t.MultiValueContainer,i=t.MultiValueLabel,u=t.MultiValueRemove,l=t.SingleValue,s=t.Placeholder,c=this.commonProps,f=this.props,d=f.controlShouldRenderValue,p=f.isDisabled,h=f.isMulti,m=f.inputValue,v=f.placeholder,g=this.state,y=g.selectValue,b=g.focusedValue,x=g.isFocused;if(!this.hasValue()||!d)return m?null:o.a.createElement(s,Object(r.a)({},c,{key:"placeholder",isDisabled:p,isFocused:x}),v);if(h)return y.map((function(t,l){var s=t===b;return o.a.createElement(n,Object(r.a)({},c,{components:{Container:a,Label:i,Remove:u},isFocused:s,isDisabled:p,key:"".concat(e.getOptionValue(t)).concat(l),index:l,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:t}),e.formatOptionLabel(t,"value"))}));if(m)return null;var w=y[0];return o.a.createElement(l,Object(r.a)({},c,{data:w,isDisabled:p}),this.formatOptionLabel(w,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.getComponents().ClearIndicator,t=this.commonProps,n=this.props,a=n.isDisabled,i=n.isLoading,u=this.state.isFocused;if(!this.isClearable()||!e||a||!this.hasValue()||i)return null;var l={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,Object(r.a)({},t,{innerProps:l,isFocused:u}))}},{key:"renderLoadingIndicator",value:function(){var e=this.getComponents().LoadingIndicator,t=this.commonProps,n=this.props,a=n.isDisabled,i=n.isLoading,u=this.state.isFocused;if(!e||!i)return null;return o.a.createElement(e,Object(r.a)({},t,{innerProps:{"aria-hidden":"true"},isDisabled:a,isFocused:u}))}},{key:"renderIndicatorSeparator",value:function(){var e=this.getComponents(),t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var a=this.commonProps,i=this.props.isDisabled,u=this.state.isFocused;return o.a.createElement(n,Object(r.a)({},a,{isDisabled:i,isFocused:u}))}},{key:"renderDropdownIndicator",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,a=this.state.isFocused,i={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,Object(r.a)({},t,{innerProps:i,isDisabled:n,isFocused:a}))}},{key:"renderMenu",value:function(){var e=this,t=this.getComponents(),n=t.Group,a=t.GroupHeading,i=t.Menu,u=t.MenuList,l=t.MenuPortal,s=t.LoadingMessage,c=t.NoOptionsMessage,f=t.Option,d=this.commonProps,p=this.state.focusedOption,h=this.props,m=h.captureMenuScroll,v=h.inputValue,g=h.isLoading,y=h.loadingMessage,b=h.minMenuHeight,x=h.maxMenuHeight,w=h.menuIsOpen,k=h.menuPlacement,O=h.menuPosition,C=h.menuPortalTarget,S=h.menuShouldBlockScroll,E=h.menuShouldScrollIntoView,_=h.noOptionsMessage,F=h.onMenuScrollToTop,P=h.onMenuScrollToBottom;if(!w)return null;var T,M=function(t,n){var a=t.type,i=t.data,u=t.isDisabled,l=t.isSelected,s=t.label,c=t.value,h=p===i,m=u?void 0:function(){return e.onOptionHover(i)},v=u?void 0:function(){return e.selectOption(i)},g="".concat(e.getElementId("option"),"-").concat(n),y={id:g,onClick:v,onMouseMove:m,onMouseOver:m,tabIndex:-1};return o.a.createElement(f,Object(r.a)({},d,{innerProps:y,data:i,isDisabled:u,isSelected:l,key:g,label:s,type:a,value:c,isFocused:h,innerRef:h?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())T=this.getCategorizedOptions().map((function(t){if("group"===t.type){var i=t.data,u=t.options,l=t.index,s="".concat(e.getElementId("group"),"-").concat(l),c="".concat(s,"-heading");return o.a.createElement(n,Object(r.a)({},d,{key:s,data:i,options:u,Heading:a,headingProps:{id:c,data:t.data},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return M(e,"".concat(l,"-").concat(e.index))})))}if("option"===t.type)return M(t,"".concat(t.index))}));else if(g){var j=y({inputValue:v});if(null===j)return null;T=o.a.createElement(s,d,j)}else{var N=_({inputValue:v});if(null===N)return null;T=o.a.createElement(c,d,N)}var A={minMenuHeight:b,maxMenuHeight:x,menuPlacement:k,menuPosition:O,menuShouldScrollIntoView:E},I=o.a.createElement(gt,Object(r.a)({},d,A),(function(t){var n=t.ref,a=t.placerProps,l=a.placement,s=a.maxHeight;return o.a.createElement(i,Object(r.a)({},d,A,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:g,placement:l}),o.a.createElement(wn,{captureEnabled:m,onTopArrive:F,onBottomArrive:P,lockEnabled:S},(function(t){return o.a.createElement(u,Object(r.a)({},d,{innerRef:function(n){e.getMenuListRef(n),t(n)},isLoading:g,maxHeight:s,focusedOption:p}),T)})))}));return C||"fixed"===O?o.a.createElement(l,Object(r.a)({},d,{appendTo:C,controlElement:this.controlRef,menuPlacement:k,menuPosition:O}),I):I}},{key:"renderFormField",value:function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,a=t.isMulti,i=t.name,u=this.state.selectValue;if(i&&!r){if(a){if(n){var l=u.map((function(t){return e.getOptionValue(t)})).join(n);return o.a.createElement("input",{name:i,type:"hidden",value:l})}var s=u.length>0?u.map((function(t,n){return o.a.createElement("input",{key:"i-".concat(n),name:i,type:"hidden",value:e.getOptionValue(t)})})):o.a.createElement("input",{name:i,type:"hidden"});return o.a.createElement("div",null,s)}var c=u[0]?this.getOptionValue(u[0]):"";return o.a.createElement("input",{name:i,type:"hidden",value:c})}}},{key:"renderLiveRegion",value:function(){var e=this.commonProps,t=this.state,n=t.ariaSelection,a=t.focusedOption,i=t.focusedValue,u=t.isFocused,l=t.selectValue,s=this.getFocusableOptions();return o.a.createElement(Kt,Object(r.a)({},e,{ariaSelection:n,focusedOption:a,focusedValue:i,isFocused:u,selectValue:l,focusableOptions:s}))}},{key:"render",value:function(){var e=this.getComponents(),t=e.Control,n=e.IndicatorsContainer,a=e.SelectContainer,i=e.ValueContainer,u=this.props,l=u.className,s=u.id,c=u.isDisabled,f=u.menuIsOpen,d=this.state.isFocused,p=this.commonProps=this.getCommonProps();return o.a.createElement(a,Object(r.a)({},p,{className:l,innerProps:{id:s,onKeyDown:this.onKeyDown},isDisabled:c,isFocused:d}),this.renderLiveRegion(),o.a.createElement(t,Object(r.a)({},p,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:c,isFocused:d,menuIsOpen:f}),o.a.createElement(i,Object(r.a)({},p,{isDisabled:c}),this.renderPlaceholderOrValue(),this.renderInput()),o.a.createElement(n,Object(r.a)({},p,{isDisabled:c}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,a=t.inputIsHiddenAfterUpdate,o=e.options,i=e.value,u=e.menuIsOpen,l=e.inputValue,s={};if(n&&(i!==n.value||o!==n.options||u!==n.menuIsOpen||l!==n.inputValue)){var c=nt(i),f=u?function(e,t){return Fn(_n(e,t))}(e,c):[],d=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r<t.length)return t[r]}return null}(t,c):null;s={selectValue:c,focusedOption:function(e,t){var n=e.focusedOption;return n&&t.indexOf(n)>-1?n:t[0]}(t,f),focusedValue:d,clearFocusValueOnUpdate:!1}}var p=null!=a&&e!==n?{inputIsHidden:a,inputIsHiddenAfterUpdate:void 0}:{};return Qe(Qe(Qe({},s),p),{},{prevProps:e})}}]),n}(a.Component);Dn.defaultProps=Sn;var Rn={defaultInputValue:"",defaultMenuIsOpen:!1,defaultValue:null},zn=(n(46),n(51),n(53),n(54),n(55),a.Component,function(e){var t,n;return n=t=function(t){We(a,t);var n=Ze(a);function a(){var e;Ve(this,a);for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return(e=n.call.apply(n,[this].concat(r))).select=void 0,e.state={inputValue:void 0!==e.props.inputValue?e.props.inputValue:e.props.defaultInputValue,menuIsOpen:void 0!==e.props.menuIsOpen?e.props.menuIsOpen:e.props.defaultMenuIsOpen,value:void 0!==e.props.value?e.props.value:e.props.defaultValue},e.onChange=function(t,n){e.callProp("onChange",t,n),e.setState({value:t})},e.onInputChange=function(t,n){var r=e.callProp("onInputChange",t,n);e.setState({inputValue:void 0!==r?r:t})},e.onMenuOpen=function(){e.callProp("onMenuOpen"),e.setState({menuIsOpen:!0})},e.onMenuClose=function(){e.callProp("onMenuClose"),e.setState({menuIsOpen:!1})},e}return Ue(a,[{key:"focus",value:function(){this.select.focus()}},{key:"blur",value:function(){this.select.blur()}},{key:"getProp",value:function(e){return void 0!==this.props[e]?this.props[e]:this.state[e]}},{key:"callProp",value:function(e){if("function"===typeof this.props[e]){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return(t=this.props)[e].apply(t,r)}}},{key:"render",value:function(){var t=this,n=this.props;n.defaultInputValue,n.defaultMenuIsOpen,n.defaultValue;var a=Le(n,["defaultInputValue","defaultMenuIsOpen","defaultValue"]);return o.a.createElement(e,Object(r.a)({},a,{ref:function(e){t.select=e},inputValue:this.getProp("inputValue"),menuIsOpen:this.getProp("menuIsOpen"),onChange:this.onChange,onInputChange:this.onInputChange,onMenuClose:this.onMenuClose,onMenuOpen:this.onMenuOpen,value:this.getProp("value")}))}}]),a}(a.Component),t.defaultProps=Rn,n}(Dn));t.a=zn},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}n.d(t,"a",(function(){return je}));var i=n(4),u=n.n(i),l=n(8),s=n(17);function c(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=Object(s.a)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}var f=n(15),d=n(3),p=n(19);function h(e){return function(e){if(Array.isArray(e))return Object(p.a)(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(s.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var m=n(1),v=function(e){return"checkbox"===e.type},g=function(e){return null==e},y=function(e){return"object"===typeof e},b=function(e){return!g(e)&&!Array.isArray(e)&&y(e)&&!(e instanceof Date)},x=function(e){return e.substring(0,e.search(/.\d/))||e},w=function(e,t){return h(e).some((function(e){return x(t)===e}))},k=function(e){return e.filter(Boolean)},O=function(e){return void 0===e},C=function(e,t,n){if(b(e)&&t){var r=k(t.split(/[,[\].]+?/)).reduce((function(e,t){return g(e)?e:e[t]}),e);return O(r)||r===e?O(e[t])?n:e[t]:r}},S="blur",E="onBlur",_="onChange",F="onSubmit",P="onTouched",T="all",M="max",j="min",N="maxLength",A="minLength",I="pattern",L="required",D="validate",R=function(e,t){var n=Object.assign({},e);return delete n[t],n},z=m.createContext(null);z.displayName="RHFContext";var V=function(e,t,n,r){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return e?new Proxy(t,{get:function(e,t){if(t in e)return n.current[t]!==T&&(n.current[t]=!a||T),r&&(r.current[t]=!0),e[t]}}):t},B=function(e){return b(e)&&!Object.keys(e).length},U=function(e,t,n){var r=R(e,"name");return B(r)||Object.keys(r).length>=Object.keys(t).length||Object.keys(r).find((function(e){return t[e]===(!n||T)}))},H=function(e){return Array.isArray(e)?e:[e]},W="undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement&&"undefined"!==typeof document,$=W?"Proxy"in window:"undefined"!==typeof Proxy;var q=function(e,t,n,r,a){return t?Object.assign(Object.assign({},n[e]),{types:Object.assign(Object.assign({},n[e]&&n[e].types?n[e].types:{}),Object(f.a)({},r,a||!0))}):{}},Y=function(e){return/^\w*$/.test(e)},G=function(e){return k(e.replace(/["|']|\]/g,"").split(/\.|\[/))};function Q(e,t,n){for(var r=-1,a=Y(t)?[t]:G(t),o=a.length,i=o-1;++r<o;){var u=a[r],l=n;if(r!==i){var s=e[u];l=b(s)||Array.isArray(s)?s:isNaN(+a[r+1])?{}:[]}e[u]=l,e=e[u]}return e}var X=function e(t,n,r){var a,o=c(r||Object.keys(t));try{for(o.s();!(a=o.n()).done;){var i=a.value,u=C(t,i);if(u){var l=u._f,s=R(u,"_f");if(l&&n(l.name)){if(l.ref.focus&&O(l.ref.focus()))break;if(l.refs){l.refs[0].focus();break}}else b(s)&&e(s,n)}}}catch(f){o.e(f)}finally{o.f()}},K=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in t.current){var a=t.current[r];if(a&&!g(n)){var o=a._f,i=R(a,"_f");Q(n,r,o&&o.ref?o.ref.disabled||o.refs&&o.refs.every((function(e){return e.disabled}))?void 0:o.value:Array.isArray(a)?[]:{}),i&&e({current:i},n[r])}}return n},Z=function(e){return g(e)||!y(e)};function J(e,t,n){if(Z(e)||Z(t)||e instanceof Date||t instanceof Date)return e===t;if(!m.isValidElement(e)){var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var o=0,i=r;o<i.length;o++){var u=i[o],l=e[u];if(!n||"ref"!==u){var s=t[u];if((b(l)||Array.isArray(l))&&(b(s)||Array.isArray(s))?!J(l,s,n):l!==s)return!1}}}return!0}function ee(e,t){if(Z(e)||Z(t))return t;for(var n in t){var r=e[n],a=t[n];try{e[n]=b(r)&&b(a)||Array.isArray(r)&&Array.isArray(a)?ee(r,a):a}catch(o){}}return e}function te(e,t,n,r,a){for(var o=-1;++o<e.length;){for(var i in e[o])Array.isArray(e[o][i])?(!n[o]&&(n[o]={}),n[o][i]=[],te(e[o][i],C(t[o]||{},i,[]),n[o][i],n[o],i)):J(C(t[o]||{},i),e[o][i])?Q(n[o]||{},i):n[o]=Object.assign(Object.assign({},n[o]),Object(f.a)({},i,!0));r&&!n.length&&delete r[a]}return n}var ne=function(e,t,n){return ee(te(e,t,n.slice(0,e.length)),te(t,e,n.slice(0,e.length)))};var re=function(e){return"string"===typeof e};var ae=function(e){return"boolean"===typeof e};function oe(e,t){var n,r=Y(t)?[t]:G(t),a=1==r.length?e:function(e,t){for(var n=t.slice(0,-1).length,r=0;r<n;)e=O(e)?r++:e[t[r++]];return e}(e,r),o=r[r.length-1];a&&delete a[o];for(var i=0;i<r.slice(0,-1).length;i++){var u=-1,l=void 0,s=r.slice(0,-(i+1)),c=s.length-1;for(i>0&&(n=e);++u<s.length;){var f=s[u];l=l?l[f]:e[f],c===u&&(b(l)&&B(l)||Array.isArray(l)&&!l.filter((function(e){return b(e)&&!B(e)||ae(e)})).length)&&(n?delete n[f]:delete e[f]),n=l}}return e}var ie=function(e){return"file"===e.type},ue=function(e){return"select-multiple"===e.type},le=function(e){return"radio"===e.type},se={value:!1,isValid:!1},ce={value:!0,isValid:!0},fe=function(e){if(Array.isArray(e)){if(e.length>1){var t=e.filter((function(e){return e&&e.checked&&!e.disabled})).map((function(e){return e.value}));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!O(e[0].attributes.value)?O(e[0].value)||""===e[0].value?ce:{value:e[0].value,isValid:!0}:ce:se}return se},de=function(e,t){var n=t.valueAsNumber,r=t.valueAsDate,a=t.setValueAs;return O(e)?e:n?""===e?NaN:+e:r?new Date(e):a?a(e):e},pe={isValid:!1,value:null},he=function(e){return Array.isArray(e)?e.reduce((function(e,t){return t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e}),pe):pe};function me(e){if(e&&e._f){var t=e._f.ref;if(t.disabled)return;return ie(t)?t.files:le(t)?he(e._f.refs).value:ue(t)?h(t.options).filter((function(e){return e.selected})).map((function(e){return e.value})):v(t)?fe(e._f.refs).value:de(O(t.value)?e._f.ref.value:t.value,e._f)}}var ve=function(e,t,n){var r,a={},o=c(e);try{for(o.s();!(r=o.n()).done;){var i=r.value,u=C(t,i);u&&Q(a,i,u._f)}}catch(l){o.e(l)}finally{o.f()}return{criteriaMode:n,names:h(e),fields:a}},ge=function(e,t){return t&&e&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate)},ye=function(e){var t=e.isOnBlur,n=e.isOnChange,r=e.isOnTouch,a=e.isTouched,o=e.isReValidateOnBlur,i=e.isReValidateOnChange,u=e.isBlurEvent,l=e.isSubmitted;return!e.isOnAll&&(!l&&r?!(a||u):(l?o:t)?!u:!(l?i:n)||u)},be=function(e){return"function"===typeof e},xe=function(e){return re(e)||m.isValidElement(e)},we=function(e){return e instanceof RegExp};function ke(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"validate";if(xe(e)||Array.isArray(e)&&e.every(xe)||ae(e)&&!e)return{type:n,message:xe(e)?e:"",ref:t}}var Oe=function(e){return b(e)&&!we(e)?e:{value:e,message:""}},Ce=function(){var e=Object(l.a)(u.a.mark((function e(t,n){var r,a,o,i,l,s,c,f,p,h,m,y,x,w,k,O,C,S,E,_,F,P,T,R,z,V,U,H,W,$,Y,G,Q,X,K,Z,J,ee,te,ne,oe,ue,se,ce,de,pe,me;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t._f,a=r.ref,o=r.refs,i=r.required,l=r.maxLength,s=r.minLength,c=r.min,f=r.max,p=r.pattern,h=r.validate,m=r.name,y=r.value,x=r.valueAsNumber,r.mount){e.next=3;break}return e.abrupt("return",{});case 3:if(w={},k=le(a),O=v(a),C=k||O,S=(x||ie(a))&&!a.value||""===y||Array.isArray(y)&&!y.length,E=q.bind(null,m,n,w),_=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:N,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:A,i=e?t:n;w[m]=Object.assign({type:e?r:o,message:i,ref:a},E(e?r:o,i))},!i||!(!k&&!O&&(S||g(y))||ae(y)&&!y||O&&!fe(o).isValid||k&&!he(o).isValid)){e.next=16;break}if(F=xe(i)?{value:!!i,message:i}:Oe(i),P=F.value,T=F.message,!P){e.next=16;break}if(w[m]=Object.assign({type:L,message:T,ref:C?(o||[])[0]||{}:a},E(L,T)),n){e.next=16;break}return e.abrupt("return",w);case 16:if(g(c)&&g(f)||""===y){e.next=24;break}if(V=Oe(f),U=Oe(c),isNaN(y)?(W=a.valueAsDate||new Date(y),re(V.value)&&(R=W>new Date(V.value)),re(U.value)&&(z=W<new Date(U.value))):(H=a.valueAsNumber||parseFloat(y),g(V.value)||(R=H>V.value),g(U.value)||(z=H<U.value)),!R&&!z){e.next=24;break}if(_(!!R,V.message,U.message,M,j),n){e.next=24;break}return e.abrupt("return",w);case 24:if(!re(y)||S||!l&&!s){e.next=33;break}if($=Oe(l),Y=Oe(s),G=!g($.value)&&y.length>$.value,Q=!g(Y.value)&&y.length<Y.value,!G&&!Q){e.next=33;break}if(_(G,$.message,Y.message),n){e.next=33;break}return e.abrupt("return",w);case 33:if(!re(y)||!p||S){e.next=39;break}if(X=Oe(p),K=X.value,Z=X.message,!we(K)||y.match(K)){e.next=39;break}if(w[m]=Object.assign({type:I,message:Z,ref:a},E(I,Z)),n){e.next=39;break}return e.abrupt("return",w);case 39:if(!h){e.next=71;break}if(J=C&&o?o[0]:a,!be(h)){e.next=52;break}return e.next=44,h(y);case 44:if(ee=e.sent,!(te=ke(ee,J))){e.next=50;break}if(w[m]=Object.assign(Object.assign({},te),E(D,te.message)),n){e.next=50;break}return e.abrupt("return",w);case 50:e.next=71;break;case 52:if(!b(h)){e.next=71;break}ne={},oe=0,ue=Object.entries(h);case 55:if(!(oe<ue.length)){e.next=67;break}if(se=Object(d.a)(ue[oe],2),ce=se[0],de=se[1],B(ne)||n){e.next=59;break}return e.abrupt("break",67);case 59:return e.next=61,de(y);case 61:pe=e.sent,(me=ke(pe,J,ce))&&(ne=Object.assign(Object.assign({},me),E(ce,me.message)),n&&(w[m]=ne));case 64:oe++,e.next=55;break;case 67:if(B(ne)){e.next=71;break}if(w[m]=Object.assign({ref:J},ne),n){e.next=71;break}return e.abrupt("return",w);case 71:return e.abrupt("return",w);case 72:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Se=function(e){return{isOnSubmit:!e||e===F,isOnBlur:e===E,isOnChange:e===_,isOnAll:e===T,isOnTouch:e===P}},Ee=function(e){return e instanceof HTMLElement},_e=function(e){return le(e)||v(e)},Fe=function(){function e(){r(this,e),this.tearDowns=[]}return o(e,[{key:"add",value:function(e){this.tearDowns.push(e)}},{key:"unsubscribe",value:function(){var e,t=c(this.tearDowns);try{for(t.s();!(e=t.n()).done;){(0,e.value)()}}catch(n){t.e(n)}finally{t.f()}this.tearDowns=[]}}]),e}(),Pe=function(){function e(t,n){var a=this;r(this,e),this.observer=t,this.closed=!1,n.add((function(){return a.closed=!0}))}return o(e,[{key:"next",value:function(e){this.closed||this.observer.next(e)}}]),e}(),Te=function(){function e(){r(this,e),this.observers=[]}return o(e,[{key:"next",value:function(e){var t,n=c(this.observers);try{for(n.s();!(t=n.n()).done;){t.value.next(e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"subscribe",value:function(e){var t=new Fe,n=new Pe(e,t);return this.observers.push(n),t}},{key:"unsubscribe",value:function(){this.observers=[]}}]),e}(),Me="undefined"===typeof window;function je(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mode,n=void 0===t?F:t,r=e.reValidateMode,a=void 0===r?_:r,o=e.resolver,i=e.context,s=e.defaultValues,p=void 0===s?{}:s,y=e.shouldFocusError,E=void 0===y||y,P=e.shouldUnregister,M=e.criteriaMode,j=m.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}}),N=Object(d.a)(j,2),A=N[0],I=N[1],L=m.useRef({isDirty:!$,dirtyFields:!$,touchedFields:!$,isValidating:!$,isValid:!$,errors:!$}),D=m.useRef(A),z=m.useRef({}),q=m.useRef(p),Y=m.useRef({}),G=m.useRef(i),ee=m.useRef(!1),te=m.useRef(!1),ae=m.useRef({watch:new Te,control:new Te,array:new Te,state:new Te}),se=m.useRef({mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1}),ce=Se(n),fe=M===T;G.current=i;var pe=function(e){return se.current.watchAll||se.current.watch.has(e)||se.current.watch.has((e.match(/\w+/)||[])[0])},he=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t,n,r,a,i,l){var s,c,f;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=C(D.current.errors,n),!L.current.isValid){e.next=12;break}if(!o){e.next=6;break}e.t1=i,e.next=9;break;case 6:return e.next=8,Pe(z.current,!0);case 8:e.t1=e.sent;case 9:e.t0=e.t1,e.next=13;break;case 12:e.t0=!1;case 13:c=e.t0,r?Q(D.current.errors,n,r):oe(D.current.errors,n),!l&&(r?J(s,r,!0):!s)&&B(a)&&D.current.isValid===c||t||(f=Object.assign(Object.assign({},a),{isValid:!!c,errors:D.current.errors,name:n}),D.current=Object.assign(Object.assign({},D.current),f),ae.current.state.next(l?{name:n}:f)),ae.current.state.next({isValidating:!1});case 17:case"end":return e.stop()}}),e)})));return function(t,n,r,a,o,i){return e.apply(this,arguments)}}(),[]),xe=m.useCallback((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;a&&$e(e);var o=C(z.current,e);if(o){var i=o._f;if(i){var u=W&&Ee(i.ref)&&g(t)?"":t;if(i.value=de(t,i),le(i.ref)?(i.refs||[]).forEach((function(e){return e.checked=e.value===u})):ie(i.ref)&&!re(u)?i.ref.files=u:ue(i.ref)?h(i.ref.options).forEach((function(e){return e.selected=u.includes(e.value)})):v(i.ref)&&i.refs?i.refs.length>1?i.refs.forEach((function(e){return e.checked=Array.isArray(u)?!!u.find((function(t){return t===e.value})):u===e.value})):i.refs[0].checked=!!u:i.ref.value=u,r){var l=K(z);Q(l,e,t),ae.current.control.next({values:Object.assign(Object.assign({},q.current),l),name:e})}(n.shouldDirty||n.shouldTouch)&&ke(e,u,n.shouldTouch),n.shouldValidate&&je(e)}else o._f={ref:{name:e,value:t},value:t}}}),[]),we=m.useCallback((function(e,t){var n=K(z);return e&&t&&Q(n,e,t),!J(n,q.current)}),[]),ke=m.useCallback((function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a={name:e},o=!1;if(L.current.isDirty){var i=D.current.isDirty;D.current.isDirty=we(),a.isDirty=D.current.isDirty,o=i!==a.isDirty}if(L.current.dirtyFields){var u=C(D.current.dirtyFields,e),l=!J(C(q.current,e),t);l?Q(D.current.dirtyFields,e,!0):oe(D.current.dirtyFields,e),a.dirtyFields=D.current.dirtyFields,o=o||u!==C(D.current.dirtyFields,e)}var s=C(D.current.touchedFields,e);return n&&!s&&(Q(D.current.touchedFields,e,n),a.touchedFields=D.current.touchedFields,o=o||L.current.touchedFields&&s!==n),o&&r&&ae.current.state.next(a),o?a:{}}),[]),Oe=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t,n){var r;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ce(C(z.current,t),fe);case 2:return e.t0=t,r=e.sent[e.t0],he(n,t,r),e.abrupt("return",O(r));case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[fe]),Fe=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t){var n,r,a,i,l,s;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o(K(z),G.current,ve(se.current.mount,z.current,M));case 2:if(n=e.sent,r=n.errors,t){a=c(t);try{for(a.s();!(i=a.n()).done;)l=i.value,(s=C(r,l))?Q(D.current.errors,l,s):oe(D.current.errors,l)}catch(u){a.e(u)}finally{a.f()}}else D.current.errors=r;return e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[M]),Pe=function(){var e=Object(l.a)(u.a.mark((function e(t,n){var r,a,o,i,l,s,c=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=c.length>2&&void 0!==c[2]?c[2]:{valid:!0},e.t0=u.a.keys(t);case 2:if((e.t1=e.t0()).done){e.next=25;break}if(a=e.t1.value,!(o=t[a])){e.next=23;break}if(i=o._f,l=R(o,"_f"),!i){e.next=19;break}return e.next=11,Ce(o,fe);case 11:if(s=e.sent,!n){e.next=18;break}if(!s[i.name]){e.next=16;break}return r.valid=!1,e.abrupt("break",25);case 16:e.next=19;break;case 18:s[i.name]?Q(D.current.errors,i.name,s[i.name]):oe(D.current.errors,i.name);case 19:if(e.t2=l,!e.t2){e.next=23;break}return e.next=23,Pe(l,n,r);case 23:e.next=2;break;case 25:return e.abrupt("return",r.valid);case 26:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),je=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t){var n,r,a,i,s=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},r=H(t),ae.current.state.next({isValidating:!0}),!o){e.next=10;break}return e.next=6,Fe(O(t)?t:r);case 6:i=e.sent,a=t?r.every((function(e){return!C(i,e)})):B(i),e.next=20;break;case 10:if(!t){e.next=16;break}return e.next=13,Promise.all(r.filter((function(e){return C(z.current,e)})).map(function(){var e=Object(l.a)(u.a.mark((function e(t){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Oe(t,!0);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 13:e.t0=e.sent.every(Boolean),e.next=19;break;case 16:return e.next=18,Pe(z.current);case 18:e.t0=e.sent;case 19:a=e.t0;case 20:return ae.current.state.next(Object.assign(Object.assign({},re(t)?{name:t}:{}),{errors:D.current.errors,isValidating:!1})),n.shouldFocus&&!a&&X(z.current,(function(e){return C(D.current.errors,e)}),r),L.current.isValid&&Ae(),e.abrupt("return",a);case 24:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[Fe,Oe]),Ne=function(e,t){var n=C(z.current,e);if(n){var r=O(n._f.value),a=r?C(q.current,e):n._f.value;O(a)?r&&(n._f.value=me(n)):t&&t.defaultChecked?n._f.value=me(n):w(se.current.array,e)?n._f.value=a:xe(e,a)}te.current&&L.current.isValid&&Ae()},Ae=m.useCallback(Object(l.a)(u.a.mark((function e(){var t,n,r=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.length>0&&void 0!==r[0]?r[0]:{},!o){e.next=9;break}return e.t1=B,e.next=5,o(Object.assign(Object.assign({},K(z)),t),G.current,ve(se.current.mount,z.current,M));case 5:e.t2=e.sent.errors,e.t0=(0,e.t1)(e.t2),e.next=12;break;case 9:return e.next=11,Pe(z.current,!0);case 11:e.t0=e.sent;case 12:(n=e.t0)!==D.current.isValid&&ae.current.state.next({isValid:n});case 14:case"end":return e.stop()}}),e)}))),[M]),Ie=m.useCallback((function(e,t,n){return Object.entries(t).forEach((function(t){var r=Object(d.a)(t,2),a=r[0],o=r[1],i="".concat(e,".").concat(a),u=C(z.current,i);se.current.array.has(e)||!Z(o)||u&&!u._f?Ie(i,o,n):xe(i,o,n,!0,!u)}))}),[je]),Le=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=C(z.current,e),a=se.current.array.has(e);a&&(ae.current.array.next({values:t,name:e,isReset:!0}),(L.current.isDirty||L.current.dirtyFields)&&n.shouldDirty&&(Q(D.current.dirtyFields,e,ne(t,C(q.current,e,[]),C(D.current.dirtyFields,e,[]))),ae.current.state.next({name:e,dirtyFields:D.current.dirtyFields,isDirty:we(e,t)})),!t.length&&Q(z.current,e,[])&&Q(Y.current,e,[])),(r&&!r._f||a)&&!g(t)?Ie(e,t,a?{}:n):xe(e,t,n,!0,!r),pe(e)&&ae.current.state.next({}),ae.current.watch.next({name:e,values:Re()})},De=m.useCallback(function(){var e=Object(l.a)(u.a.mark((function e(t){var n,r,i,l,s,c,f,d,p,h,m,g,y,b,w,k,E,_,F,P,T,j;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.type,r=t.target,i=t.target,l=i.value,s=i.type,c=r.name,!(p=C(z.current,c))){e.next=33;break}if(h=s?me(p):void 0,h=O(h)?l:h,m=n===S,g=Se(a),y=g.isOnBlur,b=g.isOnChange,w=!ge(p._f,p._f.mount)&&!o&&!C(D.current.errors,c)||ye(Object.assign({isBlurEvent:m,isTouched:!!C(D.current.touchedFields,c),isSubmitted:D.current.isSubmitted,isReValidateOnBlur:y,isReValidateOnChange:b},ce)),k=!m&&pe(c),O(h)||(p._f.value=h),E=ke(c,p._f.value,m,!1),_=!B(E)||k,!w){e.next=16;break}return!m&&ae.current.watch.next({name:c,type:n,values:Re()}),e.abrupt("return",_&&ae.current.state.next(k?{name:c}:Object.assign(Object.assign({},E),{name:c})));case 16:if(ae.current.state.next({isValidating:!0}),!o){e.next=27;break}return e.next=20,o(K(z),G.current,ve([c],z.current,M));case 20:F=e.sent,P=F.errors,f=C(P,c),v(r)&&!f&&(T=x(c),(j=C(P,T,{})).type&&j.message&&(f=j),(j||C(D.current.errors,T))&&(c=T)),d=B(P),e.next=31;break;case 27:return e.next=29,Ce(p,fe);case 29:e.t0=c,f=e.sent[e.t0];case 31:!m&&ae.current.watch.next({name:c,type:n,values:Re()}),he(!1,c,f,E,d,k);case 33:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]),Re=function(e){var t=Object.assign(Object.assign({},q.current),K(z));return O(e)?t:re(e)?C(t,e):e.map((function(e){return C(t,e)}))},ze=function(e){e?H(e).forEach((function(e){return oe(D.current.errors,e)})):D.current.errors={},ae.current.state.next({errors:D.current.errors})},Ve=function(e,t,n){var r=((C(z.current,e)||{_f:{}})._f||{}).ref;Q(D.current.errors,e,Object.assign(Object.assign({},t),{ref:r})),ae.current.state.next({name:e,errors:D.current.errors,isValid:!1}),n&&n.shouldFocus&&r&&r.focus&&r.focus()},Be=m.useCallback((function(e,t,n,r){var a=Array.isArray(e),o=r||te.current?Object.assign(Object.assign({},q.current),r||K(z)):O(t)?q.current:a?t:Object(f.a)({},e,t);if(O(e))return n&&(se.current.watchAll=!0),o;var i,u=[],l=c(H(e));try{for(l.s();!(i=l.n()).done;){var s=i.value;n&&se.current.watch.add(s),u.push(C(o,s))}}catch(d){l.e(d)}finally{l.f()}return a?u:u[0]}),[]),Ue=function(e,t){return be(e)?ae.current.watch.subscribe({next:function(n){return e(Be(void 0,t),n)}}):Be(e,t,!0)},He=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=c(e?H(e):se.current.mount);try{for(r.s();!(t=r.n()).done;){var a=t.value;se.current.mount.delete(a),se.current.array.delete(a),C(z.current,a)&&(!n.keepError&&oe(D.current.errors,a),!n.keepValue&&oe(z.current,a),!n.keepDirty&&oe(D.current.dirtyFields,a),!n.keepTouched&&oe(D.current.touchedFields,a),!P&&!n.keepDefaultValue&&oe(q.current,a),ae.current.watch.next({name:a,values:Re()}))}}catch(o){r.e(o)}finally{r.f()}ae.current.state.next(Object.assign(Object.assign({},D.current),n.keepDirty?{isDirty:we()}:{})),!n.keepIsValid&&Ae()},We=function(e,t,n){$e(e,n);var r=C(z.current,e),a=_e(t);t===r._f.ref||a&&k(r._f.refs||[]).find((function(e){return e===t}))||(r={_f:a?Object.assign(Object.assign({},r._f),{refs:[].concat(h(k(r._f.refs||[]).filter((function(e){return Ee(e)&&document.contains(e)}))),[t]),ref:{type:t.type,name:e}}):Object.assign(Object.assign({},r._f),{ref:t})},Q(z.current,e,r),Ne(e,t))},$e=m.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=C(z.current,e);return Q(z.current,e,{_f:Object.assign(Object.assign(Object.assign({},n&&n._f?n._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),se.current.mount.add(e),!n&&Ne(e),Me?{name:e}:{name:e,onChange:De,onBlur:De,ref:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(n){if(n)We(e,n,t);else{var r=C(z.current,e,{}),a=P||t.shouldUnregister;r._f&&(r._f.mount=!1,O(r._f.value)&&(r._f.value=r._f.ref.value)),a&&(!w(se.current.array,e)||!ee.current)&&se.current.unMount.add(e)}}))}}),[]),qe=m.useCallback((function(e,t){return function(){var n=Object(l.a)(u.a.mark((function n(r){var a,i,l,s,c;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist()),a=!0,i=K(z),ae.current.state.next({isSubmitting:!0}),n.prev=4,!o){n.next=15;break}return n.next=8,o(i,G.current,ve(se.current.mount,z.current,M));case 8:l=n.sent,s=l.errors,c=l.values,D.current.errors=s,i=c,n.next=17;break;case 15:return n.next=17,Pe(z.current);case 17:if(!B(D.current.errors)||!Object.keys(D.current.errors).every((function(e){return C(i,e)}))){n.next=23;break}return ae.current.state.next({errors:{},isSubmitting:!0}),n.next=21,e(i,r);case 21:n.next=28;break;case 23:if(n.t0=t,!n.t0){n.next=27;break}return n.next=27,t(D.current.errors,r);case 27:E&&X(z.current,(function(e){return C(D.current.errors,e)}),se.current.mount);case 28:n.next=34;break;case 30:throw n.prev=30,n.t1=n.catch(4),a=!1,n.t1;case 34:return n.prev=34,D.current.isSubmitted=!0,ae.current.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:B(D.current.errors)&&a,submitCount:D.current.submitCount+1,errors:D.current.errors}),n.finish(34);case 38:case"end":return n.stop()}}),n,null,[[4,30,34,38]])})));return function(e){return n.apply(this,arguments)}}()}),[E,fe,M]),Ye=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=C(z.current,n);if((!r||r&&!r._f)&&(!r&&(Z(t)||W&&(t instanceof FileList||t instanceof Date))&&$e(n,{value:t}),Array.isArray(t)||b(t)))for(var a in n&&!C(z.current,n)&&Q(z.current,n,Array.isArray(t)?[]:{}),t)e(t[a],n+(n?".":"")+a)},Ge=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e||q.current;if(W&&!t.keepValues){var r,a=c(se.current.mount);try{for(a.s();!(r=a.n()).done;){var o=r.value,i=C(z.current,o);if(i&&i._f){var u=Array.isArray(i._f.refs)?i._f.refs[0]:i._f.ref;try{Ee(u)&&u.closest("form").reset();break}catch(l){}}}}catch(s){a.e(s)}finally{a.f()}}!t.keepDefaultValues&&(q.current=Object.assign({},n)),t.keepValues||(z.current={},ae.current.control.next({values:Object.assign({},n)}),ae.current.watch.next({values:Object.assign({},n)}),ae.current.array.next({values:Object.assign({},n),isReset:!0})),!t.keepDefaultValues&&!P&&Ye(Object.assign({},n)),se.current={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1},ae.current.state.next({submitCount:t.keepSubmitCount?D.current.submitCount:0,isDirty:t.keepDirty?D.current.isDirty:!!t.keepDefaultValues&&J(e,q.current),isSubmitted:!!t.keepIsSubmitted&&D.current.isSubmitted,dirtyFields:t.keepDirty?D.current.dirtyFields:{},touchedFields:t.keepTouched?D.current.touchedFields:{},errors:t.keepErrors?D.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),te.current=!!t.keepIsValid},Qe=function(e){return C(z.current,e)._f.ref.focus()};return m.useEffect((function(){!P&&Ye(q.current);var e=ae.current.state.subscribe({next:function(e){U(e,L.current,!0)&&(D.current=Object.assign(Object.assign({},D.current),e),I(D.current))}}),t=ae.current.array.subscribe({next:function(e){if(e.values&&e.name&&L.current.isValid){var t=K(z);Q(t,e.name,e.values),Ae(t)}}});return function(){e.unsubscribe(),t.unsubscribe()}}),[]),m.useEffect((function(){var e=function(e){return!Ee(e)||!document.contains(e)};te.current||(te.current=!0,L.current.isValid&&Ae());var t,n=c(se.current.unMount);try{for(n.s();!(t=n.n()).done;){var r=t.value,a=C(z.current,r);a&&(a._f.refs?a._f.refs.every(e):e(a._f.ref))&&He(r)}}catch(o){n.e(o)}finally{n.f()}se.current.unMount=new Set})),{control:m.useMemo((function(){return{register:$e,inFieldArrayActionRef:ee,getIsDirty:we,subjectsRef:ae,watchInternal:Be,fieldsRef:z,updateIsValid:Ae,namesRef:se,readFormStateRef:L,formStateRef:D,defaultValuesRef:q,fieldArrayDefaultValuesRef:Y,unregister:He,shouldUnmount:P}}),[]),formState:V($,A,L),trigger:je,register:$e,handleSubmit:qe,watch:m.useCallback(Ue,[]),setValue:m.useCallback(Le,[Ie]),getValues:m.useCallback(Re,[]),reset:m.useCallback(Ge,[]),clearErrors:m.useCallback(ze,[]),unregister:m.useCallback(He,[]),setError:m.useCallback(Ve,[]),setFocus:m.useCallback(Qe,[])}}},,function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,t){for(var n,u,l=i(e),s=1;s<arguments.length;s++){for(var c in n=Object(arguments[s]))a.call(n,c)&&(l[c]=n[c]);if(r){u=r(n);for(var f=0;f<u.length;f++)o.call(n,u[f])&&(l[u[f]]=n[u[f]])}}return l}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(1),i=l(o),u=l(n(13));function l(e){return e&&e.__esModule?e:{default:e}}var s={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},c=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],f=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},d=!("undefined"===typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return d?"_"+Math.random().toString(36).substr(2,12):void 0},h=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"===typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p(),prevId:e.id},n}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.id;return n!==t.prevId?{inputId:n||p(),prevId:n}:null}}]),a(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"===typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(f(e,this.sizer),this.placeHolderSizer&&f(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&"undefined"!==typeof this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return d&&e?i.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!==e&&void 0!==e?e:t})),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),a=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(a),a.className=this.props.inputClassName,a.id=this.state.inputId,a.style=n,i.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),i.default.createElement("input",r({},a,{ref:this.inputRef})),i.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?i.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(o.Component);h.propTypes={className:u.default.string,defaultValue:u.default.any,extraWidth:u.default.oneOfType([u.default.number,u.default.string]),id:u.default.string,injectStyles:u.default.bool,inputClassName:u.default.string,inputRef:u.default.func,inputStyle:u.default.object,minWidth:u.default.oneOfType([u.default.number,u.default.string]),onAutosize:u.default.func,onChange:u.default.func,placeholder:u.default.string,placeholderIsMinWidth:u.default.bool,style:u.default.object,value:u.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";(function(e){var r=n(1),a=n.n(r),o=n(9),i=n(13),u=n.n(i),l=1073741823,s="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof e?e:{};function c(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var f=a.a.createContext||function(e,t){var n,a,i="__create-react-context-"+function(){var e="__global_unique_id__";return s[e]=(s[e]||0)+1}()+"__",f=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).emitter=c(t.props.value),t}Object(o.a)(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o===1/i:o!==o&&i!==i)?n=0:(n="function"===typeof t?t(r,a):l,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},r.render=function(){return this.props.children},n}(r.Component);f.childContextTypes=((n={})[i]=u.a.object.isRequired,n);var d=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!==((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}Object(o.a)(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?l:t},r.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?l:e},r.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},r.getValue=function(){return this.context[i]?this.context[i].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return d.contextTypes=((a={})[i]=u.a.object,a),{Provider:f,Consumer:d}};t.a=f}).call(this,n(42))},function(e,t,n){var r=n(43);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return u(o(e,t),t)},e.exports.tokensToFunction=u,e.exports.tokensToRegExp=d;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,u="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var f=n[0],d=n[1],p=n.index;if(u+=e.slice(i,p),i=p+f.length,d)u+=d[1];else{var h=e[i],m=n[2],v=n[3],g=n[4],y=n[5],b=n[6],x=n[7];u&&(r.push(u),u="");var w=null!=m&&null!=h&&h!==m,k="+"===b||"*"===b,O="?"===b||"*"===b,C=n[2]||c,S=g||y;r.push({name:v||o++,prefix:m||"",delimiter:C,optional:O,repeat:k,partial:w,asterisk:!!x,pattern:S?s(S):x?".*":"[^"+l(C)+"]+?"})}}return i<e.length&&(u+=e.substr(i)),u&&r.push(u),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function u(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"===typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",f(t)));return function(t,a){for(var o="",u=t||{},l=(a||{}).pretty?i:encodeURIComponent,s=0;s<e.length;s++){var c=e[s];if("string"!==typeof c){var f,d=u[c.name];if(null==d){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(d)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(d)+"`");if(0===d.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<d.length;p++){if(f=l(d[p]),!n[s].test(f))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(f)+"`");o+=(0===p?c.prefix:c.delimiter)+f}}else{if(f=c.asterisk?encodeURI(d).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(d),!n[s].test(f))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+f+'"');o+=c.prefix+f}}else o+=c}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function s(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function f(e){return e&&e.sensitive?"":"i"}function d(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",u=0;u<e.length;u++){var s=e[u];if("string"===typeof s)i+=l(s);else{var d=l(s.prefix),p="(?:"+s.pattern+")";t.push(s),s.repeat&&(p+="(?:"+d+p+")*"),i+=p=s.optional?s.partial?d+"("+p+")?":"(?:"+d+"("+p+"))?":d+"("+p+")"}}var h=l(n.delimiter||"/"),m=i.slice(-h.length)===h;return a||(i=(m?i.slice(0,-h.length):i)+"(?:"+h+"(?=$))?"),i+=o?"$":a&&m?"":"(?="+h+"|$)",c(new RegExp("^"+i,f(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",f(n)),t)}(e,t,n):function(e,t,n){return d(o(e,n),t,n)}(e,t,n)}},function(e,t,n){"use strict";e.exports=n(44)},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,n.apply(this,arguments)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=void 0;try{e=n(63)}finally{return e}},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.pxToNum=function(e){return parseInt(e.slice(0,-2),10)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={slide:n(56),stack:n(61),elastic:n(62),bubble:n(65),push:n(66),pushRotate:n(67),scaleDown:n(68),scaleRotate:n(69),fallDown:n(70),reveal:n(71)},e.exports=t.default},function(e,t,n){"use strict";var r=n(24),a=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,u=60110,l=60112;t.Suspense=60113;var s=60115,c=60116;if("function"===typeof Symbol&&Symbol.for){var f=Symbol.for;a=f("react.element"),o=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),i=f("react.provider"),u=f("react.context"),l=f("react.forward_ref"),t.Suspense=f("react.suspense"),s=f("react.memo"),c=f("react.lazy")}var d="function"===typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function g(){}function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=v.prototype;var b=y.prototype=new g;b.constructor=y,r(b,v.prototype),b.isPureReactComponent=!0;var x={current:null},w=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function O(e,t,n){var r,o={},i=null,u=null;if(null!=t)for(r in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(i=""+t.key),t)w.call(t,r)&&!k.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var s=Array(l),c=0;c<l;c++)s[c]=arguments[c+2];o.children=s}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:a,type:e,key:i,ref:u,props:o,_owner:x.current}}function C(e){return"object"===typeof e&&null!==e&&e.$$typeof===a}var S=/\/+/g;function E(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function _(e,t,n,r,i){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var l=!1;if(null===e)l=!0;else switch(u){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case a:case o:l=!0}}if(l)return i=i(l=e),e=""===r?"."+E(l,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(S,"$&/")+"/"),_(i,t,n,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(S,"$&/")+"/")+e)),t.push(i)),1;if(l=0,r=""===r?".":r+":",Array.isArray(e))for(var s=0;s<e.length;s++){var c=r+E(u=e[s],s);l+=_(u,t,n,c,i)}else if("function"===typeof(c=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e)))for(e=c.call(e),s=0;!(u=e.next()).done;)l+=_(u=u.value,t,n,c=r+E(u,s++),i);else if("object"===u)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function F(e,t,n){if(null==e)return e;var r=[],a=0;return _(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function P(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var T={current:null};function M(){var e=T.current;if(null===e)throw Error(p(321));return e}var j={ReactCurrentDispatcher:T,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:x,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:F,forEach:function(e,t,n){F(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return F(e,(function(){t++})),t},toArray:function(e){return F(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error(p(143));return e}},t.Component=v,t.PureComponent=y,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=j,t.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error(p(267,e));var o=r({},e.props),i=e.key,u=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,l=x.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)w.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];o.children=s}return{$$typeof:a,type:e.type,key:i,ref:u,props:o,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:u,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=O,t.createFactory=function(e){var t=O.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return M().useCallback(e,t)},t.useContext=function(e,t){return M().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return M().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return M().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return M().useLayoutEffect(e,t)},t.useMemo=function(e,t){return M().useMemo(e,t)},t.useReducer=function(e,t,n){return M().useReducer(e,t,n)},t.useRef=function(e){return M().useRef(e)},t.useState=function(e){return M().useState(e)},t.version="17.0.2"},function(e,t,n){"use strict";var r=n(1),a=n(24),o=n(36);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var u=new Set,l={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)u.add(t[e])}var f=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,h={},m={};function v(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new v(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new v(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new v(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new v(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new v(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new v(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function x(e,t,n,r){var a=g.hasOwnProperty(t)?g[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!p.call(m,e)||!p.call(h,e)&&(d.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new v(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);g[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=60103,O=60106,C=60107,S=60108,E=60114,_=60109,F=60110,P=60112,T=60113,M=60120,j=60115,N=60116,A=60121,I=60128,L=60129,D=60130,R=60131;if("function"===typeof Symbol&&Symbol.for){var z=Symbol.for;k=z("react.element"),O=z("react.portal"),C=z("react.fragment"),S=z("react.strict_mode"),E=z("react.profiler"),_=z("react.provider"),F=z("react.context"),P=z("react.forward_ref"),T=z("react.suspense"),M=z("react.suspense_list"),j=z("react.memo"),N=z("react.lazy"),A=z("react.block"),z("react.scope"),I=z("react.opaque.id"),L=z("react.debug_trace_mode"),D=z("react.offscreen"),R=z("react.legacy_hidden")}var V,B="function"===typeof Symbol&&Symbol.iterator;function U(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=B&&e[B]||e["@@iterator"])?e:null}function H(e){if(void 0===V)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);V=t&&t[1]||""}return"\n"+V+e}var W=!1;function $(e,t){if(!e||W)return"";W=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var r=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){r=l}e.call(t.prototype)}else{try{throw Error()}catch(l){r=l}e()}}catch(l){if(l&&r&&"string"===typeof l.stack){for(var a=l.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,u=o.length-1;1<=i&&0<=u&&a[i]!==o[u];)u--;for(;1<=i&&0<=u;i--,u--)if(a[i]!==o[u]){if(1!==i||1!==u)do{if(i--,0>--u||a[i]!==o[u])return"\n"+a[i].replace(" at new "," at ")}while(1<=i&&0<=u);break}}}finally{W=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function q(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return e=$(e.type,!1);case 11:return e=$(e.type.render,!1);case 22:return e=$(e.type._render,!1);case 1:return e=$(e.type,!0);default:return""}}function Y(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case C:return"Fragment";case O:return"Portal";case E:return"Profiler";case S:return"StrictMode";case T:return"Suspense";case M:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case F:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case P:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case j:return Y(e.type);case A:return Y(e._render);case N:t=e._payload,e=e._init;try{return Y(e(t))}catch(n){}}return null}function G(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=Q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Q(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Z(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=G(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=G(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,G(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ae(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+G(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function ue(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:G(n)}}function se(e,t){var n=G(t.value),r=G(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var fe="http://www.w3.org/1999/xhtml",de="http://www.w3.org/2000/svg";function pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,ve,ge=(ve=function(e,t){if(e.namespaceURI!==de||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ve(e,t)}))}:ve);function ye(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xe=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(""+t).trim():t+"px"}function ke(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=we(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(be).forEach((function(e){xe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Oe=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ce(e,t){if(t){if(Oe[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(i(62))}}function Se(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ee(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,Fe=null,Pe=null;function Te(e){if(e=ea(e)){if("function"!==typeof _e)throw Error(i(280));var t=e.stateNode;t&&(t=na(t),_e(e.stateNode,e.type,t))}}function Me(e){Fe?Pe?Pe.push(e):Pe=[e]:Fe=e}function je(){if(Fe){var e=Fe,t=Pe;if(Pe=Fe=null,Te(e),t)for(e=0;e<t.length;e++)Te(t[e])}}function Ne(e,t){return e(t)}function Ae(e,t,n,r,a){return e(t,n,r,a)}function Ie(){}var Le=Ne,De=!1,Re=!1;function ze(){null===Fe&&null===Pe||(Ie(),je())}function Ve(e,t){var n=e.stateNode;if(null===n)return null;var r=na(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(i(231,t,typeof n));return n}var Be=!1;if(f)try{var Ue={};Object.defineProperty(Ue,"passive",{get:function(){Be=!0}}),window.addEventListener("test",Ue,Ue),window.removeEventListener("test",Ue,Ue)}catch(ve){Be=!1}function He(e,t,n,r,a,o,i,u,l){var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(c){this.onError(c)}}var We=!1,$e=null,qe=!1,Ye=null,Ge={onError:function(e){We=!0,$e=e}};function Qe(e,t,n,r,a,o,i,u,l){We=!1,$e=null,He.apply(Ge,arguments)}function Xe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ke(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ze(e){if(Xe(e)!==e)throw Error(i(188))}function Je(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return Ze(a),e;if(o===r)return Ze(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var u=!1,l=a.child;l;){if(l===n){u=!0,n=a,r=o;break}if(l===r){u=!0,r=a,n=o;break}l=l.sibling}if(!u){for(l=o.child;l;){if(l===n){u=!0,n=o,r=a;break}if(l===r){u=!0,r=o,n=a;break}l=l.sibling}if(!u)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,rt,at,ot=!1,it=[],ut=null,lt=null,st=null,ct=new Map,ft=new Map,dt=[],pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ht(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function mt(e,t){switch(e){case"focusin":case"focusout":ut=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":st=null;break;case"pointerover":case"pointerout":ct.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ft.delete(t.pointerId)}}function vt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e=ht(t,n,r,a,o),null!==t&&(null!==(t=ea(t))&&nt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function gt(e){var t=Jr(e.target);if(null!==t){var n=Xe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ke(n)))return e.blockedOn=t,void at(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){rt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ea(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function bt(e,t,n){yt(e)&&n.delete(t)}function xt(){for(ot=!1;0<it.length;){var e=it[0];if(null!==e.blockedOn){null!==(e=ea(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&it.shift()}null!==ut&&yt(ut)&&(ut=null),null!==lt&&yt(lt)&&(lt=null),null!==st&&yt(st)&&(st=null),ct.forEach(bt),ft.forEach(bt)}function wt(e,t){e.blockedOn===t&&(e.blockedOn=null,ot||(ot=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,xt)))}function kt(e){function t(t){return wt(t,e)}if(0<it.length){wt(it[0],e);for(var n=1;n<it.length;n++){var r=it[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ut&&wt(ut,e),null!==lt&&wt(lt,e),null!==st&&wt(st,e),ct.forEach(t),ft.forEach(t),n=0;n<dt.length;n++)(r=dt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<dt.length&&null===(n=dt[0]).blockedOn;)gt(n),null===n.blockedOn&&dt.shift()}function Ot(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ct={animationend:Ot("Animation","AnimationEnd"),animationiteration:Ot("Animation","AnimationIteration"),animationstart:Ot("Animation","AnimationStart"),transitionend:Ot("Transition","TransitionEnd")},St={},Et={};function _t(e){if(St[e])return St[e];if(!Ct[e])return e;var t,n=Ct[e];for(t in n)if(n.hasOwnProperty(t)&&t in Et)return St[e]=n[t];return e}f&&(Et=document.createElement("div").style,"AnimationEvent"in window||(delete Ct.animationend.animation,delete Ct.animationiteration.animation,delete Ct.animationstart.animation),"TransitionEvent"in window||delete Ct.transitionend.transition);var Ft=_t("animationend"),Pt=_t("animationiteration"),Tt=_t("animationstart"),Mt=_t("transitionend"),jt=new Map,Nt=new Map,At=["abort","abort",Ft,"animationEnd",Pt,"animationIteration",Tt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Mt,"transitionEnd","waiting","waiting"];function It(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Nt.set(r,t),jt.set(r,a),s(a,[r])}}(0,o.unstable_now)();var Lt=8;function Dt(e){if(0!==(1&e))return Lt=15,1;if(0!==(2&e))return Lt=14,2;if(0!==(4&e))return Lt=13,4;var t=24&e;return 0!==t?(Lt=12,t):0!==(32&e)?(Lt=11,32):0!==(t=192&e)?(Lt=10,t):0!==(256&e)?(Lt=9,256):0!==(t=3584&e)?(Lt=8,t):0!==(4096&e)?(Lt=7,4096):0!==(t=4186112&e)?(Lt=6,t):0!==(t=62914560&e)?(Lt=5,t):67108864&e?(Lt=4,67108864):0!==(134217728&e)?(Lt=3,134217728):0!==(t=805306368&e)?(Lt=2,t):0!==(1073741824&e)?(Lt=1,1073741824):(Lt=8,e)}function Rt(e,t){var n=e.pendingLanes;if(0===n)return Lt=0;var r=0,a=0,o=e.expiredLanes,i=e.suspendedLanes,u=e.pingedLanes;if(0!==o)r=o,a=Lt=15;else if(0!==(o=134217727&n)){var l=o&~i;0!==l?(r=Dt(l),a=Lt):0!==(u&=o)&&(r=Dt(u),a=Lt)}else 0!==(o=n&~i)?(r=Dt(o),a=Lt):0!==u&&(r=Dt(u),a=Lt);if(0===r)return 0;if(r=n&((0>(r=31-Wt(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0===(t&i)){if(Dt(t),a<=Lt)return t;Lt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Wt(t)),r|=e[n],t&=~a;return r}function zt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Vt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Bt(24&~t))?Vt(10,t):e;case 10:return 0===(e=Bt(192&~t))?Vt(8,t):e;case 8:return 0===(e=Bt(3584&~t))&&(0===(e=Bt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Bt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function Bt(e){return e&-e}function Ut(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ht(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Wt(t)]=n}var Wt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-($t(e)/qt|0)|0},$t=Math.log,qt=Math.LN2;var Yt=o.unstable_UserBlockingPriority,Gt=o.unstable_runWithPriority,Qt=!0;function Xt(e,t,n,r){De||Ie();var a=Zt,o=De;De=!0;try{Ae(a,e,t,n,r)}finally{(De=o)||ze()}}function Kt(e,t,n,r){Gt(Yt,Zt.bind(null,e,t,n,r))}function Zt(e,t,n,r){var a;if(Qt)if((a=0===(4&t))&&0<it.length&&-1<pt.indexOf(e))e=ht(null,e,t,n,r),it.push(e);else{var o=Jt(e,t,n,r);if(null===o)a&&mt(e,r);else{if(a){if(-1<pt.indexOf(e))return e=ht(o,e,t,n,r),void it.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return ut=vt(ut,e,t,n,r,a),!0;case"dragenter":return lt=vt(lt,e,t,n,r,a),!0;case"mouseover":return st=vt(st,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return ct.set(o,vt(ct.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,ft.set(o,vt(ft.get(o)||null,e,t,n,r,a)),!0}return!1}(o,e,t,n,r))return;mt(e,r)}jr(e,t,r,null,n)}}}function Jt(e,t,n,r){var a=Ee(r);if(null!==(a=Jr(a))){var o=Xe(a);if(null===o)a=null;else{var i=o.tag;if(13===i){if(null!==(a=Ke(o)))return a;a=null}else if(3===i){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;a=null}else o!==a&&(a=null)}}return jr(e,t,r,a,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,r=n.length,a="value"in en?en.value:en.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return nn=a.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function on(){return!0}function un(){return!1}function ln(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?on:un,this.isPropagationStopped=un,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=on)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=on)},persist:function(){},isPersistent:on}),t}var sn,cn,fn,dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pn=ln(dn),hn=a({},dn,{view:0,detail:0}),mn=ln(hn),vn=a({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_n,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==fn&&(fn&&"mousemove"===e.type?(sn=e.screenX-fn.screenX,cn=e.screenY-fn.screenY):cn=sn=0,fn=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:cn}}),gn=ln(vn),yn=ln(a({},vn,{dataTransfer:0})),bn=ln(a({},hn,{relatedTarget:0})),xn=ln(a({},dn,{animationName:0,elapsedTime:0,pseudoElement:0})),wn=ln(a({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),kn=ln(a({},dn,{data:0})),On={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Cn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function _n(){return En}var Fn=ln(a({},hn,{key:function(e){if(e.key){var t=On[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Cn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_n,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),Pn=ln(a({},vn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Tn=ln(a({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_n})),Mn=ln(a({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),jn=ln(a({},vn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Nn=[9,13,27,32],An=f&&"CompositionEvent"in window,In=null;f&&"documentMode"in document&&(In=document.documentMode);var Ln=f&&"TextEvent"in window&&!In,Dn=f&&(!An||In&&8<In&&11>=In),Rn=String.fromCharCode(32),zn=!1;function Vn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function $n(e,t,n,r){Me(r),0<(t=Ar(t,"onChange")).length&&(n=new pn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var qn=null,Yn=null;function Gn(e){Er(e,0)}function Qn(e){if(K(ta(e)))return e}function Xn(e,t){if("change"===e)return t}var Kn=!1;if(f){var Zn;if(f){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"===typeof er.oninput}Zn=Jn}else Zn=!1;Kn=Zn&&(!document.documentMode||9<document.documentMode)}function tr(){qn&&(qn.detachEvent("onpropertychange",nr),Yn=qn=null)}function nr(e){if("value"===e.propertyName&&Qn(Yn)){var t=[];if($n(t,Yn,e,Ee(e)),e=Gn,De)e(t);else{De=!0;try{Ne(e,t)}finally{De=!1,ze()}}}}function rr(e,t,n){"focusin"===e?(tr(),Yn=n,(qn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Yn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var ur="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},lr=Object.prototype.hasOwnProperty;function sr(e,t){if(ur(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!lr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fr(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var mr=f&&"documentMode"in document&&11>=document.documentMode,vr=null,gr=null,yr=null,br=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;br||null==vr||vr!==Z(r)||("selectionStart"in(r=vr)&&hr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&sr(yr,r)||(yr=r,0<(r=Ar(gr,"onSelect")).length&&(t=new pn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}It("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),It("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),It(At,2);for(var wr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),kr=0;kr<wr.length;kr++)Nt.set(wr[kr],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Or="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Or));function Sr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,u,l,s){if(Qe.apply(this,arguments),We){if(!We)throw Error(i(198));var c=$e;We=!1,$e=null,qe||(qe=!0,Ye=c)}}(r,t,void 0,e),e.currentTarget=null}function Er(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var u=r[i],l=u.instance,s=u.currentTarget;if(u=u.listener,l!==o&&a.isPropagationStopped())break e;Sr(a,u,s),o=l}else for(i=0;i<r.length;i++){if(l=(u=r[i]).instance,s=u.currentTarget,u=u.listener,l!==o&&a.isPropagationStopped())break e;Sr(a,u,s),o=l}}}if(qe)throw e=Ye,qe=!1,Ye=null,e}function _r(e,t){var n=ra(t),r=e+"__bubble";n.has(r)||(Mr(t,e,2,!1),n.add(r))}var Fr="_reactListening"+Math.random().toString(36).slice(2);function Pr(e){e[Fr]||(e[Fr]=!0,u.forEach((function(t){Cr.has(t)||Tr(t,!1,e,null),Tr(t,!0,e,null)})))}function Tr(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==r&&!t&&Cr.has(e)){if("scroll"!==e)return;a|=2,o=r}var i=ra(o),u=e+"__"+(t?"capture":"bubble");i.has(u)||(t&&(a|=4),Mr(o,e,a,t),i.add(u))}function Mr(e,t,n,r){var a=Nt.get(t);switch(void 0===a?2:a){case 0:a=Xt;break;case 1:a=Kt;break;default:a=Zt}n=a.bind(null,t,n,e),a=void 0,!Be||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function jr(e,t,n,r,a){var o=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var u=r.stateNode.containerInfo;if(u===a||8===u.nodeType&&u.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==u;){if(null===(i=Jr(u)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}u=u.parentNode}}r=r.return}!function(e,t,n){if(Re)return e(t,n);Re=!0;try{Le(e,t,n)}finally{Re=!1,ze()}}((function(){var r=o,a=Ee(n),i=[];e:{var u=jt.get(e);if(void 0!==u){var l=pn,s=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=Fn;break;case"focusin":s="focus",l=bn;break;case"focusout":s="blur",l=bn;break;case"beforeblur":case"afterblur":l=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=yn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Tn;break;case Ft:case Pt:case Tt:l=xn;break;case Mt:l=Mn;break;case"scroll":l=mn;break;case"wheel":l=jn;break;case"copy":case"cut":case"paste":l=wn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Pn}var c=0!==(4&t),f=!c&&"scroll"===e,d=c?null!==u?u+"Capture":null:u;c=[];for(var p,h=r;null!==h;){var m=(p=h).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==d&&(null!=(m=Ve(h,d))&&c.push(Nr(h,m,p)))),f)break;h=h.return}0<c.length&&(u=new l(u,s,null,n,a),i.push({event:u,listeners:c}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(u="mouseover"===e||"pointerover"===e)||0!==(16&t)||!(s=n.relatedTarget||n.fromElement)||!Jr(s)&&!s[Kr])&&(l||u)&&(u=a.window===a?a:(u=a.ownerDocument)?u.defaultView||u.parentWindow:window,l?(l=r,null!==(s=(s=n.relatedTarget||n.toElement)?Jr(s):null)&&(s!==(f=Xe(s))||5!==s.tag&&6!==s.tag)&&(s=null)):(l=null,s=r),l!==s)){if(c=gn,m="onMouseLeave",d="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(c=Pn,m="onPointerLeave",d="onPointerEnter",h="pointer"),f=null==l?u:ta(l),p=null==s?u:ta(s),(u=new c(m,h+"leave",l,n,a)).target=f,u.relatedTarget=p,m=null,Jr(a)===r&&((c=new c(d,h+"enter",s,n,a)).target=p,c.relatedTarget=f,m=c),f=m,l&&s)e:{for(d=s,h=0,p=c=l;p;p=Ir(p))h++;for(p=0,m=d;m;m=Ir(m))p++;for(;0<h-p;)c=Ir(c),h--;for(;0<p-h;)d=Ir(d),p--;for(;h--;){if(c===d||null!==d&&c===d.alternate)break e;c=Ir(c),d=Ir(d)}c=null}else c=null;null!==l&&Lr(i,u,l,c,!1),null!==s&&null!==f&&Lr(i,f,s,c,!0)}if("select"===(l=(u=r?ta(r):window).nodeName&&u.nodeName.toLowerCase())||"input"===l&&"file"===u.type)var v=Xn;else if(Wn(u))if(Kn)v=ir;else{v=ar;var g=rr}else(l=u.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===u.type||"radio"===u.type)&&(v=or);switch(v&&(v=v(e,r))?$n(i,v,n,a):(g&&g(e,u,r),"focusout"===e&&(g=u._wrapperState)&&g.controlled&&"number"===u.type&&ae(u,"number",u.value)),g=r?ta(r):window,e){case"focusin":(Wn(g)||"true"===g.contentEditable)&&(vr=g,gr=r,yr=null);break;case"focusout":yr=gr=vr=null;break;case"mousedown":br=!0;break;case"contextmenu":case"mouseup":case"dragend":br=!1,xr(i,n,a);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":xr(i,n,a)}var y;if(An)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Un?Vn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Dn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==b?"onCompositionEnd"===b&&Un&&(y=rn()):(tn="value"in(en=a)?en.value:en.textContent,Un=!0)),0<(g=Ar(r,b)).length&&(b=new kn(b,e,null,n,a),i.push({event:b,listeners:g}),y?b.data=y:null!==(y=Bn(n))&&(b.data=y))),(y=Ln?function(e,t){switch(e){case"compositionend":return Bn(t);case"keypress":return 32!==t.which?null:(zn=!0,Rn);case"textInput":return(e=t.data)===Rn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!An&&Vn(e,t)?(e=rn(),nn=tn=en=null,Un=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Dn&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))&&(0<(r=Ar(r,"onBeforeInput")).length&&(a=new kn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=y))}Er(i,t)}))}function Nr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ar(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Ve(e,n))&&r.unshift(Nr(e,o,a)),null!=(o=Ve(e,t))&&r.push(Nr(e,o,a))),e=e.return}return r}function Ir(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Lr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var u=n,l=u.alternate,s=u.stateNode;if(null!==l&&l===r)break;5===u.tag&&null!==s&&(u=s,a?null!=(l=Ve(n,o))&&i.unshift(Nr(n,l,u)):a||null!=(l=Ve(n,o))&&i.push(Nr(n,l,u))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function Dr(){}var Rr=null,zr=null;function Vr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Br(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Ur="function"===typeof setTimeout?setTimeout:void 0,Hr="function"===typeof clearTimeout?clearTimeout:void 0;function Wr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function $r(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function qr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Yr=0;var Gr=Math.random().toString(36).slice(2),Qr="__reactFiber$"+Gr,Xr="__reactProps$"+Gr,Kr="__reactContainer$"+Gr,Zr="__reactEvents$"+Gr;function Jr(e){var t=e[Qr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Kr]||n[Qr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=qr(e);null!==e;){if(n=e[Qr])return n;e=qr(e)}return t}n=(e=n).parentNode}return null}function ea(e){return!(e=e[Qr]||e[Kr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ta(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function na(e){return e[Xr]||null}function ra(e){var t=e[Zr];return void 0===t&&(t=e[Zr]=new Set),t}var aa=[],oa=-1;function ia(e){return{current:e}}function ua(e){0>oa||(e.current=aa[oa],aa[oa]=null,oa--)}function la(e,t){oa++,aa[oa]=e.current,e.current=t}var sa={},ca=ia(sa),fa=ia(!1),da=sa;function pa(e,t){var n=e.type.contextTypes;if(!n)return sa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ha(e){return null!==(e=e.childContextTypes)&&void 0!==e}function ma(){ua(fa),ua(ca)}function va(e,t,n){if(ca.current!==sa)throw Error(i(168));la(ca,t),la(fa,n)}function ga(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,Y(t)||"Unknown",o));return a({},n,r)}function ya(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||sa,da=ca.current,la(ca,e),la(fa,fa.current),!0}function ba(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=ga(e,t,da),r.__reactInternalMemoizedMergedChildContext=e,ua(fa),ua(ca),la(ca,e)):ua(fa),la(fa,n)}var xa=null,wa=null,ka=o.unstable_runWithPriority,Oa=o.unstable_scheduleCallback,Ca=o.unstable_cancelCallback,Sa=o.unstable_shouldYield,Ea=o.unstable_requestPaint,_a=o.unstable_now,Fa=o.unstable_getCurrentPriorityLevel,Pa=o.unstable_ImmediatePriority,Ta=o.unstable_UserBlockingPriority,Ma=o.unstable_NormalPriority,ja=o.unstable_LowPriority,Na=o.unstable_IdlePriority,Aa={},Ia=void 0!==Ea?Ea:function(){},La=null,Da=null,Ra=!1,za=_a(),Va=1e4>za?_a:function(){return _a()-za};function Ba(){switch(Fa()){case Pa:return 99;case Ta:return 98;case Ma:return 97;case ja:return 96;case Na:return 95;default:throw Error(i(332))}}function Ua(e){switch(e){case 99:return Pa;case 98:return Ta;case 97:return Ma;case 96:return ja;case 95:return Na;default:throw Error(i(332))}}function Ha(e,t){return e=Ua(e),ka(e,t)}function Wa(e,t,n){return e=Ua(e),Oa(e,t,n)}function $a(){if(null!==Da){var e=Da;Da=null,Ca(e)}qa()}function qa(){if(!Ra&&null!==La){Ra=!0;var e=0;try{var t=La;Ha(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),La=null}catch(n){throw null!==La&&(La=La.slice(e+1)),Oa(Pa,$a),n}finally{Ra=!1}}}var Ya=w.ReactCurrentBatchConfig;function Ga(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Qa=ia(null),Xa=null,Ka=null,Za=null;function Ja(){Za=Ka=Xa=null}function eo(e){var t=Qa.current;ua(Qa),e.type._context._currentValue=t}function to(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function no(e,t){Xa=e,Za=Ka=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Ai=!0),e.firstContext=null)}function ro(e,t){if(Za!==e&&!1!==t&&0!==t)if("number"===typeof t&&1073741823!==t||(Za=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ka){if(null===Xa)throw Error(i(308));Ka=t,Xa.dependencies={lanes:0,firstContext:t,responders:null}}else Ka=Ka.next=t;return e._currentValue}var ao=!1;function oo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function io(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function uo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function lo(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function so(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function co(e,t,n,r){var o=e.updateQueue;ao=!1;var i=o.firstBaseUpdate,u=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,c=s.next;s.next=null,null===u?i=c:u.next=c,u=s;var f=e.alternate;if(null!==f){var d=(f=f.updateQueue).lastBaseUpdate;d!==u&&(null===d?f.firstBaseUpdate=c:d.next=c,f.lastBaseUpdate=s)}}if(null!==i){for(d=o.baseState,u=0,f=c=s=null;;){l=i.lane;var p=i.eventTime;if((r&l)===l){null!==f&&(f=f.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var h=e,m=i;switch(l=t,p=n,m.tag){case 1:if("function"===typeof(h=m.payload)){d=h.call(p,d,l);break e}d=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null===(l="function"===typeof(h=m.payload)?h.call(p,d,l):h)||void 0===l)break e;d=a({},d,l);break e;case 2:ao=!0}}null!==i.callback&&(e.flags|=32,null===(l=o.effects)?o.effects=[i]:l.push(i))}else p={eventTime:p,lane:l,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===f?(c=f=p,s=d):f=f.next=p,u|=l;if(null===(i=i.next)){if(null===(l=o.shared.pending))break;i=l.next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}null===f&&(s=d),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=f,Ru|=u,e.lanes=u,e.memoizedState=d}}function fo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!==typeof a)throw Error(i(191,a));a.call(r)}}}var po=(new r.Component).refs;function ho(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var mo={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=sl(),a=cl(e),o=uo(r,a);o.payload=t,void 0!==n&&null!==n&&(o.callback=n),lo(e,o),fl(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=sl(),a=cl(e),o=uo(r,a);o.tag=1,o.payload=t,void 0!==n&&null!==n&&(o.callback=n),lo(e,o),fl(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=sl(),r=cl(e),a=uo(n,r);a.tag=2,void 0!==t&&null!==t&&(a.callback=t),lo(e,a),fl(e,r,n)}};function vo(e,t,n,r,a,o,i){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,o))}function go(e,t,n){var r=!1,a=sa,o=t.contextType;return"object"===typeof o&&null!==o?o=ro(o):(a=ha(t)?da:ca.current,o=(r=null!==(r=t.contextTypes)&&void 0!==r)?pa(e,a):sa),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=mo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function yo(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&mo.enqueueReplaceState(t,t.state,null)}function bo(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=po,oo(e);var o=t.contextType;"object"===typeof o&&null!==o?a.context=ro(o):(o=ha(t)?da:ca.current,a.context=pa(e,o)),co(e,n,a,r),a.state=e.memoizedState,"function"===typeof(o=t.getDerivedStateFromProps)&&(ho(e,t,o,n),a.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof a.getSnapshotBeforeUpdate||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||(t=a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&mo.enqueueReplaceState(a,a.state,null),co(e,n,a,r),a.state=e.memoizedState),"function"===typeof a.componentDidMount&&(e.flags|=4)}var xo=Array.isArray;function wo(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===a?t.ref:((t=function(e){var t=r.refs;t===po&&(t=r.refs={}),null===e?delete t[a]:t[a]=e})._stringRef=a,t)}if("string"!==typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function ko(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Oo(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Hl(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function u(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Yl(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function s(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=wo(e,t,n),r.return=e,r):((r=Wl(n.type,n.key,n.props,null,e.mode,r)).ref=wo(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Gl(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function f(e,t,n,r,o){return null===t||7!==t.tag?((t=$l(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function d(e,t,n){if("string"===typeof t||"number"===typeof t)return(t=Yl(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Wl(t.type,t.key,t.props,null,e.mode,n)).ref=wo(e,null,t),n.return=e,n;case O:return(t=Gl(t,e.mode,n)).return=e,t}if(xo(t)||U(t))return(t=$l(t,e.mode,n,null)).return=e,t;ko(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"===typeof n||"number"===typeof n)return null!==a?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?n.type===C?f(e,t,n.props.children,r,a):s(e,t,n,r):null;case O:return n.key===a?c(e,t,n,r):null}if(xo(n)||U(n))return null!==a?null:f(e,t,n,r,null);ko(e,n)}return null}function h(e,t,n,r,a){if("string"===typeof r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"===typeof r&&null!==r){switch(r.$$typeof){case k:return e=e.get(null===r.key?n:r.key)||null,r.type===C?f(t,e,r.props.children,a,r.key):s(t,e,r,a);case O:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(xo(r)||U(r))return f(t,e=e.get(n)||null,r,a,null);ko(t,r)}return null}function m(a,i,u,l){for(var s=null,c=null,f=i,m=i=0,v=null;null!==f&&m<u.length;m++){f.index>m?(v=f,f=null):v=f.sibling;var g=p(a,f,u[m],l);if(null===g){null===f&&(f=v);break}e&&f&&null===g.alternate&&t(a,f),i=o(g,i,m),null===c?s=g:c.sibling=g,c=g,f=v}if(m===u.length)return n(a,f),s;if(null===f){for(;m<u.length;m++)null!==(f=d(a,u[m],l))&&(i=o(f,i,m),null===c?s=f:c.sibling=f,c=f);return s}for(f=r(a,f);m<u.length;m++)null!==(v=h(f,a,m,u[m],l))&&(e&&null!==v.alternate&&f.delete(null===v.key?m:v.key),i=o(v,i,m),null===c?s=v:c.sibling=v,c=v);return e&&f.forEach((function(e){return t(a,e)})),s}function v(a,u,l,s){var c=U(l);if("function"!==typeof c)throw Error(i(150));if(null==(l=c.call(l)))throw Error(i(151));for(var f=c=null,m=u,v=u=0,g=null,y=l.next();null!==m&&!y.done;v++,y=l.next()){m.index>v?(g=m,m=null):g=m.sibling;var b=p(a,m,y.value,s);if(null===b){null===m&&(m=g);break}e&&m&&null===b.alternate&&t(a,m),u=o(b,u,v),null===f?c=b:f.sibling=b,f=b,m=g}if(y.done)return n(a,m),c;if(null===m){for(;!y.done;v++,y=l.next())null!==(y=d(a,y.value,s))&&(u=o(y,u,v),null===f?c=y:f.sibling=y,f=y);return c}for(m=r(a,m);!y.done;v++,y=l.next())null!==(y=h(m,a,v,y.value,s))&&(e&&null!==y.alternate&&m.delete(null===y.key?v:y.key),u=o(y,u,v),null===f?c=y:f.sibling=y,f=y);return e&&m.forEach((function(e){return t(a,e)})),c}return function(e,r,o,l){var s="object"===typeof o&&null!==o&&o.type===C&&null===o.key;s&&(o=o.props.children);var c="object"===typeof o&&null!==o;if(c)switch(o.$$typeof){case k:e:{for(c=o.key,s=r;null!==s;){if(s.key===c){switch(s.tag){case 7:if(o.type===C){n(e,s.sibling),(r=a(s,o.props.children)).return=e,e=r;break e}break;default:if(s.elementType===o.type){n(e,s.sibling),(r=a(s,o.props)).ref=wo(e,s,o),r.return=e,e=r;break e}}n(e,s);break}t(e,s),s=s.sibling}o.type===C?((r=$l(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Wl(o.type,o.key,o.props,null,e.mode,l)).ref=wo(e,r,o),l.return=e,e=l)}return u(e);case O:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Gl(o,e.mode,l)).return=e,e=r}return u(e)}if("string"===typeof o||"number"===typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Yl(o,e.mode,l)).return=e,e=r),u(e);if(xo(o))return m(e,r,o,l);if(U(o))return v(e,r,o,l);if(c&&ko(e,o),"undefined"===typeof o&&!s)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,Y(e.type)||"Component"))}return n(e,r)}}var Co=Oo(!0),So=Oo(!1),Eo={},_o=ia(Eo),Fo=ia(Eo),Po=ia(Eo);function To(e){if(e===Eo)throw Error(i(174));return e}function Mo(e,t){switch(la(Po,t),la(Fo,e),la(_o,Eo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(_o),la(_o,t)}function jo(){ua(_o),ua(Fo),ua(Po)}function No(e){To(Po.current);var t=To(_o.current),n=he(t,e.type);t!==n&&(la(Fo,e),la(_o,n))}function Ao(e){Fo.current===e&&(ua(_o),ua(Fo))}var Io=ia(0);function Lo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Do=null,Ro=null,zo=!1;function Vo(e,t){var n=Bl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Bo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Uo(e){if(zo){var t=Ro;if(t){var n=t;if(!Bo(e,t)){if(!(t=$r(n.nextSibling))||!Bo(e,t))return e.flags=-1025&e.flags|2,zo=!1,void(Do=e);Vo(Do,n)}Do=e,Ro=$r(t.firstChild)}else e.flags=-1025&e.flags|2,zo=!1,Do=e}}function Ho(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Do=e}function Wo(e){if(e!==Do)return!1;if(!zo)return Ho(e),zo=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Br(t,e.memoizedProps))for(t=Ro;t;)Vo(e,t),t=$r(t.nextSibling);if(Ho(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Ro=$r(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Ro=null}}else Ro=Do?$r(e.stateNode.nextSibling):null;return!0}function $o(){Ro=Do=null,zo=!1}var qo=[];function Yo(){for(var e=0;e<qo.length;e++)qo[e]._workInProgressVersionPrimary=null;qo.length=0}var Go=w.ReactCurrentDispatcher,Qo=w.ReactCurrentBatchConfig,Xo=0,Ko=null,Zo=null,Jo=null,ei=!1,ti=!1;function ni(){throw Error(i(321))}function ri(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function ai(e,t,n,r,a,o){if(Xo=o,Ko=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Go.current=null===e||null===e.memoizedState?Ti:Mi,e=n(r,a),ti){o=0;do{if(ti=!1,!(25>o))throw Error(i(301));o+=1,Jo=Zo=null,t.updateQueue=null,Go.current=ji,e=n(r,a)}while(ti)}if(Go.current=Pi,t=null!==Zo&&null!==Zo.next,Xo=0,Jo=Zo=Ko=null,ei=!1,t)throw Error(i(300));return e}function oi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Jo?Ko.memoizedState=Jo=e:Jo=Jo.next=e,Jo}function ii(){if(null===Zo){var e=Ko.alternate;e=null!==e?e.memoizedState:null}else e=Zo.next;var t=null===Jo?Ko.memoizedState:Jo.next;if(null!==t)Jo=t,Zo=e;else{if(null===e)throw Error(i(310));e={memoizedState:(Zo=e).memoizedState,baseState:Zo.baseState,baseQueue:Zo.baseQueue,queue:Zo.queue,next:null},null===Jo?Ko.memoizedState=Jo=e:Jo=Jo.next=e}return Jo}function ui(e,t){return"function"===typeof t?t(e):t}function li(e){var t=ii(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=Zo,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var u=a.next;a.next=o.next,o.next=u}r.baseQueue=a=o,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var l=u=o=null,s=a;do{var c=s.lane;if((Xo&c)===c)null!==l&&(l=l.next={lane:0,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),r=s.eagerReducer===e?s.eagerState:e(r,s.action);else{var f={lane:c,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null};null===l?(u=l=f,o=r):l=l.next=f,Ko.lanes|=c,Ru|=c}s=s.next}while(null!==s&&s!==a);null===l?o=r:l.next=u,ur(r,t.memoizedState)||(Ai=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function si(e){var t=ii(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var u=a=a.next;do{o=e(o,u.action),u=u.next}while(u!==a);ur(o,t.memoizedState)||(Ai=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ci(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Xo&e)===e)&&(t._workInProgressVersionPrimary=r,qo.push(t))),e)return n(t._source);throw qo.push(t),Error(i(350))}function fi(e,t,n,r){var a=Tu;if(null===a)throw Error(i(349));var o=t._getVersion,u=o(t._source),l=Go.current,s=l.useState((function(){return ci(a,t,n)})),c=s[1],f=s[0];s=Jo;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,m=d.source;d=d.subscribe;var v=Ko;return e.memoizedState={refs:p,source:t,subscribe:r},l.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!ur(u,e)){e=n(t._source),ur(f,e)||(c(e),e=cl(v),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,i=e;0<i;){var l=31-Wt(i),s=1<<l;r[l]|=e,i&=~s}}}),[n,t,r]),l.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=cl(v);a.mutableReadLanes|=r&a.pendingLanes}catch(o){n((function(){throw o}))}}))}),[t,r]),ur(h,n)&&ur(m,t)&&ur(d,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:f}).dispatch=c=Fi.bind(null,Ko,e),s.queue=e,s.baseQueue=null,f=ci(a,t,n),s.memoizedState=s.baseState=f),f}function di(e,t,n){return fi(ii(),e,t,n)}function pi(e){var t=oi();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:e}).dispatch=Fi.bind(null,Ko,e),[t.memoizedState,e]}function hi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Ko.updateQueue)?(t={lastEffect:null},Ko.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function mi(e){return e={current:e},oi().memoizedState=e}function vi(){return ii().memoizedState}function gi(e,t,n,r){var a=oi();Ko.flags|=e,a.memoizedState=hi(1|t,n,void 0,void 0===r?null:r)}function yi(e,t,n,r){var a=ii();r=void 0===r?null:r;var o=void 0;if(null!==Zo){var i=Zo.memoizedState;if(o=i.destroy,null!==r&&ri(r,i.deps))return void hi(t,n,o,r)}Ko.flags|=e,a.memoizedState=hi(1|t,n,o,r)}function bi(e,t){return gi(516,4,e,t)}function xi(e,t){return yi(516,4,e,t)}function wi(e,t){return yi(4,2,e,t)}function ki(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Oi(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,yi(4,2,ki.bind(null,t,e),n)}function Ci(){}function Si(e,t){var n=ii();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ri(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ei(e,t){var n=ii();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ri(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function _i(e,t){var n=Ba();Ha(98>n?98:n,(function(){e(!0)})),Ha(97<n?97:n,(function(){var n=Qo.transition;Qo.transition=1;try{e(!1),t()}finally{Qo.transition=n}}))}function Fi(e,t,n){var r=sl(),a=cl(e),o={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?o.next=o:(o.next=i.next,i.next=o),t.pending=o,i=e.alternate,e===Ko||null!==i&&i===Ko)ti=ei=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var u=t.lastRenderedState,l=i(u,n);if(o.eagerReducer=i,o.eagerState=l,ur(l,u))return}catch(s){}fl(e,a,r)}}var Pi={readContext:ro,useCallback:ni,useContext:ni,useEffect:ni,useImperativeHandle:ni,useLayoutEffect:ni,useMemo:ni,useReducer:ni,useRef:ni,useState:ni,useDebugValue:ni,useDeferredValue:ni,useTransition:ni,useMutableSource:ni,useOpaqueIdentifier:ni,unstable_isNewReconciler:!1},Ti={readContext:ro,useCallback:function(e,t){return oi().memoizedState=[e,void 0===t?null:t],e},useContext:ro,useEffect:bi,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,gi(4,2,ki.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gi(4,2,e,t)},useMemo:function(e,t){var n=oi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=oi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Fi.bind(null,Ko,e),[r.memoizedState,e]},useRef:mi,useState:pi,useDebugValue:Ci,useDeferredValue:function(e){var t=pi(e),n=t[0],r=t[1];return bi((function(){var t=Qo.transition;Qo.transition=1;try{r(e)}finally{Qo.transition=t}}),[e]),n},useTransition:function(){var e=pi(!1),t=e[0];return mi(e=_i.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=oi();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},fi(r,e,t,n)},useOpaqueIdentifier:function(){if(zo){var e=!1,t=function(e){return{$$typeof:I,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Yr++).toString(36))),Error(i(355))})),n=pi(t)[1];return 0===(2&Ko.mode)&&(Ko.flags|=516,hi(5,(function(){n("r:"+(Yr++).toString(36))}),void 0,null)),t}return pi(t="r:"+(Yr++).toString(36)),t},unstable_isNewReconciler:!1},Mi={readContext:ro,useCallback:Si,useContext:ro,useEffect:xi,useImperativeHandle:Oi,useLayoutEffect:wi,useMemo:Ei,useReducer:li,useRef:vi,useState:function(){return li(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=li(ui),n=t[0],r=t[1];return xi((function(){var t=Qo.transition;Qo.transition=1;try{r(e)}finally{Qo.transition=t}}),[e]),n},useTransition:function(){var e=li(ui)[0];return[vi().current,e]},useMutableSource:di,useOpaqueIdentifier:function(){return li(ui)[0]},unstable_isNewReconciler:!1},ji={readContext:ro,useCallback:Si,useContext:ro,useEffect:xi,useImperativeHandle:Oi,useLayoutEffect:wi,useMemo:Ei,useReducer:si,useRef:vi,useState:function(){return si(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=si(ui),n=t[0],r=t[1];return xi((function(){var t=Qo.transition;Qo.transition=1;try{r(e)}finally{Qo.transition=t}}),[e]),n},useTransition:function(){var e=si(ui)[0];return[vi().current,e]},useMutableSource:di,useOpaqueIdentifier:function(){return si(ui)[0]},unstable_isNewReconciler:!1},Ni=w.ReactCurrentOwner,Ai=!1;function Ii(e,t,n,r){t.child=null===e?So(t,null,n,r):Co(t,e.child,n,r)}function Li(e,t,n,r,a){n=n.render;var o=t.ref;return no(t,a),r=ai(e,t,n,r,o,a),null===e||Ai?(t.flags|=1,Ii(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,nu(e,t,a))}function Di(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!==typeof i||Ul(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Wl(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Ri(e,t,i,r,a,o))}return i=e.child,0===(a&o)&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:sr)(a,r)&&e.ref===t.ref)?nu(e,t,o):(t.flags|=1,(e=Hl(i,r)).ref=t.ref,e.return=t,t.child=e)}function Ri(e,t,n,r,a,o){if(null!==e&&sr(e.memoizedProps,r)&&e.ref===t.ref){if(Ai=!1,0===(o&a))return t.lanes=e.lanes,nu(e,t,o);0!==(16384&e.flags)&&(Ai=!0)}return Bi(e,t,n,r,o)}function zi(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0===(4&t.mode))t.memoizedState={baseLanes:0},bl(t,n);else{if(0===(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},bl(t,e),null;t.memoizedState={baseLanes:0},bl(t,null!==o?o.baseLanes:n)}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,bl(t,r);return Ii(e,t,a,n),t.child}function Vi(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Bi(e,t,n,r,a){var o=ha(n)?da:ca.current;return o=pa(t,o),no(t,a),n=ai(e,t,n,r,o,a),null===e||Ai?(t.flags|=1,Ii(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,nu(e,t,a))}function Ui(e,t,n,r,a){if(ha(n)){var o=!0;ya(t)}else o=!1;if(no(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),go(t,n,r),bo(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,u=t.memoizedProps;i.props=u;var l=i.context,s=n.contextType;"object"===typeof s&&null!==s?s=ro(s):s=pa(t,s=ha(n)?da:ca.current);var c=n.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof i.getSnapshotBeforeUpdate;f||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(u!==r||l!==s)&&yo(t,i,r,s),ao=!1;var d=t.memoizedState;i.state=d,co(t,r,i,a),l=t.memoizedState,u!==r||d!==l||fa.current||ao?("function"===typeof c&&(ho(t,n,c,r),l=t.memoizedState),(u=ao||vo(t,n,u,r,d,l,s))?(f||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||("function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"===typeof i.componentDidMount&&(t.flags|=4)):("function"===typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=s,r=u):("function"===typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,io(e,t),u=t.memoizedProps,s=t.type===t.elementType?u:Ga(t.type,u),i.props=s,f=t.pendingProps,d=i.context,"object"===typeof(l=n.contextType)&&null!==l?l=ro(l):l=pa(t,l=ha(n)?da:ca.current);var p=n.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof i.getSnapshotBeforeUpdate)||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(u!==f||d!==l)&&yo(t,i,r,l),ao=!1,d=t.memoizedState,i.state=d,co(t,r,i,a);var h=t.memoizedState;u!==f||d!==h||fa.current||ao?("function"===typeof p&&(ho(t,n,p,r),h=t.memoizedState),(s=ao||vo(t,n,s,r,d,h,l))?(c||"function"!==typeof i.UNSAFE_componentWillUpdate&&"function"!==typeof i.componentWillUpdate||("function"===typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,l),"function"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,l)),"function"===typeof i.componentDidUpdate&&(t.flags|=4),"function"===typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!==typeof i.componentDidUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof i.getSnapshotBeforeUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=l,r=s):("function"!==typeof i.componentDidUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof i.getSnapshotBeforeUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),r=!1)}return Hi(e,t,n,r,o,a)}function Hi(e,t,n,r,a,o){Vi(e,t);var i=0!==(64&t.flags);if(!r&&!i)return a&&ba(t,n,!1),nu(e,t,o);r=t.stateNode,Ni.current=t;var u=i&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,u,o)):Ii(e,t,u,o),t.memoizedState=r.state,a&&ba(t,n,!0),t.child}function Wi(e){var t=e.stateNode;t.pendingContext?va(0,t.pendingContext,t.pendingContext!==t.context):t.context&&va(0,t.context,!1),Mo(e,t.containerInfo)}var $i,qi,Yi,Gi={dehydrated:null,retryLane:0};function Qi(e,t,n){var r,a=t.pendingProps,o=Io.current,i=!1;return(r=0!==(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!==(2&o)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(o|=1),la(Io,1&o),null===e?(void 0!==a.fallback&&Uo(t),e=a.children,o=a.fallback,i?(e=Xi(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Gi,e):"number"===typeof a.unstable_expectedLoadTime?(e=Xi(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Gi,t.lanes=33554432,e):((n=ql({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(a=Zi(e,t,a.children,a.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=Gi,a):(n=Ki(e,t,a.children,n),t.memoizedState=null,n))}function Xi(e,t,n,r){var a=e.mode,o=e.child;return t={mode:"hidden",children:t},0===(2&a)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=ql(t,a,0,null),n=$l(n,a,r,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function Ki(e,t,n,r){var a=e.child;return e=a.sibling,n=Hl(a,{mode:"visible",children:n}),0===(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function Zi(e,t,n,r,a){var o=t.mode,i=e.child;e=i.sibling;var u={mode:"hidden",children:n};return 0===(2&o)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=u,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Hl(i,u),null!==e?r=Hl(e,r):(r=$l(r,o,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function Ji(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),to(e.return,t)}function eu(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.lastEffect=o)}function tu(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Ii(e,t,r.children,n),0!==(2&(r=Io.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!==(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ji(e,n);else if(19===e.tag)Ji(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(la(Io,r),0===(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Lo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),eu(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Lo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}eu(t,!0,n,null,o,t.lastEffect);break;case"together":eu(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function nu(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ru|=t.lanes,0!==(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Hl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Hl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function ru(e,t){if(!zo)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function au(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return ha(t.type)&&ma(),null;case 3:return jo(),ua(fa),ua(ca),Yo(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Wo(t)?t.flags|=4:r.hydrate||(t.flags|=256)),null;case 5:Ao(t);var o=To(Po.current);if(n=t.type,null!==e&&null!=t.stateNode)qi(e,t,n,r),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=To(_o.current),Wo(t)){r=t.stateNode,n=t.type;var u=t.memoizedProps;switch(r[Qr]=t,r[Xr]=u,n){case"dialog":_r("cancel",r),_r("close",r);break;case"iframe":case"object":case"embed":_r("load",r);break;case"video":case"audio":for(e=0;e<Or.length;e++)_r(Or[e],r);break;case"source":_r("error",r);break;case"img":case"image":case"link":_r("error",r),_r("load",r);break;case"details":_r("toggle",r);break;case"input":ee(r,u),_r("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!u.multiple},_r("invalid",r);break;case"textarea":le(r,u),_r("invalid",r)}for(var s in Ce(n,u),e=null,u)u.hasOwnProperty(s)&&(o=u[s],"children"===s?"string"===typeof o?r.textContent!==o&&(e=["children",o]):"number"===typeof o&&r.textContent!==""+o&&(e=["children",""+o]):l.hasOwnProperty(s)&&null!=o&&"onScroll"===s&&_r("scroll",r));switch(n){case"input":X(r),re(r,u,!0);break;case"textarea":X(r),ce(r);break;case"select":case"option":break;default:"function"===typeof u.onClick&&(r.onclick=Dr)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(s=9===o.nodeType?o:o.ownerDocument,e===fe&&(e=pe(n)),e===fe?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Qr]=t,e[Xr]=r,$i(e,t),t.stateNode=e,s=Se(n,r),n){case"dialog":_r("cancel",e),_r("close",e),o=r;break;case"iframe":case"object":case"embed":_r("load",e),o=r;break;case"video":case"audio":for(o=0;o<Or.length;o++)_r(Or[o],e);o=r;break;case"source":_r("error",e),o=r;break;case"img":case"image":case"link":_r("error",e),_r("load",e),o=r;break;case"details":_r("toggle",e),o=r;break;case"input":ee(e,r),o=J(e,r),_r("invalid",e);break;case"option":o=oe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=a({},r,{value:void 0}),_r("invalid",e);break;case"textarea":le(e,r),o=ue(e,r),_r("invalid",e);break;default:o=r}Ce(n,o);var c=o;for(u in c)if(c.hasOwnProperty(u)){var f=c[u];"style"===u?ke(e,f):"dangerouslySetInnerHTML"===u?null!=(f=f?f.__html:void 0)&&ge(e,f):"children"===u?"string"===typeof f?("textarea"!==n||""!==f)&&ye(e,f):"number"===typeof f&&ye(e,""+f):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?null!=f&&"onScroll"===u&&_r("scroll",e):null!=f&&x(e,u,f,s))}switch(n){case"input":X(e),re(e,r,!1);break;case"textarea":X(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+G(r.value));break;case"select":e.multiple=!!r.multiple,null!=(u=r.value)?ie(e,!!r.multiple,u,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof o.onClick&&(e.onclick=Dr)}Vr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Yi(0,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));n=To(Po.current),To(_o.current),Wo(t)?(r=t.stateNode,n=t.memoizedProps,r[Qr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Qr]=t,t.stateNode=r)}return null;case 13:return ua(Io),r=t.memoizedState,0!==(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Wo(t):n=null!==e.memoizedState,r&&!n&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Io.current)?0===Iu&&(Iu=3):(0!==Iu&&3!==Iu||(Iu=4),null===Tu||0===(134217727&Ru)&&0===(134217727&zu)||ml(Tu,ju))),(r||n)&&(t.flags|=4),null);case 4:return jo(),null===e&&Pr(t.stateNode.containerInfo),null;case 10:return eo(t),null;case 17:return ha(t.type)&&ma(),null;case 19:if(ua(Io),null===(r=t.memoizedState))return null;if(u=0!==(64&t.flags),null===(s=r.rendering))if(u)ru(r,!1);else{if(0!==Iu||null!==e&&0!==(64&e.flags))for(e=t.child;null!==e;){if(null!==(s=Lo(e))){for(t.flags|=64,ru(r,!1),null!==(u=s.updateQueue)&&(t.updateQueue=u,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(u=n).flags&=2,u.nextEffect=null,u.firstEffect=null,u.lastEffect=null,null===(s=u.alternate)?(u.childLanes=0,u.lanes=e,u.child=null,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=s.childLanes,u.lanes=s.lanes,u.child=s.child,u.memoizedProps=s.memoizedProps,u.memoizedState=s.memoizedState,u.updateQueue=s.updateQueue,u.type=s.type,e=s.dependencies,u.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return la(Io,1&Io.current|2),t.child}e=e.sibling}null!==r.tail&&Va()>Hu&&(t.flags|=64,u=!0,ru(r,!1),t.lanes=33554432)}else{if(!u)if(null!==(e=Lo(s))){if(t.flags|=64,u=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),ru(r,!0),null===r.tail&&"hidden"===r.tailMode&&!s.alternate&&!zo)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Va()-r.renderingStartTime>Hu&&1073741824!==n&&(t.flags|=64,u=!0,ru(r,!1),t.lanes=33554432);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Va(),n.sibling=null,t=Io.current,la(Io,u?1&t|2:1&t),n):null;case 23:case 24:return xl(),null!==e&&null!==e.memoizedState!==(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ou(e){switch(e.tag){case 1:ha(e.type)&&ma();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(jo(),ua(fa),ua(ca),Yo(),0!==(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Ao(e),null;case 13:return ua(Io),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(Io),null;case 4:return jo(),null;case 10:return eo(e),null;case 23:case 24:return xl(),null;default:return null}}function iu(e,t){try{var n="",r=t;do{n+=q(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a}}function uu(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}$i=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},qi=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,To(_o.current);var i,u=null;switch(n){case"input":o=J(e,o),r=J(e,r),u=[];break;case"option":o=oe(e,o),r=oe(e,r),u=[];break;case"select":o=a({},o,{value:void 0}),r=a({},r,{value:void 0}),u=[];break;case"textarea":o=ue(e,o),r=ue(e,r),u=[];break;default:"function"!==typeof o.onClick&&"function"===typeof r.onClick&&(e.onclick=Dr)}for(f in Ce(n,r),n=null,o)if(!r.hasOwnProperty(f)&&o.hasOwnProperty(f)&&null!=o[f])if("style"===f){var s=o[f];for(i in s)s.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==f&&"children"!==f&&"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&"autoFocus"!==f&&(l.hasOwnProperty(f)?u||(u=[]):(u=u||[]).push(f,null));for(f in r){var c=r[f];if(s=null!=o?o[f]:void 0,r.hasOwnProperty(f)&&c!==s&&(null!=c||null!=s))if("style"===f)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(u||(u=[]),u.push(f,n)),n=c;else"dangerouslySetInnerHTML"===f?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(u=u||[]).push(f,c)):"children"===f?"string"!==typeof c&&"number"!==typeof c||(u=u||[]).push(f,""+c):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&(l.hasOwnProperty(f)?(null!=c&&"onScroll"===f&&_r("scroll",e),u||s===c||(u=[])):"object"===typeof c&&null!==c&&c.$$typeof===I?c.toString():(u=u||[]).push(f,c))}n&&(u=u||[]).push("style",n);var f=u;(t.updateQueue=f)&&(t.flags|=4)}},Yi=function(e,t,n,r){n!==r&&(t.flags|=4)};var lu="function"===typeof WeakMap?WeakMap:Map;function su(e,t,n){(n=uo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Yu||(Yu=!0,Gu=r),uu(0,t)},n}function cu(e,t,n){(n=uo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var a=t.value;n.payload=function(){return uu(0,t),r(a)}}var o=e.stateNode;return null!==o&&"function"===typeof o.componentDidCatch&&(n.callback=function(){"function"!==typeof r&&(null===Qu?Qu=new Set([this]):Qu.add(this),uu(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var fu="function"===typeof WeakSet?WeakSet:Set;function du(e){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(n){Dl(e,n)}else t.current=null}function pu(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ga(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Wr(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(i(163))}function hu(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3===(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,0!==(4&(a=a.tag))&&0!==(1&a)&&(Al(n,e),Nl(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Ga(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&fo(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}fo(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Vr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&kt(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(i(163))}function mu(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"===typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=void 0!==a&&null!==a&&a.hasOwnProperty("display")?a.display:null,r.style.display=we("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function vu(e,t){if(wa&&"function"===typeof wa.onCommitFiberUnmount)try{wa.onCommitFiberUnmount(xa,t)}catch(o){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(0!==(4&r))Al(t,n);else{r=t;try{a()}catch(o){Dl(r,o)}}n=n.next}while(n!==e)}break;case 1:if(du(t),"function"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(o){Dl(t,o)}break;case 5:du(t);break;case 4:ku(e,t)}}function gu(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function yu(e){return 5===e.tag||3===e.tag||4===e.tag}function bu(e){e:{for(var t=e.return;null!==t;){if(yu(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(ye(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||yu(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?xu(e,n,t):wu(e,n,t)}function xu(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Dr));else if(4!==r&&null!==(e=e.child))for(xu(e,t,n),e=e.sibling;null!==e;)xu(e,t,n),e=e.sibling}function wu(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(wu(e,t,n),e=e.sibling;null!==e;)wu(e,t,n),e=e.sibling}function ku(e,t){for(var n,r,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var u=e,l=a,s=l;;)if(vu(u,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===l)break e;for(;null===s.sibling;){if(null===s.return||s.return===l)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}r?(u=n,l=a.stateNode,8===u.nodeType?u.parentNode.removeChild(l):u.removeChild(l)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(vu(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function Ou(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3===(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Xr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),Se(e,a),t=Se(e,r),a=0;a<o.length;a+=2){var u=o[a],l=o[a+1];"style"===u?ke(n,l):"dangerouslySetInnerHTML"===u?ge(n,l):"children"===u?ye(n,l):x(n,u,l,t)}switch(e){case"input":ne(n,r);break;case"textarea":se(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(o=r.value)?ie(n,!!r.multiple,o,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,kt(n.containerInfo)));case 12:return;case 13:return null!==t.memoizedState&&(Uu=Va(),mu(t.child,!0)),void Cu(t);case 19:return void Cu(t);case 17:return;case 23:case 24:return void mu(t,null!==t.memoizedState)}throw Error(i(163))}function Cu(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new fu),t.forEach((function(t){var r=zl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Su(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Eu=Math.ceil,_u=w.ReactCurrentDispatcher,Fu=w.ReactCurrentOwner,Pu=0,Tu=null,Mu=null,ju=0,Nu=0,Au=ia(0),Iu=0,Lu=null,Du=0,Ru=0,zu=0,Vu=0,Bu=null,Uu=0,Hu=1/0;function Wu(){Hu=Va()+500}var $u,qu=null,Yu=!1,Gu=null,Qu=null,Xu=!1,Ku=null,Zu=90,Ju=[],el=[],tl=null,nl=0,rl=null,al=-1,ol=0,il=0,ul=null,ll=!1;function sl(){return 0!==(48&Pu)?Va():-1!==al?al:al=Va()}function cl(e){if(0===(2&(e=e.mode)))return 1;if(0===(4&e))return 99===Ba()?1:2;if(0===ol&&(ol=Du),0!==Ya.transition){0!==il&&(il=null!==Bu?Bu.pendingLanes:0),e=ol;var t=4186112&~il;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Ba(),0!==(4&Pu)&&98===e?e=Vt(12,ol):e=Vt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ol),e}function fl(e,t,n){if(50<nl)throw nl=0,rl=null,Error(i(185));if(null===(e=dl(e,t)))return null;Ht(e,t,n),e===Tu&&(zu|=t,4===Iu&&ml(e,ju));var r=Ba();1===t?0!==(8&Pu)&&0===(48&Pu)?vl(e):(pl(e,n),0===Pu&&(Wu(),$a())):(0===(4&Pu)||98!==r&&99!==r||(null===tl?tl=new Set([e]):tl.add(e)),pl(e,n)),Bu=e}function dl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function pl(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,u=e.pendingLanes;0<u;){var l=31-Wt(u),s=1<<l,c=o[l];if(-1===c){if(0===(s&r)||0!==(s&a)){c=t,Dt(s);var f=Lt;o[l]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=s);u&=~s}if(r=Rt(e,e===Tu?ju:0),t=Lt,0===r)null!==n&&(n!==Aa&&Ca(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Aa&&Ca(n)}15===t?(n=vl.bind(null,e),null===La?(La=[n],Da=Oa(Pa,qa)):La.push(n),n=Aa):14===t?n=Wa(99,vl.bind(null,e)):n=Wa(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),hl.bind(null,e)),e.callbackPriority=t,e.callbackNode=n}}function hl(e){if(al=-1,il=ol=0,0!==(48&Pu))throw Error(i(327));var t=e.callbackNode;if(jl()&&e.callbackNode!==t)return null;var n=Rt(e,e===Tu?ju:0);if(0===n)return null;var r=n,a=Pu;Pu|=16;var o=Ol();for(Tu===e&&ju===r||(Wu(),wl(e,r));;)try{El();break}catch(l){kl(e,l)}if(Ja(),_u.current=o,Pu=a,null!==Mu?r=0:(Tu=null,ju=0,r=Iu),0!==(Du&zu))wl(e,0);else if(0!==r){if(2===r&&(Pu|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(n=zt(e))&&(r=Cl(e,n))),1===r)throw t=Lu,wl(e,0),ml(e,n),pl(e,Va()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:Pl(e);break;case 3:if(ml(e,n),(62914560&n)===n&&10<(r=Uu+500-Va())){if(0!==Rt(e,0))break;if(((a=e.suspendedLanes)&n)!==n){sl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Ur(Pl.bind(null,e),r);break}Pl(e);break;case 4:if(ml(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var u=31-Wt(n);o=1<<u,(u=r[u])>a&&(a=u),n&=~o}if(n=a,10<(n=(120>(n=Va()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Eu(n/1960))-n)){e.timeoutHandle=Ur(Pl.bind(null,e),n);break}Pl(e);break;case 5:Pl(e);break;default:throw Error(i(329))}}return pl(e,Va()),e.callbackNode===t?hl.bind(null,e):null}function ml(e,t){for(t&=~Vu,t&=~zu,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Wt(t),r=1<<n;e[n]=-1,t&=~r}}function vl(e){if(0!==(48&Pu))throw Error(i(327));if(jl(),e===Tu&&0!==(e.expiredLanes&ju)){var t=ju,n=Cl(e,t);0!==(Du&zu)&&(n=Cl(e,t=Rt(e,t)))}else n=Cl(e,t=Rt(e,0));if(0!==e.tag&&2===n&&(Pu|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(t=zt(e))&&(n=Cl(e,t))),1===n)throw n=Lu,wl(e,0),ml(e,t),pl(e,Va()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pl(e),pl(e,Va()),null}function gl(e,t){var n=Pu;Pu|=1;try{return e(t)}finally{0===(Pu=n)&&(Wu(),$a())}}function yl(e,t){var n=Pu;Pu&=-2,Pu|=8;try{return e(t)}finally{0===(Pu=n)&&(Wu(),$a())}}function bl(e,t){la(Au,Nu),Nu|=t,Du|=t}function xl(){Nu=Au.current,ua(Au)}function wl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Hr(n)),null!==Mu)for(n=Mu.return;null!==n;){var r=n;switch(r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&ma();break;case 3:jo(),ua(fa),ua(ca),Yo();break;case 5:Ao(r);break;case 4:jo();break;case 13:case 19:ua(Io);break;case 10:eo(r);break;case 23:case 24:xl()}n=n.return}Tu=e,Mu=Hl(e.current,null),ju=Nu=Du=t,Iu=0,Lu=null,Vu=zu=Ru=0}function kl(e,t){for(;;){var n=Mu;try{if(Ja(),Go.current=Pi,ei){for(var r=Ko.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ei=!1}if(Xo=0,Jo=Zo=Ko=null,ti=!1,Fu.current=null,null===n||null===n.return){Iu=1,Lu=t,Mu=null;break}e:{var o=e,i=n.return,u=n,l=t;if(t=ju,u.flags|=2048,u.firstEffect=u.lastEffect=null,null!==l&&"object"===typeof l&&"function"===typeof l.then){var s=l;if(0===(2&u.mode)){var c=u.alternate;c?(u.updateQueue=c.updateQueue,u.memoizedState=c.memoizedState,u.lanes=c.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=0!==(1&Io.current),d=i;do{var p;if(p=13===d.tag){var h=d.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var m=d.memoizedProps;p=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!f)}}if(p){var v=d.updateQueue;if(null===v){var g=new Set;g.add(s),d.updateQueue=g}else v.add(s);if(0===(2&d.mode)){if(d.flags|=64,u.flags|=16384,u.flags&=-2981,1===u.tag)if(null===u.alternate)u.tag=17;else{var y=uo(-1,1);y.tag=2,lo(u,y)}u.lanes|=1;break e}l=void 0,u=t;var b=o.pingCache;if(null===b?(b=o.pingCache=new lu,l=new Set,b.set(s,l)):void 0===(l=b.get(s))&&(l=new Set,b.set(s,l)),!l.has(u)){l.add(u);var x=Rl.bind(null,o,s,u);s.then(x,x)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);l=Error((Y(u.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Iu&&(Iu=2),l=iu(l,u),d=i;do{switch(d.tag){case 3:o=l,d.flags|=4096,t&=-t,d.lanes|=t,so(d,su(0,o,t));break e;case 1:o=l;var w=d.type,k=d.stateNode;if(0===(64&d.flags)&&("function"===typeof w.getDerivedStateFromError||null!==k&&"function"===typeof k.componentDidCatch&&(null===Qu||!Qu.has(k)))){d.flags|=4096,t&=-t,d.lanes|=t,so(d,cu(d,o,t));break e}}d=d.return}while(null!==d)}Fl(n)}catch(O){t=O,Mu===n&&null!==n&&(Mu=n=n.return);continue}break}}function Ol(){var e=_u.current;return _u.current=Pi,null===e?Pi:e}function Cl(e,t){var n=Pu;Pu|=16;var r=Ol();for(Tu===e&&ju===t||wl(e,t);;)try{Sl();break}catch(a){kl(e,a)}if(Ja(),Pu=n,_u.current=r,null!==Mu)throw Error(i(261));return Tu=null,ju=0,Iu}function Sl(){for(;null!==Mu;)_l(Mu)}function El(){for(;null!==Mu&&!Sa();)_l(Mu)}function _l(e){var t=$u(e.alternate,e,Nu);e.memoizedProps=e.pendingProps,null===t?Fl(e):Mu=t,Fu.current=null}function Fl(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(2048&t.flags)){if(null!==(n=au(n,t,Nu)))return void(Mu=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!==(1073741824&Nu)||0===(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&0===(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=ou(t)))return n.flags&=2047,void(Mu=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Mu=t);Mu=t=e}while(null!==t);0===Iu&&(Iu=5)}function Pl(e){var t=Ba();return Ha(99,Tl.bind(null,e,t)),null}function Tl(e,t){do{jl()}while(null!==Ku);if(0!==(48&Pu))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,o=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var u=e.eventTimes,l=e.expirationTimes;0<o;){var s=31-Wt(o),c=1<<s;a[s]=0,u[s]=-1,l[s]=-1,o&=~c}if(null!==tl&&0===(24&r)&&tl.has(e)&&tl.delete(e),e===Tu&&(Mu=Tu=null,ju=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Pu,Pu|=32,Fu.current=null,Rr=Qt,hr(u=pr())){if("selectionStart"in u)l={start:u.selectionStart,end:u.selectionEnd};else e:if(l=(l=u.ownerDocument)&&l.defaultView||window,(c=l.getSelection&&l.getSelection())&&0!==c.rangeCount){l=c.anchorNode,o=c.anchorOffset,s=c.focusNode,c=c.focusOffset;try{l.nodeType,s.nodeType}catch(E){l=null;break e}var f=0,d=-1,p=-1,h=0,m=0,v=u,g=null;t:for(;;){for(var y;v!==l||0!==o&&3!==v.nodeType||(d=f+o),v!==s||0!==c&&3!==v.nodeType||(p=f+c),3===v.nodeType&&(f+=v.nodeValue.length),null!==(y=v.firstChild);)g=v,v=y;for(;;){if(v===u)break t;if(g===l&&++h===o&&(d=f),g===s&&++m===c&&(p=f),null!==(y=v.nextSibling))break;g=(v=g).parentNode}v=y}l=-1===d||-1===p?null:{start:d,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;zr={focusedElem:u,selectionRange:l},Qt=!1,ul=null,ll=!1,qu=r;do{try{Ml()}catch(E){if(null===qu)throw Error(i(330));Dl(qu,E),qu=qu.nextEffect}}while(null!==qu);ul=null,qu=r;do{try{for(u=e;null!==qu;){var b=qu.flags;if(16&b&&ye(qu.stateNode,""),128&b){var x=qu.alternate;if(null!==x){var w=x.ref;null!==w&&("function"===typeof w?w(null):w.current=null)}}switch(1038&b){case 2:bu(qu),qu.flags&=-3;break;case 6:bu(qu),qu.flags&=-3,Ou(qu.alternate,qu);break;case 1024:qu.flags&=-1025;break;case 1028:qu.flags&=-1025,Ou(qu.alternate,qu);break;case 4:Ou(qu.alternate,qu);break;case 8:ku(u,l=qu);var k=l.alternate;gu(l),null!==k&&gu(k)}qu=qu.nextEffect}}catch(E){if(null===qu)throw Error(i(330));Dl(qu,E),qu=qu.nextEffect}}while(null!==qu);if(w=zr,x=pr(),b=w.focusedElem,u=w.selectionRange,x!==b&&b&&b.ownerDocument&&dr(b.ownerDocument.documentElement,b)){null!==u&&hr(b)&&(x=u.start,void 0===(w=u.end)&&(w=x),"selectionStart"in b?(b.selectionStart=x,b.selectionEnd=Math.min(w,b.value.length)):(w=(x=b.ownerDocument||document)&&x.defaultView||window).getSelection&&(w=w.getSelection(),l=b.textContent.length,k=Math.min(u.start,l),u=void 0===u.end?k:Math.min(u.end,l),!w.extend&&k>u&&(l=u,u=k,k=l),l=fr(b,k),o=fr(b,u),l&&o&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==o.node||w.focusOffset!==o.offset)&&((x=x.createRange()).setStart(l.node,l.offset),w.removeAllRanges(),k>u?(w.addRange(x),w.extend(o.node,o.offset)):(x.setEnd(o.node,o.offset),w.addRange(x))))),x=[];for(w=b;w=w.parentNode;)1===w.nodeType&&x.push({element:w,left:w.scrollLeft,top:w.scrollTop});for("function"===typeof b.focus&&b.focus(),b=0;b<x.length;b++)(w=x[b]).element.scrollLeft=w.left,w.element.scrollTop=w.top}Qt=!!Rr,zr=Rr=null,e.current=n,qu=r;do{try{for(b=e;null!==qu;){var O=qu.flags;if(36&O&&hu(b,qu.alternate,qu),128&O){x=void 0;var C=qu.ref;if(null!==C){var S=qu.stateNode;switch(qu.tag){case 5:x=S;break;default:x=S}"function"===typeof C?C(x):C.current=x}}qu=qu.nextEffect}}catch(E){if(null===qu)throw Error(i(330));Dl(qu,E),qu=qu.nextEffect}}while(null!==qu);qu=null,Ia(),Pu=a}else e.current=n;if(Xu)Xu=!1,Ku=e,Zu=t;else for(qu=r;null!==qu;)t=qu.nextEffect,qu.nextEffect=null,8&qu.flags&&((O=qu).sibling=null,O.stateNode=null),qu=t;if(0===(r=e.pendingLanes)&&(Qu=null),1===r?e===rl?nl++:(nl=0,rl=e):nl=0,n=n.stateNode,wa&&"function"===typeof wa.onCommitFiberRoot)try{wa.onCommitFiberRoot(xa,n,void 0,64===(64&n.current.flags))}catch(E){}if(pl(e,Va()),Yu)throw Yu=!1,e=Gu,Gu=null,e;return 0!==(8&Pu)||$a(),null}function Ml(){for(;null!==qu;){var e=qu.alternate;ll||null===ul||(0!==(8&qu.flags)?et(qu,ul)&&(ll=!0):13===qu.tag&&Su(e,qu)&&et(qu,ul)&&(ll=!0));var t=qu.flags;0!==(256&t)&&pu(e,qu),0===(512&t)||Xu||(Xu=!0,Wa(97,(function(){return jl(),null}))),qu=qu.nextEffect}}function jl(){if(90!==Zu){var e=97<Zu?97:Zu;return Zu=90,Ha(e,Il)}return!1}function Nl(e,t){Ju.push(t,e),Xu||(Xu=!0,Wa(97,(function(){return jl(),null})))}function Al(e,t){el.push(t,e),Xu||(Xu=!0,Wa(97,(function(){return jl(),null})))}function Il(){if(null===Ku)return!1;var e=Ku;if(Ku=null,0!==(48&Pu))throw Error(i(331));var t=Pu;Pu|=32;var n=el;el=[];for(var r=0;r<n.length;r+=2){var a=n[r],o=n[r+1],u=a.destroy;if(a.destroy=void 0,"function"===typeof u)try{u()}catch(s){if(null===o)throw Error(i(330));Dl(o,s)}}for(n=Ju,Ju=[],r=0;r<n.length;r+=2){a=n[r],o=n[r+1];try{var l=a.create;a.destroy=l()}catch(s){if(null===o)throw Error(i(330));Dl(o,s)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Pu=t,$a(),!0}function Ll(e,t,n){lo(e,t=su(0,t=iu(n,t),1)),t=sl(),null!==(e=dl(e,1))&&(Ht(e,1,t),pl(e,t))}function Dl(e,t){if(3===e.tag)Ll(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Ll(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"===typeof n.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Qu||!Qu.has(r))){var a=cu(n,e=iu(t,e),1);if(lo(n,a),a=sl(),null!==(n=dl(n,1)))Ht(n,1,a),pl(n,a);else if("function"===typeof r.componentDidCatch&&(null===Qu||!Qu.has(r)))try{r.componentDidCatch(t,e)}catch(o){}break}}n=n.return}}function Rl(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=sl(),e.pingedLanes|=e.suspendedLanes&n,Tu===e&&(ju&n)===n&&(4===Iu||3===Iu&&(62914560&ju)===ju&&500>Va()-Uu?wl(e,0):Vu|=n),pl(e,t)}function zl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0===(2&(t=e.mode))?t=1:0===(4&t)?t=99===Ba()?1:2:(0===ol&&(ol=Du),0===(t=Bt(62914560&~ol))&&(t=4194304))),n=sl(),null!==(e=dl(e,t))&&(Ht(e,t,n),pl(e,n))}function Vl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Bl(e,t,n,r){return new Vl(e,t,n,r)}function Ul(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Hl(e,t){var n=e.alternate;return null===n?((n=Bl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Wl(e,t,n,r,a,o){var u=2;if(r=e,"function"===typeof e)Ul(e)&&(u=1);else if("string"===typeof e)u=5;else e:switch(e){case C:return $l(n.children,a,o,t);case L:u=8,a|=16;break;case S:u=8,a|=1;break;case E:return(e=Bl(12,n,t,8|a)).elementType=E,e.type=E,e.lanes=o,e;case T:return(e=Bl(13,n,t,a)).type=T,e.elementType=T,e.lanes=o,e;case M:return(e=Bl(19,n,t,a)).elementType=M,e.lanes=o,e;case D:return ql(n,a,o,t);case R:return(e=Bl(24,n,t,a)).elementType=R,e.lanes=o,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case _:u=10;break e;case F:u=9;break e;case P:u=11;break e;case j:u=14;break e;case N:u=16,r=null;break e;case A:u=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Bl(u,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function $l(e,t,n,r){return(e=Bl(7,e,r,t)).lanes=n,e}function ql(e,t,n,r){return(e=Bl(23,e,r,t)).elementType=D,e.lanes=n,e}function Yl(e,t,n){return(e=Bl(6,e,null,t)).lanes=n,e}function Gl(e,t,n){return(t=Bl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ql(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ut(0),this.expirationTimes=Ut(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ut(0),this.mutableSourceEagerHydrationData=null}function Xl(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:O,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function Kl(e,t,n,r){var a=t.current,o=sl(),u=cl(a);e:if(n){t:{if(Xe(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(ha(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(i(171))}if(1===n.tag){var s=n.type;if(ha(s)){n=ga(n,s,l);break e}}n=l}else n=sa;return null===t.context?t.context=n:t.pendingContext=n,(t=uo(o,u)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),lo(a,t),fl(a,u,o),u}function Zl(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Jl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function es(e,t){Jl(e,t),(e=e.alternate)&&Jl(e,t)}function ts(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Ql(e,t,null!=n&&!0===n.hydrate),t=Bl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,oo(t),e[Kr]=n.current,Pr(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function ns(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function rs(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"===typeof a){var u=a;a=function(){var e=Zl(i);u.call(e)}}Kl(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ts(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"===typeof a){var l=a;a=function(){var e=Zl(i);l.call(e)}}yl((function(){Kl(t,i,e,a)}))}return Zl(i)}function as(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ns(t))throw Error(i(200));return Xl(e,t,null,n)}$u=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||fa.current)Ai=!0;else{if(0===(n&r)){switch(Ai=!1,t.tag){case 3:Wi(t),$o();break;case 5:No(t);break;case 1:ha(t.type)&&ya(t);break;case 4:Mo(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;la(Qa,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(n&t.child.childLanes)?Qi(e,t,n):(la(Io,1&Io.current),null!==(t=nu(e,t,n))?t.sibling:null);la(Io,1&Io.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(64&e.flags)){if(r)return tu(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),la(Io,Io.current),r)break;return null;case 23:case 24:return t.lanes=0,zi(e,t,n)}return nu(e,t,n)}Ai=0!==(16384&e.flags)}else Ai=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=pa(t,ca.current),no(t,n),a=ai(null,t,r,e,a,n),t.flags|=1,"object"===typeof a&&null!==a&&"function"===typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ha(r)){var o=!0;ya(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,oo(t);var u=r.getDerivedStateFromProps;"function"===typeof u&&ho(t,r,u,e),a.updater=mo,t.stateNode=a,a._reactInternals=t,bo(t,r,e,n),t=Hi(null,t,r,!0,o,n)}else t.tag=0,Ii(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"===typeof e)return Ul(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===P)return 11;if(e===j)return 14}return 2}(a),e=Ga(a,e),o){case 0:t=Bi(null,t,a,e,n);break e;case 1:t=Ui(null,t,a,e,n);break e;case 11:t=Li(null,t,a,e,n);break e;case 14:t=Di(null,t,a,Ga(a.type,e),r,n);break e}throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Bi(e,t,r,a=t.elementType===r?a:Ga(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ui(e,t,r,a=t.elementType===r?a:Ga(r,a),n);case 3:if(Wi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,io(e,t),co(t,r,null,n),(r=t.memoizedState.element)===a)$o(),t=nu(e,t,n);else{if((o=(a=t.stateNode).hydrate)&&(Ro=$r(t.stateNode.containerInfo.firstChild),Do=t,o=zo=!0),o){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(o=e[a])._workInProgressVersionPrimary=e[a+1],qo.push(o);for(n=So(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Ii(e,t,r,n),$o();t=t.child}return t;case 5:return No(t),null===e&&Uo(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,u=a.children,Br(r,a)?u=null:null!==o&&Br(r,o)&&(t.flags|=16),Vi(e,t),Ii(e,t,u,n),t.child;case 6:return null===e&&Uo(t),null;case 13:return Qi(e,t,n);case 4:return Mo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,n):Ii(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Li(e,t,r,a=t.elementType===r?a:Ga(r,a),n);case 7:return Ii(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ii(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,u=t.memoizedProps,o=a.value;var l=t.type._context;if(la(Qa,l._currentValue),l._currentValue=o,null!==u)if(l=u.value,0===(o=ur(l,o)?0:0|("function"===typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(u.children===a.children&&!fa.current){t=nu(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var s=l.dependencies;if(null!==s){u=l.child;for(var c=s.firstContext;null!==c;){if(c.context===r&&0!==(c.observedBits&o)){1===l.tag&&((c=uo(-1,n&-n)).tag=2,lo(l,c)),l.lanes|=n,null!==(c=l.alternate)&&(c.lanes|=n),to(l.return,n),s.lanes|=n;break}c=c.next}}else u=10===l.tag&&l.type===t.type?null:l.child;if(null!==u)u.return=l;else for(u=l;null!==u;){if(u===t){u=null;break}if(null!==(l=u.sibling)){l.return=u.return,u=l;break}u=u.return}l=u}Ii(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,no(t,n),r=r(a=ro(a,o.unstable_observedBits)),t.flags|=1,Ii(e,t,r,n),t.child;case 14:return o=Ga(a=t.type,t.pendingProps),Di(e,t,a,o=Ga(a.type,o),r,n);case 15:return Ri(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Ga(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ha(r)?(e=!0,ya(t)):e=!1,no(t,n),go(t,r,a),bo(t,r,a,n),Hi(null,t,r,!0,e,n);case 19:return tu(e,t,n);case 23:case 24:return zi(e,t,n)}throw Error(i(156,t.tag))},ts.prototype.render=function(e){Kl(e,this._internalRoot,null,null)},ts.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Kl(null,e,null,(function(){t[Kr]=null}))},tt=function(e){13===e.tag&&(fl(e,4,sl()),es(e,4))},nt=function(e){13===e.tag&&(fl(e,67108864,sl()),es(e,67108864))},rt=function(e){if(13===e.tag){var t=sl(),n=cl(e);fl(e,n,t),es(e,n)}},at=function(e,t){return t()},_e=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=na(r);if(!a)throw Error(i(90));K(r),ne(r,a)}}}break;case"textarea":se(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Ne=gl,Ae=function(e,t,n,r,a){var o=Pu;Pu|=4;try{return Ha(98,e.bind(null,t,n,r,a))}finally{0===(Pu=o)&&(Wu(),$a())}},Ie=function(){0===(49&Pu)&&(function(){if(null!==tl){var e=tl;tl=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,pl(e,Va())}))}$a()}(),jl())},Le=function(e,t){var n=Pu;Pu|=2;try{return e(t)}finally{0===(Pu=n)&&(Wu(),$a())}};var os={Events:[ea,ta,na,Me,je,jl,{current:!1}]},is={findFiberByHostInstance:Jr,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},us={bundleType:is.bundleType,version:is.version,rendererPackageName:is.rendererPackageName,rendererConfig:is.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:is.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ls=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ls.isDisabled&&ls.supportsFiber)try{xa=ls.inject(us),wa=ls}catch(ve){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=os,t.createPortal=as,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=Je(t))?null:e.stateNode},t.flushSync=function(e,t){var n=Pu;if(0!==(48&n))return e(t);Pu|=1;try{if(e)return Ha(99,e.bind(null,t))}finally{Pu=n,$a()}},t.hydrate=function(e,t,n){if(!ns(t))throw Error(i(200));return rs(null,e,t,!0,n)},t.render=function(e,t,n){if(!ns(t))throw Error(i(200));return rs(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!ns(e))throw Error(i(40));return!!e._reactRootContainer&&(yl((function(){rs(null,null,e,!1,(function(){e._reactRootContainer=null,e[Kr]=null}))})),!0)},t.unstable_batchedUpdates=gl,t.unstable_createPortal=function(e,t){return as(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!ns(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return rs(e,t,n,!1,r)},t.version="17.0.2"},function(e,t,n){"use strict";e.exports=n(37)},function(e,t,n){"use strict";var r,a,o,i;if("object"===typeof performance&&"function"===typeof performance.now){var u=performance;t.unstable_now=function(){return u.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var c=null,f=null,d=function e(){if(null!==c)try{var n=t.unstable_now();c(!0,n),c=null}catch(r){throw setTimeout(e,0),r}};r=function(e){null!==c?setTimeout(r,0,e):(c=e,setTimeout(d,0))},a=function(e,t){f=setTimeout(e,t)},o=function(){clearTimeout(f)},t.unstable_shouldYield=function(){return!1},i=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,h=window.clearTimeout;if("undefined"!==typeof console){var m=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var v=!1,g=null,y=-1,b=5,x=0;t.unstable_shouldYield=function(){return t.unstable_now()>=x},i=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):b=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,k=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();x=e+b;try{g(!0,e)?k.postMessage(null):(v=!1,g=null)}catch(n){throw k.postMessage(null),n}}else v=!1},r=function(e){g=e,v||(v=!0,k.postMessage(null))},a=function(e,n){y=p((function(){e(t.unstable_now())}),n)},o=function(){h(y),y=-1}}function O(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<E(a,t)))break e;e[r]=t,e[n]=a,n=r}}function C(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],u=o+1,l=e[u];if(void 0!==i&&0>E(i,n))void 0!==l&&0>E(l,i)?(e[r]=l,e[u]=n,r=u):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==l&&0>E(l,n)))break e;e[r]=l,e[u]=n,r=u}}}return t}return null}function E(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var _=[],F=[],P=1,T=null,M=3,j=!1,N=!1,A=!1;function I(e){for(var t=C(F);null!==t;){if(null===t.callback)S(F);else{if(!(t.startTime<=e))break;S(F),t.sortIndex=t.expirationTime,O(_,t)}t=C(F)}}function L(e){if(A=!1,I(e),!N)if(null!==C(_))N=!0,r(D);else{var t=C(F);null!==t&&a(L,t.startTime-e)}}function D(e,n){N=!1,A&&(A=!1,o()),j=!0;var r=M;try{for(I(n),T=C(_);null!==T&&(!(T.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=T.callback;if("function"===typeof i){T.callback=null,M=T.priorityLevel;var u=i(T.expirationTime<=n);n=t.unstable_now(),"function"===typeof u?T.callback=u:T===C(_)&&S(_),I(n)}else S(_);T=C(_)}if(null!==T)var l=!0;else{var s=C(F);null!==s&&a(L,s.startTime-n),l=!1}return l}finally{T=null,M=r,j=!1}}var R=i;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){N||j||(N=!0,r(D))},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_getFirstCallbackNode=function(){return C(_)},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=R,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,i){var u=t.unstable_now();switch("object"===typeof i&&null!==i?i="number"===typeof(i=i.delay)&&0<i?u+i:u:i=u,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:P++,callback:n,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>u?(e.sortIndex=i,O(F,e),null===C(_)&&e===C(F)&&(A?o():A=!0,a(L,i-u))):(e.sortIndex=l,O(_,e),N||j||(N=!0,r(D))),e},t.unstable_wrapCallback=function(e){var t=M;return function(){var n=M;M=t;try{return e.apply(this,arguments)}finally{M=n}}}},,function(e,t,n){"use strict";n(24);var r=n(1),a=60103;if(t.Fragment=60107,"function"===typeof Symbol&&Symbol.for){var o=Symbol.for;a=o("react.element"),t.Fragment=o("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,o={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)u.call(t,r)&&!l.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:s,ref:c,props:o,_owner:i.current}}t.jsx=s,t.jsxs=s},function(e,t,n){"use strict";var r=n(41);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r="function"===typeof Symbol&&Symbol.for,a=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,u=r?Symbol.for("react.strict_mode"):60108,l=r?Symbol.for("react.profiler"):60114,s=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,f=r?Symbol.for("react.async_mode"):60111,d=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.suspense_list"):60120,v=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,y=r?Symbol.for("react.block"):60121,b=r?Symbol.for("react.fundamental"):60117,x=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function k(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case f:case d:case i:case l:case u:case h:return e;default:switch(e=e&&e.$$typeof){case c:case p:case g:case v:case s:return e;default:return t}}case o:return t}}}function O(e){return k(e)===d}t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=a,t.ForwardRef=p,t.Fragment=i,t.Lazy=g,t.Memo=v,t.Portal=o,t.Profiler=l,t.StrictMode=u,t.Suspense=h,t.isAsyncMode=function(e){return O(e)||k(e)===f},t.isConcurrentMode=O,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===i},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===v},t.isPortal=function(e){return k(e)===o},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===u},t.isSuspense=function(e){return k(e)===h},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===i||e===d||e===l||e===u||e===h||e===m||"object"===typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===v||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===b||e.$$typeof===x||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},function(e,t,n){var r=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,a="function"===typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(M){l=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var a=t&&t.prototype instanceof v?t:v,o=Object.create(a.prototype),i=new F(r||[]);return o._invoke=function(e,t,n){var r=f;return function(a,o){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===a)throw o;return T()}for(n.method=a,n.arg=o;;){var i=n.delegate;if(i){var u=S(i,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var l=c(e,t,n);if("normal"===l.type){if(r=n.done?h:d,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=h,n.method="throw",n.arg=l.arg)}}}(e,n,i),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(M){return{type:"throw",arg:M}}}e.wrap=s;var f="suspendedStart",d="suspendedYield",p="executing",h="completed",m={};function v(){}function g(){}function y(){}var b={};b[o]=function(){return this};var x=Object.getPrototypeOf,w=x&&x(x(P([])));w&&w!==n&&r.call(w,o)&&(b=w);var k=y.prototype=v.prototype=Object.create(b);function O(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(a,o,i,u){var l=c(e[a],e,o);if("throw"!==l.type){var s=l.arg,f=s.value;return f&&"object"===typeof f&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,i,u)}),(function(e){n("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,u)}))}u(l.arg)}var a;this._invoke=function(e,r){function o(){return new t((function(t,a){n(e,r,t,a)}))}return a=a?a.then(o,o):o()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var a=c(r,e.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,m;var o=a.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function P(e){if(e){var n=e[o];if(n)return n.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var a=-1,i=function n(){for(;++a<e.length;)if(r.call(e,a))return n.value=e[a],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}return{next:T}}function T(){return{value:t,done:!0}}return g.prototype=k.constructor=y,y.constructor=g,g.displayName=l(y,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,l(e,u,"GeneratorFunction")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},O(C.prototype),C.prototype[i]=function(){return this},e.AsyncIterator=C,e.async=function(t,n,r,a,o){void 0===o&&(o=Promise);var i=new C(s(t,n,r,a),o);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},O(k),l(k,u,"Generator"),k[o]=function(){return this},k.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=P,F.prototype={constructor:F,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(_),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function a(r,a){return u.type="throw",u.arg=e,n.next=r,a&&(n.method="next",n.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;_(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:P(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=r}catch(a){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){var r=n(47),a=n(48),o=n(49),i=n(50);e.exports=function(e){return r(e)||a(e)||o(e)||i()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(30);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(30);e.exports=function(e,t){if(e){if("string"===typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(52);e.exports=function(e,t){if(null==e)return{};var n,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={overlay:function(e){return{position:"fixed",zIndex:1e3,width:"100%",height:"100%",background:"rgba(0, 0, 0, 0.3)",opacity:e?1:0,MozTransform:e?"":"translate3d(100%, 0, 0)",MsTransform:e?"":"translate3d(100%, 0, 0)",OTransform:e?"":"translate3d(100%, 0, 0)",WebkitTransform:e?"":"translate3d(100%, 0, 0)",transform:e?"":"translate3d(100%, 0, 0)",transition:e?"opacity 0.3s":"opacity 0.3s, transform 0s 0.3s"}},menuWrap:function(e,t,n){return{position:"fixed",right:n?0:"inherit",zIndex:1100,width:t,height:"100%",MozTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:"all 0.5s"}},menu:function(){return{height:"100%",boxSizing:"border-box",overflow:"auto"}},itemList:function(){return{height:"100%"}},item:function(){return{display:"block"}}},e.exports=t.default},function(e,t,n){"use strict";function r(){var e=Array.from(document.getElementsByClassName("bm-item")).shift();e&&e.focus()}function a(){var e=Array.from(document.getElementsByClassName("bm-item")).pop();e&&e.focus()}function o(){var e=document.getElementById("react-burger-cross-btn");e&&e.focus()}function i(e){if(document.activeElement.className.includes("bm-item")){var t=document.activeElement[e];t?t.focus():o()}else"previousElementSibling"===e?a():r()}Object.defineProperty(t,"__esModule",{value:!0}),t.focusOnFirstMenuItem=r,t.focusOnLastMenuItem=a,t.focusOnCrossButton=o,t.focusOnMenuButton=function(){var e=document.getElementById("react-burger-menu-btn");e&&e.focus()},t.focusOnMenuItem=i,t.focusOnNextMenuItem=function(){i("nextElementSibling")},t.focusOnPreviousMenuItem=function(){i("previousElementSibling")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e){return e&&e.__esModule?e:{default:e}}var i=n(1),u=o(i),l=o(n(13)),s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){for(var r=!0;r;){var a=e,o=t,i=n;r=!1,null===a&&(a=Function.prototype);var u=Object.getOwnPropertyDescriptor(a,o);if(void 0!==u){if("value"in u)return u.value;var l=u.get;if(void 0===l)return;return l.call(i)}var s=Object.getPrototypeOf(a);if(null===s)return;e=s,t=o,n=i,r=!0,u=s=void 0}}(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={hover:!1}}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"getLineStyle",value:function(e){return r({position:"absolute",height:"20%",left:0,right:0,top:2*e*20+"%",opacity:this.state.hover?.6:1},this.state.hover&&this.props.styles.bmBurgerBarsHover)}},{key:"render",value:function(){var e=this,t=void 0;if(this.props.customIcon){var n={className:("bm-icon "+(this.props.customIcon.props.className||"")).trim(),style:r({width:"100%",height:"100%"},this.props.styles.bmIcon)};t=u.default.cloneElement(this.props.customIcon,n)}else t=u.default.createElement("span",null,[0,1,2].map((function(t){return u.default.createElement("span",{key:t,className:("bm-burger-bars "+e.props.barClassName+" "+(e.state.hover?"bm-burger-bars-hover":"")).trim(),style:r({},e.getLineStyle(t),e.props.styles.bmBurgerBars)})})));return u.default.createElement("div",{className:("bm-burger-button "+this.props.className).trim(),style:r({zIndex:1e3},this.props.styles.bmBurgerButton)},u.default.createElement("button",{id:"react-burger-menu-btn",onClick:this.props.onClick,onMouseOver:function(){e.setState({hover:!0}),e.props.onIconHoverChange&&e.props.onIconHoverChange({isMouseIn:!0})},onMouseOut:function(){e.setState({hover:!1}),e.props.onIconHoverChange&&e.props.onIconHoverChange({isMouseIn:!1})},style:{position:"absolute",left:0,top:0,zIndex:1,width:"100%",height:"100%",margin:0,padding:0,border:"none",fontSize:0,background:"transparent",cursor:"pointer"}},"Open Menu"),t)}}]),t}(i.Component);t.default=s,s.propTypes={barClassName:l.default.string,customIcon:l.default.element,styles:l.default.object},s.defaultProps={barClassName:"",className:"",styles:{}},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(e,t,n){for(var r=!0;r;){var a=e,o=t,i=n;r=!1,null===a&&(a=Function.prototype);var u=Object.getOwnPropertyDescriptor(a,o);if(void 0!==u){if("value"in u)return u.value;var l=u.get;if(void 0===l)return;return l.call(i)}var s=Object.getPrototypeOf(a);if(null===s)return;e=s,t=o,n=i,r=!0,u=s=void 0}};function i(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var l=n(1),s=i(l),c=i(n(13)),f=function(e){function t(){u(this,t),o(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"getCrossStyle",value:function(e){return{position:"absolute",width:3,height:14,transform:"before"===e?"rotate(45deg)":"rotate(-45deg)"}}},{key:"render",value:function(){var e,t=this;if(this.props.customIcon){var n={className:("bm-cross "+(this.props.customIcon.props.className||"")).trim(),style:r({width:"100%",height:"100%"},this.props.styles.bmCross)};e=s.default.cloneElement(this.props.customIcon,n)}else e=s.default.createElement("span",{style:{position:"absolute",top:"6px",right:"14px"}},["before","after"].map((function(e,n){return s.default.createElement("span",{key:n,className:("bm-cross "+t.props.crossClassName).trim(),style:r({},t.getCrossStyle(e),t.props.styles.bmCross)})})));return s.default.createElement("div",{className:("bm-cross-button "+this.props.className).trim(),style:r({},{position:"absolute",width:24,height:24,right:8,top:8},this.props.styles.bmCrossButton)},s.default.createElement("button",{id:"react-burger-cross-btn",onClick:this.props.onClick,style:{position:"absolute",left:0,top:0,zIndex:1,width:"100%",height:"100%",margin:0,padding:0,border:"none",fontSize:0,background:"transparent",cursor:"pointer"},tabIndex:this.props.isOpen?0:-1},"Close Menu"),e)}}]),t}(l.Component);t.default=f,f.propTypes={crossClassName:c.default.string,customIcon:c.default.element,isOpen:c.default.bool,styles:c.default.object},f.defaultProps={crossClassName:"",className:"",styles:{},isOpen:!1},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({menuWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",MsTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",OTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",transform:e?"":n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",transition:e?"transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)":"transform 0.4s cubic-bezier(0.7, 0, 0.3, 1)"}},item:function(e,t,n,r){return{MozTransform:e?"":"translate3d(0, "+500*r+"px, 0)",MsTransform:e?"":"translate3d(0, "+500*r+"px, 0)",OTransform:e?"":"translate3d(0, "+500*r+"px, 0)",WebkitTransform:e?"":"translate3d(0, "+500*r+"px, 0)",transform:e?"":"translate3d(0, "+500*r+"px, 0)",transition:e?"transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)":"transform 0s 0.2s cubic-bezier(0.7, 0, 0.3, 1)"}}}),e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(31)),o=r(n(12)),i=n(32),u={svg:{lib:a.default,pathInitial:"M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z",pathOpen:"M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z",animate:function(e){e.animate({path:this.pathOpen},400,window.mina.easeinout)}},morphShape:function(e,t,n){return{position:"absolute",width:120,height:"100%",right:n?"inherit":0,left:n?0:"inherit",MozTransform:n?"rotateY(180deg)":"",MsTransform:n?"rotateY(180deg)":"",OTransform:n?"rotateY(180deg)":"",WebkitTransform:n?"rotateY(180deg)":"",transform:n?"rotateY(180deg)":""}},menuWrap:function(e,t,n){return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:"all 0.3s"}},menu:function(e,t,n){return{position:"fixed",right:n?0:"inherit",width:(0,i.pxToNum)(t)-120,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"visible"}},itemList:function(e,t,n){if(n)return{position:"relative",left:"-110px",width:"170%",overflow:"auto"}},pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",MsTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",OTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",WebkitTransform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",transform:e?"":n?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",transition:e?"all 0.3s":"all 0.3s 0.1s"}},outerContainer:function(e){return{overflow:e?"":"hidden"}}};t.default=(0,o.default)(u),e.exports=t.default},function(e,t,n){window.eve=n(64);var r=function(e){var t,n={},r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return setTimeout(e,16,(new Date).getTime()),!0},a=Array.isArray||function(e){return e instanceof Array||"[object Array]"==Object.prototype.toString.call(e)},o=0,i="M"+(+new Date).toString(36),u=Date.now||function(){return+new Date},l=function(e){var t=this;if(null==e)return t.s;var n=t.s-e;t.b+=t.dur*n,t.B+=t.dur*n,t.s=e},s=function(e){if(null==e)return this.spd;this.spd=e},c=function(e){var t=this;if(null==e)return t.dur;t.s=t.s*e/t.dur,t.dur=e},f=function(){var t=this;delete n[t.id],t.update(),e("mina.stop."+t.id,t)},d=function(){var e=this;e.pdif||(delete n[e.id],e.update(),e.pdif=e.get()-e.b)},p=function(){var e=this;e.pdif&&(e.b=e.get()-e.pdif,delete e.pdif,n[e.id]=e,m())},h=function(){var e,t=this;if(a(t.start)){e=[];for(var n=0,r=t.start.length;n<r;n++)e[n]=+t.start[n]+(t.end[n]-t.start[n])*t.easing(t.s)}else e=+t.start+(t.end-t.start)*t.easing(t.s);t.set(e)},m=function a(o){if(o){var i=0;for(var u in n)if(n.hasOwnProperty(u)){var l=n[u],s=l.get();i++,l.s=(s-l.b)/(l.dur/l.spd),l.s>=1&&(delete n[u],l.s=1,i--,function(t){setTimeout((function(){e("mina.finish."+t.id,t)}))}(l)),l.update()}t=!!i&&r(a)}else t||(t=r(a))},v=function e(t,r,a,u,v,g,y){var b={id:i+(o++).toString(36),start:t,end:r,b:a,s:0,dur:u-a,spd:1,get:v,set:g,easing:y||e.linear,status:l,speed:s,duration:c,stop:f,pause:d,resume:p,update:h};n[b.id]=b;var x,w=0;for(x in n)if(n.hasOwnProperty(x)&&2==++w)break;return 1==w&&m(),b};return v.time=u,v.getById=function(e){return n[e]||null},v.linear=function(e){return e},v.easeout=function(e){return Math.pow(e,1.7)},v.easein=function(e){return Math.pow(e,.48)},v.easeinout=function(e){if(1==e)return 1;if(0==e)return 0;var t=.48-e/1.04,n=Math.sqrt(.1734+t*t),r=n-t,a=-n-t,o=Math.pow(Math.abs(r),1/3)*(r<0?-1:1)+Math.pow(Math.abs(a),1/3)*(a<0?-1:1)+.5;return 3*(1-o)*o*o+o*o*o},v.backin=function(e){if(1==e)return 1;var t=1.70158;return e*e*((t+1)*e-t)},v.backout=function(e){if(0==e)return 0;var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},v.elastic=function(e){return e==!!e?e:Math.pow(2,-10*e)*Math.sin((e-.075)*(2*Math.PI)/.3)+1},v.bounce=function(e){var t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},window.mina=v,v}("undefined"==typeof eve?function(){}:eve),a=function(e){function t(e,r){if(e){if(e.nodeType)return W(e);if(_(e,"array")&&t.set)return t.set.apply(t,e);if(e instanceof V)return e;if(null==r)try{return W(e=n.doc.querySelector(String(e)))}catch(a){return null}}return new H(e=null==e?"100%":e,r=null==r?"100%":r)}t.version="0.5.1",t.toString=function(){return"Snap v"+this.version},t._={};var n={win:e.window,doc:e.window.document};t._.glob=n;var r="hasOwnProperty",a=String,o=parseFloat,i=parseInt,u=Math,l=u.max,s=u.min,c=u.abs,f=(u.pow,u.PI),d=(u.round,Object.prototype.toString),p=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i,h=(t._.separator=/[,\s]+/,/[\s]*,[\s]*/),m={hs:1,rg:1},v=/([a-z])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi,y=/([rstm])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi,b=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\s]*,?[\s]*/gi,x=0,w="S"+(+new Date).toString(36),k=function(e){return(e&&e.type?e.type:"")+w+(x++).toString(36)},O="http://www.w3.org/1999/xlink",C="http://www.w3.org/2000/svg",S={};t.url=function(e){return"url('#"+e+"')"};function E(e,t){if(t){if("#text"==e&&(e=n.doc.createTextNode(t.text||t["#text"]||"")),"#comment"==e&&(e=n.doc.createComment(t.text||t["#text"]||"")),"string"==typeof e&&(e=E(e)),"string"==typeof t)return 1==e.nodeType?"xlink:"==t.substring(0,6)?e.getAttributeNS(O,t.substring(6)):"xml:"==t.substring(0,4)?e.getAttributeNS(C,t.substring(4)):e.getAttribute(t):"text"==t?e.nodeValue:null;if(1==e.nodeType){for(var o in t)if(t[r](o)){var i=a(t[o]);i?"xlink:"==o.substring(0,6)?e.setAttributeNS(O,o.substring(6),i):"xml:"==o.substring(0,4)?e.setAttributeNS(C,o.substring(4),i):e.setAttribute(o,i):e.removeAttribute(o)}}else"text"in t&&(e.nodeValue=t.text)}else e=n.doc.createElementNS(C,e);return e}function _(e,t){return"finite"==(t=a.prototype.toLowerCase.call(t))?isFinite(e):!("array"!=t||!(e instanceof Array||Array.isArray&&Array.isArray(e)))||("null"==t&&null===e||t==typeof e&&null!==e||"object"==t&&e===Object(e)||d.call(e).slice(8,-1).toLowerCase()==t)}function F(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return e.push(e.splice(n,1)[0])}function P(e,t,n){return function a(){var o=Array.prototype.slice.call(arguments,0),i=o.join("\u2400"),u=a.cache=a.cache||{},l=a.count=a.count||[];return u[r](i)?(F(l,i),n?n(u[i]):u[i]):(l.length>=1e3&&delete u[l.shift()],l.push(i),u[i]=e.apply(t,o),n?n(u[i]):u[i])}}function T(e){return e%360*f/180}t._.$=E,t._.id=k,t.format=function(){var e=/\{([^\}]+)\}/g,t=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;return function(n,r){return a(n).replace(e,(function(e,n){return function(e,n,r){var a=r;return n.replace(t,(function(e,t,n,r,o){t=t||r,a&&(t in a&&(a=a[t]),"function"==typeof a&&o&&(a=a()))})),a=(null==a||a==r?e:a)+""}(e,n,r)}))}}(),t._.clone=function e(t){if("function"==typeof t||Object(t)!==t)return t;var n=new t.constructor;for(var a in t)t[r](a)&&(n[a]=e(t[a]));return n},t._.cacher=P,t.rad=T,t.deg=function(e){return 180*e/f%360},t.sin=function(e){return u.sin(t.rad(e))},t.tan=function(e){return u.tan(t.rad(e))},t.cos=function(e){return u.cos(t.rad(e))},t.asin=function(e){return t.deg(u.asin(e))},t.acos=function(e){return t.deg(u.acos(e))},t.atan=function(e){return t.deg(u.atan(e))},t.atan2=function(e){return t.deg(u.atan2(e))},t.angle=function e(t,n,r,a,o,i){if(null==o){var l=t-r,s=n-a;return l||s?(180+180*u.atan2(-s,-l)/f+360)%360:0}return e(t,n,o,i)-e(r,a,o,i)},t.len=function(e,n,r,a){return Math.sqrt(t.len2(e,n,r,a))},t.len2=function(e,t,n,r){return(e-n)*(e-n)+(t-r)*(t-r)},t.closestPoint=function(e,t,n){function r(e){var r=e.x-t,a=e.y-n;return r*r+a*a}for(var a,o,i,u,l=e.node,s=l.getTotalLength(),c=s/l.pathSegList.numberOfItems*.125,f=1/0,d=0;d<=s;d+=c)(u=r(i=l.getPointAtLength(d)))<f&&(a=i,o=d,f=u);for(c*=.5;c>.5;){var p,h,m,v,g,y;(m=o-c)>=0&&(g=r(p=l.getPointAtLength(m)))<f?(a=p,o=m,f=g):(v=o+c)<=s&&(y=r(h=l.getPointAtLength(v)))<f?(a=h,o=v,f=y):c*=.5}return a={x:a.x,y:a.y,length:o,distance:Math.sqrt(f)}},t.is=_,t.snapTo=function(e,t,n){if(n=_(n,"finite")?n:10,_(e,"array")){for(var r=e.length;r--;)if(c(e[r]-t)<=n)return e[r]}else{var a=t%(e=+e);if(a<n)return t-a;if(a>e-n)return t-a+e}return t},t.getRGB=P((function(e){if(!e||(e=a(e)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:A};if("none"==e)return{r:-1,g:-1,b:-1,hex:"none",toString:A};if(!m[r](e.toLowerCase().substring(0,2))&&"#"!=e.charAt()&&(e=M(e)),!e)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:A};var n,c,f,d,v,g,y=e.match(p);return y?(y[2]&&(f=i(y[2].substring(5),16),c=i(y[2].substring(3,5),16),n=i(y[2].substring(1,3),16)),y[3]&&(f=i((v=y[3].charAt(3))+v,16),c=i((v=y[3].charAt(2))+v,16),n=i((v=y[3].charAt(1))+v,16)),y[4]&&(g=y[4].split(h),n=o(g[0]),"%"==g[0].slice(-1)&&(n*=2.55),c=o(g[1]),"%"==g[1].slice(-1)&&(c*=2.55),f=o(g[2]),"%"==g[2].slice(-1)&&(f*=2.55),"rgba"==y[1].toLowerCase().slice(0,4)&&(d=o(g[3])),g[3]&&"%"==g[3].slice(-1)&&(d/=100)),y[5]?(g=y[5].split(h),n=o(g[0]),"%"==g[0].slice(-1)&&(n/=100),c=o(g[1]),"%"==g[1].slice(-1)&&(c/=100),f=o(g[2]),"%"==g[2].slice(-1)&&(f/=100),("deg"==g[0].slice(-3)||"\xb0"==g[0].slice(-1))&&(n/=360),"hsba"==y[1].toLowerCase().slice(0,4)&&(d=o(g[3])),g[3]&&"%"==g[3].slice(-1)&&(d/=100),t.hsb2rgb(n,c,f,d)):y[6]?(g=y[6].split(h),n=o(g[0]),"%"==g[0].slice(-1)&&(n/=100),c=o(g[1]),"%"==g[1].slice(-1)&&(c/=100),f=o(g[2]),"%"==g[2].slice(-1)&&(f/=100),("deg"==g[0].slice(-3)||"\xb0"==g[0].slice(-1))&&(n/=360),"hsla"==y[1].toLowerCase().slice(0,4)&&(d=o(g[3])),g[3]&&"%"==g[3].slice(-1)&&(d/=100),t.hsl2rgb(n,c,f,d)):(n=s(u.round(n),255),c=s(u.round(c),255),f=s(u.round(f),255),d=s(l(d,0),1),(y={r:n,g:c,b:f,toString:A}).hex="#"+(16777216|f|c<<8|n<<16).toString(16).slice(1),y.opacity=_(d,"finite")?d:1,y)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:A}}),t),t.hsb=P((function(e,n,r){return t.hsb2rgb(e,n,r).hex})),t.hsl=P((function(e,n,r){return t.hsl2rgb(e,n,r).hex})),t.rgb=P((function(e,t,n,r){if(_(r,"finite")){var a=u.round;return"rgba("+[a(e),a(t),a(n),+r.toFixed(2)]+")"}return"#"+(16777216|n|t<<8|e<<16).toString(16).slice(1)}));var M=function(e){var t=n.doc.getElementsByTagName("head")[0]||n.doc.getElementsByTagName("svg")[0],r="rgb(255, 0, 0)";return(M=P((function(e){if("red"==e.toLowerCase())return r;t.style.color=r,t.style.color=e;var a=n.doc.defaultView.getComputedStyle(t,"").getPropertyValue("color");return a==r?null:a})))(e)},j=function(){return"hsb("+[this.h,this.s,this.b]+")"},N=function(){return"hsl("+[this.h,this.s,this.l]+")"},A=function(){return 1==this.opacity||null==this.opacity?this.hex:"rgba("+[this.r,this.g,this.b,this.opacity]+")"},I=function(e,n,r){if(null==n&&_(e,"object")&&"r"in e&&"g"in e&&"b"in e&&(r=e.b,n=e.g,e=e.r),null==n&&_(e,string)){var a=t.getRGB(e);e=a.r,n=a.g,r=a.b}return(e>1||n>1||r>1)&&(e/=255,n/=255,r/=255),[e,n,r]},L=function(e,n,r,a){var o={r:e=u.round(255*e),g:n=u.round(255*n),b:r=u.round(255*r),opacity:_(a,"finite")?a:1,hex:t.rgb(e,n,r),toString:A};return _(a,"finite")&&(o.opacity=a),o};t.color=function(e){var n;return _(e,"object")&&"h"in e&&"s"in e&&"b"in e?(n=t.hsb2rgb(e),e.r=n.r,e.g=n.g,e.b=n.b,e.opacity=1,e.hex=n.hex):_(e,"object")&&"h"in e&&"s"in e&&"l"in e?(n=t.hsl2rgb(e),e.r=n.r,e.g=n.g,e.b=n.b,e.opacity=1,e.hex=n.hex):(_(e,"string")&&(e=t.getRGB(e)),_(e,"object")&&"r"in e&&"g"in e&&"b"in e&&!("error"in e)?(n=t.rgb2hsl(e),e.h=n.h,e.s=n.s,e.l=n.l,n=t.rgb2hsb(e),e.v=n.b):((e={hex:"none"}).r=e.g=e.b=e.h=e.s=e.v=e.l=-1,e.error=1)),e.toString=A,e},t.hsb2rgb=function(e,t,n,r){var a,o,i,u,l;return _(e,"object")&&"h"in e&&"s"in e&&"b"in e&&(n=e.b,t=e.s,r=e.o,e=e.h),u=(l=n*t)*(1-c((e=(e*=360)%360/60)%2-1)),a=o=i=n-l,L(a+=[l,u,0,0,u,l][e=~~e],o+=[u,l,l,u,0,0][e],i+=[0,0,u,l,l,u][e],r)},t.hsl2rgb=function(e,t,n,r){var a,o,i,u,l;return _(e,"object")&&"h"in e&&"s"in e&&"l"in e&&(n=e.l,t=e.s,e=e.h),(e>1||t>1||n>1)&&(e/=360,t/=100,n/=100),u=(l=2*t*(n<.5?n:1-n))*(1-c((e=(e*=360)%360/60)%2-1)),a=o=i=n-l/2,L(a+=[l,u,0,0,u,l][e=~~e],o+=[u,l,l,u,0,0][e],i+=[0,0,u,l,l,u][e],r)},t.rgb2hsb=function(e,t,n){var r,a;return e=(n=I(e,t,n))[0],t=n[1],n=n[2],{h:((0==(a=(r=l(e,t,n))-s(e,t,n))?null:r==e?(t-n)/a:r==t?(n-e)/a+2:(e-t)/a+4)+360)%6*60/360,s:0==a?0:a/r,b:r,toString:j}},t.rgb2hsl=function(e,t,n){var r,a,o,i;return e=(n=I(e,t,n))[0],t=n[1],n=n[2],r=((a=l(e,t,n))+(o=s(e,t,n)))/2,{h:((0==(i=a-o)?null:a==e?(t-n)/i:a==t?(n-e)/i+2:(e-t)/i+4)+360)%6*60/360,s:0==i?0:r<.5?i/(2*r):i/(2-2*r),l:r,toString:N}},t.parsePathString=function(e){if(!e)return null;var n=t.path(e);if(n.arr)return t.path.clone(n.arr);var r={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},o=[];return _(e,"array")&&_(e[0],"array")&&(o=t.path.clone(e)),o.length||a(e).replace(v,(function(e,t,n){var a=[],i=t.toLowerCase();if(n.replace(b,(function(e,t){t&&a.push(+t)})),"m"==i&&a.length>2&&(o.push([t].concat(a.splice(0,2))),i="l",t="m"==t?"l":"L"),"o"==i&&1==a.length&&o.push([t,a[0]]),"r"==i)o.push([t].concat(a));else for(;a.length>=r[i]&&(o.push([t].concat(a.splice(0,r[i]))),r[i]););})),o.toString=t.path.toString,n.arr=t.path.clone(o),o};var D=t.parseTransformString=function(e){if(!e)return null;var n=[];return _(e,"array")&&_(e[0],"array")&&(n=t.path.clone(e)),n.length||a(e).replace(y,(function(e,t,r){var a=[];t.toLowerCase();r.replace(b,(function(e,t){t&&a.push(+t)})),n.push([t].concat(a))})),n.toString=t.path.toString,n};t._.svgTransform2string=function(e){var t=[];return e=e.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g,(function(e,n,r){return r=r.split(/\s*,\s*|\s+/),"rotate"==n&&1==r.length&&r.push(0,0),"scale"==n&&(r.length>2?r=r.slice(0,2):2==r.length&&r.push(0,0),1==r.length&&r.push(r[0],0,0)),"skewX"==n?t.push(["m",1,0,u.tan(T(r[0])),1,0,0]):"skewY"==n?t.push(["m",1,u.tan(T(r[0])),0,1,0,0]):t.push([n.charAt(0)].concat(r)),e})),t},t._.rgTransform=/^[a-z][\s]*-?\.?\d/i,t._.transform2matrix=function(e,n){var r=D(e),o=new t.Matrix;if(r)for(var i=0,u=r.length;i<u;i++){var l,s,c,f,d,p=r[i],h=p.length,m=a(p[0]).toLowerCase(),v=p[0]!=m,g=v?o.invert():0;"t"==m&&2==h?o.translate(p[1],0):"t"==m&&3==h?v?(l=g.x(0,0),s=g.y(0,0),c=g.x(p[1],p[2]),f=g.y(p[1],p[2]),o.translate(c-l,f-s)):o.translate(p[1],p[2]):"r"==m?2==h?(d=d||n,o.rotate(p[1],d.x+d.width/2,d.y+d.height/2)):4==h&&(v?(c=g.x(p[2],p[3]),f=g.y(p[2],p[3]),o.rotate(p[1],c,f)):o.rotate(p[1],p[2],p[3])):"s"==m?2==h||3==h?(d=d||n,o.scale(p[1],p[h-1],d.x+d.width/2,d.y+d.height/2)):4==h?v?(c=g.x(p[2],p[3]),f=g.y(p[2],p[3]),o.scale(p[1],p[1],c,f)):o.scale(p[1],p[1],p[2],p[3]):5==h&&(v?(c=g.x(p[3],p[4]),f=g.y(p[3],p[4]),o.scale(p[1],p[2],c,f)):o.scale(p[1],p[2],p[3],p[4])):"m"==m&&7==h&&o.add(p[1],p[2],p[3],p[4],p[5],p[6])}return o},t._unit2px=function(e,t,n){var r=R(e).node,a={},o=r.querySelector(".svg---mgr");o||(o=E("rect"),E(o,{x:-9e9,y:-9e9,width:10,height:10,class:"svg---mgr",fill:"none"}),r.appendChild(o));function i(e){if(null==e)return"";if(e==+e)return e;E(o,{width:e});try{return o.getBBox().width}catch(t){return 0}}function u(e){if(null==e)return"";if(e==+e)return e;E(o,{height:e});try{return o.getBBox().height}catch(t){return 0}}function l(r,o){null==t?a[r]=o(e.attr(r)||0):r==t&&(a=o(null==n?e.attr(r)||0:n))}switch(e.type){case"rect":l("rx",i),l("ry",u);case"image":l("width",i),l("height",u);case"text":l("x",i),l("y",u);break;case"circle":l("cx",i),l("cy",u),l("r",i);break;case"ellipse":l("cx",i),l("cy",u),l("rx",i),l("ry",u);break;case"line":l("x1",i),l("x2",i),l("y1",u),l("y2",u);break;case"marker":l("refX",i),l("markerWidth",i),l("refY",u),l("markerHeight",u);break;case"radialGradient":l("fx",i),l("fy",u);break;case"tspan":l("dx",i),l("dy",u);break;default:l(t,i)}return r.removeChild(o),a};n.doc.contains||n.doc.compareDocumentPosition;function R(e){return e.node.ownerSVGElement&&W(e.node.ownerSVGElement)||t.select("svg")}function z(e){_(e,"array")||(e=Array.prototype.slice.call(arguments,0));for(var t=0,n=0,r=this.node;this[t];)delete this[t++];for(t=0;t<e.length;t++)"set"==e[t].type?e[t].forEach((function(e){r.appendChild(e.node)})):r.appendChild(e[t].node);var a=r.childNodes;for(t=0;t<a.length;t++)this[n++]=W(a[t]);return this}function V(e){if(e.snap in S)return S[e.snap];var t;try{t=e.ownerSVGElement}catch(o){}this.node=e,t&&(this.paper=new H(t)),this.type=e.tagName||e.nodeName;var n=this.id=k(this);if(this.anims={},this._={transform:[]},e.snap=n,S[n]=this,"g"==this.type&&(this.add=z),this.type in{g:1,mask:1,pattern:1,symbol:1})for(var a in H.prototype)H.prototype[r](a)&&(this[a]=H.prototype[a])}function B(e){this.node=e}function U(e,t){var n=E(e);return t.appendChild(n),W(n)}function H(e,t){var a,o,i,u=H.prototype;if(e&&e.tagName&&"svg"==e.tagName.toLowerCase()){if(e.snap in S)return S[e.snap];var l=e.ownerDocument;for(var s in a=new V(e),o=e.getElementsByTagName("desc")[0],i=e.getElementsByTagName("defs")[0],o||((o=E("desc")).appendChild(l.createTextNode("Created with Snap")),a.node.appendChild(o)),i||(i=E("defs"),a.node.appendChild(i)),a.defs=i,u)u[r](s)&&(a[s]=u[s]);a.paper=a.root=a}else E((a=U("svg",n.doc.body)).node,{height:t,version:1.1,width:e,xmlns:C});return a}function W(e){return e?e instanceof V||e instanceof B?e:e.tagName&&"svg"==e.tagName.toLowerCase()?new H(e):e.tagName&&"object"==e.tagName.toLowerCase()&&"image/svg+xml"==e.type?new H(e.contentDocument.getElementsByTagName("svg")[0]):new V(e):e}function $(e,t){for(var n=0,r=e.length;n<r;n++){var a={type:e[n].type,attr:e[n].attr()},o=e[n].children();t.push(a),o.length&&$(o,a.childNodes=[])}}t._.getSomeDefs=function(e){var n=e.node.ownerSVGElement&&W(e.node.ownerSVGElement)||e.node.parentNode&&W(e.node.parentNode)||t.select("svg")||t(0,0),r=n.select("defs"),a=null!=r&&r.node;return a||(a=U("defs",n.node).node),a},t._.getSomeSVG=R,t.select=function(e){return e=a(e).replace(/([^\\]):/g,"$1\\:"),W(n.doc.querySelector(e))},t.selectAll=function(e){for(var r=n.doc.querySelectorAll(e),a=(t.set||Array)(),o=0;o<r.length;o++)a.push(W(r[o]));return a},setInterval((function(){for(var e in S)if(S[r](e)){var t=S[e],n=t.node;("svg"!=t.type&&!n.ownerSVGElement||"svg"==t.type&&(!n.parentNode||"ownerSVGElement"in n.parentNode&&!n.ownerSVGElement))&&delete S[e]}}),1e4),V.prototype.attr=function(e,t){var n=this,a=n.node;if(!e){if(1!=a.nodeType)return{text:a.nodeValue};for(var o=a.attributes,i={},u=0,l=o.length;u<l;u++)i[o[u].nodeName]=o[u].nodeValue;return i}if(_(e,"string")){if(!(arguments.length>1))return eve("snap.util.getattr."+e,n).firstDefined();var s={};s[e]=t,e=s}for(var c in e)e[r](c)&&eve("snap.util.attr."+c,n,e[c]);return n},t.parse=function(e){var t=n.doc.createDocumentFragment(),r=!0,o=n.doc.createElement("div");if((e=a(e)).match(/^\s*<\s*svg(?:\s|>)/)||(e="<svg>"+e+"</svg>",r=!1),o.innerHTML=e,e=o.getElementsByTagName("svg")[0])if(r)t=e;else for(;e.firstChild;)t.appendChild(e.firstChild);return new B(t)},t.fragment=function(){for(var e=Array.prototype.slice.call(arguments,0),r=n.doc.createDocumentFragment(),a=0,o=e.length;a<o;a++){var i=e[a];i.node&&i.node.nodeType&&r.appendChild(i.node),i.nodeType&&r.appendChild(i),"string"==typeof i&&r.appendChild(t.parse(i).node)}return new B(r)},t._.make=U,t._.wrap=W,H.prototype.el=function(e,t){var n=U(e,this.node);return t&&n.attr(t),n},V.prototype.children=function(){for(var e=[],n=this.node.childNodes,r=0,a=n.length;r<a;r++)e[r]=t(n[r]);return e},V.prototype.toJSON=function(){var e=[];return $([this],e),e[0]},eve.on("snap.util.getattr",(function(){var e=eve.nt(),t=(e=e.substring(e.lastIndexOf(".")+1)).replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));return q[r](t)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(t):E(this.node,e)}));var q={"alignment-baseline":0,"baseline-shift":0,clip:0,"clip-path":0,"clip-rule":0,color:0,"color-interpolation":0,"color-interpolation-filters":0,"color-profile":0,"color-rendering":0,cursor:0,direction:0,display:0,"dominant-baseline":0,"enable-background":0,fill:0,"fill-opacity":0,"fill-rule":0,filter:0,"flood-color":0,"flood-opacity":0,font:0,"font-family":0,"font-size":0,"font-size-adjust":0,"font-stretch":0,"font-style":0,"font-variant":0,"font-weight":0,"glyph-orientation-horizontal":0,"glyph-orientation-vertical":0,"image-rendering":0,kerning:0,"letter-spacing":0,"lighting-color":0,marker:0,"marker-end":0,"marker-mid":0,"marker-start":0,mask:0,opacity:0,overflow:0,"pointer-events":0,"shape-rendering":0,"stop-color":0,"stop-opacity":0,stroke:0,"stroke-dasharray":0,"stroke-dashoffset":0,"stroke-linecap":0,"stroke-linejoin":0,"stroke-miterlimit":0,"stroke-opacity":0,"stroke-width":0,"text-anchor":0,"text-decoration":0,"text-rendering":0,"unicode-bidi":0,visibility:0,"word-spacing":0,"writing-mode":0};eve.on("snap.util.attr",(function(e){var t=eve.nt(),n={};n[t=t.substring(t.lastIndexOf(".")+1)]=e;var a=t.replace(/-(\w)/gi,(function(e,t){return t.toUpperCase()})),o=t.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));q[r](o)?this.node.style[a]=null==e?"":e:E(this.node,n)})),H.prototype,t.ajax=function(e,t,n,r){var a=new XMLHttpRequest,o=k();if(a){if(_(t,"function"))r=n,n=t,t=null;else if(_(t,"object")){var i=[];for(var u in t)t.hasOwnProperty(u)&&i.push(encodeURIComponent(u)+"="+encodeURIComponent(t[u]));t=i.join("&")}return a.open(t?"POST":"GET",e,!0),t&&(a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.setRequestHeader("Content-type","application/x-www-form-urlencoded")),n&&(eve.once("snap.ajax."+o+".0",n),eve.once("snap.ajax."+o+".200",n),eve.once("snap.ajax."+o+".304",n)),a.onreadystatechange=function(){4==a.readyState&&eve("snap.ajax."+o+"."+a.status,r,a)},4==a.readyState?a:(a.send(t),a)}},t.load=function(e,n,r){t.ajax(e,(function(e){var a=t.parse(e.responseText);r?n.call(r,a):n(a)}))};return t.getElementByPoint=function(e,t){this.canvas;var r=n.doc.elementFromPoint(e,t);if(n.win.opera&&"svg"==r.tagName){var a=function(e){var t=e.getBoundingClientRect(),n=e.ownerDocument,r=n.body,a=n.documentElement,o=a.clientTop||r.clientTop||0,i=a.clientLeft||r.clientLeft||0;return{y:t.top+(g.win.pageYOffset||a.scrollTop||r.scrollTop)-o,x:t.left+(g.win.pageXOffset||a.scrollLeft||r.scrollLeft)-i}}(r),o=r.createSVGRect();o.x=e-a.x,o.y=t-a.y,o.width=o.height=1;var i=r.getIntersectionList(o,null);i.length&&(r=i[i.length-1])}return r?W(r):null},t.plugin=function(e){e(t,V,H,n,B)},n.win.Snap=t,t}(window||this);a.plugin((function(e,t,n,r,a){var o=t.prototype,i=e.is,u=String,l=e._unit2px,s=e._.$,c=e._.make,f=e._.getSomeDefs,d="hasOwnProperty",p=e._.wrap;o.getBBox=function(t){if("tspan"==this.type)return e._.box(this.node.getClientRects().item(0));if(!e.Matrix||!e.path)return this.node.getBBox();var n=this,r=new e.Matrix;if(n.removed)return e._.box();for(;"use"==n.type;)if(t||(r=r.add(n.transform().localMatrix.translate(n.attr("x")||0,n.attr("y")||0))),n.original)n=n.original;else{var a=n.attr("xlink:href");n=n.original=n.node.ownerDocument.getElementById(a.substring(a.indexOf("#")+1))}var o=n._,i=e.path.get[n.type]||e.path.get.deflt;try{return t?(o.bboxwt=i?e.path.getBBox(n.realPath=i(n)):e._.box(n.node.getBBox()),e._.box(o.bboxwt)):(n.realPath=i(n),n.matrix=n.transform().localMatrix,o.bbox=e.path.getBBox(e.path.map(n.realPath,r.add(n.matrix))),e._.box(o.bbox))}catch(u){return e._.box()}};var h=function(){return this.string};function m(t,n){if(null==n){var r=!0;if(!(n="linearGradient"==t.type||"radialGradient"==t.type?t.node.getAttribute("gradientTransform"):"pattern"==t.type?t.node.getAttribute("patternTransform"):t.node.getAttribute("transform")))return new e.Matrix;n=e._.svgTransform2string(n)}else n=e._.rgTransform.test(n)?u(n).replace(/\.{3}|\u2026/g,t._.transform||""):e._.svgTransform2string(n),i(n,"array")&&(n=e.path?e.path.toString.call(n):u(n)),t._.transform=n;var a=e._.transform2matrix(n,t.getBBox(1));if(r)return a;t.matrix=a}o.transform=function(t){var n=this._;if(null==t){for(var r,a=this,o=new e.Matrix(this.node.getCTM()),i=m(this),l=[i],c=new e.Matrix,f=i.toTransformString(),d=u(i)==u(this.matrix)?u(n.transform):f;"svg"!=a.type&&(a=a.parent());)l.push(m(a));for(r=l.length;r--;)c.add(l[r]);return{string:d,globalMatrix:o,totalMatrix:c,localMatrix:i,diffMatrix:o.clone().add(i.invert()),global:o.toTransformString(),total:c.toTransformString(),local:f,toString:h}}return t instanceof e.Matrix?(this.matrix=t,this._.transform=t.toTransformString()):m(this,t),this.node&&("linearGradient"==this.type||"radialGradient"==this.type?s(this.node,{gradientTransform:this.matrix}):"pattern"==this.type?s(this.node,{patternTransform:this.matrix}):s(this.node,{transform:this.matrix})),this},o.parent=function(){return p(this.node.parentNode)},o.append=o.add=function(e){if(e){if("set"==e.type){var t=this;return e.forEach((function(e){t.add(e)})),this}e=p(e),this.node.appendChild(e.node),e.paper=this.paper}return this},o.appendTo=function(e){return e&&(e=p(e)).append(this),this},o.prepend=function(e){if(e){if("set"==e.type){var t,n=this;return e.forEach((function(e){t?t.after(e):n.prepend(e),t=e})),this}var r=(e=p(e)).parent();this.node.insertBefore(e.node,this.node.firstChild),this.add&&this.add(),e.paper=this.paper,this.parent()&&this.parent().add(),r&&r.add()}return this},o.prependTo=function(e){return(e=p(e)).prepend(this),this},o.before=function(e){if("set"==e.type){var t=this;return e.forEach((function(e){var n=e.parent();t.node.parentNode.insertBefore(e.node,t.node),n&&n.add()})),this.parent().add(),this}var n=(e=p(e)).parent();return this.node.parentNode.insertBefore(e.node,this.node),this.parent()&&this.parent().add(),n&&n.add(),e.paper=this.paper,this},o.after=function(e){var t=(e=p(e)).parent();return this.node.nextSibling?this.node.parentNode.insertBefore(e.node,this.node.nextSibling):this.node.parentNode.appendChild(e.node),this.parent()&&this.parent().add(),t&&t.add(),e.paper=this.paper,this},o.insertBefore=function(e){e=p(e);var t=this.parent();return e.node.parentNode.insertBefore(this.node,e.node),this.paper=e.paper,t&&t.add(),e.parent()&&e.parent().add(),this},o.insertAfter=function(e){e=p(e);var t=this.parent();return e.node.parentNode.insertBefore(this.node,e.node.nextSibling),this.paper=e.paper,t&&t.add(),e.parent()&&e.parent().add(),this},o.remove=function(){var e=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,e&&e.add(),this},o.select=function(e){return p(this.node.querySelector(e))},o.selectAll=function(t){for(var n=this.node.querySelectorAll(t),r=(e.set||Array)(),a=0;a<n.length;a++)r.push(p(n[a]));return r},o.asPX=function(e,t){return null==t&&(t=this.attr(e)),+l(this,e,t)},o.use=function(){var e,t=this.node.id;return t||(t=this.id,s(this.node,{id:t})),e="linearGradient"==this.type||"radialGradient"==this.type||"pattern"==this.type?c(this.type,this.node.parentNode):c("use",this.node.parentNode),s(e.node,{"xlink:href":"#"+t}),e.original=this,e},o.clone=function(){var t=p(this.node.cloneNode(!0));return s(t.node,"id")&&s(t.node,{id:t.id}),function(t){var n,r=t.selectAll("*"),a=/^\s*url\(("|'|)(.*)\1\)\s*$/,o=[],i={};function u(t,n){var r=s(t.node,n);(r=(r=r&&r.match(a))&&r[2])&&"#"==r.charAt()&&(r=r.substring(1))&&(i[r]=(i[r]||[]).concat((function(r){var a={};a[n]=e.url(r),s(t.node,a)})))}function l(e){var t=s(e.node,"xlink:href");t&&"#"==t.charAt()&&(t=t.substring(1))&&(i[t]=(i[t]||[]).concat((function(t){e.attr("xlink:href","#"+t)})))}for(var c=0,f=r.length;c<f;c++){u(n=r[c],"fill"),u(n,"stroke"),u(n,"filter"),u(n,"mask"),u(n,"clip-path"),l(n);var d=s(n.node,"id");d&&(s(n.node,{id:n.id}),o.push({old:d,id:n.id}))}for(c=0,f=o.length;c<f;c++){var p=i[o[c].old];if(p)for(var h=0,m=p.length;h<m;h++)p[h](o[c].id)}}(t),t.insertAfter(this),t},o.toDefs=function(){return f(this).appendChild(this.node),this},o.pattern=o.toPattern=function(e,t,n,r){var a=c("pattern",f(this));return null==e&&(e=this.getBBox()),i(e,"object")&&"x"in e&&(t=e.y,n=e.width,r=e.height,e=e.x),s(a.node,{x:e,y:t,width:n,height:r,patternUnits:"userSpaceOnUse",id:a.id,viewBox:[e,t,n,r].join(" ")}),a.node.appendChild(this.node),a},o.marker=function(e,t,n,r,a,o){var u=c("marker",f(this));return null==e&&(e=this.getBBox()),i(e,"object")&&"x"in e&&(t=e.y,n=e.width,r=e.height,a=e.refX||e.cx,o=e.refY||e.cy,e=e.x),s(u.node,{viewBox:[e,t,n,r].join(" "),markerWidth:n,markerHeight:r,orient:"auto",refX:a||0,refY:o||0,id:u.id}),u.node.appendChild(this.node),u};var v={};function g(e){return function(){var t=e?"<"+this.type:"",n=this.node.attributes,r=this.node.childNodes;if(e)for(var a=0,o=n.length;a<o;a++)t+=" "+n[a].name+'="'+n[a].value.replace(/"/g,'\\"')+'"';if(r.length){for(e&&(t+=">"),a=0,o=r.length;a<o;a++)3==r[a].nodeType?t+=r[a].nodeValue:1==r[a].nodeType&&(t+=p(r[a]).toString());e&&(t+="</"+this.type+">")}else e&&(t+="/>");return t}}o.data=function(t,n){var r=v[this.id]=v[this.id]||{};if(0==arguments.length)return eve("snap.data.get."+this.id,this,r,null),r;if(1==arguments.length){if(e.is(t,"object")){for(var a in t)t[d](a)&&this.data(a,t[a]);return this}return eve("snap.data.get."+this.id,this,r[t],t),r[t]}return r[t]=n,eve("snap.data.set."+this.id,this,n,t),this},o.removeData=function(e){return null==e?v[this.id]={}:v[this.id]&&delete v[this.id][e],this},o.outerSVG=o.toString=g(1),o.innerSVG=g(),o.toDataURL=function(){if(window&&window.btoa){var t=this.getBBox(),n=e.format('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}" viewBox="{x} {y} {width} {height}">{contents}</svg>',{x:+t.x.toFixed(3),y:+t.y.toFixed(3),width:+t.width.toFixed(3),height:+t.height.toFixed(3),contents:this.outerSVG()});return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(n)))}},a.prototype.select=o.select,a.prototype.selectAll=o.selectAll})),a.plugin((function(e,t,n,r,a){var o=Object.prototype.toString,i=String,u=Math;function l(e,t,n,r,a,i){if(null==t&&"[object SVGMatrix]"==o.call(e))return this.a=e.a,this.b=e.b,this.c=e.c,this.d=e.d,this.e=e.e,void(this.f=e.f);null!=e?(this.a=+e,this.b=+t,this.c=+n,this.d=+r,this.e=+a,this.f=+i):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}!function(t){function n(e){return e[0]*e[0]+e[1]*e[1]}function r(e){var t=u.sqrt(n(e));e[0]&&(e[0]/=t),e[1]&&(e[1]/=t)}t.add=function(e,t,n,r,a,o){if(e&&e instanceof l)return this.add(e.a,e.b,e.c,e.d,e.e,e.f);var i=e*this.a+t*this.c,u=e*this.b+t*this.d;return this.e+=a*this.a+o*this.c,this.f+=a*this.b+o*this.d,this.c=n*this.a+r*this.c,this.d=n*this.b+r*this.d,this.a=i,this.b=u,this},l.prototype.multLeft=function(e,t,n,r,a,o){if(e&&e instanceof l)return this.multLeft(e.a,e.b,e.c,e.d,e.e,e.f);var i=e*this.a+n*this.b,u=e*this.c+n*this.d,s=e*this.e+n*this.f+a;return this.b=t*this.a+r*this.b,this.d=t*this.c+r*this.d,this.f=t*this.e+r*this.f+o,this.a=i,this.c=u,this.e=s,this},t.invert=function(){var e=this,t=e.a*e.d-e.b*e.c;return new l(e.d/t,-e.b/t,-e.c/t,e.a/t,(e.c*e.f-e.d*e.e)/t,(e.b*e.e-e.a*e.f)/t)},t.clone=function(){return new l(this.a,this.b,this.c,this.d,this.e,this.f)},t.translate=function(e,t){return this.e+=e*this.a+t*this.c,this.f+=e*this.b+t*this.d,this},t.scale=function(e,t,n,r){return null==t&&(t=e),(n||r)&&this.translate(n,r),this.a*=e,this.b*=e,this.c*=t,this.d*=t,(n||r)&&this.translate(-n,-r),this},t.rotate=function(t,n,r){t=e.rad(t),n=n||0,r=r||0;var a=+u.cos(t).toFixed(9),o=+u.sin(t).toFixed(9);return this.add(a,o,-o,a,n,r),this.add(1,0,0,1,-n,-r)},t.skewX=function(e){return this.skew(e,0)},t.skewY=function(e){return this.skew(0,e)},t.skew=function(t,n){t=t||0,n=n||0,t=e.rad(t),n=e.rad(n);var r=u.tan(t).toFixed(9),a=u.tan(n).toFixed(9);return this.add(1,a,r,1,0,0)},t.x=function(e,t){return e*this.a+t*this.c+this.e},t.y=function(e,t){return e*this.b+t*this.d+this.f},t.get=function(e){return+this[i.fromCharCode(97+e)].toFixed(4)},t.toString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"},t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},t.determinant=function(){return this.a*this.d-this.b*this.c},t.split=function(){var t={};t.dx=this.e,t.dy=this.f;var a=[[this.a,this.b],[this.c,this.d]];t.scalex=u.sqrt(n(a[0])),r(a[0]),t.shear=a[0][0]*a[1][0]+a[0][1]*a[1][1],a[1]=[a[1][0]-a[0][0]*t.shear,a[1][1]-a[0][1]*t.shear],t.scaley=u.sqrt(n(a[1])),r(a[1]),t.shear/=t.scaley,this.determinant()<0&&(t.scalex=-t.scalex);var o=a[0][1],i=a[1][1];return i<0?(t.rotate=e.deg(u.acos(i)),o<0&&(t.rotate=360-t.rotate)):t.rotate=e.deg(u.asin(o)),t.isSimple=!+t.shear.toFixed(9)&&(t.scalex.toFixed(9)==t.scaley.toFixed(9)||!t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t},t.toTransformString=function(e){var t=e||this.split();return+t.shear.toFixed(9)?"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(t.scalex=+t.scalex.toFixed(4),t.scaley=+t.scaley.toFixed(4),t.rotate=+t.rotate.toFixed(4),(t.dx||t.dy?"t"+[+t.dx.toFixed(4),+t.dy.toFixed(4)]:"")+(t.rotate?"r"+[+t.rotate.toFixed(4),0,0]:"")+(1!=t.scalex||1!=t.scaley?"s"+[t.scalex,t.scaley,0,0]:""))}}(l.prototype),e.Matrix=l,e.matrix=function(e,t,n,r,a,o){return new l(e,t,n,r,a,o)}})),a.plugin((function(e,t,n,r,a){var o,i=e._.make,u=e._.wrap,l=e.is,s=e._.getSomeDefs,c=/^url\((['"]?)([^)]+)\1\)$/,f=e._.$,d=e.url,p=String,h=e._.separator;function m(n){return function(r){if(eve.stop(),r instanceof a&&1==r.node.childNodes.length&&("radialGradient"==r.node.firstChild.tagName||"linearGradient"==r.node.firstChild.tagName||"pattern"==r.node.firstChild.tagName)&&(r=r.node.firstChild,s(this).appendChild(r),r=u(r)),r instanceof t)if("radialGradient"==r.type||"linearGradient"==r.type||"pattern"==r.type){r.node.id||f(r.node,{id:r.id});var o=d(r.node.id)}else o=r.attr(n);else if((o=e.color(r)).error){var i=e(s(this).ownerSVGElement).gradient(r);i?(i.node.id||f(i.node,{id:i.id}),o=d(i.node.id)):o=r}else o=p(o);var l={};l[n]=o,f(this.node,l),this.node.style[n]=""}}e.deurl=function(e){var t=String(e).match(c);return t?t[2]:e},eve.on("snap.util.attr.mask",(function(e){if(e instanceof t||e instanceof a){if(eve.stop(),e instanceof a&&1==e.node.childNodes.length&&(e=e.node.firstChild,s(this).appendChild(e),e=u(e)),"mask"==e.type)var n=e;else(n=i("mask",s(this))).node.appendChild(e.node);!n.node.id&&f(n.node,{id:n.id}),f(this.node,{mask:d(n.id)})}})),o=function(e){if(e instanceof t||e instanceof a){eve.stop();for(var n,r=e.node;r;){if("clipPath"===r.nodeName){n=new t(r);break}if("svg"===r.nodeName){n=void 0;break}r=r.parentNode}n||((n=i("clipPath",s(this))).node.appendChild(e.node),!n.node.id&&f(n.node,{id:n.id})),f(this.node,{"clip-path":d(n.node.id||n.id)})}},eve.on("snap.util.attr.clip",o),eve.on("snap.util.attr.clip-path",o),eve.on("snap.util.attr.clipPath",o),eve.on("snap.util.attr.fill",m("fill")),eve.on("snap.util.attr.stroke",m("stroke"));var v=/^([lr])(?:\(([^)]*)\))?(.*)$/i;function g(e){eve.stop(),e==+e&&(e+="px"),this.node.style.fontSize=e}function y(e){for(var t=[],n=e.childNodes,r=0,a=n.length;r<a;r++){var o=n[r];3==o.nodeType&&t.push(o.nodeValue),"tspan"==o.tagName&&(1==o.childNodes.length&&3==o.firstChild.nodeType?t.push(o.firstChild.nodeValue):t.push(y(o)))}return t}function b(){return eve.stop(),this.node.style.fontSize}eve.on("snap.util.grad.parse",(function(e){var t=(e=p(e)).match(v);if(!t)return null;var n=t[1],r=t[2],a=t[3];1==(r=r.split(/\s*,\s*/).map((function(e){return+e==e?+e:e}))).length&&0==r[0]&&(r=[]);var o=(a=(a=a.split("-")).map((function(e){var t={color:(e=e.split(":"))[0]};return e[1]&&(t.offset=parseFloat(e[1])),t}))).length,i=0,u=0;function l(e,t){for(var n=(t-i)/(e-u),r=u;r<e;r++)a[r].offset=+(+i+n*(r-u)).toFixed(2);u=e,i=t}o--;for(var s=0;s<o;s++)"offset"in a[s]&&l(s,a[s].offset);return a[o].offset=a[o].offset||100,l(o,a[o].offset),{type:n,params:r,stops:a}})),eve.on("snap.util.attr.d",(function(t){eve.stop(),l(t,"array")&&l(t[0],"array")&&(t=e.path.toString.call(t)),(t=p(t)).match(/[ruo]/i)&&(t=e.path.toAbsolute(t)),f(this.node,{d:t})}))(-1),eve.on("snap.util.attr.#text",(function(e){eve.stop(),e=p(e);for(var t=r.doc.createTextNode(e);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(t)}))(-1),eve.on("snap.util.attr.path",(function(e){eve.stop(),this.attr({d:e})}))(-1),eve.on("snap.util.attr.class",(function(e){eve.stop(),this.node.className.baseVal=e}))(-1),eve.on("snap.util.attr.viewBox",(function(e){var t;t=l(e,"object")&&"x"in e?[e.x,e.y,e.width,e.height].join(" "):l(e,"array")?e.join(" "):e,f(this.node,{viewBox:t}),eve.stop()}))(-1),eve.on("snap.util.attr.transform",(function(e){this.transform(e),eve.stop()}))(-1),eve.on("snap.util.attr.r",(function(e){"rect"==this.type&&(eve.stop(),f(this.node,{rx:e,ry:e}))}))(-1),eve.on("snap.util.attr.textpath",(function(e){if(eve.stop(),"text"==this.type){var n,r,a;if(!e&&this.textPath){for(r=this.textPath;r.node.firstChild;)this.node.appendChild(r.node.firstChild);return r.remove(),void delete this.textPath}if(l(e,"string")){var o=s(this),i=u(o.parentNode).path(e);o.appendChild(i.node),n=i.id,i.attr({id:n})}else(e=u(e))instanceof t&&((n=e.attr("id"))||(n=e.id,e.attr({id:n})));if(n)if(r=this.textPath,a=this.node,r)r.attr({"xlink:href":"#"+n});else{for(r=f("textPath",{"xlink:href":"#"+n});a.firstChild;)r.appendChild(a.firstChild);a.appendChild(r),this.textPath=u(r)}}}))(-1),eve.on("snap.util.attr.text",(function(e){if("text"==this.type){for(var t=this.node;t.firstChild;)t.removeChild(t.firstChild);for(var n=function e(t){var n=f("tspan");if(l(t,"array"))for(var a=0;a<t.length;a++)n.appendChild(e(t[a]));else n.appendChild(r.doc.createTextNode(t));return n.normalize&&n.normalize(),n}(e);n.firstChild;)t.appendChild(n.firstChild)}eve.stop()}))(-1),eve.on("snap.util.attr.fontSize",g)(-1),eve.on("snap.util.attr.font-size",g)(-1),eve.on("snap.util.getattr.transform",(function(){return eve.stop(),this.transform()}))(-1),eve.on("snap.util.getattr.textpath",(function(){return eve.stop(),this.textPath}))(-1),function(){function t(t){return function(){eve.stop();var n=r.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue("marker-"+t);return"none"==n?n:e(r.doc.getElementById(n.match(c)[1]))}}function n(e){return function(t){eve.stop();var n="marker"+e.charAt(0).toUpperCase()+e.substring(1);if(""!=t&&t){if("marker"==t.type){var r=t.node.id;return r||f(t.node,{id:t.id}),void(this.node.style[n]=d(r))}}else this.node.style[n]="none"}}eve.on("snap.util.getattr.marker-end",t("end"))(-1),eve.on("snap.util.getattr.markerEnd",t("end"))(-1),eve.on("snap.util.getattr.marker-start",t("start"))(-1),eve.on("snap.util.getattr.markerStart",t("start"))(-1),eve.on("snap.util.getattr.marker-mid",t("mid"))(-1),eve.on("snap.util.getattr.markerMid",t("mid"))(-1),eve.on("snap.util.attr.marker-end",n("end"))(-1),eve.on("snap.util.attr.markerEnd",n("end"))(-1),eve.on("snap.util.attr.marker-start",n("start"))(-1),eve.on("snap.util.attr.markerStart",n("start"))(-1),eve.on("snap.util.attr.marker-mid",n("mid"))(-1),eve.on("snap.util.attr.markerMid",n("mid"))(-1)}(),eve.on("snap.util.getattr.r",(function(){if("rect"==this.type&&f(this.node,"rx")==f(this.node,"ry"))return eve.stop(),f(this.node,"rx")}))(-1),eve.on("snap.util.getattr.text",(function(){if("text"==this.type||"tspan"==this.type){eve.stop();var e=y(this.node);return 1==e.length?e[0]:e}}))(-1),eve.on("snap.util.getattr.#text",(function(){return this.node.textContent}))(-1),eve.on("snap.util.getattr.fill",(function(t){if(!t){eve.stop();var n=eve("snap.util.getattr.fill",this,!0).firstDefined();return e(e.deurl(n))||n}}))(-1),eve.on("snap.util.getattr.stroke",(function(t){if(!t){eve.stop();var n=eve("snap.util.getattr.stroke",this,!0).firstDefined();return e(e.deurl(n))||n}}))(-1),eve.on("snap.util.getattr.viewBox",(function(){eve.stop();var t=f(this.node,"viewBox");return t?(t=t.split(h),e._.box(+t[0],+t[1],+t[2],+t[3])):void 0}))(-1),eve.on("snap.util.getattr.points",(function(){var e=f(this.node,"points");return eve.stop(),e?e.split(h):void 0}))(-1),eve.on("snap.util.getattr.path",(function(){var e=f(this.node,"d");return eve.stop(),e}))(-1),eve.on("snap.util.getattr.class",(function(){return this.node.className.baseVal}))(-1),eve.on("snap.util.getattr.fontSize",b)(-1),eve.on("snap.util.getattr.font-size",b)(-1)})),a.plugin((function(e,t,n,r,a){var o=/\S+/g,i=String,u=t.prototype;u.addClass=function(e){var t,n,r,a=i(e||"").match(o)||[],u=this.node,l=u.className.baseVal,s=l.match(o)||[];if(a.length){for(t=0;n=a[t++];)~s.indexOf(n)||s.push(n);l!=(r=s.join(" "))&&(u.className.baseVal=r)}return this},u.removeClass=function(e){var t,n,r,a,u=i(e||"").match(o)||[],l=this.node,s=l.className.baseVal,c=s.match(o)||[];if(c.length){for(t=0;r=u[t++];)~(n=c.indexOf(r))&&c.splice(n,1);s!=(a=c.join(" "))&&(l.className.baseVal=a)}return this},u.hasClass=function(e){return!!~(this.node.className.baseVal.match(o)||[]).indexOf(e)},u.toggleClass=function(e,t){if(null!=t)return t?this.addClass(e):this.removeClass(e);var n,r,a,i,u=(e||"").match(o)||[],l=this.node,s=l.className.baseVal,c=s.match(o)||[];for(n=0;a=u[n++];)~(r=c.indexOf(a))?c.splice(r,1):c.push(a);return s!=(i=c.join(" "))&&(l.className.baseVal=i),this}})),a.plugin((function(e,t,n,r,a){var o={"+":function(e,t){return e+t},"-":function(e,t){return e-t},"/":function(e,t){return e/t},"*":function(e,t){return e*t}},i=String,u=/[a-z]+$/i,l=/^\s*([+\-\/*])\s*=\s*([\d.eE+\-]+)\s*([^\d\s]+)?\s*$/;function s(e){return e}function c(e){return function(t){return+t.toFixed(3)+e}}eve.on("snap.util.attr",(function(e){var t=i(e).match(l);if(t){var n=eve.nt(),r=n.substring(n.lastIndexOf(".")+1),a=this.attr(r),s={};eve.stop();var c=t[3]||"",f=a.match(u),d=o[t[1]];if(f&&f==c?e=d(parseFloat(a),+t[2]):(a=this.asPX(r),e=d(this.asPX(r),this.asPX(r,t[2]+c))),isNaN(a)||isNaN(e))return;s[r]=e,this.attr(s)}}))(-10),eve.on("snap.util.equal",(function(e,t){var n=i(this.attr(e)||""),r=i(t).match(l);if(r){eve.stop();var a=r[3]||"",f=n.match(u),d=o[r[1]];return f&&f==a?{from:parseFloat(n),to:d(parseFloat(n),+r[2]),f:c(f)}:{from:n=this.asPX(e),to:d(n,this.asPX(e,r[2]+a)),f:s}}}))(-10)})),a.plugin((function(e,t,n,r,a){var o=n.prototype,i=e.is;o.rect=function(e,t,n,r,a,o){var u;return null==o&&(o=a),i(e,"object")&&"[object Object]"==e?u=e:null!=e&&(u={x:e,y:t,width:n,height:r},null!=a&&(u.rx=a,u.ry=o)),this.el("rect",u)},o.circle=function(e,t,n){var r;return i(e,"object")&&"[object Object]"==e?r=e:null!=e&&(r={cx:e,cy:t,r:n}),this.el("circle",r)};var u=function(){function e(){this.parentNode.removeChild(this)}return function(t,n){var a=r.doc.createElement("img"),o=r.doc.body;a.style.cssText="position:absolute;left:-9999em;top:-9999em",a.onload=function(){n.call(a),a.onload=a.onerror=null,o.removeChild(a)},a.onerror=e,o.appendChild(a),a.src=t}}();o.image=function(t,n,r,a,o){var l=this.el("image");if(i(t,"object")&&"src"in t)l.attr(t);else if(null!=t){var s={"xlink:href":t,preserveAspectRatio:"none"};null!=n&&null!=r&&(s.x=n,s.y=r),null!=a&&null!=o?(s.width=a,s.height=o):u(t,(function(){e._.$(l.node,{width:this.offsetWidth,height:this.offsetHeight})})),e._.$(l.node,s)}return l},o.ellipse=function(e,t,n,r){var a;return i(e,"object")&&"[object Object]"==e?a=e:null!=e&&(a={cx:e,cy:t,rx:n,ry:r}),this.el("ellipse",a)},o.path=function(e){var t;return i(e,"object")&&!i(e,"array")?t=e:e&&(t={d:e}),this.el("path",t)},o.group=o.g=function(e){var t=this.el("g");return 1==arguments.length&&e&&!e.type?t.attr(e):arguments.length&&t.add(Array.prototype.slice.call(arguments,0)),t},o.svg=function(e,t,n,r,a,o,u,l){var s={};return i(e,"object")&&null==t?s=e:(null!=e&&(s.x=e),null!=t&&(s.y=t),null!=n&&(s.width=n),null!=r&&(s.height=r),null!=a&&null!=o&&null!=u&&null!=l&&(s.viewBox=[a,o,u,l])),this.el("svg",s)},o.mask=function(e){var t=this.el("mask");return 1==arguments.length&&e&&!e.type?t.attr(e):arguments.length&&t.add(Array.prototype.slice.call(arguments,0)),t},o.ptrn=function(e,t,n,r,a,o,u,l){if(i(e,"object"))var s=e;else s={patternUnits:"userSpaceOnUse"},e&&(s.x=e),t&&(s.y=t),null!=n&&(s.width=n),null!=r&&(s.height=r),s.viewBox=null!=a&&null!=o&&null!=u&&null!=l?[a,o,u,l]:[e||0,t||0,n||0,r||0];return this.el("pattern",s)},o.use=function(n){return null!=n?(n instanceof t&&(n.attr("id")||n.attr({id:e._.id(n)}),n=n.attr("id")),"#"==String(n).charAt()&&(n=n.substring(1)),this.el("use",{"xlink:href":"#"+n})):t.prototype.use.call(this)},o.symbol=function(e,t,n,r){var a={};return null!=e&&null!=t&&null!=n&&null!=r&&(a.viewBox=[e,t,n,r]),this.el("symbol",a)},o.text=function(e,t,n){var r={};return i(e,"object")?r=e:null!=e&&(r={x:e,y:t,text:n||""}),this.el("text",r)},o.line=function(e,t,n,r){var a={};return i(e,"object")?a=e:null!=e&&(a={x1:e,x2:n,y1:t,y2:r}),this.el("line",a)},o.polyline=function(e){arguments.length>1&&(e=Array.prototype.slice.call(arguments,0));var t={};return i(e,"object")&&!i(e,"array")?t=e:null!=e&&(t={points:e}),this.el("polyline",t)},o.polygon=function(e){arguments.length>1&&(e=Array.prototype.slice.call(arguments,0));var t={};return i(e,"object")&&!i(e,"array")?t=e:null!=e&&(t={points:e}),this.el("polygon",t)},function(){var t=e._.$;function n(){return this.selectAll("stop")}function r(n,r){var a=t("stop"),o={offset:+r+"%"};n=e.color(n),o["stop-color"]=n.hex,n.opacity<1&&(o["stop-opacity"]=n.opacity),t(a,o);for(var i,u=this.stops(),l=0;l<u.length;l++){if(parseFloat(u[l].attr("offset"))>r){this.node.insertBefore(a,u[l].node),i=!0;break}}return i||this.node.appendChild(a),this}function a(){if("linearGradient"==this.type){var n=t(this.node,"x1")||0,r=t(this.node,"x2")||1,a=t(this.node,"y1")||0,o=t(this.node,"y2")||0;return e._.box(n,a,math.abs(r-n),math.abs(o-a))}var i=this.node.cx||.5,u=this.node.cy||.5,l=this.node.r||0;return e._.box(i-l,u-l,2*l,2*l)}function i(t){var n=t,r=this.stops();if("string"==typeof t&&(n=eve("snap.util.grad.parse",null,"l(0,0,0,1)"+t).firstDefined().stops),e.is(n,"array")){for(var a=0;a<r.length;a++)if(n[a]){var o=e.color(n[a].color),i={offset:n[a].offset+"%"};i["stop-color"]=o.hex,o.opacity<1&&(i["stop-opacity"]=o.opacity),r[a].attr(i)}else r[a].remove();for(a=r.length;a<n.length;a++)this.addStop(n[a].color,n[a].offset);return this}}function u(o,u,l,s,c){var f=e._.make("linearGradient",o);return f.stops=n,f.addStop=r,f.getBBox=a,f.setStops=i,null!=u&&t(f.node,{x1:u,y1:l,x2:s,y2:c}),f}function l(o,i,u,l,s,c){var f=e._.make("radialGradient",o);return f.stops=n,f.addStop=r,f.getBBox=a,null!=i&&t(f.node,{cx:i,cy:u,r:l}),null!=s&&null!=c&&t(f.node,{fx:s,fy:c}),f}o.gradient=function(e){return function(e,n){var r,a=eve("snap.util.grad.parse",null,n).firstDefined();if(!a)return null;a.params.unshift(e),r="l"==a.type.toLowerCase()?u.apply(0,a.params):l.apply(0,a.params),a.type!=a.type.toLowerCase()&&t(r.node,{gradientUnits:"userSpaceOnUse"});for(var o=a.stops,i=o.length,s=0;s<i;s++){var c=o[s];r.addStop(c.color,c.offset)}return r}(this.defs,e)},o.gradientLinear=function(e,t,n,r){return u(this.defs,e,t,n,r)},o.gradientRadial=function(e,t,n,r,a){return l(this.defs,e,t,n,r,a)},o.toString=function(){var t,n=this.node.ownerDocument,r=n.createDocumentFragment(),a=n.createElement("div"),o=this.node.cloneNode(!0);return r.appendChild(a),a.appendChild(o),e._.$(o,{xmlns:"http://www.w3.org/2000/svg"}),t=a.innerHTML,r.removeChild(r.firstChild),t},o.toDataURL=function(){if(window&&window.btoa)return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(this)))},o.clear=function(){for(var e,t=this.node.firstChild;t;)e=t.nextSibling,"defs"!=t.tagName?t.parentNode.removeChild(t):o.clear.call({node:t}),t=e}}()})),a.plugin((function(e,t,n,r){var a=t.prototype,o=e.is,i=e._.clone,u=/,?([a-z]),?/gi,l=parseFloat,s=Math,c=s.PI,f=s.min,d=s.max,p=s.pow,h=s.abs;function m(e){var t=m.ps=m.ps||{};return t[e]?t[e].sleep=100:t[e]={sleep:100},setTimeout((function(){for(var n in t)t.hasOwnProperty(n)&&n!=e&&(t[n].sleep--,!t[n].sleep&&delete t[n])})),t[e]}function v(e,t,n,r){return null==e&&(e=t=n=r=0),null==t&&(t=e.y,n=e.width,r=e.height,e=e.x),{x:e,y:t,width:n,w:n,height:r,h:r,x2:e+n,y2:t+r,cx:e+n/2,cy:t+r/2,r1:s.min(n,r)/2,r2:s.max(n,r)/2,r0:s.sqrt(n*n+r*r)/2,path:A(e,t,n,r),vb:[e,t,n,r].join(" ")}}function g(){return this.join(",").replace(u,"$1")}function y(e){var t=i(e);return t.toString=g,t}function b(e,t,n,r,a,o,i,u,l){return null==l?P(e,t,n,r,a,o,i,u):C(e,t,n,r,a,o,i,u,function(e,t,n,r,a,o,i,u,l){if(l<0||P(e,t,n,r,a,o,i,u)<l)return;var s,c=1,f=c/2,d=c-f,p=.01;s=P(e,t,n,r,a,o,i,u,d);for(;h(s-l)>p;)s=P(e,t,n,r,a,o,i,u,d+=(s<l?1:-1)*(f/=2));return d}(e,t,n,r,a,o,i,u,l))}function x(n,r){function a(e){return+(+e).toFixed(3)}return e._.cacher((function(e,o,i){e instanceof t&&(e=e.attr("d"));for(var u,l,s,c,f,d="",p={},h=0,m=0,v=(e=H(e)).length;m<v;m++){if("M"==(s=e[m])[0])u=+s[1],l=+s[2];else{if(h+(c=b(u,l,s[1],s[2],s[3],s[4],s[5],s[6]))>o){if(r&&!p.start){if(d+=["C"+a((f=b(u,l,s[1],s[2],s[3],s[4],s[5],s[6],o-h)).start.x),a(f.start.y),a(f.m.x),a(f.m.y),a(f.x),a(f.y)],i)return d;p.start=d,d=["M"+a(f.x),a(f.y)+"C"+a(f.n.x),a(f.n.y),a(f.end.x),a(f.end.y),a(s[5]),a(s[6])].join(),h+=c,u=+s[5],l=+s[6];continue}if(!n&&!r)return f=b(u,l,s[1],s[2],s[3],s[4],s[5],s[6],o-h)}h+=c,u=+s[5],l=+s[6]}d+=s.shift()+s}return p.end=d,f=n?h:r?p:C(u,l,s[0],s[1],s[2],s[3],s[4],s[5],1)}),null,e._.clone)}var w=x(1),k=x(),O=x(0,1);function C(e,t,n,r,a,o,i,u,l){var f=1-l,d=p(f,3),h=p(f,2),m=l*l,v=m*l,g=e+2*l*(n-e)+m*(a-2*n+e),y=t+2*l*(r-t)+m*(o-2*r+t),b=n+2*l*(a-n)+m*(i-2*a+n),x=r+2*l*(o-r)+m*(u-2*o+r);return{x:d*e+3*h*l*n+3*f*l*l*a+v*i,y:d*t+3*h*l*r+3*f*l*l*o+v*u,m:{x:g,y:y},n:{x:b,y:x},start:{x:f*e+l*n,y:f*t+l*r},end:{x:f*a+l*i,y:f*o+l*u},alpha:90-180*s.atan2(g-b,y-x)/c}}function S(t,n,r,a,o,i,u,l){e.is(t,"array")||(t=[t,n,r,a,o,i,u,l]);var s=U.apply(null,t);return v(s.min.x,s.min.y,s.max.x-s.min.x,s.max.y-s.min.y)}function E(e,t,n){return t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function _(e,t){return e=v(e),E(t=v(t),e.x,e.y)||E(t,e.x2,e.y)||E(t,e.x,e.y2)||E(t,e.x2,e.y2)||E(e,t.x,t.y)||E(e,t.x2,t.y)||E(e,t.x,t.y2)||E(e,t.x2,t.y2)||(e.x<t.x2&&e.x>t.x||t.x<e.x2&&t.x>e.x)&&(e.y<t.y2&&e.y>t.y||t.y<e.y2&&t.y>e.y)}function F(e,t,n,r,a){return e*(e*(-3*t+9*n-9*r+3*a)+6*t-12*n+6*r)-3*t+3*n}function P(e,t,n,r,a,o,i,u,l){null==l&&(l=1);for(var c=(l=l>1?1:l<0?0:l)/2,f=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],d=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],p=0,h=0;h<12;h++){var m=c*f[h]+c,v=F(m,e,n,a,i),g=F(m,t,r,o,u),y=v*v+g*g;p+=d[h]*s.sqrt(y)}return c*p}function T(e,t,n,r,a,o,i,u){if(!(d(e,n)<f(a,i)||f(e,n)>d(a,i)||d(t,r)<f(o,u)||f(t,r)>d(o,u))){var l=(e-n)*(o-u)-(t-r)*(a-i);if(l){var s=((e*r-t*n)*(a-i)-(e-n)*(a*u-o*i))/l,c=((e*r-t*n)*(o-u)-(t-r)*(a*u-o*i))/l,p=+s.toFixed(2),h=+c.toFixed(2);if(!(p<+f(e,n).toFixed(2)||p>+d(e,n).toFixed(2)||p<+f(a,i).toFixed(2)||p>+d(a,i).toFixed(2)||h<+f(t,r).toFixed(2)||h>+d(t,r).toFixed(2)||h<+f(o,u).toFixed(2)||h>+d(o,u).toFixed(2)))return{x:s,y:c}}}}function M(e,t,n){if(!_(S(e),S(t)))return n?0:[];for(var r=~~(P.apply(0,e)/8),a=~~(P.apply(0,t)/8),o=[],i=[],u={},l=n?0:[],s=0;s<r+1;s++){var c=C.apply(0,e.concat(s/r));o.push({x:c.x,y:c.y,t:s/r})}for(s=0;s<a+1;s++)c=C.apply(0,t.concat(s/a)),i.push({x:c.x,y:c.y,t:s/a});for(s=0;s<r;s++)for(var f=0;f<a;f++){var d=o[s],p=o[s+1],m=i[f],v=i[f+1],g=h(p.x-d.x)<.001?"y":"x",y=h(v.x-m.x)<.001?"y":"x",b=T(d.x,d.y,p.x,p.y,m.x,m.y,v.x,v.y);if(b){if(u[b.x.toFixed(4)]==b.y.toFixed(4))continue;u[b.x.toFixed(4)]=b.y.toFixed(4);var x=d.t+h((b[g]-d[g])/(p[g]-d[g]))*(p.t-d.t),w=m.t+h((b[y]-m[y])/(v[y]-m[y]))*(v.t-m.t);x>=0&&x<=1&&w>=0&&w<=1&&(n?l++:l.push({x:b.x,y:b.y,t1:x,t2:w}))}}return l}function j(e,t,n){e=H(e),t=H(t);for(var r,a,o,i,u,l,s,c,f,d,p=n?0:[],h=0,m=e.length;h<m;h++){var v=e[h];if("M"==v[0])r=u=v[1],a=l=v[2];else{"C"==v[0]?(f=[r,a].concat(v.slice(1)),r=f[6],a=f[7]):(f=[r,a,r,a,u,l,u,l],r=u,a=l);for(var g=0,y=t.length;g<y;g++){var b=t[g];if("M"==b[0])o=s=b[1],i=c=b[2];else{"C"==b[0]?(d=[o,i].concat(b.slice(1)),o=d[6],i=d[7]):(d=[o,i,o,i,s,c,s,c],o=s,i=c);var x=M(f,d,n);if(n)p+=x;else{for(var w=0,k=x.length;w<k;w++)x[w].segment1=h,x[w].segment2=g,x[w].bez1=f,x[w].bez2=d;p=p.concat(x)}}}}}return p}function N(e){var t=m(e);if(t.bbox)return i(t.bbox);if(!e)return v();for(var n,r=0,a=0,o=[],u=[],l=0,s=(e=H(e)).length;l<s;l++)if("M"==(n=e[l])[0])r=n[1],a=n[2],o.push(r),u.push(a);else{var c=U(r,a,n[1],n[2],n[3],n[4],n[5],n[6]);o=o.concat(c.min.x,c.max.x),u=u.concat(c.min.y,c.max.y),r=n[5],a=n[6]}var p=f.apply(0,o),h=f.apply(0,u),g=v(p,h,d.apply(0,o)-p,d.apply(0,u)-h);return t.bbox=i(g),g}function A(e,t,n,r,a){if(a)return[["M",+e+ +a,t],["l",n-2*a,0],["a",a,a,0,0,1,a,a],["l",0,r-2*a],["a",a,a,0,0,1,-a,a],["l",2*a-n,0],["a",a,a,0,0,1,-a,-a],["l",0,2*a-r],["a",a,a,0,0,1,a,-a],["z"]];var o=[["M",e,t],["l",n,0],["l",0,r],["l",-n,0],["z"]];return o.toString=g,o}function I(e,t,n,r,a){if(null==a&&null==r&&(r=n),e=+e,t=+t,n=+n,r=+r,null!=a)var o=Math.PI/180,i=e+n*Math.cos(-r*o),u=e+n*Math.cos(-a*o),l=[["M",i,t+n*Math.sin(-r*o)],["A",n,n,0,+(a-r>180),0,u,t+n*Math.sin(-a*o)]];else l=[["M",e,t],["m",0,-r],["a",n,r,0,1,1,0,2*r],["a",n,r,0,1,1,0,-2*r],["z"]];return l.toString=g,l}var L=e._unit2px,D={path:function(e){return e.attr("path")},circle:function(e){var t=L(e);return I(t.cx,t.cy,t.r)},ellipse:function(e){var t=L(e);return I(t.cx||0,t.cy||0,t.rx,t.ry)},rect:function(e){var t=L(e);return A(t.x||0,t.y||0,t.width,t.height,t.rx,t.ry)},image:function(e){var t=L(e);return A(t.x||0,t.y||0,t.width,t.height)},line:function(e){return"M"+[e.attr("x1")||0,e.attr("y1")||0,e.attr("x2"),e.attr("y2")]},polyline:function(e){return"M"+e.attr("points")},polygon:function(e){return"M"+e.attr("points")+"z"},deflt:function(e){var t=e.node.getBBox();return A(t.x,t.y,t.width,t.height)}};function R(t){var n=m(t);if(n.abs)return y(n.abs);if(o(t,"array")&&o(t&&t[0],"array")||(t=e.parsePathString(t)),!t||!t.length)return[["M",0,0]];var r,a=[],i=0,u=0,l=0,s=0,c=0;"M"==t[0][0]&&(l=i=+t[0][1],s=u=+t[0][2],c++,a[0]=["M",i,u]);for(var f,d,p=3==t.length&&"M"==t[0][0]&&"R"==t[1][0].toUpperCase()&&"Z"==t[2][0].toUpperCase(),h=c,v=t.length;h<v;h++){if(a.push(f=[]),(r=(d=t[h])[0])!=r.toUpperCase())switch(f[0]=r.toUpperCase(),f[0]){case"A":f[1]=d[1],f[2]=d[2],f[3]=d[3],f[4]=d[4],f[5]=d[5],f[6]=+d[6]+i,f[7]=+d[7]+u;break;case"V":f[1]=+d[1]+u;break;case"H":f[1]=+d[1]+i;break;case"R":for(var b=[i,u].concat(d.slice(1)),x=2,w=b.length;x<w;x++)b[x]=+b[x]+i,b[++x]=+b[x]+u;a.pop(),a=a.concat(W(b,p));break;case"O":a.pop(),(b=I(i,u,d[1],d[2])).push(b[0]),a=a.concat(b);break;case"U":a.pop(),a=a.concat(I(i,u,d[1],d[2],d[3])),f=["U"].concat(a[a.length-1].slice(-2));break;case"M":l=+d[1]+i,s=+d[2]+u;default:for(x=1,w=d.length;x<w;x++)f[x]=+d[x]+(x%2?i:u)}else if("R"==r)b=[i,u].concat(d.slice(1)),a.pop(),a=a.concat(W(b,p)),f=["R"].concat(d.slice(-2));else if("O"==r)a.pop(),(b=I(i,u,d[1],d[2])).push(b[0]),a=a.concat(b);else if("U"==r)a.pop(),a=a.concat(I(i,u,d[1],d[2],d[3])),f=["U"].concat(a[a.length-1].slice(-2));else for(var k=0,O=d.length;k<O;k++)f[k]=d[k];if("O"!=(r=r.toUpperCase()))switch(f[0]){case"Z":i=+l,u=+s;break;case"H":i=f[1];break;case"V":u=f[1];break;case"M":l=f[f.length-2],s=f[f.length-1];default:i=f[f.length-2],u=f[f.length-1]}}return a.toString=g,n.abs=y(a),a}function z(e,t,n,r){return[e,t,n,r,n,r]}function V(e,t,n,r,a,o){var i=1/3,u=2/3;return[i*e+u*n,i*t+u*r,i*a+u*n,i*o+u*r,a,o]}function B(t,n,r,a,o,i,u,l,f,d){var p,m=120*c/180,v=c/180*(+o||0),g=[],y=e._.cacher((function(e,t,n){return{x:e*s.cos(n)-t*s.sin(n),y:e*s.sin(n)+t*s.cos(n)}}));if(!r||!a)return[t,n,l,f,l,f];if(d)_=d[0],F=d[1],S=d[2],E=d[3];else{t=(p=y(t,n,-v)).x,n=p.y,l=(p=y(l,f,-v)).x,f=p.y;s.cos(c/180*o),s.sin(c/180*o);var b=(t-l)/2,x=(n-f)/2,w=b*b/(r*r)+x*x/(a*a);w>1&&(r*=w=s.sqrt(w),a*=w);var k=r*r,O=a*a,C=(i==u?-1:1)*s.sqrt(h((k*O-k*x*x-O*b*b)/(k*x*x+O*b*b))),S=C*r*x/a+(t+l)/2,E=C*-a*b/r+(n+f)/2,_=s.asin(((n-E)/a).toFixed(9)),F=s.asin(((f-E)/a).toFixed(9));(_=t<S?c-_:_)<0&&(_=2*c+_),(F=l<S?c-F:F)<0&&(F=2*c+F),u&&_>F&&(_-=2*c),!u&&F>_&&(F-=2*c)}var P=F-_;if(h(P)>m){var T=F,M=l,j=f;F=_+m*(u&&F>_?1:-1),g=B(l=S+r*s.cos(F),f=E+a*s.sin(F),r,a,o,0,u,M,j,[F,T,S,E])}P=F-_;var N=s.cos(_),A=s.sin(_),I=s.cos(F),L=s.sin(F),D=s.tan(P/4),R=4/3*r*D,z=4/3*a*D,V=[t,n],U=[t+R*A,n-z*N],H=[l+R*L,f-z*I],W=[l,f];if(U[0]=2*V[0]-U[0],U[1]=2*V[1]-U[1],d)return[U,H,W].concat(g);for(var $=[],q=0,Y=(g=[U,H,W].concat(g).join().split(",")).length;q<Y;q++)$[q]=q%2?y(g[q-1],g[q],v).y:y(g[q],g[q+1],v).x;return $}function U(e,t,n,r,a,o,i,u){for(var l,c,p,m,v,g,y,b,x=[],w=[[],[]],k=0;k<2;++k)if(0==k?(c=6*e-12*n+6*a,l=-3*e+9*n-9*a+3*i,p=3*n-3*e):(c=6*t-12*r+6*o,l=-3*t+9*r-9*o+3*u,p=3*r-3*t),h(l)<1e-12){if(h(c)<1e-12)continue;0<(m=-p/c)&&m<1&&x.push(m)}else y=c*c-4*p*l,b=s.sqrt(y),y<0||(0<(v=(-c+b)/(2*l))&&v<1&&x.push(v),0<(g=(-c-b)/(2*l))&&g<1&&x.push(g));for(var O,C=x.length,S=C;C--;)O=1-(m=x[C]),w[0][C]=O*O*O*e+3*O*O*m*n+3*O*m*m*a+m*m*m*i,w[1][C]=O*O*O*t+3*O*O*m*r+3*O*m*m*o+m*m*m*u;return w[0][S]=e,w[1][S]=t,w[0][S+1]=i,w[1][S+1]=u,w[0].length=w[1].length=S+2,{min:{x:f.apply(0,w[0]),y:f.apply(0,w[1])},max:{x:d.apply(0,w[0]),y:d.apply(0,w[1])}}}function H(e,t){var n=!t&&m(e);if(!t&&n.curve)return y(n.curve);for(var r=R(e),a=t&&R(t),o={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},u=function(e,t,n){var r,a;if(!e)return["C",t.x,t.y,t.x,t.y,t.x,t.y];switch(!(e[0]in{T:1,Q:1})&&(t.qx=t.qy=null),e[0]){case"M":t.X=e[1],t.Y=e[2];break;case"A":e=["C"].concat(B.apply(0,[t.x,t.y].concat(e.slice(1))));break;case"S":"C"==n||"S"==n?(r=2*t.x-t.bx,a=2*t.y-t.by):(r=t.x,a=t.y),e=["C",r,a].concat(e.slice(1));break;case"T":"Q"==n||"T"==n?(t.qx=2*t.x-t.qx,t.qy=2*t.y-t.qy):(t.qx=t.x,t.qy=t.y),e=["C"].concat(V(t.x,t.y,t.qx,t.qy,e[1],e[2]));break;case"Q":t.qx=e[1],t.qy=e[2],e=["C"].concat(V(t.x,t.y,e[1],e[2],e[3],e[4]));break;case"L":e=["C"].concat(z(t.x,t.y,e[1],e[2]));break;case"H":e=["C"].concat(z(t.x,t.y,e[1],t.y));break;case"V":e=["C"].concat(z(t.x,t.y,t.x,e[1]));break;case"Z":e=["C"].concat(z(t.x,t.y,t.X,t.Y))}return e},s=function(e,t){if(e[t].length>7){e[t].shift();for(var n=e[t];n.length;)f[t]="A",a&&(p[t]="A"),e.splice(t++,0,["C"].concat(n.splice(0,6)));e.splice(t,1),b=d(r.length,a&&a.length||0)}},c=function(e,t,n,o,i){e&&t&&"M"==e[i][0]&&"M"!=t[i][0]&&(t.splice(i,0,["M",o.x,o.y]),n.bx=0,n.by=0,n.x=e[i][1],n.y=e[i][2],b=d(r.length,a&&a.length||0))},f=[],p=[],h="",v="",g=0,b=d(r.length,a&&a.length||0);g<b;g++){r[g]&&(h=r[g][0]),"C"!=h&&(f[g]=h,g&&(v=f[g-1])),r[g]=u(r[g],o,v),"A"!=f[g]&&"C"==h&&(f[g]="C"),s(r,g),a&&(a[g]&&(h=a[g][0]),"C"!=h&&(p[g]=h,g&&(v=p[g-1])),a[g]=u(a[g],i,v),"A"!=p[g]&&"C"==h&&(p[g]="C"),s(a,g)),c(r,a,o,i,g),c(a,r,i,o,g);var x=r[g],w=a&&a[g],k=x.length,O=a&&w.length;o.x=x[k-2],o.y=x[k-1],o.bx=l(x[k-4])||o.x,o.by=l(x[k-3])||o.y,i.bx=a&&(l(w[O-4])||i.x),i.by=a&&(l(w[O-3])||i.y),i.x=a&&w[O-2],i.y=a&&w[O-1]}return a||(n.curve=y(r)),a?[r,a]:r}function W(e,t){for(var n=[],r=0,a=e.length;a-2*!t>r;r+=2){var o=[{x:+e[r-2],y:+e[r-1]},{x:+e[r],y:+e[r+1]},{x:+e[r+2],y:+e[r+3]},{x:+e[r+4],y:+e[r+5]}];t?r?a-4==r?o[3]={x:+e[0],y:+e[1]}:a-2==r&&(o[2]={x:+e[0],y:+e[1]},o[3]={x:+e[2],y:+e[3]}):o[0]={x:+e[a-2],y:+e[a-1]}:a-4==r?o[3]=o[2]:r||(o[0]={x:+e[r],y:+e[r+1]}),n.push(["C",(-o[0].x+6*o[1].x+o[2].x)/6,(-o[0].y+6*o[1].y+o[2].y)/6,(o[1].x+6*o[2].x-o[3].x)/6,(o[1].y+6*o[2].y-o[3].y)/6,o[2].x,o[2].y])}return n}e.path=m,e.path.getTotalLength=w,e.path.getPointAtLength=k,e.path.getSubpath=function(e,t,n){if(this.getTotalLength(e)-n<1e-6)return O(e,t).end;var r=O(e,n,1);return t?O(r,t).end:r},a.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()},a.getPointAtLength=function(e){return k(this.attr("d"),e)},a.getSubpath=function(t,n){return e.path.getSubpath(this.attr("d"),t,n)},e._.box=v,e.path.findDotsAtSegment=C,e.path.bezierBBox=S,e.path.isPointInsideBBox=E,e.closest=function(t,n,r,a){for(var o=100,i=v(t-o/2,n-o/2,o,o),u=[],l=r[0].hasOwnProperty("x")?function(e){return{x:r[e].x,y:r[e].y}}:function(e){return{x:r[e],y:a[e]}},s=0;o<=1e6&&!s;){for(var c=0,f=r.length;c<f;c++){var d=l(c);if(E(i,d.x,d.y)){s++,u.push(d);break}}s||(i=v(t-(o*=2)/2,n-o/2,o,o))}if(1e6!=o){var p,h=1/0;for(c=0,f=u.length;c<f;c++){var m=e.len(t,n,u[c].x,u[c].y);h>m&&(h=m,u[c].len=m,p=u[c])}return p}},e.path.isBBoxIntersect=_,e.path.intersection=function(e,t){return j(e,t)},e.path.intersectionNumber=function(e,t){return j(e,t,1)},e.path.isPointInside=function(e,t,n){var r=N(e);return E(r,t,n)&&j(e,[["M",t,n],["H",r.x2+10]],1)%2==1},e.path.getBBox=N,e.path.get=D,e.path.toRelative=function(t){var n=m(t),r=String.prototype.toLowerCase;if(n.rel)return y(n.rel);e.is(t,"array")&&e.is(t&&t[0],"array")||(t=e.parsePathString(t));var a=[],o=0,i=0,u=0,l=0,s=0;"M"==t[0][0]&&(u=o=t[0][1],l=i=t[0][2],s++,a.push(["M",o,i]));for(var c=s,f=t.length;c<f;c++){var d=a[c]=[],p=t[c];if(p[0]!=r.call(p[0]))switch(d[0]=r.call(p[0]),d[0]){case"a":d[1]=p[1],d[2]=p[2],d[3]=p[3],d[4]=p[4],d[5]=p[5],d[6]=+(p[6]-o).toFixed(3),d[7]=+(p[7]-i).toFixed(3);break;case"v":d[1]=+(p[1]-i).toFixed(3);break;case"m":u=p[1],l=p[2];default:for(var h=1,v=p.length;h<v;h++)d[h]=+(p[h]-(h%2?o:i)).toFixed(3)}else{d=a[c]=[],"m"==p[0]&&(u=p[1]+o,l=p[2]+i);for(var b=0,x=p.length;b<x;b++)a[c][b]=p[b]}var w=a[c].length;switch(a[c][0]){case"z":o=u,i=l;break;case"h":o+=+a[c][w-1];break;case"v":i+=+a[c][w-1];break;default:o+=+a[c][w-2],i+=+a[c][w-1]}}return a.toString=g,n.rel=y(a),a},e.path.toAbsolute=R,e.path.toCubic=H,e.path.map=function(e,t){if(!t)return e;var n,r,a,o,i,u,l;for(a=0,i=(e=H(e)).length;a<i;a++)for(o=1,u=(l=e[a]).length;o<u;o+=2)n=t.x(l[o],l[o+1]),r=t.y(l[o],l[o+1]),l[o]=n,l[o+1]=r;return e},e.path.toString=g,e.path.clone=y})),a.plugin((function(e,t,n,a){var o=Math.max,i=Math.min,u=function(e){if(this.items=[],this.bindings={},this.length=0,this.type="set",e)for(var t=0,n=e.length;t<n;t++)e[t]&&(this[this.items.length]=this.items[this.items.length]=e[t],this.length++)},l=u.prototype;l.push=function(){for(var e,t,n=0,r=arguments.length;n<r;n++)(e=arguments[n])&&(this[t=this.items.length]=this.items[t]=e,this.length++);return this},l.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},l.forEach=function(e,t){for(var n=0,r=this.items.length;n<r;n++)if(!1===e.call(t,this.items[n],n))return this;return this},l.animate=function(t,n,a,o){"function"!=typeof a||a.length||(o=a,a=r.linear),t instanceof e._.Animation&&(o=t.callback,a=t.easing,n=a.dur,t=t.attr);var i=arguments;if(e.is(t,"array")&&e.is(i[i.length-1],"array"))var u=!0;var l,s=function(){l?this.b=l:l=this.b},c=0,f=this,d=o&&function(){++c==f.length&&o.call(this)};return this.forEach((function(e,r){eve.once("snap.animcreated."+e.id,s),u?i[r]&&e.animate.apply(e,i[r]):e.animate(t,n,a,d)}))},l.remove=function(){for(;this.length;)this.pop().remove();return this},l.bind=function(e,t,n){var r={};if("function"==typeof t)this.bindings[e]=t;else{var a=n||e;this.bindings[e]=function(e){r[a]=e,t.attr(r)}}return this},l.attr=function(e){var t={};for(var n in e)this.bindings[n]?this.bindings[n](e[n]):t[n]=e[n];for(var r=0,a=this.items.length;r<a;r++)this.items[r].attr(t);return this},l.clear=function(){for(;this.length;)this.pop()},l.splice=function(e,t,n){e=e<0?o(this.length+e,0):e,t=o(0,i(this.length-e,t));var r,a=[],l=[],s=[];for(r=2;r<arguments.length;r++)s.push(arguments[r]);for(r=0;r<t;r++)l.push(this[e+r]);for(;r<this.length-e;r++)a.push(this[e+r]);var c=s.length;for(r=0;r<c+a.length;r++)this.items[e+r]=this[e+r]=r<c?s[r]:a[r-c];for(r=this.items.length=this.length-=t-c;this[r];)delete this[r++];return new u(l)},l.exclude=function(e){for(var t=0,n=this.length;t<n;t++)if(this[t]==e)return this.splice(t,1),!0;return!1},l.insertAfter=function(e){for(var t=this.items.length;t--;)this.items[t].insertAfter(e);return this},l.getBBox=function(){for(var e=[],t=[],n=[],r=[],a=this.items.length;a--;)if(!this.items[a].removed){var u=this.items[a].getBBox();e.push(u.x),t.push(u.y),n.push(u.x+u.width),r.push(u.y+u.height)}return{x:e=i.apply(0,e),y:t=i.apply(0,t),x2:n=o.apply(0,n),y2:r=o.apply(0,r),width:n-e,height:r-t,cx:e+(n-e)/2,cy:t+(r-t)/2}},l.clone=function(e){e=new u;for(var t=0,n=this.items.length;t<n;t++)e.push(this.items[t].clone());return e},l.toString=function(){return"Snap\u2018s set"},l.type="set",e.Set=u,e.set=function(){var e=new u;return arguments.length&&e.push.apply(e,Array.prototype.slice.call(arguments,0)),e}})),a.plugin((function(e,t,n,r){var a={},o=/[%a-z]+$/i,i=String;function u(e){var t=e[0];switch(t.toLowerCase()){case"t":return[t,0,0];case"m":return[t,1,0,0,1,0,0];case"r":return 4==e.length?[t,0,e[2],e[3]]:[t,0];case"s":return 5==e.length?[t,1,1,e[3],e[4]]:3==e.length?[t,1,1]:[t,1]}}function l(e){return e}function s(e){return e.join(" ")}function c(t){return e.rgb(t[0],t[1],t[2],t[3])}function f(e){var t,n,r,a,o,i,u=0,l=[];for(t=0,n=e.length;t<n;t++){for(o="[",i=['"'+e[t][0]+'"'],r=1,a=e[t].length;r<a;r++)i[r]="val["+u+++"]";o+=i+"]",l[t]=o}return Function("val","return Snap.path.toString.call(["+l+"])")}function d(e){for(var t=[],n=0,r=e.length;n<r;n++)for(var a=1,o=e[n].length;a<o;a++)t.push(e[n][a]);return t}function p(e){return isFinite(e)}a.stroke=a.fill="colour",t.prototype.equal=function(e,t){return eve("snap.util.equal",this,e,t).firstDefined()},eve.on("snap.util.equal",(function(t,n){var r,h,m=i(this.attr(t)||""),v=this;if("colour"==a[t])return r=e.color(m),h=e.color(n),{from:[r.r,r.g,r.b,r.opacity],to:[h.r,h.g,h.b,h.opacity],f:c};if("viewBox"==t)return{from:r=this.attr(t).vb.split(" ").map(Number),to:h=n.split(" ").map(Number),f:s};if("transform"==t||"gradientTransform"==t||"patternTransform"==t)return"string"==typeof n&&(n=i(n).replace(/\.{3}|\u2026/g,m)),function(t,n,r){t=t||new e.Matrix,n=n||new e.Matrix,t=e.parseTransformString(t.toTransformString())||[],n=e.parseTransformString(n.toTransformString())||[];for(var a,o,i,l,s=Math.max(t.length,n.length),c=[],p=[],h=0;h<s;h++){if(i=t[h]||u(n[h]),l=n[h]||u(i),i[0]!=l[0]||"r"==i[0].toLowerCase()&&(i[2]!=l[2]||i[3]!=l[3])||"s"==i[0].toLowerCase()&&(i[3]!=l[3]||i[4]!=l[4])){t=e._.transform2matrix(t,r()),n=e._.transform2matrix(n,r()),c=[["m",t.a,t.b,t.c,t.d,t.e,t.f]],p=[["m",n.a,n.b,n.c,n.d,n.e,n.f]];break}for(c[h]=[],p[h]=[],a=0,o=Math.max(i.length,l.length);a<o;a++)a in i&&(c[h][a]=i[a]),a in l&&(p[h][a]=l[a])}return{from:d(c),to:d(p),f:f(c)}}(m=this.matrix,n=e._.rgTransform.test(n)?e._.transform2matrix(n,this.getBBox()):e._.transform2matrix(e._.svgTransform2string(n),this.getBBox()),(function(){return v.getBBox(1)}));if("d"==t||"path"==t)return{from:d((r=e.path.toCubic(m,n))[0]),to:d(r[1]),f:f(r[0])};if("points"==t)return{from:r=i(m).split(e._.separator),to:h=i(n).split(e._.separator),f:function(e){return e}};if(p(m)&&p(n))return{from:parseFloat(m),to:parseFloat(n),f:l};var g,y,b,x=m.match(o),w=i(n).match(o);return x&&(y=x,b=w,e.is(y,"array")&&e.is(b,"array")&&y.toString()==b.toString())?{from:parseFloat(m),to:parseFloat(n),f:(g=x,function(e){return+e.toFixed(3)+g})}:{from:this.asPX(t),to:this.asPX(t,n),f:l}}))})),a.plugin((function(e,t,n,r){for(var a=t.prototype,o=("createTouch"in r.doc),i=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup","touchstart","touchmove","touchend","touchcancel"],u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},l=function(e,t){var n="y"==e?"scrollTop":"scrollLeft",a=t&&t.node?t.node.ownerDocument:r.doc;return a[n in a.documentElement?"documentElement":"body"][n]},s=function(){return this.originalEvent.preventDefault()},c=function(){return this.originalEvent.stopPropagation()},f=function(e,t,n,r){var a=o&&u[t]?u[t]:t,i=function(a){var i=l("y",r),f=l("x",r);if(o&&u.hasOwnProperty(t))for(var d=0,p=a.targetTouches&&a.targetTouches.length;d<p;d++)if(a.targetTouches[d].target==e||e.contains(a.targetTouches[d].target)){var h=a;(a=a.targetTouches[d]).originalEvent=h,a.preventDefault=s,a.stopPropagation=c;break}var m=a.clientX+f,v=a.clientY+i;return n.call(r,a,m,v)};return t!==a&&e.addEventListener(t,i,!1),e.addEventListener(a,i,!1),function(){return t!==a&&e.removeEventListener(t,i,!1),e.removeEventListener(a,i,!1),!0}},d=[],p=function(e){for(var t,n=e.clientX,r=e.clientY,a=l("y"),i=l("x"),u=d.length;u--;){if(t=d[u],o){for(var s,c=e.touches&&e.touches.length;c--;)if((s=e.touches[c]).identifier==t.el._drag.id||t.el.node.contains(s.target)){n=s.clientX,r=s.clientY,(e.originalEvent?e.originalEvent:e).preventDefault();break}}else e.preventDefault();var f=t.el.node;f.nextSibling,f.parentNode,f.style.display;n+=i,r+=a,eve("snap.drag.move."+t.el.id,t.move_scope||t.el,n-t.el._drag.x,r-t.el._drag.y,n,r,e)}},h=function t(n){e.unmousemove(p).unmouseup(t);for(var r,a=d.length;a--;)(r=d[a]).el._drag={},eve("snap.drag.end."+r.el.id,r.end_scope||r.start_scope||r.move_scope||r.el,n),eve.off("snap.drag.*."+r.el.id);d=[]},m=i.length;m--;)!function(t){e[t]=a[t]=function(n,r){if(e.is(n,"function"))this.events=this.events||[],this.events.push({name:t,f:n,unbind:f(this.node||document,t,n,r||this)});else for(var a=0,o=this.events.length;a<o;a++)if(this.events[a].name==t)try{this.events[a].f.call(this)}catch(i){}return this},e["un"+t]=a["un"+t]=function(e){for(var n=this.events||[],r=n.length;r--;)if(n[r].name==t&&(n[r].f==e||!e))return n[r].unbind(),n.splice(r,1),!n.length&&delete this.events,this;return this}}(i[m]);a.hover=function(e,t,n,r){return this.mouseover(e,n).mouseout(t,r||n)},a.unhover=function(e,t){return this.unmouseover(e).unmouseout(t)};var v=[];a.drag=function(t,n,r,a,o,i){var u,l=this;if(!arguments.length)return l.drag((function(e,t){this.attr({transform:u+(u?"T":"t")+[e,t]})}),(function(){u=this.transform().local}));function s(u,s,c){(u.originalEvent||u).preventDefault(),l._drag.x=s,l._drag.y=c,l._drag.id=u.identifier,!d.length&&e.mousemove(p).mouseup(h),d.push({el:l,move_scope:a,start_scope:o,end_scope:i}),n&&eve.on("snap.drag.start."+l.id,n),t&&eve.on("snap.drag.move."+l.id,t),r&&eve.on("snap.drag.end."+l.id,r),eve("snap.drag.start."+l.id,o||a||l,s,c,u)}function c(e,t,n){eve("snap.draginit."+l.id,l,e,t,n)}return eve.on("snap.draginit."+l.id,s),l._drag={},v.push({el:l,start:s,init:c}),l.mousedown(c),l},a.undrag=function(){for(var t=v.length;t--;)v[t].el==this&&(this.unmousedown(v[t].init),v.splice(t,1),eve.unbind("snap.drag.*."+this.id),eve.unbind("snap.draginit."+this.id));return!v.length&&e.unmousemove(p).unmouseup(h),this}})),a.plugin((function(e,t,n,r){t.prototype;var a=n.prototype,o=/^\s*url\((.+)\)/,i=String,u=e._.$;e.filter={},a.filter=function(n){var r=this;"svg"!=r.type&&(r=r.paper);var a=e.parse(i(n)),o=e._.id(),l=(r.node.offsetWidth,r.node.offsetHeight,u("filter"));return u(l,{id:o,filterUnits:"userSpaceOnUse"}),l.appendChild(a.node),r.defs.appendChild(l),new t(l)},eve.on("snap.util.getattr.filter",(function(){eve.stop();var t=u(this.node,"filter");if(t){var n=i(t).match(o);return n&&e.select(n[1])}})),eve.on("snap.util.attr.filter",(function(n){if(n instanceof t&&"filter"==n.type){eve.stop();var r=n.node.id;r||(u(n.node,{id:n.id}),r=n.id),u(this.node,{filter:e.url(r)})}n&&"none"!=n||(eve.stop(),this.node.removeAttribute("filter"))})),e.filter.blur=function(t,n){null==t&&(t=2);var r=null==n?t:[t,n];return e.format('<feGaussianBlur stdDeviation="{def}"/>',{def:r})},e.filter.blur.toString=function(){return this()},e.filter.shadow=function(t,n,r,a,o){return null==o&&(null==a?(o=r,r=4,a="#000"):(o=a,a=r,r=4)),null==r&&(r=4),null==o&&(o=1),null==t&&(t=0,n=2),null==n&&(n=t),a=e.color(a),e.format('<feGaussianBlur in="SourceAlpha" stdDeviation="{blur}"/><feOffset dx="{dx}" dy="{dy}" result="offsetblur"/><feFlood flood-color="{color}"/><feComposite in2="offsetblur" operator="in"/><feComponentTransfer><feFuncA type="linear" slope="{opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>',{color:a,dx:t,dy:n,blur:r,opacity:o})},e.filter.shadow.toString=function(){return this()},e.filter.grayscale=function(t){return null==t&&(t=1),e.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0"/>',{a:.2126+.7874*(1-t),b:.7152-.7152*(1-t),c:.0722-.0722*(1-t),d:.2126-.2126*(1-t),e:.7152+.2848*(1-t),f:.0722-.0722*(1-t),g:.2126-.2126*(1-t),h:.0722+.9278*(1-t)})},e.filter.grayscale.toString=function(){return this()},e.filter.sepia=function(t){return null==t&&(t=1),e.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0"/>',{a:.393+.607*(1-t),b:.769-.769*(1-t),c:.189-.189*(1-t),d:.349-.349*(1-t),e:.686+.314*(1-t),f:.168-.168*(1-t),g:.272-.272*(1-t),h:.534-.534*(1-t),i:.131+.869*(1-t)})},e.filter.sepia.toString=function(){return this()},e.filter.saturate=function(t){return null==t&&(t=1),e.format('<feColorMatrix type="saturate" values="{amount}"/>',{amount:1-t})},e.filter.saturate.toString=function(){return this()},e.filter.hueRotate=function(t){return t=t||0,e.format('<feColorMatrix type="hueRotate" values="{angle}"/>',{angle:t})},e.filter.hueRotate.toString=function(){return this()},e.filter.invert=function(t){return null==t&&(t=1),e.format('<feComponentTransfer><feFuncR type="table" tableValues="{amount} {amount2}"/><feFuncG type="table" tableValues="{amount} {amount2}"/><feFuncB type="table" tableValues="{amount} {amount2}"/></feComponentTransfer>',{amount:t,amount2:1-t})},e.filter.invert.toString=function(){return this()},e.filter.brightness=function(t){return null==t&&(t=1),e.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}"/><feFuncG type="linear" slope="{amount}"/><feFuncB type="linear" slope="{amount}"/></feComponentTransfer>',{amount:t})},e.filter.brightness.toString=function(){return this()},e.filter.contrast=function(t){return null==t&&(t=1),e.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}" intercept="{amount2}"/><feFuncG type="linear" slope="{amount}" intercept="{amount2}"/><feFuncB type="linear" slope="{amount}" intercept="{amount2}"/></feComponentTransfer>',{amount:t,amount2:.5-t/2})},e.filter.contrast.toString=function(){return this()}})),a.plugin((function(e,t,n,r,a){var o=e._.box,i=e.is,u=/^[^a-z]*([tbmlrc])/i,l=function(){return"T"+this.dx+","+this.dy};t.prototype.getAlign=function(e,t){null==t&&i(e,"string")&&(t=e,e=null);var n=(e=e||this.paper).getBBox?e.getBBox():o(e),r=this.getBBox(),a={};switch(t=(t=t&&t.match(u))?t[1].toLowerCase():"c"){case"t":a.dx=0,a.dy=n.y-r.y;break;case"b":a.dx=0,a.dy=n.y2-r.y2;break;case"m":a.dx=0,a.dy=n.cy-r.cy;break;case"l":a.dx=n.x-r.x,a.dy=0;break;case"r":a.dx=n.x2-r.x2,a.dy=0;break;default:a.dx=n.cx-r.cx,a.dy=0}return a.toString=l,a},t.prototype.align=function(e,t){return this.transform("..."+this.getAlign(e,t))}})),a.plugin((function(e,t,n,a,o){var i=t.prototype,u=e.is,l=String,s="hasOwnProperty";function c(e,t,n){return function(r){var a=r.slice(e,t);return 1==a.length&&(a=a[0]),n?n(a):a}}var f=function(e,t,n,a){"function"!=typeof n||n.length||(a=n,n=r.linear),this.attr=e,this.dur=t,n&&(this.easing=n),a&&(this.callback=a)};e._.Animation=f,e.animation=function(e,t,n,r){return new f(e,t,n,r)},i.inAnim=function(){var e=this,t=[];for(var n in e.anims)e.anims[s](n)&&function(e){t.push({anim:new f(e._attrs,e.dur,e.easing,e._callback),mina:e,curStatus:e.status(),status:function(t){return e.status(t)},stop:function(){e.stop()}})}(e.anims[n]);return t},e.animate=function(e,t,n,a,o,i){"function"!=typeof o||o.length||(i=o,o=r.linear);var u=r.time(),l=r(e,t,u,u+a,r.time,n,o);return i&&eve.once("mina.finish."+l.id,i),l},i.stop=function(){for(var e=this.inAnim(),t=0,n=e.length;t<n;t++)e[t].stop();return this},i.animate=function(e,t,n,a){"function"!=typeof n||n.length||(a=n,n=r.linear),e instanceof f&&(a=e.callback,n=e.easing,t=e.dur,e=e.attr);var o,i,d,p,h=[],m=[],v={},g=this;for(var y in e)if(e[s](y)){g.equal?(o=(p=g.equal(y,l(e[y]))).from,i=p.to,d=p.f):(o=+g.attr(y),i=+e[y]);var b=u(o,"array")?o.length:1;v[y]=c(h.length,h.length+b,d),h=h.concat(o),m=m.concat(i)}var x=r.time(),w=r(h,m,x,x+t,r.time,(function(e){var t={};for(var n in v)v[s](n)&&(t[n]=v[n](e));g.attr(t)}),n);return g.anims[w.id]=w,w._attrs=e,w._callback=a,eve("snap.animcreated."+g.id,w),eve.once("mina.finish."+w.id,(function(){eve.off("mina.*."+w.id),delete g.anims[w.id],a&&a.call(g)})),eve.once("mina.stop."+w.id,(function(){eve.off("mina.*."+w.id),delete g.anims[w.id]})),g}})),a.plugin((function(e,t,n,r){function a(e){e=e.split(/(?=#)/);var t=new String(e[5]);return t[50]=e[0],t[100]=e[1],t[200]=e[2],t[300]=e[3],t[400]=e[4],t[500]=e[5],t[600]=e[6],t[700]=e[7],t[800]=e[8],t[900]=e[9],e[10]&&(t.A100=e[10],t.A200=e[11],t.A400=e[12],t.A700=e[13]),t}e.mui={},e.flat={},e.mui.red=a("#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000"),e.mui.pink=a("#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162"),e.mui.purple=a("#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF"),e.mui.deeppurple=a("#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA"),e.mui.indigo=a("#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE"),e.mui.blue=a("#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF"),e.mui.lightblue=a("#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA"),e.mui.cyan=a("#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4"),e.mui.teal=a("#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5"),e.mui.green=a("#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853"),e.mui.lightgreen=a("#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17"),e.mui.lime=a("#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00"),e.mui.yellow=a("#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600"),e.mui.amber=a("#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00"),e.mui.orange=a("#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00"),e.mui.deeporange=a("#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00"),e.mui.brown=a("#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723"),e.mui.grey=a("#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121"),e.mui.bluegrey=a("#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238"),e.flat.turquoise="#1abc9c",e.flat.greensea="#16a085",e.flat.sunflower="#f1c40f",e.flat.orange="#f39c12",e.flat.emerland="#2ecc71",e.flat.nephritis="#27ae60",e.flat.carrot="#e67e22",e.flat.pumpkin="#d35400",e.flat.peterriver="#3498db",e.flat.belizehole="#2980b9",e.flat.alizarin="#e74c3c",e.flat.pomegranate="#c0392b",e.flat.amethyst="#9b59b6",e.flat.wisteria="#8e44ad",e.flat.clouds="#ecf0f1",e.flat.silver="#bdc3c7",e.flat.wetasphalt="#34495e",e.flat.midnightblue="#2c3e50",e.flat.concrete="#95a5a6",e.flat.asbestos="#7f8c8d",e.importMUIColors=function(){for(var t in e.mui)e.mui.hasOwnProperty(t)&&(window[t]=e.mui[t])}})),e.exports=a},function(e,t,n){var r;!function(n){var a,o,i="0.5.4",u="hasOwnProperty",l=/[\.\/]/,s=/\s*,\s*/,c=function(e,t){return e-t},f={n:{}},d=function(){for(var e=0,t=this.length;e<t;e++)if("undefined"!=typeof this[e])return this[e]},p=function(){for(var e=this.length;--e;)if("undefined"!=typeof this[e])return this[e]},h=Object.prototype.toString,m=String,v=Array.isArray||function(e){return e instanceof Array||"[object Array]"==h.call(e)},g=function e(t,n){var r,i=o,u=Array.prototype.slice.call(arguments,2),l=e.listeners(t),s=0,f=[],h={},m=[],v=a;m.firstDefined=d,m.lastDefined=p,a=t,o=0;for(var g=0,y=l.length;g<y;g++)"zIndex"in l[g]&&(f.push(l[g].zIndex),l[g].zIndex<0&&(h[l[g].zIndex]=l[g]));for(f.sort(c);f[s]<0;)if(r=h[f[s++]],m.push(r.apply(n,u)),o)return o=i,m;for(g=0;g<y;g++)if("zIndex"in(r=l[g]))if(r.zIndex==f[s]){if(m.push(r.apply(n,u)),o)break;do{if((r=h[f[++s]])&&m.push(r.apply(n,u)),o)break}while(r)}else h[r.zIndex]=r;else if(m.push(r.apply(n,u)),o)break;return o=i,a=v,m};g._events=f,g.listeners=function(e){var t,n,r,a,o,i,u,s,c=v(e)?e:e.split(l),d=f,p=[d],h=[];for(a=0,o=c.length;a<o;a++){for(s=[],i=0,u=p.length;i<u;i++)for(n=[(d=p[i].n)[c[a]],d["*"]],r=2;r--;)(t=n[r])&&(s.push(t),h=h.concat(t.f||[]));p=s}return h},g.separator=function(e){e?(e="["+(e=m(e).replace(/(?=[\.\^\]\[\-])/g,"\\"))+"]",l=new RegExp(e)):l=/[\.\/]/},g.on=function(e,t){if("function"!=typeof t)return function(){};for(var n=v(e)?v(e[0])?e:[e]:m(e).split(s),r=0,a=n.length;r<a;r++)!function(e){for(var n,r=v(e)?e:m(e).split(l),a=f,o=0,i=r.length;o<i;o++)a=(a=a.n).hasOwnProperty(r[o])&&a[r[o]]||(a[r[o]]={n:{}});for(a.f=a.f||[],o=0,i=a.f.length;o<i;o++)if(a.f[o]==t){n=!0;break}!n&&a.f.push(t)}(n[r]);return function(e){+e==+e&&(t.zIndex=+e)}},g.f=function(e){var t=[].slice.call(arguments,1);return function(){g.apply(null,[e,null].concat(t).concat([].slice.call(arguments,0)))}},g.stop=function(){o=1},g.nt=function(e){var t=v(a)?a.join("."):a;return e?new RegExp("(?:\\.|\\/|^)"+e+"(?:\\.|\\/|$)").test(t):t},g.nts=function(){return v(a)?a:a.split(l)},g.off=g.unbind=function(e,t){if(e){var n=v(e)?v(e[0])?e:[e]:m(e).split(s);if(n.length>1)for(var r=0,a=n.length;r<a;r++)g.off(n[r],t);else{n=v(e)?e:m(e).split(l);var o,i,c,d,p,h=[f],y=[];for(r=0,a=n.length;r<a;r++)for(d=0;d<h.length;d+=c.length-2){if(c=[d,1],o=h[d].n,"*"!=n[r])o[n[r]]&&(c.push(o[n[r]]),y.unshift({n:o,name:n[r]}));else for(i in o)o[u](i)&&(c.push(o[i]),y.unshift({n:o,name:i}));h.splice.apply(h,c)}for(r=0,a=h.length;r<a;r++)for(o=h[r];o.n;){if(t){if(o.f){for(d=0,p=o.f.length;d<p;d++)if(o.f[d]==t){o.f.splice(d,1);break}!o.f.length&&delete o.f}for(i in o.n)if(o.n[u](i)&&o.n[i].f){var b=o.n[i].f;for(d=0,p=b.length;d<p;d++)if(b[d]==t){b.splice(d,1);break}!b.length&&delete o.n[i].f}}else for(i in delete o.f,o.n)o.n[u](i)&&o.n[i].f&&delete o.n[i].f;o=o.n}e:for(r=0,a=y.length;r<a;r++){for(i in(o=y[r]).n[o.name].f)continue e;for(i in o.n[o.name].n)continue e;delete o.n[o.name]}}}else g._events=f={n:{}}},g.once=function(e,t){return g.on(e,(function n(){return g.off(e,n),t.apply(this,arguments)}))},g.version=i,g.toString=function(){return"You are running Eve 0.5.4"},n.eve=g,e.exports?e.exports=g:void 0===(r=function(){return g}.apply(t,[]))||(e.exports=r)}("undefined"!=typeof window?window:this)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(31)),o=r(n(12)),i=n(32),u={svg:{lib:a.default,pathInitial:"M-7.312,0H0c0,0,0,113.839,0,400c0,264.506,0,400,0,400h-7.312V0z",pathOpen:"M-7.312,0H15c0,0,66,113.339,66,399.5C81,664.006,15,800,15,800H-7.312V0z;M-7.312,0H100c0,0,0,113.839,0,400c0,264.506,0,400,0,400H-7.312V0z",animate:function(e){var t=0,n=this.pathOpen.split(";"),r=n.length,a=window.mina;!function o(){t>r-1||(e.animate({path:n[t]},0===t?400:500,0===t?a.easein:a.elastic,(function(){o()})),t++)}()}},morphShape:function(e,t,n){return{position:"absolute",width:"100%",height:"100%",right:n?"inherit":0,left:n?0:"inherit",MozTransform:n?"rotateY(180deg)":"rotateY(0deg)",MsTransform:n?"rotateY(180deg)":"rotateY(0deg)",OTransform:n?"rotateY(180deg)":"rotateY(0deg)",WebkitTransform:n?"rotateY(180deg)":"rotateY(0deg)",transform:n?"rotateY(180deg)":"rotateY(0deg)"}},menuWrap:function(e,t,n){return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:e?"transform 0.4s 0s":"transform 0.4s"}},menu:function(e,t,n){var r=(0,i.pxToNum)(t)-140;return{position:"fixed",MozTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",MsTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",OTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",WebkitTransform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transform:e?"":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transition:e?"opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}},item:function(e,t,n,r){var a=(0,i.pxToNum)(t)-140;return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",transition:e?"opacity 0.3s 0.4s, transform 0.3s 0.4s":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}},closeButton:function(e,t,n){var r=(0,i.pxToNum)(t)-140;return{MozTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",OTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transform:e?"translate3d(0, 0, 0)":n?"translate3d("+r+", 0, 0)":"translate3d(-"+r+", 0, 0)",transition:e?"opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}}};t.default=(0,o.default)(u),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s"}},outerContainer:function(e){return{overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",transform:e?"":n?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",transformOrigin:n?"100% 50%":"0% 50%",transformStyle:"preserve-3d",transition:"all 0.5s"}},outerContainer:function(e){return{perspective:"1500px",overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t){return{MozTransform:e?"":"translate3d(0, 0, -"+t+")",MsTransform:e?"":"translate3d(0, 0, -"+t+")",OTransform:e?"":"translate3d(0, 0, -"+t+")",WebkitTransform:e?"":"translate3d(0, 0, -"+t+")",transform:e?"":"translate3d(0, 0, -"+t+")",transformOrigin:"100%",transformStyle:"preserve-3d",transition:"all 0.5s"}},outerContainer:function(){return{perspective:"1500px"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",MsTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",OTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",WebkitTransform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",transform:e?"":n?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",transformStyle:"preserve-3d",transition:"all 0.5s",overflow:e?"":"hidden"}},outerContainer:function(e){return{perspective:"1500px",overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({menuWrap:function(e){return{MozTransform:e?"":"translate3d(0, -100%, 0)",MsTransform:e?"":"translate3d(0, -100%, 0)",OTransform:e?"":"translate3d(0, -100%, 0)",WebkitTransform:e?"":"translate3d(0, -100%, 0)",transform:e?"":"translate3d(0, -100%, 0)",transition:"all 0.5s ease-in-out"}},pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s"}},outerContainer:function(e){return{perspective:"1500px",perspectiveOrigin:"0% 50%",overflow:e?"":"hidden"}}}),e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(12),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,o.default)({menuWrap:function(e,t,n){return{MozTransform:"translate3d(0, 0, 0)",MsTransform:"translate3d(0, 0, 0)",OTransform:"translate3d(0, 0, 0)",WebkitTransform:"translate3d(0, 0, 0)",transform:"translate3d(0, 0, 0)",zIndex:e?1e3:-1}},overlay:function(e,t,n){return{zIndex:1400,MozTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",MsTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",OTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",WebkitTransform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",transform:e?n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",transition:"all 0.5s",visibility:e?"visible":"hidden"}},pageWrap:function(e,t,n){return{MozTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":n?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s",zIndex:1200,position:"relative"}},burgerIcon:function(e,t,n){return{MozTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",MsTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",OTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",WebkitTransform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",transform:e?n?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",transition:"all 0.1s",position:"relative",zIndex:1300}},outerContainer:function(e){return{overflow:e?"":"hidden"}}}),e.exports=t.default}]]); +//# sourceMappingURL=2.c5f15404.chunk.js.map \ No newline at end of file diff --git a/backend/static/react/js/2.92bb91cc.chunk.js.LICENSE.txt b/backend/static/react/js/2.c5f15404.chunk.js.LICENSE.txt similarity index 100% rename from backend/static/react/js/2.92bb91cc.chunk.js.LICENSE.txt rename to backend/static/react/js/2.c5f15404.chunk.js.LICENSE.txt diff --git a/backend/static/react/js/2.c5f15404.chunk.js.map b/backend/static/react/js/2.c5f15404.chunk.js.map new file mode 100644 index 0000000000000000000000000000000000000000..364d1022edefb1d9a9fabfc5d9d0176ef3cc6cb8 --- /dev/null +++ b/backend/static/react/js/2.c5f15404.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../../modules/HistoryContext.js","../../modules/createNameContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/react-burger-menu/lib/menuFactory.js","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-dom/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../src/Enum.js","../../src/Utility.js","../../src/Tokenizer.js","../../src/Parser.js","../../src/Prefixer.js","../../src/Serializer.js","../../src/Middleware.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-a8309070.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-select/dist/index-4bd03571.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/Select-dbb12e54.esm.js","../node_modules/react-select/dist/stateManager-845a3300.esm.js","../node_modules/react-select/dist/react-select.esm.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/utils/isCheckBoxInput.ts","../../src/utils/isNullOrUndefined.ts","../../src/utils/isObject.ts","../../src/logic/getNodeParentName.ts","../../src/logic/isNameInFieldArray.ts","../../src/utils/compact.ts","../../src/utils/isUndefined.ts","../../src/utils/get.ts","../../src/constants.ts","../../src/utils/omit.ts","../../src/useFormContext.tsx","../../src/logic/getProxyFormState.ts","../../src/utils/isEmptyObject.ts","../../src/logic/shouldRenderFormState.ts","../../src/utils/convertToArrayPayload.ts","../../src/utils/isWeb.ts","../../src/utils/isProxyEnabled.ts","../../src/logic/appendErrors.ts","../../src/utils/isKey.ts","../../src/utils/stringToPath.ts","../../src/utils/set.ts","../../src/logic/focusFieldBy.ts","../../src/logic/getFieldsValues.ts","../../src/utils/isPrimitive.ts","../../src/utils/deepEqual.ts","../../src/utils/deepMerge.ts","../../src/logic/setFieldArrayDirtyFields.ts","../../src/utils/isString.ts","../../src/utils/remove.ts","../../src/utils/isBoolean.ts","../../src/utils/unset.ts","../../src/utils/isFileInput.ts","../../src/utils/isMultipleSelect.ts","../../src/utils/isRadioInput.ts","../../src/logic/getCheckboxValue.ts","../../src/logic/getFieldValueAs.ts","../../src/logic/getRadioValue.ts","../../src/logic/getFieldValue.ts","../../src/logic/getMultipleSelectValue.ts","../../src/logic/getResolverOptions.ts","../../src/logic/hasValidation.ts","../../src/logic/skipValidation.ts","../../src/utils/isFunction.ts","../../src/utils/isMessage.ts","../../src/utils/isRegex.ts","../../src/logic/getValidateError.ts","../../src/logic/getValueAndMessage.ts","../../src/logic/validateField.ts","../../src/utils/getValidationModes.ts","../../src/utils/isHTMLElement.ts","../../src/utils/isRadioOrCheckbox.ts","../../src/utils/Subject.ts","../../src/useForm.ts","../node_modules/object-assign/index.js","../node_modules/react-input-autosize/lib/AutosizeInput.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/react-is/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/react-burger-menu/lib/helpers/snapsvgImporter.js","../node_modules/react-burger-menu/lib/helpers/utils.js","../node_modules/react-burger-menu/lib/BurgerMenu.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/webpack/buildin/global.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/react-burger-menu/lib/menus/slide.js","../node_modules/react-burger-menu/lib/helpers/baseStyles.js","../node_modules/react-burger-menu/lib/helpers/dom.js","../node_modules/react-burger-menu/lib/components/BurgerIcon.js","../node_modules/react-burger-menu/lib/components/CrossIcon.js","../node_modules/react-burger-menu/lib/menus/stack.js","../node_modules/react-burger-menu/lib/menus/elastic.js","../node_modules/snapsvg-cjs/dist/snap.svg-cjs.js","../node_modules/eve/eve.js","../node_modules/react-burger-menu/lib/menus/bubble.js","../node_modules/react-burger-menu/lib/menus/push.js","../node_modules/react-burger-menu/lib/menus/pushRotate.js","../node_modules/react-burger-menu/lib/menus/scaleDown.js","../node_modules/react-burger-menu/lib/menus/scaleRotate.js","../node_modules/react-burger-menu/lib/menus/fallDown.js","../node_modules/react-burger-menu/lib/menus/reveal.js"],"names":["module","exports","require","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_slicedToArray","arr","Array","isArray","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","err","unsupportedIterableToArray","TypeError","React","Component","HashRouter","history","createHistory","render","children","props","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","innerRef","navigate","onClick","rest","event","ex","isModifiedEvent","forwardedRef","Link","component","replace","RouterContext","context","location","href","method","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","style","toLocation","path","escapedPath","match","matchPath","classnames","joinClassnames","historyContext","name","createContext","createNamedContext","Router","computeRootMatch","url","params","isExact","pathname","componentDidMount","_pendingLocation","componentWillUnmount","unlisten","state","staticContext","HistoryContext","cache","cacheCount","options","concat","matched","cacheKey","pathCache","keys","result","regexp","pathToRegexp","compilePath","end","values","memo","Route","addLeadingSlash","stripBasename","basename","base","createURL","createPath","staticHandler","methodName","invariant","noop","Switch","child","element","computedMatch","useContext","useHistory","useParams","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","_inheritsLoose","subClass","superClass","create","constructor","prefix","condition","message","Error","isAbsolute","charAt","spliceOne","list","index","k","n","pop","resolvePathname","from","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","last","up","part","unshift","join","substr","valueOf","obj","valueEqual","a","b","every","item","aValue","bValue","stripLeadingSlash","toLowerCase","indexOf","hasBasename","stripTrailingSlash","slice","search","hash","hashIndex","searchIndex","parsePath","decodeURI","e","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","listener","notifyListeners","_len","_key","canUseDOM","window","document","createElement","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","ua","navigator","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","sliceIterator","_interopRequireDefault","__esModule","_react2","_propTypes2","_helpersBaseStyles2","_helpersDom","_componentsBurgerIcon2","_componentsCrossIcon2","styles","ARROW_DOWN","ARROW_UP","Menu","_React$useState","useState","_React$useState2","isOpen","setIsOpen","timeoutId","useRef","toggleOptions","prevIsOpenProp","ref","useEffect","current","usePrevious","toggleMenu","applyWrapperStyles","setTimeout","open","close","onClose","getStyle","width","right","getStyles","el","inline","propName","toUpperCase","output","noTransition","transition","handleExternalWrapper","id","wrapperStyles","set","wrapper","getElementById","builtStyles","prop","applyOverflow","htmlClassName","bodyClassName","console","applyClass","classList","pageWrap","pageWrapId","outerContainer","outerContainerId","menuWrap","removeAttribute","setAttribute","clearCurrentTimeout","clearTimeout","onKeyDownOpen","disableCloseOnEsc","focusOnMenuButton","focusOnNextMenuItem","focusOnPreviousMenuItem","focusOnFirstMenuItem","focusOnLastMenuItem","onKeyDownClosed","focusOnLastItem","noStateChange","svg","morphShape","lib","select","animate","attr","pathInitial","_toggleOptions$current","onStateChange","disableAutoFocus","activeElement","blur","body","defaultOnKeyDown","onKeyDown","customOnKeyDown","noOverlay","overlayClassName","trim","disableOverlayClick","customBurgerIcon","onOpen","customIcon","burgerButtonClassName","barClassName","burgerBarClassName","onIconStateChange","morphShapeClassName","height","viewBox","preserveAspectRatio","d","menuClassName","itemListElement","itemListClassName","Children","extraProps","itemClassName","tabIndex","cloneElement","customCrossIcon","crossButtonClassName","crossClassName","propTypes","string","oneOfType","oneOf","func","bool","onIconHoverChange","isRequired","number","defaultProps","_objectWithoutPropertiesLoose","excluded","sourceKeys","_defineProperty","configurable","writable","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","_unsupportedIterableToArray","o","minLen","test","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","type","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","getOwnPropertyNames","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","_arrayLikeToArray","len","arr2","_setPrototypeOf","p","setPrototypeOf","__proto__","StyleSheet","_this","_insertTag","tag","before","tags","prepend","container","firstChild","nextSibling","insertBefore","isSpeedy","speedy","ctr","nonce","_proto","hydrate","nodes","insert","rule","appendChild","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","process","flush","parentNode","removeChild","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","abs","String","fromCharCode","pattern","replacement","indexof","charat","charCodeAt","begin","strlen","sizeof","append","array","combine","line","column","position","character","characters","node","root","parent","return","copy","prev","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","x","y","z","serialize","stringify","rulesheet","memoize","getRules","parsed","toRules","fixedElements","WeakMap","compat","isImplicitRule","get","parentRules","removeLabel","defaultStylisPlugins","exec","createCache","ssrStyles","querySelectorAll","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","registered","getRegisteredStyles","registeredStyles","classNames","rawClassName","insertStyles","isStringTag","murmur2","str","h","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","hashString","EmotionCacheContext","HTMLElement","CacheProvider","Provider","withEmotionCache","ThemeContext","typePropName","createEmotionProps","newProps","Emotion","cssProp","css","jsx","argsLength","createElementArgArray","cls","toAdd","merge","ClassNames","content","cx","_len2","_key2","theme","ele","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_typeof","_classCallCheck","instance","Constructor","_defineProperties","_createClass","protoProps","staticProps","_inherits","_getPrototypeOf","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","Super","NewTarget","applyPrefixToName","cleanValue","Boolean","cleanCommonProps","clearValue","getValue","hasValue","isMulti","isRtl","selectOption","selectProps","setValue","isDocumentElement","documentElement","getScrollTop","pageYOffset","scrollTop","scrollTo","top","easeOutCubic","t","c","animatedScrollTo","duration","start","change","increment","currentTime","animateScroll","val","requestAnimationFrame","isTouchCapable","createEvent","passiveOptionAccessed","w","supportsPassiveEvents","getMenuPlacement","maxHeight","menuEl","minHeight","placement","shouldScroll","isFixedPosition","spacing","scrollParent","getComputedStyle","excludeStaticParent","overflowRx","docEl","parentElement","overflow","overflowY","overflowX","getScrollParent","defaultState","offsetParent","scrollHeight","getBoundingClientRect","_menuEl$getBoundingCl","menuBottom","bottom","menuHeight","menuTop","containerTop","viewHeight","innerHeight","marginBottom","parseInt","marginTop","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","scrollDuration","_constrainedHeight","spaceAbove","controlHeight","_constrainedHeight2","coercePlacement","PortalPlacementContext","getPortalPlacement","MenuPlacer","_Component","_super","maxMenuHeight","getPlacement","_this$props","minMenuHeight","menuPlacement","menuPosition","menuShouldScrollIntoView","getUpdatedProps","placerProps","noticeCSS","_ref5","_ref5$theme","baseUnit","color","colors","neutral40","padding","textAlign","noOptionsMessageCSS","loadingMessageCSS","NoOptionsMessage","innerProps","LoadingMessage","_templateObject","MenuPortal","_Component2","_super2","_this2","_ref7","_this$props2","appendTo","controlElement","isFixed","rect","left","getBoundingClientObj","scrollDistance","menuWrapper","createPortal","_ref2","Svg","focusable","CrossIcon","DownChevron","baseCSS","_ref3","isFocused","_ref3$theme","label","neutral60","neutral20","display","neutral80","dropdownIndicatorCSS","clearIndicatorCSS","loadingDotAnimations","insertable","keyframes","freeze","LoadingDot","_ref6","delay","css$2","animation","backgroundColor","borderRadius","marginLeft","verticalAlign","LoadingIndicator","indicator","inputStyle","isHidden","background","border","fontSize","outline","MultiValueGeneric","_ref4","MultiValueContainer","MultiValueLabel","MultiValue","components","data","isDisabled","removeProps","Container","Label","Remove","emotionCx","cropWithEllipsis","ClearIndicator","Control","menuIsOpen","control","DropdownIndicator","Group","Heading","headingProps","group","GroupHeading","_cleanCommonProps","IndicatorsContainer","indicators","IndicatorSeparator","Input","AutosizeInput","input","inputRef","disabled","menu","MenuList","MultiValueRemove","Option","isSelected","option","Placeholder","placeholder","SelectContainer","SingleValue","ValueContainer","_toConsumableArray","iter","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","first","second","memoizeOne","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","A11yText","defaultAriaLiveMessages","guidance","isSearchable","tabSelectsValue","onChange","_props$label","onFocus","_props$focused","focused","_props$label2","selectValue","getArrayIndex","status","onFilter","inputValue","resultsMessage","LiveRegion","ariaSelection","focusedOption","focusedValue","focusableOptions","ariaLiveMessages","getOptionLabel","isOptionDisabled","screenReaderStatus","ariaLabel","ariaLive","messages","useMemo","ariaSelected","removedValue","selected","onChangeProps","ariaFocused","focusMsg","includes","onFocusProps","ariaResults","resultsMsg","ariaGuidance","guidanceMsg","ariaContext","Fragment","diacritics","letters","anyDiacritic","RegExp","diacriticToBase","diacritic","stripDiacritics","memoizedStripDiacriticsForInput","trimString","defaultStringify","DummyInput","in","out","onExited","appear","enter","exit","emotion","transform","STYLE_KEYS","LOCK_STYLES","boxSizing","preventTouchMove","preventDefault","allowTouchMove","stopPropagation","preventInertiaScroll","totalScroll","currentScroll","offsetHeight","isTouchDevice","maxTouchPoints","activeScrollLocks","listenerOptions","capture","passive","blurSelectInput","ScrollManager","lockEnabled","_ref$captureEnabled","captureEnabled","setScrollCaptureTarget","isEnabled","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","isBottom","isTop","touchStart","scrollTarget","handleEventDelta","useCallback","_scrollTarget$current","clientHeight","isDeltaPositive","availableScroll","shouldCancelScroll","cancelScroll","onWheel","deltaY","onTouchStart","changedTouches","clientY","onTouchMove","startListening","notPassive","stopListening","useScrollCapture","setScrollLockTarget","_ref$accountForScroll","accountForScrollbars","originalStyles","addScrollLock","touchScrollTarget","targetStyle","currentPadding","paddingRight","clientWidth","adjustedPadding","innerWidth","removeScrollLock","useScrollLock","defaultStyles","clearIndicator","direction","pointerEvents","_ref$theme","alignItems","neutral5","neutral0","borderColor","neutral10","primary","borderStyle","borderWidth","boxShadow","flexWrap","justifyContent","neutral30","dropdownIndicator","paddingBottom","paddingTop","groupHeading","paddingLeft","textTransform","indicatorsContainer","alignSelf","indicatorSeparator","_ref4$theme","margin","visibility","loadingIndicator","marginRight","loadingMessage","_ref2$theme","_defineProperty$1","alignToControl","menuGutter","menuList","WebkitOverflowScrolling","menuPortal","multiValue","minWidth","multiValueLabel","textOverflow","whiteSpace","multiValueRemove","dangerLight","danger","noOptionsMessage","primary25","userSelect","WebkitTapHighlightColor","primary50","neutral50","singleValue","maxWidth","valueContainer","config","defaultTheme","primary75","neutral70","neutral90","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","matchFrom","candidate","formatGroupLabel","getOptionValue","isLoading","menuShouldBlockScroll","isMobileDevice","openMenuOnFocus","openMenuOnClick","pageSize","toCategorizedOption","_isOptionDisabled","_isOptionSelected","getOptionLabel$1","getOptionValue$1","buildCategorizedOptions","groupOrOption","groupOrOptionIndex","categorizedOptions","optionIndex","categorizedOption","isFocusable","buildFocusableOptionsFromCategorizedOptions","reduce","optionsAccumulator","_props$inputValue","shouldHideSelectedOptions","_filterOption","isOptionSelected","some","hideSelectedOptions","instanceId","Select","inputIsHidden","clearFocusValueOnUpdate","inputIsHiddenAfterUpdate","prevProps","blockOptionHover","isComposing","commonProps","initialTouchX","initialTouchY","instancePrefix","openAfterFocus","scrollToFocusedOptionOnUpdate","userIsDragging","controlRef","getControlRef","focusedOptionRef","getFocusedOptionRef","menuListRef","getMenuListRef","getInputRef","focus","focusInput","blurInput","newValue","actionMeta","ariaOnChange","onInputChange","onMenuClose","_this$props3","deselected","removeValue","newValueArray","removedValues","popValue","lastSelectedValue","classNamePrefix","custom","getElementId","getComponents","getCategorizedOptions","buildFocusableOptions","getFocusableOptions","onMenuMouseDown","button","onMenuMouseMove","onControlMouseDown","tagName","openMenu","onDropdownIndicatorMouseDown","_this$props4","onClearIndicatorMouseDown","onScroll","onCompositionStart","onCompositionEnd","touches","touch","clientX","deltaX","onTouchEnd","contains","onControlTouchEnd","onClearIndicatorTouchEnd","onDropdownIndicatorTouchEnd","handleInputChange","currentTarget","onMenuOpen","onInputFocus","onInputBlur","onBlur","onOptionHover","_this$props5","isClearable","_this$state","defaultPrevented","focusValue","shiftKey","keyCode","focusOption","startListeningComposition","startListeningToTouch","autoFocus","_this$props6","focusedEl","menuRect","focusedRect","overScroll","offsetTop","scrollIntoView","stopListeningComposition","stopListeningToTouch","_this$state2","openAtIndex","selectedIndex","_this$state3","focusedIndex","nextFocus","getTheme","_this$props7","formatOptionLabel","_this$props8","inputId","form","ariaAttributes","autoCapitalize","autoComplete","autoCorrect","spellCheck","readOnly","_this3","_this$getComponents2","_this$props9","_this$state4","opt","isOptionFocused","onMouseDown","_this$props10","_this$props11","_this$getComponents5","_this4","_this$getComponents7","_this$props12","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","onHover","onSelect","optionId","onMouseMove","onMouseOver","hasOptions","groupIndex","groupId","headingId","_message","menuPlacementProps","menuElement","_ref4$placerProps","scrollTargetRef","_this5","_this$props13","_value","_this$state5","_this$getComponents8","_this$props14","getCommonProps","renderLiveRegion","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","newMenuOptionsState","nextSelectValue","lastFocusedIndex","getNextFocusedValue","lastFocusedOption","getNextFocusedOption","newInputIsHiddenState","defaultInputValue","defaultMenuIsOpen","defaultValue","SelectComponent","_class","_temp","StateManager","callProp","getProp","manageState","_createForOfIteratorHelper","allowArrayLike","it","F","s","f","normalCompletion","didErr","step","_e2","arrayLikeToArray","isObjectType","isNullOrUndefined","names","getNodeParentName","isObject","compact","isUndefined","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","FormContext","isProxyEnabled","formState","readFormStateRef","localReadFormStateRef","isRoot","formStateData","omit","isEmptyObject","find","isWeb","validateAllFieldCriteria","errors","types","tempPath","isKey","stringToPath","objValue","focusFieldBy","fields","fieldsNames","field","_f","refs","getFieldsValues","fieldsRef","deepEqual","object1","object2","isErrorObject","isPrimitive","keys1","keys2","val1","val2","deepMerge","targetValue","sourceValue","setDirtyFields","defaultValues","dirtyFields","parentName","unset","previousObjRef","updatePath","childObject","baseGet","objectRef","currentPaths","currentPathsLength","isBoolean","defaultResult","isValid","validResult","checked","attributes","valueAsNumber","valueAsDate","setValueAs","NaN","defaultReturn","getFieldValue","isFileInput","files","isRadioInput","getRadioValue","isMultipleSelect","isCheckBox","getCheckboxValue","getFieldValueAs","fieldsRefs","criteriaMode","mounted","required","maxLength","minLength","validate","isOnBlur","isOnChange","isOnTouch","isTouched","isReValidateOnBlur","isReValidateOnChange","isBlurEvent","isSubmitted","isOnAll","isString","getValidateError","validationData","isRegex","mount","isRadio","isCheckBoxInput","isRadioOrCheckbox","isEmpty","appendErrorsCurry","bind","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","getValueAndMessage","maxOutput","minOutput","valueDate","exceedMin","valueNumber","parseFloat","maxLengthOutput","minLengthOutput","patternValue","validateRef","isFunction","validateError","validationResult","validateFunction","validateResult","mode","isOnSubmit","tearDowns","tearDown","teardown","observer","subscription","closed","add","observers","subscriber","isWindowUndefined","useForm","reValidateMode","resolver","shouldFocusError","shouldUnregister","isDirty","isValidating","submitCount","touchedFields","isSubmitting","isSubmitSuccessful","updateFormState","formStateRef","defaultValuesRef","fieldArrayDefaultValuesRef","contextRef","inFieldArrayActionRef","isMountedRef","subjectsRef","watch","namesRef","Set","unMount","watchAll","validationMode","getValidationModes","isValidateAllFieldCriteria","isFieldWatched","has","shouldRenderBaseOnError","shouldSkipRender","inputState","isValidFromResolver","isWatched","previousError","validateForm","updatedFormState","setFieldValue","rawValue","shouldRender","shouldRegister","register","isHTMLElement","radioRef","selectRef","checkboxRef","shouldDirty","shouldTouch","updateTouchAndDirtyState","shouldValidate","trigger","getIsDirty","formValues","isCurrentTouched","isChanged","previousIsDirty","isPreviousFieldDirty","isCurrentFieldDirty","isPreviousFieldTouched","executeInlineValidation","skipReRender","validateField","executeResolverValidation","shouldCheckValid","valid","fieldError","fieldNames","convertToArrayPayload","schemaResult","all","fieldName","shouldFocus","updateIsValid","updateIsValidAndInputValue","isValueUndefined","defaultChecked","setInternalValues","inputKey","isFieldArray","isReset","setFieldArrayDirtyFields","getValues","handleChange","inputType","shouldSkipValidation","hasValidation","skipValidation","parentNodeName","currentError","clearErrors","inputName","setError","watchInternal","isGlobal","isArrayNames","fieldValues","subscribe","unregister","delete","keepError","keepValue","keepDirty","keepTouched","keepDefaultValue","keepIsValid","registerFieldRef","isRadioOrCheckboxFunction","shouldUnmount","handleSubmit","onValid","onInvalid","persist","hasNoPromiseError","registerAbsentFields","FileList","reset","keepStateOptions","updatedValues","keepValues","closest","keepDefaultValues","keepSubmitCount","keepIsSubmitted","keepErrors","setFocus","formStateSubscription","shouldRenderFormState","useFieldArraySubscription","unsubscribe","isLiveInDom","getProxyFormState","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","_react","default","sizerStyle","INPUT_PROPS_BLACKLIST","copyStyles","fontFamily","fontStyle","letterSpacing","isIE","generateId","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","inputWidth","prevId","copyInputStyles","updateInputWidth","prevState","onAutosize","inputStyles","scrollWidth","newInputWidth","placeholderIsMinWidth","extraWidth","injectStyles","dangerouslySetInnerHTML","__html","sizerValue","previousValue","currentValue","wrapperStyle","inputProps","cleanInputProps","inputClassName","renderStyles","any","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","createEventEmitter","handlers","on","handler","off","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","emitter","getChildContext","componentWillReceiveProps","nextProps","oldValue","PropTypes","Consumer","onUpdate","observedBits","_proto2","isarray","tokensToFunction","tokensToRegExp","PATH_REGEXP","res","tokens","defaultDelimiter","m","escaped","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","matches","flags","opts","encode","pretty","encodeURIComponent","segment","JSON","attachKeys","re","route","endsWithDelimiter","groups","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","Snap","pxToNum","slide","stack","elastic","bubble","pushRotate","scaleDown","scaleRotate","fallDown","reveal","l","StrictMode","Profiler","q","r","Suspense","u","v","for","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","updater","D","E","isReactComponent","forceUpdate","isPureReactComponent","G","H","I","__self","__source","J","g","$$typeof","_owner","L","M","N","escape","O","K","P","Q","_status","_result","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","toArray","only","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","createFactory","createRef","isValidElement","lazy","_payload","_init","useDebugValue","useImperativeHandle","useLayoutEffect","useReducer","version","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","pa","qa","ma","na","la","setAttributeNS","xlinkHref","ra","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","db","fb","defaultSelected","gb","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","containerInfo","xc","yc","shift","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","returnValue","isPropagationStopped","cancelBubble","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","pageX","pageY","ctrlKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Meta","Shift","Pd","Rd","code","locale","which","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","Xd","Zd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","range","tel","text","time","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","Nb","ef","ff","parentWindow","gf","hf","je","char","ke","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","Ng","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","V","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","unstable_observedBits","unmount","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","supportsFiber","inject","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","floor","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","jsxs","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","ReactPropTypes","symbol","arrayOf","instanceOf","objectOf","shape","checkPropTypes","Function","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","arrayWithoutHoles","iterableToArray","nonIterableSpread","_menuFactory","_menuFactory2","overlay","MozTransform","MsTransform","OTransform","WebkitTransform","itemList","firstItem","getElementsByClassName","lastItem","focusOnCrossButton","crossButton","focusOnMenuItem","siblingType","menuButton","BurgerIcon","_x","_x2","_x3","_again","receiver","desc","getter","_get","hover","bmBurgerBarsHover","icon","bmIcon","bar","getLineStyle","bmBurgerBars","bmBurgerButton","isMouseIn","onMouseOut","bmCross","getCrossStyle","bmCrossButton","nthChild","_helpersSnapsvgImporter2","_helpersUtils","pathOpen","mina","easeinout","eve","requestID","animations","requestAnimFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","getTime","idgen","idprefix","timer","sta","ds","dur","speed","spd","stopit","update","pause","pdif","resume","frame","easing","linear","getById","easeout","pow","easein","sqrt","backin","backout","sin","PI","bounce","glob","doc","Paper","_","win","Str","toFloat","toInt","math","mmax","mmin","objectToString","round","colourRegExp","commaSpaces","separator","hsrg","hs","pathCommand","tCommand","pathValues","ID","xlink","xmlns","hub","$","createComment","getAttributeNS","isFinite","repush","cacher","scope","postprocessor","newf","rad","deg","format","tokenRegex","objNotationRegex","quote","quotedName","isFunc","replacer","clone","angle","tan","cos","asin","num","acos","atan","atan2","x1","y1","x2","y2","x3","y3","len2","closestPoint","distance2","dx","dy","best","bestLength","scan","scanDistance","pathNode","pathLength","getTotalLength","precision","pathSegList","numberOfItems","bestDistance","scanLength","getPointAtLength","after","beforeLength","afterLength","beforeDistance","afterDistance","distance","snapTo","tolerance","rem","getRGB","colour","hex","rgbtoString","toHex","red","green","blue","rgb","hsb2rgb","hsl2rgb","hsb","hsl","toFixed","getElementsByTagName","getPropertyValue","hsbtoString","hsltoString","prepareRGB","clr","packageRGB","rgb2hsl","rgb2hsb","parsePathString","pathString","pth","paramCounts","parseTransformString","TString","svgTransform2string","tstr","rgTransform","transform2matrix","bbox","tdata","Matrix","tlen","command","absolute","inver","invert","translate","rotate","scale","_unit2px","getSomeSVG","mgr","fill","getW","getBBox","getH","nam","ownerSVGElement","add2group","childNodes","snap","paper","anims","mask","frag","make","defs","proto","dom","contentDocument","jsonFiller","getSomeDefs","pdefs","query","selectAll","nodelist","setInterval","firstDefined","json","att","createDocumentFragment","full","div","fragment","toJSON","nt","cssAttr","ajax","postData","req","XMLHttpRequest","setRequestHeader","once","onreadystatechange","readyState","send","load","responseText","getElementByPoint","canvas","elementFromPoint","opera","so","elem","box","docElem","clientTop","clientLeft","pageXOffset","getOffset","sr","createSVGRect","hits","getIntersectionList","plugin","elproto","unit2px","isWithoutTransform","getClientRects","removed","localMatrix","original","pathfinder","deflt","bboxwt","realPath","matrix","propString","extractTransform","doReturn","papa","getCTM","local","ms","localString","toTransformString","globalMatrix","totalMatrix","diffMatrix","total","gradientTransform","patternTransform","prependTo","insertAfter","remove","asPX","use","cloneNode","els","ids","uses","urltest","linktest","oldid","old","fs","fixids","toDefs","toPattern","patternUnits","marker","refX","refY","cy","markerWidth","markerHeight","orient","eldata","chld","removeData","outerSVG","innerSVG","toDataURL","btoa","contents","unescape","matrixproto","norm","normalize","mag","aNew","bNew","multLeft","cNew","eNew","skewX","skew","skewY","determinant","row","scalex","shear","scaley","isSimple","isSuperSimple","noRotation","shorter","clipIt","reURLValue","URL","fillStroke","grad","gradient","attrs","deurl","clip","gradrg","setFontSize","textExtract","chi","getFontSize","stops","seed","toAbsolute","txt","baseVal","rx","ry","tp","textPath","tuned","tuner","chunk","setter","internal","rgNotSpace","addClass","clazz","finalValue","classes","curClasses","removeClass","pos","hasClass","toggleClass","flag","operators","reUnit","reAddon","getNumber","getUnit","unit","plus","evnt","atr","aUnit","op","bplus","circle","preload","onerror","src","cssText","onload","image","offsetWidth","ellipse","vbx","vby","vbw","vbh","ptrn","vx","vy","vw","polyline","polygon","Gstops","GaddStop","GgetBBox","GsetStops","addStop","gradientLinear","setStops","gradientRadial","fx","fy","gradientUnits","clear","p2s","paths","ps","sleep","r1","r2","r0","rectPath","pathClone","pathArray","getPointAtSegmentLength","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","bezlen","findDotsAtSegment","x4","y4","ll","t2","getTotLen","getLengthFactory","istotal","subpath","onlystart","point","sp","subpaths","path2curve","getSubpathsAtLength","t1","t13","t12","t3","mx","my","nx","ny","alpha","bezierBBox","curveDim","isPointInsideBBox","isBBoxIntersect","bbox1","bbox2","base3","p3","p4","z2","Tvalues","Cvalues","sum","ct","xbase","ybase","comb","intersect","denominator","px","py","px2","py2","interHelper","bez1","bez2","justCount","n1","n2","dots1","dots2","xy","di1","dj1","interPathHelper","path1","path2","x1m","y1m","x2m","y2m","intr","segment1","segment2","pathBBox","dim","xmin","ymin","ellipsePath","getPath","pathToAbsolute","pa0","crz","dots","catmullRom2bezier","l2c","q2c","ax","ay","_13","_23","a2c","large_arc_flag","sweep_flag","recursive","_120","f1","f2","rx2","ry2","f2old","x2old","y2old","c1","s1","c2","s2","hx","hy","m1","m2","m3","m4","newres","x0","y0","b2ac","sqrtb2ac","tvalues","bounds","mt","jlen","curve","bx","by","qx","qy","attrs2","processPath","pcom","fixArc","pp","pcoms1","pcoms2","fixM","a1","a2","pfirst","seg","seg2","seglen","seg2len","crp","iLen","getSubpath","inside","found","intersection","intersectionNumber","isPointInside","toRelative","lowerCase","rel","toCubic","pathi","items","bindings","setproto","thisArg","Animation","each","callbacker","aname","unbound","insertion","todel","arglen","exclude","getEmpty","getViewBox","getColour","path2array","isNumeric","stroke","equal","tt1","tt2","maxlength","equaliseTransform","arr1","bUnit","supportsTouch","events","touchMap","mousedown","mousemove","mouseup","getScroll","preventTouch","originalEvent","stopTouch","addEvent","realName","scrollY","scrollX","olde","drag","dragMove","dragi","_drag","move_scope","dragUp","unmousemove","unmouseup","end_scope","start_scope","eventName","unbind","f_in","f_out","scope_in","scope_out","mouseover","mouseout","unhover","unmouseover","unmouseout","draggable","onmove","onstart","onend","origTransform","init","undrag","unmousedown","pproto","rgurl","filstr","filterUnits","def","shadow","grayscale","amount","sepia","saturate","hueRotate","amount2","brightness","contrast","firstLetter","getAlign","way","align","inAnim","_attrs","_callback","curStatus","eq","fkeys","tkeys","saveColor","A100","A200","A400","A700","mui","flat","pink","purple","deeppurple","indigo","lightblue","cyan","teal","lightgreen","lime","yellow","amber","orange","deeporange","brown","grey","bluegrey","turquoise","greensea","sunflower","emerland","nephritis","carrot","pumpkin","peterriver","belizehole","alizarin","pomegranate","amethyst","wisteria","clouds","silver","wetasphalt","midnightblue","concrete","asbestos","importMUIColors","current_event","comaseparator","numsort","lastDefined","objtos","ar","oldstop","indexed","sort","_events","nes","es","sep","exist","subname","cur","nts","inodes","funcs","prune","steps","stepsTotal","nextStep","finalWidth","closeButton","transformOrigin","transformStyle","perspective","perspectiveOrigin","burgerIcon"],"mappings":"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Og7B,EAAa,KAAKh7B,OAAOo7B,EAAa,KAAKp7B,OAAOs7B,GAC9E,OAAOjT,GAAIyQ,GAAU,CACnB,YAAa2B,EACb,cAAe,QACf,gBAAiB,kBAChBvH,GAAa7K,GAAI9sB,IAAMkgC,SAAU,KAAMpT,GAAI,OAAQ,CACpD/W,GAAI,kBACHspB,GAAevS,GAAI,OAAQ,CAC5B/W,GAAI,gBACHkqB,MAGDE,GAAa,CAAC,CAChB16B,KAAM,IACN26B,QAAS,+LACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,oBACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,gBACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,qDACR,CACD36B,KAAM,IACN26B,QAAS,qEACR,CACD36B,KAAM,IACN26B,QAAS,mFACR,CACD36B,KAAM,KACN26B,QAAS,gBACR,CACD36B,KAAM,KACN26B,QAAS,gBACR,CACD36B,KAAM,IACN26B,QAAS,2KACR,CACD36B,KAAM,IACN26B,QAAS,mCACR,CACD36B,KAAM,IACN26B,QAAS,yFACR,CACD36B,KAAM,IACN26B,QAAS,mFACR,CACD36B,KAAM,IACN26B,QAAS,+GACR,CACD36B,KAAM,IACN26B,QAAS,6BACR,CACD36B,KAAM,IACN26B,QAAS,mFACR,CACD36B,KAAM,IACN26B,QAAS,2GACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,+CACR,CACD36B,KAAM,IACN26B,QAAS,6FACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,qPACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,2DACR,CACD36B,KAAM,IACN26B,QAAS,mCACR,CACD36B,KAAM,IACN26B,QAAS,qGACR,CACD36B,KAAM,IACN26B,QAAS,qGACR,CACD36B,KAAM,IACN26B,QAAS,yFACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,mMACR,CACD36B,KAAM,IACN26B,QAAS,+CACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,2DACR,CACD36B,KAAM,IACN26B,QAAS,6BACR,CACD36B,KAAM,IACN26B,QAAS,uFACR,CACD36B,KAAM,IACN26B,QAAS,mFACR,CACD36B,KAAM,IACN26B,QAAS,qMACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,oBACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,gBACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,qDACR,CACD36B,KAAM,IACN26B,QAAS,2EACR,CACD36B,KAAM,IACN26B,QAAS,mFACR,CACD36B,KAAM,KACN26B,QAAS,gBACR,CACD36B,KAAM,IACN26B,QAAS,iLACR,CACD36B,KAAM,IACN26B,QAAS,mCACR,CACD36B,KAAM,IACN26B,QAAS,yFACR,CACD36B,KAAM,IACN26B,QAAS,yFACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,+GACR,CACD36B,KAAM,IACN26B,QAAS,mCACR,CACD36B,KAAM,IACN26B,QAAS,mFACR,CACD36B,KAAM,IACN26B,QAAS,iHACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,+CACR,CACD36B,KAAM,IACN26B,QAAS,mGACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,qPACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,2DACR,CACD36B,KAAM,IACN26B,QAAS,mCACR,CACD36B,KAAM,IACN26B,QAAS,qGACR,CACD36B,KAAM,IACN26B,QAAS,yGACR,CACD36B,KAAM,IACN26B,QAAS,+FACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,mMACR,CACD36B,KAAM,IACN26B,QAAS,+CACR,CACD36B,KAAM,KACN26B,QAAS,UACR,CACD36B,KAAM,IACN26B,QAAS,iEACR,CACD36B,KAAM,IACN26B,QAAS,6BACR,CACD36B,KAAM,IACN26B,QAAS,2FACR,CACD36B,KAAM,IACN26B,QAAS,oFAEPC,GAAe,IAAIC,OAAO,IAAMH,GAAWttB,KAAI,SAAUiH,GAC3D,OAAOA,EAAEsmB,WACRl2B,KAAK,IAAM,IAAK,KACfq2B,GAAkB,GAEbriC,GAAI,EAAGA,GAAIiiC,GAAW/hC,OAAQF,KAGrC,IAFA,IAAIsiC,GAAYL,GAAWjiC,IAElBsmB,GAAI,EAAGA,GAAIgc,GAAUJ,QAAQhiC,OAAQomB,KAC5C+b,GAAgBC,GAAUJ,QAAQ5b,KAAMgc,GAAU/6B,KAItD,IAAIg7B,GAAkB,SAAyBnZ,GAC7C,OAAOA,EAAI3lB,QAAQ0+B,IAAc,SAAUp9B,GACzC,OAAOs9B,GAAgBt9B,OAIvBy9B,GAAkC3D,GAAW0D,IAE7CE,GAAa,SAAoBrZ,GACnC,OAAOA,EAAI3lB,QAAQ,aAAc,KAG/Bi/B,GAAmB,SAA0B7E,GAC/C,MAAO,GAAGt3B,OAAOs3B,EAAOlE,MAAO,KAAKpzB,OAAOs3B,EAAOn8B,QAmCpD,SAASihC,GAAW1yB,GAClBA,EAAK2yB,GACD3yB,EAAK4yB,IACL5yB,EAAK6yB,SACL7yB,EAAK8yB,OACL9yB,EAAK+yB,MACL/yB,EAAKgzB,KACL,IAAIlgC,EAAWkN,EAAKlN,SACpBkN,EAAKizB,QACL,IAAI7gC,EAAQotB,GAAyBxf,EAAM,CAAC,KAAM,MAAO,WAAY,SAAU,QAAS,OAAQ,WAAY,YAEhH,OAAO2e,GAAI,QAAShvB,YAAS,CAC3B2W,IAAKxT,GACJV,EAAO,CACRssB,IAAkBA,GAAI,CACpBgL,MAAO,aAEPwB,WAAY,EACZC,OAAQ,EACRC,SAAU,UACVC,QAAS,EACT3D,QAAS,EAETzgB,MAAO,EAEPsgB,MAAO,cAEPqB,MAAO,IACPzN,QAAS,EACTvH,SAAU,WACVsf,UAAW,YAC8B,GAAmE,OA4HlH,IAAIC,GAAa,CAAC,YAAa,SAAU,WAAY,eAAgB,YACjEC,GAAc,CAChBC,UAAW,aAEX/O,SAAU,SACV1Q,SAAU,WACVpI,OAAQ,QAGV,SAAS8nB,GAAiBh2B,GACxBA,EAAEi2B,iBAGJ,SAASC,GAAel2B,GACtBA,EAAEm2B,kBAGJ,SAASC,KACP,IAAIpR,EAAM9xB,KAAK4xB,UACXuR,EAAcnjC,KAAKo0B,aACnBgP,EAAgBtR,EAAM9xB,KAAKqjC,aAEnB,IAARvR,EACF9xB,KAAK4xB,UAAY,EACRwR,IAAkBD,IAC3BnjC,KAAK4xB,UAAYE,EAAM,GAM3B,SAASwR,KACP,MAAO,iBAAkBt1B,QAAUY,UAAU20B,eAG/C,IAAIx1B,KAAiC,qBAAXC,SAA0BA,OAAOC,WAAYD,OAAOC,SAASC,eACnFs1B,GAAoB,EACpBC,GAAkB,CACpBC,SAAS,EACTC,SAAS,GA+FX,IAAIC,GAAkB,WACpB,OAAO31B,SAAS6L,eAAiB7L,SAAS6L,cAAcC,QAGtD0e,GAAgD,CAClD9zB,KAAM,UACNsQ,OAAQ,gDAQV,SAAS4uB,GAAcr0B,GACrB,IAAI7N,EAAW6N,EAAK7N,SAChBmiC,EAAct0B,EAAKs0B,YACnBC,EAAsBv0B,EAAKw0B,eAM3BC,EAhRN,SAA0Bz0B,GACxB,IAAI00B,EAAY10B,EAAK00B,UACjBC,EAAiB30B,EAAK20B,eACtBC,EAAgB50B,EAAK40B,cACrBC,EAAc70B,EAAK60B,YACnBC,EAAa90B,EAAK80B,WAClBC,EAAW5uB,kBAAO,GAClB6uB,EAAQ7uB,kBAAO,GACf8uB,EAAa9uB,iBAAO,GACpB+uB,EAAe/uB,iBAAO,MACtBgvB,EAAmBC,uBAAY,SAAUliC,EAAOiO,GAElD,GAA6B,OAAzB+zB,EAAa1uB,QAAjB,CACA,IAAI6uB,EAAwBH,EAAa1uB,QACrC4b,EAAYiT,EAAsBjT,UAClCwC,EAAeyQ,EAAsBzQ,aACrC0Q,EAAeD,EAAsBC,aACrCxlC,EAASolC,EAAa1uB,QACtB+uB,EAAkBp0B,EAAQ,EAC1Bq0B,EAAkB5Q,EAAe0Q,EAAelT,EAChDqT,GAAqB,EAErBD,EAAkBr0B,GAAS4zB,EAASvuB,UAClCouB,GAAeA,EAAc1hC,GACjC6hC,EAASvuB,SAAU,GAGjB+uB,GAAmBP,EAAMxuB,UACvBsuB,GAAYA,EAAW5hC,GAC3B8hC,EAAMxuB,SAAU,GAId+uB,GAAmBp0B,EAAQq0B,GACzBb,IAAmBI,EAASvuB,SAC9BmuB,EAAezhC,GAGjBpD,EAAOsyB,UAAYwC,EACnB6Q,GAAqB,EACrBV,EAASvuB,SAAU,IACT+uB,IAAoBp0B,EAAQihB,IAClCyS,IAAgBG,EAAMxuB,SACxBquB,EAAY3hC,GAGdpD,EAAOsyB,UAAY,EACnBqT,GAAqB,EACrBT,EAAMxuB,SAAU,GAIdivB,GAzDW,SAAsBviC,GACvCA,EAAMqgC,iBACNrgC,EAAMugC,kBAwDFiC,CAAaxiC,MAEd,IACCyiC,EAAUP,uBAAY,SAAUliC,GAClCiiC,EAAiBjiC,EAAOA,EAAM0iC,UAC7B,CAACT,IACAU,EAAeT,uBAAY,SAAUliC,GAEvC+hC,EAAWzuB,QAAUtT,EAAM4iC,eAAe,GAAGC,UAC5C,IACCC,EAAcZ,uBAAY,SAAUliC,GACtC,IAAI0iC,EAASX,EAAWzuB,QAAUtT,EAAM4iC,eAAe,GAAGC,QAC1DZ,EAAiBjiC,EAAO0iC,KACvB,CAACT,IACAc,EAAiBb,uBAAY,SAAUhuB,GAEzC,GAAKA,EAAL,CACA,IAAI8uB,IAAa3S,IAAwB,CACvC4Q,SAAS,GAGwB,oBAAxB/sB,EAAG1F,kBACZ0F,EAAG1F,iBAAiB,QAASi0B,EAASO,GAGL,oBAAxB9uB,EAAG1F,kBACZ0F,EAAG1F,iBAAiB,aAAcm0B,EAAcK,GAGf,oBAAxB9uB,EAAG1F,kBACZ0F,EAAG1F,iBAAiB,YAAas0B,EAAaE,MAE/C,CAACF,EAAaH,EAAcF,IAC3BQ,EAAgBf,uBAAY,SAAUhuB,GAEnCA,IAEiC,oBAA3BA,EAAGzF,qBACZyF,EAAGzF,oBAAoB,QAASg0B,GAAS,GAGL,oBAA3BvuB,EAAGzF,qBACZyF,EAAGzF,oBAAoB,aAAck0B,GAAc,GAGf,oBAA3BzuB,EAAGzF,qBACZyF,EAAGzF,oBAAoB,YAAaq0B,GAAa,MAElD,CAACA,EAAaH,EAAcF,IAS/B,OARApvB,qBAAU,WACR,GAAKmuB,EAAL,CACA,IAAI38B,EAAUm9B,EAAa1uB,QAE3B,OADAyvB,EAAel+B,GACR,WACLo+B,EAAcp+B,OAEf,CAAC28B,EAAWuB,EAAgBE,IACxB,SAAUp+B,GACfm9B,EAAa1uB,QAAUzO,GAiKIq+B,CAAiB,CAC5C1B,eAN2C,IAAxBH,GAAwCA,EAO3DI,eANmB30B,EAAK20B,eAOxBC,cANkB50B,EAAK40B,cAOvBC,YANgB70B,EAAK60B,YAOrBC,WANe90B,EAAK80B,aAQlBuB,EA3HN,SAAuBr2B,GACrB,IAAI00B,EAAY10B,EAAK00B,UACjB4B,EAAwBt2B,EAAKu2B,qBAC7BA,OAAiD,IAA1BD,GAA0CA,EACjEE,EAAiBrwB,iBAAO,IACxB+uB,EAAe/uB,iBAAO,MACtBswB,EAAgBrB,uBAAY,SAAUsB,GACxC,GAAKn4B,GAAL,CACA,IAAIzO,EAAS2O,SAAS+L,KAClBmsB,EAAc7mC,GAAUA,EAAO4E,MAWnC,GATI6hC,GAEFpD,GAAWr6B,SAAQ,SAAU3I,GAC3B,IAAI8yB,EAAM0T,GAAeA,EAAYxmC,GACrCqmC,EAAehwB,QAAQrW,GAAO8yB,KAK9BsT,GAAwBvC,GAAoB,EAAG,CACjD,IAAI4C,EAAiBrR,SAASiR,EAAehwB,QAAQqwB,aAAc,KAAO,EACtEC,EAAcr4B,SAAS+L,KAAO/L,SAAS+L,KAAKssB,YAAc,EAC1DC,EAAkBv4B,OAAOw4B,WAAaF,EAAcF,GAAkB,EAC1EhnC,OAAO8G,KAAK08B,IAAat6B,SAAQ,SAAU3I,GACzC,IAAI8yB,EAAMmQ,GAAYjjC,GAElBwmC,IACFA,EAAYxmC,GAAO8yB,MAInB0T,IACFA,EAAYE,aAAe,GAAGvgC,OAAOygC,EAAiB,OAKtDjnC,GAAUgkC,OAEZhkC,EAAO4R,iBAAiB,YAAa4xB,GAAkBW,IAEnDyC,IACFA,EAAkBh1B,iBAAiB,aAAcgyB,GAAsBO,IACvEyC,EAAkBh1B,iBAAiB,YAAa8xB,GAAgBS,MAKpED,IAAqB,KACpB,IACCiD,EAAmB7B,uBAAY,SAAUsB,GAC3C,GAAKn4B,GAAL,CACA,IAAIzO,EAAS2O,SAAS+L,KAClBmsB,EAAc7mC,GAAUA,EAAO4E,MAEnCs/B,GAAoB7zB,KAAKgE,IAAI6vB,GAAoB,EAAG,GAEhDuC,GAAwBvC,GAAoB,GAC9Cb,GAAWr6B,SAAQ,SAAU3I,GAC3B,IAAI8yB,EAAMuT,EAAehwB,QAAQrW,GAE7BwmC,IACFA,EAAYxmC,GAAO8yB,MAMrBnzB,GAAUgkC,OACZhkC,EAAO6R,oBAAoB,YAAa2xB,GAAkBW,IAEtDyC,IACFA,EAAkB/0B,oBAAoB,aAAc+xB,GAAsBO,IAC1EyC,EAAkB/0B,oBAAoB,YAAa6xB,GAAgBS,SAGtE,IASH,OARA1tB,qBAAU,WACR,GAAKmuB,EAAL,CACA,IAAI38B,EAAUm9B,EAAa1uB,QAE3B,OADAiwB,EAAc1+B,GACP,WACLk/B,EAAiBl/B,OAElB,CAAC28B,EAAW+B,EAAeQ,IACvB,SAAUl/B,GACfm9B,EAAa1uB,QAAUzO,GAoCCm/B,CAAc,CACtCxC,UAAWJ,IAQb,OAAO3V,GAAI9sB,IAAMkgC,SAAU,KAAMuC,GAAe3V,GAAI,MAAO,CACzD3rB,QAASohC,GACT1V,IAAKuK,KACH92B,GARY,SAAmB4F,GACjC08B,EAAuB18B,GACvBs+B,EAAoBt+B,OASxB,IAaIo/B,GAAgB,CAClBC,eAAgBpN,GAChBpZ,UTlEiB,SAAsB5Q,GACvC,IAAI6rB,EAAa7rB,EAAK6rB,WAEtB,MAAO,CACLnC,MAAO,YACP2N,UAHUr3B,EAAK4hB,MAGI,MAAQ,KAC3B0V,cAAezL,EAAa,OAAS,KAErCjY,SAAU,aS2DZ2Y,QTmNQ,SAAavsB,GACrB,IAAI6rB,EAAa7rB,EAAK6rB,WAClBrC,EAAYxpB,EAAKwpB,UACjB+N,EAAav3B,EAAKsf,MAClBkI,EAAS+P,EAAW/P,OACpBmD,EAAe4M,EAAW5M,aAC1B5G,EAAUwT,EAAWxT,QACzB,MAAO,CACL2F,MAAO,UACP8N,WAAY,SACZ9M,gBAAiBmB,EAAarE,EAAOiQ,SAAWjQ,EAAOkQ,SACvDC,YAAa9L,EAAarE,EAAOoQ,UAAYpO,EAAYhC,EAAOqQ,QAAUrQ,EAAOoC,UACjFe,aAAcA,EACdmN,YAAa,QACbC,YAAa,EACbC,UAAWxO,EAAY,aAAalzB,OAAOkxB,EAAOqQ,SAAW,KAC7Djb,OAAQ,UACRiN,QAAS,OACToO,SAAU,OACVC,eAAgB,gBAChBvU,UAAWI,EAAQmC,cACnBmF,QAAS,eACTzX,SAAU,WACVlM,WAAY,YACZ,UAAW,CACTiwB,YAAanO,EAAYhC,EAAOqQ,QAAUrQ,EAAO2Q,aS3OrDC,kBAAmBrO,GACnB6C,MTqQa,SAAkB5sB,GAC/B,IAAI+jB,EAAU/jB,EAAKsf,MAAMyE,QACzB,MAAO,CACLsU,cAAkC,EAAnBtU,EAAQuD,SACvBgR,WAA+B,EAAnBvU,EAAQuD,WSxQtBiR,aToSoB,SAAyBtP,GAC7C,IAAIlF,EAAUkF,EAAM3J,MAAMyE,QAC1B,MAAO,CACL2F,MAAO,QACPnC,MAAO,OACP3K,OAAQ,UACRiN,QAAS,QACTuB,SAAU,MACVnQ,WAAY,MACZqK,aAAc,SACdkT,YAAgC,EAAnBzU,EAAQuD,SACrBuP,aAAiC,EAAnB9S,EAAQuD,SACtBmR,cAAe,cS/SjBC,oBTR2B,WAC3B,MAAO,CACLlB,WAAY,SACZmB,UAAW,UACX9O,QAAS,OACT3P,WAAY,ISId0e,mBT+G0B,SAA+BrN,GACzD,IAAIM,EAAaN,EAAMM,WACnBgN,EAActN,EAAMjM,MACpBgI,EAAWuR,EAAY9U,QAAQuD,SAC/BE,EAASqR,EAAYrR,OACzB,MAAO,CACLkC,MAAO,qBACPiP,UAAW,UACXjO,gBAAiBmB,EAAarE,EAAOoQ,UAAYpQ,EAAOoC,UACxDtE,aAAyB,EAAXgC,EACd9B,UAAsB,EAAX8B,EACXrgB,MAAO,ISzHTmmB,MTiUa,SAAkBptB,GAC/B,IAAI6rB,EAAa7rB,EAAK6rB,WAClB0L,EAAav3B,EAAKsf,MAClByE,EAAUwT,EAAWxT,QACrByD,EAAS+P,EAAW/P,OACxB,MAAO,CACLsR,OAAQ/U,EAAQuD,SAAW,EAC3B+Q,cAAetU,EAAQuD,SAAW,EAClCgR,WAAYvU,EAAQuD,SAAW,EAC/ByR,WAAYlN,EAAa,SAAW,UACpCtE,MAAOC,EAAOsC,YS1UhBkP,iBT2IwB,SAA6B5R,GACrD,IAAIoC,EAAYpC,EAAMoC,UAClBpT,EAAOgR,EAAMhR,KACbiR,EAAcD,EAAM9H,MACpBkI,EAASH,EAAYG,OACrBF,EAAWD,EAAYtD,QAAQuD,SACnC,MAAO,CACLoC,MAAO,mBACPnC,MAAOiC,EAAYhC,EAAOmC,UAAYnC,EAAOoC,UAC7CC,QAAS,OACTnC,QAAoB,EAAXJ,EACT5f,WAAY,cACZixB,UAAW,SACXvN,SAAUhV,EACV8E,WAAY,EACZ+d,YAAa7iB,EACbuR,UAAW,SACXkD,cAAe,WS3JjBqO,eAAgBrR,GAChB0F,KTtWY,SAAiBtE,GAC7B,IAAIM,EAEA3F,EAAYqF,EAAMrF,UAClBuV,EAAclQ,EAAM3J,MACpBqL,EAAewO,EAAYxO,aAC3B5G,EAAUoV,EAAYpV,QACtByD,EAAS2R,EAAY3R,OACzB,OAEG4R,GAFI7P,EAAQ,CACbG,MAAO,QArBX,SAAwB9F,GAKtB,OAAOA,EAJkB,CACvBoB,OAAQ,MACR1C,IAAK,UAE+BsB,GAAa,SAiBvByV,CAAezV,GAAY,QAASwV,GAAkB7P,EAAO,kBAAmB/B,EAAOkQ,UAAW0B,GAAkB7P,EAAO,eAAgBoB,GAAeyO,GAAkB7P,EAAO,YAAa,mEAAoE6P,GAAkB7P,EAAO,eAAgBxF,EAAQuV,YAAaF,GAAkB7P,EAAO,YAAaxF,EAAQuV,YAAaF,GAAkB7P,EAAO,WAAY,YAAa6P,GAAkB7P,EAAO,QAAS,QAAS6P,GAAkB7P,EAAO,SAAU,GAAIA,GS6V7hBgQ,ST3PgB,SAAqBhO,GACrC,IAAI9H,EAAY8H,EAAM9H,UAClB6D,EAAWiE,EAAMjM,MAAMyE,QAAQuD,SACnC,MAAO,CACL7D,UAAWA,EACXc,UAAW,OACX8T,cAAe/Q,EACfgR,WAAYhR,EACZ1T,SAAU,WAEV4lB,wBAAyB,USkP3BC,WTzKkB,SAAuBnP,GACzC,IAAI3B,EAAO2B,EAAM3B,KACbnT,EAAS8U,EAAM9U,OACf5B,EAAW0W,EAAM1W,SACrB,MAAO,CACLgV,KAAMD,EAAKC,KACXhV,SAAUA,EACV0O,IAAK9M,EACLvO,MAAO0hB,EAAK1hB,MACZuU,OAAQ,ISiKVke,WT6WkB,SAAuB15B,GACzC,IAAIu3B,EAAav3B,EAAKsf,MAClByE,EAAUwT,EAAWxT,QACrB4G,EAAe4M,EAAW5M,aAE9B,MAAO,CACLjB,MAAO,aACPgB,gBAHW6M,EAAW/P,OAGEoQ,UACxBjN,aAAcA,EAAe,EAC7Bd,QAAS,OACTiP,OAAQ/U,EAAQuD,SAAW,EAC3BqS,SAAU,ISvXZC,gBT2XuB,SAA4B3Q,GACnD,IAAIkQ,EAAclQ,EAAM3J,MACpBqL,EAAewO,EAAYxO,aAC3BnD,EAAS2R,EAAY3R,OACrB2E,EAAmBlD,EAAMkD,iBAC7B,MAAO,CACLxB,aAAcA,EAAe,EAC7BpD,MAAOC,EAAOsC,UACdsB,SAAU,MACV9G,SAAU,SACVoD,QAAS,EACT8Q,YAAa,EACbqB,aAAc1N,EAAmB,WAAa,KAC9C2N,WAAY,WSvYdC,iBT0YwB,SAA6BxQ,GACrD,IAAIE,EAAcF,EAAMjK,MACpByE,EAAU0F,EAAY1F,QACtB4G,EAAelB,EAAYkB,aAC3BnD,EAASiC,EAAYjC,OAEzB,MAAO,CACLgQ,WAAY,SACZ7M,aAAcA,EAAe,EAC7BD,gBAJcnB,EAAMC,WAIUhC,EAAOwS,YACrCnQ,QAAS,OACT2O,YAAazU,EAAQuD,SACrBuP,aAAc9S,EAAQuD,SACtB,SAAU,CACRoD,gBAAiBlD,EAAOwS,YACxBzS,MAAOC,EAAOyS,USxZlBC,iBAAkBtS,GAClBgG,OT4dc,SAAmB5tB,GACjC,IAAI6rB,EAAa7rB,EAAK6rB,WAClBrC,EAAYxpB,EAAKwpB,UACjBmE,EAAa3tB,EAAK2tB,WAClB4J,EAAav3B,EAAKsf,MAClByE,EAAUwT,EAAWxT,QACrByD,EAAS+P,EAAW/P,OACxB,MAAO,CACLkC,MAAO,SACPgB,gBAAiBiD,EAAanG,EAAOqQ,QAAUrO,EAAYhC,EAAO2S,UAAY,cAC9E5S,MAAOsE,EAAarE,EAAOoC,UAAY+D,EAAanG,EAAOkQ,SAAW,UACtE9a,OAAQ,UACRiN,QAAS,QACTuB,SAAU,UACV1D,QAAS,GAAGpxB,OAA0B,EAAnBytB,EAAQuD,SAAc,OAAOhxB,OAA0B,EAAnBytB,EAAQuD,SAAc,MAC7ErgB,MAAO,OACPmzB,WAAY,OACZC,wBAAyB,mBAEzB,UAAW,CACT3P,iBAAkBmB,IAAe8B,EAAanG,EAAOqQ,QAAUrQ,EAAO8S,cS/e1ExM,YT0gBmB,SAAwB9tB,GAC3C,IAAIu3B,EAAav3B,EAAKsf,MAClByE,EAAUwT,EAAWxT,QAEzB,MAAO,CACL2F,MAAO,cACPnC,MAHWgQ,EAAW/P,OAGR+S,UACd3P,WAAY7G,EAAQuD,SAAW,EAC/B2R,YAAalV,EAAQuD,SAAW,EAChC1T,SAAU,WACV0O,IAAK,MACL4Q,UAAW,qBSphBbsH,YTsiBU,SAAax6B,GACvB,IAAI6rB,EAAa7rB,EAAK6rB,WAClB0L,EAAav3B,EAAKsf,MAClByE,EAAUwT,EAAWxT,QACrByD,EAAS+P,EAAW/P,OACxB,MAAO,CACLkC,MAAO,cACPnC,MAAOsE,EAAarE,EAAOC,UAAYD,EAAOsC,UAC9Cc,WAAY7G,EAAQuD,SAAW,EAC/B2R,YAAalV,EAAQuD,SAAW,EAChCmT,SAAU,eAAenkC,OAA0B,EAAnBytB,EAAQuD,SAAc,OACtDhD,SAAU,SACV1Q,SAAU,WACVimB,aAAc,WACdC,WAAY,SACZxX,IAAK,MACL4Q,UAAW,qBSrjBbwH,eTxDsB,SAA2BzR,GACjD,IAAIlF,EAAUkF,EAAM3J,MAAMyE,QAC1B,MAAO,CACLyT,WAAY,SACZ3N,QAAS,OACT9P,KAAM,EACNke,SAAU,OACVvQ,QAAS,GAAGpxB,OAAOytB,EAAQuD,SAAW,EAAG,OAAOhxB,OAA0B,EAAnBytB,EAAQuD,SAAc,MAC7EkS,wBAAyB,QACzB5lB,SAAU,WACV0Q,SAAU,YSqEd,IAxayCqW,GAucrCC,GAAe,CACjBjQ,aAbiB,EAcjBnD,OAjCW,CACXqQ,QAAS,UACTgD,UAAW,UACXP,UAAW,UACXH,UAAW,UACXF,OAAQ,UACRD,YAAa,UACbtC,SAAU,mBACVD,SAAU,kBACVG,UAAW,kBACXhO,UAAW,kBACXuO,UAAW,kBACX1Q,UAAW,kBACX8S,UAAW,kBACX5Q,UAAW,kBACXmR,UAAW,kBACXhR,UAAW,kBACXiR,UAAW,mBAiBXhX,QARY,CACZuD,SANa,EAObpB,cALkB,GAMlBoT,WAJehS,IAYbta,GAAe,CACjB,YAAa,SACbguB,uBAAuB,EACvBC,kBAAmB9X,KACnB+X,mBAAoB/X,KACpBgY,mBAAmB,EACnBC,mBAAmB,EACnBzP,WAAY,GACZ0P,0BAA0B,EAC1BC,mBAAmB,EACnBC,aAtdO,SAAU3N,EAAQ4N,GACvB,IAAIC,EAAwB5iC,GAAe,CACzC6iC,YAAY,EACZC,eAAe,EACfjlB,UAAW+b,GACX3nB,MAAM,EACN8wB,UAAW,OACVjB,IACCe,EAAaD,EAAsBC,WACnCC,EAAgBF,EAAsBE,cACtCjlB,EAAY+kB,EAAsB/kB,UAClC5L,EAAO2wB,EAAsB3wB,KAC7B8wB,EAAYH,EAAsBG,UAElCxO,EAAQtiB,EAAO0nB,GAAWgJ,GAAYA,EACtCK,EAAY/wB,EAAO0nB,GAAW9b,EAAUkX,IAAWlX,EAAUkX,GAYjE,OAVI8N,IACFtO,EAAQA,EAAMzwB,cACdk/B,EAAYA,EAAUl/B,eAGpBg/B,IACFvO,EAAQmF,GAAgCnF,GACxCyO,EAAYvJ,GAAgBuJ,IAGT,UAAdD,EAAwBC,EAAU7/B,OAAO,EAAGoxB,EAAMn9B,UAAYm9B,EAAQyO,EAAUj/B,QAAQwwB,IAAU,GA4b3G0O,iBA1GqB,SAA0BlP,GAC/C,OAAOA,EAAMlD,OA0GbiH,eAxGmB,SAAwB/C,GAC3C,OAAOA,EAAOlE,OAwGdqS,eAtGmB,SAAwBnO,GAC3C,OAAOA,EAAOn8B,OAsGdo6B,YAAY,EACZmQ,WAAW,EACXra,SAAS,EACTC,OAAO,EACP2N,cAAc,EACdqB,iBAzGqB,SAA0BhD,GAC/C,QAASA,EAAO/B,YAyGhBqN,eAAgB,WACd,MAAO,cAETxS,cAAe,IACfG,cAAe,IACfyF,YAAY,EACZxF,cAAe,SACfC,aAAc,WACdkV,uBAAuB,EACvBjV,0BTxpBF,WACE,IACE,MAAO,iEAAiEpZ,KAAKxO,UAAUC,WACvF,MAAO/B,GACP,OAAO,GSopBkB4+B,GAC3BhC,iBAAkB,WAChB,MAAO,cAETiC,iBAAiB,EACjBC,iBAAiB,EACjB/lC,QAAS,GACTgmC,SAAU,EACVvO,YAAa,YACb+C,mBAAoB,SAA4B7wB,GAC9C,IAAI8U,EAAQ9U,EAAK8U,MACjB,MAAO,GAAGxe,OAAOwe,EAAO,WAAWxe,OAAiB,IAAVwe,EAAc,IAAM,GAAI,eAEpErP,OAAQ,GACRyG,SAAU,IACVsjB,iBAAiB,GAGnB,SAAS8M,GAAoBlqC,EAAOw7B,EAAQmC,EAAaj1B,GAOvD,MAAO,CACLyT,KAAM,SACNqd,KAAMgC,EACN/B,WATe0Q,GAAkBnqC,EAAOw7B,EAAQmC,GAUhDpC,WARe6O,GAAkBpqC,EAAOw7B,EAAQmC,GAShDrG,MAPU+S,GAAiBrqC,EAAOw7B,GAQlCn8B,MAPUirC,GAAiBtqC,EAAOw7B,GAQlC9yB,MAAOA,GAIX,SAAS6hC,GAAwBvqC,EAAO29B,GACtC,OAAO39B,EAAMiE,QAAQqO,KAAI,SAAUk4B,EAAeC,GAChD,GAAID,EAAcvmC,QAAS,CACzB,IAAIymC,EAAqBF,EAAcvmC,QAAQqO,KAAI,SAAUkpB,EAAQmP,GACnE,OAAOT,GAAoBlqC,EAAOw7B,EAAQmC,EAAagN,MACtDtkC,QAAO,SAAUukC,GAClB,OAAOC,GAAY7qC,EAAO4qC,MAE5B,OAAOF,EAAmB7sC,OAAS,EAAI,CACrCse,KAAM,QACNqd,KAAMgR,EACNvmC,QAASymC,EACThiC,MAAO+hC,QACL1rC,EAGN,IAAI6rC,EAAoBV,GAAoBlqC,EAAOwqC,EAAe7M,EAAa8M,GAC/E,OAAOI,GAAY7qC,EAAO4qC,GAAqBA,OAAoB7rC,KAEpEsH,QAAO,SAAUukC,GAChB,QAASA,KAIb,SAASE,GAA4CJ,GACnD,OAAOA,EAAmBK,QAAO,SAAUC,EAAoBJ,GAS7D,MAR+B,UAA3BA,EAAkBzuB,KACpB6uB,EAAmB5rC,KAAKjB,MAAM6sC,EAAoBlP,GAAmB8O,EAAkB3mC,QAAQqO,KAAI,SAAUkpB,GAC3G,OAAOA,EAAOhC,UAGhBwR,EAAmB5rC,KAAKwrC,EAAkBpR,MAGrCwR,IACN,IAOL,SAASH,GAAY7qC,EAAO4qC,GAC1B,IAAIK,EAAoBjrC,EAAM+9B,WAC1BA,OAAmC,IAAtBkN,EAA+B,GAAKA,EACjDzR,EAAOoR,EAAkBpR,KACzB+B,EAAaqP,EAAkBrP,WAC/BjE,EAAQsT,EAAkBtT,MAC1Bj4B,EAAQurC,EAAkBvrC,MAC9B,QAAS6rC,GAA0BlrC,KAAWu7B,IAAe4P,GAAcnrC,EAAO,CAChFs3B,MAAOA,EACPj4B,MAAOA,EACPm6B,KAAMA,GACLuE,GA6BL,IAAIsM,GAAmB,SAAwBrqC,EAAOw5B,GACpD,OAAOx5B,EAAMu+B,eAAe/E,IAG1B8Q,GAAmB,SAAwBtqC,EAAOw5B,GACpD,OAAOx5B,EAAM2pC,eAAenQ,IAG9B,SAAS2Q,GAAkBnqC,EAAOw7B,EAAQmC,GACxC,MAAyC,oBAA3B39B,EAAMw+B,kBAAkCx+B,EAAMw+B,iBAAiBhD,EAAQmC,GAGvF,SAASyM,GAAkBpqC,EAAOw7B,EAAQmC,GACxC,GAAIA,EAAYnzB,QAAQgxB,IAAW,EAAG,OAAO,EAE7C,GAAsC,oBAA3Bx7B,EAAMorC,iBACf,OAAOprC,EAAMorC,iBAAiB5P,EAAQmC,GAGxC,IAAI8L,EAAYa,GAAiBtqC,EAAOw7B,GACxC,OAAOmC,EAAY0N,MAAK,SAAU1tC,GAChC,OAAO2sC,GAAiBtqC,EAAOrC,KAAO8rC,KAI1C,SAAS0B,GAAcnrC,EAAOw7B,EAAQuC,GACpC,OAAO/9B,EAAMmpC,cAAenpC,EAAMmpC,aAAa3N,EAAQuC,GAGzD,IAAImN,GAA4B,SAAmClrC,GACjE,IAAIsrC,EAAsBtrC,EAAMsrC,oBAC5B/b,EAAUvvB,EAAMuvB,QACpB,YAA4BxwB,IAAxBusC,EAA0C/b,EACvC+b,GAGLC,GAAa,EAEbC,GAAsB,SAAUpX,GAClCpG,GAAUwd,EAAQpX,GAElB,IAAIC,EAAShG,GAAamd,GAS1B,SAASA,EAAOp+B,GACd,IAAI8Q,EA2oBJ,OAzoBAuP,GAAgBrvB,KAAMotC,IAEtBttB,EAAQmW,EAAOn2B,KAAKE,KAAMgP,IACpBxJ,MAAQ,CACZs6B,cAAe,KACfC,cAAe,KACfC,aAAc,KACdqN,eAAe,EACfrU,WAAW,EACXuG,YAAa,GACb+N,yBAAyB,EACzBC,8BAA0B5sC,EAC1B6sC,eAAW7sC,GAEbmf,EAAM2tB,kBAAmB,EACzB3tB,EAAM4tB,aAAc,EACpB5tB,EAAM6tB,iBAAc,EACpB7tB,EAAM8tB,cAAgB,EACtB9tB,EAAM+tB,cAAgB,EACtB/tB,EAAMguB,eAAiB,GACvBhuB,EAAMiuB,gBAAiB,EACvBjuB,EAAMkuB,+BAAgC,EACtCluB,EAAMmuB,oBAAiB,EACvBnuB,EAAMouB,WAAa,KAEnBpuB,EAAMquB,cAAgB,SAAUr4B,GAC9BgK,EAAMouB,WAAap4B,GAGrBgK,EAAMsuB,iBAAmB,KAEzBtuB,EAAMuuB,oBAAsB,SAAUv4B,GACpCgK,EAAMsuB,iBAAmBt4B,GAG3BgK,EAAMwuB,YAAc,KAEpBxuB,EAAMyuB,eAAiB,SAAUz4B,GAC/BgK,EAAMwuB,YAAcx4B,GAGtBgK,EAAM+c,SAAW,KAEjB/c,EAAM0uB,YAAc,SAAU14B,GAC5BgK,EAAM+c,SAAW/mB,GAGnBgK,EAAM2uB,MAAQ3uB,EAAM4uB,WACpB5uB,EAAM/F,KAAO+F,EAAM6uB,UAEnB7uB,EAAMmf,SAAW,SAAU2P,EAAUC,GACnC,IAAIzY,EAActW,EAAMle,MACpBq9B,EAAW7I,EAAY6I,SACvBt6B,EAAOyxB,EAAYzxB,KACvBkqC,EAAWlqC,KAAOA,EAElBmb,EAAMgvB,aAAaF,EAAUC,GAE7B5P,EAAS2P,EAAUC,IAGrB/uB,EAAMyR,SAAW,SAAUqd,GACzB,IAAIrhC,EAAS/N,UAAUC,OAAS,QAAsBkB,IAAjBnB,UAAU,GAAmBA,UAAU,GAAK,YAC7E49B,EAAS59B,UAAUC,OAAS,EAAID,UAAU,QAAKmB,EAC/Co3B,EAAejY,EAAMle,MACrB+oC,EAAoB5S,EAAa4S,kBACjCxZ,EAAU4G,EAAa5G,QAE3BrR,EAAMivB,cAAc,GAAI,CACtBxhC,OAAQ,cAGNo9B,IACF7qB,EAAM/P,SAAS,CACbw9B,0BAA2Bpc,IAG7BrR,EAAMkvB,eAIRlvB,EAAM/P,SAAS,CACbu9B,yBAAyB,IAG3BxtB,EAAMmf,SAAS2P,EAAU,CACvBrhC,OAAQA,EACR6vB,OAAQA,KAIZtd,EAAMuR,aAAe,SAAUud,GAC7B,IAAIK,EAAenvB,EAAMle,MACrB6oC,EAAoBwE,EAAaxE,kBACjCtZ,EAAU8d,EAAa9d,QACvBxsB,EAAOsqC,EAAatqC,KACpB46B,EAAczf,EAAMta,MAAM+5B,YAE1B2P,EAAa/d,GAAWrR,EAAMktB,iBAAiB4B,EAAUrP,GAEzDlE,EAAavb,EAAMsgB,iBAAiBwO,EAAUrP,GAElD,GAAI2P,EAAY,CACd,IAAI7D,EAAYvrB,EAAMyrB,eAAeqD,GAErC9uB,EAAMyR,SAASgO,EAAYt3B,QAAO,SAAU1I,GAC1C,OAAOugB,EAAMyrB,eAAehsC,KAAO8rC,KACjC,kBAAmBuD,OAClB,IAAKvT,EAaV,YALAvb,EAAMgvB,aAAaF,EAAU,CAC3BrhC,OAAQ,gBACR5I,KAAMA,IARJwsB,EACFrR,EAAMyR,SAAS,GAAGzrB,OAAO43B,GAAmB6B,GAAc,CAACqP,IAAY,gBAAiBA,GAExF9uB,EAAMyR,SAASqd,EAAU,iBAWzBnE,GACF3qB,EAAM6uB,aAIV7uB,EAAMqvB,YAAc,SAAUxO,GAC5B,IAAIxP,EAAUrR,EAAMle,MAAMuvB,QACtBoO,EAAczf,EAAMta,MAAM+5B,YAE1B8L,EAAYvrB,EAAMyrB,eAAe5K,GAEjCyO,EAAgB7P,EAAYt3B,QAAO,SAAU1I,GAC/C,OAAOugB,EAAMyrB,eAAehsC,KAAO8rC,KAEjCuD,EAAWzd,EAAUie,EAAgBA,EAAc,IAAM,KAE7DtvB,EAAMmf,SAAS2P,EAAU,CACvBrhC,OAAQ,eACRozB,aAAcA,IAGhB7gB,EAAM4uB,cAGR5uB,EAAMkR,WAAa,WACjB,IAAIuO,EAAczf,EAAMta,MAAM+5B,YAE9Bzf,EAAMmf,SAASnf,EAAMle,MAAMuvB,QAAU,GAAK,KAAM,CAC9C5jB,OAAQ,QACR8hC,cAAe9P,KAInBzf,EAAMwvB,SAAW,WACf,IAAIne,EAAUrR,EAAMle,MAAMuvB,QACtBoO,EAAczf,EAAMta,MAAM+5B,YAC1BgQ,EAAoBhQ,EAAYA,EAAY9/B,OAAS,GACrD2vC,EAAgB7P,EAAYhzB,MAAM,EAAGgzB,EAAY9/B,OAAS,GAC1DmvC,EAAWzd,EAAUie,EAAgBA,EAAc,IAAM,KAE7DtvB,EAAMmf,SAAS2P,EAAU,CACvBrhC,OAAQ,YACRozB,aAAc4O,KAIlBzvB,EAAMmR,SAAW,WACf,OAAOnR,EAAMta,MAAM+5B,aAGrBzf,EAAM6O,GAAK,WACT,IAAK,IAAI9gB,EAAOrO,UAAUC,OAAQ+J,EAAO,IAAIrJ,MAAM0N,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EtE,EAAKsE,GAAQtO,UAAUsO,GAGzB,OAAOwa,GAAWvoB,WAAM,EAAQ,CAAC+f,EAAMle,MAAM4tC,iBAAiB1pC,OAAO0D,KAGvEsW,EAAMqgB,eAAiB,SAAU/E,GAC/B,OAAO6Q,GAAiBnsB,EAAMle,MAAOw5B,IAGvCtb,EAAMyrB,eAAiB,SAAUnQ,GAC/B,OAAO8Q,GAAiBpsB,EAAMle,MAAOw5B,IAGvCtb,EAAMnJ,UAAY,SAAUhX,EAAKiC,GAC/B,IAAIkF,EAAO6/B,GAAchnC,GAAKiC,GAC9BkF,EAAK+7B,UAAY,aACjB,IAAI4M,EAAS3vB,EAAMle,MAAMqT,OAAOtV,GAChC,OAAO8vC,EAASA,EAAO3oC,EAAMlF,GAASkF,GAGxCgZ,EAAM4vB,aAAe,SAAUnoC,GAC7B,MAAO,GAAGzB,OAAOga,EAAMguB,eAAgB,KAAKhoC,OAAOyB,IAGrDuY,EAAM6vB,cAAgB,WACpB,OTsJ6C/tC,EStJpBke,EAAMle,MTuJ5ByG,GAAeA,GAAe,GAAI8yB,IAAav5B,EAAMu5B,YADtC,IAA2Bv5B,GSnJ/Cke,EAAMqsB,wBAA0B,WAC9B,OAAOA,GAAwBrsB,EAAMle,MAAOke,EAAMta,MAAM+5B,cAG1Dzf,EAAM8vB,sBAAwB,WAC5B,OAAO9vB,EAAMle,MAAMk6B,WAAahc,EAAMqsB,0BAA4B,IAGpErsB,EAAM+vB,sBAAwB,WAC5B,OAAOnD,GAA4C5sB,EAAMqsB,4BAG3DrsB,EAAMgwB,oBAAsB,WAC1B,OAAOhwB,EAAMle,MAAMk6B,WAAahc,EAAM+vB,wBAA0B,IAGlE/vB,EAAMgvB,aAAe,SAAU7tC,EAAO4tC,GACpC/uB,EAAM/P,SAAS,CACb+vB,cAAez3B,GAAe,CAC5BpH,MAAOA,GACN4tC,MAIP/uB,EAAMiwB,gBAAkB,SAAUrtC,GACX,IAAjBA,EAAMstC,SAIVttC,EAAMugC,kBACNvgC,EAAMqgC,iBAENjjB,EAAM4uB,eAGR5uB,EAAMmwB,gBAAkB,SAAUvtC,GAChCod,EAAM2tB,kBAAmB,GAG3B3tB,EAAMowB,mBAAqB,SAAUxtC,GACnC,IAAIkpC,EAAkB9rB,EAAMle,MAAMgqC,gBAE7B9rB,EAAMta,MAAMwzB,UAMLlZ,EAAMle,MAAMk6B,WAMG,UAAzBp5B,EAAMpD,OAAO6wC,SAAgD,aAAzBztC,EAAMpD,OAAO6wC,SAC/CrwB,EAAMkvB,cANJpD,GACF9rB,EAAMswB,SAAS,UAPbxE,IACF9rB,EAAMiuB,gBAAiB,GAGzBjuB,EAAM4uB,cAaiB,UAAzBhsC,EAAMpD,OAAO6wC,SAAgD,aAAzBztC,EAAMpD,OAAO6wC,SAC/CztC,EAAMqgC,kBAIVjjB,EAAMuwB,6BAA+B,SAAU3tC,GAE7C,KAAIA,GAAwB,cAAfA,EAAMqb,MAAyC,IAAjBrb,EAAMstC,UAI7ClwB,EAAMle,MAAMy5B,WAAhB,CACA,IAAIiV,EAAexwB,EAAMle,MACrBuvB,EAAUmf,EAAanf,QACvB2K,EAAawU,EAAaxU,WAE9Bhc,EAAM4uB,aAEF5S,GACFhc,EAAM/P,SAAS,CACbw9B,0BAA2Bpc,IAG7BrR,EAAMkvB,eAENlvB,EAAMswB,SAAS,SAGjB1tC,EAAMqgC,iBACNrgC,EAAMugC,oBAGRnjB,EAAMywB,0BAA4B,SAAU7tC,GAEtCA,GAAwB,cAAfA,EAAMqb,MAAyC,IAAjBrb,EAAMstC,SAIjDlwB,EAAMkR,aAENtuB,EAAMugC,kBACNnjB,EAAMiuB,gBAAiB,EAEJ,aAAfrrC,EAAMqb,KACR+B,EAAM4uB,aAENt4B,YAAW,WACT,OAAO0J,EAAM4uB,kBAKnB5uB,EAAM0wB,SAAW,SAAU9tC,GACoB,mBAAlCod,EAAMle,MAAMgpC,kBACjBloC,EAAMpD,kBAAkBkuB,aAAegE,GAAkB9uB,EAAMpD,SACjEwgB,EAAMle,MAAMotC,cAEoC,oBAAlClvB,EAAMle,MAAMgpC,mBACxB9qB,EAAMle,MAAMgpC,kBAAkBloC,IAChCod,EAAMle,MAAMotC,eAKlBlvB,EAAM2wB,mBAAqB,WACzB3wB,EAAM4tB,aAAc,GAGtB5tB,EAAM4wB,iBAAmB,WACvB5wB,EAAM4tB,aAAc,GAGtB5tB,EAAMulB,aAAe,SAAU5M,GAC7B,IAAIkY,EAAUlY,EAAMkY,QAChBC,EAAQD,GAAWA,EAAQ5kC,KAAK,GAE/B6kC,IAIL9wB,EAAM8tB,cAAgBgD,EAAMC,QAC5B/wB,EAAM+tB,cAAgB+C,EAAMrL,QAC5BzlB,EAAMmuB,gBAAiB,IAGzBnuB,EAAM0lB,YAAc,SAAUzM,GAC5B,IAAI4X,EAAU5X,EAAM4X,QAChBC,EAAQD,GAAWA,EAAQ5kC,KAAK,GAEpC,GAAK6kC,EAAL,CAIA,IAAIE,EAASnhC,KAAKyS,IAAIwuB,EAAMC,QAAU/wB,EAAM8tB,eACxCxI,EAASz1B,KAAKyS,IAAIwuB,EAAMrL,QAAUzlB,EAAM+tB,eAE5C/tB,EAAMmuB,eAAiB6C,EADH,GAC6B1L,EAD7B,IAItBtlB,EAAMixB,WAAa,SAAUruC,GACvBod,EAAMmuB,iBAINnuB,EAAMouB,aAAepuB,EAAMouB,WAAW8C,SAAStuC,EAAMpD,SAAWwgB,EAAMwuB,cAAgBxuB,EAAMwuB,YAAY0C,SAAStuC,EAAMpD,SACzHwgB,EAAM6uB,YAIR7uB,EAAM8tB,cAAgB,EACtB9tB,EAAM+tB,cAAgB,IAGxB/tB,EAAMmxB,kBAAoB,SAAUvuC,GAC9Bod,EAAMmuB,gBAEVnuB,EAAMowB,mBAAmBxtC,IAG3Bod,EAAMoxB,yBAA2B,SAAUxuC,GACrCod,EAAMmuB,gBAEVnuB,EAAMywB,0BAA0B7tC,IAGlCod,EAAMqxB,4BAA8B,SAAUzuC,GACxCod,EAAMmuB,gBAEVnuB,EAAMuwB,6BAA6B3tC,IAGrCod,EAAMsxB,kBAAoB,SAAU1uC,GAClC,IAAIi9B,EAAaj9B,EAAM2uC,cAAcpwC,MAErC6e,EAAM/P,SAAS,CACbw9B,0BAA0B,IAG5BztB,EAAMivB,cAAcpP,EAAY,CAC9BpyB,OAAQ,iBAGLuS,EAAMle,MAAMk6B,YACfhc,EAAMwxB,cAIVxxB,EAAMyxB,aAAe,SAAU7uC,GACzBod,EAAMle,MAAMu9B,SACdrf,EAAMle,MAAMu9B,QAAQz8B,GAGtBod,EAAM/P,SAAS,CACbw9B,0BAA0B,EAC1BvU,WAAW,KAGTlZ,EAAMiuB,gBAAkBjuB,EAAMle,MAAM+pC,kBACtC7rB,EAAMswB,SAAS,SAGjBtwB,EAAMiuB,gBAAiB,GAGzBjuB,EAAM0xB,YAAc,SAAU9uC,GACxBod,EAAMwuB,aAAexuB,EAAMwuB,YAAY0C,SAAS/iC,SAAS6L,eAC3DgG,EAAM+c,SAAS4R,SAKb3uB,EAAMle,MAAM6vC,QACd3xB,EAAMle,MAAM6vC,OAAO/uC,GAGrBod,EAAMivB,cAAc,GAAI,CACtBxhC,OAAQ,eAGVuS,EAAMkvB,cAENlvB,EAAM/P,SAAS,CACbiwB,aAAc,KACdhH,WAAW,MAIflZ,EAAM4xB,cAAgB,SAAU3R,GAC1BjgB,EAAM2tB,kBAAoB3tB,EAAMta,MAAMu6B,gBAAkBA,GAI5DjgB,EAAM/P,SAAS,CACbgwB,cAAeA,KAInBjgB,EAAMgtB,0BAA4B,WAChC,OAAOA,GAA0BhtB,EAAMle,QAGzCke,EAAM5F,UAAY,SAAUxX,GAC1B,IAAIivC,EAAe7xB,EAAMle,MACrBuvB,EAAUwgB,EAAaxgB,QACvBqZ,EAAwBmH,EAAanH,sBACrCM,EAAoB6G,EAAa7G,kBACjCnL,EAAagS,EAAahS,WAC1BiS,EAAcD,EAAaC,YAC3BvW,EAAasW,EAAatW,WAC1BS,EAAa6V,EAAa7V,WAC1B5hB,EAAYy3B,EAAaz3B,UACzB8kB,EAAkB2S,EAAa3S,gBAC/B2M,EAAkBgG,EAAahG,gBAC/BkG,EAAc/xB,EAAMta,MACpBu6B,EAAgB8R,EAAY9R,cAC5BC,EAAe6R,EAAY7R,aAC3BT,EAAcsS,EAAYtS,YAC9B,IAAIlE,IAEqB,oBAAdnhB,IACTA,EAAUxX,IAENA,EAAMovC,mBAHZ,CAWA,OAFAhyB,EAAM2tB,kBAAmB,EAEjB/qC,EAAM/C,KACZ,IAAK,YACH,IAAKwxB,GAAWwO,EAAY,OAE5B7f,EAAMiyB,WAAW,YAEjB,MAEF,IAAK,aACH,IAAK5gB,GAAWwO,EAAY,OAE5B7f,EAAMiyB,WAAW,QAEjB,MAEF,IAAK,SACL,IAAK,YACH,GAAIpS,EAAY,OAEhB,GAAIK,EACFlgB,EAAMqvB,YAAYnP,OACb,CACL,IAAKwK,EAAuB,OAExBrZ,EACFrR,EAAMwvB,WACGsC,GACT9xB,EAAMkR,aAIV,MAEF,IAAK,MACH,GAAIlR,EAAM4tB,YAAa,OAEvB,GAAIhrC,EAAMsvC,WAAalW,IAAekD,IAAoBe,GAE1D4L,GAAmB7rB,EAAMktB,iBAAiBjN,EAAeR,GACvD,OAGFzf,EAAMuR,aAAa0O,GAEnB,MAEF,IAAK,QACH,GAAsB,MAAlBr9B,EAAMuvC,QAGR,MAGF,GAAInW,EAAY,CACd,IAAKiE,EAAe,OACpB,GAAIjgB,EAAM4tB,YAAa,OAEvB5tB,EAAMuR,aAAa0O,GAEnB,MAGF,OAEF,IAAK,SACCjE,GACFhc,EAAM/P,SAAS,CACbw9B,0BAA0B,IAG5BztB,EAAMivB,cAAc,GAAI,CACtBxhC,OAAQ,eAGVuS,EAAMkvB,eACG4C,GAAe9G,GACxBhrB,EAAMkR,aAGR,MAEF,IAAK,IAEH,GAAI2O,EACF,OAGF,IAAK7D,EAAY,CACfhc,EAAMswB,SAAS,SAEf,MAGF,IAAKrQ,EAAe,OAEpBjgB,EAAMuR,aAAa0O,GAEnB,MAEF,IAAK,UACCjE,EACFhc,EAAMoyB,YAAY,MAElBpyB,EAAMswB,SAAS,QAGjB,MAEF,IAAK,YACCtU,EACFhc,EAAMoyB,YAAY,QAElBpyB,EAAMswB,SAAS,SAGjB,MAEF,IAAK,SACH,IAAKtU,EAAY,OAEjBhc,EAAMoyB,YAAY,UAElB,MAEF,IAAK,WACH,IAAKpW,EAAY,OAEjBhc,EAAMoyB,YAAY,YAElB,MAEF,IAAK,OACH,IAAKpW,EAAY,OAEjBhc,EAAMoyB,YAAY,SAElB,MAEF,IAAK,MACH,IAAKpW,EAAY,OAEjBhc,EAAMoyB,YAAY,QAElB,MAEF,QACE,OAGJxvC,EAAMqgC,mBAGRjjB,EAAMguB,eAAiB,iBAAmBhuB,EAAMle,MAAMurC,cAAgBA,IACtErtB,EAAMta,MAAM+5B,YAAc1O,GAAW7hB,EAAO/N,OACrC6e,EA42BT,OAz2BA2P,GAAa2d,EAAQ,CAAC,CACpBztC,IAAK,oBACLsB,MAAO,WACLjB,KAAKmyC,4BACLnyC,KAAKoyC,wBAEDpyC,KAAK4B,MAAMgpC,mBAAqB38B,UAAYA,SAASiD,kBAEvDjD,SAASiD,iBAAiB,SAAUlR,KAAKwwC,UAAU,GAGjDxwC,KAAK4B,MAAMywC,WACbryC,KAAK0uC,eAGR,CACD/uC,IAAK,qBACLsB,MAAO,SAA4BusC,GACjC,IAAI8E,EAAetyC,KAAK4B,MACpBy5B,EAAaiX,EAAajX,WAC1BS,EAAawW,EAAaxW,WAC1B9C,EAAYh5B,KAAKwF,MAAMwzB,WAG3BA,IAAcqC,GAAcmS,EAAUnS,YACtCrC,GAAa8C,IAAe0R,EAAU1R,aACpC97B,KAAK0uC,aAGH1V,GAAaqC,IAAemS,EAAUnS,YAExCr7B,KAAK+P,SAAS,CACZipB,WAAW,GACVh5B,KAAKgvC,aAINhvC,KAAKsuC,aAAetuC,KAAKouC,kBAAoBpuC,KAAKguC,iCT5hD5D,SAAwB9a,EAAQqf,GAC9B,IAAIC,EAAWtf,EAAOmB,wBAClBoe,EAAcF,EAAUle,wBACxBqe,EAAaH,EAAUlP,aAAe,EAEtCoP,EAAYje,OAASke,EAAaF,EAAShe,OAC7C3C,GAASqB,EAAQvjB,KAAK+D,IAAI6+B,EAAUI,UAAYJ,EAAUzN,aAAe5R,EAAOmQ,aAAeqP,EAAYxf,EAAOkB,eACzGqe,EAAY3gB,IAAM4gB,EAAaF,EAAS1gB,KACjDD,GAASqB,EAAQvjB,KAAKgE,IAAI4+B,EAAUI,UAAYD,EAAY,ISqhDxDE,CAAe5yC,KAAKsuC,YAAatuC,KAAKouC,kBACtCpuC,KAAKguC,+BAAgC,KAGxC,CACDruC,IAAK,uBACLsB,MAAO,WACLjB,KAAK6yC,2BACL7yC,KAAK8yC,uBACL7kC,SAASkD,oBAAoB,SAAUnR,KAAKwwC,UAAU,KAKvD,CACD7wC,IAAK,aACLsB,MAAO,WACLjB,KAAK4B,MAAM0vC,eAEZ,CACD3xC,IAAK,cACLsB,MAAO,WACLjB,KAAK+uC,cAAc,GAAI,CACrBxhC,OAAQ,eAEVvN,KAAK4B,MAAMotC,gBAEZ,CACDrvC,IAAK,gBACLsB,MAAO,SAAuB2tC,EAAUC,GACtC7uC,KAAK4B,MAAMmtC,cAAcH,EAAUC,KAKpC,CACDlvC,IAAK,aACLsB,MAAO,WACAjB,KAAK68B,UACV78B,KAAK68B,SAAS4R,UAEf,CACD9uC,IAAK,YACLsB,MAAO,WACAjB,KAAK68B,UACV78B,KAAK68B,SAAS9iB,SAGf,CACDpa,IAAK,WACLsB,MAAO,SAAkBixC,GACvB,IAAIra,EAAS73B,KAET+yC,EAAe/yC,KAAKwF,MACpB+5B,EAAcwT,EAAaxT,YAC3BvG,EAAY+Z,EAAa/Z,UACzBiH,EAAmBjgC,KAAK6vC,wBACxBmD,EAA8B,UAAhBd,EAA0B,EAAIjS,EAAiBxgC,OAAS,EAE1E,IAAKO,KAAK4B,MAAMuvB,QAAS,CACvB,IAAI8hB,EAAgBhT,EAAiB7zB,QAAQmzB,EAAY,IAErD0T,GAAiB,IACnBD,EAAcC,GAKlBjzC,KAAKguC,gCAAkChV,GAAah5B,KAAKsuC,aACzDtuC,KAAK+P,SAAS,CACZw9B,0BAA0B,EAC1BvN,aAAc,KACdD,cAAeE,EAAiB+S,KAC/B,WACD,OAAOnb,EAAOyZ,kBAGjB,CACD3xC,IAAK,aACLsB,MAAO,SAAoB4lC,GACzB,IAAIqM,EAAelzC,KAAKwF,MACpB+5B,EAAc2T,EAAa3T,YAC3BS,EAAekT,EAAalT,aAEhC,GAAKhgC,KAAK4B,MAAMuvB,QAAhB,CACAnxB,KAAK+P,SAAS,CACZgwB,cAAe,OAEjB,IAAIoT,EAAe5T,EAAYnzB,QAAQ4zB,GAElCA,IACHmT,GAAgB,GAGlB,IAAI/lB,EAAYmS,EAAY9/B,OAAS,EACjC2zC,GAAa,EACjB,GAAK7T,EAAY9/B,OAAjB,CAEA,OAAQonC,GACN,IAAK,WAGDuM,EAFmB,IAAjBD,EAEU,GACe,IAAlBA,EAEG/lB,EAEA+lB,EAAe,EAG7B,MAEF,IAAK,OACCA,GAAgB,GAAKA,EAAe/lB,IACtCgmB,EAAYD,EAAe,GAMjCnzC,KAAK+P,SAAS,CACZs9B,eAA8B,IAAf+F,EACfpT,aAAcT,EAAY6T,SAG7B,CACDzzC,IAAK,cACLsB,MAAO,WACL,IAAI4lC,EAAYrnC,UAAUC,OAAS,QAAsBkB,IAAjBnB,UAAU,GAAmBA,UAAU,GAAK,QAChFqsC,EAAW7rC,KAAK4B,MAAMiqC,SACtB9L,EAAgB//B,KAAKwF,MAAMu6B,cAC3Bl6B,EAAU7F,KAAK8vC,sBACnB,GAAKjqC,EAAQpG,OAAb,CACA,IAAI2zC,EAAY,EAEZD,EAAettC,EAAQuG,QAAQ2zB,GAE9BA,IACHoT,GAAgB,GAGA,OAAdtM,EACFuM,EAAYD,EAAe,EAAIA,EAAe,EAAIttC,EAAQpG,OAAS,EAC5C,SAAdonC,EACTuM,GAAaD,EAAe,GAAKttC,EAAQpG,OAClB,WAAdonC,GACTuM,EAAYD,EAAetH,GACX,IAAGuH,EAAY,GACR,aAAdvM,GACTuM,EAAYD,EAAetH,GACXhmC,EAAQpG,OAAS,IAAG2zC,EAAYvtC,EAAQpG,OAAS,GAC1C,SAAdonC,IACTuM,EAAYvtC,EAAQpG,OAAS,GAG/BO,KAAKguC,+BAAgC,EACrChuC,KAAK+P,SAAS,CACZgwB,cAAel6B,EAAQutC,GACvBpT,aAAc,UAGjB,CACDrgC,IAAK,WACLsB,MAGA,WAEE,OAAKjB,KAAK4B,MAAMktB,MAOgB,oBAArB9uB,KAAK4B,MAAMktB,MACb9uB,KAAK4B,MAAMktB,MAAMsb,IAKnB/hC,GAAeA,GAAe,GAAI+hC,IAAepqC,KAAK4B,MAAMktB,OAZ1Dsb,KAcV,CACDzqC,IAAK,iBACLsB,MAAO,WACL,IAAI+vB,EAAahxB,KAAKgxB,WAClBrC,EAAK3uB,KAAK2uB,GACVhY,EAAY3W,KAAK2W,UACjBsa,EAAWjxB,KAAKixB,SAChBI,EAAerxB,KAAKqxB,aACpBE,EAAWvxB,KAAKuxB,SAChB3vB,EAAQ5B,KAAK4B,MACbuvB,EAAUvvB,EAAMuvB,QAChBC,EAAQxvB,EAAMwvB,MACdvrB,EAAUjE,EAAMiE,QAEpB,MAAO,CACLmrB,WAAYA,EACZrC,GAAIA,EACJhY,UAAWA,EACXsa,SAAUA,EACVC,SANalxB,KAAKkxB,WAOlBC,QAASA,EACTC,MAAOA,EACPvrB,QAASA,EACTwrB,aAAcA,EACdC,YAAa1vB,EACb2vB,SAAUA,EACVzC,MAAO9uB,KAAKqzC,cAGf,CACD1zC,IAAK,WACLsB,MAAO,WAEL,OADkBjB,KAAKwF,MAAM+5B,YACV9/B,OAAS,IAE7B,CACDE,IAAK,aACLsB,MAAO,WACL,QAASjB,KAAK8vC,sBAAsBrwC,SAErC,CACDE,IAAK,cACLsB,MAAO,WACL,IAAIqyC,EAAetzC,KAAK4B,MACpBgwC,EAAc0B,EAAa1B,YAC3BzgB,EAAUmiB,EAAaniB,QAG3B,YAAoBxwB,IAAhBixC,EAAkCzgB,EAC/BygB,IAER,CACDjyC,IAAK,mBACLsB,MAAO,SAA0Bm8B,EAAQmC,GACvC,OAAOwM,GAAkB/rC,KAAK4B,MAAOw7B,EAAQmC,KAE9C,CACD5/B,IAAK,mBACLsB,MAAO,SAA0Bm8B,EAAQmC,GACvC,OAAOyM,GAAkBhsC,KAAK4B,MAAOw7B,EAAQmC,KAE9C,CACD5/B,IAAK,eACLsB,MAAO,SAAsBm8B,EAAQuC,GACnC,OAAOoN,GAAc/sC,KAAK4B,MAAOw7B,EAAQuC,KAE1C,CACDhgC,IAAK,oBACLsB,MAAO,SAA2Bm6B,EAAMl4B,GACtC,GAA4C,oBAAjClD,KAAK4B,MAAM2xC,kBAAkC,CACtD,IAAI5T,EAAa3/B,KAAK4B,MAAM+9B,WACxBJ,EAAcv/B,KAAKwF,MAAM+5B,YAC7B,OAAOv/B,KAAK4B,MAAM2xC,kBAAkBnY,EAAM,CACxCl4B,QAASA,EACTy8B,WAAYA,EACZJ,YAAaA,IAGf,OAAOv/B,KAAKmgC,eAAe/E,KAG9B,CACDz7B,IAAK,mBACLsB,MAAO,SAA0Bm6B,GAC/B,OAAOp7B,KAAK4B,MAAM0pC,iBAAiBlQ,KAKpC,CACDz7B,IAAK,4BACLsB,MAGA,WACMgN,UAAYA,SAASiD,mBACvBjD,SAASiD,iBAAiB,mBAAoBlR,KAAKywC,oBAAoB,GACvExiC,SAASiD,iBAAiB,iBAAkBlR,KAAK0wC,kBAAkB,MAGtE,CACD/wC,IAAK,2BACLsB,MAAO,WACDgN,UAAYA,SAASkD,sBACvBlD,SAASkD,oBAAoB,mBAAoBnR,KAAKywC,oBACtDxiC,SAASkD,oBAAoB,iBAAkBnR,KAAK0wC,qBAGvD,CACD/wC,IAAK,wBACLsB,MAGA,WACMgN,UAAYA,SAASiD,mBACvBjD,SAASiD,iBAAiB,aAAclR,KAAKqlC,cAAc,GAC3Dp3B,SAASiD,iBAAiB,YAAalR,KAAKwlC,aAAa,GACzDv3B,SAASiD,iBAAiB,WAAYlR,KAAK+wC,YAAY,MAG1D,CACDpxC,IAAK,uBACLsB,MAAO,WACDgN,UAAYA,SAASkD,sBACvBlD,SAASkD,oBAAoB,aAAcnR,KAAKqlC,cAChDp3B,SAASkD,oBAAoB,YAAanR,KAAKwlC,aAC/Cv3B,SAASkD,oBAAoB,WAAYnR,KAAK+wC,eAGjD,CACDpxC,IAAK,cACLsB,MAGA,WACE,IAAIuyC,EAAexzC,KAAK4B,MACpBy5B,EAAamY,EAAanY,WAC1B0D,EAAeyU,EAAazU,aAC5B0U,EAAUD,EAAaC,QACvB9T,EAAa6T,EAAa7T,WAC1BjkB,EAAW83B,EAAa93B,SACxBg4B,EAAOF,EAAaE,KAGpBhX,EADsB18B,KAAK2vC,gBACCjT,MAE5B2Q,EAAgBrtC,KAAKwF,MAAM6nC,cAC3BM,EAAc3tC,KAAK2tC,YACnBv2B,EAAKq8B,GAAWzzC,KAAK0vC,aAAa,SAElCiE,EAAiB,CACnB,oBAAqB,OACrB,aAAc3zC,KAAK4B,MAAM,cACzB,kBAAmB5B,KAAK4B,MAAM,oBAGhC,OAAKm9B,EAgBe19B,IAAM6M,cAAcwuB,EAAOv9B,YAAS,GAAIwuC,EAAa,CACvEiG,eAAgB,OAChBC,aAAc,MACdC,YAAa,MACb18B,GAAIA,EACJ9U,SAAUtC,KAAKwuC,YACfnT,WAAYA,EACZZ,SAAU4S,EACVoE,OAAQzxC,KAAKwxC,YACbvS,SAAUj/B,KAAKoxC,kBACfjS,QAASn/B,KAAKuxC,aACdwC,WAAY,QACZr4B,SAAUA,EACVg4B,KAAMA,EACN31B,KAAM,OACN9c,MAAO0+B,GACNgU,IA9BmBtyC,IAAM6M,cAAcg0B,GAAY/iC,YAAS,CAC3DiY,GAAIA,EACJ9U,SAAUtC,KAAKwuC,YACfiD,OAAQzxC,KAAKwxC,YACbvS,SAAU73B,GACV+3B,QAASn/B,KAAKuxC,aACdyC,UAAU,EACVlX,SAAUzB,EACV3f,SAAUA,EACVg4B,KAAMA,EACNzyC,MAAO,IACN0yC,MAqBN,CACDh0C,IAAK,2BACLsB,MAAO,WACL,IAAIgzC,EAASj0C,KAETk0C,EAAuBl0C,KAAK2vC,gBAC5BzU,EAAagZ,EAAqBhZ,WAClCF,EAAsBkZ,EAAqBlZ,oBAC3CC,EAAkBiZ,EAAqBjZ,gBACvCgC,EAAmBiX,EAAqBjX,iBACxCO,EAAc0W,EAAqB1W,YACnCH,EAAc6W,EAAqB7W,YAEnCsQ,EAAc3tC,KAAK2tC,YACnBwG,EAAen0C,KAAK4B,MACpBipC,EAA2BsJ,EAAatJ,yBACxCxP,EAAa8Y,EAAa9Y,WAC1BlK,EAAUgjB,EAAahjB,QACvBwO,EAAawU,EAAaxU,WAC1BrC,EAAc6W,EAAa7W,YAC3B8W,EAAep0C,KAAKwF,MACpB+5B,EAAc6U,EAAa7U,YAC3BS,EAAeoU,EAAapU,aAC5BhH,EAAYob,EAAapb,UAE7B,IAAKh5B,KAAKkxB,aAAe2Z,EACvB,OAAOlL,EAAa,KAAoBt+B,IAAM6M,cAAcmvB,EAAal+B,YAAS,GAAIwuC,EAAa,CACjGhuC,IAAK,cACL07B,WAAYA,EACZrC,UAAWA,IACTsE,GAGN,GAAInM,EA4BF,OA3BmBoO,EAAYrrB,KAAI,SAAUmgC,EAAK/pC,GAChD,IAAIgqC,EAAkBD,IAAQrU,EAC9B,OAAoB3+B,IAAM6M,cAAcgtB,EAAY/7B,YAAS,GAAIwuC,EAAa,CAC5ExS,WAAY,CACVI,UAAWP,EACXQ,MAAOP,EACPQ,OAAQwB,GAEVjE,UAAWsb,EACXjZ,WAAYA,EACZ17B,IAAK,GAAGmG,OAAOmuC,EAAO1I,eAAe8I,IAAMvuC,OAAOwE,GAClDA,MAAOA,EACPgxB,YAAa,CACX94B,QAAS,WACP,OAAOyxC,EAAO9E,YAAYkF,IAE5BtD,WAAY,WACV,OAAOkD,EAAO9E,YAAYkF,IAE5BE,YAAa,SAAqBznC,GAChCA,EAAEi2B,iBACFj2B,EAAEm2B,oBAGN7H,KAAMiZ,IACJJ,EAAOV,kBAAkBc,EAAK,aAKtC,GAAI1U,EACF,OAAO,KAGT,IAAIqK,EAAczK,EAAY,GAC9B,OAAoBl+B,IAAM6M,cAAcsvB,EAAar+B,YAAS,GAAIwuC,EAAa,CAC7EvS,KAAM4O,EACN3O,WAAYA,IACVr7B,KAAKuzC,kBAAkBvJ,EAAa,YAEzC,CACDrqC,IAAK,uBACLsB,MAAO,WACL,IACI26B,EADuB57B,KAAK2vC,gBACU/T,eAEtC+R,EAAc3tC,KAAK2tC,YACnB6G,EAAgBx0C,KAAK4B,MACrBy5B,EAAamZ,EAAcnZ,WAC3BmQ,EAAYgJ,EAAchJ,UAC1BxS,EAAYh5B,KAAKwF,MAAMwzB,UAE3B,IAAKh5B,KAAK4xC,gBAAkBhW,GAAkBP,IAAer7B,KAAKkxB,YAAcsa,EAC9E,OAAO,KAGT,IAAIjU,EAAa,CACfgd,YAAav0C,KAAKuwC,0BAClBQ,WAAY/wC,KAAKkxC,yBACjB,cAAe,QAEjB,OAAoB7vC,IAAM6M,cAAc0tB,EAAgBz8B,YAAS,GAAIwuC,EAAa,CAChFpW,WAAYA,EACZyB,UAAWA,OAGd,CACDr5B,IAAK,yBACLsB,MAAO,WACL,IACIq5B,EADuBt6B,KAAK2vC,gBACYrV,iBAExCqT,EAAc3tC,KAAK2tC,YACnB8G,EAAgBz0C,KAAK4B,MACrBy5B,EAAaoZ,EAAcpZ,WAC3BmQ,EAAYiJ,EAAcjJ,UAC1BxS,EAAYh5B,KAAKwF,MAAMwzB,UAC3B,IAAKsB,IAAqBkR,EAAW,OAAO,KAI5C,OAAoBnqC,IAAM6M,cAAcosB,EAAkBn7B,YAAS,GAAIwuC,EAAa,CAClFpW,WAJe,CACf,cAAe,QAIf8D,WAAYA,EACZrC,UAAWA,OAGd,CACDr5B,IAAK,2BACLsB,MAAO,WACL,IAAIyzC,EAAuB10C,KAAK2vC,gBAC5B3T,EAAoB0Y,EAAqB1Y,kBACzCS,EAAqBiY,EAAqBjY,mBAG9C,IAAKT,IAAsBS,EAAoB,OAAO,KACtD,IAAIkR,EAAc3tC,KAAK2tC,YACnBtS,EAAar7B,KAAK4B,MAAMy5B,WACxBrC,EAAYh5B,KAAKwF,MAAMwzB,UAC3B,OAAoB33B,IAAM6M,cAAcuuB,EAAoBt9B,YAAS,GAAIwuC,EAAa,CACpFtS,WAAYA,EACZrC,UAAWA,OAGd,CACDr5B,IAAK,0BACLsB,MAAO,WACL,IACI+6B,EADuBh8B,KAAK2vC,gBACa3T,kBAE7C,IAAKA,EAAmB,OAAO,KAC/B,IAAI2R,EAAc3tC,KAAK2tC,YACnBtS,EAAar7B,KAAK4B,MAAMy5B,WACxBrC,EAAYh5B,KAAKwF,MAAMwzB,UACvBzB,EAAa,CACfgd,YAAav0C,KAAKqwC,6BAClBU,WAAY/wC,KAAKmxC,4BACjB,cAAe,QAEjB,OAAoB9vC,IAAM6M,cAAc8tB,EAAmB78B,YAAS,GAAIwuC,EAAa,CACnFpW,WAAYA,EACZ8D,WAAYA,EACZrC,UAAWA,OAGd,CACDr5B,IAAK,aACLsB,MAAO,WACL,IAAI0zC,EAAS30C,KAET40C,EAAuB50C,KAAK2vC,gBAC5B1T,EAAQ2Y,EAAqB3Y,MAC7BI,EAAeuY,EAAqBvY,aACpCjnB,EAAOw/B,EAAqBx/B,KAC5B4nB,EAAW4X,EAAqB5X,SAChCtF,EAAakd,EAAqBld,WAClCF,EAAiBod,EAAqBpd,eACtCF,EAAmBsd,EAAqBtd,iBACxC4F,EAAS0X,EAAqB1X,OAE9ByQ,EAAc3tC,KAAK2tC,YACnB5N,EAAgB//B,KAAKwF,MAAMu6B,cAC3B8U,EAAgB70C,KAAK4B,MACrB8oC,EAAoBmK,EAAcnK,kBAClC/K,EAAakV,EAAclV,WAC3B6L,EAAYqJ,EAAcrJ,UAC1B9C,EAAiBmM,EAAcnM,eAC/BrS,EAAgBwe,EAAcxe,cAC9BH,EAAgB2e,EAAc3e,cAC9B4F,EAAa+Y,EAAc/Y,WAC3BxF,EAAgBue,EAAcve,cAC9BC,EAAese,EAActe,aAC7Bue,EAAmBD,EAAcC,iBACjCrJ,EAAwBoJ,EAAcpJ,sBACtCjV,EAA2Bqe,EAAcre,yBACzCkT,EAAmBmL,EAAcnL,iBACjCqL,EAAoBF,EAAcE,kBAClCC,EAAuBH,EAAcG,qBACzC,IAAKlZ,EAAY,OAAO,KAExB,IAoCImZ,EApCAvzC,EAAS,SAAgBE,EAAOwV,GAClC,IAAI2G,EAAOnc,EAAMmc,KACbqd,EAAOx5B,EAAMw5B,KACbC,EAAaz5B,EAAMy5B,WACnB8B,EAAav7B,EAAMu7B,WACnBjE,EAAQt3B,EAAMs3B,MACdj4B,EAAQW,EAAMX,MACd+3B,EAAY+G,IAAkB3E,EAC9B8Z,EAAU7Z,OAAa16B,EAAY,WACrC,OAAOg0C,EAAOjD,cAActW,IAE1B+Z,EAAW9Z,OAAa16B,EAAY,WACtC,OAAOg0C,EAAOtjB,aAAa+J,IAEzBga,EAAW,GAAGtvC,OAAO6uC,EAAOjF,aAAa,UAAW,KAAK5pC,OAAOsR,GAChEmgB,EAAa,CACfngB,GAAIg+B,EACJ5yC,QAAS2yC,EACTE,YAAaH,EACbI,YAAaJ,EACbx5B,UAAW,GAEb,OAAoBra,IAAM6M,cAAcgvB,EAAQ/9B,YAAS,GAAIwuC,EAAa,CACxEpW,WAAYA,EACZ6D,KAAMA,EACNC,WAAYA,EACZ8B,WAAYA,EACZx9B,IAAKy1C,EACLlc,MAAOA,EACPnb,KAAMA,EACN9c,MAAOA,EACP+3B,UAAWA,EACX12B,SAAU02B,EAAY2b,EAAOtG,yBAAsB1tC,IACjDg0C,EAAOpB,kBAAkB3xC,EAAMw5B,KAAM,UAK3C,GAAIp7B,KAAKu1C,aACPN,EAASj1C,KAAK4vC,wBAAwB17B,KAAI,SAAUnI,GAClD,GAAkB,UAAdA,EAAKgS,KAAkB,CACzB,IAAIqd,EAAOrvB,EAAKqvB,KACZv1B,EAAUkG,EAAKlG,QACf2vC,EAAazpC,EAAKzB,MAClBmrC,EAAU,GAAG3vC,OAAO6uC,EAAOjF,aAAa,SAAU,KAAK5pC,OAAO0vC,GAC9DE,EAAY,GAAG5vC,OAAO2vC,EAAS,YACnC,OAAoBp0C,IAAM6M,cAAc+tB,EAAO98B,YAAS,GAAIwuC,EAAa,CACvEhuC,IAAK81C,EACLra,KAAMA,EACNv1B,QAASA,EACTq2B,QAASG,EACTF,aAAc,CACZ/kB,GAAIs+B,EACJta,KAAMrvB,EAAKqvB,MAEblC,MAAOyb,EAAOrJ,iBAAiBv/B,EAAKqvB,QAClCrvB,EAAKlG,QAAQqO,KAAI,SAAUkpB,GAC7B,OAAO17B,EAAO07B,EAAQ,GAAGt3B,OAAO0vC,EAAY,KAAK1vC,OAAOs3B,EAAO9yB,YAE5D,GAAkB,WAAdyB,EAAKgS,KACd,OAAOrc,EAAOqK,EAAM,GAAGjG,OAAOiG,EAAKzB,gBAGlC,GAAIkhC,EAAW,CACpB,IAAIxhC,EAAU0+B,EAAe,CAC3B/I,WAAYA,IAEd,GAAgB,OAAZ31B,EAAkB,OAAO,KAC7BirC,EAAsB5zC,IAAM6M,cAAcspB,EAAgBmW,EAAa3jC,OAClE,CACL,IAAI2rC,EAAWjM,EAAiB,CAC9B/J,WAAYA,IAGd,GAAiB,OAAbgW,EAAmB,OAAO,KAC9BV,EAAsB5zC,IAAM6M,cAAcopB,EAAkBqW,EAAagI,GAG3E,IAAIC,EAAqB,CACvBvf,cAAeA,EACfH,cAAeA,EACfI,cAAeA,EACfC,aAAcA,EACdC,yBAA0BA,GAExBqf,EAA2Bx0C,IAAM6M,cAAc6nB,GAAY52B,YAAS,GAAIwuC,EAAaiI,IAAqB,SAAU7a,GACtH,IAAIjlB,EAAMilB,EAAMjlB,IACZggC,EAAoB/a,EAAMrE,YAC1BtD,EAAY0iB,EAAkB1iB,UAC9BH,EAAY6iB,EAAkB7iB,UAClC,OAAoB5xB,IAAM6M,cAAckH,EAAMjW,YAAS,GAAIwuC,EAAaiI,EAAoB,CAC1FtzC,SAAUwT,EACVyhB,WAAY,CACVgd,YAAaI,EAAO5E,gBACpBsF,YAAaV,EAAO1E,iBAEtBzE,UAAWA,EACXpY,UAAWA,IACI/xB,IAAM6M,cAAc21B,GAAe,CAClDG,eAAgB0G,EAChBrG,YAAa0Q,EACb5Q,eAAgB6Q,EAChBlR,YAAa2H,IACZ,SAAUsK,GACX,OAAoB10C,IAAM6M,cAAc8uB,EAAU79B,YAAS,GAAIwuC,EAAa,CAC1ErrC,SAAU,SAAkBgtB,GAC1BqlB,EAAOpG,eAAejf,GAEtBymB,EAAgBzmB,IAElBkc,UAAWA,EACXvY,UAAWA,EACX8M,cAAeA,IACbkV,UAMR,OAAOH,GAAqC,UAAjBve,EAAwCl1B,IAAM6M,cAAcwpB,EAAYv4B,YAAS,GAAIwuC,EAAa,CAC3H3V,SAAU8c,EACV7c,eAAgBj4B,KAAKkuC,WACrB5X,cAAeA,EACfC,aAAcA,IACZsf,GAAeA,IAEpB,CACDl2C,IAAK,kBACLsB,MAAO,WACL,IAAI+0C,EAASh2C,KAETi2C,EAAgBj2C,KAAK4B,MACrBuiB,EAAY8xB,EAAc9xB,UAC1BkX,EAAa4a,EAAc5a,WAC3BlK,EAAU8kB,EAAc9kB,QACxBxsB,EAAOsxC,EAActxC,KACrB46B,EAAcv/B,KAAKwF,MAAM+5B,YAC7B,GAAK56B,IAAQ02B,EAAb,CAEA,GAAIlK,EAAS,CACX,GAAIhN,EAAW,CACb,IAAIljB,EAAQs+B,EAAYrrB,KAAI,SAAUmgC,GACpC,OAAO2B,EAAOzK,eAAe8I,MAC5B9oC,KAAK4Y,GACR,OAAoB9iB,IAAM6M,cAAc,QAAS,CAC/CvJ,KAAMA,EACNoZ,KAAM,SACN9c,MAAOA,IAGT,IAAI27B,EAAQ2C,EAAY9/B,OAAS,EAAI8/B,EAAYrrB,KAAI,SAAUmgC,EAAK90C,GAClE,OAAoB8B,IAAM6M,cAAc,QAAS,CAC/CvO,IAAK,KAAKmG,OAAOvG,GACjBoF,KAAMA,EACNoZ,KAAM,SACN9c,MAAO+0C,EAAOzK,eAAe8I,QAEfhzC,IAAM6M,cAAc,QAAS,CAC7CvJ,KAAMA,EACNoZ,KAAM,WAER,OAAoB1c,IAAM6M,cAAc,MAAO,KAAM0uB,GAGvD,IAAIsZ,EAAS3W,EAAY,GAAKv/B,KAAKurC,eAAehM,EAAY,IAAM,GAEpE,OAAoBl+B,IAAM6M,cAAc,QAAS,CAC/CvJ,KAAMA,EACNoZ,KAAM,SACN9c,MAAOi1C,OAIZ,CACDv2C,IAAK,mBACLsB,MAAO,WACL,IAAI0sC,EAAc3tC,KAAK2tC,YACnBwI,EAAen2C,KAAKwF,MACpBs6B,EAAgBqW,EAAarW,cAC7BC,EAAgBoW,EAAapW,cAC7BC,EAAemW,EAAanW,aAC5BhH,EAAYmd,EAAand,UACzBuG,EAAc4W,EAAa5W,YAC3BU,EAAmBjgC,KAAK8vC,sBAC5B,OAAoBzuC,IAAM6M,cAAc2xB,GAAY1gC,YAAS,GAAIwuC,EAAa,CAC5E7N,cAAeA,EACfC,cAAeA,EACfC,aAAcA,EACdhH,UAAWA,EACXuG,YAAaA,EACbU,iBAAkBA,OAGrB,CACDtgC,IAAK,SACLsB,MAAO,WACL,IAAIm1C,EAAuBp2C,KAAK2vC,gBAC5B9T,EAAUua,EAAqBva,QAC/BU,EAAsB6Z,EAAqB7Z,oBAC3CgB,EAAkB6Y,EAAqB7Y,gBACvCE,EAAiB2Y,EAAqB3Y,eAEtC4Y,EAAgBr2C,KAAK4B,MACrB8B,EAAY2yC,EAAc3yC,UAC1B0T,EAAKi/B,EAAcj/B,GACnBikB,EAAagb,EAAchb,WAC3BS,EAAaua,EAAcva,WAC3B9C,EAAYh5B,KAAKwF,MAAMwzB,UACvB2U,EAAc3tC,KAAK2tC,YAAc3tC,KAAKs2C,iBAC1C,OAAoBj1C,IAAM6M,cAAcqvB,EAAiBp+B,YAAS,GAAIwuC,EAAa,CACjFjqC,UAAWA,EACX6zB,WAAY,CACVngB,GAAIA,EACJ8C,UAAWla,KAAKka,WAElBmhB,WAAYA,EACZrC,UAAWA,IACTh5B,KAAKu2C,mBAAiCl1C,IAAM6M,cAAc2tB,EAAS18B,YAAS,GAAIwuC,EAAa,CAC/FrrC,SAAUtC,KAAKmuC,cACf5W,WAAY,CACVgd,YAAav0C,KAAKkwC,mBAClBa,WAAY/wC,KAAKixC,mBAEnB5V,WAAYA,EACZrC,UAAWA,EACX8C,WAAYA,IACGz6B,IAAM6M,cAAcuvB,EAAgBt+B,YAAS,GAAIwuC,EAAa,CAC7EtS,WAAYA,IACVr7B,KAAKw2C,2BAA4Bx2C,KAAKy2C,eAA6Bp1C,IAAM6M,cAAcquB,EAAqBp9B,YAAS,GAAIwuC,EAAa,CACxItS,WAAYA,IACVr7B,KAAK02C,uBAAwB12C,KAAK22C,yBAA0B32C,KAAK42C,2BAA4B52C,KAAK62C,4BAA6B72C,KAAK82C,aAAc92C,KAAK+2C,sBAE3J,CAAC,CACHp3C,IAAK,2BACLsB,MAAO,SAAkCW,EAAO4D,GAC9C,IAAIgoC,EAAYhoC,EAAMgoC,UAClBF,EAA0B9nC,EAAM8nC,wBAChCC,EAA2B/nC,EAAM+nC,yBACjC1nC,EAAUjE,EAAMiE,QAChB5E,EAAQW,EAAMX,MACd66B,EAAal6B,EAAMk6B,WACnB6D,EAAa/9B,EAAM+9B,WACnBqX,EAAsB,GAE1B,GAAIxJ,IAAcvsC,IAAUusC,EAAUvsC,OAAS4E,IAAY2nC,EAAU3nC,SAAWi2B,IAAe0R,EAAU1R,YAAc6D,IAAe6N,EAAU7N,YAAa,CAC3J,IAAIJ,EAAc1O,GAAW5vB,GACzBg/B,EAAmBnE,EAhkD/B,SAA+Bl6B,EAAO29B,GACpC,OAAOmN,GAA4CP,GAAwBvqC,EAAO29B,IA+jDxCsQ,CAAsBjuC,EAAO29B,GAAe,GAC5ES,EAAesN,EA/iD3B,SAA6B9nC,EAAOyxC,GAClC,IAAIjX,EAAex6B,EAAMw6B,aAErBkX,EADkB1xC,EAAM+5B,YACWnzB,QAAQ4zB,GAE/C,GAAIkX,GAAoB,EAAG,CAGzB,GAFuBD,EAAgB7qC,QAAQ4zB,IAEvB,EAEtB,OAAOA,EACF,GAAIkX,EAAmBD,EAAgBx3C,OAG5C,OAAOw3C,EAAgBC,GAI3B,OAAO,KA6hD4CC,CAAoB3xC,EAAO+5B,GAAe,KAEvFyX,EAAsB,CACpBzX,YAAaA,EACbQ,cA9hDV,SAA8Bv6B,EAAOK,GACnC,IAAIuxC,EAAoB5xC,EAAMu6B,cAC9B,OAAOqX,GAAqBvxC,EAAQuG,QAAQgrC,IAAsB,EAAIA,EAAoBvxC,EAAQ,GAyhDxEwxC,CAAqB7xC,EAAOy6B,GAI9CD,aAAcA,EACdsN,yBAAyB,GAK7B,IAAIgK,EAAoD,MAA5B/J,GAAoC3rC,IAAU4rC,EAAY,CACpFH,cAAeE,EACfA,8BAA0B5sC,GACxB,GACJ,OAAO0H,GAAeA,GAAeA,GAAe,GAAI2uC,GAAsBM,GAAwB,GAAI,CACxG9J,UAAW5rC,QAKVwrC,EApgDiB,CAqgDxB9rC,aAEF8rC,GAAO5wB,aAAeA,GCxnFtB,IAAIA,GAAe,CACjB+6B,kBAAmB,GACnBC,mBAAmB,EACnBC,aAAc,MC8CZntC,I,8BAFFhJ,YDzCgB,SAAqBo2C,GACrC,IAAIC,EAAQC,EAEZ,OAAOA,EAAQD,EAAsB,SAAU3hB,GAC7CpG,GAAUioB,EAAc7hB,GAExB,IAAIC,EAAShG,GAAa4nB,GAE1B,SAASA,IACP,IAAI/3B,EAEJuP,GAAgBrvB,KAAM63C,GAEtB,IAAK,IAAIhqC,EAAOrO,UAAUC,OAAQ+J,EAAO,IAAIrJ,MAAM0N,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EtE,EAAKsE,GAAQtO,UAAUsO,GA6CzB,OA1CAgS,EAAQmW,EAAOn2B,KAAKC,MAAMk2B,EAAQ,CAACj2B,MAAM8F,OAAO0D,KAC1C+P,YAAS,EACfuG,EAAMta,MAAQ,CACZm6B,gBAAuCh/B,IAA3Bmf,EAAMle,MAAM+9B,WAA2B7f,EAAMle,MAAM+9B,WAAa7f,EAAMle,MAAM21C,kBACxFzb,gBAAuCn7B,IAA3Bmf,EAAMle,MAAMk6B,WAA2Bhc,EAAMle,MAAMk6B,WAAahc,EAAMle,MAAM41C,kBACxFv2C,WAA6BN,IAAtBmf,EAAMle,MAAMX,MAAsB6e,EAAMle,MAAMX,MAAQ6e,EAAMle,MAAM61C,cAG3E33B,EAAMmf,SAAW,SAAUh+B,EAAO4tC,GAChC/uB,EAAMg4B,SAAS,WAAY72C,EAAO4tC,GAElC/uB,EAAM/P,SAAS,CACb9O,MAAOA,KAIX6e,EAAMivB,cAAgB,SAAU9tC,EAAO4tC,GAGrC,IAAID,EAAW9uB,EAAMg4B,SAAS,gBAAiB72C,EAAO4tC,GAEtD/uB,EAAM/P,SAAS,CACb4vB,gBAAyBh/B,IAAbiuC,EAAyBA,EAAW3tC,KAIpD6e,EAAMwxB,WAAa,WACjBxxB,EAAMg4B,SAAS,cAEfh4B,EAAM/P,SAAS,CACb+rB,YAAY,KAIhBhc,EAAMkvB,YAAc,WAClBlvB,EAAMg4B,SAAS,eAEfh4B,EAAM/P,SAAS,CACb+rB,YAAY,KAIThc,EA2DT,OAxDA2P,GAAaooB,EAAc,CAAC,CAC1Bl4C,IAAK,QACLsB,MAAO,WACLjB,KAAKuZ,OAAOk1B,UAEb,CACD9uC,IAAK,OACLsB,MAAO,WACLjB,KAAKuZ,OAAOQ,SAGb,CACDpa,IAAK,UACLsB,MAAO,SAAiBtB,GACtB,YAA2BgB,IAApBX,KAAK4B,MAAMjC,GAAqBK,KAAK4B,MAAMjC,GAAOK,KAAKwF,MAAM7F,KAGrE,CACDA,IAAK,WACLsB,MAAO,SAAkB0D,GACvB,GAAgC,oBAArB3E,KAAK4B,MAAM+C,GAAsB,CAG1C,IAFA,IAAIyxB,EAEKxH,EAAQpvB,UAAUC,OAAQ+J,EAAO,IAAIrJ,MAAMyuB,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGrlB,EAAKqlB,EAAQ,GAAKrvB,UAAUqvB,GAG9B,OAAQuH,EAAcp2B,KAAK4B,OAAO+C,GAAM5E,MAAMq2B,EAAa5sB,MAG9D,CACD7J,IAAK,SACLsB,MAAO,WACL,IAAI42B,EAAS73B,KAET+3B,EAAe/3B,KAAK4B,MACpBm2B,EAAawf,kBACbxf,EAAayf,kBACbzf,EAAa0f,aACb,IAAI71C,EAAQotB,GAAyB+I,EAAc,CAAC,oBAAqB,oBAAqB,iBAElG,OAAoB12B,IAAM6M,cAAcwpC,EAAiBv4C,YAAS,GAAIyC,EAAO,CAC3EkU,IAAK,SAAatG,GAChBqoB,EAAOte,OAAS/J,GAElBmwB,WAAY3/B,KAAK+3C,QAAQ,cACzBjc,WAAY97B,KAAK+3C,QAAQ,cACzB9Y,SAAUj/B,KAAKi/B,SACf8P,cAAe/uC,KAAK+uC,cACpBC,YAAahvC,KAAKgvC,YAClBsC,WAAYtxC,KAAKsxC,WACjBrwC,MAAOjB,KAAK+3C,QAAQ,gBAKnBF,EAnH4B,CAoHnCv2C,aAAYq2C,EAAOn7B,aAAeA,GAAco7B,EC5ExCI,CAAY5K,KAET9iC,Q,6BC3DA,SAAS+kB,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAInuB,UAAU,qCCFxB,SAASouB,EAAkBlwB,EAAQsC,GACjC,IAAK,IAAIrC,EAAI,EAAGA,EAAIqC,EAAMnC,OAAQF,IAAK,CACrC,IAAI8f,EAAazd,EAAMrC,GACvB8f,EAAWjX,WAAaiX,EAAWjX,aAAc,EACjDiX,EAAWxC,cAAe,EACtB,UAAWwC,IAAYA,EAAWvC,UAAW,GACjD1d,OAAOqJ,eAAenJ,EAAQ+f,EAAW1f,IAAK0f,IAInC,SAASoQ,EAAaF,EAAaG,EAAYC,GAG5D,OAFID,GAAYF,EAAkBD,EAAY3vB,UAAW8vB,GACrDC,GAAaH,EAAkBD,EAAaI,GACzCJ,E,sECZM,SAAS0oB,EAA2B/6B,EAAGg7B,GACpD,IAAIC,EAEJ,GAAsB,qBAAX93C,QAAgD,MAAtB6c,EAAE7c,OAAOC,UAAmB,CAC/D,GAAIH,MAAMC,QAAQ8c,KAAOi7B,EAAK,OAAAh3C,EAAA,GAA2B+b,KAAOg7B,GAAkBh7B,GAAyB,kBAAbA,EAAEzd,OAAqB,CAC/G04C,IAAIj7B,EAAIi7B,GACZ,IAAI54C,EAAI,EAEJ64C,EAAI,aAER,MAAO,CACLC,EAAGD,EACH5tC,EAAG,WACD,OAAIjL,GAAK2d,EAAEzd,OAAe,CACxBsB,MAAM,GAED,CACLA,MAAM,EACNE,MAAOic,EAAE3d,OAGbuN,EAAG,SAAWpM,GACZ,MAAMA,GAER43C,EAAGF,GAIP,MAAM,IAAIh3C,UAAU,yIAGtB,IAEIF,EAFAq3C,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLH,EAAG,WACDF,EAAKj7B,EAAE7c,OAAOC,aAEhBkK,EAAG,WACD,IAAIiuC,EAAON,EAAGr3C,OAEd,OADAy3C,EAAmBE,EAAK13C,KACjB03C,GAET3rC,EAAG,SAAW4rC,GACZF,GAAS,EACTt3C,EAAMw3C,GAERJ,EAAG,WACD,IACOC,GAAoC,MAAhBJ,EAAW,QAAWA,EAAW,SAC1D,QACA,GAAIK,EAAQ,MAAMt3C,K,2BChDX,SAASw8B,EAAmBx9B,GACzC,OCJa,SAA4BA,GACzC,GAAIC,MAAMC,QAAQF,GAAM,OAAO,OAAAy4C,EAAA,GAAiBz4C,GDGzC,CAAkBA,IELZ,SAA0By9B,GACvC,GAAsB,qBAAXt9B,QAA0BA,OAAOC,YAAYlB,OAAOu+B,GAAO,OAAOx9B,MAAMwK,KAAKgzB,GFIvD,CAAgBz9B,IAAQ,OAAAiB,EAAA,GAA2BjB,IGLvE,WACb,MAAM,IAAIkB,UAAU,wIHIwE,G,WIH9F,EAAe,SAACmG,GAAD,MACI,aAAjBA,EAAQwW,MCHV,EAAe,SAAC9c,GAAD,OAAwD,MAATA,GCEjD23C,EAAe,SAAC33C,GAAD,MAAqC,kBAAVA,GAEvD,EAAe,SAAmBA,GAAnB,OACZ43C,EAAkB53C,KAClBd,MAAMC,QAAQa,IACf23C,EAAa33C,MACXA,aAAiBuvB,OCRrB,EAAe,SAAC7rB,GAAD,OAAkBA,EAAK4N,UAAU,EAAG5N,EAAK6H,OAAO,SAAW7H,GCI1E,EAAe,SAACm0C,EAA+Bn0C,GAAhC,OACb,EAAIm0C,GAAO7L,MAAK,SAACj3B,GAAD,OAAa+iC,EAAkBp0C,KAAUqR,MCL3D,EAAe,SAAC/U,GAAD,OAAkBA,EAAMgH,OAAO6oB,UCA9C,EAAe,SAAC2B,GAAD,YAA4C9xB,IAAR8xB,GCKnD,EAAe,SACb/mB,EACAtH,EACAqzC,GAEA,GAAIuB,EAASttC,IAAQtH,EAAM,CACzB,IAAM+B,EAAS8yC,EAAQ70C,EAAK0G,MAAM,cAAc6hC,QAC9C,SAACxmC,EAAQxG,GAAT,OAAkBk5C,EAAkB1yC,GAAUA,EAASA,EAAOxG,KAC9D+L,GAGF,OAAOwtC,EAAY/yC,IAAWA,IAAWuF,EACrCwtC,EAAYxtC,EAAItH,IACdqzC,EACA/rC,EAAItH,GACN+B,IClBKgzC,EACL,OAIKC,EACH,SADGA,EAED,WAFCA,EAGD,WAHCA,EAIA,YAJAA,EAKN,MAGMC,EACN,MADMA,EAEN,MAFMA,EAGA,YAHAA,EAIA,YAJAA,EAKF,UALEA,EAMD,WANCA,EAOD,WCtBZ,EAAe,SACb35C,EACAC,GAEA,IAAMgkB,EAAO,OAAH,UAAQjkB,GAGlB,cAFOikB,EAAKhkB,GAELgkB,GCFH21B,EAAc,gBAA0C,MAE9DA,EAAY57B,YAAc,a,ICF1B,EAAe,SACb67B,EACAC,EACAC,EACAC,GAJa,IAKbC,IALa,gEAObJ,EACI,IAAIhpB,MAAMipB,EAAW,CACnB5yB,IAAK,SAAClb,EAAKgM,GACT,GAAIA,KAAQhM,EAQV,OAPI+tC,EAAiBzjC,QAAQ0B,KAAU0hC,IACrCK,EAAiBzjC,QAAQ0B,IAAQiiC,GAC7BP,GAGNM,IACGA,EAAsB1jC,QAAQ0B,IAAQ,GAClChM,EAAIgM,MAMjB8hC,GCzBN,EAAe,SAACv4C,GAAD,OACb+3C,EAAS/3C,KAAW7B,OAAO8G,KAAKjF,GAAOxB,QCAzC,EAAe,SACbm6C,EACAH,EACAE,GAEA,IAAMH,EAAYK,EAAKD,EAAe,QAEtC,OACEE,EAAcN,IACdp6C,OAAO8G,KAAKszC,GAAW/5C,QAAUL,OAAO8G,KAAKuzC,GAAkBh6C,QAC/DL,OAAO8G,KAAKszC,GAAWO,MACrB,SAACp6C,GAAD,OACE85C,EAAiB95C,OAChBg6C,GAASP,OClBlB,EAAe,SAAoBn4C,GAApB,OACbd,MAAMC,QAAQa,GAASA,EAAQ,CAACA,ICDlC,EAAiC,qBAAX+M,QACU,qBAAvBA,OAAOwf,aACM,qBAAbvf,SCAHsrC,EAAiBS,EAAQ,UAAWhsC,OAA0B,qBAAVuiB,M,ICI1D,EAAe,SACb5rB,EACAs1C,EACAC,EACAn8B,EACA/T,GALa,OAObiwC,E,+BAESC,EAAOv1C,IAAK,CACfw1C,MAAO,OAAF,wBACCD,EAAOv1C,IAASu1C,EAAOv1C,GAAOw1C,MAAQD,EAAOv1C,GAAOw1C,MAAQ,IAD7D,eAEFp8B,EAAO/T,IAAW,MAGvB,ICrBN,EAAe,SAAC/I,GAAD,MAAmB,QAAQmc,KAAKnc,ICE/C,EAAe,SAAC27B,GAAD,OACbqc,EAAQrc,EAAM55B,QAAQ,YAAa,IAAI8H,MAAM,W,SCGvBwM,EACtBzP,EACAzD,EACAnD,GAOA,IALA,IAAIqJ,GAAS,EACP8vC,EAAWC,EAAMj2C,GAAQ,CAACA,GAAQk2C,EAAal2C,GAC/C3E,EAAS26C,EAAS36C,OAClB2tB,EAAY3tB,EAAS,IAElB6K,EAAQ7K,GAAQ,CACvB,IAAME,EAAMy6C,EAAS9vC,GACjBskC,EAAW3tC,EAEf,GAAIqJ,IAAU8iB,EAAW,CACvB,IAAMmtB,EAAW1yC,EAAOlI,GACxBivC,EACEoK,EAASuB,IAAap6C,MAAMC,QAAQm6C,GAChCA,EACCzc,OAAOsc,EAAS9vC,EAAQ,IAEzB,GADA,GAGRzC,EAAOlI,GAAOivC,EACd/mC,EAASA,EAAOlI,GAElB,OAAOkI,EC1BT,IAAM,EAAe,SAAf2yC,EACJC,EACAhtC,EACAitC,GAA0D,UAExCA,GAAet7C,OAAO8G,KAAKu0C,IAFa,IAE1D,2BAAsD,KAA3C96C,EAA2C,QAC9Cg7C,EAAQ/zB,EAAI6zB,EAAQ96C,GAE1B,GAAIg7C,EAAO,CACT,IAAMC,EAAKD,EAAMC,GACX5kC,EAAU6jC,EAAKc,EAAO,MAE5B,GAAIC,GAAMntC,EAASmtC,EAAGj2C,MAAO,CAC3B,GAAIi2C,EAAG9kC,IAAI24B,OAASyK,EAAY0B,EAAG9kC,IAAI24B,SACrC,MACK,GAAImM,EAAGC,KAAM,CAClBD,EAAGC,KAAK,GAAGpM,QACX,YAEOuK,EAAShjC,IAClBwkC,EAAaxkC,EAASvI,KAjB8B,gCCFtDqtC,EAAkB,SAAlBA,EACJC,GACwB,IAAxB/jC,EAAwB,uDAAF,GAEtB,IAAK,IAAMrS,KAAQo2C,EAAU/kC,QAAS,CACpC,IAAM2kC,EAAQI,EAAU/kC,QAAQrR,GAEhC,GAAIg2C,IAAU9B,EAAkB7hC,GAAS,CACvC,IAAM4jC,EAAKD,EAAMC,GACX5kC,EAAU6jC,EAAKc,EAAO,MAE5BrjC,EACEN,EACArS,EACAi2C,GAAMA,EAAG9kC,IACL8kC,EAAG9kC,IAAIgnB,UAAa8d,EAAGC,MAAQD,EAAGC,KAAK/uC,OAAM,SAACgK,GAAD,OAASA,EAAIgnB,iBACxDn8B,EACAi6C,EAAG35C,MACLd,MAAMC,QAAQu6C,GACd,GACA,IAGN3kC,GACE8kC,EACE,CACE9kC,WAEFgB,EAAOrS,KAKf,OAAOqS,GCnCT,EAAe,SAAC/V,GAAD,OACb43C,EAAkB53C,KAAW23C,EAAa33C,I,SCApB+5C,EACtBC,EACAC,EACAC,GAEA,GACEC,EAAYH,IACZG,EAAYF,IACZD,aAAmBzqB,MACnB0qB,aAAmB1qB,KAEnB,OAAOyqB,IAAYC,EAGrB,IAAK,iBAAqBD,GAAU,CAClC,IAAMI,EAAQj8C,OAAO8G,KAAK+0C,GACpBK,EAAQl8C,OAAO8G,KAAKg1C,GAE1B,GAAIG,EAAM57C,SAAW67C,EAAM77C,OACzB,OAAO,EAGT,cAAkB47C,EAAlB,eAAyB,CAApB,IAAM17C,EAAG,KACN47C,EAAON,EAAQt7C,GAErB,IAAMw7C,GAAyB,QAARx7C,EAAgB,CACrC,IAAM67C,EAAON,EAAQv7C,GAErB,IACGq5C,EAASuC,IAASp7C,MAAMC,QAAQm7C,MAChCvC,EAASwC,IAASr7C,MAAMC,QAAQo7C,KAC5BR,EAAUO,EAAMC,EAAML,GACvBI,IAASC,EAEb,OAAO,IAMf,OAAO,E,SC3COC,GAGdn8C,EAAWI,GACX,GAAI07C,EAAY97C,IAAW87C,EAAY17C,GACrC,OAAOA,EAGT,IAAK,IAAMC,KAAOD,EAAQ,CACxB,IAAMg8C,EAAcp8C,EAAOK,GACrBg8C,EAAcj8C,EAAOC,GAE3B,IACEL,EAAOK,GACJq5C,EAAS0C,IAAgB1C,EAAS2C,IAClCx7C,MAAMC,QAAQs7C,IAAgBv7C,MAAMC,QAAQu7C,GACzCF,GAAUC,EAAaC,GACvBA,EACN,WAGJ,OAAOr8C,ECnBT,SAASs8C,GAKPp1C,EACAq1C,EACAC,EACAl6B,EACAm6B,GAIA,IAFA,IAAIzxC,GAAS,IAEJA,EAAQ9D,EAAO/G,QAAQ,CAC9B,IAAK,IAAME,KAAO6G,EAAO8D,GACnBnK,MAAMC,QAAQoG,EAAO8D,GAAO3K,MAC7Bm8C,EAAYxxC,KAAWwxC,EAAYxxC,GAAS,IAC7CwxC,EAAYxxC,GAAO3K,GAAO,GAC1Bi8C,GACEp1C,EAAO8D,GAAO3K,GACdinB,EAAIi1B,EAAcvxC,IAAU,GAAI3K,EAAK,IACrCm8C,EAAYxxC,GAAO3K,GACnBm8C,EAAYxxC,GACZ3K,IAGFq7C,EAAUp0B,EAAIi1B,EAAcvxC,IAAU,GAAI3K,GAAM6G,EAAO8D,GAAO3K,IAC1D2X,EAAIwkC,EAAYxxC,IAAU,GAAI3K,GAC7Bm8C,EAAYxxC,GAAM,+BACdwxC,EAAYxxC,IADE,eAEhB3K,GAAM,IAKjBiiB,IACGk6B,EAAYr8C,eACNmiB,EAAWm6B,GAGtB,OAAOD,EAGT,OAAe,SACbt1C,EACAq1C,EACAC,GAHa,OAKbL,GACEG,GAAep1C,EAAQq1C,EAAeC,EAAYvvC,MAAM,EAAG/F,EAAO/G,SAClEm8C,GAAeC,EAAer1C,EAAQs1C,EAAYvvC,MAAM,EAAG/F,EAAO/G,WCvDtE,OAAe,SAACwB,GAAD,MAAsD,kBAAVA,GCgB3D,IChBA,GAAe,SAACA,GAAD,MAAuD,mBAAVA,G,SCkBpC+6C,GAAMn0C,EAAazD,GACzC,IAII63C,EAJEC,EAAa7B,EAAMj2C,GAAQ,CAACA,GAAQk2C,EAAal2C,GACjD+3C,EACiB,GAArBD,EAAWz8C,OAAcoI,EAd7B,SAAiBA,EAAaq0C,GAI5B,IAHA,IAAMz8C,EAASy8C,EAAW3vC,MAAM,GAAI,GAAG9M,OACnC6K,EAAQ,EAELA,EAAQ7K,GACboI,EAASqxC,EAAYrxC,GAAUyC,IAAUzC,EAAOq0C,EAAW5xC,MAG7D,OAAOzC,EAM6Bu0C,CAAQv0C,EAAQq0C,GAC9Cv8C,EAAMu8C,EAAWA,EAAWz8C,OAAS,GAGvC08C,UACKA,EAAYx8C,GAGrB,IAAK,IAAI4K,EAAI,EAAGA,EAAI2xC,EAAW3vC,MAAM,GAAI,GAAG9M,OAAQ8K,IAAK,CACvD,IAAID,GAAS,EACT+xC,OAAS,EACPC,EAAeJ,EAAW3vC,MAAM,IAAKhC,EAAI,IACzCgyC,EAAqBD,EAAa78C,OAAS,EAMjD,IAJI8K,EAAI,IACN0xC,EAAiBp0C,KAGVyC,EAAQgyC,EAAa78C,QAAQ,CACpC,IAAMsM,EAAOuwC,EAAahyC,GAC1B+xC,EAAYA,EAAYA,EAAUtwC,GAAQlE,EAAOkE,GAG/CwwC,IAAuBjyC,IACrB0uC,EAASqD,IAAcvC,EAAcuC,IACpCl8C,MAAMC,QAAQi8C,KACZA,EAAUp0C,QACT,SAACmzB,GAAD,OACG4d,EAAS5d,KAAU0e,EAAc1e,IAAUohB,GAAUphB,MACxD37B,UAENw8C,SAAwBA,EAAelwC,UAAelE,EAAOkE,IAG/DkwC,EAAiBI,GAIrB,OAAOx0C,E,ICzDT,GAAe,SAACN,GAAD,MACI,SAAjBA,EAAQwW,MCDV,GAAe,SAACxW,GAAD,MACb,oBAAAA,EAAQwW,MCDV,GAAe,SAACxW,GAAD,MACI,UAAjBA,EAAQwW,MCIJ0+B,GAAqC,CACzCx7C,OAAO,EACPy7C,SAAS,GAGLC,GAAc,CAAE17C,OAAO,EAAMy7C,SAAS,GAE5C,GAAe,SAAC72C,GACd,GAAI1F,MAAMC,QAAQyF,GAAU,CAC1B,GAAIA,EAAQpG,OAAS,EAAG,CACtB,IAAM+G,EAASX,EACZoC,QAAO,SAACm1B,GAAD,OAAYA,GAAUA,EAAOwf,UAAYxf,EAAON,YACvD5oB,KAAI,SAACkpB,GAAD,OAAYA,EAAOn8B,SAC1B,MAAO,CAAEA,MAAOuF,EAAQk2C,UAAWl2C,EAAO/G,QAG5C,OAAOoG,EAAQ,GAAG+2C,UAAY/2C,EAAQ,GAAGi3B,SAErCj3B,EAAQ,GAAGg3C,aAAe3D,EAAYrzC,EAAQ,GAAGg3C,WAAW57C,OAC1Di4C,EAAYrzC,EAAQ,GAAG5E,QAA+B,KAArB4E,EAAQ,GAAG5E,MAC1C07C,GACA,CAAE17C,MAAO4E,EAAQ,GAAG5E,MAAOy7C,SAAS,GACtCC,GACFF,GAGN,OAAOA,IC9BT,GAAe,SACbx7C,EADa,OAEX67C,EAFW,EAEXA,cAAeC,EAFJ,EAEIA,YAAaC,EAFjB,EAEiBA,WAFjB,OAIb9D,EAAYj4C,GACRA,EACA67C,EACU,KAAV77C,EACEg8C,KACCh8C,EACH87C,EACA,IAAIvsB,KAAKvvB,GACT+7C,EACAA,EAAW/7C,GACXA,GCZAi8C,GAAkC,CACtCR,SAAS,EACTz7C,MAAO,MAGT,GAAe,SAAC4E,GAAD,OACb1F,MAAMC,QAAQyF,GACVA,EAAQ8mC,QACN,SAACxnB,EAAUiY,GAAX,OACEA,GAAUA,EAAOwf,UAAYxf,EAAON,SAChC,CACE4f,SAAS,EACTz7C,MAAOm8B,EAAOn8B,OAEhBkkB,IACN+3B,IAEFA,I,SCVkBC,GAAcxC,GACpC,GAAIA,GAASA,EAAMC,GAAI,CACrB,IAAM9kC,EAAM6kC,EAAMC,GAAG9kC,IAErB,GAAIA,EAAIgnB,SACN,OAGF,OAAIsgB,GAAYtnC,GACPA,EAAIunC,MAGTC,GAAaxnC,GACRynC,GAAc5C,EAAMC,GAAGC,MAAM55C,MAGlCu8C,GAAiB1nC,GCzBvB,ED0BkCA,EAAIjQ,SCzBnCoC,QAAO,qBAAG24B,YACV1sB,KAAI,qBAAGjT,SD2BJw8C,EAAW3nC,GACN4nC,GAAiB/C,EAAMC,GAAGC,MAAM55C,MAGlC08C,GACLzE,EAAYpjC,EAAI7U,OAAS05C,EAAMC,GAAG9kC,IAAI7U,MAAQ6U,EAAI7U,MAClD05C,EAAMC,KE5BZ,OAAe,SACbF,EACAkD,EACAC,GAEA,IAF2B,EAErBpD,EAAiD,GAF5B,IAIRC,GAJQ,IAI3B,2BAAgC,KAArB/1C,EAAqB,QACxBg2C,EAAQ/zB,EAAIg3B,EAAYj5C,GAE9Bg2C,GAASrjC,EAAImjC,EAAQ91C,EAAMg2C,EAAMC,KAPR,8BAU3B,MAAO,CACLiD,eACA/E,MAAO,EAAI4B,GACXD,WCxBJ,GAAe,SAA4B50C,EAAai4C,GAAzC,OACbA,GACAj4C,IACCA,EAAQk4C,UACPl4C,EAAQ6N,KACR7N,EAAQ8N,KACR9N,EAAQm4C,WACRn4C,EAAQo4C,WACRp4C,EAAQ0c,SACR1c,EAAQq4C,WCXZ,GAAe,SAAC,GAoBf,IAnBCC,EAmBD,EAnBCA,SACAC,EAkBD,EAlBCA,WACAC,EAiBD,EAjBCA,UACAC,EAgBD,EAhBCA,UACAC,EAeD,EAfCA,mBACAC,EAcD,EAdCA,qBACAC,EAaD,EAbCA,YACAC,EAYD,EAZCA,YAaA,OADD,EAXCC,WAcYD,GAAeL,IAChBC,GAAaG,IACbC,EAAcH,EAAqBJ,IACpCM,IACCC,EAAcF,EAAuBJ,IACvCK,IC5BX,GAAe,SAACx9C,GAAD,MACI,oBAAVA,GCIT,GAAe,SAACA,GAAD,OACb29C,GAAS39C,IAAU,iBAAqBA,ICN1C,GAAe,SAACA,GAAD,OAAqCA,aAAiB0gC,Q,SCI7Ckd,GACtB14C,EACA2P,GACiB,IAAjBiI,EAAiB,uDAAV,WAEP,GACE,GAAU5X,IACThG,MAAMC,QAAQ+F,IAAWA,EAAO2F,MAAM,KACtC0wC,GAAUr2C,KAAYA,EAEvB,MAAO,CACL4X,OACA/T,QAAS,GAAU7D,GAAUA,EAAS,GACtC2P,OCbN,OAAe,SAACgpC,GAAD,OACb9F,EAAS8F,KAAoBC,GAAQD,GACjCA,EACA,CACE79C,MAAO69C,EACP90C,QAAS,KCWjB,0CAAe,aAkBbiwC,GAlBa,qHAAAruC,EAAA,6DAEXgvC,GACE9kC,EAHS,EAGTA,IACA+kC,EAJS,EAITA,KACAkD,EALS,EAKTA,SACAC,EANS,EAMTA,UACAC,EAPS,EAOTA,UACAvqC,EARS,EAQTA,IACAC,EATS,EASTA,IACA4O,EAVS,EAUTA,QACA27B,EAXS,EAWTA,SACAv5C,EAZS,EAYTA,KACOg7B,EAbE,EAaT1+B,MACA67C,EAdS,EAcTA,cAdS,EAeTkC,MAfS,yCAqBJ,IArBI,UAuBP91C,EAA6B,GAC7B+1C,EAAU3B,GAAaxnC,GACvB2nC,EAAayB,EAAgBppC,GAC7BqpC,EAAoBF,GAAWxB,EAC/B2B,GACFtC,GAAiBM,GAAYtnC,MAAUA,EAAI7U,OAC9B,KAAf0+B,GACCx/B,MAAMC,QAAQu/B,KAAgBA,EAAWlgC,OACtC4/C,EAAoB,EAAaC,KACrC,KACA36C,EACAs1C,EACA/wC,GAEIq2C,EAAmB,SACvBC,EACAC,EACAC,GAE0C,IAD1CC,EAC0C,uDADhCtG,EACVuG,EAA0C,uDAAhCvG,EAEJrvC,EAAUw1C,EAAYC,EAAmBC,EAC/Cx2C,EAAMvE,GAAK,eACToZ,KAAMyhC,EAAYG,EAAUC,EAC5B51C,UACA8L,OACGupC,EAAkBG,EAAYG,EAAUC,EAAS51C,MAKtD+zC,MACGkB,IAAYxB,IAAe2B,GAAWvG,EAAkBlZ,KACxD6c,GAAU7c,KAAgBA,GAC1B8d,IAAeC,GAAiB7C,GAAM6B,SACtCuC,IAAY1B,GAAc1C,GAAM6B,SA1DxB,sBA4DgB,GAAUqB,GACjC,CAAE98C,QAAS88C,EAAU/zC,QAAS+zC,GAC9B8B,GAAmB9B,GAFf98C,EA5DG,EA4DHA,MAAO+I,EA5DJ,EA4DIA,SAIX/I,EAhEO,oBAiETiI,EAAMvE,GAAK,eACToZ,KAAMs7B,EACNrvC,UACA8L,IAAKqpC,GAAqBtE,GAAQ,IAAI,IAAM,GAAK/kC,GAC9CupC,EAAkBhG,EAAiCrvC,IAEnDiwC,EAvEI,0CAwEA/wC,GAxEA,WA8ET2vC,EAAkBnlC,IAASmlC,EAAkBllC,IAChC,KAAfgsB,EA/EW,oBAmFLmgB,EAAYD,GAAmBlsC,GAC/BosC,EAAYF,GAAmBnsC,GAEhCoqB,MAAM6B,IAUHqgB,EACHlqC,EAAyBinC,aAAe,IAAIvsB,KAAKmP,GAChDif,GAASkB,EAAU7+C,SACrBu+C,EAAYQ,EAAY,IAAIxvB,KAAKsvB,EAAU7+C,QAEzC29C,GAASmB,EAAU9+C,SACrBg/C,EAAYD,EAAY,IAAIxvB,KAAKuvB,EAAU9+C,UAfvCi/C,EACHpqC,EAAyBgnC,eAAiBqD,WAAWxgB,GACnDkZ,EAAkBiH,EAAU7+C,SAC/Bu+C,EAAYU,EAAcJ,EAAU7+C,OAEjC43C,EAAkBkH,EAAU9+C,SAC/Bg/C,EAAYC,EAAcH,EAAU9+C,SAapCu+C,IAAaS,EA1GN,oBA2GTV,IACIC,EACFM,EAAU91C,QACV+1C,EAAU/1C,QACVqvC,EACAA,GAEGY,EAlHI,0CAmHA/wC,GAnHA,YAwHT01C,GAASjf,IAAgByf,IAAYpB,IAAaC,EAxHzC,oBAyHLmC,EAAkBP,GAAmB7B,GACrCqC,EAAkBR,GAAmB5B,GACrC,GACHpF,EAAkBuH,EAAgBn/C,QACnC0+B,EAAWlgC,OAAS2gD,EAAgBn/C,MAChC,GACH43C,EAAkBwH,EAAgBp/C,QACnC0+B,EAAWlgC,OAAS4gD,EAAgBp/C,OAElC,IAAa,EAlIN,oBAmITs+C,EACE,EACAa,EAAgBp2C,QAChBq2C,EAAgBr2C,SAEbiwC,EAxII,0CAyIA/wC,GAzIA,YA8IT01C,GAASjf,KAAepd,GAAY68B,EA9I3B,sBA+I8BS,GAAmBt9B,GAA7C+9B,EA/IJ,EA+IHr/C,MAAqB,EA/IlB,EA+IkB+I,SAEzB+0C,GAAQuB,IAAkB3gB,EAAWr7B,MAAMg8C,GAjJpC,oBAkJTp3C,EAAMvE,GAAK,eACToZ,KAAMs7B,EACNrvC,QAAA,EACA8L,OACGupC,EAAkBhG,EAAgC,IAElDY,EAxJI,0CAyJA/wC,GAzJA,YA8JTg1C,EA9JS,oBA+JLqC,EAAcpB,GAAqBtE,EAAOA,EAAK,GAAK/kC,GAEtD0qC,GAAWtC,GAjKJ,kCAkKYA,EAASve,GAlKrB,WAkKHx5B,GAlKG,SAmKHs6C,GAAgB5B,GAAiB14C,GAAQo6C,IAnKtC,oBAsKPr3C,EAAMvE,GAAK,+BACN87C,IACApB,EACDhG,EACAoH,GAAcz2C,UAGbiwC,EA7KE,0CA8KE/wC,GA9KF,oCAiLA8vC,EAASkF,GAjLT,iBAkLLwC,GAAmB,GAlLd,QAmL6BthD,OAAO6U,QAAQiqC,GAnL5C,wEAmLGv+C,GAnLH,MAmLQghD,GAnLR,MAoLF7G,EAAc4G,KAAsBzG,EApLlC,sEAwLsB0G,GAAiBhhB,GAxLvC,QAwLDihB,GAxLC,QAyLD,GAAgB/B,GACpB+B,GACAL,EACA5gD,OAIA+gD,GAAmB,OAAH,wBACX,IACArB,EAAkB1/C,GAAK,GAAcqK,UAGtCiwC,IACF/wC,EAAMvE,GAAQ+7C,KAtMX,wCA2MJ5G,EAAc4G,IA3MV,oBA4MPx3C,EAAMvE,GAAK,eACTmR,IAAKyqC,GACFG,IAEAzG,EAhNE,0CAiNE/wC,GAjNF,iCAuNNA,GAvNM,4CAAf,wDCjBA,GAAe,SACb23C,GADa,MAQT,CACJC,YAAaD,GAAQA,IAASzH,EAC9B+E,SAAU0C,IAASzH,EACnBgF,WAAYyC,IAASzH,EACrBuF,QAASkC,IAASzH,EAClBiF,UAAWwC,IAASzH,IChBtB,GAAe,SAACn4C,GAAD,OACbA,aAAiBusB,aCInB,GAAe,SAAC1X,GAAD,OACbwnC,GAAaxnC,IAAQopC,EAAgBppC,ICO1B,G,WAAb,uBACU,KAAAirC,UAAwB,G,6BAEhC,SAAIC,GACFhhD,KAAK+gD,UAAU//C,KAAKggD,K,yBAGtB,WAAW,UACchhD,KAAK+gD,WADnB,IACT,2BAAuC,EACrCE,EADqC,YAD9B,8BAITjhD,KAAK+gD,UAAY,O,KAIf,G,WAGJ,WAAoBG,EAAuBC,GAA0B,qBAAjD,KAAAD,WAFpB,KAAAE,QAAS,EAGPD,EAAaE,KAAI,kBAAO,EAAKD,QAAS,K,8BAGxC,SAAKngD,GACEjB,KAAKohD,QACRphD,KAAKkhD,SAASpgD,KAAKG,O,KAKJ,G,WAGnB,uBACEjB,KAAKshD,UAAY,G,8BAGnB,SAAKrgD,GAAQ,UACYjB,KAAKshD,WADjB,IACX,2BAAuC,SAC5BxgD,KAAKG,IAFL,iC,uBAMb,SAAUigD,GACR,IAAMC,EAAe,IAAI,GACnBI,EAAa,IAAI,GAAWL,EAAUC,GAG5C,OAFAnhD,KAAKshD,UAAUtgD,KAAKugD,GAEbJ,I,yBAGT,WACEnhD,KAAKshD,UAAY,O,KCkBfE,GAAsC,qBAAXxzC,O,SAEjByzC,KAY4B,6DAAF,GAAE,IAR1CZ,YAQ0C,MARnCzH,EAQmC,MAP1CsI,sBAO0C,MAPzBtI,EAOyB,EAN1CuI,EAM0C,EAN1CA,SACAz+C,EAK0C,EAL1CA,QAK0C,IAJ1C24C,qBAI0C,MAJ1B,GAI0B,MAH1C+F,wBAG0C,SAF1CC,EAE0C,EAF1CA,iBACAhE,EAC0C,EAD1CA,aAEA,EAAqC,WAAwC,CAC3EiE,SAAS,EACTC,cAAc,EACdjG,YAAa,GACb4C,aAAa,EACbsD,YAAa,EACbC,cAAe,GACfC,cAAc,EACdC,oBAAoB,EACpBzF,SAAS,EACTxC,OAAQ,KAVV,mBAAOV,EAAP,KAAkB4I,EAAlB,KAYM3I,EAAmB,SAA4B,CACnDqI,SAAUvI,EACVuC,aAAcvC,EACd0I,eAAgB1I,EAChBwI,cAAexI,EACfmD,SAAUnD,EACVW,QAASX,IAEL8I,EAAe,SAAa7I,GAC5BuB,EAAY,SAAwB,IACpCuH,EACJ,SAA0CzG,GACtC0G,EAA6B,SAAsC,IACnEC,EAAa,SAAat/C,GAC1Bu/C,GAAwB,UAAa,GACrCC,GAAe,UAAa,GAC5BC,GAAsC,SAAa,CACvDC,MAAO,IAAI,GACX7mB,QAAS,IAAI,GACb/Y,MAAO,IAAI,GACXxd,MAAO,IAAI,KAEPq9C,GAAW,SAAoB,CACnC7D,MAAO,IAAI8D,IACXC,QAAS,IAAID,IACb9/B,MAAO,IAAI8/B,IACXF,MAAO,IAAIE,IACXE,UAAU,IAGNC,GAAiBC,GAAmBrC,GACpCsC,GAA6BtF,IAAiBzE,EACpDoJ,EAAWxsC,QAAU9S,EAErB,IAAMkgD,GAAiB,SAACz+C,GAAD,OACrBk+C,GAAS7sC,QAAQgtC,UACjBH,GAAS7sC,QAAQ4sC,MAAMS,IAAI1+C,IAC3Bk+C,GAAS7sC,QAAQ4sC,MAAMS,KAAK1+C,EAAKL,MAAM,QAAU,IAAI,KAEjDg/C,GAA0B,qDAC9B,WACEC,EACA5+C,EACAuE,EACAs6C,EAKAC,EACAC,GAVF,mBAAA93C,EAAA,yDAYQ+3C,EAAgB/8B,EAAIy7B,EAAarsC,QAAQkkC,OAAQv1C,IACvC80C,EAAiBzjC,QAAQ0mC,QAb3C,qBAcMiF,EAdN,qBAeQ8B,EAfR,sCAgBcG,GAAa7I,EAAU/kC,SAAS,GAhB9C,kEAiBM,EAjBN,QAaQ0mC,EAbR,KAmBExzC,EACIoO,EAAI+qC,EAAarsC,QAAQkkC,OAAQv1C,EAAMuE,GACvC8yC,GAAMqG,EAAarsC,QAAQkkC,OAAQv1C,IAGpC++C,IACEx6C,EAAS8xC,EAAU2I,EAAez6C,GAAO,IAAQy6C,IACjD7J,EAAc0J,IACfnB,EAAarsC,QAAQ0mC,UAAYA,GAClC6G,IAEKM,EAAgB,+BACjBL,GAAU,CACb9G,UAAWA,EACXxC,OAAQmI,EAAarsC,QAAQkkC,OAC7Bv1C,SAGF09C,EAAarsC,QAAO,+BACfqsC,EAAarsC,SACb6tC,GAGLlB,GAAY3sC,QAAQxQ,MAAM1E,KAAK4iD,EAAY,CAAE/+C,QAASk/C,IAGxDlB,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7BihD,cAAc,IA9ClB,4CAD8B,gEAkD9B,IAGI+B,GAAgB,eACpB,SACEn/C,EACAo/C,GAGwB,IAFxBl+C,EAEwB,uDAFE,GAC1Bm+C,EACwB,uCAAxBC,EAAwB,uCAExBA,GAAkBC,GAASv/C,GAC3B,IAAMg2C,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,GAErC,GAAIg2C,EAAO,CACT,IAAMC,EAAMD,EAAgBC,GAE5B,GAAIA,EAAI,CACN,IAAM35C,EACJ+4C,GAASmK,GAAcvJ,EAAG9kC,MAAQ+iC,EAAkBkL,GAChD,GACAA,EAgCN,GA/BAnJ,EAAG35C,MAAQ08C,GAAgBoG,EAAUnJ,GAEjC0C,GAAa1C,EAAG9kC,MACjB8kC,EAAGC,MAAQ,IAAIvyC,SACd,SAAC87C,GAAD,OACGA,EAASxH,QAAUwH,EAASnjD,QAAUA,KAElCm8C,GAAYxC,EAAG9kC,OAAS8oC,GAAS39C,GAC1C25C,EAAG9kC,IAAIunC,MAAQp8C,EACNu8C,GAAiB5C,EAAG9kC,KAC7B,EAAI8kC,EAAG9kC,IAAIjQ,SAASyC,SAClB,SAAC+7C,GAAD,OACGA,EAAUzjB,SAAY3/B,EAAmB+/B,SACxCqjB,EAAUpjD,UAGPi+C,EAAgBtE,EAAG9kC,MAAQ8kC,EAAGC,KACvCD,EAAGC,KAAKp7C,OAAS,EACbm7C,EAAGC,KAAKvyC,SACN,SAACg8C,GAAD,OACGA,EAAY1H,QAAUz8C,MAAMC,QAAQa,KAC9BA,EAAa84C,MACd,SAAC3e,GAAD,OAAkBA,IAASkpB,EAAYrjD,SAEzCA,IAAUqjD,EAAYrjD,SAE7B25C,EAAGC,KAAK,GAAG+B,UAAY37C,EAE5B25C,EAAG9kC,IAAI7U,MAAQA,EAGb+iD,EAAc,CAChB,IAAMx9C,EAASs0C,EAAgBC,GAC/BzjC,EAAI9Q,EAAQ7B,EAAMo/C,GAClBpB,GAAY3sC,QAAQ+lB,QAAQj7B,KAAK,CAC/B0F,OAAQ,+BACH87C,EAAiBtsC,SACjBxP,GAEL7B,UAIHkB,EAAQ0+C,aAAe1+C,EAAQ2+C,cAC9BC,GAAyB9/C,EAAM1D,EAAO4E,EAAQ2+C,aAChD3+C,EAAQ6+C,gBAAkBC,GAAQhgD,QAElCg2C,EAAMC,GAAK,CACT9kC,IAAK,CACHnR,OACA1D,MAAO8iD,GAET9iD,MAAO8iD,MAKf,IAGIa,GAAyB,eAAkB,SAACjgD,EAAMy2B,GACtD,IAAMypB,EAAa/J,EAAgBC,GAInC,OAFAp2C,GAAQy2B,GAAQ9jB,EAAIutC,EAAYlgD,EAAMy2B,IAE9B4f,EAAU6J,EAAYvC,EAAiBtsC,WAC9C,IAEGyuC,GAA2B,eAC/B,SACE9/C,EACAg7B,EACAmlB,GACmB,IAAnBd,IAAmB,yDAIbx+C,EAA6D,CACjEb,QAEEogD,GAAY,EAEhB,GAAItL,EAAiBzjC,QAAQ8rC,QAAS,CACpC,IAAMkD,EAAkB3C,EAAarsC,QAAQ8rC,QAC7CO,EAAarsC,QAAQ8rC,QAAU8C,KAC/Bp/C,EAAMs8C,QAAUO,EAAarsC,QAAQ8rC,QACrCiD,EAAYC,IAAoBx/C,EAAMs8C,QAGxC,GAAIrI,EAAiBzjC,QAAQ8lC,YAAa,CACxC,IAAMmJ,EAAuBr+B,EAC3By7B,EAAarsC,QAAQ8lC,YACrBn3C,GAEIugD,GAAuBlK,EAC3Bp0B,EAAI07B,EAAiBtsC,QAASrR,GAC9Bg7B,GAEFulB,EACI5tC,EAAI+qC,EAAarsC,QAAQ8lC,YAAan3C,GAAM,GAC5Cq3C,GAAMqG,EAAarsC,QAAQ8lC,YAAan3C,GAC5Ca,EAAMs2C,YAAcuG,EAAarsC,QAAQ8lC,YACzCiJ,EACEA,GACAE,IAAyBr+B,EAAIy7B,EAAarsC,QAAQ8lC,YAAan3C,GAGnE,IAAMwgD,EAAyBv+B,EAC7By7B,EAAarsC,QAAQisC,cACrBt9C,GAcF,OAXImgD,IAAqBK,IACvB7tC,EAAI+qC,EAAarsC,QAAQisC,cAAet9C,EAAMmgD,GAC9Ct/C,EAAMy8C,cAAgBI,EAAarsC,QAAQisC,cAC3C8C,EACEA,GACCtL,EAAiBzjC,QAAQisC,eACxBkD,IAA2BL,GAGjCC,GAAaf,GAAgBrB,GAAY3sC,QAAQxQ,MAAM1E,KAAK0E,GAErDu/C,EAAYv/C,EAAQ,KAE7B,IAGI4/C,GAA0B,qDAC9B,WACEzgD,EACA0gD,GAFF,eAAAz5C,EAAA,sEAKU05C,GACJ1+B,EAAIm0B,EAAU/kC,QAASrR,GACvBw+C,IAPN,mBASIx+C,EALIuE,EAJR,aAWEo6C,GAAwB+B,EAAc1gD,EAAMuE,GAX9C,kBAaSgwC,EAAYhwC,IAbrB,2CAD8B,wDAgB9B,CAACi6C,KAGGoC,GAA4B,qDAChC,WAAOzM,GAAP,yBAAAltC,EAAA,sEAC2B+1C,EACvB7G,EAAgBC,GAChByH,EAAWxsC,QACX,GACE6sC,GAAS7sC,QAAQgpC,MACjBjE,EAAU/kC,QACV6nC,IAPN,OAWE,GAXF,SACU3D,EADV,EACUA,OAUJpB,EAAO,KACUA,GADV,IACT,2BAAW,EAAe,SAClB,EAAQlyB,EAAIszB,EAAQ,IAEtB5iC,EAAI+qC,EAAarsC,QAAQkkC,OAAQ,EAAM,GACvC8B,GAAMqG,EAAarsC,QAAQkkC,OAAQ,GALhC,oCAQTmI,EAAarsC,QAAQkkC,OAASA,EAnBlC,yBAsBSA,GAtBT,2CADgC,sDAyBhC,CAAC2D,IAGG+F,GAAY,uCAAG,WACnB7I,EACAyK,GAFmB,qCAAA55C,EAAA,sDAGnB1I,EAHmB,+BAGT,CACRuiD,OAAO,GAJU,OAAA75C,EAAA,KAOAmvC,GAPA,iDAOR,EAPQ,aAQXJ,EAAQI,EAAU,IARP,oBAWTH,EAAKD,EAAMC,GACX5kC,EAAU6jC,EAAKc,EAAO,OAExBC,EAdW,kCAeY0K,GACvB3K,EACAwI,IAjBW,WAePuC,EAfO,QAoBTF,EApBS,qBAqBPE,EAAW9K,EAAGj2C,MArBP,wBAsBTzB,EAAQuiD,OAAQ,EAtBP,qDA0BXC,EAAW9K,EAAGj2C,MACV2S,EAAI+qC,EAAarsC,QAAQkkC,OAAQU,EAAGj2C,KAAM+gD,EAAW9K,EAAGj2C,OACxDq3C,GAAMqG,EAAarsC,QAAQkkC,OAAQU,EAAGj2C,MA5B/B,gBAgCfqR,GAhCe,uCAgCG4tC,GAAa5tC,EAASwvC,EAAkBtiD,GAhC3C,wDAoCZA,EAAQuiD,OApCI,4CAAH,wDAuCZd,GAAwC,qDAC5C,WAAOhgD,GAAP,iCAAAiH,EAAA,yDAAa/F,EAAb,+BAAuB,GACf8/C,EAAaC,EAAsBjhD,GAGzCg+C,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7BihD,cAAc,KAGZJ,EARN,iCAS+B4D,GACzBrM,EAAYv0C,GAAQA,EAAOghD,GAVjC,OASUE,EATV,OAYInJ,EAAU/3C,EACNghD,EAAW75C,OAAM,SAACnH,GAAD,OAAWiiB,EAAIi/B,EAAclhD,MAC9Cm1C,EAAc+L,GAdtB,4BAgBclhD,EAhBd,kCAkBgBwE,QAAQ28C,IACZH,EACG19C,QAAO,SAAC89C,GAAD,OAAen/B,EAAIm0B,EAAU/kC,QAAS+vC,MAC7C7xC,IAFH,uCAGI,WAAO6xC,GAAP,SAAAn6C,EAAA,sEACQw5C,GAAwBW,GAAW,GAD3C,mFAHJ,wDAnBZ,oBA0BUj6C,MAAMglB,SA1BhB,yCA2Bc8yB,GAAa7I,EAAU/kC,SA3BrC,4BAgBI0mC,EAhBJ,oBA8BEiG,GAAY3sC,QAAQxQ,MAAM1E,KAAI,+BACxB89C,GAASj6C,GAAQ,CAAEA,QAAS,IAAE,CAClCu1C,OAAQmI,EAAarsC,QAAQkkC,OAC7B6H,cAAc,KAGZl8C,EAAQmgD,cAAgBtJ,GAC1B,EACE3B,EAAU/kC,SACV,SAACrW,GAAD,OAASinB,EAAIy7B,EAAarsC,QAAQkkC,OAAQv6C,KAC1CgmD,GAIJlM,EAAiBzjC,QAAQ0mC,SAAWuJ,KA5CtC,kBA8CSvJ,GA9CT,4CAD4C,sDAiD5C,CAAC6I,GAA2BH,KAGxBc,GAA6B,SAACvhD,EAAyBmR,GAC3D,IAAM6kC,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,GAErC,GAAIg2C,EAAO,CACT,IAAMwL,EAAmBjN,EAAYyB,EAAMC,GAAG35C,OACxCw2C,EAAe0O,EACjBv/B,EAAI07B,EAAiBtsC,QAASrR,GAC9Bg2C,EAAMC,GAAG35C,MAERi4C,EAAYzB,GAQN0O,IACTxL,EAAMC,GAAG35C,MAAQk8C,GAAcxC,IAR3B7kC,GAAQA,EAAyBswC,eACnCzL,EAAMC,GAAG35C,MAAQk8C,GAAcxC,GACtB,EAAmBkI,GAAS7sC,QAAQgN,MAAOre,GACpDg2C,EAAMC,GAAG35C,MAAQw2C,EAEjBqM,GAAcn/C,EAAM8yC,GAO1BiL,GAAa1sC,SAAWyjC,EAAiBzjC,QAAQ0mC,SAAWuJ,MAGxDA,GAAgB,oCACpB,0CAAAr6C,EAAA,yDAAOpF,EAAP,+BAAgB,IACEm7C,EADlB,4BAEM7H,EAFN,SAIgB6H,EAAS,OAAD,wBAEP7G,EAAgBC,IAChBv0C,GAELg8C,EAAWxsC,QACX,GACE6sC,GAAS7sC,QAAQgpC,MACjBjE,EAAU/kC,QACV6nC,IAbd,mBAgBU3D,OAhBV,4DAkBY0J,GAAa7I,EAAU/kC,SAAS,GAlB5C,6BACQ0mC,EADR,QAoBc2F,EAAarsC,QAAQ0mC,SAC/BiG,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7B47C,YAtBN,4CAyBA,CAACmB,IAGGwI,GAAoB,eACxB,SACE1hD,EACA1D,EAGA4E,GALF,OAOEzG,OAAO6U,QAAQhT,GAAOqH,SAAQ,YAAuB,uBAArBg+C,EAAqB,KAAX3mB,EAAW,KAC7ComB,EAAY,GAAH,OAAMphD,EAAN,YAAc2hD,GACvB3L,EAAQ/zB,EAAIm0B,EAAU/kC,QAAS+vC,GAChBlD,GAAS7sC,QAAQgN,MAAMqgC,IAAI1+C,KAE/By2C,EAAYzb,IAAgBgb,IAAUA,EAAMC,GACzDyL,GACEN,EACApmB,EACA95B,GAEFi+C,GACEiC,EACApmB,EACA95B,GACA,GACC80C,QAGX,CAACgK,KAGGpzB,GAA0C,SAC9C5sB,EACA1D,GACY,IAAZ4E,EAAY,uDAAF,GAEJ80C,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,GAC/B4hD,EAAe1D,GAAS7sC,QAAQgN,MAAMqgC,IAAI1+C,GAE5C4hD,IACF5D,GAAY3sC,QAAQgN,MAAMliB,KAAK,CAC7B0F,OAAQvF,EACR0D,OACA6hD,SAAS,KAIR/M,EAAiBzjC,QAAQ8rC,SACxBrI,EAAiBzjC,QAAQ8lC,cAC3Bj2C,EAAQ0+C,cAERjtC,EACE+qC,EAAarsC,QAAQ8lC,YACrBn3C,EACA8hD,GACExlD,EACA2lB,EAAI07B,EAAiBtsC,QAASrR,EAAM,IACpCiiB,EAAIy7B,EAAarsC,QAAQ8lC,YAAan3C,EAAM,MAIhDg+C,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7B6D,OACAm3C,YAAauG,EAAarsC,QAAQ8lC,YAClCgG,QAAS8C,GAAWjgD,EAAM1D,OAI5BA,EAAaxB,QACb6X,EAAIyjC,EAAU/kC,QAASrR,EAAM,KAC7B2S,EAAIirC,EAA2BvsC,QAASrR,EAAM,MAGhDg2C,IAAUA,EAAMC,IAAO2L,KAAkB1N,EAAkB53C,GACzDolD,GAAkB1hD,EAAM1D,EAAOslD,EAAe,GAAK1gD,GACnDi+C,GAAcn/C,EAAM1D,EAAO4E,GAAS,GAAO80C,GAE/CyI,GAAez+C,IAASg+C,GAAY3sC,QAAQxQ,MAAM1E,KAAK,IACvD6hD,GAAY3sC,QAAQ4sC,MAAM9hD,KAAK,CAAE6D,OAAM6B,OAAQkgD,QAG3CC,GAA8B,qDAClC,uEAAA/6C,EAAA,yDAASmS,EAAT,EAASA,KAAMze,EAAf,EAAeA,OAAf,IAAuBA,OAAU2B,EAAjC,EAAiCA,MAAa2lD,EAA9C,EAAwC7oC,KAClCpZ,EAAQrF,EAAgBqF,OAGtBg2C,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,IAJvC,oBAOQg7B,EAAainB,EAAYzJ,GAAcxC,QAASh6C,EACpDg/B,EAAauZ,EAAYvZ,GAAc1+B,EAAQ0+B,EAEzC8e,EAAc1gC,IAASo7B,EAVjC,EAcQ+J,GAAmBxB,GAFXnD,EAZhB,EAYMJ,SACYK,EAblB,EAaMJ,WAGIyI,GACFC,GAAcnM,EAAMC,GAAID,EAAMC,GAAGoE,SAChC2C,IACA/6B,EAAIy7B,EAAarsC,QAAQkkC,OAAQv1C,IACpCoiD,GAAe,OAAD,QACZtI,cACAH,YAAa13B,EAAIy7B,EAAarsC,QAAQisC,cAAet9C,GACrD+5C,YAAa2D,EAAarsC,QAAQ0oC,YAClCH,qBACAC,wBACGyE,KAEDS,GACHjF,GAAe2E,GAAez+C,GAE5Bu0C,EAAYvZ,KACfgb,EAAMC,GAAG35C,MAAQ0+B,GAGb6jB,EAAaiB,GACjB9/C,EACAg2C,EAAMC,GAAG35C,MACTw9C,GACA,GAGIuF,GAAgBlK,EAAc0J,IAAeE,GAE/CmD,EA5CR,wBA6COpI,GACCkE,GAAY3sC,QAAQ4sC,MAAM9hD,KAAK,CAC7B6D,OACAoZ,OACAvX,OAAQkgD,OAjDlB,kBAoDQ1C,GACArB,GAAY3sC,QAAQxQ,MAAM1E,KACxB4iD,EAAY,CAAE/+C,QAAM,+BAAQ6+C,GAAU,CAAE7+C,WAtDlD,WA2DIg+C,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7BihD,cAAc,KAGZJ,EA/DR,kCAgE+BA,EACvB7G,EAAgBC,GAChByH,EAAWxsC,QACX,GAAmB,CAACrR,GAAOo2C,EAAU/kC,QAAS6nC,IAnEtD,iBAgEc3D,EAhEd,EAgEcA,OAKRhxC,EAAQ0d,EAAIszB,EAAQv1C,GAEhBu6C,EAAgB5/C,KAAmB4J,IAC/B89C,EAAiBjO,EAAkBp0C,IACnCsiD,EAAergC,EAAIszB,EAAQ8M,EAAgB,KACpCjpC,MAAQkpC,EAAaj9C,UAAYd,EAAQ+9C,IAGpDA,GACArgC,EAAIy7B,EAAarsC,QAAQkkC,OAAQ8M,MAEjCriD,EAAOqiD,IAIXtK,EAAU5C,EAAcI,GApF9B,yCAsFqBoL,GAAc3K,EAAOwI,IAtF1C,aAuFQx+C,EADFuE,EAtFN,sBA2FKu1C,GACCkE,GAAY3sC,QAAQ4sC,MAAM9hD,KAAK,CAC7B6D,OACAoZ,OACAvX,OAAQkgD,OAEZpD,IACE,EACA3+C,EACAuE,EACAs6C,EACA9G,EACAgH,GAvGN,4CADkC,sDA4GlC,IAGIgD,GAA4C,SAChDf,GAIA,IAAMn/C,EAAS,OAAH,wBACP87C,EAAiBtsC,SACjB8kC,EAAgBC,IAGrB,OAAO7B,EAAYyM,GACfn/C,EACAo4C,GAAS+G,GACT/+B,EAAIpgB,EAAQm/C,GACZA,EAAWzxC,KAAI,SAACvP,GAAD,OAAUiiB,EAAIpgB,EAAQ7B,OAGrCuiD,GAAgD,SAACviD,GACrDA,EACIihD,EAAsBjhD,GAAM2D,SAAQ,SAAC6+C,GAAD,OAClCnL,GAAMqG,EAAarsC,QAAQkkC,OAAQiN,MAEpC9E,EAAarsC,QAAQkkC,OAAS,GAEnCyI,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7Bo5C,OAAQmI,EAAarsC,QAAQkkC,UAI3BkN,GAA0C,SAACziD,EAAMuE,EAAOrD,GAC5D,IAAMiQ,IACF8Q,EAAIm0B,EAAU/kC,QAASrR,IAAmB,CAAEi2C,GAAI,KAAMA,IAAM,IAC9D9kC,IAEFwB,EAAI+qC,EAAarsC,QAAQkkC,OAAQv1C,EAAI,+BAChCuE,GAAK,CACR4M,SAGF6sC,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7B6D,OACAu1C,OAAQmI,EAAarsC,QAAQkkC,OAC7BwC,SAAS,IAGX72C,GAAWA,EAAQmgD,aAAelwC,GAAOA,EAAI24B,OAAS34B,EAAI24B,SAGtD4Y,GAA6C,eACjD,SAAC1B,EAAYlO,EAAc6P,EAAUzC,GACnC,IAAM0C,EAAepnD,MAAMC,QAAQulD,GAC7B6B,EACJ3C,GAAcnC,GAAa1sC,Q,+BAElBssC,EAAiBtsC,SAChB6uC,GAAc/J,EAAgBC,IAEpC7B,EAAYzB,GACZ6K,EAAiBtsC,QACjBuxC,EACA9P,EADY,eAETkO,EAAkClO,GAE3C,GAAIyB,EAAYyM,GAEd,OADA2B,IAAazE,GAAS7sC,QAAQgtC,UAAW,GAClCwE,EAGT,IAnB6C,EAmBvCrhD,EAAS,GAnB8B,IAqBrBy/C,EAAsBD,IArBD,IAqB7C,2BAA2D,KAAhDI,EAAgD,QACzDuB,GAAYzE,GAAS7sC,QAAQ4sC,MAAMvB,IAAI0E,GACvC5/C,EAAOnF,KAAK4lB,EAAI4gC,EAAazB,KAvBc,8BA0B7C,OAAOwB,EAAephD,EAASA,EAAO,KAExC,IAGIy8C,GAAoC,SACxCmD,EAIAtO,GALwC,OAOxC+I,GAAWuF,GACPpD,GAAY3sC,QAAQ4sC,MAAM6E,UAAU,CAClC3mD,KAAM,SAACmI,GAAD,OACJ88C,EACEsB,QACE1mD,EACA82C,GAEFxuC,MAGNo+C,GACEtB,EACAtO,GACA,IAGFiQ,GAA8C,SAAC/iD,GAAkB,MAAZkB,EAAY,uDAAF,GAAE,IAC7ClB,EACpBihD,EAAsBjhD,GACtBk+C,GAAS7sC,QAAQgpC,OAHgD,IACrE,2BAE4B,KAFjBmI,EAEiB,QAC1BtE,GAAS7sC,QAAQgpC,MAAM2I,OAAOR,GAC9BtE,GAAS7sC,QAAQgN,MAAM2kC,OAAOR,GAE1BvgC,EAAIm0B,EAAU/kC,QAASmxC,MACxBthD,EAAQ+hD,WAAa5L,GAAMqG,EAAarsC,QAAQkkC,OAAQiN,IACxDthD,EAAQgiD,WAAa7L,GAAMjB,EAAU/kC,QAASmxC,IAC9CthD,EAAQiiD,WACP9L,GAAMqG,EAAarsC,QAAQ8lC,YAAaqL,IACzCthD,EAAQkiD,aACP/L,GAAMqG,EAAarsC,QAAQisC,cAAekF,IAC3CtF,IACEh8C,EAAQmiD,kBACThM,GAAMsG,EAAiBtsC,QAASmxC,GAElCxE,GAAY3sC,QAAQ4sC,MAAM9hD,KAAK,CAC7B6D,KAAMwiD,EACN3gD,OAAQkgD,SApBuD,8BAyBrE/D,GAAY3sC,QAAQxQ,MAAM1E,KAAI,+BACzBuhD,EAAarsC,SACXnQ,EAAQiiD,UAAiB,CAAEhG,QAAS8C,MAAhB,MAE1B/+C,EAAQoiD,aAAehC,MAGpBiC,GAAmB,SACvBvjD,EACAmR,EACAjQ,GAEAq+C,GAASv/C,EAAiCkB,GAC1C,IAAI80C,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,GAE7Bw6C,EAAoBgJ,GAA0BryC,GAGlDA,IAAQ6kC,EAAMC,GAAG9kC,KAChBqpC,GACClG,EAAQ0B,EAAMC,GAAGC,MAAQ,IAAId,MAAK,SAAC3c,GAAD,OAAYA,IAAWtnB,OAK7D6kC,EAAQ,CACNC,GAAIuE,E,+BAEKxE,EAAMC,IAAE,CACXC,KAAM,GAAF,SACC5B,EAAQ0B,EAAMC,GAAGC,MAAQ,IAAI5yC,QAC9B,SAAC6N,GAAD,OAASquC,GAAcruC,IAAQ7H,SAAS+iC,SAASl7B,OAFjD,CAIFA,IAEFA,IAAK,CAAEiI,KAAMjI,EAAIiI,KAAMpZ,UAAM,+BAG1Bg2C,EAAMC,IAAE,CACX9kC,SAIRwB,EAAIyjC,EAAU/kC,QAASrR,EAAMg2C,GAE7BuL,GAA2BvhD,EAAMmR,KAG7BouC,GAA0C,eAC9C,SAACv/C,GAAkB,IAAZkB,EAAY,uDAAF,GACT80C,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,GAarC,OAXA2S,EAAIyjC,EAAU/kC,QAASrR,EAAM,CAC3Bi2C,GAAI,OAAF,sCACID,GAASA,EAAMC,GAAKD,EAAMC,GAAK,CAAE9kC,IAAK,CAAEnR,UAAQ,CACpDA,OACAq6C,OAAO,IACJn5C,KAGPg9C,GAAS7sC,QAAQgpC,MAAMqC,IAAI18C,IAC1Bg2C,GAASuL,GAA2BvhD,GAE9B68C,GACF,CAAE78C,KAAMA,GACT,CACEA,OACAs6B,SAAU0nB,GACVlV,OAAQkV,GACR7wC,IAAK,SAAF,oGAAE,WAACA,GACJ,GAAIA,EACFoyC,GAAiBvjD,EAAMmR,EAAKjQ,OACvB,CACL,IAAM,EAAQ+gB,EAAIm0B,EAAU/kC,QAASrR,EAAM,IACrCyjD,EACJvG,GAAoBh8C,EAAQg8C,iBAE1B,EAAMjH,KACR,EAAMA,GAAGoE,OAAQ,EAIb9F,EAAY,EAAM0B,GAAG35C,SACvB,EAAM25C,GAAG35C,MAAQ,EAAM25C,GAAG9kC,IAAI7U,QAIlCmnD,KAEI,EAAmBvF,GAAS7sC,QAAQgN,MAAOre,KAC3C89C,GAAsBzsC,UAExB6sC,GAAS7sC,QAAQ+sC,QAAQ1B,IAAI18C,UAK3C,IAGI0jD,GAAkD,eACtD,SAACC,EAASC,GAAV,8CAAwB,WAAOz7C,GAAP,uBAAAlB,EAAA,yDAClBkB,IACFA,EAAEi2B,gBAAkBj2B,EAAEi2B,iBACtBj2B,EAAE07C,SAAW17C,EAAE07C,WAEbC,GAAoB,EACpBjB,EAAc1M,EAAgBC,GAElC4H,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7BohD,cAAc,IATM,UAahBP,EAbgB,iCAceA,EAC/B6F,EACAhF,EAAWxsC,QACX,GACE6sC,GAAS7sC,QAAQgpC,MACjBjE,EAAU/kC,QACV6nC,IApBc,gBAcV3D,EAdU,EAcVA,OAAQ1zC,EAdE,EAcFA,OAShB67C,EAAarsC,QAAQkkC,OAASA,EAC9BsN,EAAchhD,EAxBI,yCA0BZo9C,GAAa7I,EAAU/kC,SA1BX,YA8BlB8jC,EAAcuI,EAAarsC,QAAQkkC,UACnC96C,OAAO8G,KAAKm8C,EAAarsC,QAAQkkC,QAAQpuC,OAAM,SAACnH,GAAD,OAC7CiiB,EAAI4gC,EAAa7iD,MAhCD,wBAmClBg+C,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7Bo5C,OAAQ,GACRgI,cAAc,IArCE,UAuCZoG,EAAQd,EAAa16C,GAvCT,wCAyClBy7C,GAzCkB,uCAyCEA,EAAUlG,EAAarsC,QAAQkkC,OAAQptC,GAzCzC,QA0ClB80C,GACE,EACE7G,EAAU/kC,SACV,SAACrW,GAAD,OAASinB,EAAIy7B,EAAarsC,QAAQkkC,OAAQv6C,KAC1CkjD,GAAS7sC,QAAQgpC,OA9CH,gEAkDpByJ,GAAoB,EAlDA,8BAqDpBpG,EAAarsC,QAAQ0oC,aAAc,EACnCiE,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7B49C,aAAa,EACbwD,cAAc,EACdC,mBACErI,EAAcuI,EAAarsC,QAAQkkC,SAAWuO,EAChDzG,YAAaK,EAAarsC,QAAQgsC,YAAc,EAChD9H,OAAQmI,EAAarsC,QAAQkkC,SA5DX,6EAAxB,wDAgEA,CAAC0H,EAAkBuB,GAA4BtF,IAG3C6K,GAAuB,SAAvBA,EACJznD,GACS,IAAT0D,EAAS,uDAAF,GAEDg2C,EAAQ/zB,EAAIm0B,EAAU/kC,QAASrR,GAErC,KAAKg2C,GAAUA,IAAUA,EAAMC,OAE1BD,IACAS,EAAYn6C,IACV+4C,IAAU/4C,aAAiB0nD,UAAY1nD,aAAiBuvB,QAE3D0zB,GAASv/C,EAA4B,CAAE1D,UAGrCd,MAAMC,QAAQa,IAAU+3C,EAAS/3C,IAKnC,IAAK,IAAMtB,KAJPgF,IAASiiB,EAAIm0B,EAAU/kC,QAASrR,IAClC2S,EAAIyjC,EAAU/kC,QAASrR,EAAMxE,MAAMC,QAAQa,GAAS,GAAK,IAGzCA,EAChBynD,EAAqBznD,EAAMtB,GAAMgF,GAAQA,EAAO,IAAM,IAAMhF,IAM9DipD,GAAoC,SAACpiD,GAA6B,IAArBqiD,EAAqB,uDAAF,GAC9DC,EAAgBtiD,GAAU87C,EAAiBtsC,QAEjD,GAAIgkC,IAAU6O,EAAiBE,WAAY,WACtBlG,GAAS7sC,QAAQgpC,OADK,IACzC,2BAA2C,KAAhC,EAAgC,QACnCrE,EAAQ/zB,EAAIm0B,EAAU/kC,QAAS,GACrC,GAAI2kC,GAASA,EAAMC,GAAI,CACrB,IAAM/d,EAAW18B,MAAMC,QAAQu6C,EAAMC,GAAGC,MACpCF,EAAMC,GAAGC,KAAK,GACdF,EAAMC,GAAG9kC,IAEb,IACEquC,GAActnB,IAAaA,EAASmsB,QAAQ,QAASJ,QACrD,MACA,aAXmC,gCAgB1CC,EAAiBI,oBACf3G,EAAiBtsC,QAAO,iBAAQ8yC,IAE9BD,EAAiBE,aACpBhO,EAAU/kC,QAAU,GAEpB2sC,GAAY3sC,QAAQ+lB,QAAQj7B,KAAK,CAC/B0F,OAAQ,OAAF,UAAOsiD,KAGfnG,GAAY3sC,QAAQ4sC,MAAM9hD,KAAK,CAC7B0F,OAAQ,OAAF,UAAOsiD,KAGfnG,GAAY3sC,QAAQgN,MAAMliB,KAAK,CAC7B0F,OAAQ,OAAF,UAAOsiD,GACbtC,SAAS,MAIZqC,EAAiBI,oBACfpH,GACD6G,GAAqB,OAAD,UAAMI,IAE5BjG,GAAS7sC,QAAU,CACjBgpC,MAAO,IAAI8D,IACXC,QAAS,IAAID,IACb9/B,MAAO,IAAI8/B,IACXF,MAAO,IAAIE,IACXE,UAAU,GAGZL,GAAY3sC,QAAQxQ,MAAM1E,KAAK,CAC7BkhD,YAAa6G,EAAiBK,gBAC1B7G,EAAarsC,QAAQgsC,YACrB,EACJF,QAAS+G,EAAiBf,UACtBzF,EAAarsC,QAAQ8rC,UACrB+G,EAAiBI,mBACjBjO,EAAUx0C,EAAQ87C,EAAiBtsC,SAEvC0oC,cAAamK,EAAiBM,iBAC1B9G,EAAarsC,QAAQ0oC,YAEzB5C,YAAa+M,EAAiBf,UAC1BzF,EAAarsC,QAAQ8lC,YACrB,GACJmG,cAAe4G,EAAiBd,YAC5B1F,EAAarsC,QAAQisC,cACrB,GACJ/H,OAAQ2O,EAAiBO,WAAa/G,EAAarsC,QAAQkkC,OAAS,GACpEgI,cAAc,EACdC,oBAAoB,IAGtBO,GAAa1sC,UAAY6yC,EAAiBZ,aAGtCoB,GAA0C,SAAC1kD,GAAD,OAC9CiiB,EAAIm0B,EAAU/kC,QAASrR,GAAMi2C,GAAG9kC,IAAI24B,SAuDtC,OArDA,aAAgB,YACboT,GAAoB6G,GAAqBpG,EAAiBtsC,SAE3D,IAAMszC,EAAwB3G,GAAY3sC,QAAQxQ,MAAMiiD,UAAU,CAChE3mD,KADgE,SAC3D04C,GACC+P,EAAsB/P,EAAWC,EAAiBzjC,SAAS,KAC7DqsC,EAAarsC,QAAO,+BACfqsC,EAAarsC,SACbwjC,GAEL4I,EAAgBC,EAAarsC,aAK7BwzC,EAA4B7G,GAAY3sC,QAAQgN,MAAMykC,UAAU,CACpE3mD,KADoE,SAC/D0E,GACH,GAAIA,EAAMgB,QAAUhB,EAAMb,MAAQ80C,EAAiBzjC,QAAQ0mC,QAAS,CAClE,IAAMl2C,EAASs0C,EAAgBC,GAC/BzjC,EAAI9Q,EAAQhB,EAAMb,KAAMa,EAAMgB,QAC9By/C,GAAcz/C,OAKpB,OAAO,WACL8iD,EAAsBG,cACtBD,EAA0BC,iBAE3B,IAEH,aAAgB,WACd,IAAMC,EAAc,SAAC5zC,GAAD,OACjBquC,GAAcruC,KAAS7H,SAAS+iC,SAASl7B,IAEvC4sC,GAAa1sC,UAChB0sC,GAAa1sC,SAAU,EACvByjC,EAAiBzjC,QAAQ0mC,SAAWuJ,MANxB,UASKpD,GAAS7sC,QAAQ+sC,SATtB,IASd,2BAA6C,KAAlC,EAAkC,QACrCpI,EAAQ/zB,EAAIm0B,EAAU/kC,QAAS,GAErC2kC,IACGA,EAAMC,GAAGC,KACNF,EAAMC,GAAGC,KAAK/uC,MAAM49C,GACpBA,EAAY/O,EAAMC,GAAG9kC,OACzB4xC,GAAW,IAhBD,8BAmBd7E,GAAS7sC,QAAQ+sC,QAAU,IAAID,OAG1B,CACL/mB,QAAS,WACP,iBAAO,CACLmoB,YACAzB,yBACAmC,cACAjC,eACA0E,iBACAtM,YACAkL,iBACApD,YACApJ,mBACA4I,eACAC,mBACAC,6BACAmF,cACAU,cAAevG,KAEjB,IAEFrI,UAAWmQ,EACTpQ,EACAC,EACAC,GAEFkL,WACAT,YACAmE,gBACAzF,MAAO,cAAkBA,GAAO,IAChCrxB,SAAU,cAAkBA,GAAU,CAAC80B,KACvCK,UAAW,cAAkBA,GAAW,IACxCkC,MAAO,cAAkBA,GAAO,IAChC1B,YAAa,cAAkBA,GAAa,IAC5CQ,WAAY,cAAkBA,GAAY,IAC1CN,SAAU,cAAkBA,GAAU,IACtCiC,SAAU,cAAkBA,GAAU,O,8BC/rC1C,IAAIthD,EAAwB3I,OAAO2I,sBAC/BlI,EAAiBT,OAAOQ,UAAUC,eAClC+pD,EAAmBxqD,OAAOQ,UAAUuvB,qBAExC,SAAS06B,EAASp3B,GACjB,GAAY,OAARA,QAAwB9xB,IAAR8xB,EACnB,MAAM,IAAIrxB,UAAU,yDAGrB,OAAOhC,OAAOqzB,GA+CfzzB,EAAOC,QA5CP,WACC,IACC,IAAKG,OAAOC,OACX,OAAO,EAMR,IAAIyqD,EAAQ,IAAIznC,OAAO,OAEvB,GADAynC,EAAM,GAAK,KACkC,MAAzC1qD,OAAOuf,oBAAoBmrC,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,GACHxqD,EAAI,EAAGA,EAAI,GAAIA,IACvBwqD,EAAM,IAAM1nC,OAAOC,aAAa/iB,IAAMA,EAKvC,GAAwB,eAHXH,OAAOuf,oBAAoBorC,GAAO71C,KAAI,SAAU1J,GAC5D,OAAOu/C,EAAMv/C,MAEHe,KAAK,IACf,OAAO,EAIR,IAAIy+C,EAAQ,GAIZ,MAHA,uBAAuBl/C,MAAM,IAAIxC,SAAQ,SAAU2hD,GAClDD,EAAMC,GAAUA,KAGf,yBADE7qD,OAAO8G,KAAK9G,OAAOC,OAAO,GAAI2qD,IAAQz+C,KAAK,IAM9C,MAAOrK,GAER,OAAO,GAIQgpD,GAAoB9qD,OAAOC,OAAS,SAAUC,EAAQI,GAKtE,IAJA,IAAIiL,EAEA3C,EADAlG,EAAK+nD,EAASvqD,GAGT+4C,EAAI,EAAGA,EAAI74C,UAAUC,OAAQ44C,IAAK,CAG1C,IAAK,IAAI14C,KAFTgL,EAAOvL,OAAOI,UAAU64C,IAGnBx4C,EAAeC,KAAK6K,EAAMhL,KAC7BmC,EAAGnC,GAAOgL,EAAKhL,IAIjB,GAAIoI,EAAuB,CAC1BC,EAAUD,EAAsB4C,GAChC,IAAK,IAAIpL,EAAI,EAAGA,EAAIyI,EAAQvI,OAAQF,IAC/BqqD,EAAiB9pD,KAAK6K,EAAM3C,EAAQzI,MACvCuC,EAAGkG,EAAQzI,IAAMoL,EAAK3C,EAAQzI,MAMlC,OAAOuC,I,6BCtFR1C,OAAOqJ,eAAexJ,EAAS,aAAc,CAC5CgC,OAAO,IAGR,IAAI9B,EAAWC,OAAOC,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAII,KAAOD,EAAcN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAAQL,EAAOK,GAAOD,EAAOC,IAAY,OAAOL,GAEnPmwB,EAAe,WAAc,SAASjnB,EAAiBlJ,EAAQsC,GAAS,IAAK,IAAIrC,EAAI,EAAGA,EAAIqC,EAAMnC,OAAQF,IAAK,CAAE,IAAI8f,EAAazd,EAAMrC,GAAI8f,EAAWjX,WAAaiX,EAAWjX,aAAc,EAAOiX,EAAWxC,cAAe,EAAU,UAAWwC,IAAYA,EAAWvC,UAAW,GAAM1d,OAAOqJ,eAAenJ,EAAQ+f,EAAW1f,IAAK0f,IAAiB,OAAO,SAAUkQ,EAAaG,EAAYC,GAAiJ,OAA9HD,GAAYlnB,EAAiB+mB,EAAY3vB,UAAW8vB,GAAiBC,GAAannB,EAAiB+mB,EAAaI,GAAqBJ,GAA7gB,GAEf46B,EAASjrD,EAAQ,GAEjByV,EAAUF,EAAuB01C,GAIjCv1C,EAAcH,EAFDvV,EAAQ,KAIzB,SAASuV,EAAuB/I,GAAO,OAAOA,GAAOA,EAAIgJ,WAAahJ,EAAM,CAAE0+C,QAAS1+C,GAUvF,IAAI2+C,EAAa,CAChBjnC,SAAU,WACV0O,IAAK,EACLsG,KAAM,EACNmQ,WAAY,SACZvtB,OAAQ,EACR8Y,SAAU,SACVwV,WAAY,OAGTghB,EAAwB,CAAC,aAAc,eAAgB,iBAAkB,WAAY,aAAc,WAAY,aAAc,yBAS7HC,EAAa,SAAoBt1C,EAAQsO,GAC5CA,EAAKrf,MAAM02B,SAAW3lB,EAAO2lB,SAC7BrX,EAAKrf,MAAMsmD,WAAav1C,EAAOu1C,WAC/BjnC,EAAKrf,MAAMumB,WAAaxV,EAAOwV,WAC/BlH,EAAKrf,MAAMumD,UAAYx1C,EAAOw1C,UAC9BlnC,EAAKrf,MAAMwmD,cAAgBz1C,EAAOy1C,cAClCnnC,EAAKrf,MAAM+jC,cAAgBhzB,EAAOgzB,eAG/B0iB,IAAyB,qBAAX38C,SAA0BA,OAAOY,YAAY,yBAAyBwO,KAAKpP,OAAOY,UAAUC,WAE1G+7C,EAAa,WAGhB,OAAOD,EAAO,IAAMh7C,KAAKC,SAASC,SAAS,IAAIrE,OAAO,EAAG,SAAM7K,GAG5Dg8B,EAAgB,SAAU3G,GAY7B,SAAS2G,EAAc/6B,IAtDxB,SAAyB0tB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAInuB,UAAU,qCAuD9GiuB,CAAgBrvB,KAAM28B,GAEtB,IAAI7c,EAvDN,SAAoCvW,EAAMzJ,GAAQ,IAAKyJ,EAAQ,MAAM,IAAIwmB,eAAe,6DAAgE,OAAOjwB,GAAyB,kBAATA,GAAqC,oBAATA,EAA8ByJ,EAAPzJ,EAuDpNgwB,CAA2B9vB,MAAO28B,EAAc/c,WAAaxgB,OAAOwf,eAAe+d,IAAgB78B,KAAKE,KAAM4B,IAsB1H,OApBAke,EAAM+c,SAAW,SAAUjmB,GAC1BkJ,EAAM8c,MAAQhmB,EACsB,oBAAzBkJ,EAAMle,MAAMi7B,UACtB/c,EAAMle,MAAMi7B,SAASjmB,IAIvBkJ,EAAM+qC,oBAAsB,SAAUj0C,GACrCkJ,EAAMgrC,iBAAmBl0C,GAG1BkJ,EAAMirC,SAAW,SAAUn0C,GAC1BkJ,EAAMkrC,MAAQp0C,GAGfkJ,EAAMta,MAAQ,CACbylD,WAAYrpD,EAAMunC,SAClBsK,QAAS7xC,EAAMwV,IAAMwzC,IACrBM,OAAQtpD,EAAMwV,IAER0I,EA4IR,OAvND,SAAmBpW,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIvI,UAAU,kEAAoEuI,GAAeD,EAAS9J,UAAYR,OAAOwK,OAAOD,GAAcA,EAAW/J,UAAW,CAAEiK,YAAa,CAAE5I,MAAOyI,EAAUtB,YAAY,EAAO0U,UAAU,EAAMD,cAAc,KAAelT,IAAYvK,OAAOugB,eAAiBvgB,OAAOugB,eAAejW,EAAUC,GAAcD,EAASkW,UAAYjW,GAuCheimB,CAAU+M,EAAe3G,GAEzBvG,EAAakN,EAAe,KAAM,CAAC,CAClCh9B,IAAK,2BACLsB,MAAO,SAAkCW,EAAO4D,GAC/C,IAAI4R,EAAKxV,EAAMwV,GAEf,OAAOA,IAAO5R,EAAM0lD,OAAS,CAAEzX,QAASr8B,GAAMwzC,IAAcM,OAAQ9zC,GAAO,SAgC7EqY,EAAakN,EAAe,CAAC,CAC5Bh9B,IAAK,oBACLsB,MAAO,WACNjB,KAAK89C,SAAU,EACf99C,KAAKmrD,kBACLnrD,KAAKorD,qBAEJ,CACFzrD,IAAK,qBACLsB,MAAO,SAA4BusC,EAAW6d,GACzCA,EAAUJ,aAAejrD,KAAKwF,MAAMylD,YACF,oBAA1BjrD,KAAK4B,MAAM0pD,YACrBtrD,KAAK4B,MAAM0pD,WAAWtrD,KAAKwF,MAAMylD,YAGnCjrD,KAAKorD,qBAEJ,CACFzrD,IAAK,uBACLsB,MAAO,WACNjB,KAAK89C,SAAU,IAEd,CACFn+C,IAAK,kBACLsB,MAAO,WACN,GAAKjB,KAAK89C,SAAY9vC,OAAOylB,iBAA7B,CAGA,IAAI83B,EAAcvrD,KAAK48B,OAAS5uB,OAAOylB,iBAAiBzzB,KAAK48B,OACxD2uB,IAGLhB,EAAWgB,EAAavrD,KAAKgrD,OACzBhrD,KAAK8qD,kBACRP,EAAWgB,EAAavrD,KAAK8qD,sBAG7B,CACFnrD,IAAK,mBACLsB,MAAO,WACN,GAAKjB,KAAK89C,SAAY99C,KAAKgrD,OAA2C,qBAA3BhrD,KAAKgrD,MAAMQ,YAAtD,CAGA,IAAIC,OAAgB,EAEnBA,EADGzrD,KAAK4B,MAAM07B,eAAiBt9B,KAAK4B,MAAMX,OAASjB,KAAK4B,MAAMX,OAASjB,KAAK4B,MAAM8pD,uBAClE/7C,KAAKgE,IAAI3T,KAAKgrD,MAAMQ,YAAaxrD,KAAK8qD,iBAAiBU,aAAe,EAEtExrD,KAAKgrD,MAAMQ,YAAc,GAI1CC,GADqC,WAApBzrD,KAAK4B,MAAMmc,WAA+Cpd,IAA1BX,KAAK4B,MAAM+pD,WAA2B,GAAK52B,SAAS/0B,KAAK4B,MAAM+pD,aAAe,GAE3G3rD,KAAK4B,MAAMunC,WAC9BsiB,EAAgBzrD,KAAK4B,MAAMunC,UAExBsiB,IAAkBzrD,KAAKwF,MAAMylD,YAChCjrD,KAAK+P,SAAS,CACbk7C,WAAYQ,OAIb,CACF9rD,IAAK,WACLsB,MAAO,WACN,OAAOjB,KAAK48B,QAEX,CACFj9B,IAAK,QACLsB,MAAO,WACNjB,KAAK48B,MAAM6R,UAEV,CACF9uC,IAAK,OACLsB,MAAO,WACNjB,KAAK48B,MAAM7iB,SAEV,CACFpa,IAAK,SACLsB,MAAO,WACNjB,KAAK48B,MAAMrjB,WAEV,CACF5Z,IAAK,eACLsB,MAAO,WAIN,IAAI2qD,EAAe5rD,KAAK4B,MAAMgqD,aAE9B,OAAOjB,GAAQiB,EAAej3C,EAAQy1C,QAAQl8C,cAAc,QAAS,CAAE29C,wBAAyB,CAC9FC,OAAQ,SAAW9rD,KAAKwF,MAAMiuC,QAAU,kCAClC,OAEP,CACF9zC,IAAK,SACLsB,MAAO,WACN,IAAI8qD,EAAa,CAAC/rD,KAAK4B,MAAM61C,aAAcz3C,KAAK4B,MAAMX,MAAO,IAAI0rC,QAAO,SAAUqf,EAAeC,GAChG,OAAsB,OAAlBD,QAA4CrrD,IAAlBqrD,EACtBA,EAEDC,KAGJC,EAAe/sD,EAAS,GAAIa,KAAK4B,MAAMsC,OACtCgoD,EAAa7yB,UAAS6yB,EAAa7yB,QAAU,gBAElD,IAAImB,EAAar7B,EAAS,CACzB0jC,UAAW,cACXpsB,MAAOzW,KAAKwF,MAAMylD,WAAa,MAC7BjrD,KAAK4B,MAAM44B,YAEV2xB,EAnMP,SAAkCzgD,EAAKxF,GAAQ,IAAI5G,EAAS,GAAI,IAAK,IAAIC,KAAKmM,EAAWxF,EAAKkG,QAAQ7M,IAAM,GAAkBH,OAAOQ,UAAUC,eAAeC,KAAK4L,EAAKnM,KAAcD,EAAOC,GAAKmM,EAAInM,IAAM,OAAOD,EAmM/L0vB,CAAyBhvB,KAAK4B,MAAO,IAOtD,OAtLmB,SAAyBuqD,GAC9C7B,EAAsBhiD,SAAQ,SAAUqyC,GACvC,cAAcwR,EAAWxR,MA+KxByR,CAAgBD,GAChBA,EAAWzoD,UAAY1D,KAAK4B,MAAMyqD,eAClCF,EAAW/0C,GAAKpX,KAAKwF,MAAMiuC,QAC3B0Y,EAAWjoD,MAAQs2B,EAEZ7lB,EAAQy1C,QAAQl8C,cACtB,MACA,CAAExK,UAAW1D,KAAK4B,MAAM8B,UAAWQ,MAAOgoD,GAC1ClsD,KAAKssD,eACL33C,EAAQy1C,QAAQl8C,cAAc,QAAS/O,EAAS,GAAIgtD,EAAY,CAAEr2C,IAAK9V,KAAK68B,YAC5EloB,EAAQy1C,QAAQl8C,cACf,MACA,CAAE4H,IAAK9V,KAAK+qD,SAAU7mD,MAAOmmD,GAC7B0B,GAED/rD,KAAK4B,MAAM07B,YAAc3oB,EAAQy1C,QAAQl8C,cACxC,MACA,CAAE4H,IAAK9V,KAAK6qD,oBAAqB3mD,MAAOmmD,GACxCrqD,KAAK4B,MAAM07B,aACR,UAKAX,EAjLY,CAkLlBwtB,EAAO7oD,WAETq7B,EAAc5gB,UAAY,CACzBrY,UAAWkR,EAAYw1C,QAAQpuC,OAC/By7B,aAAc7iC,EAAYw1C,QAAQmC,IAClCZ,WAAY/2C,EAAYw1C,QAAQnuC,UAAU,CAC1CrH,EAAYw1C,QAAQ7tC,OAAQ3H,EAAYw1C,QAAQpuC,SAChD5E,GAAIxC,EAAYw1C,QAAQpuC,OACxB4vC,aAAch3C,EAAYw1C,QAAQhuC,KAClCiwC,eAAgBz3C,EAAYw1C,QAAQpuC,OACpC6gB,SAAUjoB,EAAYw1C,QAAQjuC,KAC9Bqe,WAAY5lB,EAAYw1C,QAAQviD,OAChCshC,SAAUv0B,EAAYw1C,QAAQnuC,UAAU,CACxCrH,EAAYw1C,QAAQ7tC,OAAQ3H,EAAYw1C,QAAQpuC,SAChDsvC,WAAY12C,EAAYw1C,QAAQjuC,KAChC8iB,SAAUrqB,EAAYw1C,QAAQjuC,KAC9BmhB,YAAa1oB,EAAYw1C,QAAQpuC,OACjC0vC,sBAAuB92C,EAAYw1C,QAAQhuC,KAC3ClY,MAAO0Q,EAAYw1C,QAAQviD,OAC3B5G,MAAO2T,EAAYw1C,QAAQmC,KAE5B5vB,EAAcngB,aAAe,CAC5B2sB,SAAU,EACVyiB,cAAc,GAGf3sD,EAAQmrD,QAAUztB,G,8BC5QlB,wDAKI6vB,EAAwB,WACxBC,EAAuC,qBAAfC,WAA6BA,WAA+B,qBAAX1+C,OAAyBA,OAA2B,qBAAX2+C,EAAyBA,EAAS,GAexJ,SAASC,EAAmB3rD,GAC1B,IAAI4rD,EAAW,GACf,MAAO,CACLC,GAAI,SAAYC,GACdF,EAAS7rD,KAAK+rD,IAEhBC,IAAK,SAAaD,GAChBF,EAAWA,EAAS5kD,QAAO,SAAU2gB,GACnC,OAAOA,IAAMmkC,MAGjBnmC,IAAK,WACH,OAAO3lB,GAETqW,IAAK,SAAas3B,EAAUqe,GAC1BhsD,EAAQ2tC,EACRie,EAASvkD,SAAQ,SAAUykD,GACzB,OAAOA,EAAQ9rD,EAAOgsD,QAuI9B,IAAI3iD,EAAQjJ,IAAMuD,eA7HlB,SAA4B6yC,EAAcyV,GACxC,IAAIC,EAAuBC,EAEvBC,EAAc,0BA3CpB,WACE,IAAI1tD,EAAM,uBACV,OAAO8sD,EAAe9sD,IAAQ8sD,EAAe9sD,IAAQ,GAAK,EAyCZ2tD,GAAgB,KAE1D5/B,EAAwB,SAAUsI,GAGpC,SAAStI,IACP,IAAI5N,EAIJ,OAFAA,EAAQkW,EAAWj2B,MAAMC,KAAMR,YAAcQ,MACvCutD,QAAUX,EAAmB9sC,EAAMle,MAAMX,OACxC6e,EAPTrW,YAAeikB,EAAUsI,GAUzB,IAAIpV,EAAS8M,EAAS9tB,UAoCtB,OAlCAghB,EAAO4sC,gBAAkB,WACvB,IAAIh+C,EAEJ,OAAOA,EAAO,IAAS69C,GAAertD,KAAKutD,QAAS/9C,GAGtDoR,EAAO6sC,0BAA4B,SAAmCC,GACpE,GAAI1tD,KAAK4B,MAAMX,QAAUysD,EAAUzsD,MAAO,CACxC,IAEIgsD,EAFAU,EAAW3tD,KAAK4B,MAAMX,MACtB2tC,EAAW8e,EAAUzsD,QA9Df6kB,EAiEG6nC,MAjEA5nC,EAiEU6oB,GA/Dd,IAAN9oB,GAAW,EAAIA,IAAM,EAAIC,EAEzBD,IAAMA,GAAKC,IAAMA,GA8DlBknC,EAAc,GAEdA,EAA8C,oBAAzBC,EAAsCA,EAAqBS,EAAU/e,GAAY4d,EAQlF,KAFpBS,GAAe,IAGbjtD,KAAKutD,QAAQj2C,IAAIo2C,EAAUzsD,MAAOgsD,IA7E9C,IAAkBnnC,EAAGC,GAmFjBnF,EAAOlf,OAAS,WACd,OAAO1B,KAAK4B,MAAMD,UAGb+rB,EA/CmB,CAgD1BpsB,aAEFosB,EAASnQ,oBAAqB4vC,EAAwB,IAA0BE,GAAeO,IAAU/lD,OAAOyU,WAAY6wC,GAE5H,IAAIU,EAAwB,SAAUl2B,GAGpC,SAASk2B,IACP,IAAIh2B,EAiBJ,OAfAA,EAASF,EAAY53B,MAAMC,KAAMR,YAAcQ,MACxCwF,MAAQ,CACbvE,MAAO42B,EAAO5G,YAGhB4G,EAAOi2B,SAAW,SAAUlf,EAAUqe,GAGC,MAFI,EAAtBp1B,EAAOk2B,cAENd,IAClBp1B,EAAO9nB,SAAS,CACd9O,MAAO42B,EAAO5G,cAKb4G,EApBTpuB,YAAeokD,EAAUl2B,GAuBzB,IAAIq2B,EAAUH,EAASjuD,UAkCvB,OAhCAouD,EAAQP,0BAA4B,SAAmCC,GACrE,IAAIK,EAAeL,EAAUK,aAC7B/tD,KAAK+tD,kBAAgCptD,IAAjBotD,GAA+C,OAAjBA,EAAwBvB,EAAwBuB,GAGpGC,EAAQ5oD,kBAAoB,WACtBpF,KAAKkD,QAAQmqD,IACfrtD,KAAKkD,QAAQmqD,GAAaP,GAAG9sD,KAAK8tD,UAGpC,IAAIC,EAAe/tD,KAAK4B,MAAMmsD,aAC9B/tD,KAAK+tD,kBAAgCptD,IAAjBotD,GAA+C,OAAjBA,EAAwBvB,EAAwBuB,GAGpGC,EAAQ1oD,qBAAuB,WACzBtF,KAAKkD,QAAQmqD,IACfrtD,KAAKkD,QAAQmqD,GAAaL,IAAIhtD,KAAK8tD,WAIvCE,EAAQ/8B,SAAW,WACjB,OAAIjxB,KAAKkD,QAAQmqD,GACRrtD,KAAKkD,QAAQmqD,GAAazmC,MAE1B6wB,GAIXuW,EAAQtsD,OAAS,WACf,OApHaC,EAoHI3B,KAAK4B,MAAMD,SAnHzBxB,MAAMC,QAAQuB,GAAYA,EAAS,GAAKA,GAmHL3B,KAAKwF,MAAMvE,OApHvD,IAAmBU,GAuHRksD,EA1DmB,CA2D1BvsD,aAGF,OADAusD,EAASpwC,eAAgB2vC,EAAwB,IAA0BC,GAAeO,IAAU/lD,OAAQulD,GACrG,CACL1/B,SAAUA,EACVmgC,SAAUA,IAMCvjD,Q,kCC/Kf,IAAI2jD,EAAU/uD,EAAQ,IAKtBF,EAAOC,QAAUoH,EACjBrH,EAAOC,QAAQylB,MAAQA,EACvB1lB,EAAOC,QAAQwlB,QAsGf,SAAkBkE,EAAK9iB,GACrB,OAAOqoD,EAAiBxpC,EAAMiE,EAAK9iB,GAAUA,IAtG/C7G,EAAOC,QAAQivD,iBAAmBA,EAClClvD,EAAOC,QAAQkvD,eAAiBA,EAOhC,IAAIC,EAAc,IAAIzsB,OAAO,CAG3B,UAOA,0GACAp2B,KAAK,KAAM,KASb,SAASmZ,EAAOiE,EAAK9iB,GAQnB,IAPA,IAKIwoD,EALAC,EAAS,GACT3uD,EAAM,EACN2K,EAAQ,EACRlG,EAAO,GACPmqD,EAAmB1oD,GAAWA,EAAQse,WAAa,IAGf,OAAhCkqC,EAAMD,EAAYpnC,KAAK2B,KAAe,CAC5C,IAAI6lC,EAAIH,EAAI,GACRI,EAAUJ,EAAI,GACdrpC,EAASqpC,EAAI/jD,MAKjB,GAJAlG,GAAQukB,EAAIpc,MAAMjC,EAAO0a,GACzB1a,EAAQ0a,EAASwpC,EAAE/uD,OAGfgvD,EACFrqD,GAAQqqD,EAAQ,OADlB,CAKA,IAAI3tD,EAAO6nB,EAAIre,GACXR,EAASukD,EAAI,GACb1pD,EAAO0pD,EAAI,GACX3qB,EAAU2qB,EAAI,GACdjyB,EAAQiyB,EAAI,GACZK,EAAWL,EAAI,GACfM,EAAWN,EAAI,GAGfjqD,IACFkqD,EAAOttD,KAAKoD,GACZA,EAAO,IAGT,IAAIwqD,EAAoB,MAAV9kD,GAA0B,MAARhJ,GAAgBA,IAASgJ,EACrD+kD,EAAsB,MAAbH,GAAiC,MAAbA,EAC7BI,EAAwB,MAAbJ,GAAiC,MAAbA,EAC/BvqC,EAAYkqC,EAAI,IAAME,EACtBhsC,EAAUmhB,GAAWtH,EAEzBkyB,EAAOttD,KAAK,CACV2D,KAAMA,GAAQhF,IACdmK,OAAQA,GAAU,GAClBqa,UAAWA,EACX2qC,SAAUA,EACVD,OAAQA,EACRD,QAASA,EACTD,WAAYA,EACZpsC,QAASA,EAAUwsC,EAAYxsC,GAAYosC,EAAW,KAAO,KAAOK,EAAa7qC,GAAa,SAclG,OATI7Z,EAAQqe,EAAIlpB,SACd2E,GAAQukB,EAAInd,OAAOlB,IAIjBlG,GACFkqD,EAAOttD,KAAKoD,GAGPkqD,EAoBT,SAASW,EAA0BtmC,GACjC,OAAOumC,UAAUvmC,GAAK3lB,QAAQ,WAAW,SAAUivB,GACjD,MAAO,IAAMA,EAAEtP,WAAW,GAAG9S,SAAS,IAAIkH,iBAmB9C,SAASm3C,EAAkBI,EAAQzoD,GAKjC,IAHA,IAAIspD,EAAU,IAAIhvD,MAAMmuD,EAAO7uD,QAGtBF,EAAI,EAAGA,EAAI+uD,EAAO7uD,OAAQF,IACR,kBAAd+uD,EAAO/uD,KAChB4vD,EAAQ5vD,GAAK,IAAIoiC,OAAO,OAAS2sB,EAAO/uD,GAAGgjB,QAAU,KAAM6sC,EAAMvpD,KAIrE,OAAO,SAAU6F,EAAK2jD,GAMpB,IALA,IAAIjrD,EAAO,GACPg3B,EAAO1vB,GAAO,GAEd4jD,GADUD,GAAQ,IACDE,OAASN,EAA2BO,mBAEhDjwD,EAAI,EAAGA,EAAI+uD,EAAO7uD,OAAQF,IAAK,CACtC,IAAIwkB,EAAQuqC,EAAO/uD,GAEnB,GAAqB,kBAAVwkB,EAAX,CAMA,IACI0rC,EADAxuD,EAAQm6B,EAAKrX,EAAMpf,MAGvB,GAAa,MAAT1D,EAAe,CACjB,GAAI8iB,EAAM+qC,SAAU,CAEd/qC,EAAM6qC,UACRxqD,GAAQ2f,EAAMja,QAGhB,SAEA,MAAM,IAAI1I,UAAU,aAAe2iB,EAAMpf,KAAO,mBAIpD,GAAIspD,EAAQhtD,GAAZ,CACE,IAAK8iB,EAAM8qC,OACT,MAAM,IAAIztD,UAAU,aAAe2iB,EAAMpf,KAAO,kCAAoC+qD,KAAKxpC,UAAUjlB,GAAS,KAG9G,GAAqB,IAAjBA,EAAMxB,OAAc,CACtB,GAAIskB,EAAM+qC,SACR,SAEA,MAAM,IAAI1tD,UAAU,aAAe2iB,EAAMpf,KAAO,qBAIpD,IAAK,IAAIkhB,EAAI,EAAGA,EAAI5kB,EAAMxB,OAAQomB,IAAK,CAGrC,GAFA4pC,EAAUH,EAAOruD,EAAM4kB,KAElBspC,EAAQ5vD,GAAG6d,KAAKqyC,GACnB,MAAM,IAAIruD,UAAU,iBAAmB2iB,EAAMpf,KAAO,eAAiBof,EAAMxB,QAAU,oBAAsBmtC,KAAKxpC,UAAUupC,GAAW,KAGvIrrD,IAAe,IAANyhB,EAAU9B,EAAMja,OAASia,EAAMI,WAAasrC,OApBzD,CA4BA,GAFAA,EAAU1rC,EAAM4qC,SA5EbO,UA4EuCjuD,GA5ExB+B,QAAQ,SAAS,SAAUivB,GAC/C,MAAO,IAAMA,EAAEtP,WAAW,GAAG9S,SAAS,IAAIkH,iBA2EWu4C,EAAOruD,IAErDkuD,EAAQ5vD,GAAG6d,KAAKqyC,GACnB,MAAM,IAAIruD,UAAU,aAAe2iB,EAAMpf,KAAO,eAAiBof,EAAMxB,QAAU,oBAAsBktC,EAAU,KAGnHrrD,GAAQ2f,EAAMja,OAAS2lD,QArDrBrrD,GAAQ2f,EAwDZ,OAAO3f,GAUX,SAAS4qD,EAAcrmC,GACrB,OAAOA,EAAI3lB,QAAQ,6BAA8B,QASnD,SAAS+rD,EAAa3yB,GACpB,OAAOA,EAAMp5B,QAAQ,gBAAiB,QAUxC,SAAS2sD,EAAYC,EAAI1pD,GAEvB,OADA0pD,EAAG1pD,KAAOA,EACH0pD,EAST,SAASR,EAAOvpD,GACd,OAAOA,GAAWA,EAAQ9B,UAAY,GAAK,IAwE7C,SAASoqD,EAAgBG,EAAQpoD,EAAML,GAChCooD,EAAQ/nD,KACXL,EAAkCK,GAAQL,EAC1CK,EAAO,IAUT,IALA,IAAIlC,GAFJ6B,EAAUA,GAAW,IAEA7B,OACjBuC,GAAsB,IAAhBV,EAAQU,IACdspD,EAAQ,GAGHtwD,EAAI,EAAGA,EAAI+uD,EAAO7uD,OAAQF,IAAK,CACtC,IAAIwkB,EAAQuqC,EAAO/uD,GAEnB,GAAqB,kBAAVwkB,EACT8rC,GAASb,EAAajrC,OACjB,CACL,IAAIja,EAASklD,EAAajrC,EAAMja,QAC5B45B,EAAU,MAAQ3f,EAAMxB,QAAU,IAEtCrc,EAAKlF,KAAK+iB,GAENA,EAAM8qC,SACRnrB,GAAW,MAAQ55B,EAAS45B,EAAU,MAaxCmsB,GANInsB,EAJA3f,EAAM+qC,SACH/qC,EAAM6qC,QAGC9kD,EAAS,IAAM45B,EAAU,KAFzB,MAAQ55B,EAAS,IAAM45B,EAAU,MAKnC55B,EAAS,IAAM45B,EAAU,KAOzC,IAAIvf,EAAY6qC,EAAanpD,EAAQse,WAAa,KAC9C2rC,EAAoBD,EAAMtjD,OAAO4X,EAAU1kB,UAAY0kB,EAkB3D,OAZKngB,IACH6rD,GAASC,EAAoBD,EAAMtjD,MAAM,GAAI4X,EAAU1kB,QAAUowD,GAAS,MAAQ1rC,EAAY,WAI9F0rC,GADEtpD,EACO,IAIAvC,GAAU8rD,EAAoB,GAAK,MAAQ3rC,EAAY,MAG3DwrC,EAAW,IAAIhuB,OAAO,IAAMkuB,EAAOT,EAAMvpD,IAAWK,GAe7D,SAASG,EAAcjC,EAAM8B,EAAML,GAQjC,OAPKooD,EAAQ/nD,KACXL,EAAkCK,GAAQL,EAC1CK,EAAO,IAGTL,EAAUA,GAAW,GAEjBzB,aAAgBu9B,OAlJtB,SAAyBv9B,EAAM8B,GAE7B,IAAI6pD,EAAS3rD,EAAK1E,OAAO4E,MAAM,aAE/B,GAAIyrD,EACF,IAAK,IAAIxwD,EAAI,EAAGA,EAAIwwD,EAAOtwD,OAAQF,IACjC2G,EAAKlF,KAAK,CACR2D,KAAMpF,EACNuK,OAAQ,KACRqa,UAAW,KACX2qC,UAAU,EACVD,QAAQ,EACRD,SAAS,EACTD,UAAU,EACVpsC,QAAS,OAKf,OAAOotC,EAAWvrD,EAAM8B,GAgIf8pD,CAAe5rD,EAA6B8B,GAGjD+nD,EAAQ7pD,GAxHd,SAAwBA,EAAM8B,EAAML,GAGlC,IAFA,IAAIoqD,EAAQ,GAEH1wD,EAAI,EAAGA,EAAI6E,EAAK3E,OAAQF,IAC/B0wD,EAAMjvD,KAAKqF,EAAajC,EAAK7E,GAAI2G,EAAML,GAASnG,QAKlD,OAAOiwD,EAFM,IAAIhuB,OAAO,MAAQsuB,EAAM1kD,KAAK,KAAO,IAAK6jD,EAAMvpD,IAEnCK,GAgHjBgqD,CAAqC9rD,EAA8B8B,EAAOL,GArGrF,SAAyBzB,EAAM8B,EAAML,GACnC,OAAOsoD,EAAezpC,EAAMtgB,EAAMyB,GAAUK,EAAML,GAuG3CsqD,CAAsC/rD,EAA8B8B,EAAOL,K,6BCralF7G,EAAOC,QAAUC,EAAQ,K,cCH3B,SAASC,IAgBP,OAfAH,EAAOC,QAAUE,EAAWC,OAAOC,QAAU,SAAUC,GACrD,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGTN,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,EACjEvV,EAASY,MAAMC,KAAMR,WAG9BR,EAAOC,QAAUE,EACjBH,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCVxE1V,EAAOC,QAVP,SAA2BiB,EAAKqf,IACnB,MAAPA,GAAeA,EAAMrf,EAAIT,UAAQ8f,EAAMrf,EAAIT,QAE/C,IAAK,IAAIF,EAAI,EAAGigB,EAAO,IAAIrf,MAAMof,GAAMhgB,EAAIggB,EAAKhgB,IAC9CigB,EAAKjgB,GAAKW,EAAIX,GAGhB,OAAOigB,GAITxgB,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,6BCTxEtV,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAGThC,EAAO,QAAc,WACnB,IAAImxD,OAAOzvD,EACX,IACEyvD,EAAOlxD,EAAQ,IADjB,QAGE,OAAOkxD,IAIXpxD,EAAOC,QAAUA,EAAO,S,6BCbxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKThC,EAAQoxD,QAHM,SAAiB59B,GAC7B,OAAOsC,SAAStC,EAAIlmB,MAAM,GAAI,GAAI,M,6BCJpCnN,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAEThC,EAAO,QAAc,CACnBqxD,MAAOpxD,EAAQ,IACfqxD,MAAOrxD,EAAQ,IACfsxD,QAAStxD,EAAQ,IACjBuxD,OAAQvxD,EAAQ,IAChB8B,KAAM9B,EAAQ,IACdwxD,WAAYxxD,EAAQ,IACpByxD,UAAWzxD,EAAQ,IACnB0xD,YAAa1xD,EAAQ,IACrB2xD,SAAU3xD,EAAQ,IAClB4xD,OAAQ5xD,EAAQ,KAElBF,EAAOC,QAAUA,EAAO,S,6BCTX,IAAI8xD,EAAE7xD,EAAQ,IAAiBsL,EAAE,MAAMkV,EAAE,MAAMzgB,EAAQsiC,SAAS,MAAMtiC,EAAQ+xD,WAAW,MAAM/xD,EAAQgyD,SAAS,MAAM,IAAIC,EAAE,MAAMC,EAAE,MAAMn/B,EAAE,MAAM/yB,EAAQmyD,SAAS,MAAM,IAAIC,EAAE,MAAMC,EAAE,MACpM,GAAG,oBAAoBjxD,QAAQA,OAAOkxD,IAAI,CAAC,IAAIz+B,EAAEzyB,OAAOkxD,IAAI/mD,EAAEsoB,EAAE,iBAAiBpT,EAAEoT,EAAE,gBAAgB7zB,EAAQsiC,SAASzO,EAAE,kBAAkB7zB,EAAQ+xD,WAAWl+B,EAAE,qBAAqB7zB,EAAQgyD,SAASn+B,EAAE,kBAAkBo+B,EAAEp+B,EAAE,kBAAkBq+B,EAAEr+B,EAAE,iBAAiBd,EAAEc,EAAE,qBAAqB7zB,EAAQmyD,SAASt+B,EAAE,kBAAkBu+B,EAAEv+B,EAAE,cAAcw+B,EAAEx+B,EAAE,cAAc,IAAIhN,EAAE,oBAAoBzlB,QAAQA,OAAOC,SACtR,SAAS0lB,EAAEpa,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEqmB,EAAE,EAAEA,EAAEzyB,UAAUC,OAAOwyB,IAAIpmB,GAAG,WAAW2jD,mBAAmBhwD,UAAUyyB,IAAI,MAAM,yBAAyBrmB,EAAE,WAAWC,EAAE,iHACpU,IAAI2lD,EAAE,CAACC,UAAU,WAAW,OAAM,GAAIC,mBAAmB,aAAaC,oBAAoB,aAAaC,gBAAgB,cAAcC,EAAE,GAAG,SAAS1vD,EAAEyJ,EAAEC,EAAEomB,GAAGjyB,KAAK4B,MAAMgK,EAAE5L,KAAKkD,QAAQ2I,EAAE7L,KAAK66C,KAAKgX,EAAE7xD,KAAK8xD,QAAQ7/B,GAAGu/B,EACpN,SAASO,KAA6B,SAASC,EAAEpmD,EAAEC,EAAEomB,GAAGjyB,KAAK4B,MAAMgK,EAAE5L,KAAKkD,QAAQ2I,EAAE7L,KAAK66C,KAAKgX,EAAE7xD,KAAK8xD,QAAQ7/B,GAAGu/B,EADsGrvD,EAAEvC,UAAUqyD,iBAAiB,GAAG9vD,EAAEvC,UAAUmQ,SAAS,SAASnE,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAM3B,MAAM+b,EAAE,KAAKhmB,KAAK8xD,QAAQF,gBAAgB5xD,KAAK4L,EAAEC,EAAE,aAAa1J,EAAEvC,UAAUsyD,YAAY,SAAStmD,GAAG5L,KAAK8xD,QAAQJ,mBAAmB1xD,KAAK4L,EAAE,gBACndmmD,EAAEnyD,UAAUuC,EAAEvC,UAAsF,IAAIw4C,EAAE4Z,EAAEpyD,UAAU,IAAImyD,EAAE3Z,EAAEvuC,YAAYmoD,EAAEjB,EAAE3Y,EAAEj2C,EAAEvC,WAAWw4C,EAAE+Z,sBAAqB,EAAG,IAAIC,EAAE,CAACp8C,QAAQ,MAAMq8C,EAAEjzD,OAAOQ,UAAUC,eAAeyyD,EAAE,CAAC3yD,KAAI,EAAGmW,KAAI,EAAGy8C,QAAO,EAAGC,UAAS,GAChS,SAASC,EAAE7mD,EAAEC,EAAEomB,GAAG,IAAInlB,EAAEqO,EAAE,GAAG5Q,EAAE,KAAKqe,EAAE,KAAK,GAAG,MAAM/c,EAAE,IAAIiB,UAAK,IAASjB,EAAEiK,MAAM8S,EAAE/c,EAAEiK,UAAK,IAASjK,EAAElM,MAAM4K,EAAE,GAAGsB,EAAElM,KAAKkM,EAAEwmD,EAAEvyD,KAAK+L,EAAEiB,KAAKwlD,EAAEzyD,eAAeiN,KAAKqO,EAAErO,GAAGjB,EAAEiB,IAAI,IAAI4lD,EAAElzD,UAAUC,OAAO,EAAE,GAAG,IAAIizD,EAAEv3C,EAAExZ,SAASswB,OAAO,GAAG,EAAEygC,EAAE,CAAC,IAAI,IAAIpa,EAAEn4C,MAAMuyD,GAAGlE,EAAE,EAAEA,EAAEkE,EAAElE,IAAIlW,EAAEkW,GAAGhvD,UAAUgvD,EAAE,GAAGrzC,EAAExZ,SAAS22C,EAAE,GAAG1sC,GAAGA,EAAE4Q,aAAa,IAAI1P,KAAK4lD,EAAE9mD,EAAE4Q,kBAAe,IAASrB,EAAErO,KAAKqO,EAAErO,GAAG4lD,EAAE5lD,IAAI,MAAM,CAAC6lD,SAASnoD,EAAEuT,KAAKnS,EAAEjM,IAAI4K,EAAEuL,IAAI8S,EAAEhnB,MAAMuZ,EAAEy3C,OAAOR,EAAEp8C,SACxU,SAAS68C,EAAEjnD,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE+mD,WAAWnoD,EAAqG,IAAIsoD,EAAE,OAAO,SAASC,EAAEnnD,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAEjM,IAA7K,SAAgBiM,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAID,EAAE5I,QAAQ,SAAQ,SAAS4I,GAAG,OAAOC,EAAED,MAAmFonD,CAAO,GAAGpnD,EAAEjM,KAAKkM,EAAEgE,SAAS,IAC5W,SAASojD,EAAErnD,EAAEC,EAAEomB,EAAEnlB,EAAEqO,GAAG,IAAI5Q,SAASqB,EAAK,cAAcrB,GAAG,YAAYA,IAAEqB,EAAE,MAAK,IAAIgd,GAAE,EAAG,GAAG,OAAOhd,EAAEgd,GAAE,OAAQ,OAAOre,GAAG,IAAK,SAAS,IAAK,SAASqe,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOhd,EAAE+mD,UAAU,KAAKnoD,EAAE,KAAKkV,EAAEkJ,GAAE,GAAI,GAAGA,EAAE,OAAWzN,EAAEA,EAANyN,EAAEhd,GAASA,EAAE,KAAKkB,EAAE,IAAIimD,EAAEnqC,EAAE,GAAG9b,EAAE3M,MAAMC,QAAQ+a,IAAI8W,EAAE,GAAG,MAAMrmB,IAAIqmB,EAAErmB,EAAE5I,QAAQ8vD,EAAE,OAAO,KAAKG,EAAE93C,EAAEtP,EAAEomB,EAAE,IAAG,SAASrmB,GAAG,OAAOA,MAAK,MAAMuP,IAAI03C,EAAE13C,KAAKA,EAD/W,SAAWvP,EAAEC,GAAG,MAAM,CAAC8mD,SAASnoD,EAAEuT,KAAKnS,EAAEmS,KAAKpe,IAAIkM,EAAEiK,IAAIlK,EAAEkK,IAAIlU,MAAMgK,EAAEhK,MAAMgxD,OAAOhnD,EAAEgnD,QAC4RM,CAAE/3C,EAAE8W,IAAI9W,EAAExb,KAAKipB,GAAGA,EAAEjpB,MAAMwb,EAAExb,IAAI,IAAI,GAAGwb,EAAExb,KAAKqD,QAAQ8vD,EAAE,OAAO,KAAKlnD,IAAIC,EAAE7K,KAAKma,IAAI,EAAyB,GAAvByN,EAAE,EAAE9b,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAO3M,MAAMC,QAAQwL,GAAG,IAAI,IAAI8mD,EACzf,EAAEA,EAAE9mD,EAAEnM,OAAOizD,IAAI,CAAQ,IAAIpa,EAAExrC,EAAEimD,EAAfxoD,EAAEqB,EAAE8mD,GAAeA,GAAG9pC,GAAGqqC,EAAE1oD,EAAEsB,EAAEomB,EAAEqmB,EAAEn9B,QAAQ,GAAU,oBAAPm9B,EANhE,SAAW1sC,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAEka,GAAGla,EAAEka,IAAIla,EAAE,eAA0CA,EAAE,KAMlDma,CAAEna,IAAyB,IAAIA,EAAE0sC,EAAEx4C,KAAK8L,GAAG8mD,EAAE,IAAInoD,EAAEqB,EAAE9K,QAAQC,MAA6B6nB,GAAGqqC,EAA1B1oD,EAAEA,EAAEtJ,MAA0B4K,EAAEomB,EAAtBqmB,EAAExrC,EAAEimD,EAAExoD,EAAEmoD,KAAkBv3C,QAAQ,GAAG,WAAW5Q,EAAE,MAAMsB,EAAE,GAAGD,EAAE3B,MAAM+b,EAAE,GAAG,oBAAoBna,EAAE,qBAAqBzM,OAAO8G,KAAK0F,GAAGL,KAAK,MAAM,IAAIM,IAAI,OAAO+c,EAAE,SAASuqC,EAAEvnD,EAAEC,EAAEomB,GAAG,GAAG,MAAMrmB,EAAE,OAAOA,EAAE,IAAIkB,EAAE,GAAGqO,EAAE,EAAmD,OAAjD83C,EAAErnD,EAAEkB,EAAE,GAAG,IAAG,SAASlB,GAAG,OAAOC,EAAE/L,KAAKmyB,EAAErmB,EAAEuP,QAAcrO,EAC1Z,SAASsmD,EAAExnD,GAAG,IAAI,IAAIA,EAAEynD,QAAQ,CAAC,IAAIxnD,EAAED,EAAE0nD,QAAQznD,EAAEA,IAAID,EAAEynD,QAAQ,EAAEznD,EAAE0nD,QAAQznD,EAAEA,EAAEzC,MAAK,SAASyC,GAAG,IAAID,EAAEynD,UAAUxnD,EAAEA,EAAEu+C,QAAQx+C,EAAEynD,QAAQ,EAAEznD,EAAE0nD,QAAQznD,MAAI,SAASA,GAAG,IAAID,EAAEynD,UAAUznD,EAAEynD,QAAQ,EAAEznD,EAAE0nD,QAAQznD,MAAK,GAAG,IAAID,EAAEynD,QAAQ,OAAOznD,EAAE0nD,QAAQ,MAAM1nD,EAAE0nD,QAAS,IAAIC,EAAE,CAACv9C,QAAQ,MAAM,SAASw9C,IAAI,IAAI5nD,EAAE2nD,EAAEv9C,QAAQ,GAAG,OAAOpK,EAAE,MAAM3B,MAAM+b,EAAE,MAAM,OAAOpa,EAAE,IAAI6nD,EAAE,CAACC,uBAAuBH,EAAEI,wBAAwB,CAACz8C,WAAW,GAAG08C,kBAAkBxB,EAAEyB,qBAAqB,CAAC79C,SAAQ,GAAI3W,OAAO0xD,GACje9xD,EAAQsc,SAAS,CAACrH,IAAIi/C,EAAE7qD,QAAQ,SAASsD,EAAEC,EAAEomB,GAAGkhC,EAAEvnD,GAAE,WAAWC,EAAE9L,MAAMC,KAAKR,aAAYyyB,IAAI3N,MAAM,SAAS1Y,GAAG,IAAIC,EAAE,EAAuB,OAArBsnD,EAAEvnD,GAAE,WAAWC,OAAaA,GAAGioD,QAAQ,SAASloD,GAAG,OAAOunD,EAAEvnD,GAAE,SAASA,GAAG,OAAOA,MAAK,IAAImoD,KAAK,SAASnoD,GAAG,IAAIinD,EAAEjnD,GAAG,MAAM3B,MAAM+b,EAAE,MAAM,OAAOpa,IAAI3M,EAAQqC,UAAUa,EAAElD,EAAQ+0D,cAAchC,EAAE/yD,EAAQg1D,mDAAmDR,EAChXx0D,EAAQ0c,aAAa,SAAS/P,EAAEC,EAAEomB,GAAG,GAAG,OAAOrmB,QAAG,IAASA,EAAE,MAAM3B,MAAM+b,EAAE,IAAIpa,IAAI,IAAIkB,EAAEikD,EAAE,GAAGnlD,EAAEhK,OAAOuZ,EAAEvP,EAAEjM,IAAI4K,EAAEqB,EAAEkK,IAAI8S,EAAEhd,EAAEgnD,OAAO,GAAG,MAAM/mD,EAAE,CAAoE,QAAnE,IAASA,EAAEiK,MAAMvL,EAAEsB,EAAEiK,IAAI8S,EAAEwpC,EAAEp8C,cAAS,IAASnK,EAAElM,MAAMwb,EAAE,GAAGtP,EAAElM,KAAQiM,EAAEmS,MAAMnS,EAAEmS,KAAKvB,aAAa,IAAIk2C,EAAE9mD,EAAEmS,KAAKvB,aAAa,IAAI87B,KAAKzsC,EAAEwmD,EAAEvyD,KAAK+L,EAAEysC,KAAKga,EAAEzyD,eAAey4C,KAAKxrC,EAAEwrC,QAAG,IAASzsC,EAAEysC,SAAI,IAASoa,EAAEA,EAAEpa,GAAGzsC,EAAEysC,IAAI,IAAIA,EAAE94C,UAAUC,OAAO,EAAE,GAAG,IAAI64C,EAAExrC,EAAEnL,SAASswB,OAAO,GAAG,EAAEqmB,EAAE,CAACoa,EAAEvyD,MAAMm4C,GAAG,IAAI,IAAIkW,EAAE,EAAEA,EAAElW,EAAEkW,IAAIkE,EAAElE,GAAGhvD,UAAUgvD,EAAE,GAAG1hD,EAAEnL,SAAS+wD,EAAE,MAAM,CAACC,SAASnoD,EAAEuT,KAAKnS,EAAEmS,KACxfpe,IAAIwb,EAAErF,IAAIvL,EAAE3I,MAAMkL,EAAE8lD,OAAOhqC,IAAI3pB,EAAQ2F,cAAc,SAASgH,EAAEC,GAA8K,YAA3K,IAASA,IAAIA,EAAE,OAAMD,EAAE,CAAC+mD,SAASxB,EAAE+C,sBAAsBroD,EAAEsoD,cAAcvoD,EAAEwoD,eAAexoD,EAAEyoD,aAAa,EAAE3mC,SAAS,KAAKmgC,SAAS,OAAQngC,SAAS,CAACilC,SAASzB,EAAEoD,SAAS1oD,GAAUA,EAAEiiD,SAASjiD,GAAG3M,EAAQiP,cAAcukD,EAAExzD,EAAQs1D,cAAc,SAAS3oD,GAAG,IAAIC,EAAE4mD,EAAEnT,KAAK,KAAK1zC,GAAY,OAATC,EAAEkS,KAAKnS,EAASC,GAAG5M,EAAQu1D,UAAU,WAAW,MAAM,CAACx+C,QAAQ,OAAO/W,EAAQmD,WAAW,SAASwJ,GAAG,MAAM,CAAC+mD,SAAS3gC,EAAEtwB,OAAOkK,IAAI3M,EAAQw1D,eAAe5B,EAC3e5zD,EAAQy1D,KAAK,SAAS9oD,GAAG,MAAM,CAAC+mD,SAASrB,EAAEqD,SAAS,CAACtB,SAAS,EAAEC,QAAQ1nD,GAAGgpD,MAAMxB,IAAIn0D,EAAQwH,KAAK,SAASmF,EAAEC,GAAG,MAAM,CAAC8mD,SAAStB,EAAEtzC,KAAKnS,EAAEyS,aAAQ,IAASxS,EAAE,KAAKA,IAAI5M,EAAQ2lC,YAAY,SAASh5B,EAAEC,GAAG,OAAO2nD,IAAI5uB,YAAYh5B,EAAEC,IAAI5M,EAAQwI,WAAW,SAASmE,EAAEC,GAAG,OAAO2nD,IAAI/rD,WAAWmE,EAAEC,IAAI5M,EAAQ41D,cAAc,aAAa51D,EAAQ8W,UAAU,SAASnK,EAAEC,GAAG,OAAO2nD,IAAIz9C,UAAUnK,EAAEC,IAAI5M,EAAQ61D,oBAAoB,SAASlpD,EAAEC,EAAEomB,GAAG,OAAOuhC,IAAIsB,oBAAoBlpD,EAAEC,EAAEomB,IAC9chzB,EAAQ81D,gBAAgB,SAASnpD,EAAEC,GAAG,OAAO2nD,IAAIuB,gBAAgBnpD,EAAEC,IAAI5M,EAAQwhC,QAAQ,SAAS70B,EAAEC,GAAG,OAAO2nD,IAAI/yB,QAAQ70B,EAAEC,IAAI5M,EAAQ+1D,WAAW,SAASppD,EAAEC,EAAEomB,GAAG,OAAOuhC,IAAIwB,WAAWppD,EAAEC,EAAEomB,IAAIhzB,EAAQ0W,OAAO,SAAS/J,GAAG,OAAO4nD,IAAI79C,OAAO/J,IAAI3M,EAAQqW,SAAS,SAAS1J,GAAG,OAAO4nD,IAAIl+C,SAAS1J,IAAI3M,EAAQg2D,QAAQ,U,6BCXxS,IAAIC,EAAGh2D,EAAQ,GAASsvD,EAAEtvD,EAAQ,IAAiBiyD,EAAEjyD,EAAQ,IAAa,SAAS6mB,EAAEna,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEqmB,EAAE,EAAEA,EAAEzyB,UAAUC,OAAOwyB,IAAIpmB,GAAG,WAAW2jD,mBAAmBhwD,UAAUyyB,IAAI,MAAM,yBAAyBrmB,EAAE,WAAWC,EAAE,iHAAiH,IAAIqpD,EAAG,MAAMjrD,MAAM8b,EAAE,MAAM,IAAIovC,EAAG,IAAIrS,IAAIsS,EAAG,GAAG,SAASC,EAAGzpD,EAAEC,GAAGypD,EAAG1pD,EAAEC,GAAGypD,EAAG1pD,EAAE,UAAUC,GAC3e,SAASypD,EAAG1pD,EAAEC,GAAW,IAARupD,EAAGxpD,GAAGC,EAAMD,EAAE,EAAEA,EAAEC,EAAEpM,OAAOmM,IAAIupD,EAAG9T,IAAIx1C,EAAED,IACzD,IAAI2pD,IAAK,qBAAqBvnD,QAAQ,qBAAqBA,OAAOC,UAAU,qBAAqBD,OAAOC,SAASC,eAAesnD,EAAG,8VAA8VC,EAAGr2D,OAAOQ,UAAUC,eACrf61D,EAAG,GAAGC,EAAG,GAC+M,SAAS9D,EAAEjmD,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,EAAEoa,GAAG1yD,KAAK41D,gBAAgB,IAAI/pD,GAAG,IAAIA,GAAG,IAAIA,EAAE7L,KAAK61D,cAAc16C,EAAEnb,KAAK81D,mBAAmBhpD,EAAE9M,KAAK+1D,gBAAgB9jC,EAAEjyB,KAAKg2D,aAAapqD,EAAE5L,KAAK+d,KAAKlS,EAAE7L,KAAKi2D,YAAY3d,EAAEt4C,KAAKk2D,kBAAkBxD,EAAE,IAAIX,EAAE,GACnb,uIAAuIjnD,MAAM,KAAKxC,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAetD,SAAQ,SAASsD,GAAG,IAAIC,EAAED,EAAE,GAAGmmD,EAAElmD,GAAG,IAAIgmD,EAAEhmD,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,GAAG,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAAStD,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAEO,cAAc,MAAK,GAAG,MACve,CAAC,cAAc,4BAA4B,YAAY,iBAAiB7D,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,8OAA8Od,MAAM,KAAKxC,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAEO,cAAc,MAAK,GAAG,MACrb,CAAC,UAAU,WAAW,QAAQ,YAAY7D,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,YAAYtD,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQtD,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,SAAStD,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAEO,cAAc,MAAK,GAAG,MAAM,IAAIgqD,EAAG,gBAAgB,SAASC,EAAGxqD,GAAG,OAAOA,EAAE,GAAGmL,cAI3Y,SAASs/C,EAAGzqD,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAEilD,EAAElyD,eAAegM,GAAGkmD,EAAElmD,GAAG,MAAW,OAAOiB,EAAE,IAAIA,EAAEiR,MAAK5C,IAAO,EAAEtP,EAAEpM,SAAS,MAAMoM,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,QAPnJ,SAAYD,EAAEC,EAAEomB,EAAE9W,GAAG,GAAG,OAAOtP,GAAG,qBAAqBA,GADwE,SAAYD,EAAEC,EAAEomB,EAAE9W,GAAG,GAAG,OAAO8W,GAAG,IAAIA,EAAElU,KAAK,OAAM,EAAG,cAAclS,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGsP,IAAc,OAAO8W,GAASA,EAAE2jC,gBAAmD,WAAnChqD,EAAEA,EAAEO,cAAcI,MAAM,EAAE,KAAsB,UAAUX,GAAE,QAAQ,OAAM,GAC/T0qD,CAAG1qD,EAAEC,EAAEomB,EAAE9W,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAO8W,EAAE,OAAOA,EAAElU,MAAM,KAAK,EAAE,OAAOlS,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOiyB,MAAMjyB,GAAG,KAAK,EAAE,OAAOiyB,MAAMjyB,IAAI,EAAEA,EAAE,OAAM,EAOrD0qD,CAAG1qD,EAAEomB,EAAEnlB,EAAEqO,KAAK8W,EAAE,MAAM9W,GAAG,OAAOrO,EARpL,SAAYlB,GAAG,QAAG6pD,EAAG31D,KAAK61D,EAAG/pD,KAAe6pD,EAAG31D,KAAK41D,EAAG9pD,KAAe4pD,EAAGp4C,KAAKxR,GAAU+pD,EAAG/pD,IAAG,GAAG8pD,EAAG9pD,IAAG,GAAS,IAQsE4qD,CAAG3qD,KAAK,OAAOomB,EAAErmB,EAAE0M,gBAAgBzM,GAAGD,EAAE2M,aAAa1M,EAAE,GAAGomB,IAAInlB,EAAEipD,gBAAgBnqD,EAAEkB,EAAEkpD,cAAc,OAAO/jC,EAAE,IAAInlB,EAAEiR,MAAQ,GAAGkU,GAAGpmB,EAAEiB,EAAE+oD,cAAc16C,EAAErO,EAAEgpD,mBAAmB,OAAO7jC,EAAErmB,EAAE0M,gBAAgBzM,IAAaomB,EAAE,KAAXnlB,EAAEA,EAAEiR,OAAc,IAAIjR,IAAG,IAAKmlB,EAAE,GAAG,GAAGA,EAAE9W,EAAEvP,EAAE6qD,eAAet7C,EAAEtP,EAAEomB,GAAGrmB,EAAE2M,aAAa1M,EAAEomB,MAH5d,0jCAA0jCnnB,MAAM,KAAKxC,SAAQ,SAASsD,GAAG,IAAIC,EAAED,EAAE5I,QAAQmzD,EACzmCC,GAAIrE,EAAElmD,GAAG,IAAIgmD,EAAEhmD,EAAE,GAAE,EAAGD,EAAE,MAAK,GAAG,MAAM,2EAA2Ed,MAAM,KAAKxC,SAAQ,SAASsD,GAAG,IAAIC,EAAED,EAAE5I,QAAQmzD,EAAGC,GAAIrE,EAAElmD,GAAG,IAAIgmD,EAAEhmD,EAAE,GAAE,EAAGD,EAAE,gCAA+B,GAAG,MAAM,CAAC,WAAW,WAAW,aAAatD,SAAQ,SAASsD,GAAG,IAAIC,EAAED,EAAE5I,QAAQmzD,EAAGC,GAAIrE,EAAElmD,GAAG,IAAIgmD,EAAEhmD,EAAE,GAAE,EAAGD,EAAE,wCAAuC,GAAG,MAAM,CAAC,WAAW,eAAetD,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAEO,cAAc,MAAK,GAAG,MAC/c4lD,EAAE2E,UAAU,IAAI7E,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcvpD,SAAQ,SAASsD,GAAGmmD,EAAEnmD,GAAG,IAAIimD,EAAEjmD,EAAE,GAAE,EAAGA,EAAEO,cAAc,MAAK,GAAG,MAEzL,IAAIwqD,EAAGzB,EAAGjB,mDAAmD2C,EAAG,MAAMC,EAAG,MAAMloD,EAAG,MAAMmoD,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAChN,GAAG,oBAAoBt3D,QAAQA,OAAOkxD,IAAI,CAAC,IAAIS,EAAE3xD,OAAOkxD,IAAIqF,EAAG5E,EAAE,iBAAiB6E,EAAG7E,EAAE,gBAAgBrjD,EAAGqjD,EAAE,kBAAkB8E,EAAG9E,EAAE,qBAAqB+E,EAAG/E,EAAE,kBAAkBgF,EAAGhF,EAAE,kBAAkBiF,EAAGjF,EAAE,iBAAiBkF,EAAGlF,EAAE,qBAAqBmF,EAAGnF,EAAE,kBAAkBoF,EAAGpF,EAAE,uBAAuBqF,EAAGrF,EAAE,cAAcsF,EAAGtF,EAAE,cAAcuF,EAAGvF,EAAE,eAAeA,EAAE,eAAewF,EAAGxF,EAAE,mBAAmByF,EAAGzF,EAAE,0BAA0B0F,EAAG1F,EAAE,mBAAmB2F,EAAG3F,EAAE,uBACxc,IAAmL4F,EAA/KC,EAAG,oBAAoBx3D,QAAQA,OAAOC,SAAS,SAASw3D,EAAGlsD,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAEisD,GAAIjsD,EAAEisD,IAAKjsD,EAAE,eAA0CA,EAAE,KAAY,SAASmsD,EAAGnsD,GAAG,QAAG,IAASgsD,EAAG,IAAI,MAAM3tD,QAAS,MAAMgoB,GAAG,IAAIpmB,EAAEomB,EAAEs+B,MAAMj2C,OAAOhW,MAAM,gBAAgBszD,EAAG/rD,GAAGA,EAAE,IAAI,GAAG,MAAM,KAAK+rD,EAAGhsD,EAAE,IAAIosD,GAAG,EACjU,SAASC,EAAGrsD,EAAEC,GAAG,IAAID,GAAGosD,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAI/lC,EAAEhoB,MAAMiuD,kBAAkBjuD,MAAMiuD,uBAAkB,EAAO,IAAI,GAAGrsD,EAAE,GAAGA,EAAE,WAAW,MAAM5B,SAAU7K,OAAOqJ,eAAeoD,EAAEjM,UAAU,QAAQ,CAAC0X,IAAI,WAAW,MAAMrN,WAAY,kBAAkBmmB,SAASA,QAAQC,UAAU,CAAC,IAAID,QAAQC,UAAUxkB,EAAE,IAAI,MAAMtB,GAAG,IAAI4Q,EAAE5Q,EAAE6lB,QAAQC,UAAUzkB,EAAE,GAAGC,OAAO,CAAC,IAAIA,EAAE/L,OAAO,MAAMyK,GAAG4Q,EAAE5Q,EAAEqB,EAAE9L,KAAK+L,EAAEjM,eAAe,CAAC,IAAI,MAAMqK,QAAS,MAAMM,GAAG4Q,EAAE5Q,EAAEqB,KAAK,MAAMrB,GAAG,GAAGA,GAAG4Q,GAAG,kBAAkB5Q,EAAEgmD,MAAM,CAAC,IAAI,IAAIzjD,EAAEvC,EAAEgmD,MAAMzlD,MAAM,MACnfwtC,EAAEn9B,EAAEo1C,MAAMzlD,MAAM,MAAM4nD,EAAE5lD,EAAErN,OAAO,EAAEmpB,EAAE0vB,EAAE74C,OAAO,EAAE,GAAGizD,GAAG,GAAG9pC,GAAG9b,EAAE4lD,KAAKpa,EAAE1vB,IAAIA,IAAI,KAAK,GAAG8pC,GAAG,GAAG9pC,EAAE8pC,IAAI9pC,IAAI,GAAG9b,EAAE4lD,KAAKpa,EAAE1vB,GAAG,CAAC,GAAG,IAAI8pC,GAAG,IAAI9pC,EAAG,GAAG,GAAG8pC,IAAQ,IAAJ9pC,GAAS9b,EAAE4lD,KAAKpa,EAAE1vB,GAAG,MAAM,KAAK9b,EAAE4lD,GAAG1vD,QAAQ,WAAW,cAAc,GAAG0vD,GAAG,GAAG9pC,GAAG,QAD3H,QAC2IovC,GAAG,EAAG/tD,MAAMiuD,kBAAkBjmC,EAAE,OAAOrmB,EAAEA,EAAEA,EAAE8R,aAAa9R,EAAEjH,KAAK,IAAIozD,EAAGnsD,GAAG,GAC7T,SAASusD,EAAGvsD,GAAG,OAAOA,EAAEoU,KAAK,KAAK,EAAE,OAAO+3C,EAAGnsD,EAAEmS,MAAM,KAAK,GAAG,OAAOg6C,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOnsD,EAAEqsD,EAAGrsD,EAAEmS,MAAK,GAAM,KAAK,GAAG,OAAOnS,EAAEqsD,EAAGrsD,EAAEmS,KAAKrc,QAAO,GAAM,KAAK,GAAG,OAAOkK,EAAEqsD,EAAGrsD,EAAEmS,KAAKq6C,SAAQ,GAAM,KAAK,EAAE,OAAOxsD,EAAEqsD,EAAGrsD,EAAEmS,MAAK,GAAM,QAAQ,MAAM,IAC9T,SAASs6C,EAAGzsD,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAE8R,aAAa9R,EAAEjH,MAAM,KAAK,GAAG,kBAAkBiH,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAK+C,EAAG,MAAM,WAAW,KAAKkoD,EAAG,MAAM,SAAS,KAAKE,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkBxrD,EAAE,OAAOA,EAAE+mD,UAAU,KAAKsE,EAAG,OAAOrrD,EAAE8R,aAAa,WAAW,YAAY,KAAKs5C,EAAG,OAAOprD,EAAE0oD,SAAS52C,aAAa,WAAW,YAAY,KAAKw5C,EAAG,IAAIrrD,EAAED,EAAElK,OACnd,OAD0dmK,EAAEA,EAAE6R,aAAa7R,EAAElH,MAAM,GAC5eiH,EAAE8R,cAAc,KAAK7R,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAKwrD,EAAG,OAAOgB,EAAGzsD,EAAEmS,MAAM,KAAKw5C,EAAG,OAAOc,EAAGzsD,EAAEwsD,SAAS,KAAKd,EAAGzrD,EAAED,EAAE+oD,SAAS/oD,EAAEA,EAAEgpD,MAAM,IAAI,OAAOyD,EAAGzsD,EAAEC,IAAI,MAAMomB,KAAK,OAAO,KAAK,SAASqmC,EAAG1sD,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,OAAOA,EAAE,QAAQ,MAAM,IAAI,SAAS2sD,EAAG3sD,GAAG,IAAIC,EAAED,EAAEmS,KAAK,OAAOnS,EAAEA,EAAE4sD,WAAW,UAAU5sD,EAAEO,gBAAgB,aAAaN,GAAG,UAAUA,GAE1Z,SAAS4sD,EAAG7sD,GAAGA,EAAE8sD,gBAAgB9sD,EAAE8sD,cADvD,SAAY9sD,GAAG,IAAIC,EAAE0sD,EAAG3sD,GAAG,UAAU,QAAQqmB,EAAE7yB,OAAO+I,yBAAyByD,EAAE/B,YAAYjK,UAAUiM,GAAGsP,EAAE,GAAGvP,EAAEC,GAAG,IAAID,EAAE/L,eAAegM,IAAI,qBAAqBomB,GAAG,oBAAoBA,EAAErL,KAAK,oBAAoBqL,EAAE3a,IAAI,CAAC,IAAIxK,EAAEmlB,EAAErL,IAAI0xB,EAAErmB,EAAE3a,IAAiL,OAA7KlY,OAAOqJ,eAAemD,EAAEC,EAAE,CAACgR,cAAa,EAAG+J,IAAI,WAAW,OAAO9Z,EAAEhN,KAAKE,OAAOsX,IAAI,SAAS1L,GAAGuP,EAAE,GAAGvP,EAAE0sC,EAAEx4C,KAAKE,KAAK4L,MAAMxM,OAAOqJ,eAAemD,EAAEC,EAAE,CAACzD,WAAW6pB,EAAE7pB,aAAmB,CAAC6oB,SAAS,WAAW,OAAO9V,GAAGoW,SAAS,SAAS3lB,GAAGuP,EAAE,GAAGvP,GAAG+sD,aAAa,WAAW/sD,EAAE8sD,cACxf,YAAY9sD,EAAEC,MAAuD+sD,CAAGhtD,IAAI,SAASitD,EAAGjtD,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAE8sD,cAAc,IAAI7sD,EAAE,OAAM,EAAG,IAAIomB,EAAEpmB,EAAEolB,WAAe9V,EAAE,GAAqD,OAAlDvP,IAAIuP,EAAEo9C,EAAG3sD,GAAGA,EAAEgxC,QAAQ,OAAO,QAAQhxC,EAAE3K,QAAO2K,EAAEuP,KAAa8W,IAAGpmB,EAAE0lB,SAAS3lB,IAAG,GAAO,SAASktD,EAAGltD,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBqC,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOrC,EAAEkO,eAAelO,EAAEoO,KAAK,MAAMnO,GAAG,OAAOD,EAAEoO,MAC/Z,SAAS++C,EAAGntD,EAAEC,GAAG,IAAIomB,EAAEpmB,EAAE+wC,QAAQ,OAAO4R,EAAE,GAAG3iD,EAAE,CAACu6C,oBAAe,EAAO3O,kBAAa,EAAOx2C,WAAM,EAAO27C,QAAQ,MAAM3qB,EAAEA,EAAErmB,EAAEotD,cAAcC,iBAAiB,SAASC,GAAGttD,EAAEC,GAAG,IAAIomB,EAAE,MAAMpmB,EAAE4rC,aAAa,GAAG5rC,EAAE4rC,aAAat8B,EAAE,MAAMtP,EAAE+wC,QAAQ/wC,EAAE+wC,QAAQ/wC,EAAEu6C,eAAen0B,EAAEqmC,EAAG,MAAMzsD,EAAE5K,MAAM4K,EAAE5K,MAAMgxB,GAAGrmB,EAAEotD,cAAc,CAACC,eAAe99C,EAAEg+C,aAAalnC,EAAEmnC,WAAW,aAAavtD,EAAEkS,MAAM,UAAUlS,EAAEkS,KAAK,MAAMlS,EAAE+wC,QAAQ,MAAM/wC,EAAE5K,OAAO,SAASo4D,GAAGztD,EAAEC,GAAe,OAAZA,EAAEA,EAAE+wC,UAAiByZ,EAAGzqD,EAAE,UAAUC,GAAE,GAC3d,SAASytD,GAAG1tD,EAAEC,GAAGwtD,GAAGztD,EAAEC,GAAG,IAAIomB,EAAEqmC,EAAGzsD,EAAE5K,OAAOka,EAAEtP,EAAEkS,KAAK,GAAG,MAAMkU,EAAK,WAAW9W,GAAM,IAAI8W,GAAG,KAAKrmB,EAAE3K,OAAO2K,EAAE3K,OAAOgxB,KAAErmB,EAAE3K,MAAM,GAAGgxB,GAAOrmB,EAAE3K,QAAQ,GAAGgxB,IAAIrmB,EAAE3K,MAAM,GAAGgxB,QAAQ,GAAG,WAAW9W,GAAG,UAAUA,EAA8B,YAA3BvP,EAAE0M,gBAAgB,SAAgBzM,EAAEhM,eAAe,SAAS05D,GAAG3tD,EAAEC,EAAEkS,KAAKkU,GAAGpmB,EAAEhM,eAAe,iBAAiB05D,GAAG3tD,EAAEC,EAAEkS,KAAKu6C,EAAGzsD,EAAE4rC,eAAe,MAAM5rC,EAAE+wC,SAAS,MAAM/wC,EAAEu6C,iBAAiBx6C,EAAEw6C,iBAAiBv6C,EAAEu6C,gBACnZ,SAASoT,GAAG5tD,EAAEC,EAAEomB,GAAG,GAAGpmB,EAAEhM,eAAe,UAAUgM,EAAEhM,eAAe,gBAAgB,CAAC,IAAIsb,EAAEtP,EAAEkS,KAAK,KAAK,WAAW5C,GAAG,UAAUA,QAAG,IAAStP,EAAE5K,OAAO,OAAO4K,EAAE5K,OAAO,OAAO4K,EAAE,GAAGD,EAAEotD,cAAcG,aAAalnC,GAAGpmB,IAAID,EAAE3K,QAAQ2K,EAAE3K,MAAM4K,GAAGD,EAAE6rC,aAAa5rC,EAAW,MAATomB,EAAErmB,EAAEjH,QAAciH,EAAEjH,KAAK,IAAIiH,EAAEw6C,iBAAiBx6C,EAAEotD,cAAcC,eAAe,KAAKhnC,IAAIrmB,EAAEjH,KAAKstB,GACvV,SAASsnC,GAAG3tD,EAAEC,EAAEomB,GAAM,WAAWpmB,GAAGitD,EAAGltD,EAAE6tD,iBAAiB7tD,IAAE,MAAMqmB,EAAErmB,EAAE6rC,aAAa,GAAG7rC,EAAEotD,cAAcG,aAAavtD,EAAE6rC,eAAe,GAAGxlB,IAAIrmB,EAAE6rC,aAAa,GAAGxlB,IAAwF,SAASynC,GAAG9tD,EAAEC,GAA6D,OAA1DD,EAAE4iD,EAAE,CAAC7sD,cAAS,GAAQkK,IAAMA,EAAlI,SAAYD,GAAG,IAAIC,EAAE,GAAuD,OAApDqpD,EAAG35C,SAASjT,QAAQsD,GAAE,SAASA,GAAG,MAAMA,IAAIC,GAAGD,MAAYC,EAAiD8tD,CAAG9tD,EAAElK,aAAUiK,EAAEjK,SAASkK,GAASD,EACvU,SAASguD,GAAGhuD,EAAEC,EAAEomB,EAAE9W,GAAe,GAAZvP,EAAEA,EAAE/F,QAAWgG,EAAE,CAACA,EAAE,GAAG,IAAI,IAAIiB,EAAE,EAAEA,EAAEmlB,EAAExyB,OAAOqN,IAAIjB,EAAE,IAAIomB,EAAEnlB,KAAI,EAAG,IAAImlB,EAAE,EAAEA,EAAErmB,EAAEnM,OAAOwyB,IAAInlB,EAAEjB,EAAEhM,eAAe,IAAI+L,EAAEqmB,GAAGhxB,OAAO2K,EAAEqmB,GAAG2O,WAAW9zB,IAAIlB,EAAEqmB,GAAG2O,SAAS9zB,GAAGA,GAAGqO,IAAIvP,EAAEqmB,GAAG4nC,iBAAgB,OAAQ,CAAmB,IAAlB5nC,EAAE,GAAGqmC,EAAGrmC,GAAGpmB,EAAE,KAASiB,EAAE,EAAEA,EAAElB,EAAEnM,OAAOqN,IAAI,CAAC,GAAGlB,EAAEkB,GAAG7L,QAAQgxB,EAAiD,OAA9CrmB,EAAEkB,GAAG8zB,UAAS,OAAGzlB,IAAIvP,EAAEkB,GAAG+sD,iBAAgB,IAAW,OAAOhuD,GAAGD,EAAEkB,GAAGgwB,WAAWjxB,EAAED,EAAEkB,IAAI,OAAOjB,IAAIA,EAAE+0B,UAAS,IACpY,SAASk5B,GAAGluD,EAAEC,GAAG,GAAG,MAAMA,EAAEggD,wBAAwB,MAAM5hD,MAAM8b,EAAE,KAAK,OAAOyoC,EAAE,GAAG3iD,EAAE,CAAC5K,WAAM,EAAOw2C,kBAAa,EAAO91C,SAAS,GAAGiK,EAAEotD,cAAcG,eAAe,SAASY,GAAGnuD,EAAEC,GAAG,IAAIomB,EAAEpmB,EAAE5K,MAAM,GAAG,MAAMgxB,EAAE,CAA+B,GAA9BA,EAAEpmB,EAAElK,SAASkK,EAAEA,EAAE4rC,aAAgB,MAAMxlB,EAAE,CAAC,GAAG,MAAMpmB,EAAE,MAAM5B,MAAM8b,EAAE,KAAK,GAAG5lB,MAAMC,QAAQ6xB,GAAG,CAAC,KAAK,GAAGA,EAAExyB,QAAQ,MAAMwK,MAAM8b,EAAE,KAAKkM,EAAEA,EAAE,GAAGpmB,EAAEomB,EAAE,MAAMpmB,IAAIA,EAAE,IAAIomB,EAAEpmB,EAAED,EAAEotD,cAAc,CAACG,aAAab,EAAGrmC,IAC/Y,SAAS+nC,GAAGpuD,EAAEC,GAAG,IAAIomB,EAAEqmC,EAAGzsD,EAAE5K,OAAOka,EAAEm9C,EAAGzsD,EAAE4rC,cAAc,MAAMxlB,KAAIA,EAAE,GAAGA,KAAMrmB,EAAE3K,QAAQ2K,EAAE3K,MAAMgxB,GAAG,MAAMpmB,EAAE4rC,cAAc7rC,EAAE6rC,eAAexlB,IAAIrmB,EAAE6rC,aAAaxlB,IAAI,MAAM9W,IAAIvP,EAAE6rC,aAAa,GAAGt8B,GAAG,SAAS8+C,GAAGruD,GAAG,IAAIC,EAAED,EAAEsuD,YAAYruD,IAAID,EAAEotD,cAAcG,cAAc,KAAKttD,GAAG,OAAOA,IAAID,EAAE3K,MAAM4K,GAAG,IAAIsuD,GAAS,+BAATA,GAAwF,6BAC9X,SAASC,GAAGxuD,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAAgC,SAASyuD,GAAGzuD,EAAEC,GAAG,OAAO,MAAMD,GAAG,iCAAiCA,EAAEwuD,GAAGvuD,GAAG,+BAA+BD,GAAG,kBAAkBC,EAAE,+BAA+BD,EAC3U,IAAI0uD,GAAe1uD,GAAZ2uD,IAAY3uD,GAAsJ,SAASA,EAAEC,GAAG,GAAGD,EAAE4uD,eAAeL,IAAQ,cAAcvuD,EAAEA,EAAE6uD,UAAU5uD,MAAM,CAA2F,KAA1FyuD,GAAGA,IAAIrsD,SAASC,cAAc,QAAUusD,UAAU,QAAQ5uD,EAAEJ,UAAUoE,WAAW,SAAahE,EAAEyuD,GAAGj6C,WAAWzU,EAAEyU,YAAYzU,EAAEiW,YAAYjW,EAAEyU,YAAY,KAAKxU,EAAEwU,YAAYzU,EAAEqV,YAAYpV,EAAEwU,cAArZ,qBAAqBq6C,OAAOA,MAAMC,wBAAwB,SAAS9uD,EAAEomB,EAAE9W,EAAErO,GAAG4tD,MAAMC,yBAAwB,WAAW,OAAO/uD,GAAEC,EAAEomB,OAAUrmB,IACtK,SAASgvD,GAAGhvD,EAAEC,GAAG,GAAGA,EAAE,CAAC,IAAIomB,EAAErmB,EAAEyU,WAAW,GAAG4R,GAAGA,IAAIrmB,EAAEivD,WAAW,IAAI5oC,EAAE6oC,SAAwB,YAAd7oC,EAAE8oC,UAAUlvD,GAAUD,EAAEsuD,YAAYruD,EACrH,IAAImvD,GAAG,CAAClyC,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGqxC,UAAS,EAAGpxC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGK,YAAW,EAAGywC,WAAU,EAAGxwC,YAAW,EAAGC,SAAQ,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAAGC,MAAK,EAAGE,aAAY,EAC1fC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIyvC,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAGxvD,EAAEC,EAAEomB,GAAG,OAAO,MAAMpmB,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGomB,GAAG,kBAAkBpmB,GAAG,IAAIA,GAAGmvD,GAAGn7D,eAAe+L,IAAIovD,GAAGpvD,IAAI,GAAGC,GAAGyO,OAAOzO,EAAE,KAC9Z,SAASwvD,GAAGzvD,EAAEC,GAAa,IAAI,IAAIomB,KAAlBrmB,EAAEA,EAAE1H,MAAmB2H,EAAE,GAAGA,EAAEhM,eAAeoyB,GAAG,CAAC,IAAI9W,EAAE,IAAI8W,EAAE7lB,QAAQ,MAAMU,EAAEsuD,GAAGnpC,EAAEpmB,EAAEomB,GAAG9W,GAAG,UAAU8W,IAAIA,EAAE,YAAY9W,EAAEvP,EAAE0vD,YAAYrpC,EAAEnlB,GAAGlB,EAAEqmB,GAAGnlB,GADT1N,OAAO8G,KAAK80D,IAAI1yD,SAAQ,SAASsD,GAAGuvD,GAAG7yD,SAAQ,SAASuD,GAAGA,EAAEA,EAAED,EAAEzB,OAAO,GAAG4M,cAAcnL,EAAE2G,UAAU,GAAGyoD,GAAGnvD,GAAGmvD,GAAGpvD,SACrG,IAAI2vD,GAAG/M,EAAE,CAACgN,UAAS,GAAI,CAACC,MAAK,EAAG30D,MAAK,EAAG40D,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAGl/B,OAAM,EAAGm/B,QAAO,EAAGC,MAAK,EAAGC,MAAK,EAAGC,OAAM,EAAGx8D,QAAO,EAAGy8D,OAAM,EAAGC,KAAI,IAClT,SAASC,GAAGzwD,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAG0vD,GAAG3vD,KAAK,MAAMC,EAAElK,UAAU,MAAMkK,EAAEggD,yBAAyB,MAAM5hD,MAAM8b,EAAE,IAAIna,IAAI,GAAG,MAAMC,EAAEggD,wBAAwB,CAAC,GAAG,MAAMhgD,EAAElK,SAAS,MAAMsI,MAAM8b,EAAE,KAAK,GAAK,kBAAkBla,EAAEggD,2BAAyB,WAAWhgD,EAAEggD,yBAAyB,MAAM5hD,MAAM8b,EAAE,KAAM,GAAG,MAAMla,EAAE3H,OAAO,kBAAkB2H,EAAE3H,MAAM,MAAM+F,MAAM8b,EAAE,MAC5V,SAASu2C,GAAG1wD,EAAEC,GAAG,IAAI,IAAID,EAAEQ,QAAQ,KAAK,MAAM,kBAAkBP,EAAE0wD,GAAG,OAAO3wD,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,GAAI,SAAS4wD,GAAG5wD,GAA6F,OAA1FA,EAAEA,EAAEtM,QAAQsM,EAAE6wD,YAAYzuD,QAAS0uD,0BAA0B9wD,EAAEA,EAAE8wD,yBAAgC,IAAI9wD,EAAEkvD,SAASlvD,EAAEgW,WAAWhW,EAAE,IAAI+wD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACxb,SAASC,GAAGlxD,GAAG,GAAGA,EAAEmxD,GAAGnxD,GAAG,CAAC,GAAG,oBAAoB+wD,GAAG,MAAM1yD,MAAM8b,EAAE,MAAM,IAAIla,EAAED,EAAEoxD,UAAUnxD,IAAIA,EAAEoxD,GAAGpxD,GAAG8wD,GAAG/wD,EAAEoxD,UAAUpxD,EAAEmS,KAAKlS,KAAK,SAASqxD,GAAGtxD,GAAGgxD,GAAGC,GAAGA,GAAG77D,KAAK4K,GAAGixD,GAAG,CAACjxD,GAAGgxD,GAAGhxD,EAAE,SAASuxD,KAAK,GAAGP,GAAG,CAAC,IAAIhxD,EAAEgxD,GAAG/wD,EAAEgxD,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAGlxD,GAAMC,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAEpM,OAAOmM,IAAIkxD,GAAGjxD,EAAED,KAAK,SAASwxD,GAAGxxD,EAAEC,GAAG,OAAOD,EAAEC,GAAG,SAASwxD,GAAGzxD,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,OAAOlB,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,SAASwwD,MAAM,IAAIC,GAAGH,GAAGI,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAQ,OAAOd,IAAI,OAAOC,KAAGS,KAAKH,MAE9Z,SAASQ,GAAG/xD,EAAEC,GAAG,IAAIomB,EAAErmB,EAAEoxD,UAAU,GAAG,OAAO/qC,EAAE,OAAO,KAAK,IAAI9W,EAAE8hD,GAAGhrC,GAAG,GAAG,OAAO9W,EAAE,OAAO,KAAK8W,EAAE9W,EAAEtP,GAAGD,EAAE,OAAOC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBsP,GAAGA,EAAE2hB,YAAqB3hB,IAAI,YAAbvP,EAAEA,EAAEmS,OAAuB,UAAUnS,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGuP,EAAE,MAAMvP,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGqmB,GAAG,oBACleA,EAAE,MAAMhoB,MAAM8b,EAAE,IAAIla,SAASomB,IAAI,OAAOA,EAAE,IAAI2rC,IAAG,EAAG,GAAGrI,EAAG,IAAI,IAAIsI,GAAG,GAAGz+D,OAAOqJ,eAAeo1D,GAAG,UAAU,CAACj3C,IAAI,WAAWg3C,IAAG,KAAM5vD,OAAOkD,iBAAiB,OAAO2sD,GAAGA,IAAI7vD,OAAOmD,oBAAoB,OAAO0sD,GAAGA,IAAI,MAAMjyD,IAAGgyD,IAAG,EAAG,SAASE,GAAGlyD,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,EAAEoa,EAAE9pC,EAAEre,GAAG,IAAIwmD,EAAE5wD,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAU,GAAG,IAAIqM,EAAE9L,MAAMkyB,EAAE8+B,GAAG,MAAMvmD,GAAGxK,KAAK+9D,QAAQvzD,IAAI,IAAIwzD,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAASnyD,GAAGoyD,IAAG,EAAGC,GAAGryD,IAAI,SAASyyD,GAAGzyD,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,EAAEoa,EAAE9pC,EAAEre,GAAGyzD,IAAG,EAAGC,GAAG,KAAKH,GAAG/9D,MAAMq+D,GAAG5+D,WACvV,SAAS8+D,GAAG1yD,GAAG,IAAIC,EAAED,EAAEqmB,EAAErmB,EAAE,GAAGA,EAAE2yD,UAAU,KAAK1yD,EAAE6X,QAAQ7X,EAAEA,EAAE6X,WAAW,CAAC9X,EAAEC,EAAE,GAAO,KAAa,MAAjBA,EAAED,GAASwjD,SAAcn9B,EAAEpmB,EAAE6X,QAAQ9X,EAAEC,EAAE6X,aAAa9X,GAAG,OAAO,IAAIC,EAAEmU,IAAIiS,EAAE,KAAK,SAASusC,GAAG5yD,GAAG,GAAG,KAAKA,EAAEoU,IAAI,CAAC,IAAInU,EAAED,EAAE6yD,cAAsE,GAAxD,OAAO5yD,IAAkB,QAAdD,EAAEA,EAAE2yD,aAAqB1yD,EAAED,EAAE6yD,gBAAmB,OAAO5yD,EAAE,OAAOA,EAAE6yD,WAAW,OAAO,KAAK,SAASC,GAAG/yD,GAAG,GAAG0yD,GAAG1yD,KAAKA,EAAE,MAAM3B,MAAM8b,EAAE,MAEpS,SAAS64C,GAAGhzD,GAAW,KAARA,EADtN,SAAYA,GAAG,IAAIC,EAAED,EAAE2yD,UAAU,IAAI1yD,EAAE,CAAS,GAAG,QAAXA,EAAEyyD,GAAG1yD,IAAe,MAAM3B,MAAM8b,EAAE,MAAM,OAAOla,IAAID,EAAE,KAAKA,EAAE,IAAI,IAAIqmB,EAAErmB,EAAEuP,EAAEtP,IAAI,CAAC,IAAIiB,EAAEmlB,EAAEvO,OAAO,GAAG,OAAO5W,EAAE,MAAM,IAAIwrC,EAAExrC,EAAEyxD,UAAU,GAAG,OAAOjmB,EAAE,CAAY,GAAG,QAAdn9B,EAAErO,EAAE4W,QAAmB,CAACuO,EAAE9W,EAAE,SAAS,MAAM,GAAGrO,EAAExF,QAAQgxC,EAAEhxC,MAAM,CAAC,IAAIgxC,EAAExrC,EAAExF,MAAMgxC,GAAG,CAAC,GAAGA,IAAIrmB,EAAE,OAAO0sC,GAAG7xD,GAAGlB,EAAE,GAAG0sC,IAAIn9B,EAAE,OAAOwjD,GAAG7xD,GAAGjB,EAAEysC,EAAEA,EAAEumB,QAAQ,MAAM50D,MAAM8b,EAAE,MAAO,GAAGkM,EAAEvO,SAASvI,EAAEuI,OAAOuO,EAAEnlB,EAAEqO,EAAEm9B,MAAM,CAAC,IAAI,IAAIoa,GAAE,EAAG9pC,EAAE9b,EAAExF,MAAMshB,GAAG,CAAC,GAAGA,IAAIqJ,EAAE,CAACygC,GAAE,EAAGzgC,EAAEnlB,EAAEqO,EAAEm9B,EAAE,MAAM,GAAG1vB,IAAIzN,EAAE,CAACu3C,GAAE,EAAGv3C,EAAErO,EAAEmlB,EAAEqmB,EAAE,MAAM1vB,EAAEA,EAAEi2C,QAAQ,IAAInM,EAAE,CAAC,IAAI9pC,EAAE0vB,EAAEhxC,MAAMshB,GAAG,CAAC,GAAGA,IAC5fqJ,EAAE,CAACygC,GAAE,EAAGzgC,EAAEqmB,EAAEn9B,EAAErO,EAAE,MAAM,GAAG8b,IAAIzN,EAAE,CAACu3C,GAAE,EAAGv3C,EAAEm9B,EAAErmB,EAAEnlB,EAAE,MAAM8b,EAAEA,EAAEi2C,QAAQ,IAAInM,EAAE,MAAMzoD,MAAM8b,EAAE,OAAQ,GAAGkM,EAAEssC,YAAYpjD,EAAE,MAAMlR,MAAM8b,EAAE,MAAO,GAAG,IAAIkM,EAAEjS,IAAI,MAAM/V,MAAM8b,EAAE,MAAM,OAAOkM,EAAE+qC,UAAUhnD,UAAUic,EAAErmB,EAAEC,EAAmBizD,CAAGlzD,IAAS,OAAO,KAAK,IAAI,IAAIC,EAAED,IAAI,CAAC,GAAG,IAAIC,EAAEmU,KAAK,IAAInU,EAAEmU,IAAI,OAAOnU,EAAE,GAAGA,EAAEvE,MAAMuE,EAAEvE,MAAMoc,OAAO7X,EAAEA,EAAEA,EAAEvE,UAAU,CAAC,GAAGuE,IAAID,EAAE,MAAM,MAAMC,EAAEgzD,SAAS,CAAC,IAAIhzD,EAAE6X,QAAQ7X,EAAE6X,SAAS9X,EAAE,OAAO,KAAKC,EAAEA,EAAE6X,OAAO7X,EAAEgzD,QAAQn7C,OAAO7X,EAAE6X,OAAO7X,EAAEA,EAAEgzD,SAAS,OAAO,KAC5c,SAASE,GAAGnzD,EAAEC,GAAG,IAAI,IAAIomB,EAAErmB,EAAE2yD,UAAU,OAAO1yD,GAAG,CAAC,GAAGA,IAAID,GAAGC,IAAIomB,EAAE,OAAM,EAAGpmB,EAAEA,EAAE6X,OAAO,OAAM,EAAG,IAAIs7C,GAAGC,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAIC,IAAIC,GAAG,IAAID,IAAIE,GAAG,GAAGC,GAAG,6PAA6P/0D,MAAM,KACrb,SAASg1D,GAAGl0D,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,MAAM,CAACizD,UAAUn0D,EAAEo0D,aAAan0D,EAAEo0D,iBAAmB,GAAFhuC,EAAKiuC,YAAYpzD,EAAEqzD,iBAAiB,CAAChlD,IAAI,SAASilD,GAAGx0D,EAAEC,GAAG,OAAOD,GAAG,IAAK,UAAU,IAAK,WAAW0zD,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAG9X,OAAO97C,EAAEw0D,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBV,GAAGhY,OAAO97C,EAAEw0D,YAC3Z,SAASC,GAAG10D,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAG,OAAG,OAAO1sC,GAAGA,EAAEs0D,cAAc5nB,GAAS1sC,EAAEk0D,GAAGj0D,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAG,OAAOzsC,IAAY,QAARA,EAAEkxD,GAAGlxD,KAAaozD,GAAGpzD,IAAID,IAAEA,EAAEq0D,kBAAkB9kD,EAAEtP,EAAED,EAAEu0D,iBAAiB,OAAOrzD,IAAI,IAAIjB,EAAEO,QAAQU,IAAIjB,EAAE7K,KAAK8L,GAAUlB,GAE9M,SAAS20D,GAAG30D,GAAG,IAAIC,EAAE20D,GAAG50D,EAAEtM,QAAQ,GAAG,OAAOuM,EAAE,CAAC,IAAIomB,EAAEqsC,GAAGzyD,GAAG,GAAG,OAAOomB,EAAE,GAAW,MAARpmB,EAAEomB,EAAEjS,MAAY,GAAW,QAARnU,EAAE2yD,GAAGvsC,IAAmH,OAAtGrmB,EAAEm0D,UAAUl0D,OAAEszD,GAAGvzD,EAAE60D,cAAa,WAAWtP,EAAEuP,yBAAyB90D,EAAE+0D,UAAS,WAAWzB,GAAGjtC,cAAoB,GAAG,IAAIpmB,GAAGomB,EAAE+qC,UAAUn8C,QAA8D,YAArDjV,EAAEm0D,UAAU,IAAI9tC,EAAEjS,IAAIiS,EAAE+qC,UAAU4D,cAAc,MAAah1D,EAAEm0D,UAAU,KAC1U,SAASc,GAAGj1D,GAAG,GAAG,OAAOA,EAAEm0D,UAAU,OAAM,EAAG,IAAI,IAAIl0D,EAAED,EAAEu0D,iBAAiB,EAAEt0D,EAAEpM,QAAQ,CAAC,IAAIwyB,EAAE6uC,GAAGl1D,EAAEo0D,aAAap0D,EAAEq0D,iBAAiBp0D,EAAE,GAAGD,EAAEs0D,aAAa,GAAG,OAAOjuC,EAAE,OAAe,QAARpmB,EAAEkxD,GAAG9qC,KAAagtC,GAAGpzD,GAAGD,EAAEm0D,UAAU9tC,GAAE,EAAGpmB,EAAEk1D,QAAQ,OAAM,EAAG,SAASC,GAAGp1D,EAAEC,EAAEomB,GAAG4uC,GAAGj1D,IAAIqmB,EAAE01B,OAAO97C,GACzQ,SAASo1D,KAAK,IAAI7B,IAAG,EAAG,EAAEC,GAAG5/D,QAAQ,CAAC,IAAImM,EAAEyzD,GAAG,GAAG,GAAG,OAAOzzD,EAAEm0D,UAAU,CAAmB,QAAlBn0D,EAAEmxD,GAAGnxD,EAAEm0D,aAAqBf,GAAGpzD,GAAG,MAAM,IAAI,IAAIC,EAAED,EAAEu0D,iBAAiB,EAAEt0D,EAAEpM,QAAQ,CAAC,IAAIwyB,EAAE6uC,GAAGl1D,EAAEo0D,aAAap0D,EAAEq0D,iBAAiBp0D,EAAE,GAAGD,EAAEs0D,aAAa,GAAG,OAAOjuC,EAAE,CAACrmB,EAAEm0D,UAAU9tC,EAAE,MAAMpmB,EAAEk1D,QAAQ,OAAOn1D,EAAEm0D,WAAWV,GAAG0B,QAAQ,OAAOzB,IAAIuB,GAAGvB,MAAMA,GAAG,MAAM,OAAOC,IAAIsB,GAAGtB,MAAMA,GAAG,MAAM,OAAOC,IAAIqB,GAAGrB,MAAMA,GAAG,MAAMC,GAAGn3D,QAAQ04D,IAAIrB,GAAGr3D,QAAQ04D,IACrZ,SAASE,GAAGt1D,EAAEC,GAAGD,EAAEm0D,YAAYl0D,IAAID,EAAEm0D,UAAU,KAAKX,KAAKA,IAAG,EAAGjO,EAAEgQ,0BAA0BhQ,EAAEiQ,wBAAwBH,MACrH,SAASI,GAAGz1D,GAAG,SAASC,EAAEA,GAAG,OAAOq1D,GAAGr1D,EAAED,GAAG,GAAG,EAAEyzD,GAAG5/D,OAAO,CAACyhE,GAAG7B,GAAG,GAAGzzD,GAAG,IAAI,IAAIqmB,EAAE,EAAEA,EAAEotC,GAAG5/D,OAAOwyB,IAAI,CAAC,IAAI9W,EAAEkkD,GAAGptC,GAAG9W,EAAE4kD,YAAYn0D,IAAIuP,EAAE4kD,UAAU,OAA+F,IAAxF,OAAOT,IAAI4B,GAAG5B,GAAG1zD,GAAG,OAAO2zD,IAAI2B,GAAG3B,GAAG3zD,GAAG,OAAO4zD,IAAI0B,GAAG1B,GAAG5zD,GAAG6zD,GAAGn3D,QAAQuD,GAAG8zD,GAAGr3D,QAAQuD,GAAOomB,EAAE,EAAEA,EAAE2tC,GAAGngE,OAAOwyB,KAAI9W,EAAEykD,GAAG3tC,IAAK8tC,YAAYn0D,IAAIuP,EAAE4kD,UAAU,MAAM,KAAK,EAAEH,GAAGngE,QAAiB,QAARwyB,EAAE2tC,GAAG,IAAYG,WAAYQ,GAAGtuC,GAAG,OAAOA,EAAE8tC,WAAWH,GAAGmB,QAC/X,SAASO,GAAG11D,EAAEC,GAAG,IAAIomB,EAAE,GAAkF,OAA/EA,EAAErmB,EAAEO,eAAeN,EAAEM,cAAc8lB,EAAE,SAASrmB,GAAG,SAASC,EAAEomB,EAAE,MAAMrmB,GAAG,MAAMC,EAASomB,EAAE,IAAIsvC,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,GAAGC,GAAG,GACnF,SAASC,GAAGl2D,GAAG,GAAGg2D,GAAGh2D,GAAG,OAAOg2D,GAAGh2D,GAAG,IAAI21D,GAAG31D,GAAG,OAAOA,EAAE,IAAYqmB,EAARpmB,EAAE01D,GAAG31D,GAAK,IAAIqmB,KAAKpmB,EAAE,GAAGA,EAAEhM,eAAeoyB,IAAIA,KAAK4vC,GAAG,OAAOD,GAAGh2D,GAAGC,EAAEomB,GAAG,OAAOrmB,EAA9X2pD,IAAKsM,GAAG5zD,SAASC,cAAc,OAAOhK,MAAM,mBAAmB8J,gBAAgBuzD,GAAGC,aAAavnC,iBAAiBsnC,GAAGE,mBAAmBxnC,iBAAiBsnC,GAAGG,eAAeznC,WAAW,oBAAoBjsB,eAAeuzD,GAAGI,cAAczqD,YACxO,IAAI6qD,GAAGD,GAAG,gBAAgBE,GAAGF,GAAG,sBAAsBG,GAAGH,GAAG,kBAAkBI,GAAGJ,GAAG,iBAAiBK,GAAG,IAAIzC,IAAI0C,GAAG,IAAI1C,IAAI2C,GAAG,CAAC,QAAQ,QAAQN,GAAG,eAAeC,GAAG,qBAAqBC,GAAG,iBAAiB,UAAU,UAAU,iBAAiB,iBAAiB,iBAAiB,iBAAiB,UAAU,UAAU,YAAY,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,oBAAoB,oBAAoB,OAAO,OAAO,aAAa,aAAa,iBAAiB,iBAAiB,YAAY,YAC/e,qBAAqB,qBAAqB,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,aAAa,aAAaC,GAAG,gBAAgB,UAAU,WAAW,SAASI,GAAG12D,EAAEC,GAAG,IAAI,IAAIomB,EAAE,EAAEA,EAAErmB,EAAEnM,OAAOwyB,GAAG,EAAE,CAAC,IAAI9W,EAAEvP,EAAEqmB,GAAGnlB,EAAElB,EAAEqmB,EAAE,GAAGnlB,EAAE,MAAMA,EAAE,GAAGiK,cAAcjK,EAAEP,MAAM,IAAI61D,GAAG9qD,IAAI6D,EAAEtP,GAAGs2D,GAAG7qD,IAAI6D,EAAErO,GAAGuoD,EAAGvoD,EAAE,CAACqO,MAA2BonD,EAAfpR,EAAEqR,gBAAkB,IAAIpqB,GAAE,EAC/X,SAASqqB,GAAG72D,GAAG,GAAG,KAAK,EAAEA,GAAG,OAAOwsC,GAAE,GAAG,EAAE,GAAG,KAAK,EAAExsC,GAAG,OAAOwsC,GAAE,GAAG,EAAE,GAAG,KAAK,EAAExsC,GAAG,OAAOwsC,GAAE,GAAG,EAAE,IAAIvsC,EAAE,GAAGD,EAAE,OAAG,IAAIC,GAASusC,GAAE,GAAGvsC,GAAK,KAAO,GAAFD,IAAawsC,GAAE,GAAG,IAAc,KAAXvsC,EAAE,IAAID,IAAkBwsC,GAAE,GAAGvsC,GAAK,KAAO,IAAFD,IAAcwsC,GAAE,EAAE,KAAgB,KAAZvsC,EAAE,KAAKD,IAAkBwsC,GAAE,EAAEvsC,GAAK,KAAO,KAAFD,IAAewsC,GAAE,EAAE,MAAoB,KAAfvsC,EAAE,QAAQD,IAAkBwsC,GAAE,EAAEvsC,GAAkB,KAAhBA,EAAE,SAASD,IAAkBwsC,GAAE,EAAEvsC,GAAO,SAAFD,GAAkBwsC,GAAE,EAAE,UAAY,KAAO,UAAFxsC,IAAoBwsC,GAAE,EAAE,WAA2B,KAAjBvsC,EAAE,UAAUD,IAAkBwsC,GAAE,EAAEvsC,GAAK,KAAK,WAAWD,IAAUwsC,GAAE,EAAE,aACjfA,GAAE,EAASxsC,GACX,SAAS82D,GAAG92D,EAAEC,GAAG,IAAIomB,EAAErmB,EAAE+2D,aAAa,GAAG,IAAI1wC,EAAE,OAAOmmB,GAAE,EAAE,IAAIj9B,EAAE,EAAErO,EAAE,EAAEwrC,EAAE1sC,EAAEg3D,aAAalQ,EAAE9mD,EAAEi3D,eAAej6C,EAAEhd,EAAEk3D,YAAY,GAAG,IAAIxqB,EAAEn9B,EAAEm9B,EAAExrC,EAAEsrC,GAAE,QAAQ,GAAiB,KAAdE,EAAI,UAAFrmB,GAAkB,CAAC,IAAI1nB,EAAE+tC,GAAGoa,EAAE,IAAInoD,GAAG4Q,EAAEsnD,GAAGl4D,GAAGuC,EAAEsrC,IAAS,KAALxvB,GAAG0vB,KAAUn9B,EAAEsnD,GAAG75C,GAAG9b,EAAEsrC,SAAgB,KAAPE,EAAErmB,GAAGygC,IAASv3C,EAAEsnD,GAAGnqB,GAAGxrC,EAAEsrC,IAAG,IAAIxvB,IAAIzN,EAAEsnD,GAAG75C,GAAG9b,EAAEsrC,IAAG,GAAG,IAAIj9B,EAAE,OAAO,EAAqC,GAAxBA,EAAE8W,IAAI,GAAjB9W,EAAE,GAAG4nD,GAAG5nD,IAAa,EAAE,GAAGA,IAAI,GAAG,EAAK,IAAItP,GAAGA,IAAIsP,GAAG,KAAKtP,EAAE6mD,GAAG,CAAO,GAAN+P,GAAG52D,GAAMiB,GAAGsrC,GAAE,OAAOvsC,EAAEusC,GAAEtrC,EAAqB,GAAG,KAAtBjB,EAAED,EAAEo3D,gBAAwB,IAAIp3D,EAAEA,EAAEq3D,cAAcp3D,GAAGsP,EAAE,EAAEtP,GAAciB,EAAE,IAAbmlB,EAAE,GAAG8wC,GAAGl3D,IAAUsP,GAAGvP,EAAEqmB,GAAGpmB,IAAIiB,EAAE,OAAOqO,EAC1e,SAAS+nD,GAAGt3D,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAE+2D,cAAsC/2D,EAAI,WAAFA,EAAa,WAAW,EAAE,SAASu3D,GAAGv3D,EAAEC,GAAG,OAAOD,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAmB,KAAZA,EAAEw3D,GAAG,IAAIv3D,IAASs3D,GAAG,GAAGt3D,GAAGD,EAAE,KAAK,GAAG,OAAoB,KAAbA,EAAEw3D,GAAG,KAAKv3D,IAASs3D,GAAG,EAAEt3D,GAAGD,EAAE,KAAK,EAAE,OAAqB,KAAdA,EAAEw3D,GAAG,MAAMv3D,MAA4B,KAAjBD,EAAEw3D,GAAG,SAASv3D,MAAWD,EAAE,MAAMA,EAAE,KAAK,EAAE,OAA0B,KAAnBC,EAAEu3D,GAAG,WAAWv3D,MAAWA,EAAE,WAAWA,EAAE,MAAM5B,MAAM8b,EAAE,IAAIna,IAAK,SAASw3D,GAAGx3D,GAAG,OAAOA,GAAGA,EAAE,SAASy3D,GAAGz3D,GAAG,IAAI,IAAIC,EAAE,GAAGomB,EAAE,EAAE,GAAGA,EAAEA,IAAIpmB,EAAE7K,KAAK4K,GAAG,OAAOC,EACrd,SAASy3D,GAAG13D,EAAEC,EAAEomB,GAAGrmB,EAAE+2D,cAAc92D,EAAE,IAAIsP,EAAEtP,EAAE,EAAED,EAAEi3D,gBAAgB1nD,EAAEvP,EAAEk3D,aAAa3nD,GAAEvP,EAAEA,EAAE23D,YAAW13D,EAAE,GAAGk3D,GAAGl3D,IAAQomB,EAAE,IAAI8wC,GAAGpzD,KAAK6zD,MAAM7zD,KAAK6zD,MAAiC,SAAY53D,GAAG,OAAO,IAAIA,EAAE,GAAG,IAAI63D,GAAG73D,GAAG83D,GAAG,GAAG,GAAvED,GAAG9zD,KAAKg0D,IAAID,GAAG/zD,KAAKi0D,IAAqD,IAAIC,GAAG1S,EAAE2S,8BAA8BC,GAAG5S,EAAEuP,yBAAyBsD,IAAG,EAAG,SAASC,GAAGr4D,EAAEC,EAAEomB,EAAE9W,GAAGqiD,IAAIF,KAAK,IAAIxwD,EAAEo3D,GAAG5rB,EAAEklB,GAAGA,IAAG,EAAG,IAAIH,GAAGvwD,EAAElB,EAAEC,EAAEomB,EAAE9W,GAAf,SAA2BqiD,GAAGllB,IAAIolB,MAAM,SAAStmD,GAAGxL,EAAEC,EAAEomB,EAAE9W,GAAG4oD,GAAGF,GAAGK,GAAG5kB,KAAK,KAAK1zC,EAAEC,EAAEomB,EAAE9W,IACjb,SAAS+oD,GAAGt4D,EAAEC,EAAEomB,EAAE9W,GAAU,IAAIrO,EAAX,GAAGk3D,GAAU,IAAIl3D,EAAE,KAAO,EAAFjB,KAAO,EAAEwzD,GAAG5/D,SAAS,EAAEogE,GAAGzzD,QAAQR,GAAGA,EAAEk0D,GAAG,KAAKl0D,EAAEC,EAAEomB,EAAE9W,GAAGkkD,GAAGr+D,KAAK4K,OAAO,CAAC,IAAI0sC,EAAEwoB,GAAGl1D,EAAEC,EAAEomB,EAAE9W,GAAG,GAAG,OAAOm9B,EAAExrC,GAAGszD,GAAGx0D,EAAEuP,OAAO,CAAC,GAAGrO,EAAE,CAAC,IAAI,EAAE+yD,GAAGzzD,QAAQR,GAA+B,OAA3BA,EAAEk0D,GAAGxnB,EAAE1sC,EAAEC,EAAEomB,EAAE9W,QAAGkkD,GAAGr+D,KAAK4K,GAAU,GAfhO,SAAYA,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,OAAOjB,GAAG,IAAK,UAAU,OAAOyzD,GAAGgB,GAAGhB,GAAG1zD,EAAEC,EAAEomB,EAAE9W,EAAErO,IAAG,EAAG,IAAK,YAAY,OAAOyyD,GAAGe,GAAGf,GAAG3zD,EAAEC,EAAEomB,EAAE9W,EAAErO,IAAG,EAAG,IAAK,YAAY,OAAO0yD,GAAGc,GAAGd,GAAG5zD,EAAEC,EAAEomB,EAAE9W,EAAErO,IAAG,EAAG,IAAK,cAAc,IAAIwrC,EAAExrC,EAAEuzD,UAAkD,OAAxCZ,GAAGnoD,IAAIghC,EAAEgoB,GAAGb,GAAG74C,IAAI0xB,IAAI,KAAK1sC,EAAEC,EAAEomB,EAAE9W,EAAErO,KAAU,EAAG,IAAK,oBAAoB,OAAOwrC,EAAExrC,EAAEuzD,UAAUV,GAAGroD,IAAIghC,EAAEgoB,GAAGX,GAAG/4C,IAAI0xB,IAAI,KAAK1sC,EAAEC,EAAEomB,EAAE9W,EAAErO,KAAI,EAAG,OAAM,EAe9Hq3D,CAAG7rB,EAAE1sC,EAAEC,EAAEomB,EAAE9W,GAAG,OAAOilD,GAAGx0D,EAAEuP,GAAGipD,GAAGx4D,EAAEC,EAAEsP,EAAE,KAAK8W,KAC9Q,SAAS6uC,GAAGl1D,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAE0vD,GAAGrhD,GAAW,GAAG,QAAXrO,EAAE0zD,GAAG1zD,IAAe,CAAC,IAAIwrC,EAAEgmB,GAAGxxD,GAAG,GAAG,OAAOwrC,EAAExrC,EAAE,SAAS,CAAC,IAAI4lD,EAAEpa,EAAEt4B,IAAI,GAAG,KAAK0yC,EAAE,CAAS,GAAG,QAAX5lD,EAAE0xD,GAAGlmB,IAAe,OAAOxrC,EAAEA,EAAE,UAAU,GAAG,IAAI4lD,EAAE,CAAC,GAAGpa,EAAE0kB,UAAUn8C,QAAQ,OAAO,IAAIy3B,EAAEt4B,IAAIs4B,EAAE0kB,UAAU4D,cAAc,KAAK9zD,EAAE,UAAUwrC,IAAIxrC,IAAIA,EAAE,OAAqB,OAAds3D,GAAGx4D,EAAEC,EAAEsP,EAAErO,EAAEmlB,GAAU,KAAK,IAAIoyC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACzT,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAI34D,EAAkBuP,EAAhBtP,EAAEy4D,GAAGryC,EAAEpmB,EAAEpM,OAASqN,EAAE,UAAUu3D,GAAGA,GAAGpjE,MAAMojE,GAAGnK,YAAY5hB,EAAExrC,EAAErN,OAAO,IAAImM,EAAE,EAAEA,EAAEqmB,GAAGpmB,EAAED,KAAKkB,EAAElB,GAAGA,KAAK,IAAI8mD,EAAEzgC,EAAErmB,EAAE,IAAIuP,EAAE,EAAEA,GAAGu3C,GAAG7mD,EAAEomB,EAAE9W,KAAKrO,EAAEwrC,EAAEn9B,GAAGA,KAAK,OAAOopD,GAAGz3D,EAAEP,MAAMX,EAAE,EAAEuP,EAAE,EAAEA,OAAE,GAAQ,SAASspD,GAAG74D,GAAG,IAAIC,EAAED,EAAEqmC,QAA+E,MAAvE,aAAarmC,EAAgB,KAAbA,EAAEA,EAAE84D,WAAgB,KAAK74D,IAAID,EAAE,IAAKA,EAAEC,EAAE,KAAKD,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,EAAE,SAAS+4D,KAAK,OAAM,EAAG,SAASC,KAAK,OAAM,EACjY,SAASC,GAAGj5D,GAAG,SAASC,EAAEA,EAAEsP,EAAErO,EAAEwrC,EAAEoa,GAA6G,IAAI,IAAIzgC,KAAlHjyB,KAAK8kE,WAAWj5D,EAAE7L,KAAK+kE,YAAYj4D,EAAE9M,KAAK+d,KAAK5C,EAAEnb,KAAKkgE,YAAY5nB,EAAEt4C,KAAKV,OAAOozD,EAAE1yD,KAAKqxC,cAAc,KAAkBzlC,EAAEA,EAAE/L,eAAeoyB,KAAKpmB,EAAED,EAAEqmB,GAAGjyB,KAAKiyB,GAAGpmB,EAAEA,EAAEysC,GAAGA,EAAErmB,IAAgI,OAA5HjyB,KAAKglE,oBAAoB,MAAM1sB,EAAExG,iBAAiBwG,EAAExG,kBAAiB,IAAKwG,EAAE2sB,aAAaN,GAAGC,GAAG5kE,KAAKklE,qBAAqBN,GAAU5kE,KAC1E,OAD+EwuD,EAAE3iD,EAAEjM,UAAU,CAACmjC,eAAe,WAAW/iC,KAAK8xC,kBAAiB,EAAG,IAAIlmC,EAAE5L,KAAKkgE,YAAYt0D,IAAIA,EAAEm3B,eAAen3B,EAAEm3B,iBAAiB,mBAAmBn3B,EAAEq5D,cAC7er5D,EAAEq5D,aAAY,GAAIjlE,KAAKglE,mBAAmBL,KAAK1hC,gBAAgB,WAAW,IAAIr3B,EAAE5L,KAAKkgE,YAAYt0D,IAAIA,EAAEq3B,gBAAgBr3B,EAAEq3B,kBAAkB,mBAAmBr3B,EAAEu5D,eAAev5D,EAAEu5D,cAAa,GAAInlE,KAAKklE,qBAAqBP,KAAKnc,QAAQ,aAAa4c,aAAaT,KAAY94D,EAChR,IAAoLw5D,GAAGC,GAAGC,GAAtLC,GAAG,CAACC,WAAW,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,SAASh6D,GAAG,OAAOA,EAAEg6D,WAAWp1C,KAAKq1C,OAAO/zB,iBAAiB,EAAEg0B,UAAU,GAAGC,GAAGlB,GAAGW,IAAIQ,GAAGxX,EAAE,GAAGgX,GAAG,CAACS,KAAK,EAAEC,OAAO,IAAIC,GAAGtB,GAAGmB,IAAaI,GAAG5X,EAAE,GAAGwX,GAAG,CAACK,QAAQ,EAAEC,QAAQ,EAAEz1B,QAAQ,EAAEtL,QAAQ,EAAEghC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEz0B,SAAS,EAAE00B,OAAO,EAAEC,QAAQ,EAAEC,iBAAiBC,GAAG72B,OAAO,EAAE82B,QAAQ,EAAEC,cAAc,SAASn7D,GAAG,YAAO,IAASA,EAAEm7D,cAAcn7D,EAAEo7D,cAAcp7D,EAAE6wD,WAAW7wD,EAAEq7D,UAAUr7D,EAAEo7D,YAAYp7D,EAAEm7D,eAAeG,UAAU,SAASt7D,GAAG,MAAG,cAC3eA,EAASA,EAAEs7D,WAAUt7D,IAAI25D,KAAKA,IAAI,cAAc35D,EAAEmS,MAAMsnD,GAAGz5D,EAAEy6D,QAAQd,GAAGc,QAAQf,GAAG15D,EAAE06D,QAAQf,GAAGe,SAAShB,GAAGD,GAAG,EAAEE,GAAG35D,GAAUy5D,KAAI8B,UAAU,SAASv7D,GAAG,MAAM,cAAcA,EAAEA,EAAEu7D,UAAU7B,MAAM8B,GAAGvC,GAAGuB,IAAiCiB,GAAGxC,GAA7BrW,EAAE,GAAG4X,GAAG,CAACkB,aAAa,KAA4CC,GAAG1C,GAA9BrW,EAAE,GAAGwX,GAAG,CAACe,cAAc,KAA0ES,GAAG3C,GAA5DrW,EAAE,GAAGgX,GAAG,CAACiC,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAsHC,GAAG/C,GAAxGrW,EAAE,GAAGgX,GAAG,CAACqC,cAAc,SAASj8D,GAAG,MAAM,kBAAkBA,EAAEA,EAAEi8D,cAAc75D,OAAO65D,kBAAgDC,GAAGjD,GAArBrW,EAAE,GAAGgX,GAAG,CAACpqC,KAAK,KAAc2sC,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKnzD,KAAK,cAAcozD,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAACC,EAAE,YAAYC,EAAE,MAAMC,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UAAUC,GAAG,MAAMC,GAAG,QAAQC,GAAG,WAAWC,GAAG,SAASC,GAAG,IAAIC,GAAG,SAASC,GAAG,WAAWC,GAAG,MAAMC,GAAG,OAAOC,GAAG,YAAYC,GAAG,UAAUC,GAAG,aAAaC,GAAG,YAAYC,GAAG,SAASC,GAAG,SAASC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KACtfC,IAAI,KAAKC,IAAI,KAAKC,IAAI,MAAMC,IAAI,MAAMC,IAAI,MAAMC,IAAI,UAAUC,IAAI,aAAaC,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASpvC,QAAQ,UAAUqvC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAGx/D,GAAG,IAAIC,EAAE7L,KAAKkgE,YAAY,OAAOr0D,EAAE+6D,iBAAiB/6D,EAAE+6D,iBAAiBh7D,MAAIA,EAAEo/D,GAAGp/D,OAAMC,EAAED,GAAM,SAASi7D,KAAK,OAAOuE,GAC9R,IACiEC,GAAGxG,GAD7DrW,EAAE,GAAGwX,GAAG,CAACrmE,IAAI,SAASiM,GAAG,GAAGA,EAAEjM,IAAI,CAAC,IAAIkM,EAAEk8D,GAAGn8D,EAAEjM,MAAMiM,EAAEjM,IAAI,GAAG,iBAAiBkM,EAAE,OAAOA,EAAE,MAAM,aAAaD,EAAEmS,KAAc,MAARnS,EAAE64D,GAAG74D,IAAU,QAAQyW,OAAOC,aAAa1W,GAAI,YAAYA,EAAEmS,MAAM,UAAUnS,EAAEmS,KAAK4qD,GAAG/8D,EAAEqmC,UAAU,eAAe,IAAIq5B,KAAK,EAAEnoE,SAAS,EAAEsjE,QAAQ,EAAEz0B,SAAS,EAAE00B,OAAO,EAAEC,QAAQ,EAAE9X,OAAO,EAAE0c,OAAO,EAAE3E,iBAAiBC,GAAGnC,SAAS,SAAS94D,GAAG,MAAM,aAAaA,EAAEmS,KAAK0mD,GAAG74D,GAAG,GAAGqmC,QAAQ,SAASrmC,GAAG,MAAM,YAAYA,EAAEmS,MAAM,UAAUnS,EAAEmS,KAAKnS,EAAEqmC,QAAQ,GAAGu5B,MAAM,SAAS5/D,GAAG,MAAM,aAC7eA,EAAEmS,KAAK0mD,GAAG74D,GAAG,YAAYA,EAAEmS,MAAM,UAAUnS,EAAEmS,KAAKnS,EAAEqmC,QAAQ,MAA4Iw5B,GAAG5G,GAA7HrW,EAAE,GAAG4X,GAAG,CAAC/F,UAAU,EAAE5pD,MAAM,EAAEuE,OAAO,EAAE0wD,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIC,GAAGpH,GAArHrW,EAAE,GAAGwX,GAAG,CAACr1B,QAAQ,EAAEu7B,cAAc,EAAE5mC,eAAe,EAAEohC,OAAO,EAAEC,QAAQ,EAAEF,QAAQ,EAAEz0B,SAAS,EAAE40B,iBAAiBC,MAA0EsF,GAAGtH,GAA3DrW,EAAE,GAAGgX,GAAG,CAACxP,aAAa,EAAE0R,YAAY,EAAEC,cAAc,KAC/PyE,GAAGvH,GAD6QrW,EAAE,GAAG4X,GAAG,CAACt1B,OAAO,SAASllC,GAAG,MAAM,WAAWA,EAAEA,EAAEklC,OAAO,gBAAgBllC,GAAGA,EAAEygE,YAAY,GAClfjnC,OAAO,SAASx5B,GAAG,MAAM,WAAWA,EAAEA,EAAEw5B,OAAO,gBAAgBx5B,GAAGA,EAAE0gE,YAAY,eAAe1gE,GAAGA,EAAE2gE,WAAW,GAAGC,OAAO,EAAEC,UAAU,KAAcC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAGpX,GAAI,qBAAqBvnD,OAAO4+D,GAAG,KAAKrX,GAAI,iBAAiBtnD,WAAW2+D,GAAG3+D,SAAS4+D,cAAc,IAAIC,GAAGvX,GAAI,cAAcvnD,SAAS4+D,GAAGG,GAAGxX,KAAMoX,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAII,GAAG3qD,OAAOC,aAAa,IAAI2qD,IAAG,EAC1W,SAASC,GAAGthE,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,OAAO,IAAI8gE,GAAGtgE,QAAQP,EAAEomC,SAAS,IAAK,UAAU,OAAO,MAAMpmC,EAAEomC,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,GAAI,SAASk7B,GAAGvhE,GAAc,MAAM,kBAAjBA,EAAEA,EAAEs6D,SAAkC,SAASt6D,EAAEA,EAAEwvB,KAAK,KAAK,IAAIgyC,IAAG,EAE9Q,IAAIC,GAAG,CAACt2C,OAAM,EAAGu2C,MAAK,EAAGC,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGC,OAAM,EAAGlxD,QAAO,EAAGmxD,UAAS,EAAGC,OAAM,EAAGnhE,QAAO,EAAGohE,KAAI,EAAGC,MAAK,EAAGC,MAAK,EAAG9oE,KAAI,EAAG+oE,MAAK,GAAI,SAASC,GAAGpiE,GAAG,IAAIC,EAAED,GAAGA,EAAE4sD,UAAU5sD,EAAE4sD,SAASrsD,cAAc,MAAM,UAAUN,IAAIwhE,GAAGzhE,EAAEmS,MAAM,aAAalS,EAAQ,SAASoiE,GAAGriE,EAAEC,EAAEomB,EAAE9W,GAAG+hD,GAAG/hD,GAAsB,GAAnBtP,EAAEqiE,GAAGriE,EAAE,aAAgBpM,SAASwyB,EAAE,IAAI8zC,GAAG,WAAW,SAAS,KAAK9zC,EAAE9W,GAAGvP,EAAE5K,KAAK,CAAC0B,MAAMuvB,EAAE9kB,UAAUtB,KAAK,IAAIsiE,GAAG,KAAKC,GAAG,KAAK,SAASxe,GAAGhkD,GAAGyiE,GAAGziE,EAAE,GAAG,SAAS0iE,GAAG1iE,GAAe,GAAGitD,EAAT0V,GAAG3iE,IAAY,OAAOA,EACne,SAAS4iE,GAAG5iE,EAAEC,GAAG,GAAG,WAAWD,EAAE,OAAOC,EAAE,IAAI4iE,IAAG,EAAG,GAAGlZ,EAAG,CAAC,IAAImZ,GAAG,GAAGnZ,EAAG,CAAC,IAAIoZ,GAAG,YAAY1gE,SAAS,IAAI0gE,GAAG,CAAC,IAAIC,GAAG3gE,SAASC,cAAc,OAAO0gE,GAAGr2D,aAAa,UAAU,WAAWo2D,GAAG,oBAAoBC,GAAGC,QAAQH,GAAGC,QAAQD,IAAG,EAAGD,GAAGC,MAAMzgE,SAAS4+D,cAAc,EAAE5+D,SAAS4+D,cAAc,SAASiC,KAAKX,KAAKA,GAAGY,YAAY,mBAAmBC,IAAIZ,GAAGD,GAAG,MAAM,SAASa,GAAGpjE,GAAG,GAAG,UAAUA,EAAEoqD,cAAcsY,GAAGF,IAAI,CAAC,IAAIviE,EAAE,GAAyB,GAAtBoiE,GAAGpiE,EAAEuiE,GAAGxiE,EAAE4wD,GAAG5wD,IAAIA,EAAEgkD,GAAM4N,GAAG5xD,EAAEC,OAAO,CAAC2xD,IAAG,EAAG,IAAIJ,GAAGxxD,EAAEC,GAAT,QAAoB2xD,IAAG,EAAGE,QAC3e,SAASuR,GAAGrjE,EAAEC,EAAEomB,GAAG,YAAYrmB,GAAGkjE,KAAUV,GAAGn8C,GAARk8C,GAAGtiE,GAAUqjE,YAAY,mBAAmBF,KAAK,aAAapjE,GAAGkjE,KAAK,SAASK,GAAGvjE,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAO0iE,GAAGF,IAAI,SAASgB,GAAGxjE,EAAEC,GAAG,GAAG,UAAUD,EAAE,OAAO0iE,GAAGziE,GAAG,SAASwjE,GAAGzjE,EAAEC,GAAG,GAAG,UAAUD,GAAG,WAAWA,EAAE,OAAO0iE,GAAGziE,GAAmE,IAAIyjE,GAAG,oBAAoBlwE,OAAOm9D,GAAGn9D,OAAOm9D,GAA5G,SAAY3wD,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,GAAoD0jE,GAAGnwE,OAAOQ,UAAUC,eAC7a,SAAS2vE,GAAG5jE,EAAEC,GAAG,GAAGyjE,GAAG1jE,EAAEC,GAAG,OAAM,EAAG,GAAG,kBAAkBD,GAAG,OAAOA,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIomB,EAAE7yB,OAAO8G,KAAK0F,GAAGuP,EAAE/b,OAAO8G,KAAK2F,GAAG,GAAGomB,EAAExyB,SAAS0b,EAAE1b,OAAO,OAAM,EAAG,IAAI0b,EAAE,EAAEA,EAAE8W,EAAExyB,OAAO0b,IAAI,IAAIo0D,GAAGzvE,KAAK+L,EAAEomB,EAAE9W,MAAMm0D,GAAG1jE,EAAEqmB,EAAE9W,IAAItP,EAAEomB,EAAE9W,KAAK,OAAM,EAAG,OAAM,EAAG,SAASs0D,GAAG7jE,GAAG,KAAKA,GAAGA,EAAEyU,YAAYzU,EAAEA,EAAEyU,WAAW,OAAOzU,EAClU,SAAS8jE,GAAG9jE,EAAEC,GAAG,IAAwBsP,EAApB8W,EAAEw9C,GAAG7jE,GAAO,IAAJA,EAAE,EAAYqmB,GAAG,CAAC,GAAG,IAAIA,EAAE6oC,SAAS,CAA0B,GAAzB3/C,EAAEvP,EAAEqmB,EAAEioC,YAAYz6D,OAAUmM,GAAGC,GAAGsP,GAAGtP,EAAE,MAAM,CAAC0X,KAAK0O,EAAEjN,OAAOnZ,EAAED,GAAGA,EAAEuP,EAAEvP,EAAE,CAAC,KAAKqmB,GAAG,CAAC,GAAGA,EAAE3R,YAAY,CAAC2R,EAAEA,EAAE3R,YAAY,MAAM1U,EAAEqmB,EAAEA,EAAErQ,WAAWqQ,OAAE,EAAOA,EAAEw9C,GAAGx9C,IAAI,SAAS09C,GAAG/jE,EAAEC,GAAG,SAAOD,IAAGC,KAAED,IAAIC,KAAKD,GAAG,IAAIA,EAAEkvD,YAAYjvD,GAAG,IAAIA,EAAEivD,SAAS6U,GAAG/jE,EAAEC,EAAE+V,YAAY,aAAahW,EAAEA,EAAEolC,SAASnlC,KAAGD,EAAEgkE,4BAAwD,GAA7BhkE,EAAEgkE,wBAAwB/jE,MAClZ,SAASgkE,KAAK,IAAI,IAAIjkE,EAAEoC,OAAOnC,EAAEitD,IAAKjtD,aAAaD,EAAEkkE,mBAAmB,CAAC,IAAI,IAAI79C,EAAE,kBAAkBpmB,EAAEkkE,cAAc5sE,SAASC,KAAK,MAAM+X,GAAG8W,GAAE,EAAG,IAAGA,EAAyB,MAAMpmB,EAAEitD,GAA/BltD,EAAEC,EAAEkkE,eAAgC9hE,UAAU,OAAOpC,EAAE,SAASmkE,GAAGpkE,GAAG,IAAIC,EAAED,GAAGA,EAAE4sD,UAAU5sD,EAAE4sD,SAASrsD,cAAc,OAAON,IAAI,UAAUA,IAAI,SAASD,EAAEmS,MAAM,WAAWnS,EAAEmS,MAAM,QAAQnS,EAAEmS,MAAM,QAAQnS,EAAEmS,MAAM,aAAanS,EAAEmS,OAAO,aAAalS,GAAG,SAASD,EAAEqkE,iBACxZ,IAAIC,GAAG3a,GAAI,iBAAiBtnD,UAAU,IAAIA,SAAS4+D,aAAasD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAG3kE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAE8W,EAAEjkB,SAASikB,EAAEA,EAAEhkB,SAAS,IAAIgkB,EAAE6oC,SAAS7oC,EAAEA,EAAEwnC,cAAc6W,IAAI,MAAMH,IAAIA,KAAKrX,EAAG39C,KAAU,mBAALA,EAAEg1D,KAAyBH,GAAG70D,GAAGA,EAAE,CAACiX,MAAMjX,EAAEq1D,eAAejqE,IAAI4U,EAAEs1D,cAAuFt1D,EAAE,CAACu1D,YAA3Ev1D,GAAGA,EAAEs+C,eAAet+C,EAAEs+C,cAAckX,aAAa3iE,QAAQ4iE,gBAA+BF,WAAWG,aAAa11D,EAAE01D,aAAaC,UAAU31D,EAAE21D,UAAUC,YAAY51D,EAAE41D,aAAcV,IAAIb,GAAGa,GAAGl1D,KAAKk1D,GAAGl1D,EAAsB,GAApBA,EAAE+yD,GAAGkC,GAAG,aAAgB3wE,SAASoM,EAAE,IAAIk6D,GAAG,WAAW,SAAS,KAAKl6D,EAAEomB,GAAGrmB,EAAE5K,KAAK,CAAC0B,MAAMmJ,EAAEsB,UAAUgO,IAAItP,EAAEvM,OAAO6wE,MACjf7N,GAAG,mjBAAmjBx3D,MAAM,KAC5jB,GAAGw3D,GAAG,oRAAoRx3D,MAAM,KAAK,GAAGw3D,GAAGD,GAAG,GAAG,IAAI,IAAI2O,GAAG,qFAAqFlmE,MAAM,KAAKmmE,GAAG,EAAEA,GAAGD,GAAGvxE,OAAOwxE,KAAK7O,GAAG9qD,IAAI05D,GAAGC,IAAI,GAAG3b,EAAG,eAAe,CAAC,WAAW,cACleA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoEvqD,MAAM,MAAMuqD,EAAG,WAAW,uFAAuFvqD,MAAM,MAAMuqD,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2DvqD,MAAM,MAC5fuqD,EAAG,qBAAqB,6DAA6DvqD,MAAM,MAAMuqD,EAAG,sBAAsB,8DAA8DvqD,MAAM,MAAM,IAAIomE,GAAG,sNAAsNpmE,MAAM,KAAKqmE,GAAG,IAAIruB,IAAI,0CAA0Ch4C,MAAM,KAAKhF,OAAOorE,KACnf,SAASE,GAAGxlE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEvP,EAAEmS,MAAM,gBAAgBnS,EAAEylC,cAAcpf,EA/CjE,SAAYrmB,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,EAAEoa,EAAE9pC,EAAEre,GAA4B,GAAzB8zD,GAAGt+D,MAAMC,KAAKR,WAAcw+D,GAAG,CAAC,IAAGA,GAAgC,MAAM/zD,MAAM8b,EAAE,MAA1C,IAAIgrC,EAAEkN,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAGpN,IA+CjEsgB,CAAGl2D,EAAEtP,OAAE,EAAOD,GAAGA,EAAEylC,cAAc,KACpG,SAASg9B,GAAGziE,EAAEC,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIomB,EAAE,EAAEA,EAAErmB,EAAEnM,OAAOwyB,IAAI,CAAC,IAAI9W,EAAEvP,EAAEqmB,GAAGnlB,EAAEqO,EAAEzY,MAAMyY,EAAEA,EAAEhO,UAAUvB,EAAE,CAAC,IAAI0sC,OAAE,EAAO,GAAGzsC,EAAE,IAAI,IAAI6mD,EAAEv3C,EAAE1b,OAAO,EAAE,GAAGizD,EAAEA,IAAI,CAAC,IAAI9pC,EAAEzN,EAAEu3C,GAAGnoD,EAAEqe,EAAE0G,SAASyhC,EAAEnoC,EAAEyoB,cAA2B,GAAbzoB,EAAEA,EAAEjb,SAAYpD,IAAI+tC,GAAGxrC,EAAEo4D,uBAAuB,MAAMt5D,EAAEwlE,GAAGtkE,EAAE8b,EAAEmoC,GAAGzY,EAAE/tC,OAAO,IAAImoD,EAAE,EAAEA,EAAEv3C,EAAE1b,OAAOizD,IAAI,CAAoD,GAA5CnoD,GAAPqe,EAAEzN,EAAEu3C,IAAOpjC,SAASyhC,EAAEnoC,EAAEyoB,cAAczoB,EAAEA,EAAEjb,SAAYpD,IAAI+tC,GAAGxrC,EAAEo4D,uBAAuB,MAAMt5D,EAAEwlE,GAAGtkE,EAAE8b,EAAEmoC,GAAGzY,EAAE/tC,IAAI,GAAG2zD,GAAG,MAAMtyD,EAAEuyD,GAAGD,IAAG,EAAGC,GAAG,KAAKvyD,EAC1a,SAASwmD,GAAExmD,EAAEC,GAAG,IAAIomB,EAAEq/C,GAAGzlE,GAAGsP,EAAEvP,EAAE,WAAWqmB,EAAEoxB,IAAIloC,KAAKo2D,GAAG1lE,EAAED,EAAE,GAAE,GAAIqmB,EAAEovB,IAAIlmC,IAAI,IAAIq2D,GAAG,kBAAkB7hE,KAAKC,SAASC,SAAS,IAAItD,MAAM,GAAG,SAASklE,GAAG7lE,GAAGA,EAAE4lE,MAAM5lE,EAAE4lE,KAAI,EAAGrc,EAAG7sD,SAAQ,SAASuD,GAAGslE,GAAG9tB,IAAIx3C,IAAI6lE,GAAG7lE,GAAE,EAAGD,EAAE,MAAM8lE,GAAG7lE,GAAE,EAAGD,EAAE,UACtO,SAAS8lE,GAAG9lE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAE,EAAEtN,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAE84C,EAAErmB,EAA6D,GAA3D,oBAAoBrmB,GAAG,IAAIqmB,EAAE6oC,WAAWxiB,EAAErmB,EAAEwnC,eAAkB,OAAOt+C,IAAItP,GAAGslE,GAAG9tB,IAAIz3C,GAAG,CAAC,GAAG,WAAWA,EAAE,OAAOkB,GAAG,EAAEwrC,EAAEn9B,EAAE,IAAIu3C,EAAE4e,GAAGh5B,GAAG1vB,EAAEhd,EAAE,MAAMC,EAAE,UAAU,UAAU6mD,EAAErP,IAAIz6B,KAAK/c,IAAIiB,GAAG,GAAGykE,GAAGj5B,EAAE1sC,EAAEkB,EAAEjB,GAAG6mD,EAAErR,IAAIz4B,IAClS,SAAS2oD,GAAG3lE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAEs1D,GAAGx7C,IAAI/a,GAAG,YAAO,IAASiB,EAAE,EAAEA,GAAG,KAAK,EAAEA,EAAEm3D,GAAG,MAAM,KAAK,EAAEn3D,EAAEsK,GAAG,MAAM,QAAQtK,EAAEo3D,GAAGjyC,EAAEnlB,EAAEwyC,KAAK,KAAKzzC,EAAEomB,EAAErmB,GAAGkB,OAAE,GAAQ8wD,IAAI,eAAe/xD,GAAG,cAAcA,GAAG,UAAUA,IAAIiB,GAAE,GAAIqO,OAAE,IAASrO,EAAElB,EAAEsF,iBAAiBrF,EAAEomB,EAAE,CAACyR,SAAQ,EAAGC,QAAQ72B,IAAIlB,EAAEsF,iBAAiBrF,EAAEomB,GAAE,QAAI,IAASnlB,EAAElB,EAAEsF,iBAAiBrF,EAAEomB,EAAE,CAAC0R,QAAQ72B,IAAIlB,EAAEsF,iBAAiBrF,EAAEomB,GAAE,GACpW,SAASmyC,GAAGx4D,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,IAAIwrC,EAAEn9B,EAAE,GAAG,KAAO,EAAFtP,IAAM,KAAO,EAAFA,IAAM,OAAOsP,EAAEvP,EAAE,OAAO,CAAC,GAAG,OAAOuP,EAAE,OAAO,IAAIu3C,EAAEv3C,EAAE6E,IAAI,GAAG,IAAI0yC,GAAG,IAAIA,EAAE,CAAC,IAAI9pC,EAAEzN,EAAE6hD,UAAU4D,cAAc,GAAGh4C,IAAI9b,GAAG,IAAI8b,EAAEkyC,UAAUlyC,EAAEhH,aAAa9U,EAAE,MAAM,GAAG,IAAI4lD,EAAE,IAAIA,EAAEv3C,EAAEuI,OAAO,OAAOgvC,GAAG,CAAC,IAAInoD,EAAEmoD,EAAE1yC,IAAI,IAAG,IAAIzV,GAAG,IAAIA,MAAKA,EAAEmoD,EAAEsK,UAAU4D,iBAAkB9zD,GAAG,IAAIvC,EAAEuwD,UAAUvwD,EAAEqX,aAAa9U,GAAE,OAAO4lD,EAAEA,EAAEhvC,OAAO,KAAK,OAAOkF,GAAG,CAAS,GAAG,QAAX8pC,EAAE8N,GAAG53C,IAAe,OAAe,GAAG,KAAXre,EAAEmoD,EAAE1yC,MAAc,IAAIzV,EAAE,CAAC4Q,EAAEm9B,EAAEoa,EAAE,SAAS9mD,EAAEgd,EAAEA,EAAEhH,YAAYzG,EAAEA,EAAEuI,QAvD7c,SAAY9X,EAAEC,EAAEomB,GAAG,GAAGwrC,GAAG,OAAO7xD,EAAEC,EAAEomB,GAAGwrC,IAAG,EAAG,IAAWF,GAAG3xD,EAAEC,EAAEomB,GAAlB,QAA6BwrC,IAAG,EAAGC,MAuDoYiU,EAAG,WAAW,IAAIx2D,EAAEm9B,EAAExrC,EAAE0vD,GAAGvqC,GAAGygC,EAAE,GACpf9mD,EAAE,CAAC,IAAIgd,EAAEu5C,GAAGv7C,IAAIhb,GAAG,QAAG,IAASgd,EAAE,CAAC,IAAIre,EAAEw7D,GAAGjgD,EAAEla,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAI64D,GAAGxyC,GAAG,MAAMrmB,EAAE,IAAK,UAAU,IAAK,QAAQrB,EAAE8gE,GAAG,MAAM,IAAK,UAAUvlD,EAAE,QAAQvb,EAAEg9D,GAAG,MAAM,IAAK,WAAWzhD,EAAE,OAAOvb,EAAEg9D,GAAG,MAAM,IAAK,aAAa,IAAK,YAAYh9D,EAAEg9D,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAIt1C,EAAE+d,OAAO,MAAMpkC,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcrB,EAAE68D,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAO78D,EAC1iB88D,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa98D,EAAE0hE,GAAG,MAAM,KAAKlK,GAAG,KAAKC,GAAG,KAAKC,GAAG13D,EAAEi9D,GAAG,MAAM,KAAKtF,GAAG33D,EAAE4hE,GAAG,MAAM,IAAK,SAAS5hE,EAAE47D,GAAG,MAAM,IAAK,QAAQ57D,EAAE6hE,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQ7hE,EAAEq9D,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAYr9D,EAAEkhE,GAAG,IAAI34C,EAAE,KAAO,EAAFjnB,GAAKma,GAAG8M,GAAG,WAAWlnB,EAAEylD,EAAEv+B,EAAE,OAAOlK,EAAEA,EAAE,UAAU,KAAKA,EAAEkK,EAAE,GAAG,IAAI,IAAQo+B,EAAJl/B,EAAE7W,EAAI,OAC/e6W,GAAG,CAAK,IAAIs/B,GAARJ,EAAEl/B,GAAUgrC,UAAsF,GAA5E,IAAI9L,EAAElxC,KAAK,OAAOsxC,IAAIJ,EAAEI,EAAE,OAAOD,IAAc,OAAVC,EAAEqM,GAAG3rC,EAAEq/B,KAAYv+B,EAAE9xB,KAAK4wE,GAAG5/C,EAAEs/B,EAAEJ,MAASlrC,EAAE,MAAMgM,EAAEA,EAAEtO,OAAO,EAAEoP,EAAErzB,SAASmpB,EAAE,IAAIre,EAAEqe,EAAE9C,EAAE,KAAKmM,EAAEnlB,GAAG4lD,EAAE1xD,KAAK,CAAC0B,MAAMkmB,EAAEzb,UAAU2lB,MAAM,GAAG,KAAO,EAAFjnB,GAAK,CAA4E,GAAnCtB,EAAE,aAAaqB,GAAG,eAAeA,KAAtEgd,EAAE,cAAchd,GAAG,gBAAgBA,IAA2C,KAAO,GAAFC,MAAQia,EAAEmM,EAAE80C,eAAe90C,EAAE+0C,eAAexG,GAAG16C,KAAIA,EAAE+rD,OAAgBtnE,GAAGqe,KAAGA,EAAE9b,EAAEkB,SAASlB,EAAEA,GAAG8b,EAAE9b,EAAE2sD,eAAe7wC,EAAE+nD,aAAa/nD,EAAEkpD,aAAa9jE,OAAUzD,GAAqCA,EAAE4Q,EAAiB,QAAf2K,GAAnCA,EAAEmM,EAAE80C,eAAe90C,EAAEg1C,WAAkBzG,GAAG16C,GAAG,QACleA,KAARE,EAAEs4C,GAAGx4C,KAAU,IAAIA,EAAE9F,KAAK,IAAI8F,EAAE9F,OAAK8F,EAAE,QAAUvb,EAAE,KAAKub,EAAE3K,GAAK5Q,IAAIub,GAAE,CAAgU,GAA/TgN,EAAEs0C,GAAG9V,EAAE,eAAeD,EAAE,eAAer/B,EAAE,QAAW,eAAepmB,GAAG,gBAAgBA,IAAEknB,EAAE24C,GAAGna,EAAE,iBAAiBD,EAAE,iBAAiBr/B,EAAE,WAAUhM,EAAE,MAAMzb,EAAEqe,EAAE2lD,GAAGhkE,GAAG2mD,EAAE,MAAMprC,EAAE8C,EAAE2lD,GAAGzoD,IAAG8C,EAAE,IAAIkK,EAAEw+B,EAAEt/B,EAAE,QAAQznB,EAAE0nB,EAAEnlB,IAAKxN,OAAO0mB,EAAE4C,EAAEm+C,cAAc7V,EAAEI,EAAE,KAAKkP,GAAG1zD,KAAKqO,KAAI2X,EAAE,IAAIA,EAAEu+B,EAAEr/B,EAAE,QAAQlM,EAAEmM,EAAEnlB,IAAKxN,OAAO4xD,EAAEp+B,EAAEi0C,cAAc/gD,EAAEsrC,EAAEx+B,GAAG9M,EAAEsrC,EAAK/mD,GAAGub,EAAEja,EAAE,CAAa,IAARwlD,EAAEvrC,EAAEkM,EAAE,EAAMk/B,EAAhBp+B,EAAEvoB,EAAkB2mD,EAAEA,EAAE6gB,GAAG7gB,GAAGl/B,IAAQ,IAAJk/B,EAAE,EAAMI,EAAED,EAAEC,EAAEA,EAAEygB,GAAGzgB,GAAGJ,IAAI,KAAK,EAAEl/B,EAAEk/B,GAAGp+B,EAAEi/C,GAAGj/C,GAAGd,IAAI,KAAK,EAAEk/B,EAAEl/B,GAAGq/B,EACpf0gB,GAAG1gB,GAAGH,IAAI,KAAKl/B,KAAK,CAAC,GAAGc,IAAIu+B,GAAG,OAAOA,GAAGv+B,IAAIu+B,EAAEkN,UAAU,MAAM1yD,EAAEinB,EAAEi/C,GAAGj/C,GAAGu+B,EAAE0gB,GAAG1gB,GAAGv+B,EAAE,UAAUA,EAAE,KAAK,OAAOvoB,GAAGynE,GAAGtf,EAAE9pC,EAAEre,EAAEuoB,GAAE,GAAI,OAAOhN,GAAG,OAAOE,GAAGgsD,GAAGtf,EAAE1sC,EAAEF,EAAEgN,GAAE,GAAiE,GAAG,YAA1CvoB,GAAjBqe,EAAEzN,EAAEozD,GAAGpzD,GAAGnN,QAAWwqD,UAAU5vC,EAAE4vC,SAASrsD,gBAA+B,UAAU5B,GAAG,SAASqe,EAAE7K,KAAK,IAAI00C,EAAE+b,QAAQ,GAAGR,GAAGplD,GAAG,GAAG6lD,GAAGhc,EAAE4c,OAAO,CAAC5c,EAAE0c,GAAG,IAAIjc,EAAE+b,QAAQ1kE,EAAEqe,EAAE4vC,WAAW,UAAUjuD,EAAE4B,gBAAgB,aAAayc,EAAE7K,MAAM,UAAU6K,EAAE7K,QAAQ00C,EAAE2c,IAClV,OADyV3c,IAAIA,EAAEA,EAAE7mD,EAAEuP,IAAK8yD,GAAGvb,EAAED,EAAExgC,EAAEnlB,IAAWomD,GAAGA,EAAEtnD,EAAEgd,EAAEzN,GAAG,aAAavP,IAAIsnD,EAAEtqC,EAAEowC,gBACte9F,EAAEkG,YAAY,WAAWxwC,EAAE7K,MAAMw7C,GAAG3wC,EAAE,SAASA,EAAE3nB,QAAOiyD,EAAE/3C,EAAEozD,GAAGpzD,GAAGnN,OAAcpC,GAAG,IAAK,WAAaoiE,GAAG9a,IAAI,SAASA,EAAE+c,mBAAgBE,GAAGjd,EAAEkd,GAAGj1D,EAAEk1D,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAG7d,EAAEzgC,EAAEnlB,GAAG,MAAM,IAAK,kBAAkB,GAAGojE,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAG7d,EAAEzgC,EAAEnlB,GAAG,IAAIsmD,EAAE,GAAGuZ,GAAG9gE,EAAE,CAAC,OAAOD,GAAG,IAAK,mBAAmB,IAAIinD,EAAE,qBAAqB,MAAMhnD,EAAE,IAAK,iBAAiBgnD,EAAE,mBAAmB,MAAMhnD,EACrf,IAAK,oBAAoBgnD,EAAE,sBAAsB,MAAMhnD,EAAEgnD,OAAE,OAAYua,GAAGF,GAAGthE,EAAEqmB,KAAK4gC,EAAE,oBAAoB,YAAYjnD,GAAG,MAAMqmB,EAAEggB,UAAU4gB,EAAE,sBAAsBA,IAAIka,IAAI,OAAO96C,EAAEs5C,SAAS6B,IAAI,uBAAuBva,EAAE,qBAAqBA,GAAGua,KAAKha,EAAEoR,OAAYF,GAAG,UAARD,GAAGv3D,GAAkBu3D,GAAGpjE,MAAMojE,GAAGnK,YAAYkT,IAAG,IAAe,GAAVla,EAAEgb,GAAG/yD,EAAE03C,IAAOpzD,SAASozD,EAAE,IAAIiV,GAAGjV,EAAEjnD,EAAE,KAAKqmB,EAAEnlB,GAAG4lD,EAAE1xD,KAAK,CAAC0B,MAAMmwD,EAAE1lD,UAAU+lD,IAAIE,EAAEP,EAAEz3B,KAAKg4B,EAAW,QAARA,EAAE+Z,GAAGl7C,MAAc4gC,EAAEz3B,KAAKg4B,MAASA,EAAE0Z,GA1BjK,SAAYlhE,EAAEC,GAAG,OAAOD,GAAG,IAAK,iBAAiB,OAAOuhE,GAAGthE,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAE2/D,MAAa,MAAKyB,IAAG,EAAUD,IAAG,IAAK,YAAY,OAAOphE,EAAEC,EAAEuvB,QAAS4xC,IAAIC,GAAG,KAAKrhE,EAAE,QAAQ,OAAO,MA0BxBqmE,CAAGrmE,EAAEqmB,GAzB1b,SAAYrmB,EAAEC,GAAG,GAAGuhE,GAAG,MAAM,mBAAmBxhE,IAAI+gE,IAAIO,GAAGthE,EAAEC,IAAID,EAAE44D,KAAKD,GAAGD,GAAGD,GAAG,KAAK+I,IAAG,EAAGxhE,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAQ,OAAO,KAAK,IAAK,WAAW,KAAKC,EAAE46D,SAAS56D,EAAE66D,QAAQ76D,EAAE86D,UAAU96D,EAAE46D,SAAS56D,EAAE66D,OAAO,CAAC,GAAG76D,EAAEqmE,MAAM,EAAErmE,EAAEqmE,KAAKzyE,OAAO,OAAOoM,EAAEqmE,KAAK,GAAGrmE,EAAE2/D,MAAM,OAAOnpD,OAAOC,aAAazW,EAAE2/D,OAAO,OAAO,KAAK,IAAK,iBAAiB,OAAOuB,IAAI,OAAOlhE,EAAE0/D,OAAO,KAAK1/D,EAAEuvB,KAAK,QAAQ,OAAO,MAyB2D+2C,CAAGvmE,EAAEqmB,MAA2B,GAAxB9W,EAAE+yD,GAAG/yD,EAAE,kBAAqB1b,SAASqN,EAAE,IAAIg7D,GAAG,gBACnf,cAAc,KAAK71C,EAAEnlB,GAAG4lD,EAAE1xD,KAAK,CAAC0B,MAAMoK,EAAEK,UAAUgO,IAAIrO,EAAEsuB,KAAKg4B,IAAGib,GAAG3b,EAAE7mD,MAAK,SAAS+lE,GAAGhmE,EAAEC,EAAEomB,GAAG,MAAM,CAAC3C,SAAS1jB,EAAE+B,SAAS9B,EAAEwlC,cAAcpf,GAAG,SAASi8C,GAAGtiE,EAAEC,GAAG,IAAI,IAAIomB,EAAEpmB,EAAE,UAAUsP,EAAE,GAAG,OAAOvP,GAAG,CAAC,IAAIkB,EAAElB,EAAE0sC,EAAExrC,EAAEkwD,UAAU,IAAIlwD,EAAEkT,KAAK,OAAOs4B,IAAIxrC,EAAEwrC,EAAY,OAAVA,EAAEqlB,GAAG/xD,EAAEqmB,KAAY9W,EAAE7P,QAAQsmE,GAAGhmE,EAAE0sC,EAAExrC,IAAc,OAAVwrC,EAAEqlB,GAAG/xD,EAAEC,KAAYsP,EAAEna,KAAK4wE,GAAGhmE,EAAE0sC,EAAExrC,KAAKlB,EAAEA,EAAE8X,OAAO,OAAOvI,EAAE,SAAS42D,GAAGnmE,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAE8X,aAAa9X,GAAG,IAAIA,EAAEoU,KAAK,OAAOpU,GAAI,KACxa,SAASomE,GAAGpmE,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,IAAI,IAAIwrC,EAAEzsC,EAAEi5D,WAAWpS,EAAE,GAAG,OAAOzgC,GAAGA,IAAI9W,GAAG,CAAC,IAAIyN,EAAEqJ,EAAE1nB,EAAEqe,EAAE21C,UAAUxN,EAAEnoC,EAAEo0C,UAAU,GAAG,OAAOzyD,GAAGA,IAAI4Q,EAAE,MAAM,IAAIyN,EAAE5I,KAAK,OAAO+wC,IAAInoC,EAAEmoC,EAAEjkD,EAAa,OAAVvC,EAAEozD,GAAG1rC,EAAEqmB,KAAYoa,EAAEpnD,QAAQsmE,GAAG3/C,EAAE1nB,EAAEqe,IAAK9b,GAAc,OAAVvC,EAAEozD,GAAG1rC,EAAEqmB,KAAYoa,EAAE1xD,KAAK4wE,GAAG3/C,EAAE1nB,EAAEqe,KAAMqJ,EAAEA,EAAEvO,OAAO,IAAIgvC,EAAEjzD,QAAQmM,EAAE5K,KAAK,CAAC0B,MAAMmJ,EAAEsB,UAAUulD,IAAI,SAAS0f,MAAM,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG3mE,EAAEC,GAAG,OAAOD,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW,QAAQC,EAAEwmC,UAAU,OAAM,EAC3b,SAASmgC,GAAG5mE,EAAEC,GAAG,MAAM,aAAaD,GAAG,WAAWA,GAAG,aAAaA,GAAG,kBAAkBC,EAAElK,UAAU,kBAAkBkK,EAAElK,UAAU,kBAAkBkK,EAAEggD,yBAAyB,OAAOhgD,EAAEggD,yBAAyB,MAAMhgD,EAAEggD,wBAAwBC,OAAO,IAAI2mB,GAAG,oBAAoBr8D,WAAWA,gBAAW,EAAOs8D,GAAG,oBAAoBj6D,aAAaA,kBAAa,EAAO,SAASk6D,GAAG/mE,GAAG,IAAIA,EAAEkvD,SAASlvD,EAAEsuD,YAAY,GAAG,IAAItuD,EAAEkvD,WAAoB,OAATlvD,EAAEA,EAAEoO,QAAepO,EAAEsuD,YAAY,KACxc,SAAS0Y,GAAGhnE,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAE0U,YAAY,CAAC,IAAIzU,EAAED,EAAEkvD,SAAS,GAAG,IAAIjvD,GAAG,IAAIA,EAAE,MAAM,OAAOD,EAAE,SAASinE,GAAGjnE,GAAGA,EAAEA,EAAEknE,gBAAgB,IAAI,IAAIjnE,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEkvD,SAAS,CAAC,IAAI7oC,EAAErmB,EAAEwvB,KAAK,GAAG,MAAMnJ,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIpmB,EAAE,OAAOD,EAAEC,QAAQ,OAAOomB,GAAGpmB,IAAID,EAAEA,EAAEknE,gBAAgB,OAAO,KAAK,IAAIC,GAAG,EAA0D,IAAIC,GAAGrjE,KAAKC,SAASC,SAAS,IAAItD,MAAM,GAAG0mE,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAGnB,GAAG,oBAAoBmB,GAAGG,GAAG,iBAAiBH,GAC9d,SAASxS,GAAG50D,GAAG,IAAIC,EAAED,EAAEqnE,IAAI,GAAGpnE,EAAE,OAAOA,EAAE,IAAI,IAAIomB,EAAErmB,EAAEgW,WAAWqQ,GAAG,CAAC,GAAGpmB,EAAEomB,EAAE4/C,KAAK5/C,EAAEghD,IAAI,CAAe,GAAdhhD,EAAEpmB,EAAE0yD,UAAa,OAAO1yD,EAAEvE,OAAO,OAAO2qB,GAAG,OAAOA,EAAE3qB,MAAM,IAAIsE,EAAEinE,GAAGjnE,GAAG,OAAOA,GAAG,CAAC,GAAGqmB,EAAErmB,EAAEqnE,IAAI,OAAOhhD,EAAErmB,EAAEinE,GAAGjnE,GAAG,OAAOC,EAAMomB,GAAJrmB,EAAEqmB,GAAMrQ,WAAW,OAAO,KAAK,SAASm7C,GAAGnxD,GAAkB,QAAfA,EAAEA,EAAEqnE,KAAKrnE,EAAEimE,MAAc,IAAIjmE,EAAEoU,KAAK,IAAIpU,EAAEoU,KAAK,KAAKpU,EAAEoU,KAAK,IAAIpU,EAAEoU,IAAI,KAAKpU,EAAE,SAAS2iE,GAAG3iE,GAAG,GAAG,IAAIA,EAAEoU,KAAK,IAAIpU,EAAEoU,IAAI,OAAOpU,EAAEoxD,UAAU,MAAM/yD,MAAM8b,EAAE,KAAM,SAASk3C,GAAGrxD,GAAG,OAAOA,EAAEsnE,KAAK,KAClb,SAAS5B,GAAG1lE,GAAG,IAAIC,EAAED,EAAEunE,IAAkC,YAA9B,IAAStnE,IAAIA,EAAED,EAAEunE,IAAI,IAAIrwB,KAAYj3C,EAAE,IAAIunE,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAG1nE,GAAG,MAAM,CAACoK,QAAQpK,GAAG,SAASymD,GAAEzmD,GAAG,EAAEynE,KAAKznE,EAAEoK,QAAQo9D,GAAGC,IAAID,GAAGC,IAAI,KAAKA,MAAM,SAAS/gB,GAAE1mD,EAAEC,GAAGwnE,KAAKD,GAAGC,IAAIznE,EAAEoK,QAAQpK,EAAEoK,QAAQnK,EAAE,IAAI0nE,GAAG,GAAGzgB,GAAEwgB,GAAGC,IAAIxgB,GAAEugB,IAAG,GAAIE,GAAGD,GAC5P,SAASE,GAAG7nE,EAAEC,GAAG,IAAIomB,EAAErmB,EAAEmS,KAAKN,aAAa,IAAIwU,EAAE,OAAOshD,GAAG,IAAIp4D,EAAEvP,EAAEoxD,UAAU,GAAG7hD,GAAGA,EAAEu4D,8CAA8C7nE,EAAE,OAAOsP,EAAEw4D,0CAA0C,IAASr7B,EAALxrC,EAAE,GAAK,IAAIwrC,KAAKrmB,EAAEnlB,EAAEwrC,GAAGzsC,EAAEysC,GAAoH,OAAjHn9B,KAAIvP,EAAEA,EAAEoxD,WAAY0W,4CAA4C7nE,EAAED,EAAE+nE,0CAA0C7mE,GAAUA,EAAE,SAAS8mE,GAAGhoE,GAAyB,OAAO,QAA7BA,EAAEA,EAAE2R,yBAAmC,IAAS3R,EAAE,SAASioE,KAAKxhB,GAAEU,IAAGV,GAAES,IAAG,SAASghB,GAAGloE,EAAEC,EAAEomB,GAAG,GAAG6gC,GAAE98C,UAAUu9D,GAAG,MAAMtpE,MAAM8b,EAAE,MAAMusC,GAAEQ,GAAEjnD,GAAGymD,GAAES,GAAE9gC,GAC/e,SAAS8hD,GAAGnoE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEvP,EAAEoxD,UAAgC,GAAtBpxD,EAAEC,EAAE0R,kBAAqB,oBAAoBpC,EAAEqyC,gBAAgB,OAAOv7B,EAAwB,IAAI,IAAInlB,KAA9BqO,EAAEA,EAAEqyC,kBAAiC,KAAK1gD,KAAKlB,GAAG,MAAM3B,MAAM8b,EAAE,IAAIsyC,EAAGxsD,IAAI,UAAUiB,IAAI,OAAO0hD,EAAE,GAAGv8B,EAAE9W,GAAG,SAAS64D,GAAGpoE,GAAyG,OAAtGA,GAAGA,EAAEA,EAAEoxD,YAAYpxD,EAAEqoE,2CAA2CV,GAAGC,GAAG1gB,GAAE98C,QAAQs8C,GAAEQ,GAAElnD,GAAG0mD,GAAES,GAAEA,GAAE/8C,UAAe,EAAG,SAASk+D,GAAGtoE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEvP,EAAEoxD,UAAU,IAAI7hD,EAAE,MAAMlR,MAAM8b,EAAE,MAAMkM,GAAGrmB,EAAEmoE,GAAGnoE,EAAEC,EAAE2nE,IAAIr4D,EAAE84D,0CAA0CroE,EAAEymD,GAAEU,IAAGV,GAAES,IAAGR,GAAEQ,GAAElnD,IAAIymD,GAAEU,IAAGT,GAAES,GAAE9gC,GAC7e,IAAIkiD,GAAG,KAAKC,GAAG,KAAKC,GAAGljB,EAAEuP,yBAAyB4T,GAAGnjB,EAAEgQ,0BAA0BoT,GAAGpjB,EAAEqjB,wBAAwBC,GAAGtjB,EAAEujB,qBAAqBC,GAAGxjB,EAAEyjB,sBAAsBC,GAAG1jB,EAAEqR,aAAasS,GAAG3jB,EAAE4jB,iCAAiCC,GAAG7jB,EAAE8jB,2BAA2BC,GAAG/jB,EAAE2S,8BAA8BqR,GAAGhkB,EAAEiQ,wBAAwBgU,GAAGjkB,EAAEkkB,qBAAqBC,GAAGnkB,EAAEokB,sBAAsBC,GAAG,GAAGC,QAAG,IAASd,GAAGA,GAAG,aAAae,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAGC,GAAGhB,KAAK5hB,GAAE,IAAI4iB,GAAGhB,GAAG,WAAW,OAAOA,KAAKgB,IACtd,SAASC,KAAK,OAAOhB,MAAM,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,QAAQ,MAAMrrE,MAAM8b,EAAE,OAAQ,SAASgwD,GAAGnqE,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAOopE,GAAG,KAAK,GAAG,OAAOE,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOE,GAAG,QAAQ,MAAMrrE,MAAM8b,EAAE,OAAQ,SAASiwD,GAAGpqE,EAAEC,GAAW,OAARD,EAAEmqE,GAAGnqE,GAAUyoE,GAAGzoE,EAAEC,GAAG,SAASoqE,GAAGrqE,EAAEC,EAAEomB,GAAW,OAARrmB,EAAEmqE,GAAGnqE,GAAU0oE,GAAG1oE,EAAEC,EAAEomB,GAAG,SAASikD,KAAK,GAAG,OAAOP,GAAG,CAAC,IAAI/pE,EAAE+pE,GAAGA,GAAG,KAAKpB,GAAG3oE,GAAGuqE,KAC3a,SAASA,KAAK,IAAIP,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAIhqE,EAAE,EAAE,IAAI,IAAIC,EAAE6pE,GAAGM,GAAG,IAAG,WAAW,KAAKpqE,EAAEC,EAAEpM,OAAOmM,IAAI,CAAC,IAAIqmB,EAAEpmB,EAAED,GAAG,GAAGqmB,EAAEA,GAAE,SAAU,OAAOA,OAAMyjD,GAAG,KAAK,MAAMzjD,GAAG,MAAM,OAAOyjD,KAAKA,GAAGA,GAAGnpE,MAAMX,EAAE,IAAI0oE,GAAGU,GAAGkB,IAAIjkD,EAA3J,QAAsK2jD,IAAG,IAAK,IAAIQ,GAAGzf,EAAGhD,wBAAwB,SAAS0iB,GAAGzqE,EAAEC,GAAG,GAAGD,GAAGA,EAAE4Q,aAAa,CAA4B,IAAI,IAAIyV,KAAnCpmB,EAAE2iD,EAAE,GAAG3iD,GAAGD,EAAEA,EAAE4Q,kBAA4B,IAAS3Q,EAAEomB,KAAKpmB,EAAEomB,GAAGrmB,EAAEqmB,IAAI,OAAOpmB,EAAE,OAAOA,EAAE,IAAIyqE,GAAGhD,GAAG,MAAMiD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,KAC5b,SAASI,GAAG/qE,GAAG,IAAIC,EAAEyqE,GAAGtgE,QAAQq8C,GAAEikB,IAAI1qE,EAAEmS,KAAKu2C,SAASH,cAActoD,EAAE,SAAS+qE,GAAGhrE,EAAEC,GAAG,KAAK,OAAOD,GAAG,CAAC,IAAIqmB,EAAErmB,EAAE2yD,UAAU,IAAI3yD,EAAEirE,WAAWhrE,KAAKA,EAAtB,CAAwB,GAAG,OAAOomB,IAAIA,EAAE4kD,WAAWhrE,KAAKA,EAAE,MAAWomB,EAAE4kD,YAAYhrE,OAAOD,EAAEirE,YAAYhrE,EAAE,OAAOomB,IAAIA,EAAE4kD,YAAYhrE,GAAGD,EAAEA,EAAE8X,QAAQ,SAASozD,GAAGlrE,EAAEC,GAAG0qE,GAAG3qE,EAAE6qE,GAAGD,GAAG,KAAsB,QAAjB5qE,EAAEA,EAAEmrE,eAAuB,OAAOnrE,EAAEorE,eAAe,KAAKprE,EAAEqrE,MAAMprE,KAAKqrE,IAAG,GAAItrE,EAAEorE,aAAa,MACvY,SAASG,GAAGvrE,EAAEC,GAAG,GAAG4qE,KAAK7qE,IAAG,IAAKC,GAAG,IAAIA,EAAmG,GAA7F,kBAAkBA,GAAG,aAAaA,IAAE4qE,GAAG7qE,EAAEC,EAAE,YAAWA,EAAE,CAAC3I,QAAQ0I,EAAEmiD,aAAaliD,EAAE/K,KAAK,MAAS,OAAO01E,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAMtsE,MAAM8b,EAAE,MAAMywD,GAAG3qE,EAAE0qE,GAAGQ,aAAa,CAACE,MAAM,EAAED,aAAanrE,EAAEurE,WAAW,WAAWZ,GAAGA,GAAG11E,KAAK+K,EAAE,OAAOD,EAAEuoD,cAAc,IAAIkjB,IAAG,EAAG,SAASC,GAAG1rE,GAAGA,EAAE2rE,YAAY,CAACC,UAAU5rE,EAAE6yD,cAAcgZ,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACC,QAAQ,MAAMC,QAAQ,MAC1a,SAASC,GAAGlsE,EAAEC,GAAGD,EAAEA,EAAE2rE,YAAY1rE,EAAE0rE,cAAc3rE,IAAIC,EAAE0rE,YAAY,CAACC,UAAU5rE,EAAE4rE,UAAUC,gBAAgB7rE,EAAE6rE,gBAAgBC,eAAe9rE,EAAE8rE,eAAeC,OAAO/rE,EAAE+rE,OAAOE,QAAQjsE,EAAEisE,UAAU,SAASE,GAAGnsE,EAAEC,GAAG,MAAM,CAACmsE,UAAUpsE,EAAEqsE,KAAKpsE,EAAEmU,IAAI,EAAEk4D,QAAQ,KAAKzqE,SAAS,KAAK3M,KAAK,MAAM,SAASq3E,GAAGvsE,EAAEC,GAAmB,GAAG,QAAnBD,EAAEA,EAAE2rE,aAAwB,CAAY,IAAItlD,GAAfrmB,EAAEA,EAAE+rE,QAAeC,QAAQ,OAAO3lD,EAAEpmB,EAAE/K,KAAK+K,GAAGA,EAAE/K,KAAKmxB,EAAEnxB,KAAKmxB,EAAEnxB,KAAK+K,GAAGD,EAAEgsE,QAAQ/rE,GACrZ,SAASusE,GAAGxsE,EAAEC,GAAG,IAAIomB,EAAErmB,EAAE2rE,YAAYp8D,EAAEvP,EAAE2yD,UAAU,GAAG,OAAOpjD,GAAoB8W,KAAhB9W,EAAEA,EAAEo8D,aAAmB,CAAC,IAAIzqE,EAAE,KAAKwrC,EAAE,KAAyB,GAAG,QAAvBrmB,EAAEA,EAAEwlD,iBAA4B,CAAC,EAAE,CAAC,IAAI/kB,EAAE,CAACslB,UAAU/lD,EAAE+lD,UAAUC,KAAKhmD,EAAEgmD,KAAKj4D,IAAIiS,EAAEjS,IAAIk4D,QAAQjmD,EAAEimD,QAAQzqE,SAASwkB,EAAExkB,SAAS3M,KAAK,MAAM,OAAOw3C,EAAExrC,EAAEwrC,EAAEoa,EAAEpa,EAAEA,EAAEx3C,KAAK4xD,EAAEzgC,EAAEA,EAAEnxB,WAAW,OAAOmxB,GAAG,OAAOqmB,EAAExrC,EAAEwrC,EAAEzsC,EAAEysC,EAAEA,EAAEx3C,KAAK+K,OAAOiB,EAAEwrC,EAAEzsC,EAAiH,OAA/GomB,EAAE,CAACulD,UAAUr8D,EAAEq8D,UAAUC,gBAAgB3qE,EAAE4qE,eAAep/B,EAAEq/B,OAAOx8D,EAAEw8D,OAAOE,QAAQ18D,EAAE08D,cAASjsE,EAAE2rE,YAAYtlD,GAA4B,QAAnBrmB,EAAEqmB,EAAEylD,gBAAwBzlD,EAAEwlD,gBAAgB5rE,EAAED,EAAE9K,KACnf+K,EAAEomB,EAAEylD,eAAe7rE,EACnB,SAASwsE,GAAGzsE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAElB,EAAE2rE,YAAYF,IAAG,EAAG,IAAI/+B,EAAExrC,EAAE2qE,gBAAgB/kB,EAAE5lD,EAAE4qE,eAAe9uD,EAAE9b,EAAE6qE,OAAOC,QAAQ,GAAG,OAAOhvD,EAAE,CAAC9b,EAAE6qE,OAAOC,QAAQ,KAAK,IAAIrtE,EAAEqe,EAAEmoC,EAAExmD,EAAEzJ,KAAKyJ,EAAEzJ,KAAK,KAAK,OAAO4xD,EAAEpa,EAAEyY,EAAE2B,EAAE5xD,KAAKiwD,EAAE2B,EAAEnoD,EAAE,IAAIC,EAAEoB,EAAE2yD,UAAU,GAAG,OAAO/zD,EAAE,CAAiB,IAAIgnD,GAApBhnD,EAAEA,EAAE+sE,aAAoBG,eAAelmB,IAAIkB,IAAI,OAAOlB,EAAEhnD,EAAEitE,gBAAgB1mB,EAAES,EAAE1wD,KAAKiwD,EAAEvmD,EAAEktE,eAAentE,IAAI,GAAG,OAAO+tC,EAAE,CAA8B,IAA7BkZ,EAAE1kD,EAAE0qE,UAAU9kB,EAAE,EAAEloD,EAAEumD,EAAExmD,EAAE,OAAO,CAACqe,EAAE0vB,EAAE2/B,KAAK,IAAIv4D,EAAE44B,EAAE0/B,UAAU,IAAI78D,EAAEyN,KAAKA,EAAE,CAAC,OAAOpe,IAAIA,EAAEA,EAAE1J,KAAK,CAACk3E,UAAUt4D,EAAEu4D,KAAK,EAAEj4D,IAAIs4B,EAAEt4B,IAAIk4D,QAAQ5/B,EAAE4/B,QAAQzqE,SAAS6qC,EAAE7qC,SACrf3M,KAAK,OAAO8K,EAAE,CAAC,IAAIzJ,EAAEyJ,EAAEka,EAAEwyB,EAAU,OAAR1vB,EAAE/c,EAAE6T,EAAEuS,EAASnM,EAAE9F,KAAK,KAAK,EAAc,GAAG,oBAAf7d,EAAE2jB,EAAEoyD,SAAiC,CAAC1mB,EAAErvD,EAAErC,KAAK4f,EAAE8xC,EAAE5oC,GAAG,MAAMhd,EAAE4lD,EAAErvD,EAAE,MAAMyJ,EAAE,KAAK,EAAEzJ,EAAEitD,OAAe,KAATjtD,EAAEitD,MAAY,GAAG,KAAK,EAAsD,GAAG,QAA3CxmC,EAAE,oBAAdzmB,EAAE2jB,EAAEoyD,SAAgC/1E,EAAErC,KAAK4f,EAAE8xC,EAAE5oC,GAAGzmB,SAAe,IAASymB,EAAE,MAAMhd,EAAE4lD,EAAEhD,EAAE,GAAGgD,EAAE5oC,GAAG,MAAMhd,EAAE,KAAK,EAAEyrE,IAAG,GAAI,OAAO/+B,EAAE7qC,WAAW7B,EAAEwjD,OAAO,GAAe,QAAZxmC,EAAE9b,EAAE+qE,SAAiB/qE,EAAE+qE,QAAQ,CAACv/B,GAAG1vB,EAAE5nB,KAAKs3C,SAAS54B,EAAE,CAACs4D,UAAUt4D,EAAEu4D,KAAKrvD,EAAE5I,IAAIs4B,EAAEt4B,IAAIk4D,QAAQ5/B,EAAE4/B,QAAQzqE,SAAS6qC,EAAE7qC,SAAS3M,KAAK,MAAM,OAAO0J,GAAGumD,EAAEvmD,EAAEkV,EAAEnV,EAAEinD,GAAGhnD,EAAEA,EAAE1J,KAAK4e,EAAEgzC,GAAG9pC,EAAW,GAAG,QAAZ0vB,EAAEA,EAAEx3C,MAC1e,IAAsB,QAAnB8nB,EAAE9b,EAAE6qE,OAAOC,SAAiB,MAAWt/B,EAAE1vB,EAAE9nB,KAAK8nB,EAAE9nB,KAAK,KAAKgM,EAAE4qE,eAAe9uD,EAAE9b,EAAE6qE,OAAOC,QAAQ,MAAc,OAAOptE,IAAID,EAAEinD,GAAG1kD,EAAE0qE,UAAUjtE,EAAEuC,EAAE2qE,gBAAgB1mB,EAAEjkD,EAAE4qE,eAAeltE,EAAE8tE,IAAI5lB,EAAE9mD,EAAEqrE,MAAMvkB,EAAE9mD,EAAE6yD,cAAcjN,GAAG,SAAS+mB,GAAG3sE,EAAEC,EAAEomB,GAA8B,GAA3BrmB,EAAEC,EAAEgsE,QAAQhsE,EAAEgsE,QAAQ,KAAQ,OAAOjsE,EAAE,IAAIC,EAAE,EAAEA,EAAED,EAAEnM,OAAOoM,IAAI,CAAC,IAAIsP,EAAEvP,EAAEC,GAAGiB,EAAEqO,EAAE1N,SAAS,GAAG,OAAOX,EAAE,CAAqB,GAApBqO,EAAE1N,SAAS,KAAK0N,EAAE8W,EAAK,oBAAoBnlB,EAAE,MAAM7C,MAAM8b,EAAE,IAAIjZ,IAAIA,EAAEhN,KAAKqb,KAAK,IAAIq9D,IAAI,IAAItjB,EAAG5zD,WAAWu5C,KAC3b,SAAS49B,GAAG7sE,EAAEC,EAAEomB,EAAE9W,GAA8B8W,EAAE,QAAXA,EAAEA,EAAE9W,EAAtBtP,EAAED,EAAE6yD,sBAAmC,IAASxsC,EAAEpmB,EAAE2iD,EAAE,GAAG3iD,EAAEomB,GAAGrmB,EAAE6yD,cAAcxsC,EAAE,IAAIrmB,EAAEqrE,QAAQrrE,EAAE2rE,YAAYC,UAAUvlD,GAC3I,IAAIymD,GAAG,CAACjnB,UAAU,SAAS7lD,GAAG,SAAOA,EAAEA,EAAE+sE,kBAAiBra,GAAG1yD,KAAKA,GAAMgmD,gBAAgB,SAAShmD,EAAEC,EAAEomB,GAAGrmB,EAAEA,EAAE+sE,gBAAgB,IAAIx9D,EAAEy9D,KAAK9rE,EAAE+rE,GAAGjtE,GAAG0sC,EAAEy/B,GAAG58D,EAAErO,GAAGwrC,EAAE4/B,QAAQrsE,OAAE,IAASomB,GAAG,OAAOA,IAAIqmB,EAAE7qC,SAASwkB,GAAGkmD,GAAGvsE,EAAE0sC,GAAGwgC,GAAGltE,EAAEkB,EAAEqO,IAAIw2C,oBAAoB,SAAS/lD,EAAEC,EAAEomB,GAAGrmB,EAAEA,EAAE+sE,gBAAgB,IAAIx9D,EAAEy9D,KAAK9rE,EAAE+rE,GAAGjtE,GAAG0sC,EAAEy/B,GAAG58D,EAAErO,GAAGwrC,EAAEt4B,IAAI,EAAEs4B,EAAE4/B,QAAQrsE,OAAE,IAASomB,GAAG,OAAOA,IAAIqmB,EAAE7qC,SAASwkB,GAAGkmD,GAAGvsE,EAAE0sC,GAAGwgC,GAAGltE,EAAEkB,EAAEqO,IAAIu2C,mBAAmB,SAAS9lD,EAAEC,GAAGD,EAAEA,EAAE+sE,gBAAgB,IAAI1mD,EAAE2mD,KAAKz9D,EAAE09D,GAAGjtE,GAAGkB,EAAEirE,GAAG9lD,EAAE9W,GAAGrO,EAAEkT,IAAI,OAAE,IAASnU,GAAG,OAAOA,IAAIiB,EAAEW,SACjf5B,GAAGssE,GAAGvsE,EAAEkB,GAAGgsE,GAAGltE,EAAEuP,EAAE8W,KAAK,SAAS8mD,GAAGntE,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,EAAEoa,GAAiB,MAAM,oBAApB9mD,EAAEA,EAAEoxD,WAAsCgc,sBAAsBptE,EAAEotE,sBAAsB79D,EAAEm9B,EAAEoa,IAAG7mD,EAAEjM,YAAWiM,EAAEjM,UAAUuyD,wBAAsBqd,GAAGv9C,EAAE9W,KAAKq0D,GAAG1iE,EAAEwrC,IAC/M,SAAS2gC,GAAGrtE,EAAEC,EAAEomB,GAAG,IAAI9W,GAAE,EAAGrO,EAAEymE,GAAOj7B,EAAEzsC,EAAE2R,YAA2W,MAA/V,kBAAkB86B,GAAG,OAAOA,EAAEA,EAAE6+B,GAAG7+B,IAAIxrC,EAAE8mE,GAAG/nE,GAAG2nE,GAAG1gB,GAAE98C,QAAyBsiC,GAAGn9B,EAAE,QAAtBA,EAAEtP,EAAE4R,oBAA4B,IAAStC,GAAGs4D,GAAG7nE,EAAEkB,GAAGymE,IAAI1nE,EAAE,IAAIA,EAAEomB,EAAEqmB,GAAG1sC,EAAE6yD,cAAc,OAAO5yD,EAAErG,YAAO,IAASqG,EAAErG,MAAMqG,EAAErG,MAAM,KAAKqG,EAAEimD,QAAQ4mB,GAAG9sE,EAAEoxD,UAAUnxD,EAAEA,EAAE8sE,gBAAgB/sE,EAAEuP,KAAIvP,EAAEA,EAAEoxD,WAAY0W,4CAA4C5mE,EAAElB,EAAE+nE,0CAA0Cr7B,GAAUzsC,EAC3Z,SAASqtE,GAAGttE,EAAEC,EAAEomB,EAAE9W,GAAGvP,EAAEC,EAAErG,MAAM,oBAAoBqG,EAAE4hD,2BAA2B5hD,EAAE4hD,0BAA0Bx7B,EAAE9W,GAAG,oBAAoBtP,EAAEstE,kCAAkCttE,EAAEstE,iCAAiClnD,EAAE9W,GAAGtP,EAAErG,QAAQoG,GAAG8sE,GAAG/mB,oBAAoB9lD,EAAEA,EAAErG,MAAM,MAC/P,SAAS4zE,GAAGxtE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAElB,EAAEoxD,UAAUlwD,EAAElL,MAAMqwB,EAAEnlB,EAAEtH,MAAMoG,EAAE6yD,cAAc3xD,EAAE+tC,KAAK29B,GAAGlB,GAAG1rE,GAAG,IAAI0sC,EAAEzsC,EAAE2R,YAAY,kBAAkB86B,GAAG,OAAOA,EAAExrC,EAAE5J,QAAQi0E,GAAG7+B,IAAIA,EAAEs7B,GAAG/nE,GAAG2nE,GAAG1gB,GAAE98C,QAAQlJ,EAAE5J,QAAQuwE,GAAG7nE,EAAE0sC,IAAI+/B,GAAGzsE,EAAEqmB,EAAEnlB,EAAEqO,GAAGrO,EAAEtH,MAAMoG,EAAE6yD,cAA2C,oBAA7BnmB,EAAEzsC,EAAEgS,4BAAiD46D,GAAG7sE,EAAEC,EAAEysC,EAAErmB,GAAGnlB,EAAEtH,MAAMoG,EAAE6yD,eAAe,oBAAoB5yD,EAAEgS,0BAA0B,oBAAoB/Q,EAAEusE,yBAAyB,oBAAoBvsE,EAAEwsE,2BAA2B,oBAAoBxsE,EAAEysE,qBACve1tE,EAAEiB,EAAEtH,MAAM,oBAAoBsH,EAAEysE,oBAAoBzsE,EAAEysE,qBAAqB,oBAAoBzsE,EAAEwsE,2BAA2BxsE,EAAEwsE,4BAA4BztE,IAAIiB,EAAEtH,OAAOkzE,GAAG/mB,oBAAoB7kD,EAAEA,EAAEtH,MAAM,MAAM6yE,GAAGzsE,EAAEqmB,EAAEnlB,EAAEqO,GAAGrO,EAAEtH,MAAMoG,EAAE6yD,eAAe,oBAAoB3xD,EAAE1H,oBAAoBwG,EAAEwjD,OAAO,GAAG,IAAIoqB,GAAGr5E,MAAMC,QACvT,SAASq5E,GAAG7tE,EAAEC,EAAEomB,GAAW,GAAG,QAAXrmB,EAAEqmB,EAAEnc,MAAiB,oBAAoBlK,GAAG,kBAAkBA,EAAE,CAAC,GAAGqmB,EAAE2gC,OAAO,CAAY,GAAX3gC,EAAEA,EAAE2gC,OAAY,CAAC,GAAG,IAAI3gC,EAAEjS,IAAI,MAAM/V,MAAM8b,EAAE,MAAM,IAAI5K,EAAE8W,EAAE+qC,UAAU,IAAI7hD,EAAE,MAAMlR,MAAM8b,EAAE,IAAIna,IAAI,IAAIkB,EAAE,GAAGlB,EAAE,OAAG,OAAOC,GAAG,OAAOA,EAAEiK,KAAK,oBAAoBjK,EAAEiK,KAAKjK,EAAEiK,IAAI4jE,aAAa5sE,EAASjB,EAAEiK,MAAIjK,EAAE,SAASD,GAAG,IAAIC,EAAEsP,EAAE0/B,KAAKhvC,IAAI2sE,KAAK3sE,EAAEsP,EAAE0/B,KAAK,IAAI,OAAOjvC,SAASC,EAAEiB,GAAGjB,EAAEiB,GAAGlB,IAAK8tE,WAAW5sE,EAASjB,GAAE,GAAG,kBAAkBD,EAAE,MAAM3B,MAAM8b,EAAE,MAAM,IAAIkM,EAAE2gC,OAAO,MAAM3oD,MAAM8b,EAAE,IAAIna,IAAK,OAAOA,EAChe,SAAS+tE,GAAG/tE,EAAEC,GAAG,GAAG,aAAaD,EAAEmS,KAAK,MAAM9T,MAAM8b,EAAE,GAAG,oBAAoB3mB,OAAOQ,UAAUiQ,SAAS/P,KAAK+L,GAAG,qBAAqBzM,OAAO8G,KAAK2F,GAAGN,KAAK,MAAM,IAAIM,IAClK,SAAS+tE,GAAGhuE,GAAG,SAASC,EAAEA,EAAEomB,GAAG,GAAGrmB,EAAE,CAAC,IAAIuP,EAAEtP,EAAEguE,WAAW,OAAO1+D,GAAGA,EAAE2+D,WAAW7nD,EAAEpmB,EAAEguE,WAAW5nD,GAAGpmB,EAAEkuE,YAAYluE,EAAEguE,WAAW5nD,EAAEA,EAAE6nD,WAAW,KAAK7nD,EAAEm9B,MAAM,GAAG,SAASn9B,EAAEA,EAAE9W,GAAG,IAAIvP,EAAE,OAAO,KAAK,KAAK,OAAOuP,GAAGtP,EAAEomB,EAAE9W,GAAGA,EAAEA,EAAE0jD,QAAQ,OAAO,KAAK,SAAS1jD,EAAEvP,EAAEC,GAAG,IAAID,EAAE,IAAI8zD,IAAI,OAAO7zD,GAAG,OAAOA,EAAElM,IAAIiM,EAAE0L,IAAIzL,EAAElM,IAAIkM,GAAGD,EAAE0L,IAAIzL,EAAEvB,MAAMuB,GAAGA,EAAEA,EAAEgzD,QAAQ,OAAOjzD,EAAE,SAASkB,EAAElB,EAAEC,GAAsC,OAAnCD,EAAEouE,GAAGpuE,EAAEC,IAAKvB,MAAM,EAAEsB,EAAEizD,QAAQ,KAAYjzD,EAAE,SAAS0sC,EAAEzsC,EAAEomB,EAAE9W,GAAa,OAAVtP,EAAEvB,MAAM6Q,EAAMvP,EAA4B,QAAjBuP,EAAEtP,EAAE0yD,YAA6BpjD,EAAEA,EAAE7Q,OAAQ2nB,GAAGpmB,EAAEujD,MAAM,EACpfn9B,GAAG9W,GAAEtP,EAAEujD,MAAM,EAASn9B,GADoaA,EACla,SAASygC,EAAE7mD,GAAsC,OAAnCD,GAAG,OAAOC,EAAE0yD,YAAY1yD,EAAEujD,MAAM,GAAUvjD,EAAE,SAAS+c,EAAEhd,EAAEC,EAAEomB,EAAE9W,GAAG,OAAG,OAAOtP,GAAG,IAAIA,EAAEmU,MAAWnU,EAAEouE,GAAGhoD,EAAErmB,EAAEi1C,KAAK1lC,IAAKuI,OAAO9X,EAAEC,KAAEA,EAAEiB,EAAEjB,EAAEomB,IAAKvO,OAAO9X,EAASC,GAAE,SAAStB,EAAEqB,EAAEC,EAAEomB,EAAE9W,GAAG,OAAG,OAAOtP,GAAGA,EAAEquE,cAAcjoD,EAAElU,OAAY5C,EAAErO,EAAEjB,EAAEomB,EAAErwB,QAASkU,IAAI2jE,GAAG7tE,EAAEC,EAAEomB,GAAG9W,EAAEuI,OAAO9X,EAAEuP,KAAEA,EAAEg/D,GAAGloD,EAAElU,KAAKkU,EAAEtyB,IAAIsyB,EAAErwB,MAAM,KAAKgK,EAAEi1C,KAAK1lC,IAAKrF,IAAI2jE,GAAG7tE,EAAEC,EAAEomB,GAAG9W,EAAEuI,OAAO9X,EAASuP,GAAE,SAAS41C,EAAEnlD,EAAEC,EAAEomB,EAAE9W,GAAG,OAAG,OAAOtP,GAAG,IAAIA,EAAEmU,KAAKnU,EAAEmxD,UAAU4D,gBAAgB3uC,EAAE2uC,eAAe/0D,EAAEmxD,UAAUod,iBAAiBnoD,EAAEmoD,iBAAsBvuE,EACrgBwuE,GAAGpoD,EAAErmB,EAAEi1C,KAAK1lC,IAAKuI,OAAO9X,EAAEC,KAAEA,EAAEiB,EAAEjB,EAAEomB,EAAEtwB,UAAU,KAAM+hB,OAAO9X,EAASC,GAAE,SAASrB,EAAEoB,EAAEC,EAAEomB,EAAE9W,EAAEm9B,GAAG,OAAG,OAAOzsC,GAAG,IAAIA,EAAEmU,MAAWnU,EAAEyuE,GAAGroD,EAAErmB,EAAEi1C,KAAK1lC,EAAEm9B,IAAK50B,OAAO9X,EAAEC,KAAEA,EAAEiB,EAAEjB,EAAEomB,IAAKvO,OAAO9X,EAASC,GAAE,SAAS2lD,EAAE5lD,EAAEC,EAAEomB,GAAG,GAAG,kBAAkBpmB,GAAG,kBAAkBA,EAAE,OAAOA,EAAEouE,GAAG,GAAGpuE,EAAED,EAAEi1C,KAAK5uB,IAAKvO,OAAO9X,EAAEC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE8mD,UAAU,KAAKiE,EAAG,OAAO3kC,EAAEkoD,GAAGtuE,EAAEkS,KAAKlS,EAAElM,IAAIkM,EAAEjK,MAAM,KAAKgK,EAAEi1C,KAAK5uB,IAAKnc,IAAI2jE,GAAG7tE,EAAE,KAAKC,GAAGomB,EAAEvO,OAAO9X,EAAEqmB,EAAE,KAAK4kC,EAAG,OAAOhrD,EAAEwuE,GAAGxuE,EAAED,EAAEi1C,KAAK5uB,IAAKvO,OAAO9X,EAAEC,EAAE,GAAG2tE,GAAG3tE,IAAIisD,EAAGjsD,GAAG,OAAOA,EAAEyuE,GAAGzuE,EACnfD,EAAEi1C,KAAK5uB,EAAE,OAAQvO,OAAO9X,EAAEC,EAAE8tE,GAAG/tE,EAAEC,GAAG,OAAO,KAAK,SAAS6T,EAAE9T,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAE,OAAOjB,EAAEA,EAAElM,IAAI,KAAK,GAAG,kBAAkBsyB,GAAG,kBAAkBA,EAAE,OAAO,OAAOnlB,EAAE,KAAK8b,EAAEhd,EAAEC,EAAE,GAAGomB,EAAE9W,GAAG,GAAG,kBAAkB8W,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE0gC,UAAU,KAAKiE,EAAG,OAAO3kC,EAAEtyB,MAAMmN,EAAEmlB,EAAElU,OAAOpP,EAAGnE,EAAEoB,EAAEC,EAAEomB,EAAErwB,MAAMD,SAASwZ,EAAErO,GAAGvC,EAAEqB,EAAEC,EAAEomB,EAAE9W,GAAG,KAAK,KAAK07C,EAAG,OAAO5kC,EAAEtyB,MAAMmN,EAAEikD,EAAEnlD,EAAEC,EAAEomB,EAAE9W,GAAG,KAAK,GAAGq+D,GAAGvnD,IAAI6lC,EAAG7lC,GAAG,OAAO,OAAOnlB,EAAE,KAAKtC,EAAEoB,EAAEC,EAAEomB,EAAE9W,EAAE,MAAMw+D,GAAG/tE,EAAEqmB,GAAG,OAAO,KAAK,SAAS9vB,EAAEyJ,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,GAAG,kBAAkBqO,GAAG,kBAAkBA,EAAE,OACleyN,EAAE/c,EADueD,EAAEA,EAAEgb,IAAIqL,IACtf,KAAW,GAAG9W,EAAErO,GAAG,GAAG,kBAAkBqO,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEw3C,UAAU,KAAKiE,EAAG,OAAOhrD,EAAEA,EAAEgb,IAAI,OAAOzL,EAAExb,IAAIsyB,EAAE9W,EAAExb,MAAM,KAAKwb,EAAE4C,OAAOpP,EAAGnE,EAAEqB,EAAED,EAAEuP,EAAEvZ,MAAMD,SAASmL,EAAEqO,EAAExb,KAAK4K,EAAEsB,EAAED,EAAEuP,EAAErO,GAAG,KAAK+pD,EAAG,OAA2C9F,EAAEllD,EAAtCD,EAAEA,EAAEgb,IAAI,OAAOzL,EAAExb,IAAIsyB,EAAE9W,EAAExb,MAAM,KAAWwb,EAAErO,GAAG,GAAG0sE,GAAGr+D,IAAI28C,EAAG38C,GAAG,OAAwB3Q,EAAEqB,EAAnBD,EAAEA,EAAEgb,IAAIqL,IAAI,KAAW9W,EAAErO,EAAE,MAAM6sE,GAAG9tE,EAAEsP,GAAG,OAAO,KAAK,SAAS2K,EAAEhZ,EAAE4lD,EAAE9pC,EAAEre,GAAG,IAAI,IAAIwmD,EAAE,KAAK/+B,EAAE,KAAKq/B,EAAEqB,EAAE1sC,EAAE0sC,EAAE,EAAExB,EAAE,KAAK,OAAOG,GAAGrrC,EAAE4C,EAAEnpB,OAAOumB,IAAI,CAACqrC,EAAE/mD,MAAM0b,GAAGkrC,EAAEG,EAAEA,EAAE,MAAMH,EAAEG,EAAEwN,QAAQ,IAAIr0D,EAAEkV,EAAE5S,EAAEukD,EAAEzoC,EAAE5C,GAAGzb,GAAG,GAAG,OAAOC,EAAE,CAAC,OAAO6mD,IAAIA,EAAEH,GAAG,MAAMtlD,GAAGylD,GAAG,OACjf7mD,EAAE+zD,WAAW1yD,EAAEiB,EAAEukD,GAAGqB,EAAEpa,EAAE9tC,EAAEkoD,EAAE1sC,GAAG,OAAOgM,EAAE++B,EAAEvmD,EAAEwnB,EAAE6sC,QAAQr0D,EAAEwnB,EAAExnB,EAAE6mD,EAAEH,EAAE,GAAGlrC,IAAI4C,EAAEnpB,OAAO,OAAOwyB,EAAEnlB,EAAEukD,GAAGN,EAAE,GAAG,OAAOM,EAAE,CAAC,KAAKrrC,EAAE4C,EAAEnpB,OAAOumB,IAAkB,QAAdqrC,EAAEG,EAAE1kD,EAAE8b,EAAE5C,GAAGzb,MAAcmoD,EAAEpa,EAAE+Y,EAAEqB,EAAE1sC,GAAG,OAAOgM,EAAE++B,EAAEM,EAAEr/B,EAAE6sC,QAAQxN,EAAEr/B,EAAEq/B,GAAG,OAAON,EAAE,IAAIM,EAAEl2C,EAAErO,EAAEukD,GAAGrrC,EAAE4C,EAAEnpB,OAAOumB,IAAsB,QAAlBkrC,EAAE/uD,EAAEkvD,EAAEvkD,EAAEkZ,EAAE4C,EAAE5C,GAAGzb,MAAcqB,GAAG,OAAOslD,EAAEqN,WAAWlN,EAAE1J,OAAO,OAAOuJ,EAAEvxD,IAAIqmB,EAAEkrC,EAAEvxD,KAAK+yD,EAAEpa,EAAE4Y,EAAEwB,EAAE1sC,GAAG,OAAOgM,EAAE++B,EAAEG,EAAEl/B,EAAE6sC,QAAQ3N,EAAEl/B,EAAEk/B,GAA4C,OAAzCtlD,GAAGylD,EAAE/oD,SAAQ,SAASsD,GAAG,OAAOC,EAAEiB,EAAElB,MAAYmlD,EAAE,SAASj+B,EAAEhmB,EAAE4lD,EAAE9pC,EAAEre,GAAG,IAAIwmD,EAAE+G,EAAGlvC,GAAG,GAAG,oBAAoBmoC,EAAE,MAAM9mD,MAAM8b,EAAE,MAAkB,GAAG,OAAf6C,EAAEmoC,EAAEjxD,KAAK8oB,IAC1e,MAAM3e,MAAM8b,EAAE,MAAM,IAAI,IAAIiM,EAAE++B,EAAE,KAAKM,EAAEqB,EAAE1sC,EAAE0sC,EAAE,EAAExB,EAAE,KAAK1mD,EAAEoe,EAAE9nB,OAAO,OAAOuwD,IAAI7mD,EAAEzJ,KAAKilB,IAAIxb,EAAEoe,EAAE9nB,OAAO,CAACuwD,EAAE/mD,MAAM0b,GAAGkrC,EAAEG,EAAEA,EAAE,MAAMH,EAAEG,EAAEwN,QAAQ,IAAI/rC,EAAEpT,EAAE5S,EAAEukD,EAAE7mD,EAAEvJ,MAAMsJ,GAAG,GAAG,OAAOuoB,EAAE,CAAC,OAAOu+B,IAAIA,EAAEH,GAAG,MAAMtlD,GAAGylD,GAAG,OAAOv+B,EAAEyrC,WAAW1yD,EAAEiB,EAAEukD,GAAGqB,EAAEpa,EAAExlB,EAAE4/B,EAAE1sC,GAAG,OAAOgM,EAAE++B,EAAEj+B,EAAEd,EAAE6sC,QAAQ/rC,EAAEd,EAAEc,EAAEu+B,EAAEH,EAAE,GAAG1mD,EAAEzJ,KAAK,OAAOkxB,EAAEnlB,EAAEukD,GAAGN,EAAE,GAAG,OAAOM,EAAE,CAAC,MAAM7mD,EAAEzJ,KAAKilB,IAAIxb,EAAEoe,EAAE9nB,OAAwB,QAAjB0J,EAAEgnD,EAAE1kD,EAAEtC,EAAEvJ,MAAMsJ,MAAcmoD,EAAEpa,EAAE9tC,EAAEkoD,EAAE1sC,GAAG,OAAOgM,EAAE++B,EAAEvmD,EAAEwnB,EAAE6sC,QAAQr0D,EAAEwnB,EAAExnB,GAAG,OAAOumD,EAAE,IAAIM,EAAEl2C,EAAErO,EAAEukD,IAAI7mD,EAAEzJ,KAAKilB,IAAIxb,EAAEoe,EAAE9nB,OAA4B,QAArB0J,EAAErI,EAAEkvD,EAAEvkD,EAAEkZ,EAAExb,EAAEvJ,MAAMsJ,MAAcqB,GAAG,OAAOpB,EAAE+zD,WAChflN,EAAE1J,OAAO,OAAOn9C,EAAE7K,IAAIqmB,EAAExb,EAAE7K,KAAK+yD,EAAEpa,EAAE9tC,EAAEkoD,EAAE1sC,GAAG,OAAOgM,EAAE++B,EAAEvmD,EAAEwnB,EAAE6sC,QAAQr0D,EAAEwnB,EAAExnB,GAA4C,OAAzCoB,GAAGylD,EAAE/oD,SAAQ,SAASsD,GAAG,OAAOC,EAAEiB,EAAElB,MAAYmlD,EAAE,OAAO,SAASnlD,EAAEuP,EAAEm9B,EAAE1vB,GAAG,IAAIre,EAAE,kBAAkB+tC,GAAG,OAAOA,GAAGA,EAAEv6B,OAAOpP,GAAI,OAAO2pC,EAAE34C,IAAI4K,IAAI+tC,EAAEA,EAAE12C,MAAMD,UAAU,IAAIovD,EAAE,kBAAkBzY,GAAG,OAAOA,EAAE,GAAGyY,EAAE,OAAOzY,EAAEqa,UAAU,KAAKiE,EAAGhrD,EAAE,CAAS,IAARmlD,EAAEzY,EAAE34C,IAAQ4K,EAAE4Q,EAAE,OAAO5Q,GAAG,CAAC,GAAGA,EAAE5K,MAAMoxD,EAAE,CAAC,OAAOxmD,EAAEyV,KAAK,KAAK,EAAE,GAAGs4B,EAAEv6B,OAAOpP,EAAG,CAACsjB,EAAErmB,EAAErB,EAAEs0D,UAAS1jD,EAAErO,EAAEvC,EAAE+tC,EAAE12C,MAAMD,WAAY+hB,OAAO9X,EAAEA,EAAEuP,EAAE,MAAMvP,EAAE,MAAM,QAAQ,GAAGrB,EAAE2vE,cAAc5hC,EAAEv6B,KAAK,CAACkU,EAAErmB,EAAErB,EAAEs0D,UAC5e1jD,EAAErO,EAAEvC,EAAE+tC,EAAE12C,QAASkU,IAAI2jE,GAAG7tE,EAAErB,EAAE+tC,GAAGn9B,EAAEuI,OAAO9X,EAAEA,EAAEuP,EAAE,MAAMvP,GAAGqmB,EAAErmB,EAAErB,GAAG,MAAWsB,EAAED,EAAErB,GAAGA,EAAEA,EAAEs0D,QAAQvmB,EAAEv6B,OAAOpP,IAAIwM,EAAEm/D,GAAGhiC,EAAE12C,MAAMD,SAASiK,EAAEi1C,KAAKj4B,EAAE0vB,EAAE34C,MAAO+jB,OAAO9X,EAAEA,EAAEuP,KAAIyN,EAAEuxD,GAAG7hC,EAAEv6B,KAAKu6B,EAAE34C,IAAI24C,EAAE12C,MAAM,KAAKgK,EAAEi1C,KAAKj4B,IAAK9S,IAAI2jE,GAAG7tE,EAAEuP,EAAEm9B,GAAG1vB,EAAElF,OAAO9X,EAAEA,EAAEgd,GAAG,OAAO8pC,EAAE9mD,GAAG,KAAKirD,EAAGjrD,EAAE,CAAC,IAAIrB,EAAE+tC,EAAE34C,IAAI,OAAOwb,GAAG,CAAC,GAAGA,EAAExb,MAAM4K,EAAX,CAAa,GAAG,IAAI4Q,EAAE6E,KAAK7E,EAAE6hD,UAAU4D,gBAAgBtoB,EAAEsoB,eAAezlD,EAAE6hD,UAAUod,iBAAiB9hC,EAAE8hC,eAAe,CAACnoD,EAAErmB,EAAEuP,EAAE0jD,UAAS1jD,EAAErO,EAAEqO,EAAEm9B,EAAE32C,UAAU,KAAM+hB,OAAO9X,EAAEA,EAAEuP,EAAE,MAAMvP,EAAOqmB,EAAErmB,EAAEuP,GAAG,MAAWtP,EAAED,EAAEuP,GAAGA,EAAEA,EAAE0jD,SAAQ1jD,EACpfk/D,GAAG/hC,EAAE1sC,EAAEi1C,KAAKj4B,IAAKlF,OAAO9X,EAAEA,EAAEuP,EAAE,OAAOu3C,EAAE9mD,GAAG,GAAG,kBAAkB0sC,GAAG,kBAAkBA,EAAE,OAAOA,EAAE,GAAGA,EAAE,OAAOn9B,GAAG,IAAIA,EAAE6E,KAAKiS,EAAErmB,EAAEuP,EAAE0jD,UAAS1jD,EAAErO,EAAEqO,EAAEm9B,IAAK50B,OAAO9X,EAAEA,EAAEuP,IAAI8W,EAAErmB,EAAEuP,IAAGA,EAAE8+D,GAAG3hC,EAAE1sC,EAAEi1C,KAAKj4B,IAAKlF,OAAO9X,EAAEA,EAAEuP,GAAGu3C,EAAE9mD,GAAG,GAAG4tE,GAAGlhC,GAAG,OAAOxyB,EAAEla,EAAEuP,EAAEm9B,EAAE1vB,GAAG,GAAGkvC,EAAGxf,GAAG,OAAOxlB,EAAElnB,EAAEuP,EAAEm9B,EAAE1vB,GAAc,GAAXmoC,GAAG4oB,GAAG/tE,EAAE0sC,GAAM,qBAAqBA,IAAI/tC,EAAE,OAAOqB,EAAEoU,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM/V,MAAM8b,EAAE,IAAIsyC,EAAGzsD,EAAEmS,OAAO,cAAe,OAAOkU,EAAErmB,EAAEuP,IAAI,IAAIo/D,GAAGX,IAAG,GAAIY,GAAGZ,IAAG,GAAIa,GAAG,GAAGC,GAAGpH,GAAGmH,IAAIE,GAAGrH,GAAGmH,IAAIG,GAAGtH,GAAGmH,IACtd,SAASI,GAAGjvE,GAAG,GAAGA,IAAI6uE,GAAG,MAAMxwE,MAAM8b,EAAE,MAAM,OAAOna,EAAE,SAASkvE,GAAGlvE,EAAEC,GAAyC,OAAtCymD,GAAEsoB,GAAG/uE,GAAGymD,GAAEqoB,GAAG/uE,GAAG0mD,GAAEooB,GAAGD,IAAI7uE,EAAEC,EAAEivD,UAAmB,KAAK,EAAE,KAAK,GAAGjvD,GAAGA,EAAEA,EAAE4lB,iBAAiB5lB,EAAE2uD,aAAaH,GAAG,KAAK,IAAI,MAAM,QAAkExuD,EAAEwuD,GAArCxuD,GAAvBD,EAAE,IAAIA,EAAEC,EAAE+V,WAAW/V,GAAM2uD,cAAc,KAAK5uD,EAAEA,EAAEukC,SAAkBkiB,GAAEqoB,IAAIpoB,GAAEooB,GAAG7uE,GAAG,SAASkvE,KAAK1oB,GAAEqoB,IAAIroB,GAAEsoB,IAAItoB,GAAEuoB,IAAI,SAASI,GAAGpvE,GAAGivE,GAAGD,GAAG5kE,SAAS,IAAInK,EAAEgvE,GAAGH,GAAG1kE,SAAaic,EAAEooC,GAAGxuD,EAAED,EAAEmS,MAAMlS,IAAIomB,IAAIqgC,GAAEqoB,GAAG/uE,GAAG0mD,GAAEooB,GAAGzoD,IAAI,SAASgpD,GAAGrvE,GAAG+uE,GAAG3kE,UAAUpK,IAAIymD,GAAEqoB,IAAIroB,GAAEsoB,KAAK,IAAIxnB,GAAEmgB,GAAG,GAC9c,SAAS4H,GAAGtvE,GAAG,IAAI,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAKA,EAAEmU,IAAI,CAAC,IAAIiS,EAAEpmB,EAAE4yD,cAAc,GAAG,OAAOxsC,IAAmB,QAAfA,EAAEA,EAAEysC,aAAqB,OAAOzsC,EAAEmJ,MAAM,OAAOnJ,EAAEmJ,MAAM,OAAOvvB,OAAO,GAAG,KAAKA,EAAEmU,UAAK,IAASnU,EAAEsvE,cAAcC,aAAa,GAAG,KAAa,GAARvvE,EAAEujD,OAAU,OAAOvjD,OAAO,GAAG,OAAOA,EAAEvE,MAAM,CAACuE,EAAEvE,MAAMoc,OAAO7X,EAAEA,EAAEA,EAAEvE,MAAM,SAAS,GAAGuE,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAEgzD,SAAS,CAAC,GAAG,OAAOhzD,EAAE6X,QAAQ7X,EAAE6X,SAAS9X,EAAE,OAAO,KAAKC,EAAEA,EAAE6X,OAAO7X,EAAEgzD,QAAQn7C,OAAO7X,EAAE6X,OAAO7X,EAAEA,EAAEgzD,QAAQ,OAAO,KAAK,IAAIwc,GAAG,KAAKC,GAAG,KAAKC,IAAG,EACpd,SAASC,GAAG5vE,EAAEC,GAAG,IAAIomB,EAAEwpD,GAAG,EAAE,KAAK,KAAK,GAAGxpD,EAAEioD,YAAY,UAAUjoD,EAAElU,KAAK,UAAUkU,EAAE+qC,UAAUnxD,EAAEomB,EAAEvO,OAAO9X,EAAEqmB,EAAEm9B,MAAM,EAAE,OAAOxjD,EAAEiuE,YAAYjuE,EAAEiuE,WAAWC,WAAW7nD,EAAErmB,EAAEiuE,WAAW5nD,GAAGrmB,EAAEmuE,YAAYnuE,EAAEiuE,WAAW5nD,EAAE,SAASypD,GAAG9vE,EAAEC,GAAG,OAAOD,EAAEoU,KAAK,KAAK,EAAE,IAAIiS,EAAErmB,EAAEmS,KAAyE,OAAO,QAA3ElS,EAAE,IAAIA,EAAEivD,UAAU7oC,EAAE9lB,gBAAgBN,EAAE2sD,SAASrsD,cAAc,KAAKN,KAAmBD,EAAEoxD,UAAUnxD,GAAE,GAAO,KAAK,EAAE,OAAoD,QAA7CA,EAAE,KAAKD,EAAE+vE,cAAc,IAAI9vE,EAAEivD,SAAS,KAAKjvD,KAAYD,EAAEoxD,UAAUnxD,GAAE,GAAO,KAAK,GAAY,QAAQ,OAAM,GACve,SAAS+vE,GAAGhwE,GAAG,GAAG2vE,GAAG,CAAC,IAAI1vE,EAAEyvE,GAAG,GAAGzvE,EAAE,CAAC,IAAIomB,EAAEpmB,EAAE,IAAI6vE,GAAG9vE,EAAEC,GAAG,CAAqB,KAApBA,EAAE+mE,GAAG3gD,EAAE3R,gBAAqBo7D,GAAG9vE,EAAEC,GAAuC,OAAnCD,EAAEwjD,OAAe,KAATxjD,EAAEwjD,MAAY,EAAEmsB,IAAG,OAAGF,GAAGzvE,GAAS4vE,GAAGH,GAAGppD,GAAGopD,GAAGzvE,EAAE0vE,GAAG1I,GAAG/mE,EAAEwU,iBAAiBzU,EAAEwjD,OAAe,KAATxjD,EAAEwjD,MAAY,EAAEmsB,IAAG,EAAGF,GAAGzvE,GAAG,SAASiwE,GAAGjwE,GAAG,IAAIA,EAAEA,EAAE8X,OAAO,OAAO9X,GAAG,IAAIA,EAAEoU,KAAK,IAAIpU,EAAEoU,KAAK,KAAKpU,EAAEoU,KAAKpU,EAAEA,EAAE8X,OAAO23D,GAAGzvE,EAC5S,SAASkwE,GAAGlwE,GAAG,GAAGA,IAAIyvE,GAAG,OAAM,EAAG,IAAIE,GAAG,OAAOM,GAAGjwE,GAAG2vE,IAAG,GAAG,EAAG,IAAI1vE,EAAED,EAAEmS,KAAK,GAAG,IAAInS,EAAEoU,KAAK,SAASnU,GAAG,SAASA,IAAI2mE,GAAG3mE,EAAED,EAAEuvE,eAAe,IAAItvE,EAAEyvE,GAAGzvE,GAAG2vE,GAAG5vE,EAAEC,GAAGA,EAAE+mE,GAAG/mE,EAAEyU,aAAmB,GAANu7D,GAAGjwE,GAAM,KAAKA,EAAEoU,IAAI,CAAgD,KAA7BpU,EAAE,QAApBA,EAAEA,EAAE6yD,eAAyB7yD,EAAE8yD,WAAW,MAAW,MAAMz0D,MAAM8b,EAAE,MAAMna,EAAE,CAAiB,IAAhBA,EAAEA,EAAE0U,YAAgBzU,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEkvD,SAAS,CAAC,IAAI7oC,EAAErmB,EAAEwvB,KAAK,GAAG,OAAOnJ,EAAE,CAAC,GAAG,IAAIpmB,EAAE,CAACyvE,GAAG1I,GAAGhnE,EAAE0U,aAAa,MAAM1U,EAAEC,QAAQ,MAAMomB,GAAG,OAAOA,GAAG,OAAOA,GAAGpmB,IAAID,EAAEA,EAAE0U,YAAYg7D,GAAG,WAAWA,GAAGD,GAAGzI,GAAGhnE,EAAEoxD,UAAU18C,aAAa,KAAK,OAAM,EACtf,SAASy7D,KAAKT,GAAGD,GAAG,KAAKE,IAAG,EAAG,IAAIS,GAAG,GAAG,SAASC,KAAK,IAAI,IAAIrwE,EAAE,EAAEA,EAAEowE,GAAGv8E,OAAOmM,IAAIowE,GAAGpwE,GAAGswE,8BAA8B,KAAKF,GAAGv8E,OAAO,EAAE,IAAI08E,GAAGxlB,EAAGjD,uBAAuB0oB,GAAGzlB,EAAGhD,wBAAwB0oB,GAAG,EAAE9oB,GAAE,KAAKC,GAAE,KAAKC,GAAE,KAAK6oB,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAK,MAAMvyE,MAAM8b,EAAE,MAAO,SAAS02D,GAAG7wE,EAAEC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIomB,EAAE,EAAEA,EAAEpmB,EAAEpM,QAAQwyB,EAAErmB,EAAEnM,OAAOwyB,IAAI,IAAIq9C,GAAG1jE,EAAEqmB,GAAGpmB,EAAEomB,IAAI,OAAM,EAAG,OAAM,EAC9X,SAASyqD,GAAG9wE,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAyH,GAAtH+jC,GAAG/jC,EAAEib,GAAE1nD,EAAEA,EAAE4yD,cAAc,KAAK5yD,EAAE0rE,YAAY,KAAK1rE,EAAEorE,MAAM,EAAEkF,GAAGnmE,QAAQ,OAAOpK,GAAG,OAAOA,EAAE6yD,cAAcke,GAAGC,GAAGhxE,EAAEqmB,EAAE9W,EAAErO,GAAMyvE,GAAG,CAACjkC,EAAE,EAAE,EAAE,CAAO,GAANikC,IAAG,IAAQ,GAAGjkC,GAAG,MAAMruC,MAAM8b,EAAE,MAAMuyB,GAAG,EAAEmb,GAAED,GAAE,KAAK3nD,EAAE0rE,YAAY,KAAK4E,GAAGnmE,QAAQ6mE,GAAGjxE,EAAEqmB,EAAE9W,EAAErO,SAASyvE,IAAkE,GAA9DJ,GAAGnmE,QAAQ8mE,GAAGjxE,EAAE,OAAO2nD,IAAG,OAAOA,GAAE1yD,KAAKu7E,GAAG,EAAE5oB,GAAED,GAAED,GAAE,KAAK+oB,IAAG,EAAMzwE,EAAE,MAAM5B,MAAM8b,EAAE,MAAM,OAAOna,EAAE,SAASmxE,KAAK,IAAInxE,EAAE,CAAC6yD,cAAc,KAAK+Y,UAAU,KAAKwF,UAAU,KAAKC,MAAM,KAAKn8E,KAAK,MAA8C,OAAxC,OAAO2yD,GAAEF,GAAEkL,cAAchL,GAAE7nD,EAAE6nD,GAAEA,GAAE3yD,KAAK8K,EAAS6nD,GAC/e,SAASypB,KAAK,GAAG,OAAO1pB,GAAE,CAAC,IAAI5nD,EAAE2nD,GAAEgL,UAAU3yD,EAAE,OAAOA,EAAEA,EAAE6yD,cAAc,UAAU7yD,EAAE4nD,GAAE1yD,KAAK,IAAI+K,EAAE,OAAO4nD,GAAEF,GAAEkL,cAAchL,GAAE3yD,KAAK,GAAG,OAAO+K,EAAE4nD,GAAE5nD,EAAE2nD,GAAE5nD,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAM3B,MAAM8b,EAAE,MAAUna,EAAE,CAAC6yD,eAAPjL,GAAE5nD,GAAqB6yD,cAAc+Y,UAAUhkB,GAAEgkB,UAAUwF,UAAUxpB,GAAEwpB,UAAUC,MAAMzpB,GAAEypB,MAAMn8E,KAAK,MAAM,OAAO2yD,GAAEF,GAAEkL,cAAchL,GAAE7nD,EAAE6nD,GAAEA,GAAE3yD,KAAK8K,EAAE,OAAO6nD,GAAE,SAAS0pB,GAAGvxE,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,EACvY,SAASuxE,GAAGxxE,GAAG,IAAIC,EAAEqxE,KAAKjrD,EAAEpmB,EAAEoxE,MAAM,GAAG,OAAOhrD,EAAE,MAAMhoB,MAAM8b,EAAE,MAAMkM,EAAEorD,oBAAoBzxE,EAAE,IAAIuP,EAAEq4C,GAAE1mD,EAAEqO,EAAE6hE,UAAU1kC,EAAErmB,EAAE2lD,QAAQ,GAAG,OAAOt/B,EAAE,CAAC,GAAG,OAAOxrC,EAAE,CAAC,IAAI4lD,EAAE5lD,EAAEhM,KAAKgM,EAAEhM,KAAKw3C,EAAEx3C,KAAKw3C,EAAEx3C,KAAK4xD,EAAEv3C,EAAE6hE,UAAUlwE,EAAEwrC,EAAErmB,EAAE2lD,QAAQ,KAAK,GAAG,OAAO9qE,EAAE,CAACA,EAAEA,EAAEhM,KAAKqa,EAAEA,EAAEq8D,UAAU,IAAI5uD,EAAE8pC,EAAEpa,EAAE,KAAK/tC,EAAEuC,EAAE,EAAE,CAAC,IAAIikD,EAAExmD,EAAE0tE,KAAK,IAAIoE,GAAGtrB,KAAKA,EAAE,OAAOnoC,IAAIA,EAAEA,EAAE9nB,KAAK,CAACm3E,KAAK,EAAE1qE,OAAOhD,EAAEgD,OAAO+vE,aAAa/yE,EAAE+yE,aAAaC,WAAWhzE,EAAEgzE,WAAWz8E,KAAK,OAAOqa,EAAE5Q,EAAE+yE,eAAe1xE,EAAErB,EAAEgzE,WAAW3xE,EAAEuP,EAAE5Q,EAAEgD,YAAY,CAAC,IAAI/C,EAAE,CAACytE,KAAKlnB,EAAExjD,OAAOhD,EAAEgD,OAAO+vE,aAAa/yE,EAAE+yE,aAC9fC,WAAWhzE,EAAEgzE,WAAWz8E,KAAK,MAAM,OAAO8nB,GAAG8pC,EAAE9pC,EAAEpe,EAAE8tC,EAAEn9B,GAAGyN,EAAEA,EAAE9nB,KAAK0J,EAAE+oD,GAAE0jB,OAAOlmB,EAAEunB,IAAIvnB,EAAExmD,EAAEA,EAAEzJ,WAAW,OAAOyJ,GAAGA,IAAIuC,GAAG,OAAO8b,EAAE0vB,EAAEn9B,EAAEyN,EAAE9nB,KAAK4xD,EAAE4c,GAAGn0D,EAAEtP,EAAE4yD,iBAAiByY,IAAG,GAAIrrE,EAAE4yD,cAActjD,EAAEtP,EAAE2rE,UAAUl/B,EAAEzsC,EAAEmxE,UAAUp0D,EAAEqJ,EAAEurD,kBAAkBriE,EAAE,MAAM,CAACtP,EAAE4yD,cAAcxsC,EAAEwrD,UACtQ,SAASC,GAAG9xE,GAAG,IAAIC,EAAEqxE,KAAKjrD,EAAEpmB,EAAEoxE,MAAM,GAAG,OAAOhrD,EAAE,MAAMhoB,MAAM8b,EAAE,MAAMkM,EAAEorD,oBAAoBzxE,EAAE,IAAIuP,EAAE8W,EAAEwrD,SAAS3wE,EAAEmlB,EAAE2lD,QAAQt/B,EAAEzsC,EAAE4yD,cAAc,GAAG,OAAO3xD,EAAE,CAACmlB,EAAE2lD,QAAQ,KAAK,IAAIllB,EAAE5lD,EAAEA,EAAEhM,KAAK,GAAGw3C,EAAE1sC,EAAE0sC,EAAEoa,EAAEnlD,QAAQmlD,EAAEA,EAAE5xD,WAAW4xD,IAAI5lD,GAAGwiE,GAAGh3B,EAAEzsC,EAAE4yD,iBAAiByY,IAAG,GAAIrrE,EAAE4yD,cAAcnmB,EAAE,OAAOzsC,EAAEmxE,YAAYnxE,EAAE2rE,UAAUl/B,GAAGrmB,EAAEurD,kBAAkBllC,EAAE,MAAM,CAACA,EAAEn9B,GACnV,SAASwiE,GAAG/xE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEtP,EAAE+xE,YAAYziE,EAAEA,EAAEtP,EAAEgyE,SAAS,IAAI/wE,EAAEjB,EAAEqwE,8BAAyI,GAAxG,OAAOpvE,EAAElB,EAAEkB,IAAIqO,GAAUvP,EAAEA,EAAEkyE,kBAAiBlyE,GAAGywE,GAAGzwE,KAAKA,KAAEC,EAAEqwE,8BAA8B/gE,EAAE6gE,GAAGh7E,KAAK6K,KAAMD,EAAE,OAAOqmB,EAAEpmB,EAAEgyE,SAAoB,MAAX7B,GAAGh7E,KAAK6K,GAAS5B,MAAM8b,EAAE,MACzP,SAASg4D,GAAGnyE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAEkxE,GAAE,GAAG,OAAOlxE,EAAE,MAAM7C,MAAM8b,EAAE,MAAM,IAAIuyB,EAAEzsC,EAAE+xE,YAAYlrB,EAAEpa,EAAEzsC,EAAEgyE,SAASj1D,EAAEuzD,GAAGnmE,QAAQzL,EAAEqe,EAAEtT,UAAS,WAAW,OAAOqoE,GAAG7wE,EAAEjB,EAAEomB,MAAK8+B,EAAExmD,EAAE,GAAGC,EAAED,EAAE,GAAGA,EAAEkpD,GAAE,IAAIjC,EAAE5lD,EAAE6yD,cAAc/+C,EAAE8xC,EAAE3W,KAAK14C,EAAEud,EAAEu+D,YAAYn4D,EAAE0rC,EAAE9xD,OAAO8xD,EAAEA,EAAE/J,UAAU,IAAI30B,EAAEygC,GACuO,OADrO3nD,EAAE6yD,cAAc,CAAC5jB,KAAKn7B,EAAEhgB,OAAOmM,EAAE47C,UAAUtsC,GAAGyN,EAAE7S,WAAU,WAAW2J,EAAEu+D,YAAYhsD,EAAEvS,EAAEw+D,YAAYntB,EAAE,IAAInlD,EAAE0sC,EAAEzsC,EAAEgyE,SAAS,IAAIvO,GAAG5c,EAAE9mD,GAAG,CAACA,EAAEqmB,EAAEpmB,EAAEgyE,SAASvO,GAAG9kE,EAAEoB,KAAKmlD,EAAEnlD,GAAGA,EAAEitE,GAAG/lD,GAAGhmB,EAAEgxE,kBAAkBlyE,EAAEkB,EAAE61D,cAAc/2D,EAAEkB,EAAEgxE,iBAAiBhxE,EAAEk2D,gBAAgBp3D,EAAE,IAAI,IAAIuP,EAC5frO,EAAEm2D,cAAcr6C,EAAEhd,EAAE,EAAEgd,GAAG,CAAC,IAAIre,EAAE,GAAGw4D,GAAGn6C,GAAG0oC,EAAE,GAAG/mD,EAAE4Q,EAAE5Q,IAAIqB,EAAEgd,IAAI0oC,MAAK,CAACr/B,EAAEpmB,EAAEsP,IAAIyN,EAAE7S,WAAU,WAAW,OAAOoF,EAAEtP,EAAEgyE,SAAQ,WAAW,IAAIjyE,EAAE8T,EAAEu+D,YAAYhsD,EAAEvS,EAAEw+D,YAAY,IAAIjsD,EAAErmB,EAAEC,EAAEgyE,UAAU,IAAI1iE,EAAE09D,GAAG/lD,GAAGhmB,EAAEgxE,kBAAkB3iE,EAAErO,EAAE61D,aAAa,MAAMzR,GAAGj/B,GAAE,WAAW,MAAMi/B,WAAS,CAACrlD,EAAEsP,IAAIm0D,GAAGntE,EAAE8vB,IAAIq9C,GAAGxpD,EAAEja,IAAIyjE,GAAG9d,EAAEr2C,MAAKvP,EAAE,CAACgsE,QAAQ,KAAK6F,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkBhzE,IAAKizE,SAAS1sB,EAAEotB,GAAG7+B,KAAK,KAAKiU,GAAE3nD,GAAGrB,EAAE0yE,MAAMrxE,EAAErB,EAAEyyE,UAAU,KAAKxyE,EAAEmzE,GAAG7wE,EAAEjB,EAAEomB,GAAG1nB,EAAEk0D,cAAcl0D,EAAEitE,UAAUhtE,GAAUA,EACte,SAAS4zE,GAAGxyE,EAAEC,EAAEomB,GAAc,OAAO8rD,GAAZb,KAAiBtxE,EAAEC,EAAEomB,GAAG,SAASosD,GAAGzyE,GAAG,IAAIC,EAAEkxE,KAAmL,MAA9K,oBAAoBnxE,IAAIA,EAAEA,KAAKC,EAAE4yD,cAAc5yD,EAAE2rE,UAAU5rE,EAAoFA,GAAlFA,EAAEC,EAAEoxE,MAAM,CAACrF,QAAQ,KAAK6F,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkB5xE,IAAO6xE,SAASU,GAAG7+B,KAAK,KAAKiU,GAAE3nD,GAAS,CAACC,EAAE4yD,cAAc7yD,GAChR,SAAS0yE,GAAG1yE,EAAEC,EAAEomB,EAAE9W,GAAkO,OAA/NvP,EAAE,CAACoU,IAAIpU,EAAEhC,OAAOiC,EAAE0yE,QAAQtsD,EAAEusD,KAAKrjE,EAAEra,KAAK,MAAsB,QAAhB+K,EAAE0nD,GAAEgkB,cAAsB1rE,EAAE,CAACguE,WAAW,MAAMtmB,GAAEgkB,YAAY1rE,EAAEA,EAAEguE,WAAWjuE,EAAE9K,KAAK8K,GAAmB,QAAfqmB,EAAEpmB,EAAEguE,YAAoBhuE,EAAEguE,WAAWjuE,EAAE9K,KAAK8K,GAAGuP,EAAE8W,EAAEnxB,KAAKmxB,EAAEnxB,KAAK8K,EAAEA,EAAE9K,KAAKqa,EAAEtP,EAAEguE,WAAWjuE,GAAWA,EAAE,SAAS6yE,GAAG7yE,GAA4B,OAAdA,EAAE,CAACoK,QAAQpK,GAAhBmxE,KAA4Bte,cAAc7yD,EAAE,SAAS8yE,KAAK,OAAOxB,KAAKze,cAAc,SAASkgB,GAAG/yE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAEiwE,KAAKxpB,GAAEnE,OAAOxjD,EAAEkB,EAAE2xD,cAAc6f,GAAG,EAAEzyE,EAAEomB,OAAE,OAAO,IAAS9W,EAAE,KAAKA,GACjc,SAASyjE,GAAGhzE,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAEowE,KAAK/hE,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIm9B,OAAE,EAAO,GAAG,OAAOkb,GAAE,CAAC,IAAId,EAAEc,GAAEiL,cAA0B,GAAZnmB,EAAEoa,EAAE6rB,QAAW,OAAOpjE,GAAGshE,GAAGthE,EAAEu3C,EAAE8rB,MAAmB,YAAZF,GAAGzyE,EAAEomB,EAAEqmB,EAAEn9B,GAAWo4C,GAAEnE,OAAOxjD,EAAEkB,EAAE2xD,cAAc6f,GAAG,EAAEzyE,EAAEomB,EAAEqmB,EAAEn9B,GAAG,SAAS0jE,GAAGjzE,EAAEC,GAAG,OAAO8yE,GAAG,IAAI,EAAE/yE,EAAEC,GAAG,SAASizE,GAAGlzE,EAAEC,GAAG,OAAO+yE,GAAG,IAAI,EAAEhzE,EAAEC,GAAG,SAASkzE,GAAGnzE,EAAEC,GAAG,OAAO+yE,GAAG,EAAE,EAAEhzE,EAAEC,GAAG,SAASmzE,GAAGpzE,EAAEC,GAAG,MAAG,oBAAoBA,GAASD,EAAEA,IAAIC,EAAED,GAAG,WAAWC,EAAE,QAAU,OAAOA,QAAG,IAASA,GAASD,EAAEA,IAAIC,EAAEmK,QAAQpK,EAAE,WAAWC,EAAEmK,QAAQ,YAAtE,EACxY,SAASipE,GAAGrzE,EAAEC,EAAEomB,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEnsB,OAAO,CAAC8F,IAAI,KAAYgzE,GAAG,EAAE,EAAEI,GAAG1/B,KAAK,KAAKzzC,EAAED,GAAGqmB,GAAG,SAASitD,MAAM,SAASC,GAAGvzE,EAAEC,GAAG,IAAIomB,EAAEirD,KAAKrxE,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIsP,EAAE8W,EAAEwsC,cAAc,OAAG,OAAOtjD,GAAG,OAAOtP,GAAG4wE,GAAG5wE,EAAEsP,EAAE,IAAWA,EAAE,IAAG8W,EAAEwsC,cAAc,CAAC7yD,EAAEC,GAAUD,GAAE,SAASwzE,GAAGxzE,EAAEC,GAAG,IAAIomB,EAAEirD,KAAKrxE,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIsP,EAAE8W,EAAEwsC,cAAc,OAAG,OAAOtjD,GAAG,OAAOtP,GAAG4wE,GAAG5wE,EAAEsP,EAAE,IAAWA,EAAE,IAAGvP,EAAEA,IAAIqmB,EAAEwsC,cAAc,CAAC7yD,EAAEC,GAAUD,GACzZ,SAASyzE,GAAGzzE,EAAEC,GAAG,IAAIomB,EAAE6jD,KAAKE,GAAG,GAAG/jD,EAAE,GAAGA,GAAE,WAAWrmB,GAAE,MAAMoqE,GAAG,GAAG/jD,EAAE,GAAGA,GAAE,WAAW,IAAIA,EAAEmqD,GAAGllE,WAAWklE,GAAGllE,WAAW,EAAE,IAAItL,GAAE,GAAIC,IAAV,QAAsBuwE,GAAGllE,WAAW+a,MAC5J,SAASksD,GAAGvyE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEy9D,KAAK9rE,EAAE+rE,GAAGjtE,GAAG0sC,EAAE,CAAC2/B,KAAKnrE,EAAES,OAAO0kB,EAAEqrD,aAAa,KAAKC,WAAW,KAAKz8E,KAAK,MAAM4xD,EAAE7mD,EAAE+rE,QAA6E,GAArE,OAAOllB,EAAEpa,EAAEx3C,KAAKw3C,GAAGA,EAAEx3C,KAAK4xD,EAAE5xD,KAAK4xD,EAAE5xD,KAAKw3C,GAAGzsC,EAAE+rE,QAAQt/B,EAAEoa,EAAE9mD,EAAE2yD,UAAa3yD,IAAI2nD,IAAG,OAAOb,GAAGA,IAAIa,GAAEgpB,GAAGD,IAAG,MAAO,CAAC,GAAG,IAAI1wE,EAAEqrE,QAAQ,OAAOvkB,GAAG,IAAIA,EAAEukB,QAAiC,QAAxBvkB,EAAE7mD,EAAEwxE,qBAA8B,IAAI,IAAIz0D,EAAE/c,EAAE2xE,kBAAkBjzE,EAAEmoD,EAAE9pC,EAAEqJ,GAAmC,GAAhCqmB,EAAEglC,aAAa5qB,EAAEpa,EAAEilC,WAAWhzE,EAAK+kE,GAAG/kE,EAAEqe,GAAG,OAAO,MAAMmoC,IAAa+nB,GAAGltE,EAAEkB,EAAEqO,IAC9Z,IAAI2hE,GAAG,CAACwC,YAAYnI,GAAGvyC,YAAY43C,GAAG/0E,WAAW+0E,GAAGzmE,UAAUymE,GAAG1nB,oBAAoB0nB,GAAGznB,gBAAgBynB,GAAG/7C,QAAQ+7C,GAAGxnB,WAAWwnB,GAAG7mE,OAAO6mE,GAAGlnE,SAASknE,GAAG3nB,cAAc2nB,GAAG+C,iBAAiB/C,GAAGgD,cAAchD,GAAGiD,iBAAiBjD,GAAGkD,oBAAoBlD,GAAGmD,0BAAyB,GAAIhD,GAAG,CAAC2C,YAAYnI,GAAGvyC,YAAY,SAASh5B,EAAEC,GAA4C,OAAzCkxE,KAAKte,cAAc,CAAC7yD,OAAE,IAASC,EAAE,KAAKA,GAAUD,GAAGnE,WAAW0vE,GAAGphE,UAAU8oE,GAAG/pB,oBAAoB,SAASlpD,EAAEC,EAAEomB,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEnsB,OAAO,CAAC8F,IAAI,KAAY+yE,GAAG,EAAE,EAAEK,GAAG1/B,KAAK,KACvfzzC,EAAED,GAAGqmB,IAAI8iC,gBAAgB,SAASnpD,EAAEC,GAAG,OAAO8yE,GAAG,EAAE,EAAE/yE,EAAEC,IAAI40B,QAAQ,SAAS70B,EAAEC,GAAG,IAAIomB,EAAE8qD,KAAqD,OAAhDlxE,OAAE,IAASA,EAAE,KAAKA,EAAED,EAAEA,IAAIqmB,EAAEwsC,cAAc,CAAC7yD,EAAEC,GAAUD,GAAGopD,WAAW,SAASppD,EAAEC,EAAEomB,GAAG,IAAI9W,EAAE4hE,KAAuK,OAAlKlxE,OAAE,IAASomB,EAAEA,EAAEpmB,GAAGA,EAAEsP,EAAEsjD,cAActjD,EAAEq8D,UAAU3rE,EAAmFD,GAAjFA,EAAEuP,EAAE8hE,MAAM,CAACrF,QAAQ,KAAK6F,SAAS,KAAKJ,oBAAoBzxE,EAAE4xE,kBAAkB3xE,IAAO4xE,SAASU,GAAG7+B,KAAK,KAAKiU,GAAE3nD,GAAS,CAACuP,EAAEsjD,cAAc7yD,IAAI+J,OAAO8oE,GAAGnpE,SAAS+oE,GAAGxpB,cAAcqqB,GAAGK,iBAAiB,SAAS3zE,GAAG,IAAIC,EAAEwyE,GAAGzyE,GAAGqmB,EAAEpmB,EAAE,GAAGsP,EAAEtP,EAAE,GAC5Z,OAD+ZgzE,IAAG,WAAW,IAAIhzE,EAAEuwE,GAAGllE,WAC9eklE,GAAGllE,WAAW,EAAE,IAAIiE,EAAEvP,GAAN,QAAiBwwE,GAAGllE,WAAWrL,KAAI,CAACD,IAAWqmB,GAAGutD,cAAc,WAAW,IAAI5zE,EAAEyyE,IAAG,GAAIxyE,EAAED,EAAE,GAA8B,OAAN6yE,GAArB7yE,EAAEyzE,GAAG//B,KAAK,KAAK1zC,EAAE,KAAgB,CAACA,EAAEC,IAAI4zE,iBAAiB,SAAS7zE,EAAEC,EAAEomB,GAAG,IAAI9W,EAAE4hE,KAAkF,OAA7E5hE,EAAEsjD,cAAc,CAAC5jB,KAAK,CAACojC,YAAYpyE,EAAEqyE,YAAY,MAAMx+E,OAAOkM,EAAE67C,UAAUx1B,GAAU8rD,GAAG5iE,EAAEvP,EAAEC,EAAEomB,IAAIytD,oBAAoB,WAAW,GAAGnE,GAAG,CAAC,IAAI3vE,GAAE,EAAGC,EAzDlD,SAAYD,GAAG,MAAM,CAAC+mD,SAAS6E,EAAG3nD,SAASjE,EAAEH,QAAQG,GAyDDg0E,EAAG,WAAiD,MAAtCh0E,IAAIA,GAAE,EAAGqmB,EAAE,MAAM8gD,MAAMljE,SAAS,MAAY5F,MAAM8b,EAAE,SAASkM,EAAEosD,GAAGxyE,GAAG,GAC1Z,OAD6Z,KAAY,EAAP0nD,GAAE1S,QAAU0S,GAAEnE,OAAO,IAAIkvB,GAAG,GAAE,WAAWrsD,EAAE,MAAM8gD,MAAMljE,SAAS,YAChf,EAAO,OAAchE,EAAmC,OAANwyE,GAA3BxyE,EAAE,MAAMknE,MAAMljE,SAAS,KAAiBhE,GAAG8zE,0BAAyB,GAAI/C,GAAG,CAAC0C,YAAYnI,GAAGvyC,YAAYu6C,GAAG13E,WAAW0vE,GAAGphE,UAAU+oE,GAAGhqB,oBAAoBmqB,GAAGlqB,gBAAgBgqB,GAAGt+C,QAAQ2+C,GAAGpqB,WAAWooB,GAAGznE,OAAO+oE,GAAGppE,SAAS,WAAW,OAAO8nE,GAAGD,KAAKtoB,cAAcqqB,GAAGK,iBAAiB,SAAS3zE,GAAG,IAAIC,EAAEuxE,GAAGD,IAAIlrD,EAAEpmB,EAAE,GAAGsP,EAAEtP,EAAE,GAA6F,OAA1FizE,IAAG,WAAW,IAAIjzE,EAAEuwE,GAAGllE,WAAWklE,GAAGllE,WAAW,EAAE,IAAIiE,EAAEvP,GAAN,QAAiBwwE,GAAGllE,WAAWrL,KAAI,CAACD,IAAWqmB,GAAGutD,cAAc,WAAW,IAAI5zE,EAAEwxE,GAAGD,IAAI,GAAG,MAAM,CAACuB,KAAK1oE,QAC9epK,IAAI6zE,iBAAiBrB,GAAGsB,oBAAoB,WAAW,OAAOtC,GAAGD,IAAI,IAAIwC,0BAAyB,GAAI9C,GAAG,CAACyC,YAAYnI,GAAGvyC,YAAYu6C,GAAG13E,WAAW0vE,GAAGphE,UAAU+oE,GAAGhqB,oBAAoBmqB,GAAGlqB,gBAAgBgqB,GAAGt+C,QAAQ2+C,GAAGpqB,WAAW0oB,GAAG/nE,OAAO+oE,GAAGppE,SAAS,WAAW,OAAOooE,GAAGP,KAAKtoB,cAAcqqB,GAAGK,iBAAiB,SAAS3zE,GAAG,IAAIC,EAAE6xE,GAAGP,IAAIlrD,EAAEpmB,EAAE,GAAGsP,EAAEtP,EAAE,GAA6F,OAA1FizE,IAAG,WAAW,IAAIjzE,EAAEuwE,GAAGllE,WAAWklE,GAAGllE,WAAW,EAAE,IAAIiE,EAAEvP,GAAN,QAAiBwwE,GAAGllE,WAAWrL,KAAI,CAACD,IAAWqmB,GAAGutD,cAAc,WAAW,IAAI5zE,EAAE8xE,GAAGP,IAAI,GAAG,MAAM,CAACuB,KAAK1oE,QACrfpK,IAAI6zE,iBAAiBrB,GAAGsB,oBAAoB,WAAW,OAAOhC,GAAGP,IAAI,IAAIwC,0BAAyB,GAAIE,GAAGlpB,EAAG/C,kBAAkBsjB,IAAG,EAAG,SAAS4I,GAAGl0E,EAAEC,EAAEomB,EAAE9W,GAAGtP,EAAEvE,MAAM,OAAOsE,EAAE4uE,GAAG3uE,EAAE,KAAKomB,EAAE9W,GAAGo/D,GAAG1uE,EAAED,EAAEtE,MAAM2qB,EAAE9W,GAAG,SAAS4kE,GAAGn0E,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAGmlB,EAAEA,EAAEvwB,OAAO,IAAI42C,EAAEzsC,EAAEiK,IAA8B,OAA1BghE,GAAGjrE,EAAEiB,GAAGqO,EAAEuhE,GAAG9wE,EAAEC,EAAEomB,EAAE9W,EAAEm9B,EAAExrC,GAAM,OAAOlB,GAAIsrE,IAA0ErrE,EAAEujD,OAAO,EAAE0wB,GAAGl0E,EAAEC,EAAEsP,EAAErO,GAAUjB,EAAEvE,QAAhGuE,EAAE0rE,YAAY3rE,EAAE2rE,YAAY1rE,EAAEujD,QAAQ,IAAIxjD,EAAEqrE,QAAQnqE,EAAEkzE,GAAGp0E,EAAEC,EAAEiB,IACxW,SAASmzE,GAAGr0E,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAG,GAAG,OAAO1sC,EAAE,CAAC,IAAI8mD,EAAEzgC,EAAElU,KAAK,MAAG,oBAAoB20C,GAAIwtB,GAAGxtB,SAAI,IAASA,EAAEl2C,cAAc,OAAOyV,EAAE5T,cAAS,IAAS4T,EAAEzV,eAAsD5Q,EAAEuuE,GAAGloD,EAAElU,KAAK,KAAK5C,EAAEtP,EAAEA,EAAEg1C,KAAKvI,IAAKxiC,IAAIjK,EAAEiK,IAAIlK,EAAE8X,OAAO7X,EAASA,EAAEvE,MAAMsE,IAAvGC,EAAEmU,IAAI,GAAGnU,EAAEkS,KAAK20C,EAAEytB,GAAGv0E,EAAEC,EAAE6mD,EAAEv3C,EAAErO,EAAEwrC,IAAoF,OAAVoa,EAAE9mD,EAAEtE,MAAS,KAAKwF,EAAEwrC,KAAKxrC,EAAE4lD,EAAEyoB,eAA0BlpD,EAAE,QAAdA,EAAEA,EAAE5T,SAAmB4T,EAAEu9C,IAAK1iE,EAAEqO,IAAIvP,EAAEkK,MAAMjK,EAAEiK,KAAYkqE,GAAGp0E,EAAEC,EAAEysC,IAAGzsC,EAAEujD,OAAO,GAAExjD,EAAEouE,GAAGtnB,EAAEv3C,IAAKrF,IAAIjK,EAAEiK,IAAIlK,EAAE8X,OAAO7X,EAASA,EAAEvE,MAAMsE,GAClb,SAASu0E,GAAGv0E,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAG,GAAG,OAAO1sC,GAAG4jE,GAAG5jE,EAAEuvE,cAAchgE,IAAIvP,EAAEkK,MAAMjK,EAAEiK,IAAI,IAAGohE,IAAG,EAAG,KAAK5+B,EAAExrC,GAAqC,OAAOjB,EAAEorE,MAAMrrE,EAAEqrE,MAAM+I,GAAGp0E,EAAEC,EAAEysC,GAAhE,KAAa,MAAR1sC,EAAEwjD,SAAe8nB,IAAG,GAA0C,OAAOkJ,GAAGx0E,EAAEC,EAAEomB,EAAE9W,EAAEm9B,GACnL,SAAS+nC,GAAGz0E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEtP,EAAE8vE,aAAa7uE,EAAEqO,EAAExZ,SAAS22C,EAAE,OAAO1sC,EAAEA,EAAE6yD,cAAc,KAAK,GAAG,WAAWtjD,EAAE0lC,MAAM,kCAAkC1lC,EAAE0lC,KAAK,GAAG,KAAY,EAAPh1C,EAAEg1C,MAAQh1C,EAAE4yD,cAAc,CAAC6hB,UAAU,GAAGC,GAAG10E,EAAEomB,OAAQ,IAAG,KAAO,WAAFA,GAA8E,OAAOrmB,EAAE,OAAO0sC,EAAEA,EAAEgoC,UAAUruD,EAAEA,EAAEpmB,EAAEorE,MAAMprE,EAAEgrE,WAAW,WAAWhrE,EAAE4yD,cAAc,CAAC6hB,UAAU10E,GAAG20E,GAAG10E,EAAED,GAAG,KAAxKC,EAAE4yD,cAAc,CAAC6hB,UAAU,GAAGC,GAAG10E,EAAE,OAAOysC,EAAEA,EAAEgoC,UAAUruD,QAA0H,OAAOqmB,GAAGn9B,EAAEm9B,EAAEgoC,UAAUruD,EAAEpmB,EAAE4yD,cAAc,MAAMtjD,EAAE8W,EAAEsuD,GAAG10E,EAAEsP,GAAe,OAAZ2kE,GAAGl0E,EAAEC,EAAEiB,EAAEmlB,GAAUpmB,EAAEvE,MAC1e,SAASk5E,GAAG50E,EAAEC,GAAG,IAAIomB,EAAEpmB,EAAEiK,KAAO,OAAOlK,GAAG,OAAOqmB,GAAG,OAAOrmB,GAAGA,EAAEkK,MAAMmc,KAAEpmB,EAAEujD,OAAO,KAAI,SAASgxB,GAAGx0E,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,IAAIwrC,EAAEs7B,GAAG3hD,GAAGuhD,GAAG1gB,GAAE98C,QAA4C,OAApCsiC,EAAEm7B,GAAG5nE,EAAEysC,GAAGw+B,GAAGjrE,EAAEiB,GAAGmlB,EAAEyqD,GAAG9wE,EAAEC,EAAEomB,EAAE9W,EAAEm9B,EAAExrC,GAAM,OAAOlB,GAAIsrE,IAA0ErrE,EAAEujD,OAAO,EAAE0wB,GAAGl0E,EAAEC,EAAEomB,EAAEnlB,GAAUjB,EAAEvE,QAAhGuE,EAAE0rE,YAAY3rE,EAAE2rE,YAAY1rE,EAAEujD,QAAQ,IAAIxjD,EAAEqrE,QAAQnqE,EAAEkzE,GAAGp0E,EAAEC,EAAEiB,IAC9P,SAAS2zE,GAAG70E,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,GAAG8mE,GAAG3hD,GAAG,CAAC,IAAIqmB,GAAE,EAAG07B,GAAGnoE,QAAQysC,GAAE,EAAW,GAARw+B,GAAGjrE,EAAEiB,GAAM,OAAOjB,EAAEmxD,UAAU,OAAOpxD,IAAIA,EAAE2yD,UAAU,KAAK1yD,EAAE0yD,UAAU,KAAK1yD,EAAEujD,OAAO,GAAG6pB,GAAGptE,EAAEomB,EAAE9W,GAAGi+D,GAAGvtE,EAAEomB,EAAE9W,EAAErO,GAAGqO,GAAE,OAAQ,GAAG,OAAOvP,EAAE,CAAC,IAAI8mD,EAAE7mD,EAAEmxD,UAAUp0C,EAAE/c,EAAEsvE,cAAczoB,EAAE9wD,MAAMgnB,EAAE,IAAIre,EAAEmoD,EAAExvD,QAAQ6tD,EAAE9+B,EAAEzU,YAAY,kBAAkBuzC,GAAG,OAAOA,EAAEA,EAAEomB,GAAGpmB,GAAyBA,EAAE0iB,GAAG5nE,EAA1BklD,EAAE6iB,GAAG3hD,GAAGuhD,GAAG1gB,GAAE98C,SAAmB,IAAIxL,EAAEynB,EAAEpU,yBAAyB2zC,EAAE,oBAAoBhnD,GAAG,oBAAoBkoD,EAAE2mB,wBAAwB7nB,GAAG,oBAAoBkB,EAAEymB,kCACpd,oBAAoBzmB,EAAEjF,4BAA4B7kC,IAAIzN,GAAG5Q,IAAIwmD,IAAImoB,GAAGrtE,EAAE6mD,EAAEv3C,EAAE41C,GAAGsmB,IAAG,EAAG,IAAI33D,EAAE7T,EAAE4yD,cAAc/L,EAAEltD,MAAMka,EAAE24D,GAAGxsE,EAAEsP,EAAEu3C,EAAE5lD,GAAGvC,EAAEsB,EAAE4yD,cAAc71C,IAAIzN,GAAGuE,IAAInV,GAAGwoD,GAAE/8C,SAASqhE,IAAI,oBAAoB7sE,IAAIiuE,GAAG5sE,EAAEomB,EAAEznB,EAAE2Q,GAAG5Q,EAAEsB,EAAE4yD,gBAAgB71C,EAAEyuD,IAAI0B,GAAGltE,EAAEomB,EAAErJ,EAAEzN,EAAEuE,EAAEnV,EAAEwmD,KAAKS,GAAG,oBAAoBkB,EAAE4mB,2BAA2B,oBAAoB5mB,EAAE6mB,qBAAqB,oBAAoB7mB,EAAE6mB,oBAAoB7mB,EAAE6mB,qBAAqB,oBAAoB7mB,EAAE4mB,2BAA2B5mB,EAAE4mB,6BAA6B,oBACze5mB,EAAEttD,oBAAoByG,EAAEujD,OAAO,KAAK,oBAAoBsD,EAAEttD,oBAAoByG,EAAEujD,OAAO,GAAGvjD,EAAEsvE,cAAchgE,EAAEtP,EAAE4yD,cAAcl0D,GAAGmoD,EAAE9wD,MAAMuZ,EAAEu3C,EAAEltD,MAAM+E,EAAEmoD,EAAExvD,QAAQ6tD,EAAE51C,EAAEyN,IAAI,oBAAoB8pC,EAAEttD,oBAAoByG,EAAEujD,OAAO,GAAGj0C,GAAE,OAAQ,CAACu3C,EAAE7mD,EAAEmxD,UAAU8a,GAAGlsE,EAAEC,GAAG+c,EAAE/c,EAAEsvE,cAAcpqB,EAAEllD,EAAEkS,OAAOlS,EAAEquE,YAAYtxD,EAAEytD,GAAGxqE,EAAEkS,KAAK6K,GAAG8pC,EAAE9wD,MAAMmvD,EAAES,EAAE3lD,EAAE8vE,aAAaj8D,EAAEgzC,EAAExvD,QAAwB,kBAAhBqH,EAAE0nB,EAAEzU,cAAiC,OAAOjT,EAAEA,EAAE4sE,GAAG5sE,GAAyBA,EAAEkpE,GAAG5nE,EAA1BtB,EAAEqpE,GAAG3hD,GAAGuhD,GAAG1gB,GAAE98C,SAAmB,IAAI7T,EAAE8vB,EAAEpU,0BAA0BrT,EAAE,oBAAoBrI,GACnf,oBAAoBuwD,EAAE2mB,0BAA0B,oBAAoB3mB,EAAEymB,kCAAkC,oBAAoBzmB,EAAEjF,4BAA4B7kC,IAAI4oC,GAAG9xC,IAAInV,IAAI2uE,GAAGrtE,EAAE6mD,EAAEv3C,EAAE5Q,GAAG8sE,IAAG,EAAG33D,EAAE7T,EAAE4yD,cAAc/L,EAAEltD,MAAMka,EAAE24D,GAAGxsE,EAAEsP,EAAEu3C,EAAE5lD,GAAG,IAAIgZ,EAAEja,EAAE4yD,cAAc71C,IAAI4oC,GAAG9xC,IAAIoG,GAAGitC,GAAE/8C,SAASqhE,IAAI,oBAAoBl1E,IAAIs2E,GAAG5sE,EAAEomB,EAAE9vB,EAAEgZ,GAAG2K,EAAEja,EAAE4yD,gBAAgB1N,EAAEsmB,IAAI0B,GAAGltE,EAAEomB,EAAE8+B,EAAE51C,EAAEuE,EAAEoG,EAAEvb,KAAKC,GAAG,oBAAoBkoD,EAAEguB,4BAA4B,oBAAoBhuB,EAAEiuB,sBAAsB,oBAAoBjuB,EAAEiuB,qBAAqBjuB,EAAEiuB,oBAAoBxlE,EAC1gB2K,EAAEvb,GAAG,oBAAoBmoD,EAAEguB,4BAA4BhuB,EAAEguB,2BAA2BvlE,EAAE2K,EAAEvb,IAAI,oBAAoBmoD,EAAEkuB,qBAAqB/0E,EAAEujD,OAAO,GAAG,oBAAoBsD,EAAE2mB,0BAA0BxtE,EAAEujD,OAAO,OAAO,oBAAoBsD,EAAEkuB,oBAAoBh4D,IAAIhd,EAAEuvE,eAAez7D,IAAI9T,EAAE6yD,gBAAgB5yD,EAAEujD,OAAO,GAAG,oBAAoBsD,EAAE2mB,yBAAyBzwD,IAAIhd,EAAEuvE,eAAez7D,IAAI9T,EAAE6yD,gBAAgB5yD,EAAEujD,OAAO,KAAKvjD,EAAEsvE,cAAchgE,EAAEtP,EAAE4yD,cAAc34C,GAAG4sC,EAAE9wD,MAAMuZ,EAAEu3C,EAAEltD,MAAMsgB,EAAE4sC,EAAExvD,QAAQqH,EAAE4Q,EAAE41C,IAAI,oBAAoB2B,EAAEkuB,oBAC7fh4D,IAAIhd,EAAEuvE,eAAez7D,IAAI9T,EAAE6yD,gBAAgB5yD,EAAEujD,OAAO,GAAG,oBAAoBsD,EAAE2mB,yBAAyBzwD,IAAIhd,EAAEuvE,eAAez7D,IAAI9T,EAAE6yD,gBAAgB5yD,EAAEujD,OAAO,KAAKj0C,GAAE,GAAI,OAAO0lE,GAAGj1E,EAAEC,EAAEomB,EAAE9W,EAAEm9B,EAAExrC,GACzL,SAAS+zE,GAAGj1E,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAGkoC,GAAG50E,EAAEC,GAAG,IAAI6mD,EAAE,KAAa,GAAR7mD,EAAEujD,OAAU,IAAIj0C,IAAIu3C,EAAE,OAAO5lD,GAAGonE,GAAGroE,EAAEomB,GAAE,GAAI+tD,GAAGp0E,EAAEC,EAAEysC,GAAGn9B,EAAEtP,EAAEmxD,UAAU6iB,GAAG7pE,QAAQnK,EAAE,IAAI+c,EAAE8pC,GAAG,oBAAoBzgC,EAAErU,yBAAyB,KAAKzC,EAAEzZ,SAAwI,OAA/HmK,EAAEujD,OAAO,EAAE,OAAOxjD,GAAG8mD,GAAG7mD,EAAEvE,MAAMizE,GAAG1uE,EAAED,EAAEtE,MAAM,KAAKgxC,GAAGzsC,EAAEvE,MAAMizE,GAAG1uE,EAAE,KAAK+c,EAAE0vB,IAAIwnC,GAAGl0E,EAAEC,EAAE+c,EAAE0vB,GAAGzsC,EAAE4yD,cAActjD,EAAE3V,MAAMsH,GAAGonE,GAAGroE,EAAEomB,GAAE,GAAWpmB,EAAEvE,MAAM,SAASw5E,GAAGl1E,GAAG,IAAIC,EAAED,EAAEoxD,UAAUnxD,EAAEk1E,eAAejN,GAAGloE,EAAEC,EAAEk1E,eAAel1E,EAAEk1E,iBAAiBl1E,EAAE3I,SAAS2I,EAAE3I,SAAS4wE,GAAGloE,EAAEC,EAAE3I,SAAQ,GAAI43E,GAAGlvE,EAAEC,EAAE+0D,eAC7d,IAS0VogB,GAAMC,GAAGC,GAT/VC,GAAG,CAACziB,WAAW,KAAK0iB,UAAU,GAClC,SAASC,GAAGz1E,EAAEC,EAAEomB,GAAG,IAAsCygC,EAAlCv3C,EAAEtP,EAAE8vE,aAAa7uE,EAAEqmD,GAAEn9C,QAAQsiC,GAAE,EAA6M,OAAvMoa,EAAE,KAAa,GAAR7mD,EAAEujD,UAAasD,GAAE,OAAO9mD,GAAG,OAAOA,EAAE6yD,gBAAiB,KAAO,EAAF3xD,IAAM4lD,GAAGpa,GAAE,EAAGzsC,EAAEujD,QAAQ,IAAI,OAAOxjD,GAAG,OAAOA,EAAE6yD,oBAAe,IAAStjD,EAAEmmE,WAAU,IAAKnmE,EAAEomE,6BAA6Bz0E,GAAG,GAAGwlD,GAAEa,GAAI,EAAFrmD,GAAQ,OAAOlB,QAAG,IAASuP,EAAEmmE,UAAU1F,GAAG/vE,GAAGD,EAAEuP,EAAExZ,SAASmL,EAAEqO,EAAEmmE,SAAYhpC,GAAS1sC,EAAE41E,GAAG31E,EAAED,EAAEkB,EAAEmlB,GAAGpmB,EAAEvE,MAAMm3D,cAAc,CAAC6hB,UAAUruD,GAAGpmB,EAAE4yD,cAAc0iB,GAAGv1E,GAAK,kBAAkBuP,EAAEsmE,2BAAiC71E,EAAE41E,GAAG31E,EAAED,EAAEkB,EAAEmlB,GAAGpmB,EAAEvE,MAAMm3D,cAAc,CAAC6hB,UAAUruD,GAC/fpmB,EAAE4yD,cAAc0iB,GAAGt1E,EAAEorE,MAAM,SAASrrE,KAAEqmB,EAAEyvD,GAAG,CAAC7gC,KAAK,UAAUl/C,SAASiK,GAAGC,EAAEg1C,KAAK5uB,EAAE,OAAQvO,OAAO7X,EAASA,EAAEvE,MAAM2qB,KAAYrmB,EAAE6yD,cAAkBnmB,GAASn9B,EAAEwmE,GAAG/1E,EAAEC,EAAEsP,EAAExZ,SAASwZ,EAAEmmE,SAASrvD,GAAGqmB,EAAEzsC,EAAEvE,MAAMwF,EAAElB,EAAEtE,MAAMm3D,cAAcnmB,EAAEmmB,cAAc,OAAO3xD,EAAE,CAACwzE,UAAUruD,GAAG,CAACquD,UAAUxzE,EAAEwzE,UAAUruD,GAAGqmB,EAAEu+B,WAAWjrE,EAAEirE,YAAY5kD,EAAEpmB,EAAE4yD,cAAc0iB,GAAGhmE,IAAE8W,EAAE2vD,GAAGh2E,EAAEC,EAAEsP,EAAExZ,SAASswB,GAAGpmB,EAAE4yD,cAAc,KAAYxsC,IAClQ,SAASuvD,GAAG51E,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAElB,EAAEi1C,KAAKvI,EAAE1sC,EAAEtE,MAAuK,OAAjKuE,EAAE,CAACg1C,KAAK,SAASl/C,SAASkK,GAAG,KAAO,EAAFiB,IAAM,OAAOwrC,GAAGA,EAAEu+B,WAAW,EAAEv+B,EAAEqjC,aAAa9vE,GAAGysC,EAAEopC,GAAG71E,EAAEiB,EAAE,EAAE,MAAMmlB,EAAEqoD,GAAGroD,EAAEnlB,EAAEqO,EAAE,MAAMm9B,EAAE50B,OAAO9X,EAAEqmB,EAAEvO,OAAO9X,EAAE0sC,EAAEumB,QAAQ5sC,EAAErmB,EAAEtE,MAAMgxC,EAASrmB,EACrV,SAAS2vD,GAAGh2E,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAElB,EAAEtE,MAAiL,OAA3KsE,EAAEkB,EAAE+xD,QAAQ5sC,EAAE+nD,GAAGltE,EAAE,CAAC+zC,KAAK,UAAUl/C,SAASswB,IAAI,KAAY,EAAPpmB,EAAEg1C,QAAU5uB,EAAEglD,MAAM97D,GAAG8W,EAAEvO,OAAO7X,EAAEomB,EAAE4sC,QAAQ,KAAK,OAAOjzD,IAAIA,EAAEkuE,WAAW,KAAKluE,EAAEwjD,MAAM,EAAEvjD,EAAEkuE,YAAYluE,EAAEguE,WAAWjuE,GAAUC,EAAEvE,MAAM2qB,EAC7N,SAAS0vD,GAAG/1E,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,IAAIwrC,EAAEzsC,EAAEg1C,KAAK6R,EAAE9mD,EAAEtE,MAAMsE,EAAE8mD,EAAEmM,QAAQ,IAAIj2C,EAAE,CAACi4B,KAAK,SAASl/C,SAASswB,GAAoS,OAAjS,KAAO,EAAFqmB,IAAMzsC,EAAEvE,QAAQorD,IAAGzgC,EAAEpmB,EAAEvE,OAAQuvE,WAAW,EAAE5kD,EAAE0pD,aAAa/yD,EAAiB,QAAf8pC,EAAEzgC,EAAE4nD,aAAqBhuE,EAAEkuE,YAAY9nD,EAAE8nD,YAAYluE,EAAEguE,WAAWnnB,EAAEA,EAAEonB,WAAW,MAAMjuE,EAAEkuE,YAAYluE,EAAEguE,WAAW,MAAM5nD,EAAE+nD,GAAGtnB,EAAE9pC,GAAG,OAAOhd,EAAEuP,EAAE6+D,GAAGpuE,EAAEuP,IAAIA,EAAEm/D,GAAGn/D,EAAEm9B,EAAExrC,EAAE,OAAQsiD,OAAO,EAAGj0C,EAAEuI,OAAO7X,EAAEomB,EAAEvO,OAAO7X,EAAEomB,EAAE4sC,QAAQ1jD,EAAEtP,EAAEvE,MAAM2qB,EAAS9W,EAAE,SAAS0mE,GAAGj2E,EAAEC,GAAGD,EAAEqrE,OAAOprE,EAAE,IAAIomB,EAAErmB,EAAE2yD,UAAU,OAAOtsC,IAAIA,EAAEglD,OAAOprE,GAAG+qE,GAAGhrE,EAAE8X,OAAO7X,GACtd,SAASi2E,GAAGl2E,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAG,IAAIoa,EAAE9mD,EAAE6yD,cAAc,OAAO/L,EAAE9mD,EAAE6yD,cAAc,CAACsjB,YAAYl2E,EAAEm2E,UAAU,KAAKC,mBAAmB,EAAE92E,KAAKgQ,EAAE+mE,KAAKjwD,EAAEkwD,SAASr1E,EAAE+sE,WAAWvhC,IAAIoa,EAAEqvB,YAAYl2E,EAAE6mD,EAAEsvB,UAAU,KAAKtvB,EAAEuvB,mBAAmB,EAAEvvB,EAAEvnD,KAAKgQ,EAAEu3C,EAAEwvB,KAAKjwD,EAAEygC,EAAEyvB,SAASr1E,EAAE4lD,EAAEmnB,WAAWvhC,GACvQ,SAAS8pC,GAAGx2E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEtP,EAAE8vE,aAAa7uE,EAAEqO,EAAEigE,YAAY9iC,EAAEn9B,EAAE+mE,KAAsC,GAAjCpC,GAAGl0E,EAAEC,EAAEsP,EAAExZ,SAASswB,GAAkB,KAAO,GAAtB9W,EAAEg4C,GAAEn9C,UAAqBmF,EAAI,EAAFA,EAAI,EAAEtP,EAAEujD,OAAO,OAAO,CAAC,GAAG,OAAOxjD,GAAG,KAAa,GAARA,EAAEwjD,OAAUxjD,EAAE,IAAIA,EAAEC,EAAEvE,MAAM,OAAOsE,GAAG,CAAC,GAAG,KAAKA,EAAEoU,IAAI,OAAOpU,EAAE6yD,eAAeojB,GAAGj2E,EAAEqmB,QAAQ,GAAG,KAAKrmB,EAAEoU,IAAI6hE,GAAGj2E,EAAEqmB,QAAQ,GAAG,OAAOrmB,EAAEtE,MAAM,CAACsE,EAAEtE,MAAMoc,OAAO9X,EAAEA,EAAEA,EAAEtE,MAAM,SAAS,GAAGsE,IAAIC,EAAE,MAAMD,EAAE,KAAK,OAAOA,EAAEizD,SAAS,CAAC,GAAG,OAAOjzD,EAAE8X,QAAQ9X,EAAE8X,SAAS7X,EAAE,MAAMD,EAAEA,EAAEA,EAAE8X,OAAO9X,EAAEizD,QAAQn7C,OAAO9X,EAAE8X,OAAO9X,EAAEA,EAAEizD,QAAQ1jD,GAAG,EAAS,GAAPm3C,GAAEa,GAAEh4C,GAAM,KAAY,EAAPtP,EAAEg1C,MAAQh1C,EAAE4yD,cACze,UAAU,OAAO3xD,GAAG,IAAK,WAAqB,IAAVmlB,EAAEpmB,EAAEvE,MAAUwF,EAAE,KAAK,OAAOmlB,GAAiB,QAAdrmB,EAAEqmB,EAAEssC,YAAoB,OAAO2c,GAAGtvE,KAAKkB,EAAEmlB,GAAGA,EAAEA,EAAE4sC,QAAY,QAAJ5sC,EAAEnlB,IAAYA,EAAEjB,EAAEvE,MAAMuE,EAAEvE,MAAM,OAAOwF,EAAEmlB,EAAE4sC,QAAQ5sC,EAAE4sC,QAAQ,MAAMijB,GAAGj2E,GAAE,EAAGiB,EAAEmlB,EAAEqmB,EAAEzsC,EAAEguE,YAAY,MAAM,IAAK,YAA6B,IAAjB5nD,EAAE,KAAKnlB,EAAEjB,EAAEvE,MAAUuE,EAAEvE,MAAM,KAAK,OAAOwF,GAAG,CAAe,GAAG,QAAjBlB,EAAEkB,EAAEyxD,YAAuB,OAAO2c,GAAGtvE,GAAG,CAACC,EAAEvE,MAAMwF,EAAE,MAAMlB,EAAEkB,EAAE+xD,QAAQ/xD,EAAE+xD,QAAQ5sC,EAAEA,EAAEnlB,EAAEA,EAAElB,EAAEk2E,GAAGj2E,GAAE,EAAGomB,EAAE,KAAKqmB,EAAEzsC,EAAEguE,YAAY,MAAM,IAAK,WAAWiI,GAAGj2E,GAAE,EAAG,KAAK,UAAK,EAAOA,EAAEguE,YAAY,MAAM,QAAQhuE,EAAE4yD,cAAc,KAAK,OAAO5yD,EAAEvE,MAC/f,SAAS04E,GAAGp0E,EAAEC,EAAEomB,GAAyD,GAAtD,OAAOrmB,IAAIC,EAAEkrE,aAAanrE,EAAEmrE,cAAcuB,IAAIzsE,EAAEorE,MAAS,KAAKhlD,EAAEpmB,EAAEgrE,YAAY,CAAC,GAAG,OAAOjrE,GAAGC,EAAEvE,QAAQsE,EAAEtE,MAAM,MAAM2C,MAAM8b,EAAE,MAAM,GAAG,OAAOla,EAAEvE,MAAM,CAA4C,IAAjC2qB,EAAE+nD,GAAZpuE,EAAEC,EAAEvE,MAAasE,EAAE+vE,cAAc9vE,EAAEvE,MAAM2qB,EAAMA,EAAEvO,OAAO7X,EAAE,OAAOD,EAAEizD,SAASjzD,EAAEA,EAAEizD,SAAQ5sC,EAAEA,EAAE4sC,QAAQmb,GAAGpuE,EAAEA,EAAE+vE,eAAgBj4D,OAAO7X,EAAEomB,EAAE4sC,QAAQ,KAAK,OAAOhzD,EAAEvE,MAAM,OAAO,KAK5P,SAAS+6E,GAAGz2E,EAAEC,GAAG,IAAI0vE,GAAG,OAAO3vE,EAAEu2E,UAAU,IAAK,SAASt2E,EAAED,EAAEs2E,KAAK,IAAI,IAAIjwD,EAAE,KAAK,OAAOpmB,GAAG,OAAOA,EAAE0yD,YAAYtsC,EAAEpmB,GAAGA,EAAEA,EAAEgzD,QAAQ,OAAO5sC,EAAErmB,EAAEs2E,KAAK,KAAKjwD,EAAE4sC,QAAQ,KAAK,MAAM,IAAK,YAAY5sC,EAAErmB,EAAEs2E,KAAK,IAAI,IAAI/mE,EAAE,KAAK,OAAO8W,GAAG,OAAOA,EAAEssC,YAAYpjD,EAAE8W,GAAGA,EAAEA,EAAE4sC,QAAQ,OAAO1jD,EAAEtP,GAAG,OAAOD,EAAEs2E,KAAKt2E,EAAEs2E,KAAK,KAAKt2E,EAAEs2E,KAAKrjB,QAAQ,KAAK1jD,EAAE0jD,QAAQ,MAC7Z,SAASyjB,GAAG12E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEtP,EAAE8vE,aAAa,OAAO9vE,EAAEmU,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,KAAK,KAAK,EAAE,OAAO4zD,GAAG/nE,EAAEkS,OAAO81D,KAAK,KAAK,KAAK,EAAsL,OAApLkH,KAAK1oB,GAAEU,IAAGV,GAAES,IAAGmpB,MAAK9gE,EAAEtP,EAAEmxD,WAAY+jB,iBAAiB5lE,EAAEjY,QAAQiY,EAAE4lE,eAAe5lE,EAAE4lE,eAAe,MAAS,OAAOn1E,GAAG,OAAOA,EAAEtE,QAAMw0E,GAAGjwE,GAAGA,EAAEujD,OAAO,EAAEj0C,EAAE0F,UAAUhV,EAAEujD,OAAO,MAAkB,KAAK,KAAK,EAAE6rB,GAAGpvE,GAAG,IAAIiB,EAAE+tE,GAAGD,GAAG5kE,SAAkB,GAATic,EAAEpmB,EAAEkS,KAAQ,OAAOnS,GAAG,MAAMC,EAAEmxD,UAAUikB,GAAGr1E,EAAEC,EAAEomB,EAAE9W,GAAKvP,EAAEkK,MAAMjK,EAAEiK,MAAMjK,EAAEujD,OAAO,SAAS,CAAC,IAAIj0C,EAAE,CAAC,GAAG,OAC7ftP,EAAEmxD,UAAU,MAAM/yD,MAAM8b,EAAE,MAAM,OAAO,KAAsB,GAAjBna,EAAEivE,GAAGH,GAAG1kE,SAAY8lE,GAAGjwE,GAAG,CAACsP,EAAEtP,EAAEmxD,UAAU/qC,EAAEpmB,EAAEkS,KAAK,IAAIu6B,EAAEzsC,EAAEsvE,cAA8B,OAAhBhgE,EAAE83D,IAAIpnE,EAAEsP,EAAE+3D,IAAI56B,EAASrmB,GAAG,IAAK,SAASmgC,GAAE,SAASj3C,GAAGi3C,GAAE,QAAQj3C,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQi3C,GAAE,OAAOj3C,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIvP,EAAE,EAAEA,EAAEslE,GAAGzxE,OAAOmM,IAAIwmD,GAAE8e,GAAGtlE,GAAGuP,GAAG,MAAM,IAAK,SAASi3C,GAAE,QAAQj3C,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOi3C,GAAE,QAAQj3C,GAAGi3C,GAAE,OAAOj3C,GAAG,MAAM,IAAK,UAAUi3C,GAAE,SAASj3C,GAAG,MAAM,IAAK,QAAQ+9C,GAAG/9C,EAAEm9B,GAAG8Z,GAAE,UAAUj3C,GAAG,MAAM,IAAK,SAASA,EAAE69C,cAC5f,CAACupB,cAAcjqC,EAAEkqC,UAAUpwB,GAAE,UAAUj3C,GAAG,MAAM,IAAK,WAAW4+C,GAAG5+C,EAAEm9B,GAAG8Z,GAAE,UAAUj3C,GAAkB,IAAI,IAAIu3C,KAAvB2J,GAAGpqC,EAAEqmB,GAAG1sC,EAAE,KAAkB0sC,EAAEA,EAAEz4C,eAAe6yD,KAAK5lD,EAAEwrC,EAAEoa,GAAG,aAAaA,EAAE,kBAAkB5lD,EAAEqO,EAAE++C,cAAcptD,IAAIlB,EAAE,CAAC,WAAWkB,IAAI,kBAAkBA,GAAGqO,EAAE++C,cAAc,GAAGptD,IAAIlB,EAAE,CAAC,WAAW,GAAGkB,IAAIsoD,EAAGv1D,eAAe6yD,IAAI,MAAM5lD,GAAG,aAAa4lD,GAAGN,GAAE,SAASj3C,IAAI,OAAO8W,GAAG,IAAK,QAAQwmC,EAAGt9C,GAAGq+C,GAAGr+C,EAAEm9B,GAAE,GAAI,MAAM,IAAK,WAAWmgB,EAAGt9C,GAAG8+C,GAAG9+C,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBm9B,EAAE91C,UAAU2Y,EAAEsnE,QACtfrQ,IAAIj3D,EAAEvP,EAAEC,EAAE0rE,YAAYp8D,EAAE,OAAOA,IAAItP,EAAEujD,OAAO,OAAO,CAAiZ,OAAhZsD,EAAE,IAAI5lD,EAAEguD,SAAShuD,EAAEA,EAAE2sD,cAAc7tD,IAAIuuD,KAAUvuD,EAAEwuD,GAAGnoC,IAAIrmB,IAAIuuD,GAAQ,WAAWloC,IAAGrmB,EAAE8mD,EAAExkD,cAAc,QAASusD,UAAU,qBAAuB7uD,EAAEA,EAAEiW,YAAYjW,EAAEyU,aAAa,kBAAkBlF,EAAEohD,GAAG3wD,EAAE8mD,EAAExkD,cAAc+jB,EAAE,CAACsqC,GAAGphD,EAAEohD,MAAM3wD,EAAE8mD,EAAExkD,cAAc+jB,GAAG,WAAWA,IAAIygC,EAAE9mD,EAAEuP,EAAEqnE,SAAS9vB,EAAE8vB,UAAS,EAAGrnE,EAAEyK,OAAO8sC,EAAE9sC,KAAKzK,EAAEyK,QAAQha,EAAE8mD,EAAEgwB,gBAAgB92E,EAAEqmB,GAAGrmB,EAAEqnE,IAAIpnE,EAAED,EAAEsnE,IAAI/3D,EAAE6lE,GAAGp1E,EAAEC,GAASA,EAAEmxD,UAAUpxD,EAAE8mD,EAAE4J,GAAGrqC,EAAE9W,GAAU8W,GAAG,IAAK,SAASmgC,GAAE,SAASxmD,GAAGwmD,GAAE,QAAQxmD,GACpfkB,EAAEqO,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQi3C,GAAE,OAAOxmD,GAAGkB,EAAEqO,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIrO,EAAE,EAAEA,EAAEokE,GAAGzxE,OAAOqN,IAAIslD,GAAE8e,GAAGpkE,GAAGlB,GAAGkB,EAAEqO,EAAE,MAAM,IAAK,SAASi3C,GAAE,QAAQxmD,GAAGkB,EAAEqO,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOi3C,GAAE,QAAQxmD,GAAGwmD,GAAE,OAAOxmD,GAAGkB,EAAEqO,EAAE,MAAM,IAAK,UAAUi3C,GAAE,SAASxmD,GAAGkB,EAAEqO,EAAE,MAAM,IAAK,QAAQ+9C,GAAGttD,EAAEuP,GAAGrO,EAAEisD,EAAGntD,EAAEuP,GAAGi3C,GAAE,UAAUxmD,GAAG,MAAM,IAAK,SAASkB,EAAE4sD,GAAG9tD,EAAEuP,GAAG,MAAM,IAAK,SAASvP,EAAEotD,cAAc,CAACupB,cAAcpnE,EAAEqnE,UAAU11E,EAAE0hD,EAAE,GAAGrzC,EAAE,CAACla,WAAM,IAASmxD,GAAE,UAAUxmD,GAAG,MAAM,IAAK,WAAWmuD,GAAGnuD,EAAEuP,GAAGrO,EACpfgtD,GAAGluD,EAAEuP,GAAGi3C,GAAE,UAAUxmD,GAAG,MAAM,QAAQkB,EAAEqO,EAAEkhD,GAAGpqC,EAAEnlB,GAAG,IAAI8b,EAAE9b,EAAE,IAAIwrC,KAAK1vB,EAAE,GAAGA,EAAE/oB,eAAey4C,GAAG,CAAC,IAAI/tC,EAAEqe,EAAE0vB,GAAG,UAAUA,EAAE+iB,GAAGzvD,EAAErB,GAAG,4BAA4B+tC,EAAuB,OAApB/tC,EAAEA,EAAEA,EAAEuhD,YAAO,IAAgByO,GAAG3uD,EAAErB,GAAI,aAAa+tC,EAAE,kBAAkB/tC,GAAG,aAAa0nB,GAAG,KAAK1nB,IAAIqwD,GAAGhvD,EAAErB,GAAG,kBAAkBA,GAAGqwD,GAAGhvD,EAAE,GAAGrB,GAAG,mCAAmC+tC,GAAG,6BAA6BA,GAAG,cAAcA,IAAI8c,EAAGv1D,eAAey4C,GAAG,MAAM/tC,GAAG,aAAa+tC,GAAG8Z,GAAE,SAASxmD,GAAG,MAAMrB,GAAG8rD,EAAGzqD,EAAE0sC,EAAE/tC,EAAEmoD,IAAI,OAAOzgC,GAAG,IAAK,QAAQwmC,EAAG7sD,GAAG4tD,GAAG5tD,EAAEuP,GAAE,GACnf,MAAM,IAAK,WAAWs9C,EAAG7sD,GAAGquD,GAAGruD,GAAG,MAAM,IAAK,SAAS,MAAMuP,EAAEla,OAAO2K,EAAE2M,aAAa,QAAQ,GAAG+/C,EAAGn9C,EAAEla,QAAQ,MAAM,IAAK,SAAS2K,EAAE42E,WAAWrnE,EAAEqnE,SAAmB,OAAVlqC,EAAEn9B,EAAEla,OAAc24D,GAAGhuD,IAAIuP,EAAEqnE,SAASlqC,GAAE,GAAI,MAAMn9B,EAAEs8B,cAAcmiB,GAAGhuD,IAAIuP,EAAEqnE,SAASrnE,EAAEs8B,cAAa,GAAI,MAAM,QAAQ,oBAAoB3qC,EAAEtK,UAAUoJ,EAAE62E,QAAQrQ,IAAIG,GAAGtgD,EAAE9W,KAAKtP,EAAEujD,OAAO,GAAG,OAAOvjD,EAAEiK,MAAMjK,EAAEujD,OAAO,KAAK,OAAO,KAAK,KAAK,EAAE,GAAGxjD,GAAG,MAAMC,EAAEmxD,UAAUkkB,GAAGt1E,EAAEC,EAAED,EAAEuvE,cAAchgE,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOtP,EAAEmxD,UAAU,MAAM/yD,MAAM8b,EAAE,MAC/ekM,EAAE4oD,GAAGD,GAAG5kE,SAAS6kE,GAAGH,GAAG1kE,SAAS8lE,GAAGjwE,IAAIsP,EAAEtP,EAAEmxD,UAAU/qC,EAAEpmB,EAAEsvE,cAAchgE,EAAE83D,IAAIpnE,EAAEsP,EAAE4/C,YAAY9oC,IAAIpmB,EAAEujD,OAAO,MAAKj0C,GAAG,IAAI8W,EAAE6oC,SAAS7oC,EAAEA,EAAEwnC,eAAev4C,eAAe/F,IAAK83D,IAAIpnE,EAAEA,EAAEmxD,UAAU7hD,GAAG,OAAO,KAAK,KAAK,GAA0B,OAAvBk3C,GAAEc,IAAGh4C,EAAEtP,EAAE4yD,cAAiB,KAAa,GAAR5yD,EAAEujD,QAAiBvjD,EAAEorE,MAAMhlD,EAAEpmB,IAAEsP,EAAE,OAAOA,EAAE8W,GAAE,EAAG,OAAOrmB,OAAE,IAASC,EAAEsvE,cAAcmG,UAAUxF,GAAGjwE,GAAGomB,EAAE,OAAOrmB,EAAE6yD,cAAiBtjD,IAAI8W,GAAG,KAAY,EAAPpmB,EAAEg1C,QAAW,OAAOj1C,IAAG,IAAKC,EAAEsvE,cAAcoG,4BAA4B,KAAe,EAAVpuB,GAAEn9C,SAAW,IAAI2sE,KAAIA,GAAE,IAAW,IAAIA,IAAG,IAAIA,KAAEA,GACrf,GAAE,OAAO3E,IAAG,KAAQ,UAAH1F,KAAe,KAAQ,UAAHsK,KAAeC,GAAG7E,GAAE8E,OAAM3nE,GAAG8W,KAAEpmB,EAAEujD,OAAO,GAAS,MAAK,KAAK,EAAE,OAAO2rB,KAAW,OAAOnvE,GAAG6lE,GAAG5lE,EAAEmxD,UAAU4D,eAAe,KAAK,KAAK,GAAG,OAAO+V,GAAG9qE,GAAG,KAAK,KAAK,GAAG,OAAO+nE,GAAG/nE,EAAEkS,OAAO81D,KAAK,KAAK,KAAK,GAA0B,GAAvBxhB,GAAEc,IAAwB,QAArBh4C,EAAEtP,EAAE4yD,eAA0B,OAAO,KAAsC,GAAjCnmB,EAAE,KAAa,GAARzsC,EAAEujD,OAA2B,QAAjBsD,EAAEv3C,EAAE6mE,WAAsB,GAAG1pC,EAAE+pC,GAAGlnE,GAAE,OAAQ,CAAC,GAAG,IAAIwnE,IAAG,OAAO/2E,GAAG,KAAa,GAARA,EAAEwjD,OAAU,IAAIxjD,EAAEC,EAAEvE,MAAM,OAAOsE,GAAG,CAAS,GAAG,QAAX8mD,EAAEwoB,GAAGtvE,IAAe,CACjW,IADkWC,EAAEujD,OAAO,GAAGizB,GAAGlnE,GAAE,GAAoB,QAAhBm9B,EAAEoa,EAAE6kB,eAAuB1rE,EAAE0rE,YAAYj/B,EAAEzsC,EAAEujD,OAAO,GACnf,OAAOj0C,EAAE0+D,aAAahuE,EAAEkuE,YAAY,MAAMluE,EAAEguE,WAAW1+D,EAAE0+D,WAAW1+D,EAAE8W,EAAMA,EAAEpmB,EAAEvE,MAAM,OAAO2qB,GAAOrmB,EAAEuP,GAANm9B,EAAErmB,GAAQm9B,OAAO,EAAE9W,EAAEwhC,WAAW,KAAKxhC,EAAEyhC,YAAY,KAAKzhC,EAAEuhC,WAAW,KAAmB,QAAdnnB,EAAEpa,EAAEimB,YAAoBjmB,EAAEu+B,WAAW,EAAEv+B,EAAE2+B,MAAMrrE,EAAE0sC,EAAEhxC,MAAM,KAAKgxC,EAAE6iC,cAAc,KAAK7iC,EAAEmmB,cAAc,KAAKnmB,EAAEi/B,YAAY,KAAKj/B,EAAEy+B,aAAa,KAAKz+B,EAAE0kB,UAAU,OAAO1kB,EAAEu+B,WAAWnkB,EAAEmkB,WAAWv+B,EAAE2+B,MAAMvkB,EAAEukB,MAAM3+B,EAAEhxC,MAAMorD,EAAEprD,MAAMgxC,EAAE6iC,cAAczoB,EAAEyoB,cAAc7iC,EAAEmmB,cAAc/L,EAAE+L,cAAcnmB,EAAEi/B,YAAY7kB,EAAE6kB,YAAYj/B,EAAEv6B,KAAK20C,EAAE30C,KAAKnS,EAAE8mD,EAAEqkB,aACpfz+B,EAAEy+B,aAAa,OAAOnrE,EAAE,KAAK,CAACqrE,MAAMrrE,EAAEqrE,MAAMD,aAAaprE,EAAEorE,eAAe/kD,EAAEA,EAAE4sC,QAA2B,OAAnBvM,GAAEa,GAAY,EAAVA,GAAEn9C,QAAU,GAAUnK,EAAEvE,MAAMsE,EAAEA,EAAEizD,QAAQ,OAAO1jD,EAAE+mE,MAAMjvB,KAAI8vB,KAAKl3E,EAAEujD,OAAO,GAAG9W,GAAE,EAAG+pC,GAAGlnE,GAAE,GAAItP,EAAEorE,MAAM,cAAc,CAAC,IAAI3+B,EAAE,GAAW,QAAR1sC,EAAEsvE,GAAGxoB,KAAa,GAAG7mD,EAAEujD,OAAO,GAAG9W,GAAE,EAAmB,QAAhBrmB,EAAErmB,EAAE2rE,eAAuB1rE,EAAE0rE,YAAYtlD,EAAEpmB,EAAEujD,OAAO,GAAGizB,GAAGlnE,GAAE,GAAI,OAAOA,EAAE+mE,MAAM,WAAW/mE,EAAEgnE,WAAWzvB,EAAE6L,YAAYgd,GAAG,OAAmC,QAA5B1vE,EAAEA,EAAEguE,WAAW1+D,EAAE0+D,cAAsBhuE,EAAEiuE,WAAW,MAAM,UAAU,EAAE7mB,KAAI93C,EAAE8mE,mBAAmBc,IAAI,aAAa9wD,IAAIpmB,EAAEujD,OACjf,GAAG9W,GAAE,EAAG+pC,GAAGlnE,GAAE,GAAItP,EAAEorE,MAAM,UAAU97D,EAAE4mE,aAAarvB,EAAEmM,QAAQhzD,EAAEvE,MAAMuE,EAAEvE,MAAMorD,IAAa,QAATzgC,EAAE9W,EAAEhQ,MAAc8mB,EAAE4sC,QAAQnM,EAAE7mD,EAAEvE,MAAMorD,EAAEv3C,EAAEhQ,KAAKunD,GAAG,OAAO,OAAOv3C,EAAE+mE,MAAMjwD,EAAE9W,EAAE+mE,KAAK/mE,EAAE6mE,UAAU/vD,EAAE9W,EAAE+mE,KAAKjwD,EAAE4sC,QAAQ1jD,EAAE0+D,WAAWhuE,EAAEguE,WAAW1+D,EAAE8mE,mBAAmBhvB,KAAIhhC,EAAE4sC,QAAQ,KAAKhzD,EAAEsnD,GAAEn9C,QAAQs8C,GAAEa,GAAE7a,EAAI,EAAFzsC,EAAI,EAAI,EAAFA,GAAKomB,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAO+wD,KAAK,OAAOp3E,GAAG,OAAOA,EAAE6yD,iBAAiB,OAAO5yD,EAAE4yD,gBAAgB,kCAAkCtjD,EAAE0lC,OAAOh1C,EAAEujD,OAAO,GAAG,KAAK,MAAMnlD,MAAM8b,EAAE,IAAIla,EAAEmU,MAChd,SAASijE,GAAGr3E,GAAG,OAAOA,EAAEoU,KAAK,KAAK,EAAE4zD,GAAGhoE,EAAEmS,OAAO81D,KAAK,IAAIhoE,EAAED,EAAEwjD,MAAM,OAAS,KAAFvjD,GAAQD,EAAEwjD,OAAS,KAAHvjD,EAAQ,GAAGD,GAAG,KAAK,KAAK,EAAgC,GAA9BmvE,KAAK1oB,GAAEU,IAAGV,GAAES,IAAGmpB,KAAkB,KAAO,IAApBpwE,EAAED,EAAEwjD,QAAoB,MAAMnlD,MAAM8b,EAAE,MAAyB,OAAnBna,EAAEwjD,OAAS,KAAHvjD,EAAQ,GAAUD,EAAE,KAAK,EAAE,OAAOqvE,GAAGrvE,GAAG,KAAK,KAAK,GAAG,OAAOymD,GAAEc,IAAe,MAAZtnD,EAAED,EAAEwjD,QAAcxjD,EAAEwjD,OAAS,KAAHvjD,EAAQ,GAAGD,GAAG,KAAK,KAAK,GAAG,OAAOymD,GAAEc,IAAG,KAAK,KAAK,EAAE,OAAO4nB,KAAK,KAAK,KAAK,GAAG,OAAOpE,GAAG/qE,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOo3E,KAAK,KAAK,QAAQ,OAAO,MACra,SAASE,GAAGt3E,EAAEC,GAAG,IAAI,IAAIomB,EAAE,GAAG9W,EAAEtP,EAAE,GAAGomB,GAAGkmC,EAAGh9C,GAAGA,EAAEA,EAAEuI,aAAavI,GAAG,IAAIrO,EAAEmlB,EAAE,MAAMqmB,GAAGxrC,EAAE,6BAA6BwrC,EAAEtuC,QAAQ,KAAKsuC,EAAEiY,MAAM,MAAM,CAACtvD,MAAM2K,EAAElM,OAAOmM,EAAE0kD,MAAMzjD,GAAG,SAASq2E,GAAGv3E,EAAEC,GAAG,IAAIiM,QAAQ5O,MAAM2C,EAAE5K,OAAO,MAAMgxB,GAAG7b,YAAW,WAAW,MAAM6b,MAlB3P+uD,GAAG,SAASp1E,EAAEC,GAAG,IAAI,IAAIomB,EAAEpmB,EAAEvE,MAAM,OAAO2qB,GAAG,CAAC,GAAG,IAAIA,EAAEjS,KAAK,IAAIiS,EAAEjS,IAAIpU,EAAEqV,YAAYgR,EAAE+qC,gBAAgB,GAAG,IAAI/qC,EAAEjS,KAAK,OAAOiS,EAAE3qB,MAAM,CAAC2qB,EAAE3qB,MAAMoc,OAAOuO,EAAEA,EAAEA,EAAE3qB,MAAM,SAAS,GAAG2qB,IAAIpmB,EAAE,MAAM,KAAK,OAAOomB,EAAE4sC,SAAS,CAAC,GAAG,OAAO5sC,EAAEvO,QAAQuO,EAAEvO,SAAS7X,EAAE,OAAOomB,EAAEA,EAAEvO,OAAOuO,EAAE4sC,QAAQn7C,OAAOuO,EAAEvO,OAAOuO,EAAEA,EAAE4sC,UAChSoiB,GAAG,SAASr1E,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAElB,EAAEuvE,cAAc,GAAGruE,IAAIqO,EAAE,CAACvP,EAAEC,EAAEmxD,UAAU6d,GAAGH,GAAG1kE,SAAS,IAAyU08C,EAArUpa,EAAE,KAAK,OAAOrmB,GAAG,IAAK,QAAQnlB,EAAEisD,EAAGntD,EAAEkB,GAAGqO,EAAE49C,EAAGntD,EAAEuP,GAAGm9B,EAAE,GAAG,MAAM,IAAK,SAASxrC,EAAE4sD,GAAG9tD,EAAEkB,GAAGqO,EAAEu+C,GAAG9tD,EAAEuP,GAAGm9B,EAAE,GAAG,MAAM,IAAK,SAASxrC,EAAE0hD,EAAE,GAAG1hD,EAAE,CAAC7L,WAAM,IAASka,EAAEqzC,EAAE,GAAGrzC,EAAE,CAACla,WAAM,IAASq3C,EAAE,GAAG,MAAM,IAAK,WAAWxrC,EAAEgtD,GAAGluD,EAAEkB,GAAGqO,EAAE2+C,GAAGluD,EAAEuP,GAAGm9B,EAAE,GAAG,MAAM,QAAQ,oBAAoBxrC,EAAEtK,SAAS,oBAAoB2Y,EAAE3Y,UAAUoJ,EAAE62E,QAAQrQ,IAAyB,IAAIrhB,KAAzBsL,GAAGpqC,EAAE9W,GAAS8W,EAAE,KAAcnlB,EAAE,IAAIqO,EAAEtb,eAAekxD,IAAIjkD,EAAEjN,eAAekxD,IAAI,MAAMjkD,EAAEikD,GAAG,GAAG,UAC3eA,EAAE,CAAC,IAAInoC,EAAE9b,EAAEikD,GAAG,IAAI2B,KAAK9pC,EAAEA,EAAE/oB,eAAe6yD,KAAKzgC,IAAIA,EAAE,IAAIA,EAAEygC,GAAG,QAAQ,4BAA4B3B,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIqE,EAAGv1D,eAAekxD,GAAGzY,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIt3C,KAAK+vD,EAAE,OAAO,IAAIA,KAAK51C,EAAE,CAAC,IAAI5Q,EAAE4Q,EAAE41C,GAAyB,GAAtBnoC,EAAE,MAAM9b,EAAEA,EAAEikD,QAAG,EAAU51C,EAAEtb,eAAekxD,IAAIxmD,IAAIqe,IAAI,MAAMre,GAAG,MAAMqe,GAAG,GAAG,UAAUmoC,EAAE,GAAGnoC,EAAE,CAAC,IAAI8pC,KAAK9pC,GAAGA,EAAE/oB,eAAe6yD,IAAInoD,GAAGA,EAAE1K,eAAe6yD,KAAKzgC,IAAIA,EAAE,IAAIA,EAAEygC,GAAG,IAAI,IAAIA,KAAKnoD,EAAEA,EAAE1K,eAAe6yD,IAAI9pC,EAAE8pC,KAAKnoD,EAAEmoD,KAAKzgC,IAClfA,EAAE,IAAIA,EAAEygC,GAAGnoD,EAAEmoD,SAASzgC,IAAIqmB,IAAIA,EAAE,IAAIA,EAAEt3C,KAAK+vD,EAAE9+B,IAAIA,EAAE1nB,MAAM,4BAA4BwmD,GAAGxmD,EAAEA,EAAEA,EAAEuhD,YAAO,EAAOljC,EAAEA,EAAEA,EAAEkjC,YAAO,EAAO,MAAMvhD,GAAGqe,IAAIre,IAAI+tC,EAAEA,GAAG,IAAIt3C,KAAK+vD,EAAExmD,IAAI,aAAawmD,EAAE,kBAAkBxmD,GAAG,kBAAkBA,IAAI+tC,EAAEA,GAAG,IAAIt3C,KAAK+vD,EAAE,GAAGxmD,GAAG,mCAAmCwmD,GAAG,6BAA6BA,IAAIqE,EAAGv1D,eAAekxD,IAAI,MAAMxmD,GAAG,aAAawmD,GAAGqB,GAAE,SAASxmD,GAAG0sC,GAAG1vB,IAAIre,IAAI+tC,EAAE,KAAK,kBAAkB/tC,GAAG,OAAOA,GAAGA,EAAEooD,WAAW6E,EAAGjtD,EAAEsF,YAAYyoC,EAAEA,GAAG,IAAIt3C,KAAK+vD,EAAExmD,IAAI0nB,IAAIqmB,EAAEA,GAAG,IAAIt3C,KAAK,QAC/eixB,GAAG,IAAI8+B,EAAEzY,GAAKzsC,EAAE0rE,YAAYxmB,KAAEllD,EAAEujD,OAAO,KAAI8xB,GAAG,SAASt1E,EAAEC,EAAEomB,EAAE9W,GAAG8W,IAAI9W,IAAItP,EAAEujD,OAAO,IAcgL,IAAIg0B,GAAG,oBAAoB38D,QAAQA,QAAQi5C,IAAI,SAAS2jB,GAAGz3E,EAAEC,EAAEomB,IAAGA,EAAE8lD,IAAI,EAAE9lD,IAAKjS,IAAI,EAAEiS,EAAEimD,QAAQ,CAAC3wE,QAAQ,MAAM,IAAI4T,EAAEtP,EAAE5K,MAAsD,OAAhDgxB,EAAExkB,SAAS,WAAW61E,KAAKA,IAAG,EAAGC,GAAGpoE,GAAGgoE,GAAGv3E,EAAEC,IAAWomB,EACpb,SAASuxD,GAAG53E,EAAEC,EAAEomB,IAAGA,EAAE8lD,IAAI,EAAE9lD,IAAKjS,IAAI,EAAE,IAAI7E,EAAEvP,EAAEmS,KAAKH,yBAAyB,GAAG,oBAAoBzC,EAAE,CAAC,IAAIrO,EAAEjB,EAAE5K,MAAMgxB,EAAEimD,QAAQ,WAAmB,OAARiL,GAAGv3E,EAAEC,GAAUsP,EAAErO,IAAI,IAAIwrC,EAAE1sC,EAAEoxD,UAA8O,OAApO,OAAO1kB,GAAG,oBAAoBA,EAAEmrC,oBAAoBxxD,EAAExkB,SAAS,WAAW,oBAAoB0N,IAAI,OAAOuoE,GAAGA,GAAG,IAAI5gC,IAAI,CAAC9iD,OAAO0jF,GAAGriC,IAAIrhD,MAAMmjF,GAAGv3E,EAAEC,IAAI,IAAIomB,EAAEpmB,EAAE0kD,MAAMvwD,KAAKyjF,kBAAkB53E,EAAE5K,MAAM,CAAC0iF,eAAe,OAAO1xD,EAAEA,EAAE,OAAcA,EAAE,IAAI2xD,GAAG,oBAAoBC,QAAQA,QAAQ/gC,IACxc,SAASghC,GAAGl4E,GAAG,IAAIC,EAAED,EAAEkK,IAAI,GAAG,OAAOjK,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,MAAM,MAAMomB,GAAG8xD,GAAGn4E,EAAEqmB,QAAQpmB,EAAEmK,QAAQ,KAAK,SAASguE,GAAGp4E,EAAEC,GAAG,OAAOA,EAAEmU,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,EAAE,GAAW,IAARnU,EAAEujD,OAAW,OAAOxjD,EAAE,CAAC,IAAIqmB,EAAErmB,EAAEuvE,cAAchgE,EAAEvP,EAAE6yD,cAA4B5yD,GAAdD,EAAEC,EAAEmxD,WAAcqc,wBAAwBxtE,EAAEquE,cAAcruE,EAAEkS,KAAKkU,EAAEokD,GAAGxqE,EAAEkS,KAAKkU,GAAG9W,GAAGvP,EAAEq4E,oCAAoCp4E,EAAE,OAAO,KAAK,EAA6C,YAAnC,IAARA,EAAEujD,OAAWujB,GAAG9mE,EAAEmxD,UAAU4D,gBAAsB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,MAAM32D,MAAM8b,EAAE,MAC5e,SAASm+D,GAAGt4E,EAAEC,EAAEomB,GAAG,OAAOA,EAAEjS,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAgD,GAAG,QAAhCnU,EAAE,QAAlBA,EAAEomB,EAAEslD,aAAuB1rE,EAAEguE,WAAW,MAAiB,CAACjuE,EAAEC,EAAEA,EAAE/K,KAAK,EAAE,CAAC,GAAG,KAAW,EAAN8K,EAAEoU,KAAO,CAAC,IAAI7E,EAAEvP,EAAEhC,OAAOgC,EAAE2yE,QAAQpjE,IAAIvP,EAAEA,EAAE9K,WAAW8K,IAAIC,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEomB,EAAEslD,aAAuB1rE,EAAEguE,WAAW,MAAiB,CAACjuE,EAAEC,EAAEA,EAAE/K,KAAK,EAAE,CAAC,IAAIgM,EAAElB,EAAEuP,EAAErO,EAAEhM,KAAa,KAAO,GAAfgM,EAAEA,EAAEkT,OAAe,KAAO,EAAFlT,KAAOq3E,GAAGlyD,EAAErmB,GAAGw4E,GAAGnyD,EAAErmB,IAAIA,EAAEuP,QAAQvP,IAAIC,GAAG,OAAO,KAAK,EACtR,OADwRD,EAAEqmB,EAAE+qC,UAAkB,EAAR/qC,EAAEm9B,QAAU,OAAOvjD,EAAED,EAAExG,qBAAqB+V,EAAE8W,EAAEioD,cAAcjoD,EAAElU,KAAKlS,EAAEsvE,cAAc9E,GAAGpkD,EAAElU,KAAKlS,EAAEsvE,eAAevvE,EAAEg1E,mBAAmBzlE,EACxgBtP,EAAE4yD,cAAc7yD,EAAEq4E,4CAAuD,QAAhBp4E,EAAEomB,EAAEslD,cAAsBgB,GAAGtmD,EAAEpmB,EAAED,IAAU,KAAK,EAAkB,GAAG,QAAnBC,EAAEomB,EAAEslD,aAAwB,CAAQ,GAAP3rE,EAAE,KAAQ,OAAOqmB,EAAE3qB,MAAM,OAAO2qB,EAAE3qB,MAAM0Y,KAAK,KAAK,EAAEpU,EAAEqmB,EAAE3qB,MAAM01D,UAAU,MAAM,KAAK,EAAEpxD,EAAEqmB,EAAE3qB,MAAM01D,UAAUub,GAAGtmD,EAAEpmB,EAAED,GAAG,OAAO,KAAK,EAA2E,OAAzEA,EAAEqmB,EAAE+qC,eAAU,OAAOnxD,GAAW,EAARomB,EAAEm9B,OAASmjB,GAAGtgD,EAAElU,KAAKkU,EAAEkpD,gBAAgBvvE,EAAE6iC,SAAe,KAAK,EAAS,KAAK,EAAS,KAAK,GAAG,OAAO,KAAK,GACzY,YAD4Y,OAAOxc,EAAEwsC,gBAAgBxsC,EAAEA,EAAEssC,UAAU,OAAOtsC,IAAIA,EAAEA,EAAEwsC,cAAc,OAAOxsC,IAAIA,EAAEA,EAAEysC,WAAW,OAAOzsC,GAAGovC,GAAGpvC,OAChf,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,MAAMhoB,MAAM8b,EAAE,MAC5E,SAASs+D,GAAGz4E,EAAEC,GAAG,IAAI,IAAIomB,EAAErmB,IAAI,CAAC,GAAG,IAAIqmB,EAAEjS,IAAI,CAAC,IAAI7E,EAAE8W,EAAE+qC,UAAU,GAAGnxD,EAAY,oBAAVsP,EAAEA,EAAEjX,OAA4Bo3D,YAAYngD,EAAEmgD,YAAY,UAAU,OAAO,aAAangD,EAAEke,QAAQ,WAAW,CAACle,EAAE8W,EAAE+qC,UAAU,IAAIlwD,EAAEmlB,EAAEkpD,cAAcj3E,MAAM4I,OAAE,IAASA,GAAG,OAAOA,GAAGA,EAAEjN,eAAe,WAAWiN,EAAEusB,QAAQ,KAAKle,EAAEjX,MAAMm1B,QAAQ+hC,GAAG,UAAUtuD,SAAS,GAAG,IAAImlB,EAAEjS,IAAIiS,EAAE+qC,UAAUjC,UAAUlvD,EAAE,GAAGomB,EAAEkpD,mBAAmB,IAAI,KAAKlpD,EAAEjS,KAAK,KAAKiS,EAAEjS,KAAK,OAAOiS,EAAEwsC,eAAexsC,IAAIrmB,IAAI,OAAOqmB,EAAE3qB,MAAM,CAAC2qB,EAAE3qB,MAAMoc,OAAOuO,EAAEA,EAAEA,EAAE3qB,MAAM,SAAS,GAAG2qB,IACtfrmB,EAAE,MAAM,KAAK,OAAOqmB,EAAE4sC,SAAS,CAAC,GAAG,OAAO5sC,EAAEvO,QAAQuO,EAAEvO,SAAS9X,EAAE,OAAOqmB,EAAEA,EAAEvO,OAAOuO,EAAE4sC,QAAQn7C,OAAOuO,EAAEvO,OAAOuO,EAAEA,EAAE4sC,SACjH,SAASylB,GAAG14E,EAAEC,GAAG,GAAGuoE,IAAI,oBAAoBA,GAAGmQ,qBAAqB,IAAInQ,GAAGmQ,qBAAqBpQ,GAAGtoE,GAAG,MAAMysC,IAAI,OAAOzsC,EAAEmU,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAmB,GAAG,QAAnBpU,EAAEC,EAAE0rE,cAAyC,QAAf3rE,EAAEA,EAAEiuE,YAAqB,CAAC,IAAI5nD,EAAErmB,EAAEA,EAAE9K,KAAK,EAAE,CAAC,IAAIqa,EAAE8W,EAAEnlB,EAAEqO,EAAEojE,QAAgB,GAARpjE,EAAEA,EAAE6E,SAAO,IAASlT,EAAE,GAAG,KAAO,EAAFqO,GAAKgpE,GAAGt4E,EAAEomB,OAAO,CAAC9W,EAAEtP,EAAE,IAAIiB,IAAI,MAAMwrC,GAAGyrC,GAAG5oE,EAAEm9B,IAAIrmB,EAAEA,EAAEnxB,WAAWmxB,IAAIrmB,GAAG,MAAM,KAAK,EAAsB,GAApBk4E,GAAGj4E,GAAoB,oBAAjBD,EAAEC,EAAEmxD,WAAmC13D,qBAAqB,IAAIsG,EAAEhK,MAAMiK,EAAEsvE,cAAcvvE,EAAEpG,MAAMqG,EAAE4yD,cAAc7yD,EAAEtG,uBAAuB,MAAMgzC,GAAGyrC,GAAGl4E,EAC/gBysC,GAAG,MAAM,KAAK,EAAEwrC,GAAGj4E,GAAG,MAAM,KAAK,EAAE24E,GAAG54E,EAAEC,IAAI,SAAS44E,GAAG74E,GAAGA,EAAE2yD,UAAU,KAAK3yD,EAAEtE,MAAM,KAAKsE,EAAEmrE,aAAa,KAAKnrE,EAAEmuE,YAAY,KAAKnuE,EAAEiuE,WAAW,KAAKjuE,EAAEuvE,cAAc,KAAKvvE,EAAE6yD,cAAc,KAAK7yD,EAAE+vE,aAAa,KAAK/vE,EAAE8X,OAAO,KAAK9X,EAAE2rE,YAAY,KAAK,SAASmN,GAAG94E,GAAG,OAAO,IAAIA,EAAEoU,KAAK,IAAIpU,EAAEoU,KAAK,IAAIpU,EAAEoU,IACnS,SAAS2kE,GAAG/4E,GAAGA,EAAE,CAAC,IAAI,IAAIC,EAAED,EAAE8X,OAAO,OAAO7X,GAAG,CAAC,GAAG64E,GAAG74E,GAAG,MAAMD,EAAEC,EAAEA,EAAE6X,OAAO,MAAMzZ,MAAM8b,EAAE,MAAO,IAAIkM,EAAEpmB,EAAgB,OAAdA,EAAEomB,EAAE+qC,UAAiB/qC,EAAEjS,KAAK,KAAK,EAAE,IAAI7E,GAAE,EAAG,MAAM,KAAK,EAA+B,KAAK,EAAEtP,EAAEA,EAAE+0D,cAAczlD,GAAE,EAAG,MAAM,QAAQ,MAAMlR,MAAM8b,EAAE,MAAe,GAARkM,EAAEm9B,QAAWwL,GAAG/uD,EAAE,IAAIomB,EAAEm9B,QAAQ,IAAIxjD,EAAEC,EAAE,IAAIomB,EAAErmB,IAAI,CAAC,KAAK,OAAOqmB,EAAE4sC,SAAS,CAAC,GAAG,OAAO5sC,EAAEvO,QAAQghE,GAAGzyD,EAAEvO,QAAQ,CAACuO,EAAE,KAAK,MAAMrmB,EAAEqmB,EAAEA,EAAEvO,OAAiC,IAA1BuO,EAAE4sC,QAAQn7C,OAAOuO,EAAEvO,OAAWuO,EAAEA,EAAE4sC,QAAQ,IAAI5sC,EAAEjS,KAAK,IAAIiS,EAAEjS,KAAK,KAAKiS,EAAEjS,KAAK,CAAC,GAAW,EAARiS,EAAEm9B,MAAQ,SAASvjD,EAAE,GAAG,OAC/eomB,EAAE3qB,OAAO,IAAI2qB,EAAEjS,IAAI,SAASnU,EAAOomB,EAAE3qB,MAAMoc,OAAOuO,EAAEA,EAAEA,EAAE3qB,MAAM,KAAa,EAAR2qB,EAAEm9B,OAAS,CAACn9B,EAAEA,EAAE+qC,UAAU,MAAMpxD,GAAGuP,EAAEypE,GAAGh5E,EAAEqmB,EAAEpmB,GAAGg5E,GAAGj5E,EAAEqmB,EAAEpmB,GACzH,SAAS+4E,GAAGh5E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEvP,EAAEoU,IAAIlT,EAAE,IAAIqO,GAAG,IAAIA,EAAE,GAAGrO,EAAElB,EAAEkB,EAAElB,EAAEoxD,UAAUpxD,EAAEoxD,UAAU1tC,SAASzjB,EAAE,IAAIomB,EAAE6oC,SAAS7oC,EAAErQ,WAAWrB,aAAa3U,EAAEC,GAAGomB,EAAE1R,aAAa3U,EAAEC,IAAI,IAAIomB,EAAE6oC,UAAUjvD,EAAEomB,EAAErQ,YAAarB,aAAa3U,EAAEqmB,IAAKpmB,EAAEomB,GAAIhR,YAAYrV,GAA4B,QAAxBqmB,EAAEA,EAAE6yD,2BAA8B,IAAS7yD,GAAG,OAAOpmB,EAAE42E,UAAU52E,EAAE42E,QAAQrQ,UAAU,GAAG,IAAIj3D,GAAc,QAAVvP,EAAEA,EAAEtE,OAAgB,IAAIs9E,GAAGh5E,EAAEC,EAAEomB,GAAGrmB,EAAEA,EAAEizD,QAAQ,OAAOjzD,GAAGg5E,GAAGh5E,EAAEC,EAAEomB,GAAGrmB,EAAEA,EAAEizD,QAC9Y,SAASgmB,GAAGj5E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEvP,EAAEoU,IAAIlT,EAAE,IAAIqO,GAAG,IAAIA,EAAE,GAAGrO,EAAElB,EAAEkB,EAAElB,EAAEoxD,UAAUpxD,EAAEoxD,UAAU1tC,SAASzjB,EAAEomB,EAAE1R,aAAa3U,EAAEC,GAAGomB,EAAEhR,YAAYrV,QAAQ,GAAG,IAAIuP,GAAc,QAAVvP,EAAEA,EAAEtE,OAAgB,IAAIu9E,GAAGj5E,EAAEC,EAAEomB,GAAGrmB,EAAEA,EAAEizD,QAAQ,OAAOjzD,GAAGi5E,GAAGj5E,EAAEC,EAAEomB,GAAGrmB,EAAEA,EAAEizD,QACrN,SAAS2lB,GAAG54E,EAAEC,GAAG,IAAI,IAAaiB,EAAEwrC,EAAXrmB,EAAEpmB,EAAEsP,GAAE,IAAS,CAAC,IAAIA,EAAE,CAACA,EAAE8W,EAAEvO,OAAO9X,EAAE,OAAO,CAAC,GAAG,OAAOuP,EAAE,MAAMlR,MAAM8b,EAAE,MAAoB,OAAdjZ,EAAEqO,EAAE6hD,UAAiB7hD,EAAE6E,KAAK,KAAK,EAAEs4B,GAAE,EAAG,MAAM1sC,EAAE,KAAK,EAAiC,KAAK,EAAEkB,EAAEA,EAAE8zD,cAActoB,GAAE,EAAG,MAAM1sC,EAAEuP,EAAEA,EAAEuI,OAAOvI,GAAE,EAAG,GAAG,IAAI8W,EAAEjS,KAAK,IAAIiS,EAAEjS,IAAI,CAACpU,EAAE,IAAI,IAAI8mD,EAAE9mD,EAAEgd,EAAEqJ,EAAE1nB,EAAEqe,IAAI,GAAG07D,GAAG5xB,EAAEnoD,GAAG,OAAOA,EAAEjD,OAAO,IAAIiD,EAAEyV,IAAIzV,EAAEjD,MAAMoc,OAAOnZ,EAAEA,EAAEA,EAAEjD,UAAU,CAAC,GAAGiD,IAAIqe,EAAE,MAAMhd,EAAE,KAAK,OAAOrB,EAAEs0D,SAAS,CAAC,GAAG,OAAOt0D,EAAEmZ,QAAQnZ,EAAEmZ,SAASkF,EAAE,MAAMhd,EAAErB,EAAEA,EAAEmZ,OAAOnZ,EAAEs0D,QAAQn7C,OAAOnZ,EAAEmZ,OAAOnZ,EAAEA,EAAEs0D,QAAQvmB,GAAGoa,EAAE5lD,EAAE8b,EAAEqJ,EAAE+qC,UACrf,IAAItK,EAAEoI,SAASpI,EAAE9wC,WAAWC,YAAY+G,GAAG8pC,EAAE7wC,YAAY+G,IAAI9b,EAAE+U,YAAYoQ,EAAE+qC,gBAAgB,GAAG,IAAI/qC,EAAEjS,KAAK,GAAG,OAAOiS,EAAE3qB,MAAM,CAACwF,EAAEmlB,EAAE+qC,UAAU4D,cAActoB,GAAE,EAAGrmB,EAAE3qB,MAAMoc,OAAOuO,EAAEA,EAAEA,EAAE3qB,MAAM,eAAe,GAAGg9E,GAAG14E,EAAEqmB,GAAG,OAAOA,EAAE3qB,MAAM,CAAC2qB,EAAE3qB,MAAMoc,OAAOuO,EAAEA,EAAEA,EAAE3qB,MAAM,SAAS,GAAG2qB,IAAIpmB,EAAE,MAAM,KAAK,OAAOomB,EAAE4sC,SAAS,CAAC,GAAG,OAAO5sC,EAAEvO,QAAQuO,EAAEvO,SAAS7X,EAAE,OAAkB,KAAXomB,EAAEA,EAAEvO,QAAa1D,MAAM7E,GAAE,GAAI8W,EAAE4sC,QAAQn7C,OAAOuO,EAAEvO,OAAOuO,EAAEA,EAAE4sC,SAClZ,SAASkmB,GAAGn5E,EAAEC,GAAG,OAAOA,EAAEmU,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIiS,EAAEpmB,EAAE0rE,YAAyC,GAAG,QAAhCtlD,EAAE,OAAOA,EAAEA,EAAE4nD,WAAW,MAAiB,CAAC,IAAI1+D,EAAE8W,EAAEA,EAAEnxB,KAAK,GAAG,KAAW,EAANqa,EAAE6E,OAASpU,EAAEuP,EAAEojE,QAAQpjE,EAAEojE,aAAQ,OAAO,IAAS3yE,GAAGA,KAAKuP,EAAEA,EAAEra,WAAWqa,IAAI8W,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,EAAgB,GAAG,OAAjBA,EAAEpmB,EAAEmxD,WAAqB,CAAC7hD,EAAEtP,EAAEsvE,cAAc,IAAIruE,EAAE,OAAOlB,EAAEA,EAAEuvE,cAAchgE,EAAEvP,EAAEC,EAAEkS,KAAK,IAAIu6B,EAAEzsC,EAAE0rE,YAA+B,GAAnB1rE,EAAE0rE,YAAY,KAAQ,OAAOj/B,EAAE,CAAgF,IAA/ErmB,EAAEihD,IAAI/3D,EAAE,UAAUvP,GAAG,UAAUuP,EAAE4C,MAAM,MAAM5C,EAAExW,MAAM00D,GAAGpnC,EAAE9W,GAAGmhD,GAAG1wD,EAAEkB,GAAGjB,EAAEywD,GAAG1wD,EAAEuP,GAAOrO,EAAE,EAAEA,EAAEwrC,EAAE74C,OAAOqN,GAClf,EAAE,CAAC,IAAI4lD,EAAEpa,EAAExrC,GAAG8b,EAAE0vB,EAAExrC,EAAE,GAAG,UAAU4lD,EAAE2I,GAAGppC,EAAErJ,GAAG,4BAA4B8pC,EAAE6H,GAAGtoC,EAAErJ,GAAG,aAAa8pC,EAAEkI,GAAG3oC,EAAErJ,GAAGytC,EAAGpkC,EAAEygC,EAAE9pC,EAAE/c,GAAG,OAAOD,GAAG,IAAK,QAAQ0tD,GAAGrnC,EAAE9W,GAAG,MAAM,IAAK,WAAW6+C,GAAG/nC,EAAE9W,GAAG,MAAM,IAAK,SAASvP,EAAEqmB,EAAE+mC,cAAcupB,YAAYtwD,EAAE+mC,cAAcupB,cAAcpnE,EAAEqnE,SAAmB,OAAVlqC,EAAEn9B,EAAEla,OAAc24D,GAAG3nC,IAAI9W,EAAEqnE,SAASlqC,GAAE,GAAI1sC,MAAMuP,EAAEqnE,WAAW,MAAMrnE,EAAEs8B,aAAamiB,GAAG3nC,IAAI9W,EAAEqnE,SAASrnE,EAAEs8B,cAAa,GAAImiB,GAAG3nC,IAAI9W,EAAEqnE,SAASrnE,EAAEqnE,SAAS,GAAG,IAAG,MAAO,OAAO,KAAK,EAAE,GAAG,OAAO32E,EAAEmxD,UAAU,MAAM/yD,MAAM8b,EAAE,MAC/c,YADqdla,EAAEmxD,UAAUjC,UACjflvD,EAAEsvE,eAAqB,KAAK,EAA8D,aAA5DlpD,EAAEpmB,EAAEmxD,WAAYn8C,UAAUoR,EAAEpR,SAAQ,EAAGwgD,GAAGpvC,EAAE2uC,iBAAuB,KAAK,GAAG,OAAO,KAAK,GAAyD,OAAtD,OAAO/0D,EAAE4yD,gBAAgBumB,GAAG/xB,KAAIoxB,GAAGx4E,EAAEvE,OAAM,SAAK29E,GAAGp5E,GAAU,KAAK,GAAS,YAANo5E,GAAGp5E,GAAU,KAAK,GAAG,OAAO,KAAK,GAAG,KAAK,GAAgC,YAA7Bw4E,GAAGx4E,EAAE,OAAOA,EAAE4yD,eAAsB,MAAMx0D,MAAM8b,EAAE,MAAO,SAASk/D,GAAGr5E,GAAG,IAAIC,EAAED,EAAE2rE,YAAY,GAAG,OAAO1rE,EAAE,CAACD,EAAE2rE,YAAY,KAAK,IAAItlD,EAAErmB,EAAEoxD,UAAU,OAAO/qC,IAAIA,EAAErmB,EAAEoxD,UAAU,IAAI4mB,IAAI/3E,EAAEvD,SAAQ,SAASuD,GAAG,IAAIsP,EAAE+pE,GAAG5lC,KAAK,KAAK1zC,EAAEC,GAAGomB,EAAEoxB,IAAIx3C,KAAKomB,EAAEovB,IAAIx1C,GAAGA,EAAEzC,KAAK+R,EAAEA,QACne,SAASgqE,GAAGv5E,EAAEC,GAAG,OAAO,OAAOD,IAAsB,QAAlBA,EAAEA,EAAE6yD,gBAAwB,OAAO7yD,EAAE8yD,cAA+B,QAAlB7yD,EAAEA,EAAE4yD,gBAAwB,OAAO5yD,EAAE6yD,YAAe,IAAI0mB,GAAGz1E,KAAK01E,KAAKC,GAAG3uB,EAAGjD,uBAAuB6xB,GAAG5uB,EAAG/C,kBAAkB4xB,GAAE,EAAExH,GAAE,KAAKyH,GAAE,KAAK3C,GAAE,EAAE4C,GAAG,EAAEC,GAAGrS,GAAG,GAAGqP,GAAE,EAAEiD,GAAG,KAAKC,GAAG,EAAEvN,GAAG,EAAEsK,GAAG,EAAEkD,GAAG,EAAEC,GAAG,KAAKf,GAAG,EAAEjC,GAAGiD,IAAS,SAASC,KAAKlD,GAAG9vB,KAAI,IAAI,IA8BsFizB,GA9BlFC,GAAE,KAAK7C,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAK0C,IAAG,EAAGC,GAAG,KAAKC,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAG,EAAG,SAASpO,KAAK,OAAO,KAAO,GAAF4M,IAAMvyB,MAAK,IAAI2zB,GAAGA,GAAGA,GAAG3zB,KAC3e,SAAS4lB,GAAGjtE,GAAY,GAAG,KAAO,GAAnBA,EAAEA,EAAEi1C,OAAkB,OAAO,EAAE,GAAG,KAAO,EAAFj1C,GAAK,OAAO,KAAKkqE,KAAK,EAAE,EAAkB,GAAhB,IAAI+Q,KAAKA,GAAGhB,IAAO,IAAIzP,GAAGl/D,WAAW,CAAC,IAAI4vE,KAAKA,GAAG,OAAOf,GAAGA,GAAGpjB,aAAa,GAAG/2D,EAAEi7E,GAAG,IAAIh7E,EAAE,SAASi7E,GAAsD,OAA7C,KAANj7E,IAAIA,KAA8B,KAAPA,GAAbD,EAAE,SAASA,IAAOA,KAAUC,EAAE,OAAcA,EAA4D,OAA1DD,EAAEkqE,KAAK,KAAO,EAAF0P,KAAM,KAAK55E,EAAEA,EAAEu3D,GAAG,GAAG0jB,IAAaj7E,EAAEu3D,GAAVv3D,EAtK3Q,SAAYA,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,QAAQ,OAAO,GAsKuJq7E,CAAGr7E,GAAUi7E,IAAYj7E,EACnT,SAASktE,GAAGltE,EAAEC,EAAEomB,GAAG,GAAG,GAAGy0D,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK18E,MAAM8b,EAAE,MAAgB,GAAG,QAAbna,EAAEs7E,GAAGt7E,EAAEC,IAAe,OAAO,KAAKy3D,GAAG13D,EAAEC,EAAEomB,GAAGrmB,IAAIoyE,KAAI4E,IAAI/2E,EAAE,IAAI82E,IAAGE,GAAGj3E,EAAEk3E,KAAI,IAAI3nE,EAAE26D,KAAK,IAAIjqE,EAAE,KAAO,EAAF25E,KAAM,KAAO,GAAFA,IAAM2B,GAAGv7E,IAAIw7E,GAAGx7E,EAAEqmB,GAAG,IAAIuzD,KAAIS,KAAK/P,QAAQ,KAAO,EAAFsP,KAAM,KAAKrqE,GAAG,KAAKA,IAAI,OAAOsrE,GAAGA,GAAG,IAAI3jC,IAAI,CAACl3C,IAAI66E,GAAGplC,IAAIz1C,IAAIw7E,GAAGx7E,EAAEqmB,IAAI8zD,GAAGn6E,EAAE,SAASs7E,GAAGt7E,EAAEC,GAAGD,EAAEqrE,OAAOprE,EAAE,IAAIomB,EAAErmB,EAAE2yD,UAAqC,IAA3B,OAAOtsC,IAAIA,EAAEglD,OAAOprE,GAAGomB,EAAErmB,EAAMA,EAAEA,EAAE8X,OAAO,OAAO9X,GAAGA,EAAEirE,YAAYhrE,EAAgB,QAAdomB,EAAErmB,EAAE2yD,aAAqBtsC,EAAE4kD,YAAYhrE,GAAGomB,EAAErmB,EAAEA,EAAEA,EAAE8X,OAAO,OAAO,IAAIuO,EAAEjS,IAAIiS,EAAE+qC,UAAU,KACze,SAASoqB,GAAGx7E,EAAEC,GAAG,IAAI,IAAIomB,EAAErmB,EAAEy7E,aAAalsE,EAAEvP,EAAEi3D,eAAe/1D,EAAElB,EAAEk3D,YAAYxqB,EAAE1sC,EAAE07E,gBAAgB50B,EAAE9mD,EAAE+2D,aAAa,EAAEjQ,GAAG,CAAC,IAAI9pC,EAAE,GAAGm6C,GAAGrQ,GAAGnoD,EAAE,GAAGqe,EAAEmoC,EAAEzY,EAAE1vB,GAAG,IAAI,IAAImoC,GAAG,GAAG,KAAKxmD,EAAE4Q,IAAI,KAAK5Q,EAAEuC,GAAG,CAACikD,EAAEllD,EAAE42D,GAAGl4D,GAAG,IAAIC,EAAE4tC,GAAEE,EAAE1vB,GAAG,IAAIpe,EAAEumD,EAAE,IAAI,GAAGvmD,EAAEumD,EAAE,KAAK,QAAQA,GAAGllD,IAAID,EAAEg3D,cAAcr4D,GAAGmoD,IAAInoD,EAAwB,GAAtB4Q,EAAEunD,GAAG92D,EAAEA,IAAIoyE,GAAE8E,GAAE,GAAGj3E,EAAEusC,GAAK,IAAIj9B,EAAE,OAAO8W,IAAIA,IAAIujD,IAAIjB,GAAGtiD,GAAGrmB,EAAEy7E,aAAa,KAAKz7E,EAAE27E,iBAAiB,OAAO,CAAC,GAAG,OAAOt1D,EAAE,CAAC,GAAGrmB,EAAE27E,mBAAmB17E,EAAE,OAAOomB,IAAIujD,IAAIjB,GAAGtiD,GAAG,KAAKpmB,GAAGomB,EAAEk1D,GAAG7nC,KAAK,KAAK1zC,GAAG,OAAO8pE,IAAIA,GAAG,CAACzjD,GAAG0jD,GAAGrB,GAAGU,GAAGmB,KAAKT,GAAG10E,KAAKixB,GACrfA,EAAEujD,IAAI,KAAK3pE,EAAEomB,EAAEgkD,GAAG,GAAGkR,GAAG7nC,KAAK,KAAK1zC,IAAaqmB,EAAEgkD,GAAVhkD,EAzK+F,SAAYrmB,GAAG,OAAOA,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,QAAQ,MAAM3B,MAAM8b,EAAE,IAAIna,KAyKxT47E,CAAG37E,GAAU47E,GAAGnoC,KAAK,KAAK1zC,IAAKA,EAAE27E,iBAAiB17E,EAAED,EAAEy7E,aAAap1D,GAC5G,SAASw1D,GAAG77E,GAAiB,GAAdg7E,IAAI,EAAEE,GAAGD,GAAG,EAAK,KAAO,GAAFrB,IAAM,MAAMv7E,MAAM8b,EAAE,MAAM,IAAIla,EAAED,EAAEy7E,aAAa,GAAGK,MAAM97E,EAAEy7E,eAAex7E,EAAE,OAAO,KAAK,IAAIomB,EAAEywC,GAAG92D,EAAEA,IAAIoyE,GAAE8E,GAAE,GAAG,GAAG,IAAI7wD,EAAE,OAAO,KAAK,IAAI9W,EAAE8W,EAAMnlB,EAAE04E,GAAEA,IAAG,GAAG,IAAIltC,EAAEqvC,KAAkC,IAA1B3J,KAAIpyE,GAAGk3E,KAAI3nE,IAAE8qE,KAAK2B,GAAGh8E,EAAEuP,MAAM,IAAI0sE,KAAK,MAAM,MAAMj/D,GAAGk/D,GAAGl8E,EAAEgd,GAAgE,GAApD8tD,KAAK4O,GAAGtvE,QAAQsiC,EAAEktC,GAAE14E,EAAE,OAAO24E,GAAEtqE,EAAE,GAAG6iE,GAAE,KAAK8E,GAAE,EAAE3nE,EAAEwnE,IAAM,KAAKkD,GAAGjD,IAAIgF,GAAGh8E,EAAE,QAAQ,GAAG,IAAIuP,EAAE,CAAyF,GAAxF,IAAIA,IAAIqqE,IAAG,GAAG55E,EAAEiV,UAAUjV,EAAEiV,SAAQ,EAAG8xD,GAAG/mE,EAAEg1D,gBAAwB,KAAR3uC,EAAEixC,GAAGt3D,MAAWuP,EAAE4sE,GAAGn8E,EAAEqmB,KAAQ,IAAI9W,EAAE,MAAMtP,EAAE+5E,GAAGgC,GAAGh8E,EAAE,GAAGi3E,GAAGj3E,EAAEqmB,GAAGm1D,GAAGx7E,EAAEqnD,MAAKpnD,EAC3c,OAD6cD,EAAEo8E,aACrfp8E,EAAEoK,QAAQuoD,UAAU3yD,EAAEq8E,cAAch2D,EAAS9W,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMlR,MAAM8b,EAAE,MAAM,KAAK,EAAEmiE,GAAGt8E,GAAG,MAAM,KAAK,EAAU,GAARi3E,GAAGj3E,EAAEqmB,IAAS,SAAFA,KAAcA,GAAiB,IAAb9W,EAAE6pE,GAAG,IAAI/xB,MAAU,CAAC,GAAG,IAAIyP,GAAG92D,EAAE,GAAG,MAAyB,KAAnBkB,EAAElB,EAAEi3D,gBAAqB5wC,KAAKA,EAAE,CAAC2mD,KAAKhtE,EAAEk3D,aAAal3D,EAAEi3D,eAAe/1D,EAAE,MAAMlB,EAAEu8E,cAAc1V,GAAGyV,GAAG5oC,KAAK,KAAK1zC,GAAGuP,GAAG,MAAM+sE,GAAGt8E,GAAG,MAAM,KAAK,EAAU,GAARi3E,GAAGj3E,EAAEqmB,IAAS,QAAFA,KAAaA,EAAE,MAAqB,IAAf9W,EAAEvP,EAAE23D,WAAez2D,GAAG,EAAE,EAAEmlB,GAAG,CAAC,IAAIygC,EAAE,GAAGqQ,GAAG9wC,GAAGqmB,EAAE,GAAGoa,GAAEA,EAAEv3C,EAAEu3C,IAAK5lD,IAAIA,EAAE4lD,GAAGzgC,IAAIqmB,EACjZ,GADmZrmB,EAAEnlB,EAClZ,IAD4ZmlB,GAAG,KAAXA,EAAEghC,KAAIhhC,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAClfA,EAAE,KAAK,KAAKmzD,GAAGnzD,EAAE,OAAOA,GAAU,CAACrmB,EAAEu8E,cAAc1V,GAAGyV,GAAG5oC,KAAK,KAAK1zC,GAAGqmB,GAAG,MAAMi2D,GAAGt8E,GAAG,MAAM,KAAK,EAAEs8E,GAAGt8E,GAAG,MAAM,QAAQ,MAAM3B,MAAM8b,EAAE,OAAkB,OAAVqhE,GAAGx7E,EAAEqnD,MAAYrnD,EAAEy7E,eAAex7E,EAAE47E,GAAGnoC,KAAK,KAAK1zC,GAAG,KAAK,SAASi3E,GAAGj3E,EAAEC,GAAuD,IAApDA,IAAIi6E,GAAGj6E,IAAI+2E,GAAGh3E,EAAEi3D,gBAAgBh3D,EAAED,EAAEk3D,cAAcj3D,EAAMD,EAAEA,EAAE07E,gBAAgB,EAAEz7E,GAAG,CAAC,IAAIomB,EAAE,GAAG8wC,GAAGl3D,GAAGsP,EAAE,GAAG8W,EAAErmB,EAAEqmB,IAAI,EAAEpmB,IAAIsP,GAC1U,SAASgsE,GAAGv7E,GAAG,GAAG,KAAO,GAAF45E,IAAM,MAAMv7E,MAAM8b,EAAE,MAAW,GAAL2hE,KAAQ97E,IAAIoyE,IAAG,KAAKpyE,EAAEg3D,aAAakgB,IAAG,CAAC,IAAIj3E,EAAEi3E,GAAM7wD,EAAE81D,GAAGn8E,EAAEC,GAAG,KAAKg6E,GAAGjD,MAAgB3wD,EAAE81D,GAAGn8E,EAAfC,EAAE62D,GAAG92D,EAAEC,UAA6BomB,EAAE81D,GAAGn8E,EAAfC,EAAE62D,GAAG92D,EAAE,IAAgH,GAAnG,IAAIA,EAAEoU,KAAK,IAAIiS,IAAIuzD,IAAG,GAAG55E,EAAEiV,UAAUjV,EAAEiV,SAAQ,EAAG8xD,GAAG/mE,EAAEg1D,gBAAwB,KAAR/0D,EAAEq3D,GAAGt3D,MAAWqmB,EAAE81D,GAAGn8E,EAAEC,KAAQ,IAAIomB,EAAE,MAAMA,EAAE2zD,GAAGgC,GAAGh8E,EAAE,GAAGi3E,GAAGj3E,EAAEC,GAAGu7E,GAAGx7E,EAAEqnD,MAAKhhC,EAAuE,OAArErmB,EAAEo8E,aAAap8E,EAAEoK,QAAQuoD,UAAU3yD,EAAEq8E,cAAcp8E,EAAEq8E,GAAGt8E,GAAGw7E,GAAGx7E,EAAEqnD,MAAY,KACnR,SAASm1B,GAAGx8E,EAAEC,GAAG,IAAIomB,EAAEuzD,GAAEA,IAAG,EAAE,IAAI,OAAO55E,EAAEC,GAAb,QAA4B,KAAJ25E,GAAEvzD,KAAUg0D,KAAK/P,OAAO,SAASmS,GAAGz8E,EAAEC,GAAG,IAAIomB,EAAEuzD,GAAEA,KAAI,EAAEA,IAAG,EAAE,IAAI,OAAO55E,EAAEC,GAAb,QAA4B,KAAJ25E,GAAEvzD,KAAUg0D,KAAK/P,OAAO,SAASqK,GAAG30E,EAAEC,GAAGymD,GAAEqzB,GAAGD,IAAIA,IAAI75E,EAAEg6E,IAAIh6E,EAAE,SAASm3E,KAAK0C,GAAGC,GAAG3vE,QAAQq8C,GAAEszB,IAC5V,SAASiC,GAAGh8E,EAAEC,GAAGD,EAAEo8E,aAAa,KAAKp8E,EAAEq8E,cAAc,EAAE,IAAIh2D,EAAErmB,EAAEu8E,cAAiD,IAAlC,IAAIl2D,IAAIrmB,EAAEu8E,eAAe,EAAEzV,GAAGzgD,IAAO,OAAOwzD,GAAE,IAAIxzD,EAAEwzD,GAAE/hE,OAAO,OAAOuO,GAAG,CAAC,IAAI9W,EAAE8W,EAAE,OAAO9W,EAAE6E,KAAK,KAAK,EAA6B,QAA3B7E,EAAEA,EAAE4C,KAAKR,yBAA4B,IAASpC,GAAG04D,KAAK,MAAM,KAAK,EAAEkH,KAAK1oB,GAAEU,IAAGV,GAAES,IAAGmpB,KAAK,MAAM,KAAK,EAAEhB,GAAG9/D,GAAG,MAAM,KAAK,EAAE4/D,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG1oB,GAAEc,IAAG,MAAM,KAAK,GAAGwjB,GAAGx7D,GAAG,MAAM,KAAK,GAAG,KAAK,GAAG6nE,KAAK/wD,EAAEA,EAAEvO,OAAOs6D,GAAEpyE,EAAE65E,GAAEzL,GAAGpuE,EAAEoK,QAAQ,MAAM8sE,GAAE4C,GAAGG,GAAGh6E,EAAE82E,GAAE,EAAEiD,GAAG,KAAKE,GAAGlD,GAAGtK,GAAG,EACvc,SAASwP,GAAGl8E,EAAEC,GAAG,OAAE,CAAC,IAAIomB,EAAEwzD,GAAE,IAAuB,GAAnB/O,KAAKyF,GAAGnmE,QAAQ8mE,GAAMR,GAAG,CAAC,IAAI,IAAInhE,EAAEo4C,GAAEkL,cAAc,OAAOtjD,GAAG,CAAC,IAAIrO,EAAEqO,EAAE8hE,MAAM,OAAOnwE,IAAIA,EAAE8qE,QAAQ,MAAMz8D,EAAEA,EAAEra,KAAKw7E,IAAG,EAAyC,GAAtCD,GAAG,EAAE5oB,GAAED,GAAED,GAAE,KAAKgpB,IAAG,EAAGgJ,GAAGvvE,QAAQ,KAAQ,OAAOic,GAAG,OAAOA,EAAEvO,OAAO,CAACi/D,GAAE,EAAEiD,GAAG/5E,EAAE45E,GAAE,KAAK,MAAM75E,EAAE,CAAC,IAAI0sC,EAAE1sC,EAAE8mD,EAAEzgC,EAAEvO,OAAOkF,EAAEqJ,EAAE1nB,EAAEsB,EAAoD,GAAlDA,EAAEi3E,GAAEl6D,EAAEwmC,OAAO,KAAKxmC,EAAEmxD,YAAYnxD,EAAEixD,WAAW,KAAQ,OAAOtvE,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEnB,KAAK,CAAC,IAAI2nD,EAAExmD,EAAE,GAAG,KAAY,EAAPqe,EAAEi4B,MAAQ,CAAC,IAAIr2C,EAAEoe,EAAE21C,UAAU/zD,GAAGoe,EAAE2uD,YAAY/sE,EAAE+sE,YAAY3uD,EAAE61C,cAAcj0D,EAAEi0D,cAAc71C,EAAEquD,MAAMzsE,EAAEysE,QACpfruD,EAAE2uD,YAAY,KAAK3uD,EAAE61C,cAAc,MAAM,IAAIjN,EAAE,KAAe,EAAV2B,GAAEn9C,SAAW0J,EAAEgzC,EAAE,EAAE,CAAC,IAAIvwD,EAAE,GAAGA,EAAE,KAAKud,EAAEM,IAAI,CAAC,IAAI8F,EAAEpG,EAAE++C,cAAc,GAAG,OAAO34C,EAAE3jB,EAAE,OAAO2jB,EAAE44C,eAAqB,CAAC,IAAI5rC,EAAEpT,EAAEy7D,cAAch5E,OAAE,IAAS2wB,EAAEwuD,YAAY,IAAKxuD,EAAEyuD,6BAA8B/vB,IAAS,GAAGrvD,EAAE,CAAC,IAAI6jB,EAAEtG,EAAE63D,YAAY,GAAG,OAAOvxD,EAAE,CAAC,IAAIqrC,EAAE,IAAIvO,IAAIuO,EAAEhQ,IAAI0P,GAAGrxC,EAAE63D,YAAYlmB,OAAOrrC,EAAEq7B,IAAI0P,GAAG,GAAG,KAAY,EAAPrxC,EAAEmhC,MAAQ,CAA2C,GAA1CnhC,EAAE0vC,OAAO,GAAGxmC,EAAEwmC,OAAO,MAAMxmC,EAAEwmC,QAAQ,KAAQ,IAAIxmC,EAAE5I,IAAI,GAAG,OAAO4I,EAAE21C,UAAU31C,EAAE5I,IAAI,OAAO,CAAC,IAAIgS,EAAE+lD,IAAI,EAAE,GAAG/lD,EAAEhS,IAAI,EAAEm4D,GAAGvvD,EAAEoJ,GAAGpJ,EAAEquD,OAAO,EAAE,MAAMrrE,EAAErB,OAC5f,EAAOqe,EAAE/c,EAAE,IAAIqlD,EAAE5Y,EAAEgwC,UAA+G,GAArG,OAAOp3B,GAAGA,EAAE5Y,EAAEgwC,UAAU,IAAIlF,GAAG74E,EAAE,IAAIu4C,IAAIoO,EAAE55C,IAAIy5C,EAAExmD,SAAgB,KAAXA,EAAE2mD,EAAEtqC,IAAImqC,MAAgBxmD,EAAE,IAAIu4C,IAAIoO,EAAE55C,IAAIy5C,EAAExmD,KAASA,EAAE84C,IAAIz6B,GAAG,CAACre,EAAE82C,IAAIz4B,GAAG,IAAI0oC,EAAEi3B,GAAGjpC,KAAK,KAAKhH,EAAEyY,EAAEnoC,GAAGmoC,EAAE3nD,KAAKkoD,EAAEA,GAAG5xC,EAAE0vC,OAAO,KAAK1vC,EAAEu3D,MAAMprE,EAAE,MAAMD,EAAE8T,EAAEA,EAAEgE,aAAa,OAAOhE,GAAGnV,EAAEN,OAAOouD,EAAGzvC,EAAE7K,OAAO,qBAAqB,yLAAyL,IAAI4kE,KAAIA,GAAE,GAAGp4E,EAAE24E,GAAG34E,EAAEqe,GAAGlJ,EACpfgzC,EAAE,EAAE,CAAC,OAAOhzC,EAAEM,KAAK,KAAK,EAAEs4B,EAAE/tC,EAAEmV,EAAE0vC,OAAO,KAAKvjD,IAAIA,EAAE6T,EAAEu3D,OAAOprE,EAAkBusE,GAAG14D,EAAb2jE,GAAG3jE,EAAE44B,EAAEzsC,IAAW,MAAMD,EAAE,KAAK,EAAE0sC,EAAE/tC,EAAE,IAAI2oD,EAAExzC,EAAE3B,KAAKq1C,EAAE1zC,EAAEs9C,UAAU,GAAG,KAAa,GAARt9C,EAAE0vC,SAAY,oBAAoB8D,EAAEt1C,0BAA0B,OAAOw1C,GAAG,oBAAoBA,EAAEqwB,oBAAoB,OAAOC,KAAKA,GAAGrgC,IAAI+P,KAAK,CAAC1zC,EAAE0vC,OAAO,KAAKvjD,IAAIA,EAAE6T,EAAEu3D,OAAOprE,EAAkBusE,GAAG14D,EAAb8jE,GAAG9jE,EAAE44B,EAAEzsC,IAAW,MAAMD,GAAG8T,EAAEA,EAAEgE,aAAa,OAAOhE,GAAG8oE,GAAGv2D,GAAG,MAAMw2D,GAAI58E,EAAE48E,EAAGhD,KAAIxzD,GAAG,OAAOA,IAAIwzD,GAAExzD,EAAEA,EAAEvO,QAAQ,SAAS,OAC/a,SAASikE,KAAK,IAAI/7E,EAAE05E,GAAGtvE,QAAsB,OAAdsvE,GAAGtvE,QAAQ8mE,GAAU,OAAOlxE,EAAEkxE,GAAGlxE,EAAE,SAASm8E,GAAGn8E,EAAEC,GAAG,IAAIomB,EAAEuzD,GAAEA,IAAG,GAAG,IAAIrqE,EAAEwsE,KAA2B,IAAtB3J,KAAIpyE,GAAGk3E,KAAIj3E,GAAG+7E,GAAGh8E,EAAEC,KAAM,IAAI68E,KAAK,MAAM,MAAM57E,GAAGg7E,GAAGl8E,EAAEkB,GAAkC,GAAtB4pE,KAAK8O,GAAEvzD,EAAEqzD,GAAGtvE,QAAQmF,EAAK,OAAOsqE,GAAE,MAAMx7E,MAAM8b,EAAE,MAAiB,OAAXi4D,GAAE,KAAK8E,GAAE,EAASH,GAAE,SAAS+F,KAAK,KAAK,OAAOjD,IAAGkD,GAAGlD,IAAG,SAASoC,KAAK,KAAK,OAAOpC,KAAIhR,MAAMkU,GAAGlD,IAAG,SAASkD,GAAG/8E,GAAG,IAAIC,EAAEq6E,GAAGt6E,EAAE2yD,UAAU3yD,EAAE85E,IAAI95E,EAAEuvE,cAAcvvE,EAAE+vE,aAAa,OAAO9vE,EAAE28E,GAAG58E,GAAG65E,GAAE55E,EAAE05E,GAAGvvE,QAAQ,KAC5a,SAASwyE,GAAG58E,GAAG,IAAIC,EAAED,EAAE,EAAE,CAAC,IAAIqmB,EAAEpmB,EAAE0yD,UAAqB,GAAX3yD,EAAEC,EAAE6X,OAAU,KAAa,KAAR7X,EAAEujD,OAAY,CAAc,GAAG,QAAhBn9B,EAAEqwD,GAAGrwD,EAAEpmB,EAAE65E,KAAqB,YAAJD,GAAExzD,GAAa,GAAG,MAAPA,EAAEpmB,GAAYmU,KAAK,KAAKiS,EAAEjS,KAAK,OAAOiS,EAAEwsC,eAAe,KAAQ,WAAHinB,KAAgB,KAAY,EAAPzzD,EAAE4uB,MAAQ,CAAC,IAAI,IAAI1lC,EAAE,EAAErO,EAAEmlB,EAAE3qB,MAAM,OAAOwF,GAAGqO,GAAGrO,EAAEmqE,MAAMnqE,EAAE+pE,WAAW/pE,EAAEA,EAAE+xD,QAAQ5sC,EAAE4kD,WAAW17D,EAAE,OAAOvP,GAAG,KAAa,KAARA,EAAEwjD,SAAc,OAAOxjD,EAAEmuE,cAAcnuE,EAAEmuE,YAAYluE,EAAEkuE,aAAa,OAAOluE,EAAEguE,aAAa,OAAOjuE,EAAEiuE,aAAajuE,EAAEiuE,WAAWC,WAAWjuE,EAAEkuE,aAAanuE,EAAEiuE,WAAWhuE,EAAEguE,YAAY,EAAEhuE,EAAEujD,QAAQ,OAC/exjD,EAAEiuE,WAAWjuE,EAAEiuE,WAAWC,WAAWjuE,EAAED,EAAEmuE,YAAYluE,EAAED,EAAEiuE,WAAWhuE,QAAQ,CAAS,GAAG,QAAXomB,EAAEgxD,GAAGp3E,IAAkC,OAAlBomB,EAAEm9B,OAAO,UAAKq2B,GAAExzD,GAAS,OAAOrmB,IAAIA,EAAEmuE,YAAYnuE,EAAEiuE,WAAW,KAAKjuE,EAAEwjD,OAAO,MAAkB,GAAG,QAAfvjD,EAAEA,EAAEgzD,SAAyB,YAAJ4mB,GAAE55E,GAAS45E,GAAE55E,EAAED,QAAQ,OAAOC,GAAG,IAAI82E,KAAIA,GAAE,GAAG,SAASuF,GAAGt8E,GAAG,IAAIC,EAAEiqE,KAA8B,OAAzBE,GAAG,GAAG4S,GAAGtpC,KAAK,KAAK1zC,EAAEC,IAAW,KACtT,SAAS+8E,GAAGh9E,EAAEC,GAAG,GAAG67E,WAAW,OAAOrB,IAAI,GAAG,KAAO,GAAFb,IAAM,MAAMv7E,MAAM8b,EAAE,MAAM,IAAIkM,EAAErmB,EAAEo8E,aAAa,GAAG,OAAO/1D,EAAE,OAAO,KAA2C,GAAtCrmB,EAAEo8E,aAAa,KAAKp8E,EAAEq8E,cAAc,EAAKh2D,IAAIrmB,EAAEoK,QAAQ,MAAM/L,MAAM8b,EAAE,MAAMna,EAAEy7E,aAAa,KAAK,IAAIlsE,EAAE8W,EAAEglD,MAAMhlD,EAAE4kD,WAAW/pE,EAAEqO,EAAEm9B,EAAE1sC,EAAE+2D,cAAc71D,EAAElB,EAAE+2D,aAAa71D,EAAElB,EAAEi3D,eAAe,EAAEj3D,EAAEk3D,YAAY,EAAEl3D,EAAEg3D,cAAc91D,EAAElB,EAAEkyE,kBAAkBhxE,EAAElB,EAAEo3D,gBAAgBl2D,EAAEA,EAAElB,EAAEq3D,cAAc,IAAI,IAAIvQ,EAAE9mD,EAAE23D,WAAW36C,EAAEhd,EAAE07E,gBAAgB,EAAEhvC,GAAG,CAAC,IAAI/tC,EAAE,GAAGw4D,GAAGzqB,GAAGyY,EAAE,GAAGxmD,EAAEuC,EAAEvC,GAAG,EAAEmoD,EAAEnoD,IAAI,EAAEqe,EAAEre,IAAI,EAAE+tC,IAAIyY,EACnV,GADqV,OACjf01B,IAAI,KAAO,GAAFtrE,IAAOsrE,GAAGpjC,IAAIz3C,IAAI66E,GAAG9+B,OAAO/7C,GAAGA,IAAIoyE,KAAIyH,GAAEzH,GAAE,KAAK8E,GAAE,GAAG,EAAE7wD,EAAEm9B,MAAM,OAAOn9B,EAAE4nD,YAAY5nD,EAAE4nD,WAAWC,WAAW7nD,EAAE9W,EAAE8W,EAAE8nD,aAAa5+D,EAAE8W,EAAE9W,EAAE8W,EAAE8nD,YAAe,OAAO5+D,EAAE,CAAwC,GAAvCrO,EAAE04E,GAAEA,IAAG,GAAGD,GAAGvvE,QAAQ,KAAKq8D,GAAGrO,GAAagM,GAAVtd,EAAEmd,MAAc,CAAC,GAAG,mBAAmBnd,EAAE9pC,EAAE,CAACwJ,MAAMsgC,EAAE8d,eAAejqE,IAAImsD,EAAE+d,mBAAmB7kE,EAAE,GAAGgd,GAAGA,EAAE8pC,EAAE+G,gBAAgB7wC,EAAE+nD,aAAa3iE,QAAQ+iD,EAAEnoC,EAAEgoD,cAAchoD,EAAEgoD,iBAAiB,IAAI7f,EAAE83B,WAAW,CAACjgE,EAAEmoC,EAAE2f,WAAWp4B,EAAEyY,EAAE8f,aAAatmE,EAAEwmD,EAAE+f,UAAU/f,EAAEA,EAAEggB,YAAY,IAAInoD,EAAEkyC,SAASvwD,EAAEuwD,SAAS,MAAM2tB,GAAI7/D,EAAE,KACnf,MAAMhd,EAAE,IAAIpB,EAAE,EAAEgnD,GAAG,EAAE9xC,GAAG,EAAEvd,EAAE,EAAE2jB,EAAE,EAAEgN,EAAE4/B,EAAE1sC,EAAE,KAAKna,EAAE,OAAO,CAAC,IAAI,IAAIwlD,EAAKv+B,IAAIlK,GAAG,IAAI0vB,GAAG,IAAIxlB,EAAEgoC,WAAWtJ,EAAEhnD,EAAE8tC,GAAGxlB,IAAIvoB,GAAG,IAAIwmD,GAAG,IAAIj+B,EAAEgoC,WAAWp7C,EAAElV,EAAEumD,GAAG,IAAIj+B,EAAEgoC,WAAWtwD,GAAGsoB,EAAEioC,UAAUt7D,QAAW,QAAQ4xD,EAAEv+B,EAAEzS,aAAkB2F,EAAE8M,EAAEA,EAAEu+B,EAAE,OAAO,CAAC,GAAGv+B,IAAI4/B,EAAE,MAAM7mD,EAA8C,GAA5Cma,IAAI4C,KAAKzmB,IAAIm2C,IAAIkZ,EAAEhnD,GAAGwb,IAAIzb,KAAKub,IAAIirC,IAAIrxC,EAAElV,GAAM,QAAQ6mD,EAAEv+B,EAAExS,aAAa,MAAU0F,GAAJ8M,EAAE9M,GAAMpE,WAAWkR,EAAEu+B,EAAEzoC,GAAG,IAAI4oC,IAAI,IAAI9xC,EAAE,KAAK,CAAC0S,MAAMo/B,EAAEjrD,IAAImZ,QAAQkJ,EAAE,KAAKA,EAAEA,GAAG,CAACwJ,MAAM,EAAE7rB,IAAI,QAAQqiB,EAAE,KAAK0pD,GAAG,CAACwW,YAAYp2B,EAAEq2B,eAAengE,GAAGo7C,IAAG,EAAG+iB,GAAG,KAAKC,IAAG,EAAGb,GAAEhrE,EAAE,GAAG,IAAI6tE,KAAK,MAAMP,GAAI,GAAG,OACvgBtC,GAAE,MAAMl8E,MAAM8b,EAAE,MAAMg+D,GAAGoC,GAAEsC,GAAItC,GAAEA,GAAErM,kBAAiB,OAAOqM,IAAGY,GAAG,KAAKZ,GAAEhrE,EAAE,GAAG,IAAI,IAAIu3C,EAAE9mD,EAAE,OAAOu6E,IAAG,CAAC,IAAIn0D,EAAEm0D,GAAE/2B,MAA+B,GAAvB,GAAFp9B,GAAM4oC,GAAGurB,GAAEnpB,UAAU,IAAS,IAAFhrC,EAAM,CAAC,IAAIk/B,EAAEi1B,GAAE5nB,UAAU,GAAG,OAAOrN,EAAE,CAAC,IAAII,EAAEJ,EAAEp7C,IAAI,OAAOw7C,IAAI,oBAAoBA,EAAEA,EAAE,MAAMA,EAAEt7C,QAAQ,OAAO,OAAS,KAAFgc,GAAQ,KAAK,EAAE2yD,GAAGwB,IAAGA,GAAE/2B,QAAQ,EAAE,MAAM,KAAK,EAAEu1B,GAAGwB,IAAGA,GAAE/2B,QAAQ,EAAE21B,GAAGoB,GAAE5nB,UAAU4nB,IAAG,MAAM,KAAK,KAAKA,GAAE/2B,QAAQ,KAAK,MAAM,KAAK,KAAK+2B,GAAE/2B,QAAQ,KAAK21B,GAAGoB,GAAE5nB,UAAU4nB,IAAG,MAAM,KAAK,EAAEpB,GAAGoB,GAAE5nB,UAAU4nB,IAAG,MAAM,KAAK,EAAM3B,GAAG9xB,EAAP9pC,EAAEu9D,IAAU,IAAI1zB,EAAE7pC,EAAE21C,UAAUkmB,GAAG77D,GAAG,OACnf6pC,GAAGgyB,GAAGhyB,GAAG0zB,GAAEA,GAAErM,YAAY,MAAM2O,GAAI,GAAG,OAAOtC,GAAE,MAAMl8E,MAAM8b,EAAE,MAAMg+D,GAAGoC,GAAEsC,GAAItC,GAAEA,GAAErM,kBAAiB,OAAOqM,IAAkD,GAA/C70B,EAAEghB,GAAGphB,EAAE2e,KAAK79C,EAAEs/B,EAAEw3B,YAAYp2B,EAAEpB,EAAEy3B,eAAkB73B,IAAIl/B,GAAGA,GAAGA,EAAEynC,eAAekW,GAAG39C,EAAEynC,cAAchoC,gBAAgBO,GAAG,CAAC,OAAO0gC,GAAGsd,GAAGh+C,KAAKk/B,EAAEwB,EAAEtgC,WAAc,KAARk/B,EAAEoB,EAAEnsD,OAAiB+qD,EAAEJ,GAAG,mBAAmBl/B,GAAGA,EAAEw+C,eAAetf,EAAEl/B,EAAEy+C,aAAa9gE,KAAK+D,IAAI49C,EAAEt/B,EAAE/wB,MAAMxB,UAAU6xD,GAAGJ,EAAEl/B,EAAEynC,eAAexrD,WAAWijD,EAAEyf,aAAa3iE,QAAS4iE,eAAetf,EAAEA,EAAEsf,eAAehoD,EAAEoJ,EAAEkoC,YAAYz6D,OAAOgzD,EAAE9iD,KAAK+D,IAAIg/C,EAAEtgC,MAAMxJ,GAAG8pC,OAAE,IACpfA,EAAEnsD,IAAIksD,EAAE9iD,KAAK+D,IAAIg/C,EAAEnsD,IAAIqiB,IAAI0oC,EAAE23B,QAAQx2B,EAAEC,IAAI9pC,EAAE8pC,EAAEA,EAAED,EAAEA,EAAE7pC,GAAGA,EAAE8mD,GAAG19C,EAAEygC,GAAGna,EAAEo3B,GAAG19C,EAAE0gC,GAAG9pC,GAAG0vB,IAAI,IAAIgZ,EAAEu3B,YAAYv3B,EAAEof,aAAa9nD,EAAErF,MAAM+tC,EAAEuf,eAAejoD,EAAE5D,QAAQssC,EAAEwf,YAAYx4B,EAAE/0B,MAAM+tC,EAAEyf,cAAcz4B,EAAEtzB,WAAUksC,EAAEA,EAAEg4B,eAAgBC,SAASvgE,EAAErF,KAAKqF,EAAE5D,QAAQssC,EAAE83B,kBAAkB32B,EAAEC,GAAGpB,EAAE+3B,SAASn4B,GAAGI,EAAE23B,OAAO3wC,EAAE/0B,KAAK+0B,EAAEtzB,UAAUksC,EAAEo4B,OAAOhxC,EAAE/0B,KAAK+0B,EAAEtzB,QAAQssC,EAAE+3B,SAASn4B,OAAQA,EAAE,GAAG,IAAII,EAAEt/B,EAAEs/B,EAAEA,EAAE1vC,YAAY,IAAI0vC,EAAEwJ,UAAU5J,EAAElwD,KAAK,CAACuG,QAAQ+pD,EAAEl5B,KAAKk5B,EAAEi4B,WAAWz3D,IAAIw/B,EAAE1/B,YAAmD,IAAvC,oBAAoBI,EAAEyc,OAAOzc,EAAEyc,QAAYzc,EACrf,EAAEA,EAAEk/B,EAAEzxD,OAAOuyB,KAAIs/B,EAAEJ,EAAEl/B,IAAKzqB,QAAQgiF,WAAWj4B,EAAEl5B,KAAKk5B,EAAE/pD,QAAQqqB,UAAU0/B,EAAEx/B,IAAIkyC,KAAKqO,GAAGC,GAAGD,GAAG,KAAKzmE,EAAEoK,QAAQic,EAAEk0D,GAAEhrE,EAAE,GAAG,IAAI,IAAI6W,EAAEpmB,EAAE,OAAOu6E,IAAG,CAAC,IAAIjzB,EAAEizB,GAAE/2B,MAAgC,GAAxB,GAAF8D,GAAMgxB,GAAGlyD,EAAEm0D,GAAE5nB,UAAU4nB,IAAQ,IAAFjzB,EAAM,CAAChC,OAAE,EAAO,IAAIkC,EAAE+yB,GAAErwE,IAAI,GAAG,OAAOs9C,EAAE,CAAC,IAAIP,EAAEszB,GAAEnpB,UAAU,OAAOmpB,GAAEnmE,KAAK,KAAK,EAAEkxC,EAAE2B,EAAE,MAAM,QAAQ3B,EAAE2B,EAAE,oBAAoBO,EAAEA,EAAElC,GAAGkC,EAAEp9C,QAAQk7C,GAAGi1B,GAAEA,GAAErM,YAAY,MAAM2O,GAAI,GAAG,OAAOtC,GAAE,MAAMl8E,MAAM8b,EAAE,MAAMg+D,GAAGoC,GAAEsC,GAAItC,GAAEA,GAAErM,kBAAiB,OAAOqM,IAAGA,GAAE,KAAK1Q,KAAK+P,GAAE14E,OAAOlB,EAAEoK,QAAQic,EAAE,GAAGm0D,GAAGA,IAAG,EAAGC,GAAGz6E,EAAE06E,GAAGz6E,OAAO,IAAIs6E,GAAEhrE,EAAE,OAAOgrE,IAAGt6E,EACpfs6E,GAAErM,WAAWqM,GAAErM,WAAW,KAAa,EAARqM,GAAE/2B,SAAU8D,EAAEizB,IAAItnB,QAAQ,KAAK3L,EAAE8J,UAAU,MAAMmpB,GAAEt6E,EAAqF,GAAlE,KAAjBsP,EAAEvP,EAAE+2D,gBAAqB+gB,GAAG,MAAM,IAAIvoE,EAAEvP,IAAI+6E,GAAGD,MAAMA,GAAG,EAAEC,GAAG/6E,GAAG86E,GAAG,EAAEz0D,EAAEA,EAAE+qC,UAAaoX,IAAI,oBAAoBA,GAAGoV,kBAAkB,IAAIpV,GAAGoV,kBAAkBrV,GAAGliD,OAAE,EAAO,MAAsB,GAAhBA,EAAEjc,QAAQo5C,QAAW,MAAMq5B,IAAe,GAAVrB,GAAGx7E,EAAEqnD,MAAQqwB,GAAG,MAAMA,IAAG,EAAG13E,EAAE23E,GAAGA,GAAG,KAAK33E,EAAE,OAAG,KAAO,EAAF45E,KAAiBtP,KAAL,KACjW,SAAS8S,KAAK,KAAK,OAAO7C,IAAG,CAAC,IAAIv6E,EAAEu6E,GAAE5nB,UAAUyoB,IAAI,OAAOD,KAAK,KAAa,EAARZ,GAAE/2B,OAAS2P,GAAGonB,GAAEY,MAAMC,IAAG,GAAI,KAAKb,GAAEnmE,KAAKmlE,GAAGv5E,EAAEu6E,KAAIpnB,GAAGonB,GAAEY,MAAMC,IAAG,IAAK,IAAIn7E,EAAEs6E,GAAE/2B,MAAM,KAAO,IAAFvjD,IAAQm4E,GAAGp4E,EAAEu6E,IAAG,KAAO,IAAFt6E,IAAQu6E,KAAKA,IAAG,EAAGnQ,GAAG,IAAG,WAAgB,OAALyR,KAAY,SAAQvB,GAAEA,GAAErM,YAAY,SAAS4N,KAAK,GAAG,KAAKpB,GAAG,CAAC,IAAI16E,EAAE,GAAG06E,GAAG,GAAGA,GAAS,OAANA,GAAG,GAAUtQ,GAAGpqE,EAAE69E,IAAI,OAAM,EAAG,SAASrF,GAAGx4E,EAAEC,GAAG06E,GAAGvlF,KAAK6K,EAAED,GAAGw6E,KAAKA,IAAG,EAAGnQ,GAAG,IAAG,WAAgB,OAALyR,KAAY,SAAQ,SAASvD,GAAGv4E,EAAEC,GAAG26E,GAAGxlF,KAAK6K,EAAED,GAAGw6E,KAAKA,IAAG,EAAGnQ,GAAG,IAAG,WAAgB,OAALyR,KAAY,SACzd,SAAS+B,KAAK,GAAG,OAAOpD,GAAG,OAAM,EAAG,IAAIz6E,EAAEy6E,GAAW,GAARA,GAAG,KAAQ,KAAO,GAAFb,IAAM,MAAMv7E,MAAM8b,EAAE,MAAM,IAAIla,EAAE25E,GAAEA,IAAG,GAAG,IAAIvzD,EAAEu0D,GAAGA,GAAG,GAAG,IAAI,IAAIrrE,EAAE,EAAEA,EAAE8W,EAAExyB,OAAO0b,GAAG,EAAE,CAAC,IAAIrO,EAAEmlB,EAAE9W,GAAGm9B,EAAErmB,EAAE9W,EAAE,GAAGu3C,EAAE5lD,EAAEyxE,QAAyB,GAAjBzxE,EAAEyxE,aAAQ,EAAU,oBAAoB7rB,EAAE,IAAIA,IAAI,MAAMnoD,GAAG,GAAG,OAAO+tC,EAAE,MAAMruC,MAAM8b,EAAE,MAAMg+D,GAAGzrC,EAAE/tC,IAAe,IAAX0nB,EAAEs0D,GAAGA,GAAG,GAAOprE,EAAE,EAAEA,EAAE8W,EAAExyB,OAAO0b,GAAG,EAAE,CAACrO,EAAEmlB,EAAE9W,GAAGm9B,EAAErmB,EAAE9W,EAAE,GAAG,IAAI,IAAIyN,EAAE9b,EAAElD,OAAOkD,EAAEyxE,QAAQ31D,IAAI,MAAMre,GAAG,GAAG,OAAO+tC,EAAE,MAAMruC,MAAM8b,EAAE,MAAMg+D,GAAGzrC,EAAE/tC,IAAI,IAAIqe,EAAEhd,EAAEoK,QAAQ+jE,YAAY,OAAOnxD,GAAGhd,EAAEgd,EAAEkxD,WAAWlxD,EAAEkxD,WAAW,KAAa,EAARlxD,EAAEwmC,QAAUxmC,EAAEi2C,QACjf,KAAKj2C,EAAEo0C,UAAU,MAAMp0C,EAAEhd,EAAW,OAAT45E,GAAE35E,EAAEqqE,MAAW,EAAG,SAASwT,GAAG99E,EAAEC,EAAEomB,GAAyBkmD,GAAGvsE,EAAfC,EAAEw3E,GAAGz3E,EAAfC,EAAEq3E,GAAGjxD,EAAEpmB,GAAY,IAAWA,EAAE+sE,KAAe,QAAVhtE,EAAEs7E,GAAGt7E,EAAE,MAAc03D,GAAG13D,EAAE,EAAEC,GAAGu7E,GAAGx7E,EAAEC,IACzI,SAASk4E,GAAGn4E,EAAEC,GAAG,GAAG,IAAID,EAAEoU,IAAI0pE,GAAG99E,EAAEA,EAAEC,QAAQ,IAAI,IAAIomB,EAAErmB,EAAE8X,OAAO,OAAOuO,GAAG,CAAC,GAAG,IAAIA,EAAEjS,IAAI,CAAC0pE,GAAGz3D,EAAErmB,EAAEC,GAAG,MAAW,GAAG,IAAIomB,EAAEjS,IAAI,CAAC,IAAI7E,EAAE8W,EAAE+qC,UAAU,GAAG,oBAAoB/qC,EAAElU,KAAKH,0BAA0B,oBAAoBzC,EAAEsoE,oBAAoB,OAAOC,KAAKA,GAAGrgC,IAAIloC,IAAI,CAAW,IAAIrO,EAAE02E,GAAGvxD,EAAnBrmB,EAAEs3E,GAAGr3E,EAAED,GAAgB,GAA4B,GAAzBusE,GAAGlmD,EAAEnlB,GAAGA,EAAE8rE,KAAkB,QAAb3mD,EAAEi1D,GAAGj1D,EAAE,IAAeqxC,GAAGrxC,EAAE,EAAEnlB,GAAGs6E,GAAGn1D,EAAEnlB,QAAQ,GAAG,oBAAoBqO,EAAEsoE,oBAAoB,OAAOC,KAAKA,GAAGrgC,IAAIloC,IAAI,IAAIA,EAAEsoE,kBAAkB53E,EAAED,GAAG,MAAM0sC,IAAI,OAAOrmB,EAAEA,EAAEvO,QACpd,SAAS6kE,GAAG38E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEvP,EAAE08E,UAAU,OAAOntE,GAAGA,EAAEwsC,OAAO97C,GAAGA,EAAE+sE,KAAKhtE,EAAEk3D,aAAal3D,EAAEi3D,eAAe5wC,EAAE+rD,KAAIpyE,IAAIk3E,GAAE7wD,KAAKA,IAAI,IAAI0wD,IAAG,IAAIA,KAAM,SAAFG,MAAcA,IAAG,IAAI7vB,KAAI+xB,GAAG4C,GAAGh8E,EAAE,GAAGk6E,IAAI7zD,GAAGm1D,GAAGx7E,EAAEC,GAAG,SAASq5E,GAAGt5E,EAAEC,GAAG,IAAIomB,EAAErmB,EAAEoxD,UAAU,OAAO/qC,GAAGA,EAAE01B,OAAO97C,GAAO,KAAJA,EAAE,KAAmB,KAAO,GAAhBA,EAAED,EAAEi1C,OAAeh1C,EAAE,EAAE,KAAO,EAAFA,GAAKA,EAAE,KAAKiqE,KAAK,EAAE,GAAG,IAAI+Q,KAAKA,GAAGhB,IAAuB,KAAnBh6E,EAAEu3D,GAAG,UAAUyjB,OAAYh7E,EAAE,WAAWomB,EAAE2mD,KAAe,QAAVhtE,EAAEs7E,GAAGt7E,EAAEC,MAAcy3D,GAAG13D,EAAEC,EAAEomB,GAAGm1D,GAAGx7E,EAAEqmB,IAUjZ,SAAS03D,GAAG/9E,EAAEC,EAAEomB,EAAE9W,GAAGnb,KAAKggB,IAAIpU,EAAE5L,KAAKL,IAAIsyB,EAAEjyB,KAAK6+D,QAAQ7+D,KAAKsH,MAAMtH,KAAK0jB,OAAO1jB,KAAKg9D,UAAUh9D,KAAK+d,KAAK/d,KAAKk6E,YAAY,KAAKl6E,KAAKsK,MAAM,EAAEtK,KAAK8V,IAAI,KAAK9V,KAAK27E,aAAa9vE,EAAE7L,KAAK+2E,aAAa/2E,KAAKy+D,cAAcz+D,KAAKu3E,YAAYv3E,KAAKm7E,cAAc,KAAKn7E,KAAK6gD,KAAK1lC,EAAEnb,KAAKovD,MAAM,EAAEpvD,KAAK65E,WAAW75E,KAAK+5E,YAAY/5E,KAAK85E,WAAW,KAAK95E,KAAK62E,WAAW72E,KAAKi3E,MAAM,EAAEj3E,KAAKu+D,UAAU,KAAK,SAASkd,GAAG7vE,EAAEC,EAAEomB,EAAE9W,GAAG,OAAO,IAAIwuE,GAAG/9E,EAAEC,EAAEomB,EAAE9W,GAAG,SAAS+kE,GAAGt0E,GAAiB,UAAdA,EAAEA,EAAEhM,aAAuBgM,EAAEqmD,kBAErd,SAAS+nB,GAAGpuE,EAAEC,GAAG,IAAIomB,EAAErmB,EAAE2yD,UACuB,OADb,OAAOtsC,IAAGA,EAAEwpD,GAAG7vE,EAAEoU,IAAInU,EAAED,EAAEjM,IAAIiM,EAAEi1C,OAAQq5B,YAAYtuE,EAAEsuE,YAAYjoD,EAAElU,KAAKnS,EAAEmS,KAAKkU,EAAE+qC,UAAUpxD,EAAEoxD,UAAU/qC,EAAEssC,UAAU3yD,EAAEA,EAAE2yD,UAAUtsC,IAAIA,EAAE0pD,aAAa9vE,EAAEomB,EAAElU,KAAKnS,EAAEmS,KAAKkU,EAAEm9B,MAAM,EAAEn9B,EAAE6nD,WAAW,KAAK7nD,EAAE8nD,YAAY,KAAK9nD,EAAE4nD,WAAW,MAAM5nD,EAAE4kD,WAAWjrE,EAAEirE,WAAW5kD,EAAEglD,MAAMrrE,EAAEqrE,MAAMhlD,EAAE3qB,MAAMsE,EAAEtE,MAAM2qB,EAAEkpD,cAAcvvE,EAAEuvE,cAAclpD,EAAEwsC,cAAc7yD,EAAE6yD,cAAcxsC,EAAEslD,YAAY3rE,EAAE2rE,YAAY1rE,EAAED,EAAEmrE,aAAa9kD,EAAE8kD,aAAa,OAAOlrE,EAAE,KAAK,CAACorE,MAAMprE,EAAEorE,MAAMD,aAAanrE,EAAEmrE,cAC3e/kD,EAAE4sC,QAAQjzD,EAAEizD,QAAQ5sC,EAAE3nB,MAAMsB,EAAEtB,MAAM2nB,EAAEnc,IAAIlK,EAAEkK,IAAWmc,EACvD,SAASkoD,GAAGvuE,EAAEC,EAAEomB,EAAE9W,EAAErO,EAAEwrC,GAAG,IAAIoa,EAAE,EAAM,GAAJv3C,EAAEvP,EAAK,oBAAoBA,EAAEs0E,GAAGt0E,KAAK8mD,EAAE,QAAQ,GAAG,kBAAkB9mD,EAAE8mD,EAAE,OAAO9mD,EAAE,OAAOA,GAAG,KAAK+C,EAAG,OAAO2rE,GAAGroD,EAAEtwB,SAASmL,EAAEwrC,EAAEzsC,GAAG,KAAK4rD,EAAG/E,EAAE,EAAE5lD,GAAG,GAAG,MAAM,KAAKgqD,EAAGpE,EAAE,EAAE5lD,GAAG,EAAE,MAAM,KAAKiqD,EAAG,OAAOnrD,EAAE6vE,GAAG,GAAGxpD,EAAEpmB,EAAI,EAAFiB,IAAOotE,YAAYnjB,EAAGnrD,EAAEmS,KAAKg5C,EAAGnrD,EAAEqrE,MAAM3+B,EAAE1sC,EAAE,KAAKurD,EAAG,OAAOvrD,EAAE6vE,GAAG,GAAGxpD,EAAEpmB,EAAEiB,IAAKiR,KAAKo5C,EAAGvrD,EAAEsuE,YAAY/iB,EAAGvrD,EAAEqrE,MAAM3+B,EAAE1sC,EAAE,KAAKwrD,EAAG,OAAOxrD,EAAE6vE,GAAG,GAAGxpD,EAAEpmB,EAAEiB,IAAKotE,YAAY9iB,EAAGxrD,EAAEqrE,MAAM3+B,EAAE1sC,EAAE,KAAK8rD,EAAG,OAAOgqB,GAAGzvD,EAAEnlB,EAAEwrC,EAAEzsC,GAAG,KAAK8rD,EAAG,OAAO/rD,EAAE6vE,GAAG,GAAGxpD,EAAEpmB,EAAEiB,IAAKotE,YAAYviB,EAAG/rD,EAAEqrE,MAAM3+B,EAAE1sC,EAAE,QAAQ,GAAG,kBAChfA,GAAG,OAAOA,EAAE,OAAOA,EAAE+mD,UAAU,KAAKqE,EAAGtE,EAAE,GAAG,MAAM9mD,EAAE,KAAKqrD,EAAGvE,EAAE,EAAE,MAAM9mD,EAAE,KAAKsrD,EAAGxE,EAAE,GAAG,MAAM9mD,EAAE,KAAKyrD,EAAG3E,EAAE,GAAG,MAAM9mD,EAAE,KAAK0rD,EAAG5E,EAAE,GAAGv3C,EAAE,KAAK,MAAMvP,EAAE,KAAK2rD,EAAG7E,EAAE,GAAG,MAAM9mD,EAAE,MAAM3B,MAAM8b,EAAE,IAAI,MAAMna,EAAEA,SAASA,EAAE,KAAuD,OAAjDC,EAAE4vE,GAAG/oB,EAAEzgC,EAAEpmB,EAAEiB,IAAKotE,YAAYtuE,EAAEC,EAAEkS,KAAK5C,EAAEtP,EAAEorE,MAAM3+B,EAASzsC,EAAE,SAASyuE,GAAG1uE,EAAEC,EAAEomB,EAAE9W,GAA2B,OAAxBvP,EAAE6vE,GAAG,EAAE7vE,EAAEuP,EAAEtP,IAAKorE,MAAMhlD,EAASrmB,EAAE,SAAS81E,GAAG91E,EAAEC,EAAEomB,EAAE9W,GAA6C,OAA1CvP,EAAE6vE,GAAG,GAAG7vE,EAAEuP,EAAEtP,IAAKquE,YAAYxiB,EAAG9rD,EAAEqrE,MAAMhlD,EAASrmB,EAAE,SAASquE,GAAGruE,EAAEC,EAAEomB,GAA8B,OAA3BrmB,EAAE6vE,GAAG,EAAE7vE,EAAE,KAAKC,IAAKorE,MAAMhlD,EAASrmB,EAClc,SAASyuE,GAAGzuE,EAAEC,EAAEomB,GAA8J,OAA3JpmB,EAAE4vE,GAAG,EAAE,OAAO7vE,EAAEjK,SAASiK,EAAEjK,SAAS,GAAGiK,EAAEjM,IAAIkM,IAAKorE,MAAMhlD,EAAEpmB,EAAEmxD,UAAU,CAAC4D,cAAch1D,EAAEg1D,cAAcgpB,gBAAgB,KAAKxP,eAAexuE,EAAEwuE,gBAAuBvuE,EACrL,SAASg+E,GAAGj+E,EAAEC,EAAEomB,GAAGjyB,KAAKggB,IAAInU,EAAE7L,KAAK4gE,cAAch1D,EAAE5L,KAAKgoF,aAAahoF,KAAKsoF,UAAUtoF,KAAKgW,QAAQhW,KAAK4pF,gBAAgB,KAAK5pF,KAAKmoF,eAAe,EAAEnoF,KAAK+gF,eAAe/gF,KAAKkD,QAAQ,KAAKlD,KAAK6gB,QAAQoR,EAAEjyB,KAAKqnF,aAAa,KAAKrnF,KAAKunF,iBAAiB,EAAEvnF,KAAKujE,WAAWF,GAAG,GAAGrjE,KAAKsnF,gBAAgBjkB,IAAI,GAAGrjE,KAAKgjE,eAAehjE,KAAKioF,cAAcjoF,KAAK89E,iBAAiB99E,KAAK4iE,aAAa5iE,KAAK8iE,YAAY9iE,KAAK6iE,eAAe7iE,KAAK2iE,aAAa,EAAE3iE,KAAKijE,cAAcI,GAAG,GAAGrjE,KAAK8pF,gCAAgC,KAC7e,SAASC,GAAGn+E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAE,EAAE3b,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACmzD,SAASkE,EAAGl3D,IAAI,MAAMwb,EAAE,KAAK,GAAGA,EAAExZ,SAASiK,EAAEg1D,cAAc/0D,EAAEuuE,eAAenoD,GACxK,SAAS+3D,GAAGp+E,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIrO,EAAEjB,EAAEmK,QAAQsiC,EAAEsgC,KAAKlmB,EAAEmmB,GAAG/rE,GAAGlB,EAAE,GAAGqmB,EAAE,CAAqBpmB,EAAE,CAAC,GAAGyyD,GAA1BrsC,EAAEA,EAAE0mD,mBAA8B1mD,GAAG,IAAIA,EAAEjS,IAAI,MAAM/V,MAAM8b,EAAE,MAAM,IAAI6C,EAAEqJ,EAAE,EAAE,CAAC,OAAOrJ,EAAE5I,KAAK,KAAK,EAAE4I,EAAEA,EAAEo0C,UAAU95D,QAAQ,MAAM2I,EAAE,KAAK,EAAE,GAAG+nE,GAAGhrD,EAAE7K,MAAM,CAAC6K,EAAEA,EAAEo0C,UAAUiX,0CAA0C,MAAMpoE,GAAG+c,EAAEA,EAAElF,aAAa,OAAOkF,GAAG,MAAM3e,MAAM8b,EAAE,MAAO,GAAG,IAAIkM,EAAEjS,IAAI,CAAC,IAAIzV,EAAE0nB,EAAElU,KAAK,GAAG61D,GAAGrpE,GAAG,CAAC0nB,EAAE8hD,GAAG9hD,EAAE1nB,EAAEqe,GAAG,MAAMhd,GAAGqmB,EAAErJ,OAAOqJ,EAAEshD,GACrW,OADwW,OAAO1nE,EAAE3I,QAAQ2I,EAAE3I,QAAQ+uB,EAAEpmB,EAAEk1E,eAAe9uD,GAAEpmB,EAAEksE,GAAGz/B,EAAEoa,IAAKwlB,QAAQ,CAAC3wE,QAAQqE,GAAuB,QAApBuP,OAAE,IAASA,EAAE,KAAKA,KAC1etP,EAAE4B,SAAS0N,GAAGg9D,GAAGrrE,EAAEjB,GAAGitE,GAAGhsE,EAAE4lD,EAAEpa,GAAUoa,EAAE,SAASu3B,GAAGr+E,GAAe,KAAZA,EAAEA,EAAEoK,SAAc1O,MAAM,OAAO,KAAK,OAAOsE,EAAEtE,MAAM0Y,KAAK,KAAK,EAA2B,QAAQ,OAAOpU,EAAEtE,MAAM01D,WAAW,SAASktB,GAAGt+E,EAAEC,GAAqB,GAAG,QAArBD,EAAEA,EAAE6yD,gBAA2B,OAAO7yD,EAAE8yD,WAAW,CAAC,IAAIzsC,EAAErmB,EAAEw1E,UAAUx1E,EAAEw1E,UAAU,IAAInvD,GAAGA,EAAEpmB,EAAEomB,EAAEpmB,GAAG,SAASyE,GAAG1E,EAAEC,GAAGq+E,GAAGt+E,EAAEC,IAAID,EAAEA,EAAE2yD,YAAY2rB,GAAGt+E,EAAEC,GACxV,SAASs+E,GAAGv+E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAE,MAAM8W,GAAG,MAAMA,EAAEm4D,kBAAkBn4D,EAAEm4D,iBAAiBC,gBAAgB,KAAiK,GAA5Jp4D,EAAE,IAAI43D,GAAGj+E,EAAEC,EAAE,MAAMomB,IAAG,IAAKA,EAAEpR,SAAShV,EAAE4vE,GAAG,EAAE,KAAK,KAAK,IAAI5vE,EAAE,EAAE,IAAIA,EAAE,EAAE,GAAGomB,EAAEjc,QAAQnK,EAAEA,EAAEmxD,UAAU/qC,EAAEqlD,GAAGzrE,GAAGD,EAAEimE,IAAI5/C,EAAEjc,QAAQy7D,GAAG,IAAI7lE,EAAEkvD,SAASlvD,EAAEgW,WAAWhW,GAAMuP,EAAE,IAAIvP,EAAE,EAAEA,EAAEuP,EAAE1b,OAAOmM,IAAI,CAAQ,IAAIkB,GAAXjB,EAAEsP,EAAEvP,IAAWgyE,YAAY9wE,EAAEA,EAAEjB,EAAEgyE,SAAS,MAAM5rD,EAAE63D,gCAAgC73D,EAAE63D,gCAAgC,CAACj+E,EAAEiB,GAAGmlB,EAAE63D,gCAAgC9oF,KAAK6K,EAAEiB,GAAG9M,KAAKsqF,cAAcr4D,EAC/R,SAASs4D,GAAG3+E,GAAG,SAASA,GAAG,IAAIA,EAAEkvD,UAAU,IAAIlvD,EAAEkvD,UAAU,KAAKlvD,EAAEkvD,WAAW,IAAIlvD,EAAEkvD,UAAU,iCAAiClvD,EAAEmvD,YAEvT,SAASyvB,GAAG5+E,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,IAAIwrC,EAAErmB,EAAE6yD,oBAAoB,GAAGxsC,EAAE,CAAC,IAAIoa,EAAEpa,EAAEgyC,cAAc,GAAG,oBAAoBx9E,EAAE,CAAC,IAAI8b,EAAE9b,EAAEA,EAAE,WAAW,IAAIlB,EAAEq+E,GAAGv3B,GAAG9pC,EAAE9oB,KAAK8L,IAAIo+E,GAAGn+E,EAAE6mD,EAAE9mD,EAAEkB,OAAO,CAAmD,GAAlDwrC,EAAErmB,EAAE6yD,oBAD1K,SAAYl5E,EAAEC,GAA0H,GAAvHA,IAA2DA,MAAvDA,EAAED,EAAE,IAAIA,EAAEkvD,SAASlvD,EAAE6lB,gBAAgB7lB,EAAEyU,WAAW,OAAa,IAAIxU,EAAEivD,WAAWjvD,EAAE4+E,aAAa,qBAAwB5+E,EAAE,IAAI,IAAIomB,EAAEA,EAAErmB,EAAEivD,WAAWjvD,EAAEiW,YAAYoQ,GAAG,OAAO,IAAIk4D,GAAGv+E,EAAE,EAAEC,EAAE,CAACgV,SAAQ,QAAI,GAC3B6pE,CAAGz4D,EAAE9W,GAAGu3C,EAAEpa,EAAEgyC,cAAiB,oBAAoBx9E,EAAE,CAAC,IAAIvC,EAAEuC,EAAEA,EAAE,WAAW,IAAIlB,EAAEq+E,GAAGv3B,GAAGnoD,EAAEzK,KAAK8L,IAAIy8E,IAAG,WAAW2B,GAAGn+E,EAAE6mD,EAAE9mD,EAAEkB,MAAK,OAAOm9E,GAAGv3B,GAGlG,SAASi4B,GAAG/+E,EAAEC,GAAG,IAAIomB,EAAE,EAAEzyB,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAI+qF,GAAG1+E,GAAG,MAAM5B,MAAM8b,EAAE,MAAM,OAAOgkE,GAAGn+E,EAAEC,EAAE,KAAKomB,GA1BtWi0D,GAAG,SAASt6E,EAAEC,EAAEomB,GAAG,IAAI9W,EAAEtP,EAAEorE,MAAM,GAAG,OAAOrrE,EAAE,GAAGA,EAAEuvE,gBAAgBtvE,EAAE8vE,cAAc5oB,GAAE/8C,QAAQkhE,IAAG,MAAQ,IAAG,KAAKjlD,EAAE9W,GAAoC,CAAO,OAAN+7D,IAAG,EAAUrrE,EAAEmU,KAAK,KAAK,EAAE8gE,GAAGj1E,GAAGkwE,KAAK,MAAM,KAAK,EAAEf,GAAGnvE,GAAG,MAAM,KAAK,EAAE+nE,GAAG/nE,EAAEkS,OAAOi2D,GAAGnoE,GAAG,MAAM,KAAK,EAAEivE,GAAGjvE,EAAEA,EAAEmxD,UAAU4D,eAAe,MAAM,KAAK,GAAGzlD,EAAEtP,EAAEsvE,cAAcl6E,MAAM,IAAI6L,EAAEjB,EAAEkS,KAAKu2C,SAAShC,GAAEgkB,GAAGxpE,EAAEqnD,eAAernD,EAAEqnD,cAAch5C,EAAE,MAAM,KAAK,GAAG,GAAG,OAAOtP,EAAE4yD,cAAe,OAAG,KAAKxsC,EAAEpmB,EAAEvE,MAAMuvE,YAAmBwK,GAAGz1E,EAAEC,EAAEomB,IAAGqgC,GAAEa,GAAY,EAAVA,GAAEn9C,SAA8B,QAAnBnK,EAAEm0E,GAAGp0E,EAAEC,EAAEomB,IAC/epmB,EAAEgzD,QAAQ,MAAKvM,GAAEa,GAAY,EAAVA,GAAEn9C,SAAW,MAAM,KAAK,GAA0B,GAAvBmF,EAAE,KAAK8W,EAAEpmB,EAAEgrE,YAAe,KAAa,GAARjrE,EAAEwjD,OAAU,CAAC,GAAGj0C,EAAE,OAAOinE,GAAGx2E,EAAEC,EAAEomB,GAAGpmB,EAAEujD,OAAO,GAA+F,GAA1E,QAAlBtiD,EAAEjB,EAAE4yD,iBAAyB3xD,EAAEk1E,UAAU,KAAKl1E,EAAEo1E,KAAK,KAAKp1E,EAAE+sE,WAAW,MAAMvnB,GAAEa,GAAEA,GAAEn9C,SAAYmF,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOtP,EAAEorE,MAAM,EAAEoJ,GAAGz0E,EAAEC,EAAEomB,GAAG,OAAO+tD,GAAGp0E,EAAEC,EAAEomB,GAD3LilD,GAAG,KAAa,MAARtrE,EAAEwjD,YACyL8nB,IAAG,EAAa,OAAVrrE,EAAEorE,MAAM,EAASprE,EAAEmU,KAAK,KAAK,EAA+I,GAA7I7E,EAAEtP,EAAEkS,KAAK,OAAOnS,IAAIA,EAAE2yD,UAAU,KAAK1yD,EAAE0yD,UAAU,KAAK1yD,EAAEujD,OAAO,GAAGxjD,EAAEC,EAAE8vE,aAAa7uE,EAAE2mE,GAAG5nE,EAAEinD,GAAE98C,SAAS8gE,GAAGjrE,EAAEomB,GAAGnlB,EAAE4vE,GAAG,KAAK7wE,EAAEsP,EAAEvP,EAAEkB,EAAEmlB,GAAGpmB,EAAEujD,OAAO,EAAK,kBACretiD,GAAG,OAAOA,GAAG,oBAAoBA,EAAEpL,aAAQ,IAASoL,EAAE6lD,SAAS,CAAiD,GAAhD9mD,EAAEmU,IAAI,EAAEnU,EAAE4yD,cAAc,KAAK5yD,EAAE0rE,YAAY,KAAQ3D,GAAGz4D,GAAG,CAAC,IAAIm9B,GAAE,EAAG07B,GAAGnoE,QAAQysC,GAAE,EAAGzsC,EAAE4yD,cAAc,OAAO3xD,EAAEtH,YAAO,IAASsH,EAAEtH,MAAMsH,EAAEtH,MAAM,KAAK8xE,GAAGzrE,GAAG,IAAI6mD,EAAEv3C,EAAE0C,yBAAyB,oBAAoB60C,GAAG+lB,GAAG5sE,EAAEsP,EAAEu3C,EAAE9mD,GAAGkB,EAAEglD,QAAQ4mB,GAAG7sE,EAAEmxD,UAAUlwD,EAAEA,EAAE6rE,gBAAgB9sE,EAAEutE,GAAGvtE,EAAEsP,EAAEvP,EAAEqmB,GAAGpmB,EAAEg1E,GAAG,KAAKh1E,EAAEsP,GAAE,EAAGm9B,EAAErmB,QAAQpmB,EAAEmU,IAAI,EAAE8/D,GAAG,KAAKj0E,EAAEiB,EAAEmlB,GAAGpmB,EAAEA,EAAEvE,MAAM,OAAOuE,EAAE,KAAK,GAAGiB,EAAEjB,EAAEquE,YAAYtuE,EAAE,CAChX,OADiX,OAAOA,IAAIA,EAAE2yD,UAAU,KAAK1yD,EAAE0yD,UAAU,KAAK1yD,EAAEujD,OAAO,GACnfxjD,EAAEC,EAAE8vE,aAAuB7uE,GAAVwrC,EAAExrC,EAAE8nD,OAAU9nD,EAAE6nD,UAAU9oD,EAAEkS,KAAKjR,EAAEwrC,EAAEzsC,EAAEmU,IAOxD,SAAYpU,GAAG,GAAG,oBAAoBA,EAAE,OAAOs0E,GAAGt0E,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAE+mD,YAAgBuE,EAAG,OAAO,GAAG,GAAGtrD,IAAIyrD,EAAG,OAAO,GAAG,OAAO,EAPlFuzB,CAAG99E,GAAGlB,EAAEyqE,GAAGvpE,EAAElB,GAAU0sC,GAAG,KAAK,EAAEzsC,EAAEu0E,GAAG,KAAKv0E,EAAEiB,EAAElB,EAAEqmB,GAAG,MAAMrmB,EAAE,KAAK,EAAEC,EAAE40E,GAAG,KAAK50E,EAAEiB,EAAElB,EAAEqmB,GAAG,MAAMrmB,EAAE,KAAK,GAAGC,EAAEk0E,GAAG,KAAKl0E,EAAEiB,EAAElB,EAAEqmB,GAAG,MAAMrmB,EAAE,KAAK,GAAGC,EAAEo0E,GAAG,KAAKp0E,EAAEiB,EAAEupE,GAAGvpE,EAAEiR,KAAKnS,GAAGuP,EAAE8W,GAAG,MAAMrmB,EAAE,MAAM3B,MAAM8b,EAAE,IAAIjZ,EAAE,KAAM,OAAOjB,EAAE,KAAK,EAAE,OAAOsP,EAAEtP,EAAEkS,KAAKjR,EAAEjB,EAAE8vE,aAA2CyE,GAAGx0E,EAAEC,EAAEsP,EAArCrO,EAAEjB,EAAEquE,cAAc/+D,EAAErO,EAAEupE,GAAGl7D,EAAErO,GAAcmlB,GAAG,KAAK,EAAE,OAAO9W,EAAEtP,EAAEkS,KAAKjR,EAAEjB,EAAE8vE,aAA2C8E,GAAG70E,EAAEC,EAAEsP,EAArCrO,EAAEjB,EAAEquE,cAAc/+D,EAAErO,EAAEupE,GAAGl7D,EAAErO,GAAcmlB,GAAG,KAAK,EAAwB,GAAtB6uD,GAAGj1E,GAAGsP,EAAEtP,EAAE0rE,YAAe,OAAO3rE,GAAG,OAAOuP,EAAE,MAAMlR,MAAM8b,EAAE,MAC3Y,GAA9G5K,EAAEtP,EAAE8vE,aAA+B7uE,EAAE,QAApBA,EAAEjB,EAAE4yD,eAAyB3xD,EAAEvF,QAAQ,KAAKuwE,GAAGlsE,EAAEC,GAAGwsE,GAAGxsE,EAAEsP,EAAE,KAAK8W,IAAG9W,EAAEtP,EAAE4yD,cAAcl3D,WAAeuF,EAAEivE,KAAKlwE,EAAEm0E,GAAGp0E,EAAEC,EAAEomB,OAAO,CAAuF,IAArEqmB,GAAjBxrC,EAAEjB,EAAEmxD,WAAiBn8C,WAAQy6D,GAAG1I,GAAG/mE,EAAEmxD,UAAU4D,cAAcvgD,YAAYg7D,GAAGxvE,EAAEysC,EAAEijC,IAAG,GAAMjjC,EAAE,CAAqC,GAAG,OAAvC1sC,EAAEkB,EAAEg9E,iCAA2C,IAAIh9E,EAAE,EAAEA,EAAElB,EAAEnM,OAAOqN,GAAG,GAAEwrC,EAAE1sC,EAAEkB,IAAKovE,8BAA8BtwE,EAAEkB,EAAE,GAAGkvE,GAAGh7E,KAAKs3C,GAAoB,IAAjBrmB,EAAEuoD,GAAG3uE,EAAE,KAAKsP,EAAE8W,GAAOpmB,EAAEvE,MAAM2qB,EAAEA,GAAGA,EAAEm9B,OAAe,EAATn9B,EAAEm9B,MAAS,KAAKn9B,EAAEA,EAAE4sC,aAAaihB,GAAGl0E,EAAEC,EAAEsP,EAAE8W,GAAG8pD,KAAKlwE,EAAEA,EAAEvE,MAAM,OAAOuE,EAAE,KAAK,EAAE,OAAOmvE,GAAGnvE,GAAG,OAAOD,GACnfgwE,GAAG/vE,GAAGsP,EAAEtP,EAAEkS,KAAKjR,EAAEjB,EAAE8vE,aAAarjC,EAAE,OAAO1sC,EAAEA,EAAEuvE,cAAc,KAAKzoB,EAAE5lD,EAAEnL,SAAS6wE,GAAGr3D,EAAErO,GAAG4lD,EAAE,KAAK,OAAOpa,GAAGk6B,GAAGr3D,EAAEm9B,KAAKzsC,EAAEujD,OAAO,IAAIoxB,GAAG50E,EAAEC,GAAGi0E,GAAGl0E,EAAEC,EAAE6mD,EAAEzgC,GAAGpmB,EAAEvE,MAAM,KAAK,EAAE,OAAO,OAAOsE,GAAGgwE,GAAG/vE,GAAG,KAAK,KAAK,GAAG,OAAOw1E,GAAGz1E,EAAEC,EAAEomB,GAAG,KAAK,EAAE,OAAO6oD,GAAGjvE,EAAEA,EAAEmxD,UAAU4D,eAAezlD,EAAEtP,EAAE8vE,aAAa,OAAO/vE,EAAEC,EAAEvE,MAAMizE,GAAG1uE,EAAE,KAAKsP,EAAE8W,GAAG6tD,GAAGl0E,EAAEC,EAAEsP,EAAE8W,GAAGpmB,EAAEvE,MAAM,KAAK,GAAG,OAAO6T,EAAEtP,EAAEkS,KAAKjR,EAAEjB,EAAE8vE,aAA2CoE,GAAGn0E,EAAEC,EAAEsP,EAArCrO,EAAEjB,EAAEquE,cAAc/+D,EAAErO,EAAEupE,GAAGl7D,EAAErO,GAAcmlB,GAAG,KAAK,EAAE,OAAO6tD,GAAGl0E,EAAEC,EAAEA,EAAE8vE,aAAa1pD,GAAGpmB,EAAEvE,MAAM,KAAK,EACtc,KAAK,GAAG,OAAOw4E,GAAGl0E,EAAEC,EAAEA,EAAE8vE,aAAah6E,SAASswB,GAAGpmB,EAAEvE,MAAM,KAAK,GAAGsE,EAAE,CAACuP,EAAEtP,EAAEkS,KAAKu2C,SAASxnD,EAAEjB,EAAE8vE,aAAajpB,EAAE7mD,EAAEsvE,cAAc7iC,EAAExrC,EAAE7L,MAAM,IAAI2nB,EAAE/c,EAAEkS,KAAKu2C,SAAiD,GAAxChC,GAAEgkB,GAAG1tD,EAAEurC,eAAevrC,EAAEurC,cAAc7b,EAAK,OAAOoa,EAAE,GAAG9pC,EAAE8pC,EAAEzxD,MAA0G,KAApGq3C,EAAEg3B,GAAG1mD,EAAE0vB,GAAG,EAAwF,GAArF,oBAAoBn9B,EAAE+4C,sBAAsB/4C,EAAE+4C,sBAAsBtrC,EAAE0vB,GAAG,cAAqB,GAAGoa,EAAE/wD,WAAWmL,EAAEnL,WAAWoxD,GAAE/8C,QAAQ,CAACnK,EAAEm0E,GAAGp0E,EAAEC,EAAEomB,GAAG,MAAMrmB,QAAQ,IAAc,QAAVgd,EAAE/c,EAAEvE,SAAiBshB,EAAElF,OAAO7X,GAAG,OAAO+c,GAAG,CAAC,IAAIre,EAAEqe,EAAEmuD,aAAa,GAAG,OAAOxsE,EAAE,CAACmoD,EAAE9pC,EAAEthB,MAAM,IAAI,IAAIypD,EACtfxmD,EAAEysE,aAAa,OAAOjmB,GAAG,CAAC,GAAGA,EAAE7tD,UAAUiY,GAAG,KAAK41C,EAAEhD,aAAazV,GAAG,CAAC,IAAI1vB,EAAE5I,OAAM+wC,EAAEgnB,IAAI,EAAE9lD,GAAGA,IAAKjS,IAAI,EAAEm4D,GAAGvvD,EAAEmoC,IAAInoC,EAAEquD,OAAOhlD,EAAgB,QAAd8+B,EAAEnoC,EAAE21C,aAAqBxN,EAAEkmB,OAAOhlD,GAAG2kD,GAAGhuD,EAAElF,OAAOuO,GAAG1nB,EAAE0sE,OAAOhlD,EAAE,MAAM8+B,EAAEA,EAAEjwD,WAAW4xD,EAAE,KAAK9pC,EAAE5I,KAAI4I,EAAE7K,OAAOlS,EAAEkS,KAAK,KAAa6K,EAAEthB,MAAM,GAAG,OAAOorD,EAAEA,EAAEhvC,OAAOkF,OAAO,IAAI8pC,EAAE9pC,EAAE,OAAO8pC,GAAG,CAAC,GAAGA,IAAI7mD,EAAE,CAAC6mD,EAAE,KAAK,MAAkB,GAAG,QAAf9pC,EAAE8pC,EAAEmM,SAAoB,CAACj2C,EAAElF,OAAOgvC,EAAEhvC,OAAOgvC,EAAE9pC,EAAE,MAAM8pC,EAAEA,EAAEhvC,OAAOkF,EAAE8pC,EAAEotB,GAAGl0E,EAAEC,EAAEiB,EAAEnL,SAASswB,GAAGpmB,EAAEA,EAAEvE,MAAM,OAAOuE,EAAE,KAAK,EAAE,OAAOiB,EAAEjB,EAAEkS,KAAsB5C,GAAjBm9B,EAAEzsC,EAAE8vE,cAAiBh6E,SAASm1E,GAAGjrE,EAAEomB,GACnd9W,EAAEA,EADodrO,EAAEqqE,GAAGrqE,EACpfwrC,EAAEuyC,wBAA8Bh/E,EAAEujD,OAAO,EAAE0wB,GAAGl0E,EAAEC,EAAEsP,EAAE8W,GAAGpmB,EAAEvE,MAAM,KAAK,GAAG,OAAgBgxC,EAAE+9B,GAAXvpE,EAAEjB,EAAEkS,KAAYlS,EAAE8vE,cAA6BsE,GAAGr0E,EAAEC,EAAEiB,EAAtBwrC,EAAE+9B,GAAGvpE,EAAEiR,KAAKu6B,GAAcn9B,EAAE8W,GAAG,KAAK,GAAG,OAAOkuD,GAAGv0E,EAAEC,EAAEA,EAAEkS,KAAKlS,EAAE8vE,aAAaxgE,EAAE8W,GAAG,KAAK,GAAG,OAAO9W,EAAEtP,EAAEkS,KAAKjR,EAAEjB,EAAE8vE,aAAa7uE,EAAEjB,EAAEquE,cAAc/+D,EAAErO,EAAEupE,GAAGl7D,EAAErO,GAAG,OAAOlB,IAAIA,EAAE2yD,UAAU,KAAK1yD,EAAE0yD,UAAU,KAAK1yD,EAAEujD,OAAO,GAAGvjD,EAAEmU,IAAI,EAAE4zD,GAAGz4D,IAAIvP,GAAE,EAAGooE,GAAGnoE,IAAID,GAAE,EAAGkrE,GAAGjrE,EAAEomB,GAAGgnD,GAAGptE,EAAEsP,EAAErO,GAAGssE,GAAGvtE,EAAEsP,EAAErO,EAAEmlB,GAAG4uD,GAAG,KAAKh1E,EAAEsP,GAAE,EAAGvP,EAAEqmB,GAAG,KAAK,GAAG,OAAOmwD,GAAGx2E,EAAEC,EAAEomB,GAAG,KAAK,GAAoB,KAAK,GAAG,OAAOouD,GAAGz0E,EAAEC,EAAEomB,GAAG,MAAMhoB,MAAM8b,EAAE,IAAIla,EAAEmU,OAa/emqE,GAAGvqF,UAAU8B,OAAO,SAASkK,GAAGo+E,GAAGp+E,EAAE5L,KAAKsqF,cAAc,KAAK,OAAOH,GAAGvqF,UAAUkrF,QAAQ,WAAW,IAAIl/E,EAAE5L,KAAKsqF,cAAcz+E,EAAED,EAAEg1D,cAAcopB,GAAG,KAAKp+E,EAAE,MAAK,WAAWC,EAAEgmE,IAAI,SAEwJ7S,GAAG,SAASpzD,GAAM,KAAKA,EAAEoU,MAAgB84D,GAAGltE,EAAE,EAAVgtE,MAAetoE,GAAG1E,EAAE,KAAKqzD,GAAG,SAASrzD,GAAM,KAAKA,EAAEoU,MAAgB84D,GAAGltE,EAAE,SAAVgtE,MAAsBtoE,GAAG1E,EAAE,YACncszD,GAAG,SAAStzD,GAAG,GAAG,KAAKA,EAAEoU,IAAI,CAAC,IAAInU,EAAE+sE,KAAK3mD,EAAE4mD,GAAGjtE,GAAGktE,GAAGltE,EAAEqmB,EAAEpmB,GAAGyE,GAAG1E,EAAEqmB,KAAKktC,GAAG,SAASvzD,EAAEC,GAAG,OAAOA,KAC7F8wD,GAAG,SAAS/wD,EAAEC,EAAEomB,GAAG,OAAOpmB,GAAG,IAAK,QAAyB,GAAjBytD,GAAG1tD,EAAEqmB,GAAGpmB,EAAEomB,EAAEttB,KAAQ,UAAUstB,EAAElU,MAAM,MAAMlS,EAAE,CAAC,IAAIomB,EAAErmB,EAAEqmB,EAAErQ,YAAYqQ,EAAEA,EAAErQ,WAAsF,IAA3EqQ,EAAEA,EAAE9K,iBAAiB,cAAcuoC,KAAKxpC,UAAU,GAAGra,GAAG,mBAAuBA,EAAE,EAAEA,EAAEomB,EAAExyB,OAAOoM,IAAI,CAAC,IAAIsP,EAAE8W,EAAEpmB,GAAG,GAAGsP,IAAIvP,GAAGuP,EAAEu4B,OAAO9nC,EAAE8nC,KAAK,CAAC,IAAI5mC,EAAEmwD,GAAG9hD,GAAG,IAAIrO,EAAE,MAAM7C,MAAM8b,EAAE,KAAK8yC,EAAG19C,GAAGm+C,GAAGn+C,EAAErO,KAAK,MAAM,IAAK,WAAWktD,GAAGpuD,EAAEqmB,GAAG,MAAM,IAAK,SAAmB,OAAVpmB,EAAEomB,EAAEhxB,QAAe24D,GAAGhuD,IAAIqmB,EAAEuwD,SAAS32E,GAAE,KAAMuxD,GAAGgrB,GAC9Z/qB,GAAG,SAASzxD,EAAEC,EAAEomB,EAAE9W,EAAErO,GAAG,IAAIwrC,EAAEktC,GAAEA,IAAG,EAAE,IAAI,OAAOxP,GAAG,GAAGpqE,EAAE0zC,KAAK,KAAKzzC,EAAEomB,EAAE9W,EAAErO,IAAnC,QAAmD,KAAJ04E,GAAEltC,KAAU2tC,KAAK/P,QAAQ5Y,GAAG,WAAW,KAAO,GAAFkoB,MAhD/H,WAAc,GAAG,OAAOiB,GAAG,CAAC,IAAI76E,EAAE66E,GAAGA,GAAG,KAAK76E,EAAEtD,SAAQ,SAASsD,GAAGA,EAAEg3D,cAAc,GAAGh3D,EAAE+2D,aAAaykB,GAAGx7E,EAAEqnD,SAAOijB,KAgDsB6U,GAAKrD,OAAOnqB,GAAG,SAAS3xD,EAAEC,GAAG,IAAIomB,EAAEuzD,GAAEA,IAAG,EAAE,IAAI,OAAO55E,EAAEC,GAAb,QAA4B,KAAJ25E,GAAEvzD,KAAUg0D,KAAK/P,QAA+I,IAAI8U,GAAG,CAACC,OAAO,CAACluB,GAAGwR,GAAGtR,GAAGC,GAAGC,GAAGuqB,GAAG,CAAC1xE,SAAQ,KAAMk1E,GAAG,CAACC,wBAAwB3qB,GAAG4qB,WAAW,EAAEn2B,QAAQ,SAASo2B,oBAAoB,aACveC,GAAG,CAACF,WAAWF,GAAGE,WAAWn2B,QAAQi2B,GAAGj2B,QAAQo2B,oBAAoBH,GAAGG,oBAAoBE,eAAeL,GAAGK,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqBr1B,EAAGjD,uBAAuBu4B,wBAAwB,SAASrgF,GAAW,OAAO,QAAfA,EAAEgzD,GAAGhzD,IAAmB,KAAKA,EAAEoxD,WAAWmuB,wBAAwBD,GAAGC,yBAR/I,WAAc,OAAO,MAS7We,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,MAAM,GAAG,qBAAqBtvE,+BAA+B,CAAC,IAAIuvE,GAAGvvE,+BAA+B,IAAIuvE,GAAGlxD,YAAYkxD,GAAGC,cAAc,IAAIrY,GAAGoY,GAAGE,OAAOnB,IAAIlX,GAAGmY,GAAG,MAAM3gF,MAAK3M,EAAQg1D,mDAAmD+2B,GAAG/rF,EAAQu5B,aAAamyD,GACnX1rF,EAAQytF,YAAY,SAAS9gF,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEkvD,SAAS,OAAOlvD,EAAE,IAAIC,EAAED,EAAE+sE,gBAAgB,QAAG,IAAS9sE,EAAE,CAAC,GAAG,oBAAoBD,EAAElK,OAAO,MAAMuI,MAAM8b,EAAE,MAAM,MAAM9b,MAAM8b,EAAE,IAAI3mB,OAAO8G,KAAK0F,KAA0C,OAA5BA,EAAE,QAAVA,EAAEgzD,GAAG/yD,IAAc,KAAKD,EAAEoxD,WAAoB/9D,EAAQ0tF,UAAU,SAAS/gF,EAAEC,GAAG,IAAIomB,EAAEuzD,GAAE,GAAG,KAAO,GAAFvzD,GAAM,OAAOrmB,EAAEC,GAAG25E,IAAG,EAAE,IAAI,GAAG55E,EAAE,OAAOoqE,GAAG,GAAGpqE,EAAE0zC,KAAK,KAAKzzC,IAAlC,QAA8C25E,GAAEvzD,EAAEikD,OAAOj3E,EAAQ4hB,QAAQ,SAASjV,EAAEC,EAAEomB,GAAG,IAAIs4D,GAAG1+E,GAAG,MAAM5B,MAAM8b,EAAE,MAAM,OAAOykE,GAAG,KAAK5+E,EAAEC,GAAE,EAAGomB,IACndhzB,EAAQyC,OAAO,SAASkK,EAAEC,EAAEomB,GAAG,IAAIs4D,GAAG1+E,GAAG,MAAM5B,MAAM8b,EAAE,MAAM,OAAOykE,GAAG,KAAK5+E,EAAEC,GAAE,EAAGomB,IAAIhzB,EAAQ2tF,uBAAuB,SAAShhF,GAAG,IAAI2+E,GAAG3+E,GAAG,MAAM3B,MAAM8b,EAAE,KAAK,QAAOna,EAAEk5E,sBAAqBuD,IAAG,WAAWmC,GAAG,KAAK,KAAK5+E,GAAE,GAAG,WAAWA,EAAEk5E,oBAAoB,KAAKl5E,EAAEimE,IAAI,YAAS,IAAQ5yE,EAAQ4tF,wBAAwBzE,GAAGnpF,EAAQ6tF,sBAAsB,SAASlhF,EAAEC,GAAG,OAAO8+E,GAAG/+E,EAAEC,EAAE,EAAErM,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,OAC9aP,EAAQ8tF,oCAAoC,SAASnhF,EAAEC,EAAEomB,EAAE9W,GAAG,IAAIovE,GAAGt4D,GAAG,MAAMhoB,MAAM8b,EAAE,MAAM,GAAG,MAAMna,QAAG,IAASA,EAAE+sE,gBAAgB,MAAM1uE,MAAM8b,EAAE,KAAK,OAAOykE,GAAG5+E,EAAEC,EAAEomB,GAAE,EAAG9W,IAAIlc,EAAQg2D,QAAQ,U,6BCrS3Lj2D,EAAOC,QAAUC,EAAQ,K,6BCKd,IAAIo5C,EAAEoa,EAAE9pC,EAAEre,EAAE,GAAG,kBAAkByiF,aAAa,oBAAoBA,YAAYnnB,IAAI,CAAC,IAAI9U,EAAEi8B,YAAY/tF,EAAQujE,aAAa,WAAW,OAAOzR,EAAE8U,WAAW,CAAC,IAAInmD,EAAE8Q,KAAK0gC,EAAExxC,EAAEmmD,MAAM5mE,EAAQujE,aAAa,WAAW,OAAO9iD,EAAEmmD,MAAM3U,GAC3O,GAAG,qBAAqBljD,QAAQ,oBAAoBi/E,eAAe,CAAC,IAAIj7D,EAAE,KAAKq/B,EAAE,KAAKv+B,EAAE,SAAFA,IAAa,GAAG,OAAOd,EAAE,IAAI,IAAIpmB,EAAE3M,EAAQujE,eAAexwC,GAAE,EAAGpmB,GAAGomB,EAAE,KAAK,MAAMnmB,GAAG,MAAMuK,WAAW0c,EAAE,GAAGjnB,IAAKysC,EAAE,SAAS1sC,GAAG,OAAOomB,EAAE5b,WAAWkiC,EAAE,EAAE1sC,IAAIomB,EAAEpmB,EAAEwK,WAAW0c,EAAE,KAAK4/B,EAAE,SAAS9mD,EAAEC,GAAGwlD,EAAEj7C,WAAWxK,EAAEC,IAAI+c,EAAE,WAAWnQ,aAAa44C,IAAIpyD,EAAQy1E,qBAAqB,WAAW,OAAM,GAAInqE,EAAEtL,EAAQiuF,wBAAwB,iBAAiB,CAAC,IAAIpnE,EAAE9X,OAAOoI,WAAW2P,EAAE/X,OAAOyK,aAAa,GAAG,qBAAqBX,QAAQ,CAAC,IAAIkO,EAC7fhY,OAAOm/E,qBAAqB,oBAAoBn/E,OAAO0kB,uBAAuB5a,QAAQ5O,MAAM,sJAAsJ,oBAAoB8c,GAAGlO,QAAQ5O,MAAM,qJAAqJ,IAAIsoD,GAAE,EAAGK,EAAE,KAAK1vD,GAAG,EAAE4vD,EAAE,EAAEC,EAAE,EAAE/yD,EAAQy1E,qBAAqB,WAAW,OAAOz1E,EAAQujE,gBAChgBxQ,GAAGznD,EAAE,aAAatL,EAAQiuF,wBAAwB,SAASthF,GAAG,EAAEA,GAAG,IAAIA,EAAEkM,QAAQ5O,MAAM,mHAAmH6oD,EAAE,EAAEnmD,EAAE+D,KAAKy9E,MAAM,IAAIxhF,GAAG,GAAG,IAAIwsC,EAAE,IAAI60C,eAAe76B,EAAEha,EAAEi1C,MAAMj1C,EAAEk1C,MAAMC,UAAU,WAAW,GAAG,OAAO17B,EAAE,CAAC,IAAIjmD,EAAE3M,EAAQujE,eAAexQ,EAAEpmD,EAAEmmD,EAAE,IAAIF,GAAE,EAAGjmD,GAAGwmD,EAAEo7B,YAAY,OAAOh8B,GAAE,EAAGK,EAAE,MAAM,MAAMhmD,GAAG,MAAMumD,EAAEo7B,YAAY,MAAM3hF,QAAS2lD,GAAE,GAAIlZ,EAAE,SAAS1sC,GAAGimD,EAAEjmD,EAAE4lD,IAAIA,GAAE,EAAGY,EAAEo7B,YAAY,QAAQ96B,EAAE,SAAS9mD,EAAEC,GAAG1J,EACtf2jB,GAAE,WAAWla,EAAE3M,EAAQujE,kBAAiB32D,IAAI+c,EAAE,WAAW7C,EAAE5jB,GAAGA,GAAG,GAAG,SAASkwD,EAAEzmD,EAAEC,GAAG,IAAIomB,EAAErmB,EAAEnM,OAAOmM,EAAE5K,KAAK6K,GAAGD,EAAE,OAAO,CAAC,IAAIuP,EAAE8W,EAAE,IAAI,EAAEnlB,EAAElB,EAAEuP,GAAG,UAAG,IAASrO,GAAG,EAAEwlD,EAAExlD,EAAEjB,IAA0B,MAAMD,EAA7BA,EAAEuP,GAAGtP,EAAED,EAAEqmB,GAAGnlB,EAAEmlB,EAAE9W,GAAgB,SAASs3C,EAAE7mD,GAAU,YAAO,KAAdA,EAAEA,EAAE,IAAqB,KAAKA,EAChP,SAASsnD,EAAEtnD,GAAG,IAAIC,EAAED,EAAE,GAAG,QAAG,IAASC,EAAE,CAAC,IAAIomB,EAAErmB,EAAEnB,MAAM,GAAGwnB,IAAIpmB,EAAE,CAACD,EAAE,GAAGqmB,EAAErmB,EAAE,IAAI,IAAIuP,EAAE,EAAErO,EAAElB,EAAEnM,OAAO0b,EAAErO,GAAG,CAAC,IAAI0hD,EAAE,GAAGrzC,EAAE,GAAG,EAAE3Q,EAAEoB,EAAE4iD,GAAG8C,EAAE9C,EAAE,EAAE2C,EAAEvlD,EAAE0lD,GAAG,QAAG,IAAS9mD,GAAG,EAAE8nD,EAAE9nD,EAAEynB,QAAG,IAASk/B,GAAG,EAAEmB,EAAEnB,EAAE3mD,IAAIoB,EAAEuP,GAAGg2C,EAAEvlD,EAAE0lD,GAAGr/B,EAAE9W,EAAEm2C,IAAI1lD,EAAEuP,GAAG3Q,EAAEoB,EAAE4iD,GAAGv8B,EAAE9W,EAAEqzC,OAAQ,WAAG,IAAS2C,GAAG,EAAEmB,EAAEnB,EAAEl/B,IAA0B,MAAMrmB,EAA7BA,EAAEuP,GAAGg2C,EAAEvlD,EAAE0lD,GAAGr/B,EAAE9W,EAAEm2C,IAAgB,OAAOzlD,EAAE,OAAO,KAAK,SAASymD,EAAE1mD,EAAEC,GAAG,IAAIomB,EAAErmB,EAAE6hF,UAAU5hF,EAAE4hF,UAAU,OAAO,IAAIx7D,EAAEA,EAAErmB,EAAEwL,GAAGvL,EAAEuL,GAAG,IAAIy7C,EAAE,GAAGC,EAAE,GAAGC,EAAE,EAAEE,EAAE,KAAKE,EAAE,EAAEC,GAAE,EAAGG,GAAE,EAAGC,GAAE,EACja,SAASC,EAAE7nD,GAAG,IAAI,IAAIC,EAAE4mD,EAAEK,GAAG,OAAOjnD,GAAG,CAAC,GAAG,OAAOA,EAAE4B,SAASylD,EAAEJ,OAAQ,MAAGjnD,EAAE6hF,WAAW9hF,GAAgD,MAA9CsnD,EAAEJ,GAAGjnD,EAAE4hF,UAAU5hF,EAAE8hF,eAAet7B,EAAEQ,EAAEhnD,GAAcA,EAAE4mD,EAAEK,IAAI,SAASkrB,EAAEpyE,GAAa,GAAV4nD,GAAE,EAAGC,EAAE7nD,IAAO2nD,EAAE,GAAG,OAAOd,EAAEI,GAAGU,GAAE,EAAGjb,EAAEqqC,OAAO,CAAC,IAAI92E,EAAE4mD,EAAEK,GAAG,OAAOjnD,GAAG6mD,EAAEsrB,EAAEnyE,EAAE6hF,UAAU9hF,IACtP,SAAS+2E,EAAE/2E,EAAEC,GAAG0nD,GAAE,EAAGC,IAAIA,GAAE,EAAG5qC,KAAKwqC,GAAE,EAAG,IAAInhC,EAAEkhC,EAAE,IAAS,IAALM,EAAE5nD,GAAOonD,EAAER,EAAEI,GAAG,OAAOI,MAAMA,EAAE06B,eAAe9hF,IAAID,IAAI3M,EAAQy1E,yBAAyB,CAAC,IAAIv5D,EAAE83C,EAAExlD,SAAS,GAAG,oBAAoB0N,EAAE,CAAC83C,EAAExlD,SAAS,KAAK0lD,EAAEF,EAAE26B,cAAc,IAAI9gF,EAAEqO,EAAE83C,EAAE06B,gBAAgB9hF,GAAGA,EAAE5M,EAAQujE,eAAe,oBAAoB11D,EAAEmmD,EAAExlD,SAASX,EAAEmmD,IAAIR,EAAEI,IAAIK,EAAEL,GAAGY,EAAE5nD,QAAQqnD,EAAEL,GAAGI,EAAER,EAAEI,GAAG,GAAG,OAAOI,EAAE,IAAIzE,GAAE,MAAO,CAAC,IAAIhkD,EAAEioD,EAAEK,GAAG,OAAOtoD,GAAGkoD,EAAEsrB,EAAExzE,EAAEkjF,UAAU7hF,GAAG2iD,GAAE,EAAG,OAAOA,EAArX,QAA+XyE,EAAE,KAAKE,EAAElhC,EAAEmhC,GAAE,GAAI,IAAI0vB,EAAEv4E,EAAEtL,EAAQs2E,sBAAsB,EACtet2E,EAAQg2E,2BAA2B,EAAEh2E,EAAQo2E,qBAAqB,EAAEp2E,EAAQmiE,wBAAwB,EAAEniE,EAAQ4uF,mBAAmB,KAAK5uF,EAAQ6kE,8BAA8B,EAAE7kE,EAAQu1E,wBAAwB,SAAS5oE,GAAGA,EAAE6B,SAAS,MAAMxO,EAAQ6uF,2BAA2B,WAAWv6B,GAAGH,IAAIG,GAAE,EAAGjb,EAAEqqC,KAAK1jF,EAAQ81E,iCAAiC,WAAW,OAAO5hB,GAAGl0D,EAAQ8uF,8BAA8B,WAAW,OAAOt7B,EAAEI,IACpa5zD,EAAQ+uF,cAAc,SAASpiF,GAAG,OAAOunD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAItnD,EAAE,EAAE,MAAM,QAAQA,EAAEsnD,EAAE,IAAIlhC,EAAEkhC,EAAEA,EAAEtnD,EAAE,IAAI,OAAOD,IAAX,QAAuBunD,EAAElhC,IAAIhzB,EAAQgvF,wBAAwB,aAAahvF,EAAQ21E,sBAAsBkO,EAAE7jF,EAAQyhE,yBAAyB,SAAS90D,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIqmB,EAAEkhC,EAAEA,EAAEvnD,EAAE,IAAI,OAAOC,IAAX,QAAuBsnD,EAAElhC,IACpWhzB,EAAQkiE,0BAA0B,SAASv1D,EAAEC,EAAEomB,GAAG,IAAI9W,EAAElc,EAAQujE,eAA8F,OAA/E,kBAAkBvwC,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAE8H,QAA6B,EAAE9H,EAAE9W,EAAE8W,EAAE9W,EAAG8W,EAAE9W,EAASvP,GAAG,KAAK,EAAE,IAAIkB,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAA2M,OAAjMlB,EAAE,CAACwL,GAAG27C,IAAItlD,SAAS5B,EAAE+hF,cAAchiF,EAAE8hF,UAAUz7D,EAAE07D,eAAvD7gF,EAAEmlB,EAAEnlB,EAAoE2gF,WAAW,GAAGx7D,EAAE9W,GAAGvP,EAAE6hF,UAAUx7D,EAAEogC,EAAES,EAAElnD,GAAG,OAAO6mD,EAAEI,IAAIjnD,IAAI6mD,EAAEK,KAAKU,EAAE5qC,IAAI4qC,GAAE,EAAGd,EAAEsrB,EAAE/rD,EAAE9W,MAAMvP,EAAE6hF,UAAU3gF,EAAEulD,EAAEQ,EAAEjnD,GAAG2nD,GAAGH,IAAIG,GAAE,EAAGjb,EAAEqqC,KAAY/2E,GAC1d3M,EAAQivF,sBAAsB,SAAStiF,GAAG,IAAIC,EAAEsnD,EAAE,OAAO,WAAW,IAAIlhC,EAAEkhC,EAAEA,EAAEtnD,EAAE,IAAI,OAAOD,EAAE7L,MAAMC,KAAKR,WAAxB,QAA2C2zD,EAAElhC,M,8BCXhH/yB,EAAQ,IAAiB,IAAIo5C,EAAEp5C,EAAQ,GAASwzD,EAAE,MAA6B,GAAvBzzD,EAAQsiC,SAAS,MAAS,oBAAoBlhC,QAAQA,OAAOkxD,IAAI,CAAC,IAAI3oC,EAAEvoB,OAAOkxD,IAAImB,EAAE9pC,EAAE,iBAAiB3pB,EAAQsiC,SAAS3Y,EAAE,kBAAkB,IAAI4lC,EAAElW,EAAE2b,mDAAmDL,kBAAkBppD,EAAEpL,OAAOQ,UAAUC,eAAe6f,EAAE,CAAC/f,KAAI,EAAGmW,KAAI,EAAGy8C,QAAO,EAAGC,UAAS,GACrW,SAAStB,EAAEj/B,EAAErmB,EAAErB,GAAG,IAAIsB,EAAEsP,EAAE,GAAGrO,EAAE,KAAKikD,EAAE,KAAiF,IAAIllD,UAAhF,IAAStB,IAAIuC,EAAE,GAAGvC,QAAG,IAASqB,EAAEjM,MAAMmN,EAAE,GAAGlB,EAAEjM,UAAK,IAASiM,EAAEkK,MAAMi7C,EAAEnlD,EAAEkK,KAAclK,EAAEpB,EAAE1K,KAAK8L,EAAEC,KAAK6T,EAAE7f,eAAegM,KAAKsP,EAAEtP,GAAGD,EAAEC,IAAI,GAAGomB,GAAGA,EAAEzV,aAAa,IAAI3Q,KAAKD,EAAEqmB,EAAEzV,kBAAe,IAASrB,EAAEtP,KAAKsP,EAAEtP,GAAGD,EAAEC,IAAI,MAAM,CAAC8mD,SAASD,EAAE30C,KAAKkU,EAAEtyB,IAAImN,EAAEgJ,IAAIi7C,EAAEnvD,MAAMuZ,EAAEy3C,OAAOpE,EAAEx4C,SAAS/W,EAAQkvB,IAAI+iC,EAAEjyD,EAAQkvF,KAAKj9B,G,6BCAvV,IAAIk9B,EAAuBlvF,EAAQ,IAEnC,SAASmvF,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3CrvF,EAAOC,QAAU,WACf,SAASuvF,EAAK5sF,EAAOkV,EAAU23E,EAAetrF,EAAUurF,EAAcC,GACpE,GAAIA,IAAWP,EAAf,CAIA,IAAIltF,EAAM,IAAI+I,MACZ,mLAKF,MADA/I,EAAIyD,KAAO,sBACLzD,GAGR,SAAS0tF,IACP,OAAOJ,EAFTA,EAAKlyE,WAAakyE,EAMlB,IAAIK,EAAiB,CACnB7rE,MAAOwrE,EACPpyE,KAAMoyE,EACNryE,KAAMqyE,EACNjyE,OAAQiyE,EACR3mF,OAAQ2mF,EACRxyE,OAAQwyE,EACRM,OAAQN,EAERjiC,IAAKiiC,EACLO,QAASH,EACTrnF,QAASinF,EACTtU,YAAasU,EACbQ,WAAYJ,EACZrrE,KAAMirE,EACNS,SAAUL,EACV1yE,MAAO0yE,EACP3yE,UAAW2yE,EACXM,MAAON,EACPjrF,MAAOirF,EAEPO,eAAgBb,EAChBC,kBAAmBF,GAKrB,OAFAQ,EAAejhC,UAAYihC,EAEpBA,I,6BCnDT7vF,EAAOC,QAFoB,gD,cCT3B,IAAIyzD,EAGJA,EAAK,WACJ,OAAO1yD,KADH,GAIL,IAEC0yD,EAAIA,GAAK,IAAI08B,SAAS,cAAb,GACR,MAAOtiF,GAEc,kBAAXkB,SAAqB0kD,EAAI1kD,QAOrChP,EAAOC,QAAUyzD,G,cCnBjB1zD,EAAOC,QAAUkB,MAAMC,SAAW,SAAUF,GAC1C,MAA8C,kBAAvCd,OAAOQ,UAAUiQ,SAAS/P,KAAKI,K,6BCQ3B,IAAI2L,EAAE,oBAAoBxL,QAAQA,OAAOkxD,IAAIt/B,EAAEpmB,EAAExL,OAAOkxD,IAAI,iBAAiB,MAAMp2C,EAAEtP,EAAExL,OAAOkxD,IAAI,gBAAgB,MAAMzkD,EAAEjB,EAAExL,OAAOkxD,IAAI,kBAAkB,MAAMjZ,EAAEzsC,EAAExL,OAAOkxD,IAAI,qBAAqB,MAAMmB,EAAE7mD,EAAExL,OAAOkxD,IAAI,kBAAkB,MAAM3oC,EAAE/c,EAAExL,OAAOkxD,IAAI,kBAAkB,MAAMhnD,EAAEsB,EAAExL,OAAOkxD,IAAI,iBAAiB,MAAMR,EAAEllD,EAAExL,OAAOkxD,IAAI,oBAAoB,MAAM/C,EAAE3iD,EAAExL,OAAOkxD,IAAI,yBAAyB,MAAM/mD,EAAEqB,EAAExL,OAAOkxD,IAAI,qBAAqB,MAAM7xC,EAAE7T,EAAExL,OAAOkxD,IAAI,kBAAkB,MAAML,EAAErlD,EACpfxL,OAAOkxD,IAAI,uBAAuB,MAAMJ,EAAEtlD,EAAExL,OAAOkxD,IAAI,cAAc,MAAMv/B,EAAEnmB,EAAExL,OAAOkxD,IAAI,cAAc,MAAMD,EAAEzlD,EAAExL,OAAOkxD,IAAI,eAAe,MAAMz+B,EAAEjnB,EAAExL,OAAOkxD,IAAI,qBAAqB,MAAMzrC,EAAEja,EAAExL,OAAOkxD,IAAI,mBAAmB,MAAMxrC,EAAEla,EAAExL,OAAOkxD,IAAI,eAAe,MAClQ,SAASvrC,EAAEpa,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIylD,EAAEzlD,EAAE+mD,SAAS,OAAOtB,GAAG,KAAKp/B,EAAE,OAAOrmB,EAAEA,EAAEmS,MAAQ,KAAKgzC,EAAE,KAAKvC,EAAE,KAAK1hD,EAAE,KAAK4lD,EAAE,KAAKpa,EAAE,KAAK54B,EAAE,OAAO9T,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE+mD,UAAY,KAAKpoD,EAAE,KAAKC,EAAE,KAAKwnB,EAAE,KAAKm/B,EAAE,KAAKvoC,EAAE,OAAOhd,EAAE,QAAQ,OAAOylD,GAAG,KAAKl2C,EAAE,OAAOk2C,IAAI,SAASG,EAAE5lD,GAAG,OAAOoa,EAAEpa,KAAK4iD,EAAEvvD,EAAQowF,UAAUt+B,EAAE9xD,EAAQqwF,eAAe9gC,EAAEvvD,EAAQswF,gBAAgBhlF,EAAEtL,EAAQuwF,gBAAgB5mE,EAAE3pB,EAAQwwF,QAAQx9D,EAAEhzB,EAAQwf,WAAWjU,EAAEvL,EAAQsiC,SAASz0B,EAAE7N,EAAQywF,KAAK19D,EAAE/yB,EAAQyf,KAAKyyC,EAAElyD,EAAQ0wF,OAAOx0E,EAChflc,EAAQgyD,SAASyB,EAAEzzD,EAAQ+xD,WAAW1Y,EAAEr5C,EAAQmyD,SAAS1xC,EAAEzgB,EAAQ2wF,YAAY,SAAShkF,GAAG,OAAO4lD,EAAE5lD,IAAIoa,EAAEpa,KAAKmlD,GAAG9xD,EAAQ4wF,iBAAiBr+B,EAAEvyD,EAAQ6wF,kBAAkB,SAASlkF,GAAG,OAAOoa,EAAEpa,KAAKrB,GAAGtL,EAAQ8wF,kBAAkB,SAASnkF,GAAG,OAAOoa,EAAEpa,KAAKgd,GAAG3pB,EAAQ+wF,UAAU,SAASpkF,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE+mD,WAAW1gC,GAAGhzB,EAAQgxF,aAAa,SAASrkF,GAAG,OAAOoa,EAAEpa,KAAKpB,GAAGvL,EAAQixF,WAAW,SAAStkF,GAAG,OAAOoa,EAAEpa,KAAKkB,GAAG7N,EAAQkxF,OAAO,SAASvkF,GAAG,OAAOoa,EAAEpa,KAAKomB,GACzd/yB,EAAQuf,OAAO,SAAS5S,GAAG,OAAOoa,EAAEpa,KAAKulD,GAAGlyD,EAAQmxF,SAAS,SAASxkF,GAAG,OAAOoa,EAAEpa,KAAKuP,GAAGlc,EAAQoxF,WAAW,SAASzkF,GAAG,OAAOoa,EAAEpa,KAAK8mD,GAAGzzD,EAAQqxF,aAAa,SAAS1kF,GAAG,OAAOoa,EAAEpa,KAAK0sC,GAAGr5C,EAAQsxF,WAAW,SAAS3kF,GAAG,OAAOoa,EAAEpa,KAAK8T,GACzOzgB,EAAQuxF,mBAAmB,SAAS5kF,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIkB,GAAGlB,IAAI4iD,GAAG5iD,IAAI8mD,GAAG9mD,IAAI0sC,GAAG1sC,IAAI8T,GAAG9T,IAAIslD,GAAG,kBAAkBtlD,GAAG,OAAOA,IAAIA,EAAE+mD,WAAW3gC,GAAGpmB,EAAE+mD,WAAWxB,GAAGvlD,EAAE+mD,WAAW/pC,GAAGhd,EAAE+mD,WAAWpoD,GAAGqB,EAAE+mD,WAAWnoD,GAAGoB,EAAE+mD,WAAW7/B,GAAGlnB,EAAE+mD,WAAW7sC,GAAGla,EAAE+mD,WAAW5sC,GAAGna,EAAE+mD,WAAWrB,IAAIryD,EAAQwxF,OAAOzqE,G,gBCPnU,IAAI0qE,EAAW,SAAUzxF,GACvB,aAEA,IAEI0B,EAFAgwF,EAAKvxF,OAAOQ,UACZgxF,EAASD,EAAG9wF,eAEZgxF,EAA4B,oBAAXxwF,OAAwBA,OAAS,GAClDywF,EAAiBD,EAAQvwF,UAAY,aACrCywF,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAE/C,SAASC,EAAOzlF,EAAK/L,EAAKsB,GAOxB,OANA7B,OAAOqJ,eAAeiD,EAAK/L,EAAK,CAC9BsB,MAAOA,EACPmH,YAAY,EACZyU,cAAc,EACdC,UAAU,IAELpR,EAAI/L,GAEb,IAEEwxF,EAAO,GAAI,IACX,MAAOjwF,GACPiwF,EAAS,SAASzlF,EAAK/L,EAAKsB,GAC1B,OAAOyK,EAAI/L,GAAOsB,GAItB,SAASmwF,EAAKC,EAASC,EAAS/nF,EAAMgoF,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQ1xF,qBAAqB6xF,EAAYH,EAAUG,EAC/EC,EAAYtyF,OAAOwK,OAAO4nF,EAAe5xF,WACzCsD,EAAU,IAAIyuF,EAAQJ,GAAe,IAMzC,OAFAG,EAAUE,QAsMZ,SAA0BP,EAAS9nF,EAAMrG,GACvC,IAAIsC,EAAQqsF,EAEZ,OAAO,SAAgBxuF,EAAQ2F,GAC7B,GAAIxD,IAAUssF,EACZ,MAAM,IAAI7nF,MAAM,gCAGlB,GAAIzE,IAAUusF,EAAmB,CAC/B,GAAe,UAAX1uF,EACF,MAAM2F,EAKR,OAAOgpF,IAMT,IAHA9uF,EAAQG,OAASA,EACjBH,EAAQ8F,IAAMA,IAED,CACX,IAAIipF,EAAW/uF,EAAQ+uF,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAU/uF,GACnD,GAAIgvF,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBhvF,EAAQG,OAGVH,EAAQmvF,KAAOnvF,EAAQovF,MAAQpvF,EAAQ8F,SAElC,GAAuB,UAAnB9F,EAAQG,OAAoB,CACrC,GAAImC,IAAUqsF,EAEZ,MADArsF,EAAQusF,EACF7uF,EAAQ8F,IAGhB9F,EAAQqvF,kBAAkBrvF,EAAQ8F,SAEN,WAAnB9F,EAAQG,QACjBH,EAAQsvF,OAAO,SAAUtvF,EAAQ8F,KAGnCxD,EAAQssF,EAER,IAAIW,EAASC,EAASrB,EAAS9nF,EAAMrG,GACrC,GAAoB,WAAhBuvF,EAAO10E,KAAmB,CAO5B,GAJAvY,EAAQtC,EAAQnC,KACZgxF,EACAY,EAEAF,EAAOzpF,MAAQopF,EACjB,SAGF,MAAO,CACLnxF,MAAOwxF,EAAOzpF,IACdjI,KAAMmC,EAAQnC,MAGS,UAAhB0xF,EAAO10E,OAChBvY,EAAQusF,EAGR7uF,EAAQG,OAAS,QACjBH,EAAQ8F,IAAMypF,EAAOzpF,OA9QP4pF,CAAiBvB,EAAS9nF,EAAMrG,GAE7CwuF,EAcT,SAASgB,EAASppF,EAAIoC,EAAK1C,GACzB,IACE,MAAO,CAAE+U,KAAM,SAAU/U,IAAKM,EAAGxJ,KAAK4L,EAAK1C,IAC3C,MAAO9H,GACP,MAAO,CAAE6c,KAAM,QAAS/U,IAAK9H,IAhBjCjC,EAAQmyF,KAAOA,EAoBf,IAAIS,EAAyB,iBACzBc,EAAyB,iBACzBb,EAAoB,YACpBC,EAAoB,YAIpBK,EAAmB,GAMvB,SAASX,KACT,SAASoB,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBA,EAAkBjC,GAAkB,WAClC,OAAO9wF,MAGT,IAAIgzF,EAAW5zF,OAAOwf,eAClBq0E,EAA0BD,GAAYA,EAASA,EAASxsF,EAAO,MAC/DysF,GACAA,IAA4BtC,GAC5BC,EAAO9wF,KAAKmzF,EAAyBnC,KAGvCiC,EAAoBE,GAGtB,IAAIC,EAAKJ,EAA2BlzF,UAClC6xF,EAAU7xF,UAAYR,OAAOwK,OAAOmpF,GAWtC,SAASI,EAAsBvzF,GAC7B,CAAC,OAAQ,QAAS,UAAU0I,SAAQ,SAASjF,GAC3C8tF,EAAOvxF,EAAWyD,GAAQ,SAAS2F,GACjC,OAAOhJ,KAAK4xF,QAAQvuF,EAAQ2F,SAkClC,SAASoqF,EAAc1B,EAAW2B,GAChC,SAASC,EAAOjwF,EAAQ2F,EAAKJ,EAASC,GACpC,IAAI4pF,EAASC,EAAShB,EAAUruF,GAASquF,EAAW1oF,GACpD,GAAoB,UAAhBypF,EAAO10E,KAEJ,CACL,IAAI5X,EAASssF,EAAOzpF,IAChB/H,EAAQkF,EAAOlF,MACnB,OAAIA,GACiB,kBAAVA,GACP2vF,EAAO9wF,KAAKmB,EAAO,WACdoyF,EAAYzqF,QAAQ3H,EAAMsyF,SAASnqF,MAAK,SAASnI,GACtDqyF,EAAO,OAAQryF,EAAO2H,EAASC,MAC9B,SAAS3H,GACVoyF,EAAO,QAASpyF,EAAK0H,EAASC,MAI3BwqF,EAAYzqF,QAAQ3H,GAAOmI,MAAK,SAASoqF,GAI9CrtF,EAAOlF,MAAQuyF,EACf5qF,EAAQzC,MACP,SAAS+C,GAGV,OAAOoqF,EAAO,QAASpqF,EAAON,EAASC,MAvBzCA,EAAO4pF,EAAOzpF,KA4BlB,IAAIyqF,EAgCJzzF,KAAK4xF,QA9BL,SAAiBvuF,EAAQ2F,GACvB,SAAS0qF,IACP,OAAO,IAAIL,GAAY,SAASzqF,EAASC,GACvCyqF,EAAOjwF,EAAQ2F,EAAKJ,EAASC,MAIjC,OAAO4qF,EAaLA,EAAkBA,EAAgBrqF,KAChCsqF,EAGAA,GACEA,KAkHV,SAASvB,EAAoBF,EAAU/uF,GACrC,IAAIG,EAAS4uF,EAAS3xF,SAAS4C,EAAQG,QACvC,GAAIA,IAAW1C,EAAW,CAKxB,GAFAuC,EAAQ+uF,SAAW,KAEI,UAAnB/uF,EAAQG,OAAoB,CAE9B,GAAI4uF,EAAS3xF,SAAT,SAGF4C,EAAQG,OAAS,SACjBH,EAAQ8F,IAAMrI,EACdwxF,EAAoBF,EAAU/uF,GAEP,UAAnBA,EAAQG,QAGV,OAAO+uF,EAIXlvF,EAAQG,OAAS,QACjBH,EAAQ8F,IAAM,IAAI5H,UAChB,kDAGJ,OAAOgxF,EAGT,IAAIK,EAASC,EAASrvF,EAAQ4uF,EAAS3xF,SAAU4C,EAAQ8F,KAEzD,GAAoB,UAAhBypF,EAAO10E,KAIT,OAHA7a,EAAQG,OAAS,QACjBH,EAAQ8F,IAAMypF,EAAOzpF,IACrB9F,EAAQ+uF,SAAW,KACZG,EAGT,IAAInpF,EAAOwpF,EAAOzpF,IAElB,OAAMC,EAOFA,EAAKlI,MAGPmC,EAAQ+uF,EAAS0B,YAAc1qF,EAAKhI,MAGpCiC,EAAQpC,KAAOmxF,EAAS2B,QAQD,WAAnB1wF,EAAQG,SACVH,EAAQG,OAAS,OACjBH,EAAQ8F,IAAMrI,GAUlBuC,EAAQ+uF,SAAW,KACZG,GANEnpF,GA3BP/F,EAAQG,OAAS,QACjBH,EAAQ8F,IAAM,IAAI5H,UAAU,oCAC5B8B,EAAQ+uF,SAAW,KACZG,GAoDX,SAASyB,EAAaC,GACpB,IAAI3/E,EAAQ,CAAE4/E,OAAQD,EAAK,IAEvB,KAAKA,IACP3/E,EAAM6/E,SAAWF,EAAK,IAGpB,KAAKA,IACP3/E,EAAM8/E,WAAaH,EAAK,GACxB3/E,EAAM+/E,SAAWJ,EAAK,IAGxB9zF,KAAKm0F,WAAWnzF,KAAKmT,GAGvB,SAASigF,EAAcjgF,GACrB,IAAIs+E,EAASt+E,EAAMkgF,YAAc,GACjC5B,EAAO10E,KAAO,gBACP00E,EAAOzpF,IACdmL,EAAMkgF,WAAa5B,EAGrB,SAASd,EAAQJ,GAIfvxF,KAAKm0F,WAAa,CAAC,CAAEJ,OAAQ,SAC7BxC,EAAYjpF,QAAQurF,EAAc7zF,MAClCA,KAAK4oD,OAAM,GA8Bb,SAASpiD,EAAO8tF,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASxD,GAC9B,GAAIyD,EACF,OAAOA,EAAez0F,KAAKw0F,GAG7B,GAA6B,oBAAlBA,EAASxzF,KAClB,OAAOwzF,EAGT,IAAKx2D,MAAMw2D,EAAS70F,QAAS,CAC3B,IAAIF,GAAK,EAAGuB,EAAO,SAASA,IAC1B,OAASvB,EAAI+0F,EAAS70F,QACpB,GAAImxF,EAAO9wF,KAAKw0F,EAAU/0F,GAGxB,OAFAuB,EAAKG,MAAQqzF,EAAS/0F,GACtBuB,EAAKC,MAAO,EACLD,EAOX,OAHAA,EAAKG,MAAQN,EACbG,EAAKC,MAAO,EAELD,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMkxF,GAIjB,SAASA,IACP,MAAO,CAAE/wF,MAAON,EAAWI,MAAM,GA+MnC,OA5mBA8xF,EAAkBjzF,UAAYszF,EAAGrpF,YAAcipF,EAC/CA,EAA2BjpF,YAAcgpF,EACzCA,EAAkBn1E,YAAcyzE,EAC9B2B,EACA7B,EACA,qBAaFhyF,EAAQu1F,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,oBAAXD,GAAyBA,EAAO5qF,YAClD,QAAO6qF,IACHA,IAAS7B,GAG2B,uBAAnC6B,EAAKh3E,aAAeg3E,EAAK/vF,QAIhC1F,EAAQ01F,KAAO,SAASF,GAQtB,OAPIr1F,OAAOugB,eACTvgB,OAAOugB,eAAe80E,EAAQ3B,IAE9B2B,EAAO70E,UAAYkzE,EACnB3B,EAAOsD,EAAQxD,EAAmB,sBAEpCwD,EAAO70F,UAAYR,OAAOwK,OAAOspF,GAC1BuB,GAOTx1F,EAAQ21F,MAAQ,SAAS5rF,GACvB,MAAO,CAAEuqF,QAASvqF,IAsEpBmqF,EAAsBC,EAAcxzF,WACpCwzF,EAAcxzF,UAAUmxF,GAAuB,WAC7C,OAAO/wF,MAETf,EAAQm0F,cAAgBA,EAKxBn0F,EAAQ41F,MAAQ,SAASxD,EAASC,EAAS/nF,EAAMgoF,EAAa8B,QACxC,IAAhBA,IAAwBA,EAAclqF,SAE1C,IAAIw0B,EAAO,IAAIy1D,EACbhC,EAAKC,EAASC,EAAS/nF,EAAMgoF,GAC7B8B,GAGF,OAAOp0F,EAAQu1F,oBAAoBlD,GAC/B3zD,EACAA,EAAK78B,OAAOsI,MAAK,SAASjD,GACxB,OAAOA,EAAOpF,KAAOoF,EAAOlF,MAAQ08B,EAAK78B,WAuKjDqyF,EAAsBD,GAEtB/B,EAAO+B,EAAIjC,EAAmB,aAO9BiC,EAAGpC,GAAkB,WACnB,OAAO9wF,MAGTkzF,EAAGrjF,SAAW,WACZ,MAAO,sBAkCT5Q,EAAQiH,KAAO,SAAS2B,GACtB,IAAI3B,EAAO,GACX,IAAK,IAAIvG,KAAOkI,EACd3B,EAAKlF,KAAKrB,GAMZ,OAJAuG,EAAK4uF,UAIE,SAASh0F,IACd,KAAOoF,EAAKzG,QAAQ,CAClB,IAAIE,EAAMuG,EAAKuE,MACf,GAAI9K,KAAOkI,EAGT,OAFA/G,EAAKG,MAAQtB,EACbmB,EAAKC,MAAO,EACLD,EAQX,OADAA,EAAKC,MAAO,EACLD,IAsCX7B,EAAQuH,OAASA,EAMjBmrF,EAAQ/xF,UAAY,CAClBiK,YAAa8nF,EAEb/oC,MAAO,SAASmsC,GAcd,GAbA/0F,KAAK4jB,KAAO,EACZ5jB,KAAKc,KAAO,EAGZd,KAAKqyF,KAAOryF,KAAKsyF,MAAQ3xF,EACzBX,KAAKe,MAAO,EACZf,KAAKiyF,SAAW,KAEhBjyF,KAAKqD,OAAS,OACdrD,KAAKgJ,IAAMrI,EAEXX,KAAKm0F,WAAW7rF,QAAQ8rF,IAEnBW,EACH,IAAK,IAAIpwF,KAAQ3E,KAEQ,MAAnB2E,EAAKwF,OAAO,IACZymF,EAAO9wF,KAAKE,KAAM2E,KACjBm5B,OAAOn5B,EAAK4H,MAAM,MACrBvM,KAAK2E,GAAQhE,IAMrBq0F,KAAM,WACJh1F,KAAKe,MAAO,EAEZ,IACIk0F,EADYj1F,KAAKm0F,WAAW,GACLE,WAC3B,GAAwB,UAApBY,EAAWl3E,KACb,MAAMk3E,EAAWjsF,IAGnB,OAAOhJ,KAAKk1F,MAGd3C,kBAAmB,SAAS4C,GAC1B,GAAIn1F,KAAKe,KACP,MAAMo0F,EAGR,IAAIjyF,EAAUlD,KACd,SAASo1F,EAAOC,EAAKC,GAYnB,OAXA7C,EAAO10E,KAAO,QACd00E,EAAOzpF,IAAMmsF,EACbjyF,EAAQpC,KAAOu0F,EAEXC,IAGFpyF,EAAQG,OAAS,OACjBH,EAAQ8F,IAAMrI,KAGN20F,EAGZ,IAAK,IAAI/1F,EAAIS,KAAKm0F,WAAW10F,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAI4U,EAAQnU,KAAKm0F,WAAW50F,GACxBkzF,EAASt+E,EAAMkgF,WAEnB,GAAqB,SAAjBlgF,EAAM4/E,OAIR,OAAOqB,EAAO,OAGhB,GAAIjhF,EAAM4/E,QAAU/zF,KAAK4jB,KAAM,CAC7B,IAAI2xE,EAAW3E,EAAO9wF,KAAKqU,EAAO,YAC9BqhF,EAAa5E,EAAO9wF,KAAKqU,EAAO,cAEpC,GAAIohF,GAAYC,EAAY,CAC1B,GAAIx1F,KAAK4jB,KAAOzP,EAAM6/E,SACpB,OAAOoB,EAAOjhF,EAAM6/E,UAAU,GACzB,GAAIh0F,KAAK4jB,KAAOzP,EAAM8/E,WAC3B,OAAOmB,EAAOjhF,EAAM8/E,iBAGjB,GAAIsB,GACT,GAAIv1F,KAAK4jB,KAAOzP,EAAM6/E,SACpB,OAAOoB,EAAOjhF,EAAM6/E,UAAU,OAG3B,KAAIwB,EAMT,MAAM,IAAIvrF,MAAM,0CALhB,GAAIjK,KAAK4jB,KAAOzP,EAAM8/E,WACpB,OAAOmB,EAAOjhF,EAAM8/E,gBAU9BzB,OAAQ,SAASz0E,EAAM/U,GACrB,IAAK,IAAIzJ,EAAIS,KAAKm0F,WAAW10F,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAI4U,EAAQnU,KAAKm0F,WAAW50F,GAC5B,GAAI4U,EAAM4/E,QAAU/zF,KAAK4jB,MACrBgtE,EAAO9wF,KAAKqU,EAAO,eACnBnU,KAAK4jB,KAAOzP,EAAM8/E,WAAY,CAChC,IAAIwB,EAAethF,EACnB,OAIAshF,IACU,UAAT13E,GACS,aAATA,IACD03E,EAAa1B,QAAU/qF,GACvBA,GAAOysF,EAAaxB,aAGtBwB,EAAe,MAGjB,IAAIhD,EAASgD,EAAeA,EAAapB,WAAa,GAItD,OAHA5B,EAAO10E,KAAOA,EACd00E,EAAOzpF,IAAMA,EAETysF,GACFz1F,KAAKqD,OAAS,OACdrD,KAAKc,KAAO20F,EAAaxB,WAClB7B,GAGFpyF,KAAK01F,SAASjD,IAGvBiD,SAAU,SAASjD,EAAQyB,GACzB,GAAoB,UAAhBzB,EAAO10E,KACT,MAAM00E,EAAOzpF,IAcf,MAXoB,UAAhBypF,EAAO10E,MACS,aAAhB00E,EAAO10E,KACT/d,KAAKc,KAAO2xF,EAAOzpF,IACM,WAAhBypF,EAAO10E,MAChB/d,KAAKk1F,KAAOl1F,KAAKgJ,IAAMypF,EAAOzpF,IAC9BhJ,KAAKqD,OAAS,SACdrD,KAAKc,KAAO,OACa,WAAhB2xF,EAAO10E,MAAqBm2E,IACrCl0F,KAAKc,KAAOozF,GAGP9B,GAGTuD,OAAQ,SAAS1B,GACf,IAAK,IAAI10F,EAAIS,KAAKm0F,WAAW10F,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAI4U,EAAQnU,KAAKm0F,WAAW50F,GAC5B,GAAI4U,EAAM8/E,aAAeA,EAGvB,OAFAj0F,KAAK01F,SAASvhF,EAAMkgF,WAAYlgF,EAAM+/E,UACtCE,EAAcjgF,GACPi+E,IAKb,MAAS,SAAS2B,GAChB,IAAK,IAAIx0F,EAAIS,KAAKm0F,WAAW10F,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAI4U,EAAQnU,KAAKm0F,WAAW50F,GAC5B,GAAI4U,EAAM4/E,SAAWA,EAAQ,CAC3B,IAAItB,EAASt+E,EAAMkgF,WACnB,GAAoB,UAAhB5B,EAAO10E,KAAkB,CAC3B,IAAI63E,EAASnD,EAAOzpF,IACpBorF,EAAcjgF,GAEhB,OAAOyhF,GAMX,MAAM,IAAI3rF,MAAM,0BAGlB4rF,cAAe,SAASvB,EAAUX,EAAYC,GAa5C,OAZA5zF,KAAKiyF,SAAW,CACd3xF,SAAUkG,EAAO8tF,GACjBX,WAAYA,EACZC,QAASA,GAGS,SAAhB5zF,KAAKqD,SAGPrD,KAAKgJ,IAAMrI,GAGNyxF,IAQJnzF,EA7sBM,CAotBgBD,EAAOC,SAGtC,IACE62F,mBAAqBpF,EACrB,MAAOqF,GAUP3G,SAAS,IAAK,yBAAdA,CAAwCsB,K,gBC1uB1C,IAAIsF,EAAoB,EAAQ,IAE5BC,EAAkB,EAAQ,IAE1B90F,EAA6B,EAAQ,IAErC+0F,EAAoB,EAAQ,IAMhCl3F,EAAOC,QAJP,SAA4BiB,GAC1B,OAAO81F,EAAkB91F,IAAQ+1F,EAAgB/1F,IAAQiB,EAA2BjB,IAAQg2F,KAI9Fl3F,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,gBCbxE,IAAIikC,EAAmB,EAAQ,IAM/B35C,EAAOC,QAJP,SAA4BiB,GAC1B,GAAIC,MAAMC,QAAQF,GAAM,OAAOy4C,EAAiBz4C,IAIlDlB,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCHxE1V,EAAOC,QAJP,SAA0B0+B,GACxB,GAAsB,qBAAXt9B,QAAmD,MAAzBs9B,EAAKt9B,OAAOC,WAA2C,MAAtBq9B,EAAK,cAAuB,OAAOx9B,MAAMwK,KAAKgzB,IAItH3+B,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,gBCLxE,IAAIikC,EAAmB,EAAQ,IAW/B35C,EAAOC,QATP,SAAqCie,EAAGC,GACtC,GAAKD,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOy7B,EAAiBz7B,EAAGC,GACtD,IAAI3S,EAAIpL,OAAOQ,UAAUiQ,SAAS/P,KAAKod,GAAG3Q,MAAM,GAAI,GAEpD,MADU,WAAN/B,GAAkB0S,EAAErT,cAAaW,EAAI0S,EAAErT,YAAYlF,MAC7C,QAAN6F,GAAqB,QAANA,EAAoBrK,MAAMwK,KAAKuS,GACxC,cAAN1S,GAAqB,2CAA2C4S,KAAK5S,GAAWmuC,EAAiBz7B,EAAGC,QAAxG,IAIFne,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCRxE1V,EAAOC,QAJP,WACE,MAAM,IAAImC,UAAU,yIAItBpC,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,gBCLxE,IAAIua,EAA+B,EAAQ,IAqB3CjwB,EAAOC,QAnBP,SAAkCS,EAAQgd,GACxC,GAAc,MAAVhd,EAAgB,MAAO,GAC3B,IACIC,EAAKJ,EADLD,EAAS2vB,EAA6BvvB,EAAQgd,GAGlD,GAAItd,OAAO2I,sBAAuB,CAChC,IAAImnB,EAAmB9vB,OAAO2I,sBAAsBrI,GAEpD,IAAKH,EAAI,EAAGA,EAAI2vB,EAAiBzvB,OAAQF,IACvCI,EAAMuvB,EAAiB3vB,GACnBmd,EAAStQ,QAAQzM,IAAQ,GACxBP,OAAOQ,UAAUuvB,qBAAqBrvB,KAAKJ,EAAQC,KACxDL,EAAOK,GAAOD,EAAOC,IAIzB,OAAOL,GAITN,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCPxE1V,EAAOC,QAfP,SAAuCS,EAAQgd,GAC7C,GAAc,MAAVhd,EAAgB,MAAO,GAC3B,IAEIC,EAAKJ,EAFLD,EAAS,GACTqd,EAAavd,OAAO8G,KAAKxG,GAG7B,IAAKH,EAAI,EAAGA,EAAIod,EAAWld,OAAQF,IACjCI,EAAMgd,EAAWpd,GACbmd,EAAStQ,QAAQzM,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,GAITN,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCJxE1V,EAAOC,QAZP,SAAgCiuB,EAASC,GAKvC,OAJKA,IACHA,EAAMD,EAAQ3gB,MAAM,IAGfnN,OAAOw6B,OAAOx6B,OAAOoJ,iBAAiB0kB,EAAS,CACpDC,IAAK,CACHlsB,MAAO7B,OAAOw6B,OAAOzM,QAM3BnuB,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCbxE,SAAS0a,EAAQ1jB,GAiBf,MAdsB,oBAAXrL,QAAoD,kBAApBA,OAAOC,UAChDtB,EAAOC,QAAUmwB,EAAU,SAAiB1jB,GAC1C,cAAcA,GAGhB1M,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,IAExE1V,EAAOC,QAAUmwB,EAAU,SAAiB1jB,GAC1C,OAAOA,GAAyB,oBAAXrL,QAAyBqL,EAAI7B,cAAgBxJ,QAAUqL,IAAQrL,OAAOT,UAAY,gBAAkB8L,GAG3H1M,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,GAGnE0a,EAAQ1jB,GAGjB1M,EAAOC,QAAUmwB,EACjBpwB,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,cCNxE1V,EAAOC,QAfP,SAAyByM,EAAK/L,EAAKsB,GAYjC,OAXItB,KAAO+L,EACTtM,OAAOqJ,eAAeiD,EAAK/L,EAAK,CAC9BsB,MAAOA,EACPmH,YAAY,EACZyU,cAAc,EACdC,UAAU,IAGZpR,EAAI/L,GAAOsB,EAGNyK,GAIT1M,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQyV,YAAa,G,6BCdxEtV,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAQzFzM,EAAO,SAAc,EAAIm3F,EAAa,SAFzB,IAGbp3F,EAAOC,QAAUA,EAAO,S,6BCbxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAyDThC,EAAO,QAvDM,CACXo3F,QAAS,SAAiB7gF,GACxB,MAAO,CACL4N,SAAU,QACV4H,OAAQ,IACRvU,MAAO,OACPuE,OAAQ,OACR0f,WAAY,qBACZ/P,QAASnV,EAAS,EAAI,EACtB8gF,aAAc9gF,EAAS,GAAK,0BAC5B+gF,YAAa/gF,EAAS,GAAK,0BAC3BghF,WAAYhhF,EAAS,GAAK,0BAC1BihF,gBAAiBjhF,EAAS,GAAK,0BAC/BktB,UAAWltB,EAAS,GAAK,0BACzB0B,WAAY1B,EAAS,eAAiB,oCAI1C6C,SAAU,SAAkB7C,EAAQiB,EAAOC,GACzC,MAAO,CACL0M,SAAU,QACV1M,MAAOA,EAAQ,EAAI,UACnBsU,OAAQ,KACRvU,MAAOA,EACPuE,OAAQ,OACRs7E,aAAc9gF,EAAS,GAAKkB,EAAQ,0BAA4B,2BAChE6/E,YAAa/gF,EAAS,GAAKkB,EAAQ,0BAA4B,2BAC/D8/E,WAAYhhF,EAAS,GAAKkB,EAAQ,0BAA4B,2BAC9D+/E,gBAAiBjhF,EAAS,GAAKkB,EAAQ,0BAA4B,2BACnEgsB,UAAWltB,EAAS,GAAKkB,EAAQ,0BAA4B,2BAC7DQ,WAAY,aAIhB6lB,KAAM,WACJ,MAAO,CACL/hB,OAAQ,OACR6nB,UAAW,aACX/O,SAAU,SAId4iE,SAAU,WACR,MAAO,CACL17E,OAAQ,SAIZjP,KAAM,WACJ,MAAO,CACLstB,QAAS,WAMfr6B,EAAOC,QAAUA,EAAO,S,6BChDxB,SAAS8Z,IACP,IAAI49E,EAAYx2F,MAAMwK,KAAKsD,SAAS2oF,uBAAuB,YAAY71B,QACnE41B,GACFA,EAAUloD,QAId,SAASz1B,IACP,IAAI69E,EAAW12F,MAAMwK,KAAKsD,SAAS2oF,uBAAuB,YAAYnsF,MAClEosF,GACFA,EAASpoD,QAIb,SAASqoD,IACP,IAAIC,EAAc9oF,SAASuJ,eAAe,0BACtCu/E,GACFA,EAAYtoD,QAWhB,SAASuoD,EAAgBC,GACvB,GAAIhpF,SAAS6L,cAAcpW,UAAUs9B,SAAS,WAAY,CACxD,IAAI69B,EAAU5wD,SAAS6L,cAAcm9E,GACjCp4B,EACFA,EAAQpwB,QAERqoD,QAGkB,2BAAhBG,EACFj+E,IAEAD,IAnDN3Z,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAEThC,EAAQ8Z,qBAAuBA,EAC/B9Z,EAAQ+Z,oBAAsBA,EAC9B/Z,EAAQ63F,mBAAqBA,EAC7B73F,EAAQ2Z,kBA0BR,WACE,IAAIs+E,EAAajpF,SAASuJ,eAAe,yBACrC0/E,GACFA,EAAWzoD,SA5BfxvC,EAAQ+3F,gBAAkBA,EAC1B/3F,EAAQ4Z,oBAgDR,WACEm+E,EAAgB,uBAhDlB/3F,EAAQ6Z,wBAmDR,WACEk+E,EAAgB,4B,6BC7DlB53F,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAGT,IAAI9B,EAAWC,OAAOC,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAII,KAAOD,EAAcN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAAQL,EAAOK,GAAOD,EAAOC,IAAY,OAAOL,GAEnPmwB,EAAgB,WAAc,SAASjnB,EAAiBlJ,EAAQsC,GAAS,IAAK,IAAIrC,EAAI,EAAGA,EAAIqC,EAAMnC,OAAQF,IAAK,CAAE,IAAI8f,EAAazd,EAAMrC,GAAI8f,EAAWjX,WAAaiX,EAAWjX,aAAc,EAAOiX,EAAWxC,cAAe,EAAU,UAAWwC,IAAYA,EAAWvC,UAAW,GAAM1d,OAAOqJ,eAAenJ,EAAQ+f,EAAW1f,IAAK0f,IAAiB,OAAO,SAAUkQ,EAAaG,EAAYC,GAAiJ,OAA9HD,GAAYlnB,EAAiB+mB,EAAY3vB,UAAW8vB,GAAiBC,GAAannB,EAAiB+mB,EAAaI,GAAqBJ,GAA7gB,GAIpB,SAAS9a,EAAuB/I,GAAO,OAAOA,GAAOA,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAMzF,IAAIy+C,EAASjrD,EAAQ,GAEjByV,EAAUF,EAAuB01C,GAIjCv1C,EAAcH,EAFDvV,EAAQ,KAIrBi4F,EAAc,SAAUnhE,GAG1B,SAASmhE,EAAWv1F,IAftB,SAAyB0tB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAInuB,UAAU,qCAgB5GiuB,CAAgBrvB,KAAMm3F,GApBf,SAAaC,EAAIC,EAAKC,GAAqC,IAA9B,IAAIC,GAAS,EAAwBA,GAAQ,CAAE,IAAI1vF,EAASuvF,EAAIlyE,EAAWmyE,EAAKG,EAAWF,EAAKC,GAAS,EAAsB,OAAX1vF,IAAiBA,EAASunF,SAASxvF,WAAW,IAAI63F,EAAOr4F,OAAO+I,yBAAyBN,EAAQqd,GAAW,QAAavkB,IAAT82F,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx2F,MAAgB,IAAIy2F,EAASD,EAAK7wE,IAAK,QAAejmB,IAAX+2F,EAAwB,OAAoB,OAAOA,EAAO53F,KAAK03F,GAA/V,IAAI/zE,EAASrkB,OAAOwf,eAAe/W,GAAS,GAAe,OAAX4b,EAAmB,OAA2B2zE,EAAK3zE,EAAQ4zE,EAAMnyE,EAAUoyE,EAAME,EAAUD,GAAS,EAAME,EAAOh0E,OAAS9iB,GAsBxcg3F,CAAKv4F,OAAOwf,eAAeu4E,EAAWv3F,WAAY,cAAeI,MAAMF,KAAKE,KAAM4B,GAClF5B,KAAKwF,MAAQ,CACXoyF,OAAO,GAyFX,OA3GF,SAAmBluF,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIvI,UAAU,kEAAoEuI,GAAeD,EAAS9J,UAAYR,OAAOwK,OAAOD,GAAcA,EAAW/J,UAAW,CAAEiK,YAAa,CAAE5I,MAAOyI,EAAUtB,YAAY,EAAO0U,UAAU,EAAMD,cAAc,KAAelT,IAAYvK,OAAOugB,eAAiBvgB,OAAOugB,eAAejW,EAAUC,GAAcD,EAASkW,UAAYjW,GAW/dimB,CAAUunE,EAAYnhE,GAWtBvG,EAAa0nE,EAAY,CAAC,CACxBx3F,IAAK,eACLsB,MAAO,SAAsBqJ,GAC3B,OAAOnL,EAAS,CACdikB,SAAU,WACVpI,OAAQ,MACRod,KAAM,EACN1hB,MAAO,EACPob,IAAmB,EAARxnB,EAAN,GAAmB,IACxBqgB,QAAS3qB,KAAKwF,MAAMoyF,MAAQ,GAAM,GACjC53F,KAAKwF,MAAMoyF,OAAS53F,KAAK4B,MAAMqT,OAAO4iF,qBAE1C,CACDl4F,IAAK,SACLsB,MAAO,WACL,IAAI6e,EAAQ9f,KAER83F,OAAOn3F,EAgBX,GAAIX,KAAK4B,MAAM8Y,WAAY,CACzB,IAAIc,EAAa,CACf9X,WAAY,YAAc1D,KAAK4B,MAAM8Y,WAAW9Y,MAAM8B,WAAa,KAAK4W,OACxEpW,MAAO/E,EAAS,CAAEsX,MAAO,OAAQuE,OAAQ,QAAUhb,KAAK4B,MAAMqT,OAAO8iF,SAEvED,EAAOnjF,EAAO,QAAYgH,aAAa3b,KAAK4B,MAAM8Y,WAAYc,QAE9Ds8E,EAAOnjF,EAAO,QAAYzG,cACxB,OACA,KACA,CAAC,EAAG,EAAG,GAAGgG,KAAI,SAAU8jF,GACtB,OAAOrjF,EAAO,QAAYzG,cAAc,OAAQ,CAC9CvO,IAAKq4F,EACLt0F,WAAY,kBAAoBoc,EAAMle,MAAMgZ,aAAe,KAAOkF,EAAMta,MAAMoyF,MAAQ,uBAAyB,KAAKt9E,OACpHpW,MAAO/E,EAAS,GAAI2gB,EAAMm4E,aAAaD,GAAMl4E,EAAMle,MAAMqT,OAAOijF,oBAMxE,OAAOvjF,EAAO,QAAYzG,cACxB,MACA,CACExK,WAAY,oBAAsB1D,KAAK4B,MAAM8B,WAAW4W,OACxDpW,MAAO/E,EAAS,CAAE6rB,OAAQ,KAAQhrB,KAAK4B,MAAMqT,OAAOkjF,iBAEtDxjF,EAAO,QAAYzG,cACjB,SACA,CACEkJ,GAAI,wBACJ5U,QAASxC,KAAK4B,MAAMY,QACpB8yC,YAAa,WACXx1B,EAAM/P,SAAS,CAAE6nF,OAAO,IACpB93E,EAAMle,MAAMya,mBACdyD,EAAMle,MAAMya,kBAAkB,CAAE+7E,WAAW,KAG/CC,WAAY,WACVv4E,EAAM/P,SAAS,CAAE6nF,OAAO,IACpB93E,EAAMle,MAAMya,mBACdyD,EAAMle,MAAMya,kBAAkB,CAAE+7E,WAAW,KAG/Cl0F,MA1DY,CAChBkf,SAAU,WACVgV,KAAM,EACNtG,IAAK,EACL9G,OAAQ,EACRvU,MAAO,OACPuE,OAAQ,OACRstB,OAAQ,EACRpR,QAAS,EACTyD,OAAQ,OACRC,SAAU,EACVF,WAAY,cACZtO,OAAQ,YAgDN,aAEF0rE,OAKCX,EAjGS,CAkGfhtC,EAAO7oD,WAEVrC,EAAO,QAAck4F,EAErBA,EAAWp7E,UAAY,CACrBnB,aAAchG,EAAW,QAAYoH,OACrCtB,WAAY9F,EAAW,QAAYrN,QACnC0N,OAAQL,EAAW,QAAY/M,QAGjCsvF,EAAW36E,aAAe,CACxB5B,aAAc,GACdlX,UAAW,GACXuR,OAAQ,IAEVjW,EAAOC,QAAUA,EAAO,S,6BCzIxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAGT,IAAI9B,EAAWC,OAAOC,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAII,KAAOD,EAAcN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAAQL,EAAOK,GAAOD,EAAOC,IAAY,OAAOL,GAEnPmwB,EAAgB,WAAc,SAASjnB,EAAiBlJ,EAAQsC,GAAS,IAAK,IAAIrC,EAAI,EAAGA,EAAIqC,EAAMnC,OAAQF,IAAK,CAAE,IAAI8f,EAAazd,EAAMrC,GAAI8f,EAAWjX,WAAaiX,EAAWjX,aAAc,EAAOiX,EAAWxC,cAAe,EAAU,UAAWwC,IAAYA,EAAWvC,UAAW,GAAM1d,OAAOqJ,eAAenJ,EAAQ+f,EAAW1f,IAAK0f,IAAiB,OAAO,SAAUkQ,EAAaG,EAAYC,GAAiJ,OAA9HD,GAAYlnB,EAAiB+mB,EAAY3vB,UAAW8vB,GAAiBC,GAAannB,EAAiB+mB,EAAaI,GAAqBJ,GAA7gB,GAEhBooE,EAAO,SAAaP,EAAIC,EAAKC,GAAqC,IAA9B,IAAIC,GAAS,EAAwBA,GAAQ,CAAE,IAAI1vF,EAASuvF,EAAIlyE,EAAWmyE,EAAKG,EAAWF,EAAKC,GAAS,EAAsB,OAAX1vF,IAAiBA,EAASunF,SAASxvF,WAAW,IAAI63F,EAAOr4F,OAAO+I,yBAAyBN,EAAQqd,GAAW,QAAavkB,IAAT82F,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx2F,MAAgB,IAAIy2F,EAASD,EAAK7wE,IAAK,QAAejmB,IAAX+2F,EAAwB,OAAoB,OAAOA,EAAO53F,KAAK03F,GAA/V,IAAI/zE,EAASrkB,OAAOwf,eAAe/W,GAAS,GAAe,OAAX4b,EAAmB,OAA2B2zE,EAAK3zE,EAAQ4zE,EAAMnyE,EAAUoyE,EAAME,EAAUD,GAAS,EAAME,EAAOh0E,OAAS9iB,IAE5c,SAAS8T,EAAuB/I,GAAO,OAAOA,GAAOA,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAEzF,SAAS2jB,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAInuB,UAAU,qCAIhH,IAAI+oD,EAASjrD,EAAQ,GAEjByV,EAAUF,EAAuB01C,GAIjCv1C,EAAcH,EAFDvV,EAAQ,KAIrB05B,EAAa,SAAU5C,GAGzB,SAAS4C,IACPvJ,EAAgBrvB,KAAM44B,GAEtB++D,EAAKv4F,OAAOwf,eAAega,EAAUh5B,WAAY,cAAeI,MAAMD,MAAMC,KAAMR,WAkFpF,OAlGF,SAAmBkK,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIvI,UAAU,kEAAoEuI,GAAeD,EAAS9J,UAAYR,OAAOwK,OAAOD,GAAcA,EAAW/J,UAAW,CAAEiK,YAAa,CAAE5I,MAAOyI,EAAUtB,YAAY,EAAO0U,UAAU,EAAMD,cAAc,KAAelT,IAAYvK,OAAOugB,eAAiBvgB,OAAOugB,eAAejW,EAAUC,GAAcD,EAASkW,UAAYjW,GAW/dimB,CAAUgJ,EAAW5C,GAQrBvG,EAAamJ,EAAW,CAAC,CACvBj5B,IAAK,gBACLsB,MAAO,SAAuB8c,GAC5B,MAAO,CACLqF,SAAU,WACV3M,MAAO,EACPuE,OAAQ,GACR0nB,UAAoB,WAAT3kB,EAAoB,gBAAkB,oBAGpD,CACDpe,IAAK,SACLsB,MAAO,WACL,IAEI62F,EAFAh4E,EAAQ9f,KAyBZ,GAAIA,KAAK4B,MAAM8Y,WAAY,CACzB,IAAIc,EAAa,CACf9X,WAAY,aAAe1D,KAAK4B,MAAM8Y,WAAW9Y,MAAM8B,WAAa,KAAK4W,OACzEpW,MAAO/E,EAAS,CAAEsX,MAAO,OAAQuE,OAAQ,QAAUhb,KAAK4B,MAAMqT,OAAOqjF,UAEvER,EAAOnjF,EAAO,QAAYgH,aAAa3b,KAAK4B,MAAM8Y,WAAYc,QAE9Ds8E,EAAOnjF,EAAO,QAAYzG,cACxB,OACA,CAAEhK,MAAO,CAAEkf,SAAU,WAAY0O,IAAK,MAAOpb,MAAO,SACpD,CAAC,SAAU,SAASxC,KAAI,SAAU6J,EAAMxe,GACtC,OAAOoV,EAAO,QAAYzG,cAAc,OAAQ,CAC9CvO,IAAKJ,EACLmE,WAAY,YAAcoc,EAAMle,MAAMka,gBAAgBxB,OACtDpW,MAAO/E,EAAS,GAAI2gB,EAAMy4E,cAAcx6E,GAAO+B,EAAMle,MAAMqT,OAAOqjF,eAM1E,OAAO3jF,EAAO,QAAYzG,cACxB,MACA,CACExK,WAAY,mBAAqB1D,KAAK4B,MAAM8B,WAAW4W,OACvDpW,MAAO/E,EAAS,GA9CK,CACvBikB,SAAU,WACV3M,MAAO,GACPuE,OAAQ,GACRtE,MAAO,EACPob,IAAK,GAyCqC9xB,KAAK4B,MAAMqT,OAAOujF,gBAE5D7jF,EAAO,QAAYzG,cACjB,SACA,CACEkJ,GAAI,yBACJ5U,QAASxC,KAAK4B,MAAMY,QACpB0B,MA9CY,CAChBkf,SAAU,WACVgV,KAAM,EACNtG,IAAK,EACL9G,OAAQ,EACRvU,MAAO,OACPuE,OAAQ,OACRstB,OAAQ,EACRpR,QAAS,EACTyD,OAAQ,OACRC,SAAU,EACVF,WAAY,cACZtO,OAAQ,WAmCJ1Q,SAAU1b,KAAK4B,MAAM4T,OAAS,GAAK,GAErC,cAEFsiF,OAKCl/D,EAxFQ,CAyFduxB,EAAO7oD,WAEVrC,EAAO,QAAc25B,EAErBA,EAAU7c,UAAY,CACpBD,eAAgBlH,EAAW,QAAYoH,OACvCtB,WAAY9F,EAAW,QAAYrN,QACnCiO,OAAQZ,EAAW,QAAYwH,KAC/BnH,OAAQL,EAAW,QAAY/M,QAGjC+wB,EAAUpc,aAAe,CACvBV,eAAgB,GAChBpY,UAAW,GACXuR,OAAQ,GACRO,QAAQ,GAEVxW,EAAOC,QAAUA,EAAO,S,6BClIxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GA8BzFzM,EAAO,SAAc,EAAIm3F,EAAa,SAxBzB,CACX/9E,SAAU,SAAkB7C,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UACnG8/E,YAAa/gF,EAAS,GAAKkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAClG+/E,WAAYhhF,EAAS,GAAKkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UACjGggF,gBAAiBjhF,EAAS,GAAKkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UACtGisB,UAAWltB,EAAS,GAAKkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAChGS,WAAY1B,EAAS,8CAAgD,gDAIzEzJ,KAAM,SAAcyJ,EAAQiB,EAAOC,EAAO+hF,GACxC,MAAO,CACLnC,aAAc9gF,EAAS,GAAK,kBAA+B,IAAXijF,EAAiB,SACjElC,YAAa/gF,EAAS,GAAK,kBAA+B,IAAXijF,EAAiB,SAChEjC,WAAYhhF,EAAS,GAAK,kBAA+B,IAAXijF,EAAiB,SAC/DhC,gBAAiBjhF,EAAS,GAAK,kBAA+B,IAAXijF,EAAiB,SACpE/1D,UAAWltB,EAAS,GAAK,kBAA+B,IAAXijF,EAAiB,SAC9DvhF,WAAY1B,EAAS,8CAAgD,qDAM3ExW,EAAOC,QAAUA,EAAO,S,6BC/BxB,SAASwV,EAAuB/I,GAAO,OAAOA,GAAOA,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAJzFtM,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAEIy3F,EAA2BjkF,EAFDvV,EAAQ,KAMlCk3F,EAAgB3hF,EAFDvV,EAAQ,KAIvBy5F,EAAgBz5F,EAAQ,IAIxB+V,EAAS,CACXmE,IAAK,CACHE,IAAKo/E,EAAwB,QAC7Bh/E,YAAa,kFACbk/E,SAAU,kDACVp/E,QAAS,SAAiBpV,GACxBA,EAAKoV,QAAQ,CAAEpV,KAAMpE,KAAK44F,UAAY,IAAK5qF,OAAO6qF,KAAKC,aAI3Dz/E,WAAY,SAAoB7D,EAAQiB,EAAOC,GAC7C,MAAO,CACL0M,SAAU,WACV3M,MAfkB,IAgBlBuE,OAAQ,OACRtE,MAAOA,EAAQ,UAAY,EAC3B0hB,KAAM1hB,EAAQ,EAAI,UAClB4/E,aAAc5/E,EAAQ,kBAAoB,GAC1C6/E,YAAa7/E,EAAQ,kBAAoB,GACzC8/E,WAAY9/E,EAAQ,kBAAoB,GACxC+/E,gBAAiB//E,EAAQ,kBAAoB,GAC7CgsB,UAAWhsB,EAAQ,kBAAoB,KAI3C2B,SAAU,SAAkB7C,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACpF6/E,YAAa/gF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACnF8/E,WAAYhhF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BAClF+/E,gBAAiBjhF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACvFgsB,UAAWltB,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACjFQ,WAAY,aAIhB6lB,KAAM,SAAcvnB,EAAQiB,EAAOC,GACjC,MAAO,CACL0M,SAAU,QACV1M,MAAOA,EAAQ,EAAI,UACnBD,OAAO,EAAIkiF,EAActoC,SAAS55C,GA1ChB,IA2ClB6yB,WAAY,SACZzG,UAAW,aACX/O,SAAU,YAId4iE,SAAU,SAAkBlhF,EAAQiB,EAAOC,GACzC,GAAIA,EACF,MAAO,CACL0M,SAAU,WACVgV,KAAM,SACN3hB,MAAO,OACPqd,SAAU,SAKhB7b,SAAU,SAAkBzC,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,4BAA8B,2BAClE6/E,YAAa/gF,EAAS,GAAKkB,EAAQ,4BAA8B,2BACjE8/E,WAAYhhF,EAAS,GAAKkB,EAAQ,4BAA8B,2BAChE+/E,gBAAiBjhF,EAAS,GAAKkB,EAAQ,4BAA8B,2BACrEgsB,UAAWltB,EAAS,GAAKkB,EAAQ,4BAA8B,2BAC/DQ,WAAY1B,EAAS,WAAa,kBAItC2C,eAAgB,SAAwB3C,GACtC,MAAO,CACLse,SAAUte,EAAS,GAAK,YAK9BvW,EAAO,SAAc,EAAIm3F,EAAa,SAAanhF,GACnDjW,EAAOC,QAAUA,EAAO,S,gBCjGxB+O,OAAO+qF,IAAM75F,EAAQ,IAerB,IAAI25F,EAAQ,SAAUE,GAClB,IAUAC,EAVIC,EAAa,GACjBC,EAAmBlrF,OAAO0kB,uBACP1kB,OAAOmrF,6BACPnrF,OAAOorF,0BACPprF,OAAOqrF,wBACPrrF,OAAOsrF,yBACP,SAAU7rF,GAEN,OADA2I,WAAW3I,EAAU,IAAI,IAAI+iB,MAAO+oE,YAC7B,GAG9Bn5F,EAAUD,MAAMC,SAAW,SAAUwL,GACjC,OAAOA,aAAazL,OACqB,kBAArCf,OAAOQ,UAAUiQ,SAAS/P,KAAK8L,IAEvC4tF,EAAQ,EACRC,EAAW,MAAQ,IAAIjpE,MAAM3gB,SAAS,IAiBtC6pF,EAAQlpE,KAAKq1C,KAAO,WAChB,OAAQ,IAAIr1C,MAEhBmpE,EAAM,SAAUlnE,GACZ,IAAI7mB,EAAI5L,KACR,GAAW,MAAPyyB,EACA,OAAO7mB,EAAEysC,EAEb,IAAIuhD,EAAKhuF,EAAEysC,EAAI5lB,EACf7mB,EAAEC,GAAKD,EAAEiuF,IAAMD,EACfhuF,EAAEimD,GAAKjmD,EAAEiuF,IAAMD,EACfhuF,EAAEysC,EAAI5lB,GAEVqnE,EAAQ,SAAUrnE,GAEd,GAAW,MAAPA,EACA,OAFIzyB,KAEK+5F,IAFL/5F,KAIN+5F,IAAMtnE,GAEZN,EAAW,SAAUM,GACjB,IAAI7mB,EAAI5L,KACR,GAAW,MAAPyyB,EACA,OAAO7mB,EAAEiuF,IAEbjuF,EAAEysC,EAAIzsC,EAAEysC,EAAI5lB,EAAM7mB,EAAEiuF,IACpBjuF,EAAEiuF,IAAMpnE,GAEZunE,EAAS,WACL,IAAIpuF,EAAI5L,YACDi5F,EAAWrtF,EAAEwL,IACpBxL,EAAEquF,SACFlB,EAAI,aAAentF,EAAEwL,GAAIxL,IAE7BsuF,EAAQ,WACJ,IAAItuF,EAAI5L,KACJ4L,EAAEuuF,cAGClB,EAAWrtF,EAAEwL,IACpBxL,EAAEquF,SACFruF,EAAEuuF,KAAOvuF,EAAEgb,MAAQhb,EAAEC,IAEzBuuF,EAAS,WACL,IAAIxuF,EAAI5L,KACH4L,EAAEuuF,OAGPvuF,EAAEC,EAAID,EAAEgb,MAAQhb,EAAEuuF,YACXvuF,EAAEuuF,KACTlB,EAAWrtF,EAAEwL,IAAMxL,EACnByuF,MAEJJ,EAAS,WACL,IACI5rC,EADAziD,EAAI5L,KAER,GAAII,EAAQwL,EAAEwmB,OAAQ,CAClBi8B,EAAM,GACN,IAAK,IAAIxoC,EAAI,EAAGm/D,EAAKp5E,EAAEwmB,MAAM3yB,OAAQomB,EAAIm/D,EAAIn/D,IACzCwoC,EAAIxoC,IAAMja,EAAEwmB,MAAMvM,IACbja,EAAErF,IAAIsf,GAAKja,EAAEwmB,MAAMvM,IAAMja,EAAE0uF,OAAO1uF,EAAEysC,QAG7CgW,GAAOziD,EAAEwmB,OAASxmB,EAAErF,IAAMqF,EAAEwmB,OAASxmB,EAAE0uF,OAAO1uF,EAAEysC,GAEpDzsC,EAAE0L,IAAI+2C,IAEVgsC,EAAQ,SAARA,EAAkBz0B,GAEd,GAAKA,EAAL,CAQA,IAAIrmD,EAAM,EACV,IAAK,IAAIhgB,KAAK05F,EAAY,GAAIA,EAAWp5F,eAAeN,GAAI,CACxD,IAAIqM,EAAIqtF,EAAW15F,GACfsM,EAAID,EAAEgb,MAEVrH,IACA3T,EAAEysC,GAAKxsC,EAAID,EAAEC,IAAMD,EAAEiuF,IAAMjuF,EAAEmuF,KACzBnuF,EAAEysC,GAAK,WACA4gD,EAAW15F,GAClBqM,EAAEysC,EAAI,EACN94B,IACC,SAAU3T,GACPwK,YAAW,WACP2iF,EAAI,eAAiBntF,EAAEwL,GAAIxL,MAFlC,CAICA,IAENA,EAAEquF,SAENjB,IAAYz5E,GAAM25E,EAAiBmB,QAzB1BrB,IAEDA,EAAYE,EAAiBmB,KA2DzCxB,EAAO,SAAPA,EAAiBjtF,EAAG4lD,EAAG3lD,EAAGgmD,EAAGjrC,EAAKtP,EAAKgjF,GACnC,IAAI5tE,EAAO,CACPtV,GArJGqiF,GAAYD,KAAS3pF,SAAS,IAsJjCuiB,MAAOxmB,EACPrF,IAAKirD,EACL3lD,EAAGA,EACHwsC,EAAG,EACHwhD,IAAKhoC,EAAIhmD,EACTkuF,IAAK,EACLnzE,IAAKA,EACLtP,IAAKA,EACLgjF,OAAQA,GAAUzB,EAAK0B,OACvB96D,OAAQk6D,EACRG,MAAOA,EACP3nE,SAAUA,EACV6iE,KAAMgF,EACNE,MAAOA,EACPE,OAAQA,EACRH,OAAQA,GAEZhB,EAAWvsE,EAAKtV,IAAMsV,EACtB,IAAantB,EAATggB,EAAM,EACV,IAAKhgB,KAAK05F,EAAY,GAAIA,EAAWp5F,eAAeN,IAErC,KADXggB,EAEI,MAIR,OADO,GAAPA,GAAY86E,IACL3tE,GA8JX,OAnJAmsE,EAAK/qB,KAAO4rB,EASZb,EAAK2B,QAAU,SAAUpjF,GACrB,OAAO6hF,EAAW7hF,IAAO,MAW7ByhF,EAAK0B,OAAS,SAAU/vF,GACpB,OAAOA,GAUXquF,EAAK4B,QAAU,SAAUjwF,GACrB,OAAOmF,KAAK+qF,IAAIlwF,EAAG,MAUvBquF,EAAK8B,OAAS,SAAUnwF,GACpB,OAAOmF,KAAK+qF,IAAIlwF,EAAG,MAUvBquF,EAAKC,UAAY,SAAUtuF,GACvB,GAAS,GAALA,EACA,OAAO,EAEX,GAAS,GAALA,EACA,OAAO,EAEX,IAAI0mD,EAAI,IAAM1mD,EAAI,KACd4oD,EAAIzjD,KAAKirF,KAAK,MAAQ1pC,EAAIA,GAC1BprC,EAAIstC,EAAIlC,EAERnrC,GAAKqtC,EAAIlC,EAETl/B,EAHIriB,KAAK+qF,IAAI/qF,KAAKyS,IAAI0D,GAAI,EAAI,IAAMA,EAAI,GAAK,EAAI,GAE7CnW,KAAK+qF,IAAI/qF,KAAKyS,IAAI2D,GAAI,EAAI,IAAMA,EAAI,GAAK,EAAI,GACrC,GAChB,OAAiB,GAAT,EAAIiM,GAASA,EAAIA,EAAIA,EAAIA,EAAIA,GAUzC6mE,EAAKgC,OAAS,SAAUrwF,GACpB,GAAS,GAALA,EACA,OAAO,EAEX,IAAI6tC,EAAI,QACR,OAAO7tC,EAAIA,IAAM6tC,EAAI,GAAK7tC,EAAI6tC,IAUlCwgD,EAAKiC,QAAU,SAAUtwF,GACrB,GAAS,GAALA,EACA,OAAO,EAGX,IAAI6tC,EAAI,QACR,OAFA7tC,GAAQ,GAEGA,IAAM6tC,EAAI,GAAK7tC,EAAI6tC,GAAK,GAUvCwgD,EAAKroC,QAAU,SAAUhmD,GACrB,OAAIA,KAAOA,EACAA,EAEJmF,KAAK+qF,IAAI,GAAI,GAAKlwF,GAAKmF,KAAKorF,KAAKvwF,EAAI,OACvC,EAAImF,KAAKqrF,IAAM,IAAM,GAU9BnC,EAAKoC,OAAS,SAAUzwF,GACpB,IAAI6tC,EAAI,OACJ34B,EAAI,KAkBR,OAhBIlV,EAAI,EAAIkV,EACJ24B,EAAI7tC,EAAIA,EAERA,EAAI,EAAIkV,EAEJ24B,GADJ7tC,GAAK,IAAMkV,GACClV,EAAI,IAEZA,EAAI,IAAMkV,EAEN24B,GADJ7tC,GAAK,KAAOkV,GACAlV,EAAI,MAGZ6tC,GADJ7tC,GAAK,MAAQkV,GACDlV,EAAI,SAMhCwD,OAAO6qF,KAAOA,EACPA,EAjWC,CAkWK,oBAAPE,IAAqB,aAAiBA,KAgB5C3oC,EAAQ,SAAS5sC,GAkBrB,SAAS4sC,EAAKt9B,EAAGlK,GACb,GAAIkK,EAAG,CACH,GAAIA,EAAEgoC,SACF,OAAOs2B,EAAKt+D,GAEhB,GAAIypC,EAAGzpC,EAAG,UAAYs9B,EAAK94C,IACvB,OAAO84C,EAAK94C,IAAIvX,MAAMqwD,EAAMt9B,GAEhC,GAAIA,aAAa28D,EACb,OAAO38D,EAEX,GAAS,MAALlK,EACA,IAEI,OAAOwoE,EADPt+D,EAAIooE,EAAKC,IAAIhoF,cAAckP,OAAOyQ,KAEpC,MAAOhmB,GACL,OAAO,MAMnB,OAAO,IAAIsuF,EAFXtoE,EAAS,MAALA,EAAY,OAASA,EACzBlK,EAAS,MAALA,EAAY,OAASA,GAtC7BwnC,EAAK6E,QAAU,QAyCf7E,EAAKvgD,SAAW,WACZ,MAAO,SAAW7P,KAAKi1D,SAE3B7E,EAAKirC,EAAI,GACT,IAAIH,EAAO,CACPI,IAAK93E,EAAKxV,OACVmtF,IAAK33E,EAAKxV,OAAOC,UAErBmiD,EAAKirC,EAAEH,KAAOA,EACd,IAAI73C,EAAM,iBACNk4C,EAAMl5E,OACNm5E,EAAUr7C,WACVs7C,EAAQ1mE,SACR2mE,EAAO/rF,KACPgsF,EAAOD,EAAK/nF,IACZioF,EAAOF,EAAKhoF,IACZ0O,EAAMs5E,EAAKt5E,IAEX44E,GADMU,EAAKhB,IACNgB,EAAKV,IAIVa,GAHQH,EAAKI,MAGI18F,OAAOQ,UAAUiQ,UAElCksF,EAAe,mTAIfC,GAFY5rC,EAAKirC,EAAEY,UAAY,SAEjB,eACdC,EAAO,CAACC,GAAI,EAAGxlB,GAAI,GACnBylB,EAAc,6DACdC,EAAW,8DACXC,EAAa,6CACb9C,EAAQ,EACRC,EAAW,MAAQ,IAAIjpE,MAAM3gB,SAAS,IACtC0sF,EAAK,SAAU3lF,GACX,OAAQA,GAAMA,EAAGmH,KAAOnH,EAAGmH,KAhB3B,IAgBuC07E,GAAYD,KAAS3pF,SAAS,KAEzE2sF,EAAQ,+BACRC,EAAQ,6BACRC,EAAM,GASAtsC,EAAKprD,IAAM,SAAUA,GACvB,MAAO,SAAWA,EAAM,MAGhC,SAAS23F,EAAE/lF,EAAI6C,GACX,GAAIA,EAAM,CAUN,GATU,SAAN7C,IACAA,EAAKskF,EAAKC,IAAIj6E,eAAezH,EAAKo0D,MAAQp0D,EAAK,UAAY,KAErD,YAAN7C,IACAA,EAAKskF,EAAKC,IAAIyB,cAAcnjF,EAAKo0D,MAAQp0D,EAAK,UAAY,KAE7C,iBAAN7C,IACPA,EAAK+lF,EAAE/lF,IAEQ,iBAAR6C,EACP,OAAmB,GAAf7C,EAAGkkD,SACyB,UAAxBrhD,EAAKlH,UAAU,EAAG,GACXqE,EAAGimF,eAAeL,EAAO/iF,EAAKlH,UAAU,IAEvB,QAAxBkH,EAAKlH,UAAU,EAAG,GACXqE,EAAGimF,eAAeJ,EAAOhjF,EAAKlH,UAAU,IAE5CqE,EAAGxD,aAAaqG,GACR,QAARA,EACA7C,EAAGmkD,UAEH,KAGf,GAAmB,GAAfnkD,EAAGkkD,UACH,IAAK,IAAIn7D,KAAO8Z,EAAM,GAAIA,EAAK4pC,GAAK1jD,GAAM,CACtC,IAAI8yB,EAAM8oE,EAAI9hF,EAAK9Z,IACf8yB,EAC2B,UAAvB9yB,EAAI4S,UAAU,EAAG,GACjBqE,EAAG6/C,eAAe+lC,EAAO78F,EAAI4S,UAAU,GAAIkgB,GACb,QAAvB9yB,EAAI4S,UAAU,EAAG,GACxBqE,EAAG6/C,eAAegmC,EAAO98F,EAAI4S,UAAU,GAAIkgB,GAE3C7b,EAAG2B,aAAa5Y,EAAK8yB,GAGzB7b,EAAG0B,gBAAgB3Y,QAGpB,SAAU8Z,IACjB7C,EAAGmkD,UAAYthD,EAAKo0D,WAGxBj3D,EAAKskF,EAAKC,IAAIzY,gBAAgB+Z,EAAO7lF,GAEzC,OAAOA,EAmBX,SAAS2lD,EAAGr/C,EAAGa,GAEX,MAAY,WADZA,EAAOw9E,EAAI37F,UAAUuM,YAAYrM,KAAKie,IAE3B++E,SAAS5/E,KAER,SAARa,KACCb,aAAa/c,OAASA,MAAMC,SAAWD,MAAMC,QAAQ8c,OAG1C,QAARa,GAAwB,OAANb,GAClBa,UAAeb,GAAW,OAANA,GACZ,UAARa,GAAoBb,IAAM9d,OAAO8d,IACjC2+E,EAAe/7F,KAAKod,GAAG3Q,MAAM,GAAI,GAAGJ,eAAiB4R,GAyDjE,SAASg/E,EAAO/5E,EAAOjX,GACnB,IAAK,IAAIxM,EAAI,EAAG0gF,EAAKj9D,EAAMvjB,OAAQF,EAAI0gF,EAAI1gF,IAAK,GAAIyjB,EAAMzjB,KAAOwM,EAC7D,OAAOiX,EAAMhiB,KAAKgiB,EAAM1O,OAAO/U,EAAG,GAAG,IAG7C,SAASy9F,EAAO1kD,EAAG2kD,EAAOC,GAetB,OAdA,SAASC,IACL,IAAIn0F,EAAM7I,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,GAC5CgK,EAAOR,EAAIuC,KAAK,UAChB5F,EAAQw3F,EAAKx3F,MAAQw3F,EAAKx3F,OAAS,GACnC2e,EAAQ64E,EAAK74E,MAAQ64E,EAAK74E,OAAS,GACvC,OAAI3e,EAAM09C,GAAK75C,IACXuzF,EAAOz4E,EAAO9a,GACP0zF,EAAgBA,EAAcv3F,EAAM6D,IAAS7D,EAAM6D,KAE9D8a,EAAM7kB,QAAU,YAAckG,EAAM2e,EAAMy8C,SAC1Cz8C,EAAMtjB,KAAKwI,GACX7D,EAAM6D,GAAQ8uC,EAAEv4C,MAAMk9F,EAAOj0F,GACtBk0F,EAAgBA,EAAcv3F,EAAM6D,IAAS7D,EAAM6D,KAiBlE,SAAS4zF,EAAIC,GACT,OAAOA,EAAM,IAAMrC,EAAK,IA1H5B5qC,EAAKirC,EAAEsB,EAAIA,EACXvsC,EAAKirC,EAAEjkF,GAAKmlF,EAmDZnsC,EAAKktC,OAAU,WACX,IAAIC,EAAa,gBACbC,EAAmB,2DAevB,OAAO,SAAU70E,EAAKjd,GAClB,OAAO6vF,EAAI5yE,GAAK3lB,QAAQu6F,GAAY,SAAUz3C,EAAKnmD,GAC/C,OAhBO,SAAUmmD,EAAKnmD,EAAK+L,GAC3B,IAAI2iD,EAAM3iD,EAWV,OAVA/L,EAAIqD,QAAQw6F,GAAkB,SAAU13C,EAAKnhD,EAAM84F,EAAOC,EAAYC,GAClEh5F,EAAOA,GAAQ+4F,EACXrvC,IACI1pD,KAAQ0pD,IACRA,EAAMA,EAAI1pD,IAEA,mBAAP0pD,GAAqBsvC,IAAWtvC,EAAMA,SAGrDA,GAAc,MAAPA,GAAeA,GAAO3iD,EAAMo6C,EAAMuI,GAAO,GAKzCuvC,CAAS93C,EAAKnmD,EAAK+L,OAnBvB,GAiCf0kD,EAAKirC,EAAEwC,MAVP,SAASA,EAAMnyF,GACX,GAAkB,mBAAPA,GAAqBtM,OAAOsM,KAASA,EAC5C,OAAOA,EAEX,IAAI2iD,EAAM,IAAI3iD,EAAI7B,YAClB,IAAK,IAAIlK,KAAO+L,EAASA,EAAI23C,GAAK1jD,KAC9B0uD,EAAI1uD,GAAOk+F,EAAMnyF,EAAI/L,KAEzB,OAAO0uD,GAyBX+B,EAAKirC,EAAE2B,OAASA,EAkChB5sC,EAAKgtC,IAAMA,EASXhtC,EAAKitC,IA3BL,SAAaD,GACT,OAAa,IAANA,EAAYpC,EAAK,KAmC5B5qC,EAAK2qC,IAAM,SAAU+C,GACjB,OAAOpC,EAAKX,IAAI3qC,EAAKgtC,IAAIU,KAU7B1tC,EAAK2tC,IAAM,SAAUD,GACjB,OAAOpC,EAAKqC,IAAI3tC,EAAKgtC,IAAIU,KAU7B1tC,EAAK4tC,IAAM,SAAUF,GACjB,OAAOpC,EAAKsC,IAAI5tC,EAAKgtC,IAAIU,KAU7B1tC,EAAK6tC,KAAO,SAAUC,GAClB,OAAO9tC,EAAKitC,IAAI3B,EAAKuC,KAAKC,KAU9B9tC,EAAK+tC,KAAO,SAAUD,GAClB,OAAO9tC,EAAKitC,IAAI3B,EAAKyC,KAAKD,KAU9B9tC,EAAKguC,KAAO,SAAUF,GAClB,OAAO9tC,EAAKitC,IAAI3B,EAAK0C,KAAKF,KAU9B9tC,EAAKiuC,MAAQ,SAAUH,GACnB,OAAO9tC,EAAKitC,IAAI3B,EAAK2C,MAAMH,KAe/B9tC,EAAK0tC,MArIL,SAASA,EAAMQ,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAC/B,GAAU,MAAND,EAAY,CACZ,IAAI54E,EAAIw4E,EAAKE,EACTz4E,EAAIw4E,EAAKE,EACb,OAAK34E,GAAMC,GAGH,IAA2B,IAArB21E,EAAK2C,OAAOt4E,GAAID,GAAWk1E,EAAK,KAAO,IAF1C,EAIX,OAAO8C,EAAMQ,EAAIC,EAAIG,EAAIC,GAAMb,EAAMU,EAAIC,EAAIC,EAAIC,IAwIzDvuC,EAAK7wC,IAAM,SAAU++E,EAAIC,EAAIC,EAAIC,GAC7B,OAAO9uF,KAAKirF,KAAKxqC,EAAKwuC,KAAKN,EAAIC,EAAIC,EAAIC,KAa3CruC,EAAKwuC,KAAO,SAAUN,EAAIC,EAAIC,EAAIC,GAC9B,OAAQH,EAAKE,IAAOF,EAAKE,IAAOD,EAAKE,IAAOF,EAAKE,IAmBrDruC,EAAKyuC,aAAe,SAAUz6F,EAAM0hB,EAAGC,GACnC,SAAS+4E,EAAUp/E,GACf,IAAIq/E,EAAKr/E,EAAEoG,EAAIA,EACXk5E,EAAKt/E,EAAEqG,EAAIA,EACf,OAAOg5E,EAAKA,EAAKC,EAAKA,EAU1B,IARA,IAGIC,EACAC,EAIKC,EAAsBC,EAR3BC,EAAWj7F,EAAKmf,KAChB+7E,EAAaD,EAASE,iBACtBC,EAAYF,EAAaD,EAASI,YAAYC,cAAgB,KAG9DC,EAAe3Z,IAGJ4Z,EAAa,EAAiBA,GAAcN,EAAYM,GAAcJ,GAC5EJ,EAAeN,EAAUK,EAAOE,EAASQ,iBAAiBD,KAAgBD,IAC3EV,EAAOE,EACPD,EAAaU,EACbD,EAAeP,GAMvB,IADAI,GAAa,GACNA,EAAY,IAAI,CACnB,IAAIv/E,EACA6/E,EACAC,EACAC,EACAC,EACAC,GACCH,EAAeb,EAAaM,IAAc,IAAMS,EAAiBnB,EAAU7+E,EAASo/E,EAASQ,iBAAiBE,KAAkBJ,GACjIV,EAAOh/E,EACPi/E,EAAaa,EACbJ,EAAeM,IACPD,EAAcd,EAAaM,IAAcF,IAAeY,EAAgBpB,EAAUgB,EAAQT,EAASQ,iBAAiBG,KAAiBL,GAC7IV,EAAOa,EACPZ,EAAac,EACbL,EAAeO,GAEfV,GAAa,GAUrB,OANAP,EAAO,CACHn5E,EAAGm5E,EAAKn5E,EACRC,EAAGk5E,EAAKl5E,EACRtmB,OAAQy/F,EACRiB,SAAUxwF,KAAKirF,KAAK+E,KAa5BvvC,EAAKmM,GAAKA,EAWVnM,EAAKgwC,OAAS,SAAU55F,EAAQvF,EAAOo/F,GAEnC,GADAA,EAAY9jC,EAAG8jC,EAAW,UAAYA,EAAY,GAC9C9jC,EAAG/1D,EAAQ,UAEX,IADA,IAAIjH,EAAIiH,EAAO/G,OACRF,KAAK,GAAI6iB,EAAI5b,EAAOjH,GAAK0B,IAAUo/F,EACtC,OAAO75F,EAAOjH,OAEf,CAEH,IAAI+gG,EAAMr/F,GADVuF,GAAUA,GAEV,GAAI85F,EAAMD,EACN,OAAOp/F,EAAQq/F,EAEnB,GAAIA,EAAM95F,EAAS65F,EACf,OAAOp/F,EAAQq/F,EAAM95F,EAG7B,OAAOvF,GAoCXmvD,EAAKmwC,OAASvD,GAAO,SAAUwD,GAC3B,IAAKA,IAAcA,EAASjF,EAAIiF,IAASp0F,QAAQ,KAAO,EACpD,MAAO,CAAC+kD,GAAI,EAAGuB,GAAI,EAAG7mD,GAAI,EAAG40F,IAAK,OAAQv3F,MAAO,EAAG2G,SAAU6wF,GAElE,GAAc,QAAVF,EACA,MAAO,CAACrvC,GAAI,EAAGuB,GAAI,EAAG7mD,GAAI,EAAG40F,IAAK,OAAQ5wF,SAAU6wF,GAGxD,IADExE,EAAK74C,GAAKm9C,EAAOr0F,cAAcoG,UAAU,EAAG,KAA0B,KAAnBiuF,EAAOr2F,WAAqBq2F,EAASG,EAAMH,KAC3FA,EACD,MAAO,CAACrvC,GAAI,EAAGuB,GAAI,EAAG7mD,GAAI,EAAG40F,IAAK,OAAQv3F,MAAO,EAAG2G,SAAU6wF,GAElE,IACIE,EACAC,EACAC,EACAn2E,EACAqH,EACAxrB,EACAu6F,EAAMP,EAAOl8F,MAAMy3F,GACvB,OAAIgF,GACIA,EAAI,KACJD,EAAOrF,EAAMsF,EAAI,GAAGxuF,UAAU,GAAI,IAClCsuF,EAAQpF,EAAMsF,EAAI,GAAGxuF,UAAU,EAAG,GAAI,IACtCquF,EAAMnF,EAAMsF,EAAI,GAAGxuF,UAAU,EAAG,GAAI,KAEpCwuF,EAAI,KACJD,EAAOrF,GAAOzpE,EAAI+uE,EAAI,GAAG52F,OAAO,IAAM6nB,EAAG,IACzC6uE,EAAQpF,GAAOzpE,EAAI+uE,EAAI,GAAG52F,OAAO,IAAM6nB,EAAG,IAC1C4uE,EAAMnF,GAAOzpE,EAAI+uE,EAAI,GAAG52F,OAAO,IAAM6nB,EAAG,KAExC+uE,EAAI,KACJv6F,EAASu6F,EAAI,GAAGj2F,MAAMkxF,GACtB4E,EAAMpF,EAAQh1F,EAAO,IACE,KAAvBA,EAAO,GAAG+F,OAAO,KAAcq0F,GAAO,MACtCC,EAAQrF,EAAQh1F,EAAO,IACA,KAAvBA,EAAO,GAAG+F,OAAO,KAAcs0F,GAAS,MACxCC,EAAOtF,EAAQh1F,EAAO,IACC,KAAvBA,EAAO,GAAG+F,OAAO,KAAcu0F,GAAQ,MACH,QAApCC,EAAI,GAAG50F,cAAcI,MAAM,EAAG,KAAiBoe,EAAU6wE,EAAQh1F,EAAO,KACxEA,EAAO,IAA6B,KAAvBA,EAAO,GAAG+F,OAAO,KAAcoe,GAAW,MAEvDo2E,EAAI,IACJv6F,EAASu6F,EAAI,GAAGj2F,MAAMkxF,GACtB4E,EAAMpF,EAAQh1F,EAAO,IACE,KAAvBA,EAAO,GAAG+F,OAAO,KAAcq0F,GAAO,KACtCC,EAAQrF,EAAQh1F,EAAO,IACA,KAAvBA,EAAO,GAAG+F,OAAO,KAAcs0F,GAAS,KACxCC,EAAOtF,EAAQh1F,EAAO,IACC,KAAvBA,EAAO,GAAG+F,OAAO,KAAcu0F,GAAQ,MACf,OAAvBt6F,EAAO,GAAG+F,OAAO,IAAsC,QAAvB/F,EAAO,GAAG+F,OAAO,MAAkBq0F,GAAO,KACvC,QAApCG,EAAI,GAAG50F,cAAcI,MAAM,EAAG,KAAiBoe,EAAU6wE,EAAQh1F,EAAO,KACxEA,EAAO,IAA6B,KAAvBA,EAAO,GAAG+F,OAAO,KAAcoe,GAAW,KAChDylC,EAAK4wC,QAAQJ,EAAKC,EAAOC,EAAMn2E,IAEtCo2E,EAAI,IACJv6F,EAASu6F,EAAI,GAAGj2F,MAAMkxF,GACtB4E,EAAMpF,EAAQh1F,EAAO,IACE,KAAvBA,EAAO,GAAG+F,OAAO,KAAcq0F,GAAO,KACtCC,EAAQrF,EAAQh1F,EAAO,IACA,KAAvBA,EAAO,GAAG+F,OAAO,KAAcs0F,GAAS,KACxCC,EAAOtF,EAAQh1F,EAAO,IACC,KAAvBA,EAAO,GAAG+F,OAAO,KAAcu0F,GAAQ,MACf,OAAvBt6F,EAAO,GAAG+F,OAAO,IAAsC,QAAvB/F,EAAO,GAAG+F,OAAO,MAAkBq0F,GAAO,KACvC,QAApCG,EAAI,GAAG50F,cAAcI,MAAM,EAAG,KAAiBoe,EAAU6wE,EAAQh1F,EAAO,KACxEA,EAAO,IAA6B,KAAvBA,EAAO,GAAG+F,OAAO,KAAcoe,GAAW,KAChDylC,EAAK6wC,QAAQL,EAAKC,EAAOC,EAAMn2E,KAE1Ci2E,EAAMhF,EAAKF,EAAKI,MAAM8E,GAAM,KAC5BC,EAAQjF,EAAKF,EAAKI,MAAM+E,GAAQ,KAChCC,EAAOlF,EAAKF,EAAKI,MAAMgF,GAAO,KAC9Bn2E,EAAUixE,EAAKD,EAAKhxE,EAAS,GAAI,IACjCo2E,EAAM,CAAC5vC,EAAGyvC,EAAKluC,EAAGmuC,EAAOh1F,EAAGi1F,EAAMjxF,SAAU6wF,IACxCD,IAAM,KAAO,SAAWK,EAAOD,GAAS,EAAID,GAAO,IAAI/wF,SAAS,IAAItD,MAAM,GAC9Ew0F,EAAIp2E,QAAU4xC,EAAG5xC,EAAS,UAAYA,EAAU,EACzCo2E,IAEJ,CAAC5vC,GAAI,EAAGuB,GAAI,EAAG7mD,GAAI,EAAG40F,IAAK,OAAQv3F,MAAO,EAAG2G,SAAU6wF,KAC/DtwC,GAWHA,EAAK8wC,IAAMlE,GAAO,SAAUp0E,EAAGyvB,EAAGxsC,GAC9B,OAAOukD,EAAK4wC,QAAQp4E,EAAGyvB,EAAGxsC,GAAG40F,OAYjCrwC,EAAK+wC,IAAMnE,GAAO,SAAUp0E,EAAGyvB,EAAG0Y,GAC9B,OAAOX,EAAK6wC,QAAQr4E,EAAGyvB,EAAG0Y,GAAG0vC,OAYjCrwC,EAAK2wC,IAAM/D,GAAO,SAAU7rC,EAAGuB,EAAG7mD,EAAGqR,GACjC,GAAIq/C,EAAGr/C,EAAG,UAAW,CACjB,IAAI4+E,EAAQJ,EAAKI,MACjB,MAAO,QAAU,CAACA,EAAM3qC,GAAI2qC,EAAMppC,GAAIopC,EAAMjwF,IAAKqR,EAAEkkF,QAAQ,IAAM,IAErE,MAAO,KAAO,SAAWv1F,EAAI6mD,GAAK,EAAIvB,GAAK,IAAIthD,SAAS,IAAItD,MAAM,MAEtE,IAAIo0F,EAAQ,SAAU5pE,GAClB,IAAIx3B,EAAI27F,EAAKC,IAAIkG,qBAAqB,QAAQ,IAAMnG,EAAKC,IAAIkG,qBAAqB,OAAO,GACrFT,EAAM,iBAUV,OATAD,EAAQ3D,GAAO,SAAUjmE,GACrB,GAA2B,OAAvBA,EAAM5qB,cACN,OAAOy0F,EAEXrhG,EAAE2E,MAAM6yB,MAAQ6pE,EAChBrhG,EAAE2E,MAAM6yB,MAAQA,EAChB,IAAIqL,EAAM84D,EAAKC,IAAIxqB,YAAYl9C,iBAAiBl0B,EAjnBhD,IAinBsD+hG,iBAAiB,SACvE,OAAOl/D,GAAOw+D,EAAM,KAAOx+D,MAElBrL,IAEjBwqE,EAAc,WACV,MAAO,OAAS,CAACvhG,KAAK4oB,EAAG5oB,KAAKq4C,EAAGr4C,KAAK6L,GAAK,KAE/C21F,EAAc,WACV,MAAO,OAAS,CAACxhG,KAAK4oB,EAAG5oB,KAAKq4C,EAAGr4C,KAAK+wD,GAAK,KAE/C2vC,EAAc,WACV,OAAuB,GAAhB1gG,KAAK2qB,SAAgC,MAAhB3qB,KAAK2qB,QACzB3qB,KAAKygG,IACL,QAAU,CAACzgG,KAAKmxD,EAAGnxD,KAAK0yD,EAAG1yD,KAAK6L,EAAG7L,KAAK2qB,SAAW,KAE/D82E,EAAa,SAAUtwC,EAAGuB,EAAG7mD,GAMzB,GALS,MAAL6mD,GAAa6J,EAAGpL,EAAG,WAAa,MAAOA,GAAK,MAAOA,GAAK,MAAOA,IAC/DtlD,EAAIslD,EAAEtlD,EACN6mD,EAAIvB,EAAEuB,EACNvB,EAAIA,EAAEA,GAED,MAALuB,GAAa6J,EAAGpL,EAAGn1C,QAAS,CAC5B,IAAI0lF,EAAMtxC,EAAKmwC,OAAOpvC,GACtBA,EAAIuwC,EAAIvwC,EACRuB,EAAIgvC,EAAIhvC,EACR7mD,EAAI61F,EAAI71F,EAQZ,OANIslD,EAAI,GAAKuB,EAAI,GAAK7mD,EAAI,KACtBslD,GAAK,IACLuB,GAAK,IACL7mD,GAAK,KAGF,CAACslD,EAAGuB,EAAG7mD,IAElB81F,EAAa,SAAUxwC,EAAGuB,EAAG7mD,EAAGqR,GAI5B,IAAI6jF,EAAM,CACN5vC,EAJJA,EAAIuqC,EAAKI,MAAU,IAAJ3qC,GAKXuB,EAJJA,EAAIgpC,EAAKI,MAAU,IAAJppC,GAKX7mD,EAJJA,EAAI6vF,EAAKI,MAAU,IAAJjwF,GAKX8e,QAAS4xC,EAAGr/C,EAAG,UAAYA,EAAI,EAC/BujF,IAAKrwC,EAAK2wC,IAAI5vC,EAAGuB,EAAG7mD,GACpBgE,SAAU6wF,GAGd,OADAnkC,EAAGr/C,EAAG,YAAc6jF,EAAIp2E,QAAUzN,GAC3B6jF,GAqBX3wC,EAAKr5B,MAAQ,SAAU2qE,GACnB,IAAIX,EAiCJ,OAhCIxkC,EAAGmlC,EAAK,WAAa,MAAOA,GAAO,MAAOA,GAAO,MAAOA,GACxDX,EAAM3wC,EAAK4wC,QAAQU,GACnBA,EAAIvwC,EAAI4vC,EAAI5vC,EACZuwC,EAAIhvC,EAAIquC,EAAIruC,EACZgvC,EAAI71F,EAAIk1F,EAAIl1F,EACZ61F,EAAI/2E,QAAU,EACd+2E,EAAIjB,IAAMM,EAAIN,KACPlkC,EAAGmlC,EAAK,WAAa,MAAOA,GAAO,MAAOA,GAAO,MAAOA,GAC/DX,EAAM3wC,EAAK6wC,QAAQS,GACnBA,EAAIvwC,EAAI4vC,EAAI5vC,EACZuwC,EAAIhvC,EAAIquC,EAAIruC,EACZgvC,EAAI71F,EAAIk1F,EAAIl1F,EACZ61F,EAAI/2E,QAAU,EACd+2E,EAAIjB,IAAMM,EAAIN,MAEVlkC,EAAGmlC,EAAK,YACRA,EAAMtxC,EAAKmwC,OAAOmB,IAElBnlC,EAAGmlC,EAAK,WAAa,MAAOA,GAAO,MAAOA,GAAO,MAAOA,KAAS,UAAWA,IAC5EX,EAAM3wC,EAAKwxC,QAAQF,GACnBA,EAAI94E,EAAIm4E,EAAIn4E,EACZ84E,EAAIrpD,EAAI0oD,EAAI1oD,EACZqpD,EAAI3wC,EAAIgwC,EAAIhwC,EACZgwC,EAAM3wC,EAAKyxC,QAAQH,GACnBA,EAAIpwC,EAAIyvC,EAAIl1F,KAEZ61F,EAAM,CAACjB,IAAK,SACRtvC,EAAIuwC,EAAIhvC,EAAIgvC,EAAI71F,EAAI61F,EAAI94E,EAAI84E,EAAIrpD,EAAIqpD,EAAIpwC,EAAIowC,EAAI3wC,GAAK,EACzD2wC,EAAIx4F,MAAQ,IAGpBw4F,EAAI7xF,SAAW6wF,EACRgB,GAkBXtxC,EAAK4wC,QAAU,SAAUp4E,EAAGyvB,EAAGiZ,EAAGp0C,GAQ9B,IAAIq2C,EAAGnB,EAAGP,EAAG2zB,EAAGrjF,EAUhB,OAjBIo6D,EAAG3zC,EAAG,WAAa,MAAOA,GAAK,MAAOA,GAAK,MAAOA,IAClD0oC,EAAI1oC,EAAE/c,EACNwsC,EAAIzvB,EAAEyvB,EACNn7B,EAAI0L,EAAE1L,EACN0L,EAAIA,EAAEA,GAMV48D,GADArjF,EAAImvD,EAAIjZ,IACC,EAAIj2B,GAFbwG,GAFAA,GAAK,KAEG,IAAM,IAEO,EAAI,IACzB2qC,EAAInB,EAAIP,EAAIP,EAAInvD,EAMTw/F,EAHPpuC,GAAK,CAACpxD,EAAGqjF,EAAG,EAAG,EAAGA,EAAGrjF,GADrBymB,IAAMA,GAENwpC,GAAK,CAACozB,EAAGrjF,EAAGA,EAAGqjF,EAAG,EAAG,GAAG58D,GACxBipC,GAAK,CAAC,EAAG,EAAG2zB,EAAGrjF,EAAGA,EAAGqjF,GAAG58D,GACG1L,IAkB/BkzC,EAAK6wC,QAAU,SAAUr4E,EAAGyvB,EAAG0Y,EAAG7zC,GAY9B,IAAIq2C,EAAGnB,EAAGP,EAAG2zB,EAAGrjF,EAUhB,OArBIo6D,EAAG3zC,EAAG,WAAa,MAAOA,GAAK,MAAOA,GAAK,MAAOA,IAClDmoC,EAAInoC,EAAEmoC,EACN1Y,EAAIzvB,EAAEyvB,EACNzvB,EAAIA,EAAEA,IAENA,EAAI,GAAKyvB,EAAI,GAAK0Y,EAAI,KACtBnoC,GAAK,IACLyvB,GAAK,IACL0Y,GAAK,KAMTy0B,GADArjF,EAAI,EAAIk2C,GAAK0Y,EAAI,GAAKA,EAAI,EAAIA,KACrB,EAAI3uC,GAFbwG,GAFAA,GAAK,KAEG,IAAM,IAEO,EAAI,IACzB2qC,EAAInB,EAAIP,EAAId,EAAI5uD,EAAI,EAMbw/F,EAHPpuC,GAAK,CAACpxD,EAAGqjF,EAAG,EAAG,EAAGA,EAAGrjF,GADrBymB,IAAMA,GAENwpC,GAAK,CAACozB,EAAGrjF,EAAGA,EAAGqjF,EAAG,EAAG,GAAG58D,GACxBipC,GAAK,CAAC,EAAG,EAAG2zB,EAAGrjF,EAAGA,EAAGqjF,GAAG58D,GACG1L,IAiB/BkzC,EAAKyxC,QAAU,SAAU1wC,EAAGuB,EAAG7mD,GAM3B,IAAU82E,EAAGxgF,EASb,OAbAgvD,GADAtlD,EAAI41F,EAAWtwC,EAAGuB,EAAG7mD,IACf,GACN6mD,EAAI7mD,EAAE,GACNA,EAAIA,EAAE,GAWC,CAAC+c,IANC,IADTzmB,GADAwgF,EAAIgZ,EAAKxqC,EAAGuB,EAAG7mD,IACP+vF,EAAKzqC,EAAGuB,EAAG7mD,IACN,KACT82E,GAAKxxB,GAAKuB,EAAI7mD,GAAK1J,EACnBwgF,GAAKjwB,GAAK7mD,EAAIslD,GAAKhvD,EAAI,GACbgvD,EAAIuB,GAAKvwD,EAAI,GAClB,KAAO,EAAI,GAAK,IAEXk2C,EADL,GAALl2C,EAAS,EAAIA,EAAIwgF,EACD92E,EAAG82E,EAAG9yE,SAAU0xF,IAiBxCnxC,EAAKwxC,QAAU,SAAUzwC,EAAGuB,EAAG7mD,GAM3B,IAAUgnD,EAAGC,EAAGtE,EAAGrsD,EAanB,OAjBAgvD,GADAtlD,EAAI41F,EAAWtwC,EAAGuB,EAAG7mD,IACf,GACN6mD,EAAI7mD,EAAE,GACNA,EAAIA,EAAE,GAWNgnD,IARAC,EAAI6oC,EAAKxqC,EAAGuB,EAAG7mD,KACf2iD,EAAIotC,EAAKzqC,EAAGuB,EAAG7mD,KAOD,EAIP,CAAC+c,IATC,IADTzmB,EAAI2wD,EAAItE,GACK,KACTsE,GAAK3B,GAAKuB,EAAI7mD,GAAK1J,EACnB2wD,GAAKJ,GAAK7mD,EAAIslD,GAAKhvD,EAAI,GACbgvD,EAAIuB,GAAKvwD,EAAI,GAClB,KAAO,EAAI,GAAK,IAKXk2C,EAHL,GAALl2C,EAAS,EACR0wD,EAAI,GAAK1wD,GAAK,EAAI0wD,GACT1wD,GAAK,EAAI,EAAI0wD,GACP9B,EAAG8B,EAAGhjD,SAAU2xF,IAcxCpxC,EAAK0xC,gBAAkB,SAAUC,GAC7B,IAAKA,EACD,OAAO,KAEX,IAAIC,EAAM5xC,EAAKhsD,KAAK29F,GACpB,GAAIC,EAAI9hG,IACJ,OAAOkwD,EAAKhsD,KAAKy5F,MAAMmE,EAAI9hG,KAG/B,IAAI+hG,EAAc,CAACr2F,EAAG,EAAGqmB,EAAG,EAAG/U,EAAG,EAAG0L,EAAG,EAAGmoC,EAAG,EAAGvC,EAAG,EAAG2C,EAAG,EAAGD,EAAG,EAAG7Y,EAAG,EAAGrmB,EAAG,EAAGs/B,EAAG,EAAGD,EAAG,EAAGrrC,EAAG,GAC1FoV,EAAO,GA+BX,OA9BImhC,EAAGwlC,EAAY,UAAYxlC,EAAGwlC,EAAW,GAAI,WAC7C3mE,EAAOg1B,EAAKhsD,KAAKy5F,MAAMkE,IAEtB3mE,EAAK37B,QACN87F,EAAIwG,GAAY/+F,QAAQo5F,GAAa,SAAUxwF,EAAGC,EAAGomB,GACjD,IAAIhtB,EAAS,GACTN,EAAOkH,EAAEM,cAYb,GAXA8lB,EAAEjvB,QAAQs5F,GAAY,SAAU1wF,EAAGC,GAC/BA,GAAK5G,EAAOjE,MAAM6K,MAEV,KAARlH,GAAeM,EAAOxF,OAAS,IAC/B27B,EAAKp6B,KAAK,CAAC6K,GAAG/F,OAAOb,EAAOqP,OAAO,EAAG,KACtC3P,EAAO,IACPkH,EAAS,KAALA,EAAW,IAAM,KAEb,KAARlH,GAAgC,GAAjBM,EAAOxF,QACtB27B,EAAKp6B,KAAK,CAAC6K,EAAG5G,EAAO,KAEb,KAARN,EACAy2B,EAAKp6B,KAAK,CAAC6K,GAAG/F,OAAOb,SAClB,KAAOA,EAAOxF,QAAUwiG,EAAYt9F,KACvCy2B,EAAKp6B,KAAK,CAAC6K,GAAG/F,OAAOb,EAAOqP,OAAO,EAAG2tF,EAAYt9F,MAC7Cs9F,EAAYt9F,UAM7By2B,EAAKvrB,SAAWugD,EAAKhsD,KAAKyL,SAC1BmyF,EAAI9hG,IAAMkwD,EAAKhsD,KAAKy5F,MAAMziE,GACnBA,GAYX,IAAI8mE,EAAuB9xC,EAAK8xC,qBAAuB,SAAUC,GAC7D,IAAKA,EACD,OAAO,KAEX,IACI/mE,EAAO,GAeX,OAdImhC,EAAG4lC,EAAS,UAAY5lC,EAAG4lC,EAAQ,GAAI,WACvC/mE,EAAOg1B,EAAKhsD,KAAKy5F,MAAMsE,IAEtB/mE,EAAK37B,QACN87F,EAAI4G,GAASn/F,QAAQq5F,GAAU,SAAUzwF,EAAGC,EAAGomB,GAC3C,IAAIhtB,EAAS,GACF4G,EAAEM,cACb8lB,EAAEjvB,QAAQs5F,GAAY,SAAU1wF,EAAGC,GAC/BA,GAAK5G,EAAOjE,MAAM6K,MAEtBuvB,EAAKp6B,KAAK,CAAC6K,GAAG/F,OAAOb,OAG7Bm2B,EAAKvrB,SAAWugD,EAAKhsD,KAAKyL,SACnBurB,GA8BXg1B,EAAKirC,EAAE+G,oBA5BP,SAA6BC,GACzB,IAAIh0C,EAAM,GAyBV,OAxBAg0C,EAAOA,EAAKr/F,QAAQ,6BAA6B,SAAU8iD,EAAKnhD,EAAMM,GAsBlE,OArBAA,EAASA,EAAO6F,MAAM,eACV,UAARnG,GAAqC,GAAjBM,EAAOxF,QAC3BwF,EAAOjE,KAAK,EAAG,GAEP,SAAR2D,IACIM,EAAOxF,OAAS,EAChBwF,EAASA,EAAOsH,MAAM,EAAG,GACD,GAAjBtH,EAAOxF,QACdwF,EAAOjE,KAAK,EAAG,GAEE,GAAjBiE,EAAOxF,QACPwF,EAAOjE,KAAKiE,EAAO,GAAI,EAAG,IAGtB,SAARN,EACA0pD,EAAIrtD,KAAK,CAAC,IAAK,EAAG,EAAG06F,EAAKqC,IAAIX,EAAIn4F,EAAO,KAAM,EAAG,EAAG,IACtC,SAARN,EACP0pD,EAAIrtD,KAAK,CAAC,IAAK,EAAG06F,EAAKqC,IAAIX,EAAIn4F,EAAO,KAAM,EAAG,EAAG,EAAG,IAErDopD,EAAIrtD,KAAK,CAAC2D,EAAKwF,OAAO,IAAIrE,OAAOb,IAE9B6gD,KAEJuI,GAGX+B,EAAKirC,EAAEiH,YAAc,sBAqErBlyC,EAAKirC,EAAEkH,iBApEP,SAA0BF,EAAMG,GAC5B,IAAIC,EAAQP,EAAqBG,GAC7B7zC,EAAI,IAAI4B,EAAKsyC,OACjB,GAAID,EACA,IAAK,IAAIljG,EAAI,EAAG0gF,EAAKwiB,EAAMhjG,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAC5C,IAKI++F,EACAC,EACAC,EACAC,EACAllC,EATAvnC,EAAIywE,EAAMljG,GACVojG,EAAO3wE,EAAEvyB,OACTmjG,EAAUrH,EAAIvpE,EAAE,IAAI7lB,cACpB02F,EAAW7wE,EAAE,IAAM4wE,EACnBE,EAAQD,EAAWr0C,EAAEu0C,SAAW,EAMrB,KAAXH,GAA0B,GAARD,EAClBn0C,EAAEw0C,UAAUhxE,EAAE,GAAI,GACA,KAAX4wE,GAA0B,GAARD,EACrBE,GACAvE,EAAKwE,EAAMh9E,EAAE,EAAG,GAChBy4E,EAAKuE,EAAM/8E,EAAE,EAAG,GAChBy4E,EAAKsE,EAAMh9E,EAAEkM,EAAE,GAAIA,EAAE,IACrBysE,EAAKqE,EAAM/8E,EAAEiM,EAAE,GAAIA,EAAE,IACrBw8B,EAAEw0C,UAAUxE,EAAKF,EAAIG,EAAKF,IAE1B/vC,EAAEw0C,UAAUhxE,EAAE,GAAIA,EAAE,IAEN,KAAX4wE,EACK,GAARD,GACAppC,EAAKA,GAAMipC,EACXh0C,EAAEy0C,OAAOjxE,EAAE,GAAIunC,EAAGzzC,EAAIyzC,EAAG9iD,MAAQ,EAAG8iD,EAAGxzC,EAAIwzC,EAAGv+C,OAAS,IACxC,GAAR2nF,IACHE,GACArE,EAAKsE,EAAMh9E,EAAEkM,EAAE,GAAIA,EAAE,IACrBysE,EAAKqE,EAAM/8E,EAAEiM,EAAE,GAAIA,EAAE,IACrBw8B,EAAEy0C,OAAOjxE,EAAE,GAAIwsE,EAAIC,IAEnBjwC,EAAEy0C,OAAOjxE,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAGb,KAAX4wE,EACK,GAARD,GAAqB,GAARA,GACbppC,EAAKA,GAAMipC,EACXh0C,EAAE00C,MAAMlxE,EAAE,GAAIA,EAAE2wE,EAAO,GAAIppC,EAAGzzC,EAAIyzC,EAAG9iD,MAAQ,EAAG8iD,EAAGxzC,EAAIwzC,EAAGv+C,OAAS,IACpD,GAAR2nF,EACHE,GACArE,EAAKsE,EAAMh9E,EAAEkM,EAAE,GAAIA,EAAE,IACrBysE,EAAKqE,EAAM/8E,EAAEiM,EAAE,GAAIA,EAAE,IACrBw8B,EAAE00C,MAAMlxE,EAAE,GAAIA,EAAE,GAAIwsE,EAAIC,IAExBjwC,EAAE00C,MAAMlxE,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAEjB,GAAR2wE,IACHE,GACArE,EAAKsE,EAAMh9E,EAAEkM,EAAE,GAAIA,EAAE,IACrBysE,EAAKqE,EAAM/8E,EAAEiM,EAAE,GAAIA,EAAE,IACrBw8B,EAAE00C,MAAMlxE,EAAE,GAAIA,EAAE,GAAIwsE,EAAIC,IAExBjwC,EAAE00C,MAAMlxE,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAGlB,KAAX4wE,GAA0B,GAARD,GACzBn0C,EAAEnN,IAAIrvB,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAIlD,OAAOw8B,GAGX4B,EAAK+yC,SAuCL,SAAiBvsF,EAAIjS,EAAM1D,GACvB,IAAImY,EAAMgqF,EAAWxsF,GAAI2M,KACrB6e,EAAM,GACNihE,EAAMjqF,EAAIjG,cAAc,cACvBkwF,IACDA,EAAM1G,EAAE,QACRA,EAAE0G,EAAK,CAACv9E,GAAI,IAAKC,GAAI,IAAKtP,MAAO,GAAIuE,OAAQ,GAAI,MAAS,YAAasoF,KAAM,SAC7ElqF,EAAI6H,YAAYoiF,IAEpB,SAASE,EAAK9wE,GACV,GAAW,MAAPA,EACA,MAvlCJ,GAylCA,GAAIA,IAAQA,EACR,OAAOA,EAEXkqE,EAAE0G,EAAK,CAAC5sF,MAAOgc,IACf,IACI,OAAO4wE,EAAIG,UAAU/sF,MACvB,MAAO3J,GACL,OAAO,GAGf,SAAS22F,EAAKhxE,GACV,GAAW,MAAPA,EACA,MArmCJ,GAumCA,GAAIA,IAAQA,EACR,OAAOA,EAEXkqE,EAAE0G,EAAK,CAACroF,OAAQyX,IAChB,IACI,OAAO4wE,EAAIG,UAAUxoF,OACvB,MAAOlO,GACL,OAAO,GAGf,SAASwK,EAAIosF,EAAKprD,GACF,MAAR3zC,EACAy9B,EAAIshE,GAAOprD,EAAE1hC,EAAG6C,KAAKiqF,IAAQ,GACtBA,GAAO/+F,IACdy9B,EAAMkW,EAAW,MAATr3C,EAAgB2V,EAAG6C,KAAKiqF,IAAQ,EAAIziG,IAGpD,OAAQ2V,EAAGmH,MACP,IAAK,OACDzG,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACd,IAAK,QACDnsF,EAAI,QAASisF,GACbjsF,EAAI,SAAUmsF,GAClB,IAAK,OACDnsF,EAAI,IAAKisF,GACTjsF,EAAI,IAAKmsF,GACb,MACA,IAAK,SACDnsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACVnsF,EAAI,IAAKisF,GACb,MACA,IAAK,UACDjsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACVnsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACd,MACA,IAAK,OACDnsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACVnsF,EAAI,KAAMmsF,GACd,MACA,IAAK,SACDnsF,EAAI,OAAQisF,GACZjsF,EAAI,cAAeisF,GACnBjsF,EAAI,OAAQmsF,GACZnsF,EAAI,eAAgBmsF,GACxB,MACA,IAAK,iBACDnsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACd,MACA,IAAK,QACDnsF,EAAI,KAAMisF,GACVjsF,EAAI,KAAMmsF,GACd,MACA,QACInsF,EAAI3S,EAAM4+F,GAGlB,OADAnqF,EAAIyI,YAAYwhF,GACTjhE,GAhII84D,EAAKC,IAAInqD,UAAYkqD,EAAKC,IAAIvrB,wBAiC7C,SAASwzB,EAAWxsF,GAChB,OAAOA,EAAG2M,KAAKogF,iBAAmBvS,EAAKx6E,EAAG2M,KAAKogF,kBAAoBvzC,EAAK72C,OAAO,OA6HnF,SAASqqF,EAAUv5F,GACVkyD,EAAGlyD,EAAM,WACVA,EAAOlK,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,IAKjD,IAHA,IAAID,EAAI,EACJsmB,EAAI,EACJtC,EAAOvjB,KAAKujB,KACTvjB,KAAKT,WAAWS,KAAKT,KAC5B,IAAKA,EAAI,EAAGA,EAAI8K,EAAK5K,OAAQF,IACL,OAAhB8K,EAAK9K,GAAGwe,KACR1T,EAAK9K,GAAG+I,SAAQ,SAAUsO,GACtB2M,EAAKtC,YAAYrK,EAAG2M,SAGxBA,EAAKtC,YAAY5W,EAAK9K,GAAGgkB,MAGjC,IAAI5hB,EAAW4hB,EAAKsgF,WACpB,IAAKtkG,EAAI,EAAGA,EAAIoC,EAASlC,OAAQF,IAC7BS,KAAK6lB,KAAOurE,EAAKzvF,EAASpC,IAE9B,OAAOS,KAYX,SAASyvF,EAAQ74E,GACb,GAAIA,EAAGktF,QAAQpH,EACX,OAAOA,EAAI9lF,EAAGktF,MAElB,IAAI1qF,EACJ,IACIA,EAAMxC,EAAG+sF,gBACX,MAAM72F,IAaR9M,KAAKujB,KAAO3M,EACRwC,IACApZ,KAAK+jG,MAAQ,IAAI3I,EAAMhiF,IAQ3BpZ,KAAK+d,KAAOnH,EAAGu5B,SAAWv5B,EAAG4hD,SAC7B,IAAIphD,EAAKpX,KAAKoX,GAAKmlF,EAAGv8F,MAUtB,GATAA,KAAKgkG,MAAQ,GACbhkG,KAAKq7F,EAAI,CACL34D,UAAW,IAEf9rB,EAAGktF,KAAO1sF,EACVslF,EAAItlF,GAAMpX,KACO,KAAbA,KAAK+d,OACL/d,KAAKqhD,IAAMuiD,GAEX5jG,KAAK+d,OAAQ,CAAC20C,EAAG,EAAGuxC,KAAM,EAAG1hF,QAAS,EAAGusE,OAAQ,GACjD,IAAK,IAAIzrF,KAAU+3F,EAAMx7F,UAAew7F,EAAMx7F,UAAUyjD,GAAKhgD,KACzDrD,KAAKqD,GAAU+3F,EAAMx7F,UAAUyD,IA4F3C,SAASk+B,EAAS2iE,GACdlkG,KAAKujB,KAAO2gF,EA6BhB,SAASC,EAAKx/F,EAAM8e,GAChB,IAAI4qC,EAAMsuC,EAAEh4F,GAGZ,OAFA8e,EAAOxC,YAAYotC,GACV+iC,EAAK/iC,GAGlB,SAAS+sC,EAAMtoE,EAAGlK,GACd,IAAIylC,EACAopC,EACA2M,EACAC,EAAQjJ,EAAMx7F,UAClB,GAAIkzB,GAAKA,EAAEqd,SAAsC,OAA3Brd,EAAEqd,QAAQhkC,cAAwB,CACpD,GAAI2mB,EAAEgxE,QAAQpH,EACV,OAAOA,EAAI5pE,EAAEgxE,MAEjB,IAAI3I,EAAMroE,EAAE2mC,cAcZ,IAAK,IAAI95D,KAbT0uD,EAAM,IAAIohC,EAAQ38D,GAClB2kE,EAAO3kE,EAAEuuE,qBAAqB,QAAQ,GACtC+C,EAAOtxE,EAAEuuE,qBAAqB,QAAQ,GACjC5J,KACDA,EAAOkF,EAAE,SACJ17E,YAAYk6E,EAAIj6E,eAAe,sBACpCmtC,EAAI9qC,KAAKtC,YAAYw2E,IAEpB2M,IACDA,EAAOzH,EAAE,QACTtuC,EAAI9qC,KAAKtC,YAAYmjF,IAEzB/1C,EAAI+1C,KAAOA,EACKC,EAAWA,EAAMhhD,GAAK1jD,KAClC0uD,EAAI1uD,GAAO0kG,EAAM1kG,IAErB0uD,EAAI01C,MAAQ11C,EAAI7qC,KAAO6qC,OAGvBsuC,GADAtuC,EAAM81C,EAAK,MAAOjJ,EAAKC,IAAInhF,OACrBuJ,KAAM,CACRvI,OAAQ4N,EACRqsC,QAAS,IACTx+C,MAAOqc,EACP2pE,MAAOA,IAGf,OAAOpuC,EAEX,SAAS+iC,EAAKkT,GACV,OAAKA,EAGDA,aAAe7U,GAAW6U,aAAe/iE,EAClC+iE,EAEPA,EAAIn0D,SAAwC,OAA7Bm0D,EAAIn0D,QAAQhkC,cACpB,IAAIivF,EAAMkJ,GAEjBA,EAAIn0D,SAAwC,UAA7Bm0D,EAAIn0D,QAAQhkC,eAAyC,iBAAZm4F,EAAIvmF,KACrD,IAAIq9E,EAAMkJ,EAAIC,gBAAgBlD,qBAAqB,OAAO,IAE9D,IAAI5R,EAAQ6U,GAXRA,EA2Df,SAASE,EAAWhhF,EAAMtG,GACtB,IAAK,IAAI3d,EAAI,EAAG0gF,EAAKz8D,EAAK/jB,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAC3C,IAAIwM,EAAO,CACHgS,KAAMyF,EAAKjkB,GAAGwe,KACdtE,KAAM+J,EAAKjkB,GAAGka,QAElB9X,EAAW6hB,EAAKjkB,GAAGoC,WACvBub,EAAElc,KAAK+K,GACHpK,EAASlC,QACT+kG,EAAW7iG,EAAUoK,EAAK83F,WAAa,KAnbnDzzC,EAAKirC,EAAEoJ,YAfP,SAAqB7tF,GACjB,IAAI8I,EAAI9I,EAAG2M,KAAKogF,iBAAmBvS,EAAKx6E,EAAG2M,KAAKogF,kBACxC/sF,EAAG2M,KAAK3B,YAAcwvE,EAAKx6E,EAAG2M,KAAK3B,aACnCwuC,EAAK72C,OAAO,QACZ62C,EAAK,EAAG,GACZs0C,EAAQhlF,EAAEnG,OAAO,QACjB6qF,EAAiB,MAATM,GAAwBA,EAAMnhF,KAI1C,OAHK6gF,IACDA,EAAOD,EAAK,OAAQzkF,EAAE6D,MAAMA,MAEzB6gF,GAMXh0C,EAAKirC,EAAE+H,WAAaA,EAqGpBhzC,EAAK72C,OAAS,SAAUorF,GAEpB,OADAA,EAAQpJ,EAAIoJ,GAAO3hG,QAAQ,YAAa,SACjCouF,EAAK8J,EAAKC,IAAIhoF,cAAcwxF,KAUvCv0C,EAAKw0C,UAAY,SAAUD,GAGvB,IAFA,IAAIE,EAAW3J,EAAKC,IAAIh0E,iBAAiBw9E,GACrCrtF,GAAO84C,EAAK94C,KAAOnX,SACdZ,EAAI,EAAGA,EAAIslG,EAASplG,OAAQF,IACjC+X,EAAItW,KAAKowF,EAAKyT,EAAStlG,KAE3B,OAAO+X,GA2BXwtF,aAAY,WACR,IAAK,IAAInlG,KAAO+8F,EAAK,GAAIA,EAAIr5C,GAAK1jD,GAAM,CACpC,IAAIiX,EAAK8lF,EAAI/8F,GACT4jB,EAAO3M,EAAG2M,MACC,OAAX3M,EAAGmH,OAAkBwF,EAAKogF,iBAA8B,OAAX/sF,EAAGmH,QAAmBwF,EAAK3B,YAAc,oBAAqB2B,EAAK3B,aAAe2B,EAAKogF,0BAC7HjH,EAAI/8F,MAGpB,KAyEC8vF,EAAQ7vF,UAAU6Z,KAAO,SAAUxU,EAAQhE,GACvC,IAAI2V,EAAK5W,KACLujB,EAAO3M,EAAG2M,KACd,IAAKte,EAAQ,CACT,GAAqB,GAAjBse,EAAKu3C,SACL,MAAO,CACH+S,KAAMtqD,EAAKw3C,WAKnB,IAFA,IAAIthD,EAAO8J,EAAKs5B,WACZza,EAAM,GACD7iC,EAAI,EAAG0gF,EAAKxmE,EAAKha,OAAQF,EAAI0gF,EAAI1gF,IACtC6iC,EAAI3oB,EAAKla,GAAGi5D,UAAY/+C,EAAKla,GAAGw7D,UAEpC,OAAO34B,EAEX,GAAIm6B,EAAGt3D,EAAQ,UAAW,CACtB,KAAIzF,UAAUC,OAAS,GAKnB,OAAOs5F,IAAI,qBAAuB9zF,EAAQ2R,GAAImuF,eAJ9C,IAAIC,EAAO,GACXA,EAAK//F,GAAUhE,EACfgE,EAAS+/F,EAKjB,IAAK,IAAIC,KAAOhgG,EACRA,EAAOo+C,GAAK4hD,IACZlM,IAAI,kBAAoBkM,EAAKruF,EAAI3R,EAAOggG,IAGhD,OAAOruF,GAWfw5C,EAAK1rC,MAAQ,SAAUtL,GACnB,IAAIk/B,EAAI4iD,EAAKC,IAAI+J,yBACbC,GAAO,EACPC,EAAMlK,EAAKC,IAAIjtF,cAAc,OAQjC,IAPAkL,EAAMmiF,EAAIniF,IACD9U,MAAM,yBACX8U,EAAM,QAAUA,EAAM,SACtB+rF,GAAO,GAEXC,EAAI3qC,UAAYrhD,EAChBA,EAAMgsF,EAAI/D,qBAAqB,OAAO,GAElC,GAAI8D,EACA7sD,EAAIl/B,OAEJ,KAAOA,EAAIiH,YACPi4B,EAAEr3B,YAAY7H,EAAIiH,YAI9B,OAAO,IAAIkhB,EAAS+W,IAcxB8X,EAAKi1C,SAAW,WAGZ,IAFA,IAAI77F,EAAOrJ,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,GAC7C84C,EAAI4iD,EAAKC,IAAI+J,yBACR3lG,EAAI,EAAG0gF,EAAKz2E,EAAK/J,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAC3C,IAAIwM,EAAOvC,EAAKjK,GACZwM,EAAKwX,MAAQxX,EAAKwX,KAAKu3C,UACvBxiB,EAAEr3B,YAAYlV,EAAKwX,MAEnBxX,EAAK+uD,UACLxiB,EAAEr3B,YAAYlV,GAEC,iBAARA,GACPusC,EAAEr3B,YAAYmvC,EAAK1rC,MAAM3Y,GAAMwX,MAGvC,OAAO,IAAIge,EAAS+W,IA+DxB8X,EAAKirC,EAAE8I,KAAOA,EACd/zC,EAAKirC,EAAEjK,KAAOA,EAwBdgK,EAAMx7F,UAAUgX,GAAK,SAAUjS,EAAM8U,GACjC,IAAI7C,EAAKutF,EAAKx/F,EAAM3E,KAAKujB,MAEzB,OADA9J,GAAQ7C,EAAG6C,KAAKA,GACT7C,GASX64E,EAAQ7vF,UAAU+B,SAAW,WAGzB,IAFA,IAAIygC,EAAM,GACNw4C,EAAK56E,KAAKujB,KAAKsgF,WACVtkG,EAAI,EAAG0gF,EAAKrF,EAAGn7E,OAAQF,EAAI0gF,EAAI1gF,IACpC6iC,EAAI7iC,GAAK6wD,EAAKwqB,EAAGr7E,IAErB,OAAO6iC,GA2BXqtD,EAAQ7vF,UAAU0lG,OAAS,WACvB,IAAIljE,EAAM,GAEV,OADAoiE,EAAW,CAACxkG,MAAOoiC,GACZA,EAAI,IAGf22D,IAAIjsC,GAAG,qBAAqB,WACxB,IAAIm4C,EAAMlM,IAAIwM,KAEVr3E,GADJ+2E,EAAMA,EAAI1yF,UAAU0yF,EAAIhyF,YAAY,KAAO,IAC7BjQ,QAAQ,UAAU,SAAUinD,GACtC,MAAO,IAAMA,EAAO99C,iBAExB,OAAIq5F,EAAQniD,GAAKn1B,GACNluB,KAAKujB,KAAKk2C,cAAckX,YAAYl9C,iBAAiBzzB,KAAKujB,KAAM,MAAM+9E,iBAAiBpzE,GAEvFyuE,EAAE38F,KAAKujB,KAAM0hF,MAG5B,IAAIO,EAAU,CACV,qBAAsB,EACtB,iBAAkB,EAClB,KAAQ,EACR,YAAa,EACb,YAAa,EACb,MAAS,EACT,sBAAuB,EACvB,8BAA+B,EAC/B,gBAAiB,EACjB,kBAAmB,EACnB,OAAU,EACV,UAAa,EACb,QAAW,EACX,oBAAqB,EACrB,oBAAqB,EACrB,KAAQ,EACR,eAAgB,EAChB,YAAa,EACb,OAAU,EACV,cAAe,EACf,gBAAiB,EACjB,KAAQ,EACR,cAAe,EACf,YAAa,EACb,mBAAoB,EACpB,eAAgB,EAChB,aAAc,EACd,eAAgB,EAChB,cAAe,EACf,+BAAgC,EAChC,6BAA8B,EAC9B,kBAAmB,EACnB,QAAW,EACX,iBAAkB,EAClB,iBAAkB,EAClB,OAAU,EACV,aAAc,EACd,aAAc,EACd,eAAgB,EAChB,KAAQ,EACR,QAAW,EACX,SAAY,EACZ,iBAAkB,EAClB,kBAAmB,EACnB,aAAc,EACd,eAAgB,EAChB,OAAU,EACV,mBAAoB,EACpB,oBAAqB,EACrB,iBAAkB,EAClB,kBAAmB,EACnB,oBAAqB,EACrB,iBAAkB,EAClB,eAAgB,EAChB,cAAe,EACf,kBAAmB,EACnB,iBAAkB,EAClB,eAAgB,EAChB,WAAc,EACd,eAAgB,EAChB,eAAgB,GAGpBzM,IAAIjsC,GAAG,kBAAkB,SAAU7rD,GAC/B,IAAIgkG,EAAMlM,IAAIwM,KACV9rF,EAAO,GAEXA,EADAwrF,EAAMA,EAAI1yF,UAAU0yF,EAAIhyF,YAAY,KAAO,IAC/BhS,EACZ,IAAIiD,EAAQ+gG,EAAIjiG,QAAQ,WAAW,SAAU8iD,EAAKmE,GAC1C,OAAOA,EAAOlzC,iBAElBmX,EAAM+2E,EAAIjiG,QAAQ,UAAU,SAAUinD,GAClC,MAAO,IAAMA,EAAO99C,iBAExBq5F,EAAQniD,GAAKn1B,GACbluB,KAAKujB,KAAKrf,MAAMA,GAAkB,MAATjD,EA3mDzB,GA2mD6CA,EAE7C07F,EAAE38F,KAAKujB,KAAM9J,MAGA2hF,EAAMx7F,UAmB3BwwD,EAAKq1C,KAAO,SAAUzgG,EAAK0gG,EAAUj4F,EAAUwvF,GAC3C,IAAI0I,EAAM,IAAIC,eACVxuF,EAAKmlF,IACT,GAAIoJ,EAAK,CACL,GAAIppC,EAAGmpC,EAAU,YACbzI,EAAQxvF,EACRA,EAAWi4F,EACXA,EAAW,UACR,GAAInpC,EAAGmpC,EAAU,UAAW,CAC/B,IAAI/gC,EAAK,GACT,IAAK,IAAIhlE,KAAO+lG,EAAcA,EAAS7lG,eAAeF,IAClDglE,EAAG3jE,KAAKwuD,mBAAmB7vD,GAAO,IAAM6vD,mBAAmBk2C,EAAS/lG,KAExE+lG,EAAW/gC,EAAGp5D,KAAK,KAgBvB,OAdAo6F,EAAItvF,KAAKqvF,EAAW,OAAS,MAAO1gG,GAAK,GACrC0gG,IACAC,EAAIE,iBAAiB,mBAAoB,kBACzCF,EAAIE,iBAAiB,eAAgB,sCAErCp4F,IACAsrF,IAAI+M,KAAK,aAAe1uF,EAAK,KAAM3J,GACnCsrF,IAAI+M,KAAK,aAAe1uF,EAAK,OAAQ3J,GACrCsrF,IAAI+M,KAAK,aAAe1uF,EAAK,OAAQ3J,IAEzCk4F,EAAII,mBAAqB,WACC,GAAlBJ,EAAIK,YACRjN,IAAI,aAAe3hF,EAAK,IAAMuuF,EAAIlmE,OAAQw9D,EAAO0I,IAE/B,GAAlBA,EAAIK,WACGL,GAEXA,EAAIM,KAAKP,GACFC,KAafv1C,EAAK81C,KAAO,SAAUlhG,EAAKyI,EAAUwvF,GACjC7sC,EAAKq1C,KAAKzgG,GAAK,SAAU2gG,GACrB,IAAIrtD,EAAI8X,EAAK1rC,MAAMihF,EAAIQ,cACvBlJ,EAAQxvF,EAAS3N,KAAKm9F,EAAO3kD,GAAK7qC,EAAS6qC,OAmEnD,OAvCA8X,EAAKg2C,kBAAoB,SAAUtgF,EAAGC,GACtB/lB,KACIqmG,OADhB,IAEI/mG,EAAS47F,EAAKC,IAAImL,iBAAiBxgF,EAAGC,GAC1C,GAAIm1E,EAAKI,IAAIiL,OAA2B,OAAlBjnG,EAAO6wC,QAAkB,CAC3C,IAAIq2D,EA9BI,SAAUC,GACtB,IAAIC,EAAMD,EAAKpyE,wBACX8mE,EAAMsL,EAAKhtC,cACXz/C,EAAOmhF,EAAInhF,KACX2sF,EAAUxL,EAAI1pE,gBACdm1E,EAAYD,EAAQC,WAAa5sF,EAAK4sF,WAAa,EAAGC,EAAaF,EAAQE,YAAc7sF,EAAK6sF,YAAc,EAGhH,MAAO,CACH9gF,EAHO2gF,EAAI50E,KAAQ4gC,EAAE4oC,IAAI3pE,aAAeg1E,EAAQ/0E,WAAa5X,EAAK4X,WAAcg1E,EAIhF9gF,EAHO4gF,EAAItuE,MAAQs6B,EAAE4oC,IAAIwL,aAAeH,EAAQpd,YAAcvvE,EAAKuvE,YAAcsd,GAuBxEE,CAAUznG,GACf0nG,EAAK1nG,EAAO2nG,gBAChBD,EAAGlhF,EAAIA,EAAI0gF,EAAG1gF,EACdkhF,EAAGjhF,EAAIA,EAAIygF,EAAGzgF,EACdihF,EAAGvwF,MAAQuwF,EAAGhsF,OAAS,EACvB,IAAIksF,EAAO5nG,EAAO6nG,oBAAoBH,EAAI,MACtCE,EAAKznG,SACLH,EAAS4nG,EAAKA,EAAKznG,OAAS,IAGpC,OAAKH,EAGE8xF,EAAK9xF,GAFD,MAmBf8wD,EAAKg3C,OAAS,SAAU9uD,GACpBA,EAAE8X,EAAMq/B,EAAS2L,EAAOF,EAAM35D,IAElC25D,EAAKI,IAAIlrC,KAAOA,EACTA,EArzDK,CAszDVpiD,QAAUhO,MAeZowD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAI8lE,EAAU5X,EAAQ7vF,UAClB28D,EAAKnM,EAAKmM,GACVg/B,EAAMl5E,OACNilF,EAAUl3C,EAAK+yC,SACfxG,EAAIvsC,EAAKirC,EAAEsB,EACXwH,EAAO/zC,EAAKirC,EAAE8I,KACdM,EAAcr0C,EAAKirC,EAAEoJ,YACrBphD,EAAM,iBACN+tC,EAAOhhC,EAAKirC,EAAEjK,KA0BlBiW,EAAQ7D,QAAU,SAAU+D,GACxB,GAAiB,SAAbvnG,KAAK+d,KACL,OAAOqyC,EAAKirC,EAAEqL,IAAI1mG,KAAKujB,KAAKikF,iBAAiBz7F,KAAK,IAEtD,IAAKqkD,EAAKsyC,SAAWtyC,EAAKhsD,KACtB,OAAOpE,KAAKujB,KAAKigF,UAErB,IAAI5sF,EAAK5W,KACLwuD,EAAI,IAAI4B,EAAKsyC,OACjB,GAAI9rF,EAAG6wF,QACH,OAAOr3C,EAAKirC,EAAEqL,MAElB,KAAkB,OAAX9vF,EAAGmH,MAIN,GAHKwpF,IACD/4C,EAAIA,EAAEnN,IAAIzqC,EAAG8rB,YAAYglE,YAAY1E,UAAUpsF,EAAG6C,KAAK,MAAQ,EAAG7C,EAAG6C,KAAK,MAAQ,KAElF7C,EAAG+wF,SACH/wF,EAAKA,EAAG+wF,aACL,CACH,IAAIvkG,EAAOwT,EAAG6C,KAAK,cACnB7C,EAAKA,EAAG+wF,SAAW/wF,EAAG2M,KAAKk2C,cAAcjiD,eAAepU,EAAKmP,UAAUnP,EAAKgJ,QAAQ,KAAO,IAGnG,IAAIivF,EAAIzkF,EAAGykF,EACPuM,EAAax3C,EAAKhsD,KAAKwiB,IAAIhQ,EAAGmH,OAASqyC,EAAKhsD,KAAKwiB,IAAIihF,MACzD,IACI,OAAIN,GACAlM,EAAEyM,OAASF,EAAax3C,EAAKhsD,KAAKo/F,QAAQ5sF,EAAGmxF,SAAWH,EAAWhxF,IAAOw5C,EAAKirC,EAAEqL,IAAI9vF,EAAG2M,KAAKigF,WACtFpzC,EAAKirC,EAAEqL,IAAIrL,EAAEyM,UAEpBlxF,EAAGmxF,SAAWH,EAAWhxF,GACzBA,EAAGoxF,OAASpxF,EAAG8rB,YAAYglE,YAC3BrM,EAAEmH,KAAOpyC,EAAKhsD,KAAKo/F,QAAQpzC,EAAKhsD,KAAK8P,IAAI0C,EAAGmxF,SAAUv5C,EAAEnN,IAAIzqC,EAAGoxF,UACxD53C,EAAKirC,EAAEqL,IAAIrL,EAAEmH,OAE1B,MAAO11F,GAEL,OAAOsjD,EAAKirC,EAAEqL,QAGtB,IAAIuB,EAAa,WACb,OAAOjoG,KAAKgc,QAEhB,SAASksF,EAAiBtxF,EAAIyrF,GAC1B,GAAY,MAARA,EAAc,CACd,IAAI8F,GAAW,EAQf,KANI9F,EADW,kBAAXzrF,EAAGmH,MAAuC,kBAAXnH,EAAGmH,KAC3BnH,EAAG2M,KAAKnQ,aAAa,qBACV,WAAXwD,EAAGmH,KACHnH,EAAG2M,KAAKnQ,aAAa,oBAErBwD,EAAG2M,KAAKnQ,aAAa,cAG5B,OAAO,IAAIg9C,EAAKsyC,OAEpBL,EAAOjyC,EAAKirC,EAAE+G,oBAAoBC,QAK9BA,EAHCjyC,EAAKirC,EAAEiH,YAAYllF,KAAKilF,GAGlB9G,EAAI8G,GAAMr/F,QAAQ,gBAAiB4T,EAAGykF,EAAE34D,WAAa,IAFrD0tB,EAAKirC,EAAE+G,oBAAoBC,GAIlC9lC,EAAG8lC,EAAM,WACTA,EAAOjyC,EAAKhsD,KAAOgsD,EAAKhsD,KAAKyL,SAAS/P,KAAKuiG,GAAQ9G,EAAI8G,IAE3DzrF,EAAGykF,EAAE34D,UAAY2/D,EAErB,IAAI7zC,EAAI4B,EAAKirC,EAAEkH,iBAAiBF,EAAMzrF,EAAG4sF,QAAQ,IACjD,GAAI2E,EACA,OAAO35C,EAEP53C,EAAGoxF,OAASx5C,EAuBpB64C,EAAQ3kE,UAAY,SAAU2/D,GAC1B,IAAIhH,EAAIr7F,KAAKq7F,EACb,GAAY,MAARgH,EAAc,CAUd,IATA,IAKI9iG,EALA6oG,EAAOpoG,KACP2sD,EAAS,IAAIyD,EAAKsyC,OAAO1iG,KAAKujB,KAAK8kF,UACnCC,EAAQJ,EAAiBloG,MACzBuoG,EAAK,CAACD,GACN95C,EAAI,IAAI4B,EAAKsyC,OAEb8F,EAAcF,EAAMG,oBACpBzsF,EAASu/E,EAAI+M,IAAU/M,EAAIv7F,KAAKgoG,QACpBzM,EAAIF,EAAE34D,WAAa8lE,EACf,OAAbJ,EAAKrqF,OAAkBqqF,EAAOA,EAAK3kF,WACtC8kF,EAAGvnG,KAAKknG,EAAiBE,IAG7B,IADA7oG,EAAIgpG,EAAG9oG,OACAF,KACHivD,EAAEnN,IAAIknD,EAAGhpG,IAEb,MAAO,CACHyc,OAAQA,EACR0sF,aAAc/7C,EACdg8C,YAAan6C,EACbk5C,YAAaY,EACbM,WAAYj8C,EAAOkxC,QAAQx8C,IAAIinD,EAAMvF,UACrCp2C,OAAQA,EAAO87C,oBACfI,MAAOr6C,EAAEi6C,oBACTH,MAAOE,EACP34F,SAAUo4F,GAoBlB,OAjBI5F,aAAgBjyC,EAAKsyC,QACrB1iG,KAAKgoG,OAAS3F,EACdriG,KAAKq7F,EAAE34D,UAAY2/D,EAAKoG,qBAExBP,EAAiBloG,KAAMqiG,GAGvBriG,KAAKujB,OACY,kBAAbvjB,KAAK+d,MAAyC,kBAAb/d,KAAK+d,KACtC4+E,EAAE38F,KAAKujB,KAAM,CAACulF,kBAAmB9oG,KAAKgoG,SAClB,WAAbhoG,KAAK+d,KACZ4+E,EAAE38F,KAAKujB,KAAM,CAACwlF,iBAAkB/oG,KAAKgoG,SAErCrL,EAAE38F,KAAKujB,KAAM,CAACmf,UAAW1iC,KAAKgoG,UAI/BhoG,MAUXqnG,EAAQ5jF,OAAS,WACb,OAAO2tE,EAAKpxF,KAAKujB,KAAK3B,aAiB1BylF,EAAQtkF,OAASskF,EAAQhmD,IAAM,SAAUzqC,GACrC,GAAIA,EAAI,CACJ,GAAe,OAAXA,EAAGmH,KAAe,CAClB,IAAIo6B,EAAKn4C,KAIT,OAHA4W,EAAGtO,SAAQ,SAAUsO,GACjBuhC,EAAGkJ,IAAIzqC,MAEJ5W,KAEX4W,EAAKw6E,EAAKx6E,GACV5W,KAAKujB,KAAKtC,YAAYrK,EAAG2M,MACzB3M,EAAGmtF,MAAQ/jG,KAAK+jG,MAEpB,OAAO/jG,MAWXqnG,EAAQrvE,SAAW,SAAUphB,GAKzB,OAJIA,IACAA,EAAKw6E,EAAKx6E,IACPmM,OAAO/iB,MAEPA,MAWXqnG,EAAQlnF,QAAU,SAAUvJ,GACxB,GAAIA,EAAI,CACJ,GAAe,OAAXA,EAAGmH,KAAe,CAClB,IACImgB,EADAia,EAAKn4C,KAUT,OARA4W,EAAGtO,SAAQ,SAAUsO,GACbsnB,EACAA,EAAM4hE,MAAMlpF,GAEZuhC,EAAGh4B,QAAQvJ,GAEfsnB,EAAQtnB,KAEL5W,KAGX,IAAIyjB,GADJ7M,EAAKw6E,EAAKx6E,IACM6M,SAChBzjB,KAAKujB,KAAKhD,aAAa3J,EAAG2M,KAAMvjB,KAAKujB,KAAKlD,YAC1CrgB,KAAKqhD,KAAOrhD,KAAKqhD,MACjBzqC,EAAGmtF,MAAQ/jG,KAAK+jG,MAChB/jG,KAAKyjB,UAAYzjB,KAAKyjB,SAAS49B,MAC/B59B,GAAUA,EAAO49B,MAErB,OAAOrhD,MAWXqnG,EAAQ2B,UAAY,SAAUpyF,GAG1B,OAFAA,EAAKw6E,EAAKx6E,IACPuJ,QAAQngB,MACJA,MAWXqnG,EAAQpnF,OAAS,SAAUrJ,GACvB,GAAe,OAAXA,EAAGmH,KAAe,CAClB,IAAIo6B,EAAKn4C,KAOT,OANA4W,EAAGtO,SAAQ,SAAUsO,GACjB,IAAI6M,EAAS7M,EAAG6M,SAChB00B,EAAG50B,KAAK3B,WAAWrB,aAAa3J,EAAG2M,KAAM40B,EAAG50B,MAC5CE,GAAUA,EAAO49B,SAErBrhD,KAAKyjB,SAAS49B,MACPrhD,KAGX,IAAIyjB,GADJ7M,EAAKw6E,EAAKx6E,IACM6M,SAKhB,OAJAzjB,KAAKujB,KAAK3B,WAAWrB,aAAa3J,EAAG2M,KAAMvjB,KAAKujB,MAChDvjB,KAAKyjB,UAAYzjB,KAAKyjB,SAAS49B,MAC/B59B,GAAUA,EAAO49B,MACjBzqC,EAAGmtF,MAAQ/jG,KAAK+jG,MACT/jG,MAWXqnG,EAAQvH,MAAQ,SAAUlpF,GAEtB,IAAI6M,GADJ7M,EAAKw6E,EAAKx6E,IACM6M,SAShB,OARIzjB,KAAKujB,KAAKjD,YACVtgB,KAAKujB,KAAK3B,WAAWrB,aAAa3J,EAAG2M,KAAMvjB,KAAKujB,KAAKjD,aAErDtgB,KAAKujB,KAAK3B,WAAWX,YAAYrK,EAAG2M,MAExCvjB,KAAKyjB,UAAYzjB,KAAKyjB,SAAS49B,MAC/B59B,GAAUA,EAAO49B,MACjBzqC,EAAGmtF,MAAQ/jG,KAAK+jG,MACT/jG,MAWXqnG,EAAQ9mF,aAAe,SAAU3J,GAC7BA,EAAKw6E,EAAKx6E,GACV,IAAI6M,EAASzjB,KAAKyjB,SAKlB,OAJA7M,EAAG2M,KAAK3B,WAAWrB,aAAavgB,KAAKujB,KAAM3M,EAAG2M,MAC9CvjB,KAAK+jG,MAAQntF,EAAGmtF,MAChBtgF,GAAUA,EAAO49B,MACjBzqC,EAAG6M,UAAY7M,EAAG6M,SAAS49B,MACpBrhD,MAWXqnG,EAAQ4B,YAAc,SAAUryF,GAC5BA,EAAKw6E,EAAKx6E,GACV,IAAI6M,EAASzjB,KAAKyjB,SAKlB,OAJA7M,EAAG2M,KAAK3B,WAAWrB,aAAavgB,KAAKujB,KAAM3M,EAAG2M,KAAKjD,aACnDtgB,KAAK+jG,MAAQntF,EAAGmtF,MAChBtgF,GAAUA,EAAO49B,MACjBzqC,EAAG6M,UAAY7M,EAAG6M,SAAS49B,MACpBrhD,MASXqnG,EAAQ6B,OAAS,WACb,IAAIzlF,EAASzjB,KAAKyjB,SAKlB,OAJAzjB,KAAKujB,KAAK3B,YAAc5hB,KAAKujB,KAAK3B,WAAWC,YAAY7hB,KAAKujB,aACvDvjB,KAAK+jG,MACZ/jG,KAAKynG,SAAU,EACfhkF,GAAUA,EAAO49B,MACVrhD,MAWXqnG,EAAQ9tF,OAAS,SAAUorF,GACvB,OAAOvT,EAAKpxF,KAAKujB,KAAKpQ,cAAcwxF,KAWxC0C,EAAQzC,UAAY,SAAUD,GAG1B,IAFA,IAAIE,EAAW7kG,KAAKujB,KAAK4D,iBAAiBw9E,GACtCrtF,GAAO84C,EAAK94C,KAAOnX,SACdZ,EAAI,EAAGA,EAAIslG,EAASplG,OAAQF,IACjC+X,EAAItW,KAAKowF,EAAKyT,EAAStlG,KAE3B,OAAO+X,GAYX+vF,EAAQ8B,KAAO,SAAU1vF,EAAMxY,GAI3B,OAHa,MAATA,IACAA,EAAQjB,KAAKyZ,KAAKA,KAEd6tF,EAAQtnG,KAAMyZ,EAAMxY,IAWhComG,EAAQ+B,IAAM,WACV,IAAIA,EACAhyF,EAAKpX,KAAKujB,KAAKnM,GAiBnB,OAhBKA,IACDA,EAAKpX,KAAKoX,GACVulF,EAAE38F,KAAKujB,KAAM,CACTnM,GAAIA,KAKRgyF,EAFa,kBAAbppG,KAAK+d,MAAyC,kBAAb/d,KAAK+d,MACzB,WAAb/d,KAAK+d,KACComF,EAAKnkG,KAAK+d,KAAM/d,KAAKujB,KAAK3B,YAE1BuiF,EAAK,MAAOnkG,KAAKujB,KAAK3B,YAEhC+6E,EAAEyM,EAAI7lF,KAAM,CACR,aAAc,IAAMnM,IAExBgyF,EAAIzB,SAAW3nG,KACRopG,GAwEX/B,EAAQxJ,MAAQ,WACZ,IAAIA,EAAQzM,EAAKpxF,KAAKujB,KAAK8lF,WAAU,IAMrC,OALI1M,EAAEkB,EAAMt6E,KAAM,OACdo5E,EAAEkB,EAAMt6E,KAAM,CAACnM,GAAIymF,EAAMzmF,KAzEjC,SAAgBR,GACZ,IACIuhC,EADAmxD,EAAM1yF,EAAGguF,UAAU,KAEnB5/F,EAAM,8BACNukG,EAAM,GACNC,EAAO,GACX,SAASC,EAAQtxD,EAAIxzC,GACjB,IAAI8tB,EAAMkqE,EAAExkD,EAAG50B,KAAM5e,IAErB8tB,GADAA,EAAMA,GAAOA,EAAInuB,MAAMU,KACVytB,EAAI,KACU,KAAhBA,EAAItoB,WACXsoB,EAAMA,EAAIlgB,UAAU,MAKpBi3F,EAAK/2E,IAAQ+2E,EAAK/2E,IAAQ,IAAI3sB,QAAO,SAAUsR,GAC3C,IAAIqC,EAAO,GACXA,EAAK9U,GAAQyrD,EAAKprD,IAAIoS,GACtBulF,EAAExkD,EAAG50B,KAAM9J,OAIvB,SAASiwF,EAASvxD,GACd,IAAI1lB,EAAMkqE,EAAExkD,EAAG50B,KAAM,cACjBkP,GAAuB,KAAhBA,EAAItoB,WACXsoB,EAAMA,EAAIlgB,UAAU,MAKpBi3F,EAAK/2E,IAAQ+2E,EAAK/2E,IAAQ,IAAI3sB,QAAO,SAAUsR,GAC3C+gC,EAAG1+B,KAAK,aAAc,IAAMrC,OAIxC,IAAK,IAAI7X,EAAI,EAAG0gF,EAAKqpB,EAAI7pG,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAE1CkqG,EADAtxD,EAAKmxD,EAAI/pG,GACG,QACZkqG,EAAQtxD,EAAI,UACZsxD,EAAQtxD,EAAI,UACZsxD,EAAQtxD,EAAI,QACZsxD,EAAQtxD,EAAI,aACZuxD,EAASvxD,GACT,IAAIwxD,EAAQhN,EAAExkD,EAAG50B,KAAM,MACnBomF,IACAhN,EAAExkD,EAAG50B,KAAM,CAACnM,GAAI+gC,EAAG/gC,KACnBmyF,EAAIvoG,KAAK,CACL4oG,IAAKD,EACLvyF,GAAI+gC,EAAG/gC,MAInB,IAAK7X,EAAI,EAAG0gF,EAAKspB,EAAI9pG,OAAQF,EAAI0gF,EAAI1gF,IAAK,CACtC,IAAIsqG,EAAKL,EAAKD,EAAIhqG,GAAGqqG,KACrB,GAAIC,EACA,IAAK,IAAIhkF,EAAI,EAAGm/D,EAAK6kB,EAAGpqG,OAAQomB,EAAIm/D,EAAIn/D,IACpCgkF,EAAGhkF,GAAG0jF,EAAIhqG,GAAG6X,KAkBzB0yF,CAAOjM,GACPA,EAAMoL,YAAYjpG,MACX69F,GAUXwJ,EAAQ0C,OAAS,WAGb,OAFWtF,EAAYzkG,MAClBihB,YAAYjhB,KAAKujB,MACfvjB,MAyBXqnG,EAAQ9kF,QAAU8kF,EAAQ2C,UAAY,SAAUlkF,EAAGC,EAAGtP,EAAOuE,GACzD,IAAI0E,EAAIykF,EAAK,UAAWM,EAAYzkG,OAoBpC,OAnBS,MAAL8lB,IACAA,EAAI9lB,KAAKwjG,WAETjnC,EAAGz2C,EAAG,WAAa,MAAOA,IAC1BC,EAAID,EAAEC,EACNtP,EAAQqP,EAAErP,MACVuE,EAAS8K,EAAE9K,OACX8K,EAAIA,EAAEA,GAEV62E,EAAEj9E,EAAE6D,KAAM,CACNuC,EAAGA,EACHC,EAAGA,EACHtP,MAAOA,EACPuE,OAAQA,EACRivF,aAAc,iBACd7yF,GAAIsI,EAAEtI,GACN6D,QAAS,CAAC6K,EAAGC,EAAGtP,EAAOuE,GAAQzP,KAAK,OAExCmU,EAAE6D,KAAKtC,YAAYjhB,KAAKujB,MACjB7D,GAqBX2nF,EAAQ6C,OAAS,SAAUpkF,EAAGC,EAAGtP,EAAOuE,EAAQmvF,EAAMC,GAClD,IAAI1qF,EAAIykF,EAAK,SAAUM,EAAYzkG,OAsBnC,OArBS,MAAL8lB,IACAA,EAAI9lB,KAAKwjG,WAETjnC,EAAGz2C,EAAG,WAAa,MAAOA,IAC1BC,EAAID,EAAEC,EACNtP,EAAQqP,EAAErP,MACVuE,EAAS8K,EAAE9K,OACXmvF,EAAOrkF,EAAEqkF,MAAQrkF,EAAE6I,GACnBy7E,EAAOtkF,EAAEskF,MAAQtkF,EAAEukF,GACnBvkF,EAAIA,EAAEA,GAEV62E,EAAEj9E,EAAE6D,KAAM,CACNtI,QAAS,CAAC6K,EAAGC,EAAGtP,EAAOuE,GAAQzP,KAAK,KACpC++F,YAAa7zF,EACb8zF,aAAcvvF,EACdwvF,OAAQ,OACRL,KAAMA,GAAQ,EACdC,KAAMA,GAAQ,EACdhzF,GAAIsI,EAAEtI,KAEVsI,EAAE6D,KAAKtC,YAAYjhB,KAAKujB,MACjB7D,GAEX,IAAI+qF,EAAS,GAqFb,SAAS56F,EAASkO,GACd,OAAO,WACH,IAAIswC,EAAMtwC,EAAO,IAAM/d,KAAK+d,KAAO,GAC/BtE,EAAOzZ,KAAKujB,KAAKs5B,WACjB6tD,EAAO1qG,KAAKujB,KAAKsgF,WACrB,GAAI9lF,EACA,IAAK,IAAIxe,EAAI,EAAG0gF,EAAKxmE,EAAKha,OAAQF,EAAI0gF,EAAI1gF,IACtC8uD,GAAO,IAAM50C,EAAKla,GAAGoF,KAAO,KACpB8U,EAAKla,GAAG0B,MAAM+B,QAAQ,KAAM,OAAS,IAGrD,GAAI0nG,EAAKjrG,OAAQ,CAEb,IADAse,IAASswC,GAAO,KACX9uD,EAAI,EAAG0gF,EAAKyqB,EAAKjrG,OAAQF,EAAI0gF,EAAI1gF,IACV,GAApBmrG,EAAKnrG,GAAGu7D,SACRzM,GAAOq8C,EAAKnrG,GAAGw7D,UACY,GAApB2vC,EAAKnrG,GAAGu7D,WACfzM,GAAO+iC,EAAKsZ,EAAKnrG,IAAIsQ,YAG7BkO,IAASswC,GAAO,KAAOruD,KAAK+d,KAAO,UAEnCA,IAASswC,GAAO,MAEpB,OAAOA,GArFfg5C,EAAQjsE,KAAO,SAAUz7B,EAAKsB,GAC1B,IAAIm6B,EAAOqvE,EAAOzqG,KAAKoX,IAAMqzF,EAAOzqG,KAAKoX,KAAO,GAChD,GAAwB,GAApB5X,UAAUC,OAEV,OADAs5F,IAAI,iBAAmB/4F,KAAKoX,GAAIpX,KAAMo7B,EAAM,MACrCA,EAEX,GAAwB,GAApB57B,UAAUC,OAAa,CACvB,GAAI2wD,EAAKmM,GAAG58D,EAAK,UAAW,CACxB,IAAK,IAAIJ,KAAKI,EAASA,EAAI0jD,GAAK9jD,IAC5BS,KAAKo7B,KAAK77B,EAAGI,EAAIJ,IAErB,OAAOS,KAGX,OADA+4F,IAAI,iBAAmB/4F,KAAKoX,GAAIpX,KAAMo7B,EAAKz7B,GAAMA,GAC1Cy7B,EAAKz7B,GAIhB,OAFAy7B,EAAKz7B,GAAOsB,EACZ83F,IAAI,iBAAmB/4F,KAAKoX,GAAIpX,KAAMiB,EAAOtB,GACtCK,MAWXqnG,EAAQsD,WAAa,SAAUhrG,GAM3B,OALW,MAAPA,EACA8qG,EAAOzqG,KAAKoX,IAAM,GAElBqzF,EAAOzqG,KAAKoX,YAAcqzF,EAAOzqG,KAAKoX,IAAIzX,GAEvCK,MAiBXqnG,EAAQuD,SAAWvD,EAAQx3F,SAAWA,EAAS,GAQ/Cw3F,EAAQwD,SAAWh7F,IA4BnBw3F,EAAQyD,UAAY,WAChB,GAAI98F,QAAUA,OAAO+8F,KAAM,CACvB,IAAIxxC,EAAKv5D,KAAKwjG,UACVpqF,EAAMg3C,EAAKktC,OAAO,yLAA0L,CAC5Mx3E,GAAIyzC,EAAGzzC,EAAEs7E,QAAQ,GACjBr7E,GAAIwzC,EAAGxzC,EAAEq7E,QAAQ,GACjB3qF,OAAQ8iD,EAAG9iD,MAAM2qF,QAAQ,GACzBpmF,QAASu+C,EAAGv+C,OAAOomF,QAAQ,GAC3B4J,SAAUhrG,KAAK4qG,aAEnB,MAAO,6BAA+BG,KAAKE,SAASz7C,mBAAmBp2C,OAS/EmoB,EAAS3hC,UAAU2Z,OAAS8tF,EAAQ9tF,OAOpCgoB,EAAS3hC,UAAUglG,UAAYyC,EAAQzC,aAgB3Cx0C,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAIs6D,EAAiBz8F,OAAOQ,UAAUiQ,SAClC0rF,EAAMl5E,OACNq5E,EAAO/rF,KAEX,SAAS+yF,EAAO92F,EAAGC,EAAGomB,EAAG9W,EAAGrO,EAAGwrC,GAC3B,GAAS,MAALzsC,GAAuC,sBAA1BgwF,EAAe/7F,KAAK8L,GAOjC,OANA5L,KAAK4L,EAAIA,EAAEA,EACX5L,KAAK6L,EAAID,EAAEC,EACX7L,KAAKiyB,EAAIrmB,EAAEqmB,EACXjyB,KAAKmb,EAAIvP,EAAEuP,EACXnb,KAAK8M,EAAIlB,EAAEkB,OACX9M,KAAKs4C,EAAI1sC,EAAE0sC,GAGN,MAAL1sC,GACA5L,KAAK4L,GAAKA,EACV5L,KAAK6L,GAAKA,EACV7L,KAAKiyB,GAAKA,EACVjyB,KAAKmb,GAAKA,EACVnb,KAAK8M,GAAKA,EACV9M,KAAKs4C,GAAKA,IAEVt4C,KAAK4L,EAAI,EACT5L,KAAK6L,EAAI,EACT7L,KAAKiyB,EAAI,EACTjyB,KAAKmb,EAAI,EACTnb,KAAK8M,EAAI,EACT9M,KAAKs4C,EAAI,IAGjB,SAAW4yD,GA4MP,SAASC,EAAKv/F,GACV,OAAOA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAElC,SAASw/F,EAAUx/F,GACf,IAAIy/F,EAAM3P,EAAKd,KAAKuQ,EAAKv/F,IACzBA,EAAE,KAAOA,EAAE,IAAMy/F,GACjBz/F,EAAE,KAAOA,EAAE,IAAMy/F,GAnMrBH,EAAY7pD,IAAM,SAAUz1C,EAAGC,EAAGomB,EAAG9W,EAAGrO,EAAGwrC,GACvC,GAAI1sC,GAAKA,aAAa82F,EAClB,OAAO1iG,KAAKqhD,IAAIz1C,EAAEA,EAAGA,EAAEC,EAAGD,EAAEqmB,EAAGrmB,EAAEuP,EAAGvP,EAAEkB,EAAGlB,EAAE0sC,GAE/C,IAAIgzD,EAAO1/F,EAAI5L,KAAK4L,EAAIC,EAAI7L,KAAKiyB,EAC7Bs5E,EAAO3/F,EAAI5L,KAAK6L,EAAIA,EAAI7L,KAAKmb,EAQjC,OAPAnb,KAAK8M,GAAKA,EAAI9M,KAAK4L,EAAI0sC,EAAIt4C,KAAKiyB,EAChCjyB,KAAKs4C,GAAKxrC,EAAI9M,KAAK6L,EAAIysC,EAAIt4C,KAAKmb,EAChCnb,KAAKiyB,EAAIA,EAAIjyB,KAAK4L,EAAIuP,EAAInb,KAAKiyB,EAC/BjyB,KAAKmb,EAAI8W,EAAIjyB,KAAK6L,EAAIsP,EAAInb,KAAKmb,EAE/Bnb,KAAK4L,EAAI0/F,EACTtrG,KAAK6L,EAAI0/F,EACFvrG,MAgBX0iG,EAAO9iG,UAAU4rG,SAAW,SAAU5/F,EAAGC,EAAGomB,EAAG9W,EAAGrO,EAAGwrC,GACjD,GAAI1sC,GAAKA,aAAa82F,EAClB,OAAO1iG,KAAKwrG,SAAS5/F,EAAEA,EAAGA,EAAEC,EAAGD,EAAEqmB,EAAGrmB,EAAEuP,EAAGvP,EAAEkB,EAAGlB,EAAE0sC,GAEpD,IAAIgzD,EAAO1/F,EAAI5L,KAAK4L,EAAIqmB,EAAIjyB,KAAK6L,EAC7B4/F,EAAO7/F,EAAI5L,KAAKiyB,EAAIA,EAAIjyB,KAAKmb,EAC7BuwF,EAAO9/F,EAAI5L,KAAK8M,EAAImlB,EAAIjyB,KAAKs4C,EAAIxrC,EAQrC,OAPA9M,KAAK6L,EAAIA,EAAI7L,KAAK4L,EAAIuP,EAAInb,KAAK6L,EAC/B7L,KAAKmb,EAAItP,EAAI7L,KAAKiyB,EAAI9W,EAAInb,KAAKmb,EAC/Bnb,KAAKs4C,EAAIzsC,EAAI7L,KAAK8M,EAAIqO,EAAInb,KAAKs4C,EAAIA,EAEnCt4C,KAAK4L,EAAI0/F,EACTtrG,KAAKiyB,EAAIw5E,EACTzrG,KAAK8M,EAAI4+F,EACF1rG,MASXkrG,EAAYnI,OAAS,WACjB,IAAI/0B,EAAKhuE,KACL8lB,EAAIkoD,EAAGpiE,EAAIoiE,EAAG7yD,EAAI6yD,EAAGniE,EAAImiE,EAAG/7C,EAChC,OAAO,IAAIywE,EAAO10B,EAAG7yD,EAAI2K,GAAIkoD,EAAGniE,EAAIia,GAAIkoD,EAAG/7C,EAAInM,EAAGkoD,EAAGpiE,EAAIka,GAAIkoD,EAAG/7C,EAAI+7C,EAAG11B,EAAI01B,EAAG7yD,EAAI6yD,EAAGlhE,GAAKgZ,GAAIkoD,EAAGniE,EAAImiE,EAAGlhE,EAAIkhE,EAAGpiE,EAAIoiE,EAAG11B,GAAKxyB,IAS/HolF,EAAYrN,MAAQ,WAChB,OAAO,IAAI6E,EAAO1iG,KAAK4L,EAAG5L,KAAK6L,EAAG7L,KAAKiyB,EAAGjyB,KAAKmb,EAAGnb,KAAK8M,EAAG9M,KAAKs4C,IAUnE4yD,EAAYlI,UAAY,SAAUl9E,EAAGC,GAGjC,OAFA/lB,KAAK8M,GAAKgZ,EAAI9lB,KAAK4L,EAAIma,EAAI/lB,KAAKiyB,EAChCjyB,KAAKs4C,GAAKxyB,EAAI9lB,KAAK6L,EAAIka,EAAI/lB,KAAKmb,EACzBnb,MAaXkrG,EAAYhI,MAAQ,SAAUp9E,EAAGC,EAAG4I,EAAI07E,GAQpC,OAPK,MAALtkF,IAAcA,EAAID,IACjB6I,GAAM07E,IAAOrqG,KAAKgjG,UAAUr0E,EAAI07E,GACjCrqG,KAAK4L,GAAKka,EACV9lB,KAAK6L,GAAKia,EACV9lB,KAAKiyB,GAAKlM,EACV/lB,KAAKmb,GAAK4K,GACT4I,GAAM07E,IAAOrqG,KAAKgjG,WAAWr0E,GAAK07E,GAC5BrqG,MAWXkrG,EAAYjI,OAAS,SAAUr3F,EAAGka,EAAGC,GACjCna,EAAIwkD,EAAKgtC,IAAIxxF,GACbka,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT,IAAIi4E,GAAOtC,EAAKsC,IAAIpyF,GAAGw1F,QAAQ,GAC3BrG,GAAOW,EAAKX,IAAInvF,GAAGw1F,QAAQ,GAE/B,OADAphG,KAAKqhD,IAAI28C,EAAKjD,GAAMA,EAAKiD,EAAKl4E,EAAGC,GAC1B/lB,KAAKqhD,IAAI,EAAG,EAAG,EAAG,GAAIv7B,GAAIC,IASrCmlF,EAAYS,MAAQ,SAAU7lF,GAC1B,OAAO9lB,KAAK4rG,KAAK9lF,EAAG,IASxBolF,EAAYW,MAAQ,SAAU9lF,GAC1B,OAAO/lB,KAAK4rG,KAAK,EAAG7lF,IAUxBmlF,EAAYU,KAAO,SAAU9lF,EAAGC,GAC5BD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTD,EAAIsqC,EAAKgtC,IAAIt3E,GACbC,EAAIqqC,EAAKgtC,IAAIr3E,GACb,IAAIkM,EAAIypE,EAAKqC,IAAIj4E,GAAGs7E,QAAQ,GACxBv1F,EAAI6vF,EAAKqC,IAAIh4E,GAAGq7E,QAAQ,GAC5B,OAAOphG,KAAKqhD,IAAI,EAAGx1C,EAAGomB,EAAG,EAAG,EAAG,IAWnCi5E,EAAYplF,EAAI,SAAUA,EAAGC,GACzB,OAAOD,EAAI9lB,KAAK4L,EAAIma,EAAI/lB,KAAKiyB,EAAIjyB,KAAK8M,GAW1Co+F,EAAYnlF,EAAI,SAAUD,EAAGC,GACzB,OAAOD,EAAI9lB,KAAK6L,EAAIka,EAAI/lB,KAAKmb,EAAInb,KAAKs4C,GAE1C4yD,EAAYtkF,IAAM,SAAUrnB,GACxB,OAAQS,KAAKu7F,EAAIj5E,aAAa,GAAK/iB,IAAI6hG,QAAQ,IAEnD8J,EAAYr7F,SAAW,WACnB,MAAO,UAAY,CAAC7P,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,IAAIrb,OAAS,KAE/G2/F,EAAYlmF,OAAS,WACjB,MAAO,CAAChlB,KAAK8M,EAAEs0F,QAAQ,GAAIphG,KAAKs4C,EAAE8oD,QAAQ,KAiB9C8J,EAAYY,YAAc,WACtB,OAAO9rG,KAAK4L,EAAI5L,KAAKmb,EAAInb,KAAK6L,EAAI7L,KAAKiyB,GAgB3Ci5E,EAAYpgG,MAAQ,WAChB,IAAIs3B,EAAM,GAEVA,EAAI28D,GAAK/+F,KAAK8M,EACds1B,EAAI48D,GAAKh/F,KAAKs4C,EAGd,IAAIyzD,EAAM,CAAC,CAAC/rG,KAAK4L,EAAG5L,KAAK6L,GAAI,CAAC7L,KAAKiyB,EAAGjyB,KAAKmb,IAC3CinB,EAAI4pE,OAAStQ,EAAKd,KAAKuQ,EAAKY,EAAI,KAChCX,EAAUW,EAAI,IAEd3pE,EAAI6pE,MAAQF,EAAI,GAAG,GAAKA,EAAI,GAAG,GAAKA,EAAI,GAAG,GAAKA,EAAI,GAAG,GACvDA,EAAI,GAAK,CAACA,EAAI,GAAG,GAAKA,EAAI,GAAG,GAAK3pE,EAAI6pE,MAAOF,EAAI,GAAG,GAAKA,EAAI,GAAG,GAAK3pE,EAAI6pE,OAEzE7pE,EAAI8pE,OAASxQ,EAAKd,KAAKuQ,EAAKY,EAAI,KAChCX,EAAUW,EAAI,IACd3pE,EAAI6pE,OAAS7pE,EAAI8pE,OAEblsG,KAAK8rG,cAAgB,IACrB1pE,EAAI4pE,QAAU5pE,EAAI4pE,QAItB,IAAIjR,EAAMgR,EAAI,GAAG,GACb/N,EAAM+N,EAAI,GAAG,GAajB,OAZI/N,EAAM,GACN57D,EAAI6gE,OAAS7yC,EAAKitC,IAAI3B,EAAKyC,KAAKH,IAC5BjD,EAAM,IACN34D,EAAI6gE,OAAS,IAAM7gE,EAAI6gE,SAG3B7gE,EAAI6gE,OAAS7yC,EAAKitC,IAAI3B,EAAKuC,KAAKlD,IAGpC34D,EAAI+pE,WAAa/pE,EAAI6pE,MAAM7K,QAAQ,KAAOh/D,EAAI4pE,OAAO5K,QAAQ,IAAMh/D,EAAI8pE,OAAO9K,QAAQ,KAAOh/D,EAAI6gE,QACjG7gE,EAAIgqE,gBAAkBhqE,EAAI6pE,MAAM7K,QAAQ,IAAMh/D,EAAI4pE,OAAO5K,QAAQ,IAAMh/D,EAAI8pE,OAAO9K,QAAQ,KAAOh/D,EAAI6gE,OACrG7gE,EAAIiqE,aAAejqE,EAAI6pE,MAAM7K,QAAQ,KAAOh/D,EAAI6gE,OACzC7gE,GASX8oE,EAAYzC,kBAAoB,SAAU6D,GACtC,IAAIj0D,EAAIi0D,GAAWtsG,KAAK8K,QACxB,OAAMutC,EAAE4zD,MAAM7K,QAAQ,GAQX,IAAM,CAACphG,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,GAAI5mB,KAAK4mB,IAAI,KAPxFyxB,EAAE2zD,QAAU3zD,EAAE2zD,OAAO5K,QAAQ,GAC7B/oD,EAAE6zD,QAAU7zD,EAAE6zD,OAAO9K,QAAQ,GAC7B/oD,EAAE4qD,QAAU5qD,EAAE4qD,OAAO7B,QAAQ,IACpB/oD,EAAE0mD,IAAM1mD,EAAE2mD,GAAK,IAAM,EAAE3mD,EAAE0mD,GAAGqC,QAAQ,IAAK/oD,EAAE2mD,GAAGoC,QAAQ,IA3TnE,KA4Ta/oD,EAAE4qD,OAAS,IAAM,EAAE5qD,EAAE4qD,OAAO7B,QAAQ,GAAI,EAAG,GA5TxD,KA6TyB,GAAZ/oD,EAAE2zD,QAA2B,GAAZ3zD,EAAE6zD,OAAc,IAAM,CAAC7zD,EAAE2zD,OAAQ3zD,EAAE6zD,OAAQ,EAAG,GA7T5E,MA2BR,CAuSGxJ,EAAO9iG,WAQVwwD,EAAKsyC,OAASA,EAkBdtyC,EAAK43C,OAAS,SAAUp8F,EAAGC,EAAGomB,EAAG9W,EAAGrO,EAAGwrC,GACnC,OAAO,IAAIoqD,EAAO92F,EAAGC,EAAGomB,EAAG9W,EAAGrO,EAAGwrC,OAiBzC8X,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IA8CWgrE,EA7CPpI,EAAO/zC,EAAKirC,EAAE8I,KACd/S,EAAOhhC,EAAKirC,EAAEjK,KACd70B,EAAKnM,EAAKmM,GACVkoC,EAAcr0C,EAAKirC,EAAEoJ,YACrB+H,EAAa,4BACb7P,EAAIvsC,EAAKirC,EAAEsB,EACX8P,EAAMr8C,EAAKprD,IACXu2F,EAAMl5E,OACN45E,EAAY7rC,EAAKirC,EAAEY,UAqEvB,SAASyQ,EAAW/nG,GAChB,OAAO,SAAU1D,GAUb,GATA83F,IAAI/D,OACA/zF,aAAiBsgC,GAA4C,GAAhCtgC,EAAMsiB,KAAKsgF,WAAWpkG,SACjB,kBAAjCwB,EAAMsiB,KAAKlD,WAAW8vB,SACU,kBAAjClvC,EAAMsiB,KAAKlD,WAAW8vB,SACW,WAAjClvC,EAAMsiB,KAAKlD,WAAW8vB,WACtBlvC,EAAQA,EAAMsiB,KAAKlD,WACnBokF,EAAYzkG,MAAMihB,YAAYhgB,GAC9BA,EAAQmwF,EAAKnwF,IAEbA,aAAiBwuF,EACjB,GAAkB,kBAAdxuF,EAAM8c,MAA0C,kBAAd9c,EAAM8c,MACxB,WAAd9c,EAAM8c,KAAmB,CACtB9c,EAAMsiB,KAAKnM,IACZulF,EAAE17F,EAAMsiB,KAAM,CACVnM,GAAInW,EAAMmW,KAGlB,IAAIksF,EAAOmJ,EAAIxrG,EAAMsiB,KAAKnM,SAE1BksF,EAAOriG,EAAMwY,KAAK9U,QAItB,IADA2+F,EAAOlzC,EAAKr5B,MAAM91B,IACTiI,MAAO,CACZ,IAAIyjG,EAAOv8C,EAAKq0C,EAAYzkG,MAAM2jG,iBAAiBiJ,SAAS3rG,GACxD0rG,GACKA,EAAKppF,KAAKnM,IACXulF,EAAEgQ,EAAKppF,KAAM,CACTnM,GAAIu1F,EAAKv1F,KAGjBksF,EAAOmJ,EAAIE,EAAKppF,KAAKnM,KAErBksF,EAAOriG,OAGXqiG,EAAO/H,EAAI+H,GAGnB,IAAIuJ,EAAQ,GACZA,EAAMloG,GAAQ2+F,EACd3G,EAAE38F,KAAKujB,KAAMspF,GACb7sG,KAAKujB,KAAKrf,MAAMS,GAhHhB,IASRyrD,EAAK08C,MAAQ,SAAU7rG,GACnB,IAAIotD,EAAMhsC,OAAOphB,GAAOqD,MAAMkoG,GAC9B,OAAOn+C,EAAMA,EAAI,GAAKptD,GAG1B83F,IAAIjsC,GAAG,uBAAuB,SAAU7rD,GACpC,GAAIA,aAAiBwuF,GAAWxuF,aAAiBsgC,EAAU,CAOvD,GANAw3D,IAAI/D,OACA/zF,aAAiBsgC,GAA4C,GAAhCtgC,EAAMsiB,KAAKsgF,WAAWpkG,SACnDwB,EAAQA,EAAMsiB,KAAKlD,WACnBokF,EAAYzkG,MAAMihB,YAAYhgB,GAC9BA,EAAQmwF,EAAKnwF,IAEC,QAAdA,EAAM8c,KACN,IAAIkmF,EAAOhjG,OAEXgjG,EAAOE,EAAK,OAAQM,EAAYzkG,QAC3BujB,KAAKtC,YAAYhgB,EAAMsiB,OAE/B0gF,EAAK1gF,KAAKnM,IAAMulF,EAAEsH,EAAK1gF,KAAM,CAC1BnM,GAAI6sF,EAAK7sF,KAEbulF,EAAE38F,KAAKujB,KAAM,CACT0gF,KAAMwI,EAAIxI,EAAK7sF,UAIhBm1F,EAIT,SAAUtrG,GACR,GAAIA,aAAiBwuF,GAAWxuF,aAAiBsgC,EAAU,CACvDw3D,IAAI/D,OAGJ,IAFA,IAAI+X,EACAxpF,EAAOtiB,EAAMsiB,KACVA,GAAM,CACT,GAAsB,aAAlBA,EAAKi1C,SAAyB,CAC9Bu0C,EAAO,IAAItd,EAAQlsE,GACnB,MAEJ,GAAsB,QAAlBA,EAAKi1C,SAAoB,CACzBu0C,OAAOpsG,EACP,MAEJ4iB,EAAOA,EAAK3B,WAEXmrF,KACDA,EAAO5I,EAAK,WAAYM,EAAYzkG,QAC/BujB,KAAKtC,YAAYhgB,EAAMsiB,OAC3BwpF,EAAKxpF,KAAKnM,IAAMulF,EAAEoQ,EAAKxpF,KAAM,CAC1BnM,GAAI21F,EAAK31F,MAGjBulF,EAAE38F,KAAKujB,KAAM,CACT,YAAakpF,EAAIM,EAAKxpF,KAAKnM,IAAM21F,EAAK31F,QA3B9C2hF,IAAIjsC,GAAG,sBAAuBy/C,GAC9BxT,IAAIjsC,GAAG,2BAA4By/C,GACnCxT,IAAIjsC,GAAG,0BAA2By/C,GA4EtCxT,IAAIjsC,GAAG,sBAAuB4/C,EAAW,SACzC3T,IAAIjsC,GAAG,wBAAyB4/C,EAAW,WAC3C,IAAIM,EAAS,gCAmLb,SAASC,EAAYhsG,GACjB83F,IAAI/D,OACA/zF,IAAUA,IACVA,GAAS,MAEbjB,KAAKujB,KAAKrf,MAAM02B,SAAW35B,EAgE/B,SAASisG,EAAY3pF,GAGjB,IAFA,IAAI6e,EAAM,GACNzgC,EAAW4hB,EAAKsgF,WACXtkG,EAAI,EAAG0gF,EAAKt+E,EAASlC,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAC/C,IAAI4tG,EAAMxrG,EAASpC,GACC,GAAhB4tG,EAAIryC,UACJ14B,EAAIphC,KAAKmsG,EAAIpyC,WAEE,SAAfoyC,EAAIh9D,UACyB,GAAzBg9D,EAAItJ,WAAWpkG,QAA0C,GAA3B0tG,EAAI9sF,WAAWy6C,SAC7C14B,EAAIphC,KAAKmsG,EAAI9sF,WAAW06C,WAExB34B,EAAIphC,KAAKksG,EAAYC,KAIjC,OAAO/qE,EAuDX,SAASgrE,IAEL,OADArU,IAAI/D,OACGh1F,KAAKujB,KAAKrf,MAAM02B,SAhU3Bm+D,IAAIjsC,GAAG,wBAAwB,SAAmB9wC,GAE9C,IAAIsyC,GADJtyC,EAASu/E,EAAIv/E,IACO1X,MAAM0oG,GAC1B,IAAK1+C,EACD,OAAO,KAEX,IAAIvwC,EAAOuwC,EAAO,GACdrpD,EAASqpD,EAAO,GAChB++C,EAAQ/+C,EAAO,GAIE,IAHrBrpD,EAASA,EAAO6F,MAAM,WAAWoJ,KAAI,SAAU0C,GAC3C,OAAQA,GAAMA,GAAMA,EAAKA,MAElBnX,QAA4B,GAAbwF,EAAO,KAC7BA,EAAS,IAab,IAAIsa,GAVJ8tF,GADAA,EAAQA,EAAMviG,MAAM,MACNoJ,KAAI,SAAU0C,GAExB,IAAIwrB,EAAM,CACNrL,OAFJngB,EAAKA,EAAG9L,MAAM,MAEA,IAKd,OAHI8L,EAAG,KACHwrB,EAAIpd,OAASm7B,WAAWvpC,EAAG,KAExBwrB,MAEK3iC,OACZ2yB,EAAQ,EACRvM,EAAI,EACR,SAASynF,EAAK/tG,EAAGgH,GAEb,IADA,IAAIkyC,GAAQlyC,EAAM6rB,IAAU7yB,EAAIsmB,GACvBtb,EAAIsb,EAAGtb,EAAIhL,EAAGgL,IACnB8iG,EAAM9iG,GAAGya,UAAYoN,EAAQqmB,GAAQluC,EAAIsb,IAAIu7E,QAAQ,GAEzDv7E,EAAItmB,EACJ6yB,EAAQ7rB,EAEZgZ,IACA,IAAK,IAAIhgB,EAAI,EAAGA,EAAIggB,EAAKhgB,IAAS,WAAY8tG,EAAM9tG,IAChD+tG,EAAK/tG,EAAG8tG,EAAM9tG,GAAGylB,QAIrB,OAFAqoF,EAAM9tF,GAAKyF,OAASqoF,EAAM9tF,GAAKyF,QAAU,IACzCsoF,EAAK/tF,EAAK8tF,EAAM9tF,GAAKyF,QACd,CACHjH,KAAMA,EACN9Y,OAAQA,EACRooG,MAAOA,MAIftU,IAAIjsC,GAAG,oBAAoB,SAAU7rD,GACjC83F,IAAI/D,OACAz4B,EAAGt7D,EAAO,UAAYs7D,EAAGt7D,EAAM,GAAI,WACnCA,EAAQmvD,EAAKhsD,KAAKyL,SAAS/P,KAAKmB,KAEpCA,EAAQs6F,EAAIt6F,IACFqD,MAAM,YACZrD,EAAQmvD,EAAKhsD,KAAKmpG,WAAWtsG,IAEjC07F,EAAE38F,KAAKujB,KAAM,CAACpI,EAAGla,MATrB83F,EAUI,GACJA,IAAIjsC,GAAG,wBAAwB,SAAU7rD,GACrC83F,IAAI/D,OACJ/zF,EAAQs6F,EAAIt6F,GAEZ,IADA,IAAIusG,EAAMtS,EAAKC,IAAIj6E,eAAejgB,GAC3BjB,KAAKujB,KAAKlD,YACbrgB,KAAKujB,KAAK1B,YAAY7hB,KAAKujB,KAAKlD,YAEpCrgB,KAAKujB,KAAKtC,YAAYusF,KAP1BzU,EAQI,GACJA,IAAIjsC,GAAG,uBAAuB,SAAU7rD,GACpC83F,IAAI/D,OACJh1F,KAAKyZ,KAAK,CAAC0B,EAAGla,MAFlB83F,EAGI,GACJA,IAAIjsC,GAAG,wBAAwB,SAAU7rD,GACrC83F,IAAI/D,OACJh1F,KAAKujB,KAAK7f,UAAU+pG,QAAUxsG,IAFlC83F,EAGI,GACJA,IAAIjsC,GAAG,0BAA0B,SAAU7rD,GACvC,IAAIo7D,EAEAA,EADAE,EAAGt7D,EAAO,WAAa,MAAOA,EACzB,CAACA,EAAM6kB,EAAG7kB,EAAM8kB,EAAG9kB,EAAMwV,MAAOxV,EAAM+Z,QAAQzP,KAAK,KACjDgxD,EAAGt7D,EAAO,SACZA,EAAMsK,KAAK,KAEXtK,EAET07F,EAAE38F,KAAKujB,KAAM,CACTtI,QAASohD,IAEb08B,IAAI/D,SAZR+D,EAaI,GACJA,IAAIjsC,GAAG,4BAA4B,SAAU7rD,GACzCjB,KAAK0iC,UAAUzhC,GACf83F,IAAI/D,SAFR+D,EAGI,GACJA,IAAIjsC,GAAG,oBAAoB,SAAU7rD,GAChB,QAAbjB,KAAK+d,OACLg7E,IAAI/D,OACJ2H,EAAE38F,KAAKujB,KAAM,CACTmqF,GAAIzsG,EACJ0sG,GAAI1sG,OALhB83F,EAQI,GACJA,IAAIjsC,GAAG,2BAA2B,SAAU7rD,GAExC,GADA83F,IAAI/D,OACa,QAAbh1F,KAAK+d,KAAgB,CACrB,IAAI3G,EAAIw2F,EAAIrqF,EACZ,IAAKtiB,GAASjB,KAAK6tG,SAAU,CAEzB,IADAD,EAAK5tG,KAAK6tG,SACHD,EAAGrqF,KAAKlD,YACXrgB,KAAKujB,KAAKtC,YAAY2sF,EAAGrqF,KAAKlD,YAIlC,OAFAutF,EAAG1E,qBACIlpG,KAAK6tG,SAGhB,GAAItxC,EAAGt7D,EAAO,UAAW,CACrB,IAAImjG,EAAOK,EAAYzkG,MACnBoE,EAAOgtF,EAAKgT,EAAKxiF,YAAYxd,KAAKnD,GACtCmjG,EAAKnjF,YAAY7c,EAAKmf,MACtBnM,EAAKhT,EAAKgT,GACVhT,EAAKqV,KAAK,CAACrC,GAAIA,SAEfnW,EAAQmwF,EAAKnwF,cACQwuF,KACjBr4E,EAAKnW,EAAMwY,KAAK,SAEZrC,EAAKnW,EAAMmW,GACXnW,EAAMwY,KAAK,CAACrC,GAAIA,MAI5B,GAAIA,EAGA,GAFAw2F,EAAK5tG,KAAK6tG,SACVtqF,EAAOvjB,KAAKujB,KACRqqF,EACAA,EAAGn0F,KAAK,CAAC,aAAc,IAAMrC,QAC1B,CAIH,IAHAw2F,EAAKjR,EAAE,WAAY,CACf,aAAc,IAAMvlF,IAEjBmM,EAAKlD,YACRutF,EAAG3sF,YAAYsC,EAAKlD,YAExBkD,EAAKtC,YAAY2sF,GACjB5tG,KAAK6tG,SAAWzc,EAAKwc,OA1CrC7U,EA8CI,GACJA,IAAIjsC,GAAG,uBAAuB,SAAU7rD,GACpC,GAAiB,QAAbjB,KAAK+d,KAAgB,CAerB,IAdA,IACIwF,EAAOvjB,KAAKujB,KAaTA,EAAKlD,YACRkD,EAAK1B,YAAY0B,EAAKlD,YAG1B,IADA,IAAIytF,EAfQ,SAARC,EAAkBC,GACd,IAAI5rE,EAAMu6D,EAAE,SACZ,GAAIpgC,EAAGyxC,EAAO,SACV,IAAK,IAAIzuG,EAAI,EAAGA,EAAIyuG,EAAMvuG,OAAQF,IAC9B6iC,EAAInhB,YAAY8sF,EAAMC,EAAMzuG,UAGhC6iC,EAAInhB,YAAYi6E,EAAKC,IAAIj6E,eAAe8sF,IAG5C,OADA5rE,EAAIgpE,WAAahpE,EAAIgpE,YACdhpE,EAKH2rE,CAAM9sG,GACX6sG,EAAMztF,YACTkD,EAAKtC,YAAY6sF,EAAMztF,YAG/B04E,IAAI/D,SAxBR+D,EAyBI,GAQJA,IAAIjsC,GAAG,0BAA2BmgD,EAAlClU,EAAgD,GAChDA,IAAIjsC,GAAG,2BAA4BmgD,EAAnClU,EAAiD,GAGjDA,IAAIjsC,GAAG,+BAA+B,WAElC,OADAisC,IAAI/D,OACGh1F,KAAK0iC,cAFhBq2D,EAGI,GACJA,IAAIjsC,GAAG,8BAA8B,WAEjC,OADAisC,IAAI/D,OACGh1F,KAAK6tG,WAFhB9U,EAGI,GAEH,WACG,SAASrB,EAAOnxF,GACZ,OAAO,WACHwyF,IAAI/D,OACJ,IAAI9wF,EAAQg3F,EAAKC,IAAIxqB,YAAYl9C,iBAAiBzzB,KAAKujB,KAAM,MAAM+9E,iBAAiB,UAAY/6F,GAChG,MAAa,QAATrC,EACOA,EAEAksD,EAAK8qC,EAAKC,IAAI3jF,eAAetT,EAAMI,MAAMkoG,GAAY,MAIxE,SAASyB,EAAO1nG,GACZ,OAAO,SAAUtF,GACb83F,IAAI/D,OACJ,IAAIrwF,EAAO,SAAW4B,EAAI4D,OAAO,GAAG4M,cAAgBxQ,EAAIgM,UAAU,GAClE,GAAa,IAATtR,GAAgBA,GAIpB,GAAkB,UAAdA,EAAM8c,KAAkB,CACxB,IAAI3G,EAAKnW,EAAMsiB,KAAKnM,GAKpB,OAJKA,GACDulF,EAAE17F,EAAMsiB,KAAM,CAACnM,GAAInW,EAAMmW,UAE7BpX,KAAKujB,KAAKrf,MAAMS,GAAQ8nG,EAAIr1F,UAR5BpX,KAAKujB,KAAKrf,MAAMS,GAAQ,QAapCo0F,IAAIjsC,GAAG,+BAAgC4qC,EAAO,OAA9CqB,EAAuD,GACvDA,IAAIjsC,GAAG,8BAA+B4qC,EAAO,OAA7CqB,EAAsD,GACtDA,IAAIjsC,GAAG,iCAAkC4qC,EAAO,SAAhDqB,EAA2D,GAC3DA,IAAIjsC,GAAG,gCAAiC4qC,EAAO,SAA/CqB,EAA0D,GAC1DA,IAAIjsC,GAAG,+BAAgC4qC,EAAO,OAA9CqB,EAAuD,GACvDA,IAAIjsC,GAAG,8BAA+B4qC,EAAO,OAA7CqB,EAAsD,GACtDA,IAAIjsC,GAAG,4BAA6BmhD,EAAO,OAA3ClV,EAAoD,GACpDA,IAAIjsC,GAAG,2BAA4BmhD,EAAO,OAA1ClV,EAAmD,GACnDA,IAAIjsC,GAAG,8BAA+BmhD,EAAO,SAA7ClV,EAAwD,GACxDA,IAAIjsC,GAAG,6BAA8BmhD,EAAO,SAA5ClV,EAAuD,GACvDA,IAAIjsC,GAAG,4BAA6BmhD,EAAO,OAA3ClV,EAAoD,GACpDA,IAAIjsC,GAAG,2BAA4BmhD,EAAO,OAA1ClV,EAAmD,GAzCtD,GA2CDA,IAAIjsC,GAAG,uBAAuB,WAC1B,GAAiB,QAAb9sD,KAAK+d,MAAkB4+E,EAAE38F,KAAKujB,KAAM,OAASo5E,EAAE38F,KAAKujB,KAAM,MAE1D,OADAw1E,IAAI/D,OACG2H,EAAE38F,KAAKujB,KAAM,QAH5Bw1E,EAKI,GAmBJA,IAAIjsC,GAAG,0BAA0B,WAC7B,GAAiB,QAAb9sD,KAAK+d,MAA+B,SAAb/d,KAAK+d,KAAiB,CAC7Cg7E,IAAI/D,OACJ,IAAI5yD,EAAM8qE,EAAYltG,KAAKujB,MAC3B,OAAqB,GAAd6e,EAAI3iC,OAAc2iC,EAAI,GAAKA,KAJ1C22D,EAMI,GACJA,IAAIjsC,GAAG,2BAA2B,WAC9B,OAAO9sD,KAAKujB,KAAK22C,cADrB6+B,EAEI,GACJA,IAAIjsC,GAAG,0BAA0B,SAAUohD,GACvC,IAAIA,EAAJ,CAGAnV,IAAI/D,OACJ,IAAI/zF,EAAQ83F,IAAI,yBAA0B/4F,MAAM,GAAM+kG,eACtD,OAAO30C,EAAKA,EAAK08C,MAAM7rG,KAAWA,KANtC83F,EAOI,GACJA,IAAIjsC,GAAG,4BAA4B,SAAUohD,GACzC,IAAIA,EAAJ,CAGAnV,IAAI/D,OACJ,IAAI/zF,EAAQ83F,IAAI,2BAA4B/4F,MAAM,GAAM+kG,eACxD,OAAO30C,EAAKA,EAAK08C,MAAM7rG,KAAWA,KANtC83F,EAOI,GACJA,IAAIjsC,GAAG,6BAA6B,WAChCisC,IAAI/D,OACJ,IAAI34B,EAAKsgC,EAAE38F,KAAKujB,KAAM,WACtB,OAAI84C,GACAA,EAAKA,EAAGvxD,MAAMmxF,GACP7rC,EAAKirC,EAAEqL,KAAKrqC,EAAG,IAAKA,EAAG,IAAKA,EAAG,IAAKA,EAAG,UAE9C,IAPR08B,EASI,GACJA,IAAIjsC,GAAG,4BAA4B,WAC/B,IAAIptC,EAAIi9E,EAAE38F,KAAKujB,KAAM,UAErB,OADAw1E,IAAI/D,OACAt1E,EACOA,EAAE5U,MAAMmxF,QAEf,IANRlD,EAQI,GACJA,IAAIjsC,GAAG,0BAA0B,WAC7B,IAAIptC,EAAIi9E,EAAE38F,KAAKujB,KAAM,KAErB,OADAw1E,IAAI/D,OACGt1E,IAHXq5E,EAII,GACJA,IAAIjsC,GAAG,2BAA2B,WAC9B,OAAO9sD,KAAKujB,KAAK7f,UAAU+pG,UAD/B1U,EAEI,GAKJA,IAAIjsC,GAAG,6BAA8BsgD,EAArCrU,EAAmD,GACnDA,IAAIjsC,GAAG,8BAA+BsgD,EAAtCrU,EAAoD,MAgBxD3oC,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAI4sE,EAAa,OAGb5S,EAAMl5E,OACNglF,EAAU5X,EAAQ7vF,UAUtBynG,EAAQ+G,SAAW,SAAUntG,GACzB,IAII4kB,EAEAwoF,EACAC,EAPAC,EAAUhT,EAAIt6F,GAAS,IAAIqD,MAAM6pG,IAAe,GAChD1H,EAAOzmG,KAAKujB,KACZ7f,EAAY+iG,EAAK/iG,UAAU+pG,QAC3Be,EAAa9qG,EAAUY,MAAM6pG,IAAe,GAMhD,GAAII,EAAQ9uG,OAAQ,CAEhB,IADAomB,EAAI,EACGwoF,EAAQE,EAAQ1oF,OACb2oF,EAAWpiG,QAAQiiG,IAErBG,EAAWxtG,KAAKqtG,GAKpB3qG,IADJ4qG,EAAaE,EAAWjjG,KAAK,QAEzBk7F,EAAK/iG,UAAU+pG,QAAUa,GAGjC,OAAOtuG,MAWXqnG,EAAQoH,YAAc,SAAUxtG,GAC5B,IAII4kB,EACA6oF,EACAL,EACAC,EAPAC,EAAUhT,EAAIt6F,GAAS,IAAIqD,MAAM6pG,IAAe,GAChD1H,EAAOzmG,KAAKujB,KACZ7f,EAAY+iG,EAAK/iG,UAAU+pG,QAC3Be,EAAa9qG,EAAUY,MAAM6pG,IAAe,GAKhD,GAAIK,EAAW/uG,OAAQ,CAEnB,IADAomB,EAAI,EACGwoF,EAAQE,EAAQ1oF,QACnB6oF,EAAMF,EAAWpiG,QAAQiiG,KAErBG,EAAWl6F,OAAOo6F,EAAK,GAK3BhrG,IADJ4qG,EAAaE,EAAWjjG,KAAK,QAEzBk7F,EAAK/iG,UAAU+pG,QAAUa,GAGjC,OAAOtuG,MAWXqnG,EAAQsH,SAAW,SAAU1tG,GAIzB,UAHWjB,KAAKujB,KACK7f,UAAU+pG,QACJnpG,MAAM6pG,IAAe,IAC3B/hG,QAAQnL,IAajComG,EAAQuH,YAAc,SAAU3tG,EAAO4tG,GACnC,GAAY,MAARA,EACA,OAAIA,EACO7uG,KAAKouG,SAASntG,GAEdjB,KAAKyuG,YAAYxtG,GAGhC,IAII4kB,EACA6oF,EACAL,EACAC,EAPAC,GAAWttG,GAAS,IAAIqD,MAAM6pG,IAAe,GAC7C1H,EAAOzmG,KAAKujB,KACZ7f,EAAY+iG,EAAK/iG,UAAU+pG,QAC3Be,EAAa9qG,EAAUY,MAAM6pG,IAAe,GAMhD,IADAtoF,EAAI,EACGwoF,EAAQE,EAAQ1oF,QACnB6oF,EAAMF,EAAWpiG,QAAQiiG,IAErBG,EAAWl6F,OAAOo6F,EAAK,GAEvBF,EAAWxtG,KAAKqtG,GAQxB,OAHI3qG,IADJ4qG,EAAaE,EAAWjjG,KAAK,QAEzBk7F,EAAK/iG,UAAU+pG,QAAUa,GAEtBtuG,SAiBfowD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAIutE,EAAY,CACR,IAAK,SAAUhpF,EAAGC,GACV,OAAOD,EAAIC,GAEnB,IAAK,SAAUD,EAAGC,GACV,OAAOD,EAAIC,GAEnB,IAAK,SAAUD,EAAGC,GACV,OAAOD,EAAIC,GAEnB,IAAK,SAAUD,EAAGC,GACV,OAAOD,EAAIC,IAGvBw1E,EAAMl5E,OACN0sF,EAAS,WACTC,EAAU,uDACd,SAASC,EAAUx8E,GACf,OAAOA,EAEX,SAASy8E,EAAQC,GACb,OAAO,SAAU18E,GACb,OAAQA,EAAI2uE,QAAQ,GAAK+N,GAGjCpW,IAAIjsC,GAAG,kBAAkB,SAAUr6B,GAC/B,IAAI28E,EAAO7T,EAAI9oE,GAAKnuB,MAAM0qG,GAC1B,GAAII,EAAM,CACN,IAAIC,EAAOtW,IAAIwM,KACX5gG,EAAO0qG,EAAK98F,UAAU88F,EAAKp8F,YAAY,KAAO,GAC9CrH,EAAI5L,KAAKyZ,KAAK9U,GACd2qG,EAAM,GACVvW,IAAI/D,OACJ,IAAIma,EAAOC,EAAK,IAAM,GAClBG,EAAQ3jG,EAAEtH,MAAMyqG,GAChBS,EAAKV,EAAUM,EAAK,IAOxB,GANIG,GAASA,GAASJ,EAClB18E,EAAM+8E,EAAGrvD,WAAWv0C,IAAKwjG,EAAK,KAE9BxjG,EAAI5L,KAAKmpG,KAAKxkG,GACd8tB,EAAM+8E,EAAGxvG,KAAKmpG,KAAKxkG,GAAO3E,KAAKmpG,KAAKxkG,EAAMyqG,EAAK,GAAKD,KAEpDrxE,MAAMlyB,IAAMkyB,MAAMrL,GAClB,OAEJ68E,EAAI3qG,GAAQ8tB,EACZzyB,KAAKyZ,KAAK61F,MArBlBvW,EAuBI,IACJA,IAAIjsC,GAAG,mBAAmB,SAAUnoD,EAAMkH,GACtC,IAAUD,EAAI2vF,EAAIv7F,KAAKyZ,KAAK9U,IAAS,IAEjC8qG,EAAQlU,EAAI1vF,GAAGvH,MAAM0qG,GACzB,GAAIS,EAAO,CACP1W,IAAI/D,OACJ,IAAIma,EAAOM,EAAM,IAAM,GACnBF,EAAQ3jG,EAAEtH,MAAMyqG,GAChBS,EAAKV,EAAUW,EAAM,IACzB,OAAIF,GAASA,GAASJ,EACX,CACHxkG,KAAMw1C,WAAWv0C,GACjB9J,GAAI0tG,EAAGrvD,WAAWv0C,IAAK6jG,EAAM,IAC7Bn3D,EAAG42D,EAAQK,IAIR,CACH5kG,KAFJiB,EAAI5L,KAAKmpG,KAAKxkG,GAGV7C,GAAI0tG,EAAG5jG,EAAG5L,KAAKmpG,KAAKxkG,EAAM8qG,EAAM,GAAKN,IACrC72D,EAAG22D,MApBnBlW,EAwBI,OAgBR3oC,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAI8iE,EAAQjJ,EAAMx7F,UACd28D,EAAKnM,EAAKmM,GAqBd8nC,EAAMlsE,KAAO,SAAUrS,EAAGC,EAAG+M,EAAGlK,EAAG8kF,EAAIC,GACnC,IAAIl0F,EAkBJ,OAjBU,MAANk0F,IACAA,EAAKD,GAELnxC,EAAGz2C,EAAG,WAAkB,mBAALA,EACnBrM,EAAOqM,EACK,MAALA,IACPrM,EAAO,CACHqM,EAAGA,EACHC,EAAGA,EACHtP,MAAOqc,EACP9X,OAAQ4N,GAEF,MAAN8kF,IACAj0F,EAAKi0F,GAAKA,EACVj0F,EAAKk0F,GAAKA,IAGX3tG,KAAK4W,GAAG,OAAQ6C,IAgB3B4qF,EAAMqL,OAAS,SAAU/gF,EAAI07E,EAAIl5C,GAC7B,IAAI13C,EAUJ,OATI8iD,EAAG5tC,EAAI,WAAmB,mBAANA,EACpBlV,EAAOkV,EACM,MAANA,IACPlV,EAAO,CACHkV,GAAIA,EACJ07E,GAAIA,EACJl5C,EAAGA,IAGJnxD,KAAK4W,GAAG,SAAU6C,IAG7B,IAAIk2F,EAAW,WACX,SAASC,IACL5vG,KAAK4hB,WAAWC,YAAY7hB,MAEhC,OAAO,SAAU6vG,EAAKv3D,GAClB,IAAIwjB,EAAMo/B,EAAKC,IAAIjtF,cAAc,OAC7B8L,EAAOkhF,EAAKC,IAAInhF,KACpB8hD,EAAI53D,MAAM4rG,QAAU,6CACpBh0C,EAAIi0C,OAAS,WACTz3D,EAAEx4C,KAAKg8D,GACPA,EAAIi0C,OAASj0C,EAAI8zC,QAAU,KAC3B51F,EAAK6H,YAAYi6C,IAErBA,EAAI8zC,QAAUA,EACd51F,EAAKiH,YAAY66C,GACjBA,EAAI+zC,IAAMA,GAfH,GAqCfxL,EAAM2L,MAAQ,SAAUH,EAAK/pF,EAAGC,EAAGtP,EAAOuE,GACtC,IAAIpE,EAAK5W,KAAK4W,GAAG,SACjB,GAAI2lD,EAAGszC,EAAK,WAAa,QAASA,EAC9Bj5F,EAAG6C,KAAKo2F,QACL,GAAW,MAAPA,EAAa,CACpB,IAAIv4F,EAAM,CACN,aAAcu4F,EACd30F,oBAAqB,QAEhB,MAAL4K,GAAkB,MAALC,IACbzO,EAAIwO,EAAIA,EACRxO,EAAIyO,EAAIA,GAEC,MAATtP,GAA2B,MAAVuE,GACjB1D,EAAIb,MAAQA,EACZa,EAAI0D,OAASA,GAEb20F,EAAQE,GAAK,WACTz/C,EAAKirC,EAAEsB,EAAE/lF,EAAG2M,KAAM,CACd9M,MAAOzW,KAAKiwG,YACZj1F,OAAQhb,KAAKqjC,kBAIzB+sB,EAAKirC,EAAEsB,EAAE/lF,EAAG2M,KAAMjM,GAEtB,OAAOV,GAiBXytF,EAAM6L,QAAU,SAAUvhF,EAAI07E,EAAIqD,EAAIC,GAClC,IAAIl0F,EAWJ,OAVI8iD,EAAG5tC,EAAI,WAAmB,mBAANA,EACpBlV,EAAOkV,EACM,MAANA,IACPlV,EAAM,CACFkV,GAAIA,EACJ07E,GAAIA,EACJqD,GAAIA,EACJC,GAAIA,IAGL3tG,KAAK4W,GAAG,UAAW6C,IAiC9B4qF,EAAMjgG,KAAO,SAAU+W,GACnB,IAAI1B,EAMJ,OALI8iD,EAAGphD,EAAG,YAAcohD,EAAGphD,EAAG,SAC1B1B,EAAO0B,EACAA,IACP1B,EAAO,CAAC0B,EAAGA,IAERnb,KAAK4W,GAAG,OAAQ6C,IA2B3B4qF,EAAMjoE,MAAQioE,EAAM3xC,EAAI,SAAUx0B,GAC9B,IACItnB,EAAK5W,KAAK4W,GAAG,KAMjB,OALwB,GAApBpX,UAAUC,QAAey+B,IAAUA,EAAMngB,KACzCnH,EAAG6C,KAAKykB,GACD1+B,UAAUC,QACjBmX,EAAGyqC,IAAIlhD,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,IAE1CoX,GAmBXytF,EAAMjrF,IAAM,SAAU0M,EAAGC,EAAGtP,EAAOuE,EAAQm1F,EAAKC,EAAKC,EAAKC,GACtD,IAAIzD,EAAQ,GAoBZ,OAnBItwC,EAAGz2C,EAAG,WAAkB,MAALC,EACnB8mF,EAAQ/mF,GAEC,MAALA,IACA+mF,EAAM/mF,EAAIA,GAEL,MAALC,IACA8mF,EAAM9mF,EAAIA,GAED,MAATtP,IACAo2F,EAAMp2F,MAAQA,GAEJ,MAAVuE,IACA6xF,EAAM7xF,OAASA,GAER,MAAPm1F,GAAsB,MAAPC,GAAsB,MAAPC,GAAsB,MAAPC,IAC7CzD,EAAM5xF,QAAU,CAACk1F,EAAKC,EAAKC,EAAKC,KAGjCtwG,KAAK4W,GAAG,MAAOi2F,IAW1BxI,EAAMJ,KAAO,SAAU/lE,GACnB,IACItnB,EAAK5W,KAAK4W,GAAG,QAMjB,OALwB,GAApBpX,UAAUC,QAAey+B,IAAUA,EAAMngB,KACzCnH,EAAG6C,KAAKykB,GACD1+B,UAAUC,QACjBmX,EAAGyqC,IAAIlhD,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,IAE1CoX,GAmBXytF,EAAMkM,KAAO,SAAUzqF,EAAGC,EAAGtP,EAAOuE,EAAQw1F,EAAIC,EAAIC,EAAIv0B,GACpD,GAAI5f,EAAGz2C,EAAG,UACN,IAAIrM,EAAOqM,OAEXrM,EAAO,CAACwwF,aAAc,kBAClBnkF,IACArM,EAAKqM,EAAIA,GAETC,IACAtM,EAAKsM,EAAIA,GAEA,MAATtP,IACAgD,EAAKhD,MAAQA,GAEH,MAAVuE,IACAvB,EAAKuB,OAASA,GAGdvB,EAAKwB,QADC,MAANu1F,GAAoB,MAANC,GAAoB,MAANC,GAAoB,MAANv0B,EAC3B,CAACq0B,EAAIC,EAAIC,EAAIv0B,GAEb,CAACr2D,GAAK,EAAGC,GAAK,EAAGtP,GAAS,EAAGuE,GAAU,GAG9D,OAAOhb,KAAK4W,GAAG,UAAW6C,IAc9B4qF,EAAM+E,IAAM,SAAUhyF,GAClB,OAAU,MAANA,GACIA,aAAcq4E,IACTr4E,EAAGqC,KAAK,OACTrC,EAAGqC,KAAK,CAACrC,GAAIg5C,EAAKirC,EAAEjkF,GAAGA,KAE3BA,EAAKA,EAAGqC,KAAK,OAEU,KAAvB4I,OAAOjL,GAAIjN,WACXiN,EAAKA,EAAG7E,UAAU,IAEfvS,KAAK4W,GAAG,MAAO,CAAC,aAAc,IAAMQ,KAEpCq4E,EAAQ7vF,UAAUwpG,IAAItpG,KAAKE,OAe1CqkG,EAAMvV,OAAS,SAAU0hB,EAAIC,EAAIC,EAAIv0B,GACjC,IAAI1iE,EAAO,GAKX,OAJU,MAAN+2F,GAAoB,MAANC,GAAoB,MAANC,GAAoB,MAANv0B,IAC1C1iE,EAAKwB,QAAU,CAACu1F,EAAIC,EAAIC,EAAIv0B,IAGzBn8E,KAAK4W,GAAG,SAAU6C,IAsB7B4qF,EAAMx2B,KAAO,SAAU/nD,EAAGC,EAAG8nD,GACzB,IAAIp0D,EAAO,GAUX,OATI8iD,EAAGz2C,EAAG,UACNrM,EAAOqM,EACK,MAALA,IACPrM,EAAO,CACHqM,EAAGA,EACHC,EAAGA,EACH8nD,KAAMA,GAAQ,KAGf7tE,KAAK4W,GAAG,OAAQ6C,IAiB3B4qF,EAAMnhF,KAAO,SAAUo7E,EAAIC,EAAIC,EAAIC,GAC/B,IAAIhlF,EAAO,GAWX,OAVI8iD,EAAG+hC,EAAI,UACP7kF,EAAO6kF,EACM,MAANA,IACP7kF,EAAO,CACH6kF,GAAIA,EACJE,GAAIA,EACJD,GAAIA,EACJE,GAAIA,IAGLz+F,KAAK4W,GAAG,OAAQ6C,IAiB3B4qF,EAAMsM,SAAW,SAAU7rF,GACnBtlB,UAAUC,OAAS,IACnBqlB,EAAS3kB,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,IAEnD,IAAIia,EAAO,GAMX,OALI8iD,EAAGz3C,EAAQ,YAAcy3C,EAAGz3C,EAAQ,SACpCrL,EAAOqL,EACU,MAAVA,IACPrL,EAAO,CAACqL,OAAQA,IAEb9kB,KAAK4W,GAAG,WAAY6C,IAQ/B4qF,EAAMuM,QAAU,SAAU9rF,GAClBtlB,UAAUC,OAAS,IACnBqlB,EAAS3kB,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,IAEnD,IAAIia,EAAO,GAMX,OALI8iD,EAAGz3C,EAAQ,YAAcy3C,EAAGz3C,EAAQ,SACpCrL,EAAOqL,EACU,MAAVA,IACPrL,EAAO,CAACqL,OAAQA,IAEb9kB,KAAK4W,GAAG,UAAW6C,IAG7B,WACG,IAAIkjF,EAAIvsC,EAAKirC,EAAEsB,EAUf,SAASkU,IACL,OAAO7wG,KAAK4kG,UAAU,QAY1B,SAASkM,EAAS/5E,EAAO/R,GACrB,IAAIgwE,EAAO2H,EAAE,QACTljF,EAAO,CACHuL,QAASA,EAAS,KAE1B+R,EAAQq5B,EAAKr5B,MAAMA,GACnBtd,EAAK,cAAgBsd,EAAM0pE,IACvB1pE,EAAMpM,QAAU,IAChBlR,EAAK,gBAAkBsd,EAAMpM,SAEjCgyE,EAAE3H,EAAMv7E,GAGR,IAFA,IACI8N,EADA8lF,EAAQrtG,KAAKqtG,QAER9tG,EAAI,EAAGA,EAAI8tG,EAAM5tG,OAAQF,IAAK,CAEnC,GADiB4gD,WAAWktD,EAAM9tG,GAAGka,KAAK,WACzBuL,EAAQ,CACrBhlB,KAAKujB,KAAKhD,aAAay0E,EAAMqY,EAAM9tG,GAAGgkB,MACtCgE,GAAW,EACX,OAMR,OAHKA,GACDvnB,KAAKujB,KAAKtC,YAAY+zE,GAEnBh1F,KAEX,SAAS+wG,IACL,GAAiB,kBAAb/wG,KAAK+d,KAA0B,CAC/B,IAAIugF,EAAK3B,EAAE38F,KAAKujB,KAAM,OAAS,EAC3Bi7E,EAAK7B,EAAE38F,KAAKujB,KAAM,OAAS,EAC3Bg7E,EAAK5B,EAAE38F,KAAKujB,KAAM,OAAS,EAC3Bk7E,EAAK9B,EAAE38F,KAAKujB,KAAM,OAAS,EAC/B,OAAO6sC,EAAKirC,EAAEqL,IAAIpI,EAAIC,EAAI7C,KAAKt5E,IAAIo8E,EAAKF,GAAK5C,KAAKt5E,IAAIq8E,EAAKF,IAE3D,IAAI5vE,EAAK3uB,KAAKujB,KAAKoL,IAAM,GACrB07E,EAAKrqG,KAAKujB,KAAK8mF,IAAM,GACrBl5C,EAAInxD,KAAKujB,KAAK4tC,GAAK,EACvB,OAAOf,EAAKirC,EAAEqL,IAAI/3E,EAAKwiC,EAAGk5C,EAAKl5C,EAAO,EAAJA,EAAW,EAAJA,GAcjD,SAAS6/C,EAAUroF,GACf,IAAIgkF,EAAOhkF,EACP0kF,EAAQrtG,KAAKqtG,QAIjB,GAHkB,iBAAP1kF,IACPgkF,EAAO5T,IAAI,uBAAwB,KAAM,aAAepwE,GAAKo8E,eAAesI,OAE3Ej9C,EAAKmM,GAAGowC,EAAM,SAAnB,CAGA,IAAK,IAAIptG,EAAI,EAAGA,EAAI8tG,EAAM5tG,OAAQF,IAC9B,GAAIotG,EAAKptG,GAAI,CACT,IAAIw3B,EAAQq5B,EAAKr5B,MAAM41E,EAAKptG,GAAGw3B,OAC3Btd,EAAO,CAAC,OAAUkzF,EAAKptG,GAAGylB,OAAS,KACvCvL,EAAK,cAAgBsd,EAAM0pE,IACvB1pE,EAAMpM,QAAU,IAChBlR,EAAK,gBAAkBsd,EAAMpM,SAEjC0iF,EAAM9tG,GAAGka,KAAKA,QAEd4zF,EAAM9tG,GAAG2pG,SAGjB,IAAK3pG,EAAI8tG,EAAM5tG,OAAQF,EAAIotG,EAAKltG,OAAQF,IACpCS,KAAKixG,QAAQtE,EAAKptG,GAAGw3B,MAAO41E,EAAKptG,GAAGylB,QAExC,OAAOhlB,MA2BX,SAASkxG,EAAe9M,EAAM9F,EAAIC,EAAIC,EAAIC,GACtC,IAAI7nF,EAAKw5C,EAAKirC,EAAE8I,KAAK,iBAAkBC,GAavC,OAZAxtF,EAAGy2F,MAAQwD,EACXj6F,EAAGq6F,QAAUH,EACbl6F,EAAG4sF,QAAUuN,EACbn6F,EAAGu6F,SAAWH,EACJ,MAAN1S,GACA3B,EAAE/lF,EAAG2M,KAAM,CACP+6E,GAAIA,EACJC,GAAIA,EACJC,GAAIA,EACJC,GAAIA,IAGL7nF,EAEX,SAASw6F,EAAehN,EAAMz1E,EAAI07E,EAAIl5C,EAAGkgD,EAAIC,GACzC,IAAI16F,EAAKw5C,EAAKirC,EAAE8I,KAAK,iBAAkBC,GAiBvC,OAhBAxtF,EAAGy2F,MAAQwD,EACXj6F,EAAGq6F,QAAUH,EACbl6F,EAAG4sF,QAAUuN,EACH,MAANpiF,GACAguE,EAAE/lF,EAAG2M,KAAM,CACPoL,GAAIA,EACJ07E,GAAIA,EACJl5C,EAAGA,IAGD,MAANkgD,GAAoB,MAANC,GACd3U,EAAE/lF,EAAG2M,KAAM,CACP8tF,GAAIA,EACJC,GAAIA,IAGL16F,EAuCXytF,EAAMuI,SAAW,SAAUjkF,GACvB,OAnGJ,SAAkBy7E,EAAMz7E,GACpB,IACI/R,EADA+1F,EAAO5T,IAAI,uBAAwB,KAAMpwE,GAAKo8E,eAElD,IAAK4H,EACD,OAAO,KAEXA,EAAK1nG,OAAOqG,QAAQ84F,GAEhBxtF,EAD2B,KAA3B+1F,EAAK5uF,KAAK5R,cACL+kG,EAAenxG,MAAM,EAAG4sG,EAAK1nG,QAE7BmsG,EAAerxG,MAAM,EAAG4sG,EAAK1nG,QAElC0nG,EAAK5uF,MAAQ4uF,EAAK5uF,KAAK5R,eACvBwwF,EAAE/lF,EAAG2M,KAAM,CACPguF,cAAe,mBAKvB,IAFA,IAAIlE,EAAQV,EAAKU,MACb9tF,EAAM8tF,EAAM5tG,OACPF,EAAI,EAAGA,EAAIggB,EAAKhgB,IAAK,CAC1B,IAAIy1F,EAAOqY,EAAM9tG,GACjBqX,EAAGq6F,QAAQjc,EAAKj+D,MAAOi+D,EAAKhwE,QAEhC,OAAOpO,EA4EAg2F,CAAS5sG,KAAKokG,KAAMz7E,IAE/B07E,EAAM6M,eAAiB,SAAU5S,EAAIC,EAAIC,EAAIC,GACzC,OAAOyS,EAAelxG,KAAKokG,KAAM9F,EAAIC,EAAIC,EAAIC,IAEjD4F,EAAM+M,eAAiB,SAAUziF,EAAI07E,EAAIl5C,EAAGkgD,EAAIC,GAC5C,OAAOF,EAAepxG,KAAKokG,KAAMz1E,EAAI07E,EAAIl5C,EAAGkgD,EAAIC,IASpDjN,EAAMx0F,SAAW,WACb,IAIIw+C,EAJA8sC,EAAMn7F,KAAKujB,KAAKk2C,cAChBnhB,EAAI6iD,EAAI+J,yBACR/pF,EAAIggF,EAAIjtF,cAAc,OACtBkL,EAAMpZ,KAAKujB,KAAK8lF,WAAU,GAO9B,OALA/wD,EAAEr3B,YAAY9F,GACdA,EAAE8F,YAAY7H,GACdg3C,EAAKirC,EAAEsB,EAAEvjF,EAAK,CAACqjF,MAAO,+BACtBpuC,EAAMlzC,EAAEs/C,UACRniB,EAAEz2B,YAAYy2B,EAAEj4B,YACTguC,GASXg2C,EAAMyG,UAAY,WACd,GAAI98F,QAAUA,OAAO+8F,KACjB,MAAO,6BAA+BA,KAAKE,SAASz7C,mBAAmBxvD,SAS/EqkG,EAAMmN,MAAQ,WAGV,IAFA,IACI1wG,EADAyiB,EAAOvjB,KAAKujB,KAAKlD,WAEdkD,GACHziB,EAAOyiB,EAAKjD,YACQ,QAAhBiD,EAAK4sB,QACL5sB,EAAK3B,WAAWC,YAAY0B,GAE5B8gF,EAAMmN,MAAM1xG,KAAK,CAACyjB,KAAMA,IAE5BA,EAAOziB,GAjQlB,MAoRLsvD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,GACxC,IAAImM,EAAU5X,EAAQ7vF,UAClB28D,EAAKnM,EAAKmM,GACVshC,EAAQztC,EAAKirC,EAAEwC,MAEf4T,EAAM,gBACNjW,EAAUr7C,WACVu7C,EAAO/rF,KACPqrF,EAAKU,EAAKV,GACVY,EAAOF,EAAKhoF,IACZioF,EAAOD,EAAK/nF,IACZ+mF,EAAMgB,EAAKhB,IACXt4E,EAAMs5E,EAAKt5E,IACf,SAASsvF,EAAMC,GACX,IAAIjyF,EAAIgyF,EAAMC,GAAKD,EAAMC,IAAM,GAc/B,OAbIjyF,EAAEiyF,GACFjyF,EAAEiyF,GAAIC,MAAQ,IAEdlyF,EAAEiyF,GAAM,CACJC,MAAO,KAGfx7F,YAAW,WACP,IAAK,IAAIzW,KAAO+f,EAAOA,EAAC,eAAM/f,IAAQA,GAAOgyG,IACzCjyF,EAAE/f,GAAKiyG,SACNlyF,EAAE/f,GAAKiyG,cAAgBlyF,EAAE/f,OAG3B+f,EAAEiyF,GAEb,SAASjL,EAAI5gF,EAAGC,EAAGtP,EAAOuE,GAUtB,OATS,MAAL8K,IACAA,EAAIC,EAAItP,EAAQuE,EAAS,GAEpB,MAAL+K,IACAA,EAAID,EAAEC,EACNtP,EAAQqP,EAAErP,MACVuE,EAAS8K,EAAE9K,OACX8K,EAAIA,EAAEA,GAEH,CACHA,EAAGA,EACHC,EAAGA,EACHtP,MAAOA,EACPqc,EAAGrc,EACHuE,OAAQA,EACR4N,EAAG5N,EACHwjF,GAAI14E,EAAIrP,EACRgoF,GAAI14E,EAAI/K,EACR2T,GAAI7I,EAAIrP,EAAQ,EAChB4zF,GAAItkF,EAAI/K,EAAS,EACjB62F,GAAInW,EAAKhoF,IAAI+C,EAAOuE,GAAU,EAC9B82F,GAAIpW,EAAK/nF,IAAI8C,EAAOuE,GAAU,EAC9B+2F,GAAIrW,EAAKd,KAAKnkF,EAAQA,EAAQuE,EAASA,GAAU,EACjD5W,KAAM4tG,EAASlsF,EAAGC,EAAGtP,EAAOuE,GAC5BqhD,GAAI,CAACv2C,EAAGC,EAAGtP,EAAOuE,GAAQzP,KAAK,MAGvC,SAASsE,IACL,OAAO7P,KAAKuL,KAAK,KAAKvI,QAAQyuG,EAAK,MAEvC,SAASQ,EAAUC,GACf,IAAI7jD,EAAMwvC,EAAMqU,GAEhB,OADA7jD,EAAIx+C,SAAWA,EACRw+C,EAEX,SAAS8jD,EAAwBC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKlzG,GACrE,OAAc,MAAVA,EACOmzG,EAAOR,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,GAE1CE,EAAkBT,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EA0JpE,SAAmBrU,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAImU,EAAIC,EAAIC,GAC/C,GAAIA,EAAK,GAAKJ,EAAOtU,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAImU,EAAIC,GAAMC,EACnD,OAEJ,IAGIjiD,EAHA/+B,EAAI,EACJymB,EAAOzmB,EAAI,EACXihF,EAAKjhF,EAAIymB,EAET3rC,EAAI,IACRikD,EAAI6hD,EAAOtU,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAImU,EAAIC,EAAIE,GAC3C,KAAO7wF,EAAI2uC,EAAIiiD,GAAMlmG,GAGjBikD,EAAI6hD,EAAOtU,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAImU,EAAIC,EADvCE,IAAOliD,EAAIiiD,EAAK,GAAK,IADrBv6D,GAAQ,IAIZ,OAAOw6D,EAxKCC,CAAUd,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKlzG,IAG9D,SAAS0zG,EAAiBC,EAASC,GAC/B,SAASpgD,EAAExgC,GACP,SAAUA,GAAK2uE,QAAQ,GAE3B,OAAOhxC,EAAKirC,EAAE2B,QAAO,SAAU54F,EAAM3E,EAAQ6zG,GACrClvG,aAAgBqrF,IAChBrrF,EAAOA,EAAKqV,KAAK,MAKrB,IAFA,IAAIqM,EAAGC,EAAGrG,EAAGqxC,EAA2BwiD,EAAxBC,EAAK,GAAIC,EAAW,GAChCl0F,EAAM,EACDhgB,EAAI,EAAG0gF,GAHhB77E,EAAOsvG,EAAWtvG,IAGQ3E,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAE3C,GAAY,MADZmgB,EAAItb,EAAK7E,IACH,GACFumB,GAAKpG,EAAE,GACPqG,GAAKrG,EAAE,OACJ,CAEH,GAAIH,GADJwxC,EAAIohD,EAAwBrsF,EAAGC,EAAGrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KACpDjgB,EAAQ,CAClB,GAAI4zG,IAAYI,EAASrhF,MAAO,CAU5B,GARAohF,GAAM,CACF,IAAMvgD,GAFVsgD,EAAQpB,EAAwBrsF,EAAGC,EAAGrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIjgB,EAAS8f,IAEjE6S,MAAMtM,GACpBmtC,EAAEsgD,EAAMnhF,MAAMrM,GACdktC,EAAEsgD,EAAM/kD,EAAE1oC,GACVmtC,EAAEsgD,EAAM/kD,EAAEzoC,GACVktC,EAAEsgD,EAAMztF,GACRmtC,EAAEsgD,EAAMxtF,IAERutF,EAAY,OAAOE,EACvBC,EAASrhF,MAAQohF,EACjBA,EAAK,CACD,IAAMvgD,EAAEsgD,EAAMztF,GACdmtC,EAAEsgD,EAAMxtF,GAAK,IAAMktC,EAAEsgD,EAAM/oG,EAAEsb,GAC7BmtC,EAAEsgD,EAAM/oG,EAAEub,GACVktC,EAAEsgD,EAAMhtG,IAAIuf,GACZmtC,EAAEsgD,EAAMhtG,IAAIwf,GACZktC,EAAEvzC,EAAE,IACJuzC,EAAEvzC,EAAE,KACNnU,OACFgU,GAAOwxC,EACPjrC,GAAKpG,EAAE,GACPqG,GAAKrG,EAAE,GACP,SAEJ,IAAK0zF,IAAYC,EAEb,OADAE,EAAQpB,EAAwBrsF,EAAGC,EAAGrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIjgB,EAAS8f,GAI3FA,GAAOwxC,EACPjrC,GAAKpG,EAAE,GACPqG,GAAKrG,EAAE,GAEX8zF,GAAM9zF,EAAEqhD,QAAUrhD,EAItB,OAFA+zF,EAASltG,IAAMitG,EACfD,EAAQH,EAAU7zF,EAAM8zF,EAAUI,EAAWZ,EAAkB/sF,EAAGC,EAAGrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,KAE1G,KAAM0wC,EAAKirC,EAAEwC,OAEpB,IAAI0B,EAAiB4T,EAAiB,GAClCtT,EAAmBsT,IACnBQ,EAAsBR,EAAiB,EAAG,GAC9C,SAASN,EAAkBT,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAK3gF,GAC/D,IAAI4hF,EAAK,EAAI5hF,EACT6hF,EAAMnZ,EAAIkZ,EAAI,GACdE,EAAMpZ,EAAIkZ,EAAI,GACdX,EAAKjhF,EAAIA,EACT+hF,EAAKd,EAAKjhF,EAGVgiF,EAAK5B,EAAM,EAAIpgF,GAAKsgF,EAAMF,GAAOa,GAAMT,EAAM,EAAIF,EAAMF,GACvD6B,EAAK5B,EAAM,EAAIrgF,GAAKugF,EAAMF,GAAOY,GAAMR,EAAM,EAAIF,EAAMF,GACvD6B,EAAK5B,EAAM,EAAItgF,GAAKwgF,EAAMF,GAAOW,GAAMP,EAAM,EAAIF,EAAMF,GACvD6B,EAAK5B,EAAM,EAAIvgF,GAAKygF,EAAMF,GAAOU,GAAMN,EAAM,EAAIF,EAAMF,GAO3D,MAAO,CACHzsF,EAbI+tF,EAAMzB,EAAY,EAAN0B,EAAU9hF,EAAIsgF,EAAW,EAALsB,EAAS5hF,EAAIA,EAAIwgF,EAAMuB,EAAKrB,EAchE3sF,EAbI8tF,EAAMxB,EAAY,EAANyB,EAAU9hF,EAAIugF,EAAW,EAALqB,EAAS5hF,EAAIA,EAAIygF,EAAMsB,EAAKpB,EAchEnkD,EAAG,CAAC1oC,EAAGkuF,EAAIjuF,EAAGkuF,GACdzpG,EAAG,CAACsb,EAAGouF,EAAInuF,EAAGouF,GACd/hF,MAAO,CAACtM,EAXH8tF,EAAKxB,EAAMpgF,EAAIsgF,EAWLvsF,EAVV6tF,EAAKvB,EAAMrgF,EAAIugF,GAWpBhsG,IAAK,CAACuf,EAVD8tF,EAAKpB,EAAMxgF,EAAI0gF,EAUP3sF,EATR6tF,EAAKnB,EAAMzgF,EAAI2gF,GAUpByB,MATQ,GAAoC,IAA/B1Y,EAAK2C,MAAM2V,EAAKE,EAAID,EAAKE,GAAYnZ,GAY1D,SAASqZ,EAAWjC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,GAC9CviD,EAAKmM,GAAG61C,EAAK,WACdA,EAAM,CAACA,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,IAE9C,IAAInQ,EAAO8R,EAASv0G,MAAM,KAAMqyG,GAChC,OAAO1L,EACHlE,EAAK9uF,IAAIoS,EACT08E,EAAK9uF,IAAIqS,EACTy8E,EAAK7uF,IAAImS,EAAI08E,EAAK9uF,IAAIoS,EACtB08E,EAAK7uF,IAAIoS,EAAIy8E,EAAK9uF,IAAIqS,GAG9B,SAASwuF,EAAkB/R,EAAM18E,EAAGC,GAChC,OAAQD,GAAK08E,EAAK18E,GACVA,GAAK08E,EAAK18E,EAAI08E,EAAK/rF,OACnBsP,GAAKy8E,EAAKz8E,GACVA,GAAKy8E,EAAKz8E,EAAIy8E,EAAKxnF,OAE/B,SAASw5F,EAAgBC,EAAOC,GAG5B,OAFAD,EAAQ/N,EAAI+N,GAELF,EADPG,EAAQhO,EAAIgO,GACoBD,EAAM3uF,EAAG2uF,EAAM1uF,IACxCwuF,EAAkBG,EAAOD,EAAMjW,GAAIiW,EAAM1uF,IACzCwuF,EAAkBG,EAAOD,EAAM3uF,EAAG2uF,EAAMhW,KACxC8V,EAAkBG,EAAOD,EAAMjW,GAAIiW,EAAMhW,KACzC8V,EAAkBE,EAAOC,EAAM5uF,EAAG4uF,EAAM3uF,IACxCwuF,EAAkBE,EAAOC,EAAMlW,GAAIkW,EAAM3uF,IACzCwuF,EAAkBE,EAAOC,EAAM5uF,EAAG4uF,EAAMjW,KACxC8V,EAAkBE,EAAOC,EAAMlW,GAAIkW,EAAMjW,MACxCgW,EAAM3uF,EAAI4uF,EAAMlW,IAAMiW,EAAM3uF,EAAI4uF,EAAM5uF,GACnC4uF,EAAM5uF,EAAI2uF,EAAMjW,IAAMkW,EAAM5uF,EAAI2uF,EAAM3uF,KACzC2uF,EAAM1uF,EAAI2uF,EAAMjW,IAAMgW,EAAM1uF,EAAI2uF,EAAM3uF,GACnC2uF,EAAM3uF,EAAI0uF,EAAMhW,IAAMiW,EAAM3uF,EAAI0uF,EAAM1uF,GAErD,SAAS4uF,EAAM3iF,EAAG9F,EAAIC,EAAIyoF,EAAIC,GAG1B,OAAO7iF,GADEA,IADC,EAAI9F,EAAK,EAAIC,EAAK,EAAIyoF,EAAK,EAAIC,GACvB,EAAI3oF,EAAK,GAAKC,EAAK,EAAIyoF,GACzB,EAAI1oF,EAAK,EAAIC,EAEjC,SAASymF,EAAOtU,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAImU,EAAIC,EAAI/sF,GACnC,MAALA,IACAA,EAAI,GAQR,IALA,IAAI8uF,GADJ9uF,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,GACf,EAET+uF,EAAU,EAAE,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OACnFC,EAAU,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACxFC,EAAM,EACD11G,EAAI,EAAGA,EAJR,GAIeA,IAAK,CACxB,IAAI21G,EAAKJ,EAAKC,EAAQx1G,GAAKu1G,EACvBK,EAAQR,EAAMO,EAAI5W,EAAIE,EAAIE,EAAIoU,GAC9BsC,EAAQT,EAAMO,EAAI3W,EAAIE,EAAIE,EAAIoU,GAC9BsC,EAAOF,EAAQA,EAAQC,EAAQA,EACnCH,GAAOD,EAAQz1G,GAAKm8F,EAAKd,KAAKya,GAElC,OAAOP,EAAKG,EAmBhB,SAASK,EAAUhX,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAImU,EAAIC,GAC3C,KACIpX,EAAK2C,EAAIE,GAAM5C,EAAK8C,EAAIoU,IACxBlX,EAAK0C,EAAIE,GAAM7C,EAAK+C,EAAIoU,IACxBnX,EAAK4C,EAAIE,GAAM7C,EAAK+C,EAAIoU,IACxBnX,EAAK2C,EAAIE,GAAM9C,EAAKgD,EAAIoU,IAJ5B,CAQA,IAEIwC,GAAejX,EAAKE,IAAOG,EAAKoU,IAAOxU,EAAKE,IAAOC,EAAKoU,GAE5D,GAAKyC,EAAL,CAGA,IAAIC,IAPMlX,EAAKG,EAAKF,EAAKC,IAAOE,EAAKoU,IAAOxU,EAAKE,IAAOE,EAAKqU,EAAKpU,EAAKmU,IAOzDyC,EACVE,IAPMnX,EAAKG,EAAKF,EAAKC,IAAOG,EAAKoU,IAAOxU,EAAKE,IAAOC,EAAKqU,EAAKpU,EAAKmU,IAOzDyC,EACVG,GAAOF,EAAGpU,QAAQ,GAClBuU,GAAOF,EAAGrU,QAAQ,GACtB,KACIsU,GAAO9Z,EAAK0C,EAAIE,GAAI4C,QAAQ,IAC5BsU,GAAO/Z,EAAK2C,EAAIE,GAAI4C,QAAQ,IAC5BsU,GAAO9Z,EAAK8C,EAAIoU,GAAI1R,QAAQ,IAC5BsU,GAAO/Z,EAAK+C,EAAIoU,GAAI1R,QAAQ,IAC5BuU,GAAO/Z,EAAK2C,EAAIE,GAAI2C,QAAQ,IAC5BuU,GAAOha,EAAK4C,EAAIE,GAAI2C,QAAQ,IAC5BuU,GAAO/Z,EAAK+C,EAAIoU,GAAI3R,QAAQ,IAC5BuU,GAAOha,EAAKgD,EAAIoU,GAAI3R,QAAQ,IAIhC,MAAO,CAACt7E,EAAG0vF,EAAIzvF,EAAG0vF,KAQtB,SAASG,EAAYC,EAAMC,EAAMC,GAG7B,IAAKvB,EAFOH,EAAWwB,GACXxB,EAAWyB,IAEnB,OAAOC,EAAY,EAAI,GAU3B,IARA,IAEIC,KAFKpD,EAAO7yG,MAAM,EAAG81G,GAER,GACbI,KAFKrD,EAAO7yG,MAAM,EAAG+1G,GAER,GACbI,EAAQ,GACRC,EAAQ,GACRC,EAAK,GACL/nD,EAAM0nD,EAAY,EAAI,GACjBx2G,EAAI,EAAGA,EAAIy2G,EAAK,EAAGz2G,IAAK,CAC7B,IAAImgB,EAAImzF,EAAkB9yG,MAAM,EAAG81G,EAAK/vG,OAAOvG,EAAIy2G,IACnDE,EAAMl1G,KAAK,CAAC8kB,EAAGpG,EAAEoG,EAAGC,EAAGrG,EAAEqG,EAAGiM,EAAGzyB,EAAIy2G,IAEvC,IAAKz2G,EAAI,EAAGA,EAAI02G,EAAK,EAAG12G,IACpBmgB,EAAImzF,EAAkB9yG,MAAM,EAAG+1G,EAAKhwG,OAAOvG,EAAI02G,IAC/CE,EAAMn1G,KAAK,CAAC8kB,EAAGpG,EAAEoG,EAAGC,EAAGrG,EAAEqG,EAAGiM,EAAGzyB,EAAI02G,IAEvC,IAAK12G,EAAI,EAAGA,EAAIy2G,EAAIz2G,IAChB,IAAK,IAAIsmB,EAAI,EAAGA,EAAIowF,EAAIpwF,IAAK,CACzB,IAAIw5D,EAAK62B,EAAM32G,GACX82G,EAAMH,EAAM32G,EAAI,GAChBklF,EAAK0xB,EAAMtwF,GACXywF,EAAMH,EAAMtwF,EAAI,GAChBu5D,EAAKh9D,EAAIi0F,EAAIvwF,EAAIu5D,EAAGv5D,GAAK,KAAO,IAAM,IACtC0+D,EAAKpiE,EAAIk0F,EAAIxwF,EAAI2+D,EAAG3+D,GAAK,KAAO,IAAM,IACtCy2C,EAAK+4C,EAAUj2B,EAAGv5D,EAAGu5D,EAAGt5D,EAAGswF,EAAIvwF,EAAGuwF,EAAItwF,EAAG0+D,EAAG3+D,EAAG2+D,EAAG1+D,EAAGuwF,EAAIxwF,EAAGwwF,EAAIvwF,GACpE,GAAIw2C,EAAI,CACJ,GAAI65C,EAAG75C,EAAGz2C,EAAEs7E,QAAQ,KAAO7kC,EAAGx2C,EAAEq7E,QAAQ,GACpC,SAEJgV,EAAG75C,EAAGz2C,EAAEs7E,QAAQ,IAAM7kC,EAAGx2C,EAAEq7E,QAAQ,GACnC,IAAIwS,EAAKv0B,EAAGrtD,EAAI5P,GAAKm6C,EAAG6iB,GAAMC,EAAGD,KAAQi3B,EAAIj3B,GAAMC,EAAGD,MAASi3B,EAAIrkF,EAAIqtD,EAAGrtD,GACtEihF,EAAKxuB,EAAGzyD,EAAI5P,GAAKm6C,EAAGioB,GAAMC,EAAGD,KAAQ8xB,EAAI9xB,GAAMC,EAAGD,MAAS8xB,EAAItkF,EAAIyyD,EAAGzyD,GACtE4hF,GAAM,GAAKA,GAAM,GAAKX,GAAM,GAAKA,GAAM,IACnC8C,EACA1nD,IAEAA,EAAIrtD,KAAK,CACL8kB,EAAGy2C,EAAGz2C,EACNC,EAAGw2C,EAAGx2C,EACN6tF,GAAIA,EACJX,GAAIA,MAO5B,OAAO5kD,EAQX,SAASkoD,EAAgBC,EAAOC,EAAOV,GACnCS,EAAQ9C,EAAW8C,GACnBC,EAAQ/C,EAAW+C,GAGnB,IAFA,IAAInY,EAAIC,EAAIC,EAAIC,EAAIiY,EAAKC,EAAKC,EAAKC,EAAKhB,EAAMC,EAC1CznD,EAAM0nD,EAAY,EAAI,GACjBx2G,EAAI,EAAG0gF,EAAKu2B,EAAM/2G,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAC5C,IAAIkhF,EAAK+1B,EAAMj3G,GACf,GAAa,KAATkhF,EAAG,GACH6d,EAAKoY,EAAMj2B,EAAG,GACd8d,EAAKoY,EAAMl2B,EAAG,OACX,CACU,KAATA,EAAG,IACHo1B,EAAO,CAACvX,EAAIC,GAAIz4F,OAAO26E,EAAGl0E,MAAM,IAChC+xF,EAAKuX,EAAK,GACVtX,EAAKsX,EAAK,KAEVA,EAAO,CAACvX,EAAIC,EAAID,EAAIC,EAAImY,EAAKC,EAAKD,EAAKC,GACvCrY,EAAKoY,EACLnY,EAAKoY,GAET,IAAK,IAAI9wF,EAAI,EAAGm/D,EAAKyxB,EAAMh3G,OAAQomB,EAAIm/D,EAAIn/D,IAAK,CAC5C,IAAI0/D,EAAKkxB,EAAM5wF,GACf,GAAa,KAAT0/D,EAAG,GACHiZ,EAAKoY,EAAMrxB,EAAG,GACdkZ,EAAKoY,EAAMtxB,EAAG,OACX,CACU,KAATA,EAAG,IACHuwB,EAAO,CAACtX,EAAIC,GAAI34F,OAAOy/E,EAAGh5E,MAAM,IAChCiyF,EAAKsX,EAAK,GACVrX,EAAKqX,EAAK,KAEVA,EAAO,CAACtX,EAAIC,EAAID,EAAIC,EAAImY,EAAKC,EAAKD,EAAKC,GACvCrY,EAAKoY,EACLnY,EAAKoY,GAET,IAAIC,EAAOlB,EAAYC,EAAMC,EAAMC,GACnC,GAAIA,EACA1nD,GAAOyoD,MACJ,CACH,IAAK,IAAIvsG,EAAI,EAAGw/E,EAAK+sB,EAAKr3G,OAAQ8K,EAAIw/E,EAAIx/E,IACtCusG,EAAKvsG,GAAGwsG,SAAWx3G,EACnBu3G,EAAKvsG,GAAGysG,SAAWnxF,EACnBixF,EAAKvsG,GAAGsrG,KAAOA,EACfiB,EAAKvsG,GAAGurG,KAAOA,EAEnBznD,EAAMA,EAAIvoD,OAAOgxG,OAMrC,OAAOzoD,EAOX,SAAS4oD,EAAS7yG,GACd,IAAI49F,EAAM0P,EAAMttG,GAChB,GAAI49F,EAAIQ,KACJ,OAAO3E,EAAMmE,EAAIQ,MAErB,IAAKp+F,EACD,OAAOsiG,IAQX,IALA,IAIIhnF,EAJAoG,EAAI,EACJC,EAAI,EACJy/D,EAAI,GACJC,EAAI,GAEClmF,EAAI,EAAG0gF,GANhB77E,EAAOsvG,EAAWtvG,IAMQ3E,OAAQF,EAAI0gF,EAAI1gF,IAEtC,GAAY,MADZmgB,EAAItb,EAAK7E,IACH,GACFumB,EAAIpG,EAAE,GACNqG,EAAIrG,EAAE,GACN8lE,EAAExkF,KAAK8kB,GACP2/D,EAAEzkF,KAAK+kB,OACJ,CACH,IAAImxF,EAAM5C,EAASxuF,EAAGC,EAAGrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACzD8lE,EAAIA,EAAE1/E,OAAOoxG,EAAIxjG,IAAIoS,EAAGoxF,EAAIvjG,IAAImS,GAChC2/D,EAAIA,EAAE3/E,OAAOoxG,EAAIxjG,IAAIqS,EAAGmxF,EAAIvjG,IAAIoS,GAChCD,EAAIpG,EAAE,GACNqG,EAAIrG,EAAE,GAGd,IAAIy3F,EAAOvb,EAAK77F,MAAM,EAAGylF,GACrB4xB,EAAOxb,EAAK77F,MAAM,EAAG0lF,GAGrBlsB,EAAKmtC,EAAIyQ,EAAMC,EAFRzb,EAAK57F,MAAM,EAAGylF,GAEO2xB,EADrBxb,EAAK57F,MAAM,EAAG0lF,GACoB2xB,GAE7C,OADApV,EAAIQ,KAAO3E,EAAMtkC,GACVA,EAEX,SAASy4C,EAASlsF,EAAGC,EAAG+M,EAAGlK,EAAGuoC,GAC1B,GAAIA,EACA,MAAO,CACH,CAAC,KAAMrrC,IAAKqrC,EAAGprC,GACf,CAAC,IAAK+M,EAAQ,EAAJq+B,EAAO,GACjB,CAAC,IAAKA,EAAGA,EAAG,EAAG,EAAG,EAAGA,EAAGA,GACxB,CAAC,IAAK,EAAGvoC,EAAQ,EAAJuoC,GACb,CAAC,IAAKA,EAAGA,EAAG,EAAG,EAAG,GAAIA,EAAGA,GACzB,CAAC,IAAS,EAAJA,EAAQr+B,EAAG,GACjB,CAAC,IAAKq+B,EAAGA,EAAG,EAAG,EAAG,GAAIA,GAAIA,GAC1B,CAAC,IAAK,EAAO,EAAJA,EAAQvoC,GACjB,CAAC,IAAKuoC,EAAGA,EAAG,EAAG,EAAG,EAAGA,GAAIA,GACzB,CAAC,MAGT,IAAI9C,EAAM,CAAC,CAAC,IAAKvoC,EAAGC,GAAI,CAAC,IAAK+M,EAAG,GAAI,CAAC,IAAK,EAAGlK,GAAI,CAAC,KAAMkK,EAAG,GAAI,CAAC,MAEjE,OADAu7B,EAAIx+C,SAAWA,EACRw+C,EAEX,SAASgpD,EAAYvxF,EAAGC,EAAG2nF,EAAIC,EAAI/hG,GAQ/B,GAPS,MAALA,GAAmB,MAAN+hG,IACbA,EAAKD,GAET5nF,GAAKA,EACLC,GAAKA,EACL2nF,GAAMA,EACNC,GAAMA,EACG,MAAL/hG,EACA,IAAIwxF,EAAMztF,KAAKqrF,GAAK,IAChBsD,EAAKx4E,EAAI4nF,EAAK/9F,KAAKquF,KAAK2P,EAAKvQ,GAC7BoB,EAAK14E,EAAI4nF,EAAK/9F,KAAKquF,KAAKpyF,EAAIwxF,GAG5B/uC,EAAM,CAAC,CAAC,IAAKiwC,EAFRv4E,EAAI2nF,EAAK/9F,KAAKorF,KAAK4S,EAAKvQ,IAEP,CAAC,IAAKsQ,EAAIA,EAAI,IAAK9hG,EAAI+hG,EAAK,KAAM,EAAGnP,EADtDz4E,EAAI2nF,EAAK/9F,KAAKorF,KAAKnvF,EAAIwxF,UAGhC/uC,EAAM,CACF,CAAC,IAAKvoC,EAAGC,GACT,CAAC,IAAK,GAAI4nF,GACV,CAAC,IAAKD,EAAIC,EAAI,EAAG,EAAG,EAAG,EAAG,EAAIA,GAC9B,CAAC,IAAKD,EAAIC,EAAI,EAAG,EAAG,EAAG,GAAI,EAAIA,GAC/B,CAAC,MAIT,OADAt/C,EAAIx+C,SAAWA,EACRw+C,EAEX,IAAIi5C,EAAUl3C,EAAK+yC,SACfmU,EAAU,CACVlzG,KAAM,SAAUwS,GACZ,OAAOA,EAAG6C,KAAK,SAEnBi2F,OAAQ,SAAU94F,GACd,IAAI6C,EAAO6tF,EAAQ1wF,GACnB,OAAOygG,EAAY59F,EAAKkV,GAAIlV,EAAK4wF,GAAI5wF,EAAK03C,IAE9C++C,QAAS,SAAUt5F,GACf,IAAI6C,EAAO6tF,EAAQ1wF,GACnB,OAAOygG,EAAY59F,EAAKkV,IAAM,EAAGlV,EAAK4wF,IAAM,EAAG5wF,EAAKi0F,GAAIj0F,EAAKk0F,KAEjEx1E,KAAM,SAAUvhB,GACZ,IAAI6C,EAAO6tF,EAAQ1wF,GACnB,OAAOo7F,EAASv4F,EAAKqM,GAAK,EAAGrM,EAAKsM,GAAK,EAAGtM,EAAKhD,MAAOgD,EAAKuB,OAAQvB,EAAKi0F,GAAIj0F,EAAKk0F,KAErFqC,MAAO,SAAUp5F,GACb,IAAI6C,EAAO6tF,EAAQ1wF,GACnB,OAAOo7F,EAASv4F,EAAKqM,GAAK,EAAGrM,EAAKsM,GAAK,EAAGtM,EAAKhD,MAAOgD,EAAKuB,SAE/DkI,KAAM,SAAUtM,GACZ,MAAO,IAAM,CAACA,EAAG6C,KAAK,OAAS,EAAG7C,EAAG6C,KAAK,OAAS,EAAG7C,EAAG6C,KAAK,MAAO7C,EAAG6C,KAAK,QAEjFk3F,SAAU,SAAU/5F,GAChB,MAAO,IAAMA,EAAG6C,KAAK,WAEzBm3F,QAAS,SAAUh6F,GACf,MAAO,IAAMA,EAAG6C,KAAK,UAAY,KAErCouF,MAAO,SAAUjxF,GACb,IAAI4rF,EAAO5rF,EAAG2M,KAAKigF,UACnB,OAAOwO,EAASxP,EAAK18E,EAAG08E,EAAKz8E,EAAGy8E,EAAK/rF,MAAO+rF,EAAKxnF,UAmFzD,SAASu8F,EAAerF,GACpB,IAAIlQ,EAAM0P,EAAMQ,GAChB,GAAIlQ,EAAI5/E,IACJ,OAAO6vF,EAAUjQ,EAAI5/E,KAKzB,GAHKm6C,EAAG21C,EAAW,UAAa31C,EAAG21C,GAAaA,EAAU,GAAI,WAC1DA,EAAY9hD,EAAK0xC,gBAAgBoQ,KAEhCA,IAAcA,EAAUzyG,OACzB,MAAO,CAAC,CAAC,IAAK,EAAG,IAErB,IAMI+3G,EANAnpD,EAAM,GACNvoC,EAAI,EACJC,EAAI,EACJiuF,EAAK,EACLC,EAAK,EACL7hF,EAAQ,EAEW,KAAnB8/E,EAAU,GAAG,KAGb8B,EAFAluF,GAAKosF,EAAU,GAAG,GAGlB+B,EAFAluF,GAAKmsF,EAAU,GAAG,GAGlB9/E,IACAi8B,EAAI,GAAK,CAAC,IAAKvoC,EAAGC,IAMtB,IAJA,IAISorC,EAAGiF,EAJRqhD,EAA0B,GAApBvF,EAAUzyG,QACG,KAAnByyG,EAAU,GAAG,IACoB,KAAjCA,EAAU,GAAG,GAAGn7F,eACiB,KAAjCm7F,EAAU,GAAG,GAAGn7F,cACJxX,EAAI6yB,EAAO6tD,EAAKiyB,EAAUzyG,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAI3D,GAHA8uD,EAAIrtD,KAAKmwD,EAAI,KAEbqmD,GADAphD,EAAK87C,EAAU3yG,IACN,KACEi4G,EAAIzgG,cAEX,OADAo6C,EAAE,GAAKqmD,EAAIzgG,cACHo6C,EAAE,IACN,IAAK,IACDA,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,IAAMiF,EAAG,GAAKtwC,EAChBqrC,EAAE,IAAMiF,EAAG,GAAKrwC,EAChB,MACJ,IAAK,IACDorC,EAAE,IAAMiF,EAAG,GAAKrwC,EAChB,MACJ,IAAK,IACDorC,EAAE,IAAMiF,EAAG,GAAKtwC,EAChB,MACJ,IAAK,IAED,IADA,IAAI4xF,EAAO,CAAC5xF,EAAGC,GAAGjgB,OAAOswD,EAAG7pD,MAAM,IACzBsZ,EAAI,EAAGm/D,EAAK0yB,EAAKj4G,OAAQomB,EAAIm/D,EAAIn/D,IACtC6xF,EAAK7xF,IAAM6xF,EAAK7xF,GAAKC,EACrB4xF,IAAO7xF,IAAM6xF,EAAK7xF,GAAKE,EAE3BsoC,EAAI5jD,MACJ4jD,EAAMA,EAAIvoD,OAAO6xG,EAAkBD,EAAMD,IACzC,MACJ,IAAK,IACDppD,EAAI5jD,OACJitG,EAAOL,EAAYvxF,EAAGC,EAAGqwC,EAAG,GAAIA,EAAG,KAC9Bp1D,KAAK02G,EAAK,IACfrpD,EAAMA,EAAIvoD,OAAO4xG,GACjB,MACJ,IAAK,IACDrpD,EAAI5jD,MACJ4jD,EAAMA,EAAIvoD,OAAOuxG,EAAYvxF,EAAGC,EAAGqwC,EAAG,GAAIA,EAAG,GAAIA,EAAG,KACpDjF,EAAI,CAAC,KAAKrrD,OAAOuoD,EAAIA,EAAI5uD,OAAS,GAAG8M,OAAO,IAC5C,MACJ,IAAK,IACDynG,GAAM59C,EAAG,GAAKtwC,EACdmuF,GAAM79C,EAAG,GAAKrwC,EAClB,QACI,IAAKF,EAAI,EAAGm/D,EAAK5uB,EAAG32D,OAAQomB,EAAIm/D,EAAIn/D,IAChCsrC,EAAEtrC,IAAMuwC,EAAGvwC,IAAMA,EAAI,EAAIC,EAAIC,QAGtC,GAAW,KAAPyxF,EACPE,EAAO,CAAC5xF,EAAGC,GAAGjgB,OAAOswD,EAAG7pD,MAAM,IAC9B8hD,EAAI5jD,MACJ4jD,EAAMA,EAAIvoD,OAAO6xG,EAAkBD,EAAMD,IACzCtmD,EAAI,CAAC,KAAKrrD,OAAOswD,EAAG7pD,OAAO,SACxB,GAAW,KAAPirG,EACPnpD,EAAI5jD,OACJitG,EAAOL,EAAYvxF,EAAGC,EAAGqwC,EAAG,GAAIA,EAAG,KAC9Bp1D,KAAK02G,EAAK,IACfrpD,EAAMA,EAAIvoD,OAAO4xG,QACd,GAAW,KAAPF,EACPnpD,EAAI5jD,MACJ4jD,EAAMA,EAAIvoD,OAAOuxG,EAAYvxF,EAAGC,EAAGqwC,EAAG,GAAIA,EAAG,GAAIA,EAAG,KACpDjF,EAAI,CAAC,KAAKrrD,OAAOuoD,EAAIA,EAAI5uD,OAAS,GAAG8M,OAAO,SAE5C,IAAK,IAAIhC,EAAI,EAAGw/E,EAAK3zB,EAAG32D,OAAQ8K,EAAIw/E,EAAIx/E,IACpC4mD,EAAE5mD,GAAK6rD,EAAG7rD,GAIlB,GAAW,MADXitG,EAAMA,EAAIzgG,eAEN,OAAQo6C,EAAE,IACN,IAAK,IACDrrC,GAAKkuF,EACLjuF,GAAKkuF,EACL,MACJ,IAAK,IACDnuF,EAAIqrC,EAAE,GACN,MACJ,IAAK,IACDprC,EAAIorC,EAAE,GACN,MACJ,IAAK,IACD6iD,EAAK7iD,EAAEA,EAAE1xD,OAAS,GAClBw0G,EAAK9iD,EAAEA,EAAE1xD,OAAS,GACtB,QACIqmB,EAAIqrC,EAAEA,EAAE1xD,OAAS,GACjBsmB,EAAIorC,EAAEA,EAAE1xD,OAAS,IAMjC,OAFA4uD,EAAIx+C,SAAWA,EACfmyF,EAAI5/E,IAAM6vF,EAAU5jD,GACbA,EAEX,SAASupD,EAAItZ,EAAIC,EAAIC,EAAIC,GACrB,MAAO,CAACH,EAAIC,EAAIC,EAAIC,EAAID,EAAIC,GAEhC,SAASoZ,EAAIvZ,EAAIC,EAAIuZ,EAAIC,EAAIvZ,EAAIC,GAC7B,IAAIuZ,EAAM,EAAI,EACVC,EAAM,EAAI,EACd,MAAO,CACCD,EAAM1Z,EAAK2Z,EAAMH,EACjBE,EAAMzZ,EAAK0Z,EAAMF,EACjBC,EAAMxZ,EAAKyZ,EAAMH,EACjBE,EAAMvZ,EAAKwZ,EAAMF,EACjBvZ,EACAC,GAGZ,SAASyZ,EAAI5Z,EAAIC,EAAImP,EAAIC,EAAI7P,EAAOqa,EAAgBC,EAAY5Z,EAAIC,EAAI4Z,GAGpE,IAGIjC,EAHAkC,EAAY,IAALtd,EAAW,IAClBoC,EAAMpC,EAAK,MAAQ8C,GAAS,GAC5BzvC,EAAM,GAEN40C,EAAS7yC,EAAKirC,EAAE2B,QAAO,SAAUl3E,EAAGC,EAAGq3E,GAGnC,MAAO,CAACt3E,EAFAA,EAAI41E,EAAKsC,IAAIZ,GAAOr3E,EAAI21E,EAAKX,IAAIqC,GAE3Br3E,EADND,EAAI41E,EAAKX,IAAIqC,GAAOr3E,EAAI21E,EAAKsC,IAAIZ,OAGjD,IAAKsQ,IAAOC,EACR,MAAO,CAACrP,EAAIC,EAAIC,EAAIC,EAAID,EAAIC,GAEhC,GAAK4Z,EAqCDE,EAAKF,EAAU,GACfG,EAAKH,EAAU,GACf1pF,EAAK0pF,EAAU,GACfhO,EAAKgO,EAAU,OAxCH,CAEZ/Z,GADA8X,EAAKnT,EAAO3E,EAAIC,GAAKnB,IACbt3E,EACRy4E,EAAK6X,EAAGrwF,EAERy4E,GADA4X,EAAKnT,EAAOzE,EAAIC,GAAKrB,IACbt3E,EACR24E,EAAK2X,EAAGrwF,EACE21E,EAAKsC,IAAIhD,EAAK,IAAM8C,GACpBpC,EAAKX,IAAIC,EAAK,IAAM8C,GAD9B,IAEIh4E,GAAKw4E,EAAKE,GAAM,EAChBz4E,GAAKw4E,EAAKE,GAAM,EAChB71E,EAAI9C,EAAIA,GAAK4nF,EAAKA,GAAM3nF,EAAIA,GAAK4nF,EAAKA,GACtC/kF,EAAI,IAEJ8kF,GADA9kF,EAAI8yE,EAAKd,KAAKhyE,GAEd+kF,GAAK/kF,GAET,IAAI6vF,EAAM/K,EAAKA,EACXgL,EAAM/K,EAAKA,EACXpjG,GAAK4tG,GAAkBC,GAAc,EAAI,GACrC1c,EAAKd,KAAKx4E,GAAKq2F,EAAMC,EAAMD,EAAM1yF,EAAIA,EAAI2yF,EAAM5yF,EAAIA,IAAM2yF,EAAM1yF,EAAIA,EAAI2yF,EAAM5yF,EAAIA,KACrF6I,EAAKpkB,EAAImjG,EAAK3nF,EAAI4nF,GAAMrP,EAAKE,GAAM,EACnC6L,EAAK9/F,GAAKojG,EAAK7nF,EAAI4nF,GAAMnP,EAAKE,GAAM,EACpC8Z,EAAK7c,EAAKuC,OAAOM,EAAK8L,GAAMsD,GAAIvM,QAAQ,IACxCoX,EAAK9c,EAAKuC,OAAOQ,EAAK4L,GAAMsD,GAAIvM,QAAQ,KAE5CmX,EAAKja,EAAK3vE,EAAKqsE,EAAKud,EAAKA,GAEpB,IAAMA,EAAU,EAALvd,EAASud,IADzBC,EAAKha,EAAK7vE,EAAKqsE,EAAKwd,EAAKA,GAEpB,IAAMA,EAAU,EAALxd,EAASwd,GACrBJ,GAAcG,EAAKC,IACnBD,GAAe,EAALvd,IAETod,GAAcI,EAAKD,IACpBC,GAAe,EAALxd,GAQlB,IAAItpB,EAAK8mC,EAAKD,EACd,GAAIn2F,EAAIsvD,GAAM4mC,EAAM,CAChB,IAAIK,EAAQH,EACRI,EAAQpa,EACRqa,EAAQpa,EACZ+Z,EAAKD,EAAKD,GAAQF,GAAcI,EAAKD,EAAK,GAAK,GAG/ClqD,EAAM6pD,EAFN1Z,EAAK7vE,EAAK++E,EAAKhS,EAAKsC,IAAIwa,GACxB/Z,EAAK4L,EAAKsD,EAAKjS,EAAKX,IAAIyd,GACN9K,EAAIC,EAAI7P,EAAO,EAAGsa,EAAYQ,EAAOC,EAAO,CAACL,EAAIG,EAAOhqF,EAAI07E,IAElF34B,EAAK8mC,EAAKD,EACV,IAAIO,EAAKpd,EAAKsC,IAAIua,GACdQ,EAAKrd,EAAKX,IAAIwd,GACdS,EAAKtd,EAAKsC,IAAIwa,GACdS,EAAKvd,EAAKX,IAAIyd,GACdxmF,EAAI0pE,EAAKqC,IAAIrsB,EAAK,GAClBwnC,EAAK,EAAI,EAAIxL,EAAK17E,EAClBmnF,EAAK,EAAI,EAAIxL,EAAK37E,EAClBonF,EAAK,CAAC9a,EAAIC,GACV8a,EAAK,CAAC/a,EAAK4a,EAAKH,EAAIxa,EAAK4a,EAAKL,GAC9BQ,EAAK,CAAC9a,EAAK0a,EAAKD,EAAIxa,EAAK0a,EAAKH,GAC9BO,EAAK,CAAC/a,EAAIC,GAGd,GAFA4a,EAAG,GAAK,EAAID,EAAG,GAAKC,EAAG,GACvBA,EAAG,GAAK,EAAID,EAAG,GAAKC,EAAG,GACnBhB,EACA,MAAO,CAACgB,EAAIC,EAAIC,GAAIzzG,OAAOuoD,GAI3B,IADA,IAAImrD,EAAS,GACJj6G,EAAI,EAAG0gF,GAFhB5xB,EAAM,CAACgrD,EAAIC,EAAIC,GAAIzzG,OAAOuoD,GAAK9iD,OAAOT,MAAM,MAEnBrL,OAAQF,EAAI0gF,EAAI1gF,IACrCi6G,EAAOj6G,GAAKA,EAAI,EAAI0jG,EAAO50C,EAAI9uD,EAAI,GAAI8uD,EAAI9uD,GAAI69F,GAAKr3E,EAAIk9E,EAAO50C,EAAI9uD,GAAI8uD,EAAI9uD,EAAI,GAAI69F,GAAKt3E,EAE5F,OAAO0zF,EAef,SAASlF,EAASmF,EAAIC,EAAIpb,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAI1C,IAHA,IAEI/yF,EAAGC,EAAGomB,EAAGD,EAAG4hF,EAAIX,EAAI0G,EAAMC,EAF1BC,EAAU,GACVC,EAAS,CAAC,GAAI,IAETv6G,EAAI,EAAGA,EAAI,IAAKA,EAUrB,GATS,GAALA,GACAsM,EAAI,EAAI4tG,EAAK,GAAKnb,EAAK,EAAIE,EAC3B5yF,GAAK,EAAI6tG,EAAK,EAAInb,EAAK,EAAIE,EAAK,EAAIE,EACpCzsE,EAAI,EAAIqsE,EAAK,EAAImb,IAEjB5tG,EAAI,EAAI6tG,EAAK,GAAKnb,EAAK,EAAIE,EAC3B7yF,GAAK,EAAI8tG,EAAK,EAAInb,EAAK,EAAIE,EAAK,EAAIE,EACpC1sE,EAAI,EAAIssE,EAAK,EAAImb,GAEjBt3F,EAAIxW,GAAK,MAAb,CACI,GAAIwW,EAAIvW,GAAK,MACT,SAGA,GADJmmB,GAAKC,EAAIpmB,IACImmB,EAAI,GACb6nF,EAAQ74G,KAAKgxB,QAIrB2nF,EAAO9tG,EAAIA,EAAI,EAAIomB,EAAIrmB,EACvBguG,EAAWle,EAAKd,KAAK+e,GACjBA,EAAO,IAIP,GADJ/F,IAAO/nG,EAAI+tG,IAAa,EAAIhuG,KACdgoG,EAAK,GACfiG,EAAQ74G,KAAK4yG,GAGb,GADJX,IAAOpnG,EAAI+tG,IAAa,EAAIhuG,KACdqnG,EAAK,GACf4G,EAAQ74G,KAAKiyG,IAOrB,IAHA,IAEI8G,EAFMl0F,EAAIg0F,EAAQp6G,OAClBu6G,EAAOn0F,EAEJA,KAEHk0F,EAAK,GADL/nF,EAAI6nF,EAAQh0F,IAEZi0F,EAAO,GAAGj0F,GAAKk0F,EAAKA,EAAKA,EAAKN,EAAK,EAAIM,EAAKA,EAAK/nF,EAAIssE,EAAK,EAAIyb,EAAK/nF,EAAIA,EAAIwsE,EAAKxsE,EAAIA,EAAIA,EAAI0sE,EAC5Fob,EAAO,GAAGj0F,GAAKk0F,EAAKA,EAAKA,EAAKL,EAAK,EAAIK,EAAKA,EAAK/nF,EAAIusE,EAAK,EAAIwb,EAAK/nF,EAAIA,EAAIysE,EAAKzsE,EAAIA,EAAIA,EAAI2sE,EAUhG,OAPAmb,EAAO,GAAGE,GAAQP,EAClBK,EAAO,GAAGE,GAAQN,EAClBI,EAAO,GAAGE,EAAO,GAAKtb,EACtBob,EAAO,GAAGE,EAAO,GAAKrb,EACtBmb,EAAO,GAAGr6G,OAASq6G,EAAO,GAAGr6G,OAASu6G,EAAO,EAGtC,CACLtmG,IAAK,CAACoS,EAAG81E,EAAK77F,MAAM,EAAG+5G,EAAO,IAAK/zF,EAAG61E,EAAK77F,MAAM,EAAG+5G,EAAO,KAC3DnmG,IAAK,CAACmS,EAAG61E,EAAK57F,MAAM,EAAG+5G,EAAO,IAAK/zF,EAAG41E,EAAK57F,MAAM,EAAG+5G,EAAO,MAIjE,SAASpG,EAAWtvG,EAAMqyG,GACtB,IAAIzU,GAAOyU,GAAS/E,EAAMttG,GAC1B,IAAKqyG,GAASzU,EAAIiY,MACd,OAAOhI,EAAUjQ,EAAIiY,OAyFzB,IAvFA,IAAIv6F,EAAI63F,EAAenzG,GACnB+nB,EAAKsqF,GAASc,EAAed,GAC7B5J,EAAQ,CAAC/mF,EAAG,EAAGC,EAAG,EAAGm0F,GAAI,EAAGC,GAAI,EAAG30B,EAAG,EAAGC,EAAG,EAAG20B,GAAI,KAAMC,GAAI,MAC7DC,EAAS,CAACx0F,EAAG,EAAGC,EAAG,EAAGm0F,GAAI,EAAGC,GAAI,EAAG30B,EAAG,EAAGC,EAAG,EAAG20B,GAAI,KAAMC,GAAI,MAC9DE,EAAc,SAAUn2G,EAAM+W,EAAGq/F,GAC7B,IAAItG,EAAIC,EACR,IAAK/vG,EACD,MAAO,CAAC,IAAK+W,EAAE2K,EAAG3K,EAAE4K,EAAG5K,EAAE2K,EAAG3K,EAAE4K,EAAG5K,EAAE2K,EAAG3K,EAAE4K,GAG5C,SADE3hB,EAAK,IAAM,CAACqvD,EAAG,EAAGL,EAAG,MAAQj4C,EAAEi/F,GAAKj/F,EAAEk/F,GAAK,MACrCj2G,EAAK,IACT,IAAK,IACD+W,EAAEqqE,EAAIphF,EAAK,GACX+W,EAAEsqE,EAAIrhF,EAAK,GACX,MACJ,IAAK,IACDA,EAAO,CAAC,KAAK0B,OAAOoyG,EAAIn4G,MAAM,EAAG,CAACob,EAAE2K,EAAG3K,EAAE4K,GAAGjgB,OAAO1B,EAAKmI,MAAM,MAC9D,MACJ,IAAK,IACW,KAARiuG,GAAuB,KAARA,GACftG,EAAW,EAAN/4F,EAAE2K,EAAQ3K,EAAE++F,GACjB/F,EAAW,EAANh5F,EAAE4K,EAAQ5K,EAAEg/F,KAGjBjG,EAAK/4F,EAAE2K,EACPquF,EAAKh5F,EAAE4K,GAEX3hB,EAAO,CAAC,IAAK8vG,EAAIC,GAAIruG,OAAO1B,EAAKmI,MAAM,IACvC,MACJ,IAAK,IACW,KAARiuG,GAAuB,KAARA,GACfr/F,EAAEi/F,GAAW,EAANj/F,EAAE2K,EAAQ3K,EAAEi/F,GACnBj/F,EAAEk/F,GAAW,EAANl/F,EAAE4K,EAAQ5K,EAAEk/F,KAGnBl/F,EAAEi/F,GAAKj/F,EAAE2K,EACT3K,EAAEk/F,GAAKl/F,EAAE4K,GAEb3hB,EAAO,CAAC,KAAK0B,OAAO+xG,EAAI18F,EAAE2K,EAAG3K,EAAE4K,EAAG5K,EAAEi/F,GAAIj/F,EAAEk/F,GAAIj2G,EAAK,GAAIA,EAAK,KAC5D,MACJ,IAAK,IACD+W,EAAEi/F,GAAKh2G,EAAK,GACZ+W,EAAEk/F,GAAKj2G,EAAK,GACZA,EAAO,CAAC,KAAK0B,OAAO+xG,EAAI18F,EAAE2K,EAAG3K,EAAE4K,EAAG3hB,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,KAClE,MACJ,IAAK,IACDA,EAAO,CAAC,KAAK0B,OAAO8xG,EAAIz8F,EAAE2K,EAAG3K,EAAE4K,EAAG3hB,EAAK,GAAIA,EAAK,KAChD,MACJ,IAAK,IACDA,EAAO,CAAC,KAAK0B,OAAO8xG,EAAIz8F,EAAE2K,EAAG3K,EAAE4K,EAAG3hB,EAAK,GAAI+W,EAAE4K,IAC7C,MACJ,IAAK,IACD3hB,EAAO,CAAC,KAAK0B,OAAO8xG,EAAIz8F,EAAE2K,EAAG3K,EAAE4K,EAAG5K,EAAE2K,EAAG1hB,EAAK,KAC5C,MACJ,IAAK,IACDA,EAAO,CAAC,KAAK0B,OAAO8xG,EAAIz8F,EAAE2K,EAAG3K,EAAE4K,EAAG5K,EAAEqqE,EAAGrqE,EAAEsqE,IAGjD,OAAOrhF,GAEXq2G,EAAS,SAAUC,EAAIn7G,GACnB,GAAIm7G,EAAGn7G,GAAGE,OAAS,EAAG,CAClBi7G,EAAGn7G,GAAGwhE,QAEN,IADA,IAAI0f,EAAKi6B,EAAGn7G,GACLkhF,EAAGhhF,QACNk7G,EAAOp7G,GAAK,IACZ4sB,IAAOyuF,EAAOr7G,GAAK,KACnBm7G,EAAGpmG,OAAO/U,IAAK,EAAG,CAAC,KAAKuG,OAAO26E,EAAGnsE,OAAO,EAAG,KAEhDomG,EAAGpmG,OAAO/U,EAAG,GACb0gF,EAAK0b,EAAKj8E,EAAEjgB,OAAQ0sB,GAAMA,EAAG1sB,QAAU,KAG/Co7G,EAAO,SAAUrE,EAAOC,EAAOqE,EAAIC,EAAIx7G,GAC/Bi3G,GAASC,GAAwB,KAAfD,EAAMj3G,GAAG,IAA4B,KAAfk3G,EAAMl3G,GAAG,KACjDk3G,EAAMniG,OAAO/U,EAAG,EAAG,CAAC,IAAKw7G,EAAGj1F,EAAGi1F,EAAGh1F,IAClC+0F,EAAGZ,GAAK,EACRY,EAAGX,GAAK,EACRW,EAAGh1F,EAAI0wF,EAAMj3G,GAAG,GAChBu7G,EAAG/0F,EAAIywF,EAAMj3G,GAAG,GAChB0gF,EAAK0b,EAAKj8E,EAAEjgB,OAAQ0sB,GAAMA,EAAG1sB,QAAU,KAG/Ck7G,EAAS,GACTC,EAAS,GACTI,EAAS,GACTR,EAAO,GACFj7G,EAAI,EAAG0gF,EAAK0b,EAAKj8E,EAAEjgB,OAAQ0sB,GAAMA,EAAG1sB,QAAU,GAAIF,EAAI0gF,EAAI1gF,IAAK,CACpEmgB,EAAEngB,KAAOy7G,EAASt7F,EAAEngB,GAAG,IAET,KAAVy7G,IAEAL,EAAOp7G,GAAKy7G,EACZz7G,IAAOi7G,EAAOG,EAAOp7G,EAAI,KAE7BmgB,EAAEngB,GAAKg7G,EAAY76F,EAAEngB,GAAIstG,EAAO2N,GAEf,KAAbG,EAAOp7G,IAAuB,KAAVy7G,IAAeL,EAAOp7G,GAAK,KAInDk7G,EAAO/6F,EAAGngB,GAEN4sB,IACAA,EAAG5sB,KAAOy7G,EAAS7uF,EAAG5sB,GAAG,IACX,KAAVy7G,IACAJ,EAAOr7G,GAAKy7G,EACZz7G,IAAMi7G,EAAOI,EAAOr7G,EAAI,KAE5B4sB,EAAG5sB,GAAKg7G,EAAYpuF,EAAG5sB,GAAI+6G,EAAQE,GAElB,KAAbI,EAAOr7G,IAAuB,KAAVy7G,IACpBJ,EAAOr7G,GAAK,KAGhBk7G,EAAOtuF,EAAI5sB,IAEfs7G,EAAKn7F,EAAGyM,EAAI0gF,EAAOyN,EAAQ/6G,GAC3Bs7G,EAAK1uF,EAAIzM,EAAG46F,EAAQzN,EAAOttG,GAC3B,IAAI07G,EAAMv7F,EAAEngB,GACR27G,EAAO/uF,GAAMA,EAAG5sB,GAChB47G,EAASF,EAAIx7G,OACb27G,EAAUjvF,GAAM+uF,EAAKz7G,OACzBotG,EAAM/mF,EAAIm1F,EAAIE,EAAS,GACvBtO,EAAM9mF,EAAIk1F,EAAIE,EAAS,GACvBtO,EAAMqN,GAAK1e,EAAQyf,EAAIE,EAAS,KAAOtO,EAAM/mF,EAC7C+mF,EAAMsN,GAAK3e,EAAQyf,EAAIE,EAAS,KAAOtO,EAAM9mF,EAC7Cu0F,EAAOJ,GAAK/tF,IAAOqvE,EAAQ0f,EAAKE,EAAU,KAAOd,EAAOx0F,GACxDw0F,EAAOH,GAAKhuF,IAAOqvE,EAAQ0f,EAAKE,EAAU,KAAOd,EAAOv0F,GACxDu0F,EAAOx0F,EAAIqG,GAAM+uF,EAAKE,EAAU,GAChCd,EAAOv0F,EAAIoG,GAAM+uF,EAAKE,EAAU,GAKpC,OAHKjvF,IACD61E,EAAIiY,MAAQhI,EAAUvyF,IAEnByM,EAAK,CAACzM,EAAGyM,GAAMzM,EAqB1B,SAASi4F,EAAkB0D,EAAKr1F,GAE5B,IADA,IAAI7K,EAAI,GACC5b,EAAI,EAAG+7G,EAAOD,EAAI57G,OAAQ67G,EAAO,GAAKt1F,EAAIzmB,EAAGA,GAAK,EAAG,CAC1D,IAAImgB,EAAI,CACI,CAACoG,GAAIu1F,EAAI97G,EAAI,GAAIwmB,GAAIs1F,EAAI97G,EAAI,IAC7B,CAACumB,GAAIu1F,EAAI97G,GAAQwmB,GAAIs1F,EAAI97G,EAAI,IAC7B,CAACumB,GAAIu1F,EAAI97G,EAAI,GAAIwmB,GAAIs1F,EAAI97G,EAAI,IAC7B,CAACumB,GAAIu1F,EAAI97G,EAAI,GAAIwmB,GAAIs1F,EAAI97G,EAAI,KAErCymB,EACKzmB,EAEM+7G,EAAO,GAAK/7G,EACnBmgB,EAAE,GAAK,CAACoG,GAAIu1F,EAAI,GAAIt1F,GAAIs1F,EAAI,IACrBC,EAAO,GAAK/7G,IACnBmgB,EAAE,GAAK,CAACoG,GAAIu1F,EAAI,GAAIt1F,GAAIs1F,EAAI,IAC5B37F,EAAE,GAAK,CAACoG,GAAIu1F,EAAI,GAAIt1F,GAAIs1F,EAAI,KAL5B37F,EAAE,GAAK,CAACoG,GAAIu1F,EAAIC,EAAO,GAAIv1F,GAAIs1F,EAAIC,EAAO,IAQ1CA,EAAO,GAAK/7G,EACZmgB,EAAE,GAAKA,EAAE,GACDngB,IACRmgB,EAAE,GAAK,CAACoG,GAAIu1F,EAAI97G,GAAIwmB,GAAIs1F,EAAI97G,EAAI,KAGxC4b,EAAEna,KAAK,CAAC,MACA0e,EAAE,GAAGoG,EAAI,EAAIpG,EAAE,GAAGoG,EAAIpG,EAAE,GAAGoG,GAAK,IAChCpG,EAAE,GAAGqG,EAAI,EAAIrG,EAAE,GAAGqG,EAAIrG,EAAE,GAAGqG,GAAK,GACjCrG,EAAE,GAAGoG,EAAI,EAAIpG,EAAE,GAAGoG,EAAIpG,EAAE,GAAGoG,GAAK,GAChCpG,EAAE,GAAGqG,EAAI,EAAErG,EAAE,GAAGqG,EAAIrG,EAAE,GAAGqG,GAAK,EAC/BrG,EAAE,GAAGoG,EACLpG,EAAE,GAAGqG,IAIf,OAAO5K,EAIXi1C,EAAKhsD,KAAOstG,EAYZthD,EAAKhsD,KAAKm7F,eAAiBA,EAiB3BnvC,EAAKhsD,KAAKy7F,iBAAmBA,EAa7BzvC,EAAKhsD,KAAKm3G,WAAa,SAAUn3G,EAAMuG,EAAM7I,GACzC,GAAI9B,KAAKu/F,eAAen7F,GAAQtC,EAAK,KACjC,OAAO6xG,EAAoBvvG,EAAMuG,GAAMpE,IAE3C,IAAIqF,EAAI+nG,EAAoBvvG,EAAMtC,EAAI,GACtC,OAAO6I,EAAOgpG,EAAoB/nG,EAAGjB,GAAMpE,IAAMqF,GASrDy7F,EAAQ9H,eAAiB,WACrB,GAAIv/F,KAAKujB,KAAKg8E,eACV,OAAOv/F,KAAKujB,KAAKg8E,kBAmBzB8H,EAAQxH,iBAAmB,SAAUpgG,GACjC,OAAOogG,EAAiB7/F,KAAKyZ,KAAK,KAAMha,IAc5C4nG,EAAQkU,WAAa,SAAU5wG,EAAM7I,GACjC,OAAOsuD,EAAKhsD,KAAKm3G,WAAWv7G,KAAKyZ,KAAK,KAAM9O,EAAM7I,IAEtDsuD,EAAKirC,EAAEqL,IAAMA,EAwCbt2C,EAAKhsD,KAAKyuG,kBAAoBA,EA4B9BziD,EAAKhsD,KAAKiwG,WAAaA,EAavBjkD,EAAKhsD,KAAKmwG,kBAAoBA,EAC9BnkD,EAAKpH,QAAU,SAAUljC,EAAGC,EAAGy/D,EAAGC,GAgB9B,IAfA,IAAIt0B,EAAI,IACJtlD,EAAI66F,EAAI5gF,EAAIqrC,EAAI,EAAGprC,EAAIorC,EAAI,EAAGA,EAAGA,GACjCqqD,EAAS,GACT9jB,EAASlS,EAAE,GAAG3lF,eAAe,KAAO,SAAUN,GAC1C,MAAO,CACHumB,EAAG0/D,EAAEjmF,GAAGumB,EACRC,EAAGy/D,EAAEjmF,GAAGwmB,IAEZ,SAAUxmB,GACV,MAAO,CACHumB,EAAG0/D,EAAEjmF,GACLwmB,EAAG0/D,EAAElmF,KAGbk8G,EAAQ,EACLtqD,GAAK,MAAQsqD,GAAO,CACvB,IAAK,IAAIl8G,EAAI,EAAG0gF,EAAKuF,EAAE/lF,OAAQF,EAAI0gF,EAAI1gF,IAAK,CACxC,IAAI62G,EAAK1e,EAAOn4F,GAChB,GAAIg1G,EAAkB1oG,EAAGuqG,EAAGtwF,EAAGswF,EAAGrwF,GAAI,CAClC01F,IACAD,EAAOx6G,KAAKo1G,GACZ,OAGHqF,IAED5vG,EAAI66F,EAAI5gF,GADRqrC,GAAK,GACW,EAAGprC,EAAIorC,EAAI,EAAGA,EAAGA,IAGzC,GAAS,KAALA,EAAJ,CAGA,IACI9C,EADA9uC,EAAMymE,IAEV,IAAKzmF,EAAI,EAAG0gF,EAAKu7B,EAAO/7G,OAAQF,EAAI0gF,EAAI1gF,IAAK,CACzC,IAAIwxD,EAAIX,EAAK7wC,IAAIuG,EAAGC,EAAGy1F,EAAOj8G,GAAGumB,EAAG01F,EAAOj8G,GAAGwmB,GAC1CxG,EAAMwxC,IACNxxC,EAAMwxC,EACNyqD,EAAOj8G,GAAGggB,IAAMwxC,EAChB1C,EAAMmtD,EAAOj8G,IAGrB,OAAO8uD,IAaX+B,EAAKhsD,KAAKowG,gBAAkBA,EAwB5BpkD,EAAKhsD,KAAKs3G,aAjgCV,SAA0BlF,EAAOC,GAC7B,OAAOF,EAAgBC,EAAOC,IAigClCrmD,EAAKhsD,KAAKu3G,mBA//BV,SAAgCnF,EAAOC,GACnC,OAAOF,EAAgBC,EAAOC,EAAO,IA6gCzCrmD,EAAKhsD,KAAKw3G,cAt9BV,SAA2Bx3G,EAAM0hB,EAAGC,GAChC,IAAIy8E,EAAOyU,EAAS7yG,GACpB,OAAOmwG,EAAkB/R,EAAM18E,EAAGC,IAC3BwwF,EAAgBnyG,EAAM,CAAC,CAAC,IAAK0hB,EAAGC,GAAI,CAAC,IAAKy8E,EAAKhE,GAAK,KAAM,GAAK,GAAK,GAs+B/EpuC,EAAKhsD,KAAKo/F,QAAUyT,EACpB7mD,EAAKhsD,KAAKwiB,IAAM0wF,EAWhBlnD,EAAKhsD,KAAKy3G,WA13BV,SAAwB3J,GACpB,IAAIlQ,EAAM0P,EAAMQ,GACZ4J,EAAYz5F,OAAOziB,UAAUuM,YACjC,GAAI61F,EAAI+Z,IACJ,OAAO9J,EAAUjQ,EAAI+Z,KAEpB3rD,EAAKmM,GAAG21C,EAAW,UAAa9hD,EAAKmM,GAAG21C,GAAaA,EAAU,GAAI,WACpEA,EAAY9hD,EAAK0xC,gBAAgBoQ,IAErC,IAAI7jD,EAAM,GACNvoC,EAAI,EACJC,EAAI,EACJiuF,EAAK,EACLC,EAAK,EACL7hF,EAAQ,EACW,KAAnB8/E,EAAU,GAAG,KAGb8B,EAFAluF,EAAIosF,EAAU,GAAG,GAGjB+B,EAFAluF,EAAImsF,EAAU,GAAG,GAGjB9/E,IACAi8B,EAAIrtD,KAAK,CAAC,IAAK8kB,EAAGC,KAEtB,IAAK,IAAIxmB,EAAI6yB,EAAO6tD,EAAKiyB,EAAUzyG,OAAQF,EAAI0gF,EAAI1gF,IAAK,CACpD,IAAI4xD,EAAI9C,EAAI9uD,GAAK,GACb62D,EAAK87C,EAAU3yG,GACnB,GAAI62D,EAAG,IAAM0lD,EAAUh8G,KAAKs2D,EAAG,IAE3B,OADAjF,EAAE,GAAK2qD,EAAUh8G,KAAKs2D,EAAG,IACjBjF,EAAE,IACN,IAAK,IACDA,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,GAAKiF,EAAG,GACVjF,EAAE,KAAOiF,EAAG,GAAKtwC,GAAGs7E,QAAQ,GAC5BjwC,EAAE,KAAOiF,EAAG,GAAKrwC,GAAGq7E,QAAQ,GAC5B,MACJ,IAAK,IACDjwC,EAAE,KAAOiF,EAAG,GAAKrwC,GAAGq7E,QAAQ,GAC5B,MACJ,IAAK,IACD4S,EAAK59C,EAAG,GACR69C,EAAK79C,EAAG,GACZ,QACI,IAAK,IAAIvwC,EAAI,EAAGm/D,EAAK5uB,EAAG32D,OAAQomB,EAAIm/D,EAAIn/D,IACpCsrC,EAAEtrC,KAAOuwC,EAAGvwC,IAAMA,EAAI,EAAIC,EAAIC,IAAIq7E,QAAQ,OAGnD,CACHjwC,EAAI9C,EAAI9uD,GAAK,GACA,KAAT62D,EAAG,KACH49C,EAAK59C,EAAG,GAAKtwC,EACbmuF,EAAK79C,EAAG,GAAKrwC,GAEjB,IAAK,IAAIxb,EAAI,EAAGw/E,EAAK3zB,EAAG32D,OAAQ8K,EAAIw/E,EAAIx/E,IACpC8jD,EAAI9uD,GAAGgL,GAAK6rD,EAAG7rD,GAGvB,IAAIgV,EAAM8uC,EAAI9uD,GAAGE,OACjB,OAAQ4uD,EAAI9uD,GAAG,IACX,IAAK,IACDumB,EAAIkuF,EACJjuF,EAAIkuF,EACJ,MACJ,IAAK,IACDnuF,IAAMuoC,EAAI9uD,GAAGggB,EAAM,GACnB,MACJ,IAAK,IACDwG,IAAMsoC,EAAI9uD,GAAGggB,EAAM,GACnB,MACJ,QACIuG,IAAMuoC,EAAI9uD,GAAGggB,EAAM,GACnBwG,IAAMsoC,EAAI9uD,GAAGggB,EAAM,IAK/B,OAFA8uC,EAAIx+C,SAAWA,EACfmyF,EAAI+Z,IAAM9J,EAAU5jD,GACbA,GAuzBX+B,EAAKhsD,KAAKmpG,WAAagK,EAWvBnnD,EAAKhsD,KAAK43G,QAAUtI,EAUpBtjD,EAAKhsD,KAAK8P,IA1YV,SAAiB9P,EAAM4jG,GACnB,IAAKA,EACD,OAAO5jG,EAEX,IAAI0hB,EAAGC,EAAGxmB,EAAGsmB,EAAGo6D,EAAI+E,EAAIi3B,EAExB,IAAK18G,EAAI,EAAG0gF,GADZ77E,EAAOsvG,EAAWtvG,IACI3E,OAAQF,EAAI0gF,EAAI1gF,IAElC,IAAKsmB,EAAI,EAAGm/D,GADZi3B,EAAQ73G,EAAK7E,IACUE,OAAQomB,EAAIm/D,EAAIn/D,GAAK,EACxCC,EAAIkiF,EAAOliF,EAAEm2F,EAAMp2F,GAAIo2F,EAAMp2F,EAAI,IACjCE,EAAIiiF,EAAOjiF,EAAEk2F,EAAMp2F,GAAIo2F,EAAMp2F,EAAI,IACjCo2F,EAAMp2F,GAAKC,EACXm2F,EAAMp2F,EAAI,GAAKE,EAGvB,OAAO3hB,GA4XXgsD,EAAKhsD,KAAKyL,SAAWA,EACrBugD,EAAKhsD,KAAKy5F,MAAQoU,KAgBtB7hD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,GACxC,IAAIS,EAAOhsF,KAAKgE,IACZioF,EAAOjsF,KAAK+D,IAGZovC,EAAM,SAAUo5D,GAKhB,GAJAl8G,KAAKk8G,MAAQ,GACpBl8G,KAAKm8G,SAAW,GACTn8G,KAAKP,OAAS,EACdO,KAAK+d,KAAO,MACRm+F,EACA,IAAK,IAAI38G,EAAI,EAAG0gF,EAAKi8B,EAAMz8G,OAAQF,EAAI0gF,EAAI1gF,IACnC28G,EAAM38G,KACNS,KAAKA,KAAKk8G,MAAMz8G,QAAUO,KAAKk8G,MAAMl8G,KAAKk8G,MAAMz8G,QAAUy8G,EAAM38G,GAChES,KAAKP,WAKrB28G,EAAWt5D,EAAIljD,UAQfw8G,EAASp7G,KAAO,WAGZ,IAFA,IAAI+K,EACAwT,EACKhgB,EAAI,EAAG0gF,EAAKzgF,UAAUC,OAAQF,EAAI0gF,EAAI1gF,KAC3CwM,EAAOvM,UAAUD,MAGbS,KADAuf,EAAMvf,KAAKk8G,MAAMz8G,QACLO,KAAKk8G,MAAM38F,GAAOxT,EAC9B/L,KAAKP,UAGb,OAAOO,MASXo8G,EAAS3xG,IAAM,WAEX,OADAzK,KAAKP,eAAiBO,KAAKA,KAAKP,UACzBO,KAAKk8G,MAAMzxG,OActB2xG,EAAS9zG,QAAU,SAAUmF,EAAU4uG,GACnC,IAAK,IAAI98G,EAAI,EAAG0gF,EAAKjgF,KAAKk8G,MAAMz8G,OAAQF,EAAI0gF,EAAI1gF,IAC5C,IAAiD,IAA7CkO,EAAS3N,KAAKu8G,EAASr8G,KAAKk8G,MAAM38G,GAAIA,GACtC,OAAOS,KAGf,OAAOA,MAuBXo8G,EAAS5iG,QAAU,SAAUqzF,EAAOtE,EAAIjO,EAAQ7sF,GACvB,mBAAV6sF,GAAyBA,EAAO76F,SACvCgO,EAAW6sF,EACXA,EAASzB,EAAK0B,QAEdsS,aAAiBz8C,EAAKirC,EAAEihB,YACxB7uG,EAAWo/F,EAAMp/F,SACjB6sF,EAASuS,EAAMvS,OACfiO,EAAKjO,EAAOT,IACZgT,EAAQA,EAAMpzF,MAElB,IAAIjQ,EAAOhK,UACX,GAAI4wD,EAAKmM,GAAGswC,EAAO,UAAYz8C,EAAKmM,GAAG/yD,EAAKA,EAAK/J,OAAS,GAAI,SAC1D,IAAI88G,GAAO,EAEf,IAAI35F,EACAmqC,EAAU,WACFnqC,EACA5iB,KAAK6L,EAAI+W,EAETA,EAAQ5iB,KAAK6L,GAGrB2tD,EAAK,EACLliD,EAAMtX,KACNw8G,EAAa/uG,GAAY,aACf+rD,GAAMliD,EAAI7X,QACZgO,EAAS3N,KAAKE,OAG1B,OAAOA,KAAKsI,SAAQ,SAAUsO,EAAIrX,GAC9Bw5F,IAAI+M,KAAK,oBAAsBlvF,EAAGQ,GAAI21C,GAClCwvD,EACA/yG,EAAKjK,IAAMqX,EAAG4C,QAAQzZ,MAAM6W,EAAIpN,EAAKjK,IAErCqX,EAAG4C,QAAQqzF,EAAOtE,EAAIjO,EAAQkiB,OAY1CJ,EAASlT,OAAS,WACd,KAAOlpG,KAAKP,QACRO,KAAKyK,MAAMy+F,SAEf,OAAOlpG,MAqBXo8G,EAAS98D,KAAO,SAAU7lC,EAAM7N,EAAGC,GAC/B,IAAIuvB,EAAO,GACX,GAAgB,mBAALxvB,EACP5L,KAAKm8G,SAAS1iG,GAAQ7N,MACnB,CACH,IAAI6wG,EAAQ5wG,GAAK4N,EACjBzZ,KAAKm8G,SAAS1iG,GAAQ,SAAU63C,GAC5Bl2B,EAAKqhF,GAASnrD,EACd1lD,EAAE6N,KAAK2hB,IAGf,OAAOp7B,MASXo8G,EAAS3iG,KAAO,SAAUxY,GACtB,IAAIy7G,EAAU,GACd,IAAK,IAAInyG,KAAKtJ,EACNjB,KAAKm8G,SAAS5xG,GACdvK,KAAKm8G,SAAS5xG,GAAGtJ,EAAMsJ,IAEvBmyG,EAAQnyG,GAAKtJ,EAAMsJ,GAG3B,IAAK,IAAIhL,EAAI,EAAG0gF,EAAKjgF,KAAKk8G,MAAMz8G,OAAQF,EAAI0gF,EAAI1gF,IAC5CS,KAAKk8G,MAAM38G,GAAGka,KAAKijG,GAEvB,OAAO18G,MAQXo8G,EAAS5K,MAAQ,WACb,KAAOxxG,KAAKP,QACRO,KAAKyK,OAcb2xG,EAAS9nG,OAAS,SAAUhK,EAAOga,EAAOq4F,GACtCryG,EAAQA,EAAQ,EAAIqxF,EAAK37F,KAAKP,OAAS6K,EAAO,GAAKA,EACnDga,EAAQq3E,EAAK,EAAGC,EAAK57F,KAAKP,OAAS6K,EAAOga,IAC1C,IAGI/kB,EAHA2iF,EAAO,GACP06B,EAAQ,GACRpzG,EAAO,GAEX,IAAKjK,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAC9BiK,EAAKxI,KAAKxB,UAAUD,IAExB,IAAKA,EAAI,EAAGA,EAAI+kB,EAAO/kB,IACnBq9G,EAAM57G,KAAKhB,KAAKsK,EAAQ/K,IAE5B,KAAOA,EAAIS,KAAKP,OAAS6K,EAAO/K,IAC5B2iF,EAAKlhF,KAAKhB,KAAKsK,EAAQ/K,IAE3B,IAAIs9G,EAASrzG,EAAK/J,OAClB,IAAKF,EAAI,EAAGA,EAAIs9G,EAAS36B,EAAKziF,OAAQF,IAClCS,KAAKk8G,MAAM5xG,EAAQ/K,GAAKS,KAAKsK,EAAQ/K,GAAKA,EAAIs9G,EAASrzG,EAAKjK,GAAK2iF,EAAK3iF,EAAIs9G,GAG9E,IADAt9G,EAAIS,KAAKk8G,MAAMz8G,OAASO,KAAKP,QAAU6kB,EAAQu4F,EACxC78G,KAAKT,WACDS,KAAKT,KAEhB,OAAO,IAAIujD,EAAI85D,IAWnBR,EAASU,QAAU,SAAUlmG,GACzB,IAAK,IAAIrX,EAAI,EAAG0gF,EAAKjgF,KAAKP,OAAQF,EAAI0gF,EAAI1gF,IAAK,GAAIS,KAAKT,IAAMqX,EAE1D,OADA5W,KAAKsU,OAAO/U,EAAG,IACR,EAEX,OAAO,GAWX68G,EAASnT,YAAc,SAAUryF,GAE7B,IADA,IAAIrX,EAAIS,KAAKk8G,MAAMz8G,OACZF,KACHS,KAAKk8G,MAAM38G,GAAG0pG,YAAYryF,GAE9B,OAAO5W,MASXo8G,EAAS5Y,QAAU,WAKf,IAJA,IAAI19E,EAAI,GACJC,EAAI,GACJy4E,EAAK,GACLC,EAAK,GACAl/F,EAAIS,KAAKk8G,MAAMz8G,OAAQF,KAAM,IAAKS,KAAKk8G,MAAM38G,GAAGkoG,QAAS,CAC9D,IAAIf,EAAM1mG,KAAKk8G,MAAM38G,GAAGikG,UACxB19E,EAAE9kB,KAAK0lG,EAAI5gF,GACXC,EAAE/kB,KAAK0lG,EAAI3gF,GACXy4E,EAAGx9F,KAAK0lG,EAAI5gF,EAAI4gF,EAAIjwF,OACpBgoF,EAAGz9F,KAAK0lG,EAAI3gF,EAAI2gF,EAAI1rF,QAMxB,MAAO,CACH8K,EALJA,EAAI81E,EAAK77F,MAAM,EAAG+lB,GAMdC,EALJA,EAAI61E,EAAK77F,MAAM,EAAGgmB,GAMdy4E,GALJA,EAAK7C,EAAK57F,MAAM,EAAGy+F,GAMfC,GALJA,EAAK9C,EAAK57F,MAAM,EAAG0+F,GAMfhoF,MAAO+nF,EAAK14E,EACZ9K,OAAQyjF,EAAK14E,EACb4I,GAAI7I,GAAK04E,EAAK14E,GAAK,EACnBukF,GAAItkF,GAAK04E,EAAK14E,GAAK,IAW3Bq2F,EAASve,MAAQ,SAAUxlD,GACvBA,EAAI,IAAIyK,EACR,IAAK,IAAIvjD,EAAI,EAAG0gF,EAAKjgF,KAAKk8G,MAAMz8G,OAAQF,EAAI0gF,EAAI1gF,IAC5C84C,EAAEr3C,KAAKhB,KAAKk8G,MAAM38G,GAAGs+F,SAEzB,OAAOxlD,GAEX+jE,EAASvsG,SAAW,WAChB,MAAO,mBAEXusG,EAASr+F,KAAO,MAQhBqyC,EAAKtN,IAAMA,EAYXsN,EAAK94C,IAAM,WACP,IAAIA,EAAM,IAAIwrC,EAId,OAHItjD,UAAUC,QACV6X,EAAItW,KAAKjB,MAAMuX,EAAKnX,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,IAEvD8X,MAiBf84C,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,GACxC,IAAIpiD,EAAQ,GACRi2D,EAAS,YACTxT,EAAMl5E,OAEV,SAAS06F,EAAShxG,GACd,IAAIglD,EAAIhlD,EAAK,GACb,OAAQglD,EAAE5kD,eACN,IAAK,IAAK,MAAO,CAAC4kD,EAAG,EAAG,GACxB,IAAK,IAAK,MAAO,CAACA,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACpC,IAAK,IAAK,OAAmB,GAAfhlD,EAAKtM,OACR,CAACsxD,EAAG,EAAGhlD,EAAK,GAAIA,EAAK,IAErB,CAACglD,EAAG,GAEf,IAAK,IAAK,OAAmB,GAAfhlD,EAAKtM,OACR,CAACsxD,EAAG,EAAG,EAAGhlD,EAAK,GAAIA,EAAK,IACT,GAAfA,EAAKtM,OACL,CAACsxD,EAAG,EAAG,GAEP,CAACA,EAAG,IAwCvB,SAASk+C,EAAUx8E,GACf,OAAOA,EAOX,SAASuqF,EAAWvqF,GAChB,OAAOA,EAAIlnB,KAAK,KAEpB,SAAS0xG,EAAUvb,GACf,OAAOtxC,EAAK2wC,IAAIW,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAEhD,SAAS4V,EAAQlzG,GACb,IAAW7E,EAAG0gF,EAAIp6D,EAAGm/D,EAAI5iD,EAAKx2B,EAA1BrB,EAAI,EAAyBsB,EAAI,GACrC,IAAKtM,EAAI,EAAG0gF,EAAK77E,EAAK3E,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAGvC,IAFA6iC,EAAM,IACNx2B,EAAI,CAAC,IAAMxH,EAAK7E,GAAG,GAAK,KACnBsmB,EAAI,EAAGm/D,EAAK5gF,EAAK7E,GAAGE,OAAQomB,EAAIm/D,EAAIn/D,IACrCja,EAAEia,GAAK,OAAStb,IAAM,IAE1B63B,GAAOx2B,EAAI,IACXC,EAAEtM,GAAK6iC,EAEX,OAAOgtD,SAAS,MAAO,mCAAqCvjF,EAAI,MAEpE,SAASqxG,EAAW94G,GAEhB,IADA,IAAIg+B,EAAM,GACD7iC,EAAI,EAAG0gF,EAAK77E,EAAK3E,OAAQF,EAAI0gF,EAAI1gF,IACtC,IAAK,IAAIsmB,EAAI,EAAGm/D,EAAK5gF,EAAK7E,GAAGE,OAAQomB,EAAIm/D,EAAIn/D,IACzCuc,EAAIphC,KAAKoD,EAAK7E,GAAGsmB,IAGzB,OAAOuc,EAEX,SAAS+6E,EAAUzxG,GACf,OAAOoxF,SAASpxF,GA7FpBotC,EAAMskE,OAAStkE,EAAMwqD,KAAO,SAqG5B7T,EAAQ7vF,UAAUy9G,MAAQ,SAAU14G,EAAMkH,GACtC,OAAOktF,IAAI,kBAAmB/4F,KAAM2E,EAAMkH,GAAGk5F,gBAEjDhM,IAAIjsC,GAAG,mBAAmB,SAAUnoD,EAAMkH,GACtC,IAAI2lD,EAAGK,EAAGjmD,EAAI2vF,EAAIv7F,KAAKyZ,KAAK9U,IAAS,IACjCiS,EAAK5W,KACT,GAAmB,UAAf84C,EAAMn0C,GAGN,OAFA6sD,EAAIpB,EAAKr5B,MAAMnrB,GACfimD,EAAIzB,EAAKr5B,MAAMlrB,GACR,CACHlB,KAAM,CAAC6mD,EAAEL,EAAGK,EAAEkB,EAAGlB,EAAE3lD,EAAG2lD,EAAE7mC,SACxB7oB,GAAI,CAAC+vD,EAAEV,EAAGU,EAAEa,EAAGb,EAAEhmD,EAAGgmD,EAAElnC,SACtB2tB,EAAG2kE,GAGX,GAAY,WAARt4G,EAGA,MAAO,CACHgG,KAHJ6mD,EAAIxxD,KAAKyZ,KAAK9U,GAAM03D,GAAGvxD,MAAM,KAAKoJ,IAAI2pB,QAIlC/7B,GAHJ+vD,EAAIhmD,EAAEf,MAAM,KAAKoJ,IAAI2pB,QAIjBya,EAAG0kE,GAGX,GAAY,aAARr4G,GAA+B,qBAARA,GAAuC,oBAARA,EAUtD,MATgB,iBAALkH,IACPA,EAAI0vF,EAAI1vF,GAAG7I,QAAQ,gBAAiB4I,IA3GhD,SAA2BgoG,EAAIX,EAAIzP,GAC/BoQ,EAAKA,GAAM,IAAIxjD,EAAKsyC,OACpBuQ,EAAKA,GAAM,IAAI7iD,EAAKsyC,OACpBkR,EAAKxjD,EAAK8xC,qBAAqB0R,EAAGnL,sBAAwB,GAC1DwK,EAAK7iD,EAAK8xC,qBAAqB+Q,EAAGxK,sBAAwB,GAM1D,IALA,IAGW5iF,EAAGm/D,EACVs4B,EAAKC,EAJLC,EAAY7tG,KAAKgE,IAAIigG,EAAGn0G,OAAQwzG,EAAGxzG,QACnCkL,EAAO,GACP7I,EAAK,GACLvC,EAAI,EAEDA,EAAIi+G,EAAWj+G,IAAK,CAGvB,GAFA+9G,EAAM1J,EAAGr0G,IAAMw9G,EAAS9J,EAAG1zG,IAC3Bg+G,EAAMtK,EAAG1zG,IAAMw9G,EAASO,GACpBA,EAAI,IAAMC,EAAI,IACU,KAAxBD,EAAI,GAAGnxG,gBAAyBmxG,EAAI,IAAMC,EAAI,IAAMD,EAAI,IAAMC,EAAI,KAC1C,KAAxBD,EAAI,GAAGnxG,gBAAyBmxG,EAAI,IAAMC,EAAI,IAAMD,EAAI,IAAMC,EAAI,IAChE,CACE3J,EAAKxjD,EAAKirC,EAAEkH,iBAAiBqR,EAAIpQ,KACjCyP,EAAK7iD,EAAKirC,EAAEkH,iBAAiB0Q,EAAIzP,KACjC74F,EAAO,CAAC,CAAC,IAAKipG,EAAGhoG,EAAGgoG,EAAG/nG,EAAG+nG,EAAG3hF,EAAG2hF,EAAGz4F,EAAGy4F,EAAG9mG,EAAG8mG,EAAGt7D,IAC/Cx2C,EAAK,CAAC,CAAC,IAAKmxG,EAAGrnG,EAAGqnG,EAAGpnG,EAAGonG,EAAGhhF,EAAGghF,EAAG93F,EAAG83F,EAAGnmG,EAAGmmG,EAAG36D,IAC7C,MAIR,IAFA3tC,EAAKpL,GAAK,GACVuC,EAAGvC,GAAK,GACHsmB,EAAI,EAAGm/D,EAAKr1E,KAAKgE,IAAI2pG,EAAI79G,OAAQ89G,EAAI99G,QAASomB,EAAIm/D,EAAIn/D,IACvDA,KAAKy3F,IAAQ3yG,EAAKpL,GAAGsmB,GAAKy3F,EAAIz3F,IAC9BA,KAAK03F,IAAQz7G,EAAGvC,GAAGsmB,GAAK03F,EAAI13F,IAGpC,MAAO,CACHlb,KAAMuyG,EAAWvyG,GACjB7I,GAAIo7G,EAAWp7G,GACfw2C,EAAGg/D,EAAQ3sG,IAkFJ8yG,CANP7xG,EAAI5L,KAAKgoG,OAILn8F,EAHCukD,EAAKirC,EAAEiH,YAAYllF,KAAKvR,GAGrBukD,EAAKirC,EAAEkH,iBAAiB12F,EAAG7L,KAAKwjG,WAFhCpzC,EAAKirC,EAAEkH,iBAAiBnyC,EAAKirC,EAAE+G,oBAAoBv2F,GAAI7L,KAAKwjG,YAIrC,WAC3B,OAAO5sF,EAAG4sF,QAAQ,MAG1B,GAAY,KAAR7+F,GAAuB,QAARA,EAEf,MAAO,CACHgG,KAAMuyG,GAFV1rD,EAAIpB,EAAKhsD,KAAK43G,QAAQpwG,EAAGC,IAEF,IACnB/J,GAAIo7G,EAAW1rD,EAAE,IACjBlZ,EAAGg/D,EAAQ9lD,EAAE,KAGrB,GAAY,UAAR7sD,EAGA,MAAO,CACHgG,KAHJ6mD,EAAI+pC,EAAI3vF,GAAGd,MAAMslD,EAAKirC,EAAEY,WAIpBn6F,GAHJ+vD,EAAI0pC,EAAI1vF,GAAGf,MAAMslD,EAAKirC,EAAEY,WAIpB3jD,EAAG,SAAU7lB,GAAO,OAAOA,IAGnC,GAAI0qF,EAAUvxG,IAAMuxG,EAAUtxG,GAC1B,MAAO,CACHlB,KAAMw1C,WAAWv0C,GACjB9J,GAAIq+C,WAAWt0C,GACfysC,EAAG22D,GAGX,IAxGaE,EAoCGuO,EAAMl+F,EAoElB+vF,EAAQ3jG,EAAEtH,MAAMyqG,GAChB4O,EAAQpiB,EAAI1vF,GAAGvH,MAAMyqG,GACzB,OAAIQ,IAtEYmO,EAsEQnO,EAtEF/vF,EAsESm+F,EArE1BvtD,EAAKmM,GAAGmhD,EAAM,UAAattD,EAAKmM,GAAG/8C,EAAM,UAGvCk+F,EAAK7tG,YAAc2P,EAAK3P,YAmEpB,CACHlF,KAAMw1C,WAAWv0C,GACjB9J,GAAIq+C,WAAWt0C,GACfysC,GA9GK62D,EA8GMI,EA7GZ,SAAU98E,GACb,OAAQA,EAAI2uE,QAAQ,GAAK+N,KA+GlB,CACHxkG,KAAM3K,KAAKmpG,KAAKxkG,GAChB7C,GAAI9B,KAAKmpG,KAAKxkG,EAAMkH,GACpBysC,EAAG22D,SAmBnB7+C,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,GAmTxC,IAlTA,IAAImM,EAAU5X,EAAQ7vF,UAEtBg+G,GAAgB,gBAAiB1iB,EAAKC,KACtC0iB,EAAS,CACL,QAAS,WAAY,YAAa,YAAa,WAC/C,YAAa,UAAW,aAAc,YAAa,WACnD,eAEJC,EAAW,CACPC,UAAW,aACXC,UAAW,YACXC,QAAS,YAEbC,EAAY,SAAU9H,EAAIx/F,GACtB,IAAIjS,EAAa,KAANyxG,EAAY,YAAc,aACjCjb,EAAMvkF,GAAMA,EAAG2M,KAAO3M,EAAG2M,KAAKk2C,cAAgByhC,EAAKC,IACvD,OAAOA,EAAIx2F,KAAQw2F,EAAI1pE,gBAAkB,kBAAoB,QAAQ9sB,IAKzEw5G,EAAe,WACX,OAAOn+G,KAAKo+G,cAAcr7E,kBAK9Bs7E,EAAY,WACR,OAAOr+G,KAAKo+G,cAAcn7E,mBAE9Bq7E,EAAW,SAAU5yG,EAAKqS,EAAMzU,EAAI/B,GAChC,IAAIg3G,EAAWX,GAAiBE,EAAS//F,GAAQ+/F,EAAS//F,GAAQA,EAC9Du6B,EAAI,SAAUxrC,GACV,IAAI0xG,EAAUN,EAAU,IAAK32G,GACzBk3G,EAAUP,EAAU,IAAK32G,GAC7B,GAAIq2G,GAAiBE,EAAQ,eAAM//F,GAC/B,IAAK,IAAIxe,EAAI,EAAG0gF,EAAKnzE,EAAEo/D,eAAiBp/D,EAAEo/D,cAAczsE,OAAQF,EAAI0gF,EAAI1gF,IACpE,GAAIuN,EAAEo/D,cAAc3sE,GAAGD,QAAUoM,GAAOA,EAAIslC,SAASlkC,EAAEo/D,cAAc3sE,GAAGD,QAAS,CAC7E,IAAIo/G,EAAO5xG,GACXA,EAAIA,EAAEo/D,cAAc3sE,IAClB6+G,cAAgBM,EAClB5xG,EAAEi2B,eAAiBo7E,EACnBrxG,EAAEm2B,gBAAkBo7E,EACpB,MAIZ,IAAIv4F,EAAIhZ,EAAE+jC,QAAU4tE,EAChB14F,EAAIjZ,EAAEy4B,QAAUi5E,EACpB,OAAOl1G,EAAGxJ,KAAKyH,EAASuF,EAAGgZ,EAAGC,IAStC,OANIhI,IAASwgG,GACT7yG,EAAIwF,iBAAiB6M,EAAMu6B,GAAG,GAGlC5sC,EAAIwF,iBAAiBqtG,EAAUjmE,GAAG,GAE3B,WAMH,OALIv6B,IAASwgG,GACT7yG,EAAIyF,oBAAoB4M,EAAMu6B,GAAG,GAGrC5sC,EAAIyF,oBAAoBotG,EAAUjmE,GAAG,IAC9B,IAGfqmE,EAAO,GACPC,EAAW,SAAU9xG,GAOjB,IANA,IAII+xG,EAJA/4F,EAAIhZ,EAAE+jC,QACN9qB,EAAIjZ,EAAEy4B,QACNi5E,EAAUN,EAAU,KACpBO,EAAUP,EAAU,KAEpBr4F,EAAI84F,EAAKl/G,OACNomB,KAAK,CAER,GADAg5F,EAAQF,EAAK94F,GACT+3F,GAGA,IAFA,IACIhtE,EADArxC,EAAIuN,EAAE6jC,SAAW7jC,EAAE6jC,QAAQlxC,OAExBF,KAEH,IADAqxC,EAAQ9jC,EAAE6jC,QAAQpxC,IACRilB,YAAcq6F,EAAMjoG,GAAGkoG,MAAM1nG,IAAMynG,EAAMjoG,GAAG2M,KAAKytB,SAASJ,EAAMtxC,QAAS,CAC/EwmB,EAAI8qB,EAAMC,QACV9qB,EAAI6qB,EAAMrL,SACTz4B,EAAEsxG,cAAgBtxG,EAAEsxG,cAAgBtxG,GAAGi2B,iBACxC,YAIRj2B,EAAEi2B,iBAEN,IAAIxf,EAAOs7F,EAAMjoG,GAAG2M,KAETA,EAAKjD,YACHiD,EAAK3B,WACJ2B,EAAKrf,MAAMm1B,QAOzBvT,GAAK24F,EACL14F,GAAKy4F,EACLzlB,IAAI,kBAAoB8lB,EAAMjoG,GAAGQ,GAAIynG,EAAME,YAAcF,EAAMjoG,GAAIkP,EAAI+4F,EAAMjoG,GAAGkoG,MAAMh5F,EAAGC,EAAI84F,EAAMjoG,GAAGkoG,MAAM/4F,EAAGD,EAAGC,EAAGjZ,KAG7HkyG,EAAS,SAATA,EAAmBlyG,GACfsjD,EAAK6uD,YAAYL,GAAUM,UAAUF,GAGrC,IAFA,IACIH,EADAt/G,EAAIo/G,EAAKl/G,OAENF,MACHs/G,EAAQF,EAAKp/G,IACPqX,GAAGkoG,MAAQ,GACjB/lB,IAAI,iBAAmB8lB,EAAMjoG,GAAGQ,GAAIynG,EAAMM,WAAaN,EAAMO,aAAeP,EAAME,YAAcF,EAAMjoG,GAAI9J,GAC1GisF,IAAI/rC,IAAI,eAAiB6xD,EAAMjoG,GAAGQ,IAEtCunG,EAAO,IA4LFp/G,EAAIs+G,EAAOp+G,OAAQF,MACxB,SAAW8/G,GACPjvD,EAAKivD,GAAahY,EAAQgY,GAAa,SAAU/1G,EAAI2zF,GACjD,GAAI7sC,EAAKmM,GAAGjzD,EAAI,YACZtJ,KAAK69G,OAAS79G,KAAK69G,QAAU,GAC7B79G,KAAK69G,OAAO78G,KAAK,CACb2D,KAAM06G,EACN/mE,EAAGhvC,EACHg2G,OAAQhB,EAASt+G,KAAKujB,MAAQtV,SAAUoxG,EAAW/1G,EAAI2zF,GAASj9F,aAGpE,IAAK,IAAIT,EAAI,EAAG0gF,EAAKjgF,KAAK69G,OAAOp+G,OAAQF,EAAI0gF,EAAI1gF,IAAK,GAAIS,KAAK69G,OAAOt+G,GAAGoF,MAAQ06G,EAC7E,IACIr/G,KAAK69G,OAAOt+G,GAAG+4C,EAAEx4C,KAAKE,MACxB,MAAO8M,IAGjB,OAAO9M,MAEXowD,EAAK,KAAOivD,GACZhY,EAAQ,KAAOgY,GAAa,SAAU/1G,GAGlC,IAFA,IAAIu0G,EAAS79G,KAAK69G,QAAU,GACxB9sD,EAAI8sD,EAAOp+G,OACRsxD,KAAK,GAAI8sD,EAAO9sD,GAAGpsD,MAAQ06G,IAClBxB,EAAO9sD,GAAGzY,GAAKhvC,IAAOA,GAIlC,OAHAu0G,EAAO9sD,GAAGuuD,SACVzB,EAAOvpG,OAAOy8C,EAAG,IAChB8sD,EAAOp+G,eAAiBO,KAAK69G,OACvB79G,KAEX,OAAOA,MA7Bf,CA+BG69G,EAAOt+G,IAad8nG,EAAQzP,MAAQ,SAAU2nB,EAAMC,EAAOC,EAAUC,GAC7C,OAAO1/G,KAAK2/G,UAAUJ,EAAME,GAAUG,SAASJ,EAAOE,GAAaD,IAWvEpY,EAAQwY,QAAU,SAAUN,EAAMC,GAC9B,OAAOx/G,KAAK8/G,YAAYP,GAAMQ,WAAWP,IAE7C,IAAIQ,EAAY,GAmChB3Y,EAAQsX,KAAO,SAAUsB,EAAQC,EAASC,EAAOpB,EAAYK,EAAaD,GACtE,IAEQiB,EAFJxpG,EAAK5W,KACT,IAAKR,UAAUC,OAEX,OAAOmX,EAAG+nG,MAAK,SAAU5f,EAAIC,GACzBh/F,KAAKyZ,KAAK,CACNipB,UAAW09E,GAAiBA,EAAgB,IAAM,KAAO,CAACrhB,EAAIC,QAEnE,WACCohB,EAAgBpgH,KAAK0iC,YAAY4lE,SAGzC,SAASl2E,EAAMtlB,EAAGgZ,EAAGC,IAChBjZ,EAAEsxG,eAAiBtxG,GAAGi2B,iBACvBnsB,EAAGkoG,MAAMh5F,EAAIA,EACblP,EAAGkoG,MAAM/4F,EAAIA,EACbnP,EAAGkoG,MAAM1nG,GAAKtK,EAAE0X,YACfm6F,EAAKl/G,QAAU2wD,EAAK4tD,UAAUY,GAAUX,QAAQe,GACjDL,EAAK39G,KAAK,CAAC4V,GAAIA,EAAImoG,WAAYA,EAAYK,YAAaA,EAAaD,UAAWA,IAChFe,GAAWnnB,IAAIjsC,GAAG,mBAAqBl2C,EAAGQ,GAAI8oG,GAC9CD,GAAUlnB,IAAIjsC,GAAG,kBAAoBl2C,EAAGQ,GAAI6oG,GAC5CE,GAASpnB,IAAIjsC,GAAG,iBAAmBl2C,EAAGQ,GAAI+oG,GAC1CpnB,IAAI,mBAAqBniF,EAAGQ,GAAIgoG,GAAeL,GAAcnoG,EAAIkP,EAAGC,EAAGjZ,GAE3E,SAASuzG,EAAKvzG,EAAGgZ,EAAGC,GAChBgzE,IAAI,iBAAmBniF,EAAGQ,GAAIR,EAAI9J,EAAGgZ,EAAGC,GAM5C,OAJAgzE,IAAIjsC,GAAG,iBAAmBl2C,EAAGQ,GAAIgb,GACjCxb,EAAGkoG,MAAQ,GACXkB,EAAUh/G,KAAK,CAAC4V,GAAIA,EAAIwb,MAAOA,EAAOiuF,KAAMA,IAC5CzpG,EAAGmnG,UAAUsC,GACNzpG,GAkBXywF,EAAQiZ,OAAS,WAEb,IADA,IAAI/gH,EAAIygH,EAAUvgH,OACXF,KAASygH,EAAUzgH,GAAGqX,IAAM5W,OAC/BA,KAAKugH,YAAYP,EAAUzgH,GAAG8gH,MAC9BL,EAAU1rG,OAAO/U,EAAG,GACpBw5F,IAAIumB,OAAO,eAAiBt/G,KAAKoX,IACjC2hF,IAAIumB,OAAO,iBAAmBt/G,KAAKoX,KAGvC,OADC4oG,EAAUvgH,QAAU2wD,EAAK6uD,YAAYL,GAAUM,UAAUF,GACnDh/G,SAiBfowD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,GAC1BzL,EAAQ7vF,UAAtB,IACI4gH,EAASplB,EAAMx7F,UACf6gH,EAAQ,kBACRllB,EAAMl5E,OACNs6E,EAAIvsC,EAAKirC,EAAEsB,EACfvsC,EAAKnoD,OAAS,GAgBdu4G,EAAOv4G,OAAS,SAAUy4G,GACtB,IAAI3c,EAAQ/jG,KACM,OAAd+jG,EAAMhmF,OACNgmF,EAAQA,EAAMA,OAElB,IAAIzrD,EAAI8X,EAAK1rC,MAAM62E,EAAImlB,IACnBtpG,EAAKg5C,EAAKirC,EAAEjkF,KAGZnP,GAFQ87F,EAAMxgF,KAAK0sF,YACVlM,EAAMxgF,KAAK8f,aACXs5D,EAAE,WAOf,OANAA,EAAE10F,EAAQ,CACNmP,GAAIA,EACJupG,YAAa,mBAEjB14G,EAAOgZ,YAAYq3B,EAAE/0B,MACrBwgF,EAAMK,KAAKnjF,YAAYhZ,GAChB,IAAIwnF,EAAQxnF,IAGvB8wF,IAAIjsC,GAAG,4BAA4B,WAC/BisC,IAAI/D,OACJ,IAAIt1E,EAAIi9E,EAAE38F,KAAKujB,KAAM,UACrB,GAAI7D,EAAG,CACH,IAAIpb,EAAQi3F,EAAI77E,GAAGpb,MAAMm8G,GACzB,OAAOn8G,GAAS8rD,EAAK72C,OAAOjV,EAAM,QAG1Cy0F,IAAIjsC,GAAG,yBAAyB,SAAU7rD,GACtC,GAAIA,aAAiBwuF,GAAyB,UAAdxuF,EAAM8c,KAAkB,CACpDg7E,IAAI/D,OACJ,IAAI59E,EAAKnW,EAAMsiB,KAAKnM,GACfA,IACDulF,EAAE17F,EAAMsiB,KAAM,CAACnM,GAAInW,EAAMmW,KACzBA,EAAKnW,EAAMmW,IAEfulF,EAAE38F,KAAKujB,KAAM,CACTtb,OAAQmoD,EAAKprD,IAAIoS,KAGpBnW,GAAkB,QAATA,IACV83F,IAAI/D,OACJh1F,KAAKujB,KAAKjL,gBAAgB,cAkBlC83C,EAAKnoD,OAAO8R,KAAO,SAAU+L,EAAGC,GACnB,MAALD,IACAA,EAAI,GAER,IAAI86F,EAAW,MAAL76F,EAAYD,EAAI,CAACA,EAAGC,GAC9B,OAAOqqC,EAAKktC,OAAO,yCAA2C,CAC1DsjB,IAAKA,KAGbxwD,EAAKnoD,OAAO8R,KAAKlK,SAAW,WACxB,OAAO7P,QA6BXowD,EAAKnoD,OAAO44G,OAAS,SAAU9hB,EAAIC,EAAIjlF,EAAMgd,EAAOpM,GA0BhD,OAzBe,MAAXA,IACa,MAAToM,GACApM,EAAU5Q,EACVA,EAAO,EACPgd,EAAQ,SAERpM,EAAUoM,EACVA,EAAQhd,EACRA,EAAO,IAGH,MAARA,IACAA,EAAO,GAEI,MAAX4Q,IACAA,EAAU,GAEJ,MAANo0E,IACAA,EAAK,EACLC,EAAK,GAEC,MAANA,IACAA,EAAKD,GAEThoE,EAAQq5B,EAAKr5B,MAAMA,GACZq5B,EAAKktC,OAAO,kVAAmV,CAClWvmE,MAAOA,EACPgoE,GAAIA,EACJC,GAAIA,EACJjlF,KAAMA,EACN4Q,QAASA,KAGjBylC,EAAKnoD,OAAO44G,OAAOhxG,SAAW,WAC1B,OAAO7P,QAWXowD,EAAKnoD,OAAO64G,UAAY,SAAUC,GAI9B,OAHc,MAAVA,IACAA,EAAS,GAEN3wD,EAAKktC,OAAO,oGAAqG,CACpH1xF,EAAG,MAAS,OAAU,EAAIm1G,GAC1Bl1G,EAAG,MAAS,OAAU,EAAIk1G,GAC1B9uF,EAAG,MAAS,OAAU,EAAI8uF,GAC1B5lG,EAAG,MAAS,OAAU,EAAI4lG,GAC1Bj0G,EAAG,MAAS,OAAU,EAAIi0G,GAC1BzoE,EAAG,MAAS,OAAU,EAAIyoE,GAC1BruD,EAAG,MAAS,OAAU,EAAIquD,GAC1Bn4F,EAAG,MAAS,OAAU,EAAIm4F,MAGlC3wD,EAAKnoD,OAAO64G,UAAUjxG,SAAW,WAC7B,OAAO7P,QAWXowD,EAAKnoD,OAAO+4G,MAAQ,SAAUD,GAI1B,OAHc,MAAVA,IACAA,EAAS,GAEN3wD,EAAKktC,OAAO,oGAAqG,CACpH1xF,EAAG,KAAQ,MAAS,EAAIm1G,GACxBl1G,EAAG,KAAQ,MAAS,EAAIk1G,GACxB9uF,EAAG,KAAQ,MAAS,EAAI8uF,GACxB5lG,EAAG,KAAQ,MAAS,EAAI4lG,GACxBj0G,EAAG,KAAQ,MAAS,EAAIi0G,GACxBzoE,EAAG,KAAQ,MAAS,EAAIyoE,GACxBruD,EAAG,KAAQ,MAAS,EAAIquD,GACxBn4F,EAAG,KAAQ,MAAS,EAAIm4F,GACxBxhH,EAAG,KAAQ,MAAS,EAAIwhH,MAGhC3wD,EAAKnoD,OAAO+4G,MAAMnxG,SAAW,WACzB,OAAO7P,QAWXowD,EAAKnoD,OAAOg5G,SAAW,SAAUF,GAI7B,OAHc,MAAVA,IACAA,EAAS,GAEN3wD,EAAKktC,OAAO,qDAAsD,CACrEyjB,OAAQ,EAAIA,KAGpB3wD,EAAKnoD,OAAOg5G,SAASpxG,SAAW,WAC5B,OAAO7P,QAWXowD,EAAKnoD,OAAOi5G,UAAY,SAAUpjB,GAE9B,OADAA,EAAQA,GAAS,EACV1tC,EAAKktC,OAAO,qDAAsD,CACrEQ,MAAOA,KAGf1tC,EAAKnoD,OAAOi5G,UAAUrxG,SAAW,WAC7B,OAAO7P,QAWXowD,EAAKnoD,OAAO86F,OAAS,SAAUge,GAK3B,OAJc,MAAVA,IACAA,EAAS,GAGN3wD,EAAKktC,OAAO,sNAAuN,CACtOyjB,OAAQA,EACRI,QAAS,EAAIJ,KAGrB3wD,EAAKnoD,OAAO86F,OAAOlzF,SAAW,WAC1B,OAAO7P,QAWXowD,EAAKnoD,OAAOm5G,WAAa,SAAUL,GAI/B,OAHc,MAAVA,IACAA,EAAS,GAEN3wD,EAAKktC,OAAO,yKAA0K,CACzLyjB,OAAQA,KAGhB3wD,EAAKnoD,OAAOm5G,WAAWvxG,SAAW,WAC9B,OAAO7P,QAWXowD,EAAKnoD,OAAOo5G,SAAW,SAAUN,GAI7B,OAHc,MAAVA,IACAA,EAAS,GAEN3wD,EAAKktC,OAAO,2OAA4O,CAC3PyjB,OAAQA,EACRI,QAAS,GAAKJ,EAAS,KAG/B3wD,EAAKnoD,OAAOo5G,SAASxxG,SAAW,WAC5B,OAAO7P,WAiBfowD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAImlE,EAAMt2C,EAAKirC,EAAEqL,IACbnqC,EAAKnM,EAAKmM,GACV+kD,EAAc,sBACdzxG,EAAW,WACP,MAAO,IAAM7P,KAAK++F,GAAK,IAAM/+F,KAAKg/F,IAgB1CvP,EAAQ7vF,UAAU2hH,SAAW,SAAU3qG,EAAI4qG,GAC5B,MAAPA,GAAejlD,EAAG3lD,EAAI,YACtB4qG,EAAM5qG,EACNA,EAAK,MAGT,IAAIsjG,GADJtjG,EAAKA,GAAM5W,KAAK+jG,OACJP,QAAU5sF,EAAG4sF,UAAYkD,EAAI9vF,GACrC2iD,EAAKv5D,KAAKwjG,UACVphE,EAAM,GAGV,OADAo/E,GADAA,EAAMA,GAAOA,EAAIl9G,MAAMg9G,IACXE,EAAI,GAAGr1G,cAAgB,KAE/B,IAAK,IACDi2B,EAAI28D,GAAK,EACT38D,EAAI48D,GAAKkb,EAAGn0F,EAAIwzC,EAAGxzC,EACvB,MACA,IAAK,IACDqc,EAAI28D,GAAK,EACT38D,EAAI48D,GAAKkb,EAAGzb,GAAKllC,EAAGklC,GACxB,MACA,IAAK,IACDr8D,EAAI28D,GAAK,EACT38D,EAAI48D,GAAKkb,EAAG7P,GAAK9wC,EAAG8wC,GACxB,MACA,IAAK,IACDjoE,EAAI28D,GAAKmb,EAAGp0F,EAAIyzC,EAAGzzC,EACnBsc,EAAI48D,GAAK,EACb,MACA,IAAK,IACD58D,EAAI28D,GAAKmb,EAAG1b,GAAKjlC,EAAGilC,GACpBp8D,EAAI48D,GAAK,EACb,MACA,QACI58D,EAAI28D,GAAKmb,EAAGvrF,GAAK4qC,EAAG5qC,GACpByT,EAAI48D,GAAK,EAIjB,OADA58D,EAAIvyB,SAAWA,EACRuyB,GAgBXqtD,EAAQ7vF,UAAU6hH,MAAQ,SAAU7qG,EAAI4qG,GACpC,OAAOxhH,KAAK0iC,UAAU,MAAQ1iC,KAAKuhH,SAAS3qG,EAAI4qG,QAiBxDpxD,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,EAAM35D,GAC9C,IAAI8lE,EAAU5X,EAAQ7vF,UAClB28D,EAAKnM,EAAKmM,GACVg/B,EAAMl5E,OACNghC,EAAM,iBACV,SAAS92C,EAAM5B,EAAM7I,EAAIw2C,GACrB,OAAO,SAAUp4C,GACb,IAAImuD,EAAMnuD,EAAIqM,MAAM5B,EAAM7I,GAI1B,OAHkB,GAAdusD,EAAI5uD,SACJ4uD,EAAMA,EAAI,IAEP/V,EAAIA,EAAE+V,GAAOA,GAG5B,IAAIiuD,EAAY,SAAU7iG,EAAM8uF,EAAIjO,EAAQ7sF,GACnB,mBAAV6sF,GAAyBA,EAAO76F,SACvCgO,EAAW6sF,EACXA,EAASzB,EAAK0B,QAElBv6F,KAAKyZ,KAAOA,EACZzZ,KAAK65F,IAAM0O,EACXjO,IAAWt6F,KAAKs6F,OAASA,GACzB7sF,IAAazN,KAAKyN,SAAWA,IAEjC2iD,EAAKirC,EAAEihB,UAAYA,EAanBlsD,EAAKn2B,UAAY,SAAUxgB,EAAM8uF,EAAIjO,EAAQ7sF,GACzC,OAAO,IAAI6uG,EAAU7iG,EAAM8uF,EAAIjO,EAAQ7sF,IAiB3C45F,EAAQqa,OAAS,WACb,IAAI9qG,EAAK5W,KACLquD,EAAM,GACV,IAAK,IAAIj3C,KAAMR,EAAGotF,MAAWptF,EAAGotF,MAAM3gD,GAAKjsC,IACtC,SAAUxL,GACPyiD,EAAIrtD,KAAK,CACL0rB,KAAM,IAAI4vF,EAAU1wG,EAAE+1G,OAAQ/1G,EAAEiuF,IAAKjuF,EAAE0uF,OAAQ1uF,EAAEg2G,WACjD/oB,KAAMjtF,EACNi2G,UAAWj2G,EAAE6zB,SACbA,OAAQ,SAAUhN,GACd,OAAO7mB,EAAE6zB,OAAOhN,IAEpBuiE,KAAM,WACFppF,EAAEopF,UATb,CAYCp+E,EAAGotF,MAAM5sF,IAEf,OAAOi3C,GAgCX+B,EAAK52C,QAAU,SAAU7O,EAAM7I,EAAImsG,EAAQ1F,EAAIjO,EAAQ7sF,GAC9B,mBAAV6sF,GAAyBA,EAAO76F,SACvCgO,EAAW6sF,EACXA,EAASzB,EAAK0B,QAElB,IAAI10B,EAAMgzB,EAAK/qB,OACXphD,EAAOmsE,EAAKluF,EAAM7I,EAAI+jE,EAAKA,EAAM0iC,EAAI1P,EAAK/qB,KAAMmgC,EAAQ3T,GAE5D,OADA7sF,GAAYsrF,IAAI+M,KAAK,eAAiBp5E,EAAKtV,GAAI3J,GACxCif,GAUX26E,EAAQrS,KAAO,WAEX,IADA,IAAIgP,EAAQhkG,KAAK0hH,SACRniH,EAAI,EAAG0gF,EAAK+jB,EAAMvkG,OAAQF,EAAI0gF,EAAI1gF,IACvCykG,EAAMzkG,GAAGy1F,OAEb,OAAOh1F,MAcXqnG,EAAQ7tF,QAAU,SAAUqzF,EAAOtE,EAAIjO,EAAQ7sF,GACtB,mBAAV6sF,GAAyBA,EAAO76F,SACvCgO,EAAW6sF,EACXA,EAASzB,EAAK0B,QAEdsS,aAAiByP,IACjB7uG,EAAWo/F,EAAMp/F,SACjB6sF,EAASuS,EAAMvS,OACfiO,EAAKsE,EAAMhT,IACXgT,EAAQA,EAAMpzF,MAElB,IAAuC9O,EAAM7I,EAAIw2C,EAAGwpE,EAAhDC,EAAQ,GAAIC,EAAQ,GAAI97G,EAAO,GAC/B0Q,EAAK5W,KACT,IAAK,IAAIL,KAAOktG,EAAO,GAAIA,EAAMxpD,GAAK1jD,GAAM,CACpCiX,EAAGymG,OAEH1yG,GADAm3G,EAAKlrG,EAAGymG,MAAM19G,EAAK47F,EAAIsR,EAAMltG,MACnBgL,KACV7I,EAAKggH,EAAGhgH,GACRw2C,EAAIwpE,EAAGxpE,IAEP3tC,GAAQiM,EAAG6C,KAAK9Z,GAChBmC,GAAM+qG,EAAMltG,IAEhB,IAAI4f,EAAMg9C,EAAG5xD,EAAM,SAAWA,EAAKlL,OAAS,EAC5CyG,EAAKvG,GAAO4M,EAAMw1G,EAAMtiH,OAAQsiH,EAAMtiH,OAAS8f,EAAK+4B,GACpDypE,EAAQA,EAAMj8G,OAAO6E,GACrBq3G,EAAQA,EAAMl8G,OAAOhE,GAEzB,IAAI+jE,EAAMgzB,EAAK/qB,OACXphD,EAAOmsE,EAAKkpB,EAAOC,EAAOn8C,EAAKA,EAAM0iC,EAAI1P,EAAK/qB,MAAM,SAAUr7C,GAC1D,IAAIhZ,EAAO,GACX,IAAK,IAAI9Z,KAAOuG,EAAUA,EAAKm9C,GAAK1jD,KAChC8Z,EAAK9Z,GAAOuG,EAAKvG,GAAK8yB,IAE1B7b,EAAG6C,KAAKA,KACT6gF,GAcP,OAbA1jF,EAAGotF,MAAMt3E,EAAKtV,IAAMsV,EACpBA,EAAKi1F,OAAS9U,EACdngF,EAAKk1F,UAAYn0G,EACjBsrF,IAAI,oBAAsBniF,EAAGQ,GAAIsV,GACjCqsE,IAAI+M,KAAK,eAAiBp5E,EAAKtV,IAAI,WAC/B2hF,IAAI/rC,IAAI,UAAYtgC,EAAKtV,WAClBR,EAAGotF,MAAMt3E,EAAKtV,IACrB3J,GAAYA,EAAS3N,KAAK8W,MAE9BmiF,IAAI+M,KAAK,aAAep5E,EAAKtV,IAAI,WAC7B2hF,IAAI/rC,IAAI,UAAYtgC,EAAKtV,WAClBR,EAAGotF,MAAMt3E,EAAKtV,OAElBR,MAiBfw5C,EAAKg3C,QAAO,SAAUh3C,EAAMq/B,EAAS2L,EAAOF,GAuCxC,SAAS+mB,EAAUjrF,GACfA,EAASA,EAAOlsB,MAAM,SACtB,IAAIisB,EAAQ,IAAI1U,OAAO2U,EAAO,IAiB9B,OAhBAD,EAAM,IAAMC,EAAO,GACnBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GACpBD,EAAM,KAAOC,EAAO,GAChBA,EAAO,MACPD,EAAMmrF,KAAOlrF,EAAO,IACpBD,EAAMorF,KAAOnrF,EAAO,IACpBD,EAAMqrF,KAAOprF,EAAO,IACpBD,EAAMsrF,KAAOrrF,EAAO,KAEjBD,EA7BXq5B,EAAKkyD,IAAM,GASXlyD,EAAKmyD,KAAO,GAsBZnyD,EAAKkyD,IAAI1hB,IAAMqhB,EA1DG,sGA2DlB7xD,EAAKkyD,IAAIE,KAAOP,EA1DE,sGA2DlB7xD,EAAKkyD,IAAIG,OAASR,EA1DA,sGA2DlB7xD,EAAKkyD,IAAII,WAAaT,EA1DJ,sGA2DlB7xD,EAAKkyD,IAAIK,OAASV,EA1DA,sGA2DlB7xD,EAAKkyD,IAAIxhB,KAAOmhB,EA1DE,sGA2DlB7xD,EAAKkyD,IAAIM,UAAYX,EA1DH,sGA2DlB7xD,EAAKkyD,IAAIO,KAAOZ,EA1DE,sGA2DlB7xD,EAAKkyD,IAAIQ,KAAOb,EA1DE,sGA2DlB7xD,EAAKkyD,IAAIzhB,MAAQohB,EA1DC,sGA2DlB7xD,EAAKkyD,IAAIS,WAAad,EA1DJ,sGA2DlB7xD,EAAKkyD,IAAIU,KAAOf,EA1DE,sGA2DlB7xD,EAAKkyD,IAAIW,OAAShB,EA1DA,sGA2DlB7xD,EAAKkyD,IAAIY,MAAQjB,EA1DC,sGA2DlB7xD,EAAKkyD,IAAIa,OAASlB,EA1DA,sGA2DlB7xD,EAAKkyD,IAAIc,WAAanB,EA1DJ,sGA2DlB7xD,EAAKkyD,IAAIe,MAAQpB,EA1DC,0EA2DlB7xD,EAAKkyD,IAAIgB,KAAOrB,EA1DE,0EA2DlB7xD,EAAKkyD,IAAIiB,SAAWtB,EA1DF,0EA2DlB7xD,EAAKmyD,KAAKiB,UAAY,UACtBpzD,EAAKmyD,KAAKkB,SAAW,UACrBrzD,EAAKmyD,KAAKmB,UAAY,UACtBtzD,EAAKmyD,KAAKY,OAAS,UACnB/yD,EAAKmyD,KAAKoB,SAAW,UACrBvzD,EAAKmyD,KAAKqB,UAAY,UACtBxzD,EAAKmyD,KAAKsB,OAAS,UACnBzzD,EAAKmyD,KAAKuB,QAAU,UACpB1zD,EAAKmyD,KAAKwB,WAAa,UACvB3zD,EAAKmyD,KAAKyB,WAAa,UACvB5zD,EAAKmyD,KAAK0B,SAAW,UACrB7zD,EAAKmyD,KAAK2B,YAAc,UACxB9zD,EAAKmyD,KAAK4B,SAAW,UACrB/zD,EAAKmyD,KAAK6B,SAAW,UACrBh0D,EAAKmyD,KAAK8B,OAAS,UACnBj0D,EAAKmyD,KAAK+B,OAAS,UACnBl0D,EAAKmyD,KAAKgC,WAAa,UACvBn0D,EAAKmyD,KAAKiC,aAAe,UACzBp0D,EAAKmyD,KAAKkC,SAAW,UACrBr0D,EAAKmyD,KAAKmC,SAAW,UAUrBt0D,EAAKu0D,gBAAkB,WACnB,IAAK,IAAI5tF,KAASq5B,EAAKkyD,IACflyD,EAAKkyD,IAAIziH,eAAek3B,KACxB/oB,OAAO+oB,GAASq5B,EAAKkyD,IAAIvrF,QAMzC/3B,EAAOC,QAAUmxD,G,gBCh9PjB,OAmBA,SAAW8qC,GACP,IAQI0pB,EACA5vB,EATA//B,EAAU,QACV5R,EAAM,iBACN44C,EAAY,SACZ4oB,EAAgB,UAEhBC,EAAU,SAAUl5G,EAAGC,GACnB,OAAOD,EAAIC,GAIfgyG,EAAS,CAACrzG,EAAG,IACbu6F,EAAe,WACX,IAAK,IAAIxlG,EAAI,EAAG0gF,EAAKjgF,KAAKP,OAAQF,EAAI0gF,EAAI1gF,IACtC,GAAsB,oBAAXS,KAAKT,GACZ,OAAOS,KAAKT,IAIxBwlH,EAAc,WAEV,IADA,IAAIxlH,EAAIS,KAAKP,SACJF,GACL,GAAsB,oBAAXS,KAAKT,GACZ,OAAOS,KAAKT,IAIxBylH,EAAS5lH,OAAOQ,UAAUiQ,SAC1B0rF,EAAMl5E,OACNjiB,EAAUD,MAAMC,SAAW,SAAU6kH,GACjC,OAAOA,aAAc9kH,OAA4B,kBAAnB6kH,EAAOllH,KAAKmlH,IAc9ClsB,EAAM,SAANA,EAAgBp0F,EAAMs4F,GAClB,IAIIlsC,EAJAm0D,EAAUlwB,EACVxrF,EAAOrJ,MAAMP,UAAU2M,MAAMzM,KAAKN,UAAW,GAC7C2N,EAAY4rF,EAAI5rF,UAAUxI,GAC1BqhB,EAAI,EAEJm/F,EAAU,GACVloC,EAAQ,GACR76C,EAAM,GACN0qC,EAAK83C,EACTxiF,EAAI2iE,aAAeA,EACnB3iE,EAAI2iF,YAAcA,EAClBH,EAAgBjgH,EAChBqwF,EAAO,EACP,IAAK,IAAIz1F,EAAI,EAAG0gF,EAAK9yE,EAAU1N,OAAQF,EAAI0gF,EAAI1gF,IAAS,WAAY4N,EAAU5N,KAC1E4lH,EAAQnkH,KAAKmM,EAAU5N,GAAGyrB,QACtB7d,EAAU5N,GAAGyrB,OAAS,IACtBiyD,EAAM9vE,EAAU5N,GAAGyrB,QAAU7d,EAAU5N,KAI/C,IADA4lH,EAAQC,KAAKN,GACNK,EAAQn/F,GAAK,GAGhB,GAFA+qC,EAAIksB,EAAMkoC,EAAQn/F,MAClBoc,EAAIphC,KAAK+vD,EAAEhxD,MAAMk9F,EAAOzzF,IACpBwrF,EAEA,OADAA,EAAOkwB,EACA9iF,EAGf,IAAK7iC,EAAI,EAAGA,EAAI0gF,EAAI1gF,IAEhB,GAAI,WADJwxD,EAAI5jD,EAAU5N,IAEV,GAAIwxD,EAAE/lC,QAAUm6F,EAAQn/F,GAAI,CAExB,GADAoc,EAAIphC,KAAK+vD,EAAEhxD,MAAMk9F,EAAOzzF,IACpBwrF,EACA,MAEJ,GAII,IAFAjkC,EAAIksB,EAAMkoC,IADVn/F,MAEKoc,EAAIphC,KAAK+vD,EAAEhxD,MAAMk9F,EAAOzzF,IACzBwrF,EACA,YAECjkC,QAETksB,EAAMlsB,EAAE/lC,QAAU+lC,OAItB,GADA3uB,EAAIphC,KAAK+vD,EAAEhxD,MAAMk9F,EAAOzzF,IACpBwrF,EACA,MAMZ,OAFAA,EAAOkwB,EACPN,EAAgB93C,EACT1qC,GAGf22D,EAAIssB,QAAUxH,EAWd9kB,EAAI5rF,UAAY,SAAUxI,GACtB,IAEIoH,EACAmwG,EACA3xG,EACAhL,EACA0gF,EACAp6D,EACAm/D,EACAsgC,EATAxsE,EAAQ14C,EAAQuE,GAAQA,EAAOA,EAAKmG,MAAMmxF,GAC1CnvF,EAAI+wG,EASJ0H,EAAK,CAACz4G,GACNs1B,EAAM,GACV,IAAK7iC,EAAI,EAAG0gF,EAAKnnC,EAAMr5C,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAExC,IADA+lH,EAAM,GACDz/F,EAAI,EAAGm/D,EAAKugC,EAAG9lH,OAAQomB,EAAIm/D,EAAIn/D,IAIhC,IAFAq2F,EAAQ,EADRpvG,EAAIy4G,EAAG1/F,GAAGrb,GACCsuC,EAAMv5C,IAAKuN,EA/HnB,MAgIHvC,EAAI,EACGA,MACHwB,EAAOmwG,EAAM3xG,MAET+6G,EAAItkH,KAAK+K,GACTq2B,EAAMA,EAAIt8B,OAAOiG,EAAKusC,GAAK,KAIvCitE,EAAKD,EAET,OAAOljF,GAYX22D,EAAIkD,UAAY,SAAUupB,GAClBA,GAEAA,EAAM,KADNA,EAAMjqB,EAAIiqB,GAAKxiH,QAAQ,oBAAqB,OAC1B,IAClBi5F,EAAY,IAAIt6D,OAAO6jF,IAEvBvpB,EAAY,UA4BpBlD,EAAIjsC,GAAK,SAAUnoD,EAAM2zC,GACrB,GAAgB,mBAALA,EACP,OAAO,aAGX,IADA,IAAIQ,EAAQ14C,EAAQuE,GAAQvE,EAAQuE,EAAK,IAAMA,EAAO,CAACA,GAAQ42F,EAAI52F,GAAMmG,MAAM+5G,GACtEtlH,EAAI,EAAG0gF,EAAKnnC,EAAMr5C,OAAQF,EAAI0gF,EAAI1gF,KACtC,SAAUoF,GAIP,IAHA,IAEI8gH,EAFA3sE,EAAQ14C,EAAQuE,GAAQA,EAAO42F,EAAI52F,GAAMmG,MAAMmxF,GAC/CnvF,EAAI+wG,EAECt+G,EAAI,EAAG0gF,EAAKnnC,EAAMr5C,OAAQF,EAAI0gF,EAAI1gF,IAEvCuN,GADAA,EAAIA,EAAEtC,GACA3K,eAAei5C,EAAMv5C,KAAOuN,EAAEgsC,EAAMv5C,MAAQuN,EAAEgsC,EAAMv5C,IAAM,CAACiL,EAAG,KAGxE,IADAsC,EAAEwrC,EAAIxrC,EAAEwrC,GAAK,GACR/4C,EAAI,EAAG0gF,EAAKnzE,EAAEwrC,EAAE74C,OAAQF,EAAI0gF,EAAI1gF,IAAK,GAAIuN,EAAEwrC,EAAE/4C,IAAM+4C,EAAG,CACvDmtE,GAAQ,EACR,OAEHA,GAAS34G,EAAEwrC,EAAEt3C,KAAKs3C,GAbtB,CAcCQ,EAAMv5C,IAEZ,OAAO,SAAUyrB,IACRA,IAAWA,IACZstB,EAAEttB,QAAUA,KAmBxB+tE,EAAIzgD,EAAI,SAAU51C,GACd,IAAImqG,EAAQ,GAAGtgG,MAAMzM,KAAKN,UAAW,GACrC,OAAO,WACHu5F,EAAIh5F,MAAM,KAAM,CAAC2C,EAAO,MAAMoD,OAAO+mG,GAAO/mG,OAAO,GAAGyG,MAAMzM,KAAKN,UAAW,OASpFu5F,EAAI/D,KAAO,WACPA,EAAO,GAcX+D,EAAIwM,GAAK,SAAUmgB,GACf,IAAIC,EAAMvlH,EAAQwkH,GAAiBA,EAAcr5G,KAAK,KAAOq5G,EAC7D,OAAIc,EACO,IAAI/jF,OAAO,gBAAkB+jF,EAAU,iBAAiBtoG,KAAKuoG,GAEjEA,GAWX5sB,EAAI6sB,IAAM,WACN,OAAOxlH,EAAQwkH,GAAiBA,EAAgBA,EAAc95G,MAAMmxF,IAkBxElD,EAAI/rC,IAAM+rC,EAAIumB,OAAS,SAAU36G,EAAM2zC,GACnC,GAAK3zC,EAAL,CAIA,IAAIm0C,EAAQ14C,EAAQuE,GAAQvE,EAAQuE,EAAK,IAAMA,EAAO,CAACA,GAAQ42F,EAAI52F,GAAMmG,MAAM+5G,GAC/E,GAAI/rE,EAAMr5C,OAAS,EACf,IAAK,IAAIF,EAAI,EAAG0gF,EAAKnnC,EAAMr5C,OAAQF,EAAI0gF,EAAI1gF,IACvCw5F,EAAI/rC,IAAIlU,EAAMv5C,GAAI+4C,OAF1B,CAMAQ,EAAQ14C,EAAQuE,GAAQA,EAAO42F,EAAI52F,GAAMmG,MAAMmxF,GAC/C,IAAInvF,EACAnN,EACA2U,EACOuR,EAAGm/D,EACV2gC,EAAM,CAAC9H,GACPgI,EAAS,GACb,IAAKtmH,EAAI,EAAG0gF,EAAKnnC,EAAMr5C,OAAQF,EAAI0gF,EAAI1gF,IACnC,IAAKsmB,EAAI,EAAGA,EAAI8/F,EAAIlmH,OAAQomB,GAAKvR,EAAO7U,OAAS,EAAG,CAGhD,GAFA6U,EAAS,CAACuR,EAAG,GACb/Y,EAAI64G,EAAI9/F,GAAGrb,EAxTR,KAyTCsuC,EAAMv5C,GACFuN,EAAEgsC,EAAMv5C,MACR+U,EAAOtT,KAAK8L,EAAEgsC,EAAMv5C,KACpBsmH,EAAOv6G,QAAQ,CACXd,EAAGsC,EACHnI,KAAMm0C,EAAMv5C,WAIpB,IAAKI,KAAOmN,EAAOA,EAAEu2C,GAAK1jD,KACtB2U,EAAOtT,KAAK8L,EAAEnN,IACdkmH,EAAOv6G,QAAQ,CACXd,EAAGsC,EACHnI,KAAMhF,KAIlBgmH,EAAIrxG,OAAOvU,MAAM4lH,EAAKrxG,GAG9B,IAAK/U,EAAI,EAAG0gF,EAAK0lC,EAAIlmH,OAAQF,EAAI0gF,EAAI1gF,IAEjC,IADAuN,EAAI64G,EAAIpmH,GACDuN,EAAEtC,GAAG,CACR,GAAI8tC,EAAG,CACH,GAAIxrC,EAAEwrC,EAAG,CACL,IAAKzyB,EAAI,EAAGm/D,EAAKl4E,EAAEwrC,EAAE74C,OAAQomB,EAAIm/D,EAAIn/D,IAAK,GAAI/Y,EAAEwrC,EAAEzyB,IAAMyyB,EAAG,CACvDxrC,EAAEwrC,EAAEhkC,OAAOuR,EAAG,GACd,OAEH/Y,EAAEwrC,EAAE74C,eAAiBqN,EAAEwrC,EAE5B,IAAK34C,KAAOmN,EAAEtC,EAAG,GAAIsC,EAAEtC,EAAE64C,GAAK1jD,IAAQmN,EAAEtC,EAAE7K,GAAK24C,EAAG,CAC9C,IAAIwtE,EAAQh5G,EAAEtC,EAAE7K,GAAK24C,EACrB,IAAKzyB,EAAI,EAAGm/D,EAAK8gC,EAAMrmH,OAAQomB,EAAIm/D,EAAIn/D,IAAK,GAAIigG,EAAMjgG,IAAMyyB,EAAG,CAC3DwtE,EAAMxxG,OAAOuR,EAAG,GAChB,OAEHigG,EAAMrmH,eAAiBqN,EAAEtC,EAAE7K,GAAK24C,QAIrC,IAAK34C,YADEmN,EAAEwrC,EACGxrC,EAAEtC,EAAOsC,EAAEtC,EAAE64C,GAAK1jD,IAAQmN,EAAEtC,EAAE7K,GAAK24C,UACpCxrC,EAAEtC,EAAE7K,GAAK24C,EAGxBxrC,EAAIA,EAAEtC,EAIdu7G,EAAO,IAAKxmH,EAAI,EAAG0gF,EAAK4lC,EAAOpmH,OAAQF,EAAI0gF,EAAI1gF,IAAK,CAEhD,IAAKI,KADLmN,EAAI+4G,EAAOtmH,IACGiL,EAAEsC,EAAEnI,MAAM2zC,EAEpB,SAASytE,EAEb,IAAKpmH,KAAOmN,EAAEtC,EAAEsC,EAAEnI,MAAM6F,EAEpB,SAASu7G,SAGNj5G,EAAEtC,EAAEsC,EAAEnI,aAjFbo0F,EAAIssB,QAAUxH,EAAS,CAACrzG,EAAG,KAmGnCuuF,EAAI+M,KAAO,SAAUnhG,EAAM2zC,GAKvB,OAAOygD,EAAIjsC,GAAGnoD,GAJL,SAAL6zG,IAEA,OADAzf,EAAI/rC,IAAIroD,EAAM6zG,GACPlgE,EAAEv4C,MAAMC,KAAMR,eAU7Bu5F,EAAI9jC,QAAUA,EACd8jC,EAAIlpF,SAAW,WACX,MAAO,6BAEXqrF,EAAKnC,IAAMA,EACqB/5F,EAAOC,QAAUD,EAAOC,QAAU85F,OAAyD,kBAA0B,OAAOA,GAAjC,QAAQ,OAAR,aA9Z/H,CA+ZoB,oBAAV/qF,OAAwBA,OAAShO,O,6BC5a3C,SAASyU,EAAuB/I,GAAO,OAAOA,GAAOA,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAJzFtM,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAEIy3F,EAA2BjkF,EAFDvV,EAAQ,KAMlCk3F,EAAgB3hF,EAFDvV,EAAQ,KAIvBy5F,EAAgBz5F,EAAQ,IAIxB+V,EAAS,CACXmE,IAAK,CACHE,IAAKo/E,EAAwB,QAC7Bh/E,YAAa,kEACbk/E,SAAU,4IACVp/E,QAAS,SAAiBpV,GACxB,IAAIsqG,EAAM,EACNsX,EAAQhmH,KAAK44F,SAAS9tF,MAAM,KAC5Bm7G,EAAaD,EAAMvmH,OACnBo5F,EAAO7qF,OAAO6qF,MAEH,SAASqtB,IAClBxX,EAAMuX,EAAa,IAEvB7hH,EAAKoV,QAAQ,CAAEpV,KAAM4hH,EAAMtX,IAAgB,IAARA,EAAY,IAAM,IAAa,IAARA,EAAY7V,EAAK8B,OAAS9B,EAAKroC,SAAS,WAChG01D,OAGFxX,KAGFwX,KAIJ7sG,WAAY,SAAoB7D,EAAQiB,EAAOC,GAC7C,MAAO,CACL0M,SAAU,WACV3M,MAAO,OACPuE,OAAQ,OACRtE,MAAOA,EAAQ,UAAY,EAC3B0hB,KAAM1hB,EAAQ,EAAI,UAClB4/E,aAAc5/E,EAAQ,kBAAoB,gBAC1C6/E,YAAa7/E,EAAQ,kBAAoB,gBACzC8/E,WAAY9/E,EAAQ,kBAAoB,gBACxC+/E,gBAAiB//E,EAAQ,kBAAoB,gBAC7CgsB,UAAWhsB,EAAQ,kBAAoB,kBAI3C2B,SAAU,SAAkB7C,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACpF6/E,YAAa/gF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACnF8/E,WAAYhhF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BAClF+/E,gBAAiBjhF,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACvFgsB,UAAWltB,EAAS,uBAAyBkB,EAAQ,0BAA4B,2BACjFQ,WAAY1B,EAAS,oBAAsB,mBAI/CunB,KAAM,SAAcvnB,EAAQiB,EAAOC,GACjC,IAAIyvG,GAAa,EAAIxtB,EAActoC,SAAS55C,GAtD7B,IAuDf,MAAO,CACL2M,SAAU,QACVkzE,aAAc9gF,EAAS,GAAKkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC7G5vB,YAAa/gF,EAAS,GAAKkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC5G3vB,WAAYhhF,EAAS,GAAKkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC3G1vB,gBAAiBjhF,EAAS,GAAKkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAChHzjF,UAAWltB,EAAS,GAAKkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC1GjvG,WAAY1B,EAAS,2GAA6G,uGAClImV,QAASnV,EAAS,EAAI,IAI1BzJ,KAAM,SAAcyJ,EAAQiB,EAAOC,EAAO+hF,GACxC,IAAI0tB,GAAa,EAAIxtB,EAActoC,SAAS55C,GApE7B,IAqEf,MAAO,CACL6/E,aAAc9gF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UACjI5vB,YAAa/gF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAChI3vB,WAAYhhF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC/H1vB,gBAAiBjhF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UACpIzjF,UAAWltB,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC9HjvG,WAAY1B,EAAS,yCAA2C,uGAChEmV,QAASnV,EAAS,EAAI,IAI1B4wG,YAAa,SAAqB5wG,EAAQiB,EAAOC,GAC/C,IAAIyvG,GAAa,EAAIxtB,EAActoC,SAAS55C,GAjF7B,IAkFf,MAAO,CACL6/E,aAAc9gF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UACjI5vB,YAAa/gF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAChI3vB,WAAYhhF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC/H1vB,gBAAiBjhF,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UACpIzjF,UAAWltB,EAAS,uBAAyBkB,EAAQ,eAAiByvG,EAAa,UAAY,gBAAkBA,EAAa,UAC9HjvG,WAAY1B,EAAS,2GAA6G,uGAClImV,QAASnV,EAAS,EAAI,KAK5BvW,EAAO,SAAc,EAAIm3F,EAAa,SAAanhF,GACnDjW,EAAOC,QAAUA,EAAO,S,6BC/GxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAyBzFzM,EAAO,SAAc,EAAIm3F,EAAa,SAnBzB,CACXn+E,SAAU,SAAkBzC,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACnG8/E,YAAa/gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAClG+/E,WAAYhhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACjGggF,gBAAiBjhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACtGisB,UAAWltB,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAChGS,WAAY,aAIhBiB,eAAgB,SAAwB3C,GACtC,MAAO,CACLse,SAAUte,EAAS,GAAK,aAM9BxW,EAAOC,QAAUA,EAAO,S,6BC9BxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GA4BzFzM,EAAO,SAAc,EAAIm3F,EAAa,SAtBzB,CACXn+E,SAAU,SAAkBzC,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAClH8/E,YAAa/gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,yBAA2B,eAAiBA,EAAQ,0BACjH+/E,WAAYhhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAChHggF,gBAAiBjhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,yBAA2B,eAAiBA,EAAQ,0BACrHisB,UAAWltB,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAC/G4vG,gBAAiB3vG,EAAQ,WAAa,SACtC4vG,eAAgB,cAChBpvG,WAAY,aAIhBiB,eAAgB,SAAwB3C,GACtC,MAAO,CACL+wG,YAAa,SACbzyF,SAAUte,EAAS,GAAK,aAM9BxW,EAAOC,QAAUA,EAAO,S,6BCjCxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GA2BzFzM,EAAO,SAAc,EAAIm3F,EAAa,SArBzB,CACXn+E,SAAU,SAAkBzC,EAAQiB,GAClC,MAAO,CACL6/E,aAAc9gF,EAAS,GAAK,sBAAwBiB,EAAQ,IAC5D8/E,YAAa/gF,EAAS,GAAK,sBAAwBiB,EAAQ,IAC3D+/E,WAAYhhF,EAAS,GAAK,sBAAwBiB,EAAQ,IAC1DggF,gBAAiBjhF,EAAS,GAAK,sBAAwBiB,EAAQ,IAC/DisB,UAAWltB,EAAS,GAAK,sBAAwBiB,EAAQ,IACzD4vG,gBAAiB,OACjBC,eAAgB,cAChBpvG,WAAY,aAIhBiB,eAAgB,WACd,MAAO,CACLouG,YAAa,aAMnBvnH,EAAOC,QAAUA,EAAO,S,6BChCxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GA4BzFzM,EAAO,SAAc,EAAIm3F,EAAa,SAtBzB,CACXn+E,SAAU,SAAkBzC,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,gDAAkD,gDACtF6/E,YAAa/gF,EAAS,GAAKkB,EAAQ,gDAAkD,gDACrF8/E,WAAYhhF,EAAS,GAAKkB,EAAQ,gDAAkD,gDACpF+/E,gBAAiBjhF,EAAS,GAAKkB,EAAQ,gDAAkD,gDACzFgsB,UAAWltB,EAAS,GAAKkB,EAAQ,gDAAkD,gDACnF4vG,eAAgB,cAChBpvG,WAAY,WACZ4c,SAAUte,EAAS,GAAK,WAI5B2C,eAAgB,SAAwB3C,GACtC,MAAO,CACL+wG,YAAa,SACbzyF,SAAUte,EAAS,GAAK,aAM9BxW,EAAOC,QAAUA,EAAO,S,6BCjCxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAsCzFzM,EAAO,SAAc,EAAIm3F,EAAa,SAhCzB,CACX/9E,SAAU,SAAkB7C,GAC1B,MAAO,CACL8gF,aAAc9gF,EAAS,GAAK,2BAC5B+gF,YAAa/gF,EAAS,GAAK,2BAC3BghF,WAAYhhF,EAAS,GAAK,2BAC1BihF,gBAAiBjhF,EAAS,GAAK,2BAC/BktB,UAAWltB,EAAS,GAAK,2BACzB0B,WAAY,yBAIhBe,SAAU,SAAkBzC,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACnG8/E,YAAa/gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAClG+/E,WAAYhhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACjGggF,gBAAiBjhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACtGisB,UAAWltB,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAChGS,WAAY,aAIhBiB,eAAgB,SAAwB3C,GACtC,MAAO,CACL+wG,YAAa,SACbC,kBAAmB,SACnB1yF,SAAUte,EAAS,GAAK,aAM9BxW,EAAOC,QAAUA,EAAO,S,6BC3CxBG,OAAOqJ,eAAexJ,EAAS,aAAc,CAC3CgC,OAAO,IAKT,IAFgCyK,EAE5ByqF,EAAej3F,EAAQ,IAEvBk3F,GAJ4B1qF,EAIWyqF,IAJUzqF,EAAIgJ,WAAahJ,EAAM,CAAE,QAAWA,GAgEzFzM,EAAO,SAAc,EAAIm3F,EAAa,SA1DzB,CACX/9E,SAAU,SAAkB7C,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc,uBACdC,YAAa,uBACbC,WAAY,uBACZC,gBAAiB,uBACjB/zD,UAAW,uBACX1X,OAAQxV,EAAS,KAAQ,IAI7B6gF,QAAS,SAAiB7gF,EAAQiB,EAAOC,GACvC,MAAO,CACLsU,OAAQ,KACRsrE,aAAc9gF,EAASkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBAC1G8/E,YAAa/gF,EAASkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACzG+/E,WAAYhhF,EAASkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACxGggF,gBAAiBjhF,EAASkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBAC7GisB,UAAWltB,EAASkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACvGS,WAAY,WACZqxB,WAAY/yB,EAAS,UAAY,WAIrCyC,SAAU,SAAkBzC,EAAQiB,EAAOC,GACzC,MAAO,CACL4/E,aAAc9gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACnG8/E,YAAa/gF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAClG+/E,WAAYhhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACjGggF,gBAAiBjhF,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UACtGisB,UAAWltB,EAAS,GAAKkB,EAAQ,gBAAkBD,EAAQ,UAAY,eAAiBA,EAAQ,UAChGS,WAAY,WACZ8T,OAAQ,KACR5H,SAAU,aAIdqjG,WAAY,SAAoBjxG,EAAQiB,EAAOC,GAC7C,MAAO,CACL4/E,aAAc9gF,EAASkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBAC1G8/E,YAAa/gF,EAASkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACzG+/E,WAAYhhF,EAASkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACxGggF,gBAAiBjhF,EAASkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBAC7GisB,UAAWltB,EAASkB,EAAQ,eAAiBD,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACvGS,WAAY,WACZkM,SAAU,WACV4H,OAAQ,OAIZ7S,eAAgB,SAAwB3C,GACtC,MAAO,CACLse,SAAUte,EAAS,GAAK,aAM9BxW,EAAOC,QAAUA,EAAO","file":"js/2.c5f15404.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","module.exports = require(\"regenerator-runtime\");\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const method = replace ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\",\n activeStyle,\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n const className = isActive\n ? joinClassnames(classNameProp, activeClassName)\n : classNameProp;\n const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.object\n };\n}\n\nexport default NavLink;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n <RouterContext.Provider\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n >\n <HistoryContext.Provider\n children={this.props.children || null}\n value={this.props.history}\n />\n </RouterContext.Provider>\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(Context).match;\n\n return path ? matchPath(location.pathname, path) : match;\n}\n","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _helpersBaseStyles = require('./helpers/baseStyles');\n\nvar _helpersBaseStyles2 = _interopRequireDefault(_helpersBaseStyles);\n\nvar _helpersDom = require('./helpers/dom');\n\nvar _componentsBurgerIcon = require('./components/BurgerIcon');\n\nvar _componentsBurgerIcon2 = _interopRequireDefault(_componentsBurgerIcon);\n\nvar _componentsCrossIcon = require('./components/CrossIcon');\n\nvar _componentsCrossIcon2 = _interopRequireDefault(_componentsCrossIcon);\n\nexports['default'] = function (styles) {\n if (!styles) {\n throw new Error('No styles supplied');\n }\n\n var ARROW_DOWN = 'ArrowDown';\n var ARROW_UP = 'ArrowUp';\n var ESCAPE = 'Escape';\n var SPACE = ' ';\n var HOME = 'Home';\n var END = 'End';\n\n function usePrevious(value) {\n var ref = _react2['default'].useRef(value);\n _react2['default'].useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n }\n\n var Menu = function Menu(props) {\n var _React$useState = _react2['default'].useState(false);\n\n var _React$useState2 = _slicedToArray(_React$useState, 2);\n\n var isOpen = _React$useState2[0];\n var setIsOpen = _React$useState2[1];\n\n var timeoutId = _react2['default'].useRef();\n var toggleOptions = _react2['default'].useRef({});\n var prevIsOpenProp = usePrevious(props.isOpen);\n\n _react2['default'].useEffect(function () {\n if (props.isOpen) {\n toggleMenu({ isOpen: true, noStateChange: true });\n }\n\n return function cleanup() {\n applyWrapperStyles(false);\n clearCurrentTimeout();\n };\n }, []);\n\n _react2['default'].useEffect(function () {\n var wasToggled = typeof props.isOpen !== 'undefined' && props.isOpen !== isOpen && props.isOpen !== prevIsOpenProp;\n\n if (wasToggled) {\n toggleMenu();\n // Toggling changes SVG animation requirements, so defer these until next update\n return;\n }\n\n if (styles.svg) {\n (function () {\n var morphShape = document.getElementById('bm-morph-shape');\n var path = styles.svg.lib(morphShape).select('path');\n\n if (isOpen) {\n // Animate SVG path\n styles.svg.animate(path);\n } else {\n // Reset path (timeout ensures animation happens off screen)\n setTimeout(function () {\n path.attr('d', styles.svg.pathInitial);\n }, 300);\n }\n })();\n }\n });\n\n _react2['default'].useEffect(function () {\n var _toggleOptions$current = toggleOptions.current;\n var noStateChange = _toggleOptions$current.noStateChange;\n var focusOnLastItem = _toggleOptions$current.focusOnLastItem;\n\n if (!noStateChange) {\n props.onStateChange({ isOpen: isOpen });\n }\n\n if (!props.disableAutoFocus) {\n // For accessibility reasons, ensures that when we toggle open,\n // we focus the first or last menu item according to given parameter\n if (isOpen) {\n focusOnLastItem ? (0, _helpersDom.focusOnLastMenuItem)() : (0, _helpersDom.focusOnFirstMenuItem)();\n } else {\n if (document.activeElement) {\n document.activeElement.blur();\n } else {\n document.body.blur(); // Needed for IE\n }\n }\n }\n\n // Timeout ensures wrappers are cleared after animation finishes\n clearCurrentTimeout();\n timeoutId.current = setTimeout(function () {\n timeoutId.current = null;\n if (!isOpen) {\n applyWrapperStyles(false);\n }\n }, 500);\n\n // Bind keydown handlers (or custom function if supplied)\n var defaultOnKeyDown = isOpen ? onKeyDownOpen : onKeyDownClosed;\n var onKeyDown = props.customOnKeyDown || defaultOnKeyDown;\n window.addEventListener('keydown', onKeyDown);\n\n return function cleanup() {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [isOpen]);\n\n function toggleMenu() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n toggleOptions.current = options;\n\n applyWrapperStyles();\n\n // Ensures wrapper styles are applied before the menu is toggled\n setTimeout(function () {\n setIsOpen(function (open) {\n return typeof options.isOpen !== 'undefined' ? options.isOpen : !open;\n });\n });\n }\n\n function open() {\n if (typeof props.onOpen === 'function') {\n props.onOpen();\n } else {\n toggleMenu();\n }\n }\n\n function close() {\n if (typeof props.onClose === 'function') {\n props.onClose();\n } else {\n toggleMenu();\n }\n }\n\n function getStyle(style, index) {\n var width = props.width;\n var right = props.right;\n\n var formattedWidth = typeof width !== 'string' ? width + 'px' : width;\n return style(isOpen, formattedWidth, right, index);\n }\n\n // Builds styles incrementally for a given element\n function getStyles(el, index, inline) {\n var propName = 'bm' + el.replace(el.charAt(0), el.charAt(0).toUpperCase());\n\n // Set base styles\n var output = _helpersBaseStyles2['default'][el] ? getStyle(_helpersBaseStyles2['default'][el]) : {};\n\n // Add animation-specific styles\n if (styles[el]) {\n output = _extends({}, output, getStyle(styles[el], index + 1));\n }\n\n // Add custom styles\n if (props.styles[propName]) {\n output = _extends({}, output, props.styles[propName]);\n }\n\n // Add element inline styles\n if (inline) {\n output = _extends({}, output, inline);\n }\n\n // Remove transition if required\n // (useful if rendering open initially)\n if (props.noTransition) {\n delete output.transition;\n }\n\n return output;\n }\n\n // Sets or unsets styles on DOM elements outside the menu component\n // This is necessary for correct page interaction with some of the menus\n // Throws and returns if the required external elements don't exist,\n // which means any external page animations won't be applied\n function handleExternalWrapper(id, wrapperStyles, set) {\n var wrapper = document.getElementById(id);\n\n if (!wrapper) {\n console.error(\"Element with ID '\" + id + \"' not found\");\n return;\n }\n\n var builtStyles = getStyle(wrapperStyles);\n\n for (var prop in builtStyles) {\n if (builtStyles.hasOwnProperty(prop)) {\n wrapper.style[prop] = set ? builtStyles[prop] : '';\n }\n }\n\n // Prevent any horizontal scroll\n // Only set overflow-x as an inline style if htmlClassName or\n // bodyClassName is not passed in. Otherwise, it is up to the caller to\n // decide if they want to set the overflow style in CSS using the custom\n // class names\n var applyOverflow = function applyOverflow(el) {\n return el.style['overflow-x'] = set ? 'hidden' : '';\n };\n if (!props.htmlClassName) {\n applyOverflow(document.querySelector('html'));\n }\n if (!props.bodyClassName) {\n applyOverflow(document.querySelector('body'));\n }\n }\n\n // Applies component-specific styles to external wrapper elements\n function applyWrapperStyles() {\n var set = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n var applyClass = function applyClass(el, className) {\n return el.classList[set ? 'add' : 'remove'](className);\n };\n\n if (props.htmlClassName) {\n applyClass(document.querySelector('html'), props.htmlClassName);\n }\n if (props.bodyClassName) {\n applyClass(document.querySelector('body'), props.bodyClassName);\n }\n\n if (styles.pageWrap && props.pageWrapId) {\n handleExternalWrapper(props.pageWrapId, styles.pageWrap, set);\n }\n\n if (styles.outerContainer && props.outerContainerId) {\n handleExternalWrapper(props.outerContainerId, styles.outerContainer, set);\n }\n\n var menuWrap = document.querySelector('.bm-menu-wrap');\n if (menuWrap) {\n if (set) {\n menuWrap.removeAttribute('hidden');\n } else {\n menuWrap.setAttribute('hidden', true);\n }\n }\n }\n\n // Avoids potentially attempting to update an unmounted component\n function clearCurrentTimeout() {\n if (timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }\n\n function onKeyDownOpen(e) {\n e = e || window.event;\n switch (e.key) {\n case ESCAPE:\n // Close on ESC, unless disabled\n if (!props.disableCloseOnEsc) {\n close();\n (0, _helpersDom.focusOnMenuButton)();\n }\n break;\n case ARROW_DOWN:\n (0, _helpersDom.focusOnNextMenuItem)();\n break;\n case ARROW_UP:\n (0, _helpersDom.focusOnPreviousMenuItem)();\n break;\n case HOME:\n (0, _helpersDom.focusOnFirstMenuItem)();\n break;\n case END:\n (0, _helpersDom.focusOnLastMenuItem)();\n break;\n }\n }\n\n function onKeyDownClosed(e) {\n e = e || window.event;\n // Key downs came from menu button\n if (e.target === document.getElementById('react-burger-menu-btn')) {\n switch (e.key) {\n case ARROW_DOWN:\n case SPACE:\n // If down arrow, space or enter, open menu and focus on first menuitem\n toggleMenu();\n break;\n case ARROW_UP:\n // If arrow up, open menu and focus on last menuitem\n toggleMenu({ focusOnLastItem: true });\n break;\n }\n }\n }\n\n function handleOverlayClick() {\n if (props.disableOverlayClick === true || typeof props.disableOverlayClick === 'function' && props.disableOverlayClick()) {\n return;\n } else {\n close();\n }\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n !props.noOverlay && _react2['default'].createElement('div', {\n className: ('bm-overlay ' + props.overlayClassName).trim(),\n onClick: handleOverlayClick,\n style: getStyles('overlay')\n }),\n props.customBurgerIcon !== false && _react2['default'].createElement(\n 'div',\n { style: getStyles('burgerIcon') },\n _react2['default'].createElement(_componentsBurgerIcon2['default'], {\n onClick: open,\n styles: props.styles,\n customIcon: props.customBurgerIcon,\n className: props.burgerButtonClassName,\n barClassName: props.burgerBarClassName,\n onIconStateChange: props.onIconStateChange\n })\n ),\n _react2['default'].createElement(\n 'div',\n {\n id: props.id,\n className: ('bm-menu-wrap ' + props.className).trim(),\n style: getStyles('menuWrap'),\n 'aria-hidden': !isOpen\n },\n styles.svg && _react2['default'].createElement(\n 'div',\n {\n id: 'bm-morph-shape',\n className: ('bm-morph-shape ' + props.morphShapeClassName).trim(),\n style: getStyles('morphShape')\n },\n _react2['default'].createElement(\n 'svg',\n {\n width: '100%',\n height: '100%',\n viewBox: '0 0 100 800',\n preserveAspectRatio: 'none'\n },\n _react2['default'].createElement('path', { d: styles.svg.pathInitial })\n )\n ),\n _react2['default'].createElement(\n 'div',\n {\n className: ('bm-menu ' + props.menuClassName).trim(),\n style: getStyles('menu')\n },\n _react2['default'].createElement(props.itemListElement, {\n className: ('bm-item-list ' + props.itemListClassName).trim(),\n style: getStyles('itemList')\n }, _react2['default'].Children.map(props.children, function (item, index) {\n if (item) {\n var classList = ['bm-item', props.itemClassName, item.props.className].filter(function (className) {\n return !!className;\n }).join(' ');\n var extraProps = {\n key: index,\n className: classList,\n style: getStyles('item', index, item.props.style),\n tabIndex: isOpen ? 0 : -1\n };\n return _react2['default'].cloneElement(item, extraProps);\n }\n }))\n ),\n props.customCrossIcon !== false && _react2['default'].createElement(\n 'div',\n { style: getStyles('closeButton') },\n _react2['default'].createElement(_componentsCrossIcon2['default'], {\n onClick: close,\n styles: props.styles,\n customIcon: props.customCrossIcon,\n className: props.crossButtonClassName,\n crossClassName: props.crossClassName,\n isOpen: isOpen\n })\n )\n )\n );\n };\n\n Menu.propTypes = {\n bodyClassName: _propTypes2['default'].string,\n burgerBarClassName: _propTypes2['default'].string,\n burgerButtonClassName: _propTypes2['default'].string,\n className: _propTypes2['default'].string,\n crossButtonClassName: _propTypes2['default'].string,\n crossClassName: _propTypes2['default'].string,\n customBurgerIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customCrossIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customOnKeyDown: _propTypes2['default'].func,\n disableAutoFocus: _propTypes2['default'].bool,\n disableCloseOnEsc: _propTypes2['default'].bool,\n disableOverlayClick: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].func]),\n htmlClassName: _propTypes2['default'].string,\n id: _propTypes2['default'].string,\n isOpen: _propTypes2['default'].bool,\n itemClassName: _propTypes2['default'].string,\n itemListClassName: _propTypes2['default'].string,\n itemListElement: _propTypes2['default'].oneOf(['div', 'nav']),\n menuClassName: _propTypes2['default'].string,\n morphShapeClassName: _propTypes2['default'].string,\n noOverlay: _propTypes2['default'].bool,\n noTransition: _propTypes2['default'].bool,\n onClose: _propTypes2['default'].func,\n onIconHoverChange: _propTypes2['default'].func,\n onOpen: _propTypes2['default'].func,\n onStateChange: _propTypes2['default'].func,\n outerContainerId: styles && styles.outerContainer ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n overlayClassName: _propTypes2['default'].string,\n pageWrapId: styles && styles.pageWrap ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n right: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object,\n width: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].string])\n };\n\n Menu.defaultProps = {\n bodyClassName: '',\n burgerBarClassName: '',\n burgerButtonClassName: '',\n className: '',\n crossButtonClassName: '',\n crossClassName: '',\n disableAutoFocus: false,\n disableCloseOnEsc: false,\n htmlClassName: '',\n id: '',\n itemClassName: '',\n itemListClassName: '',\n menuClassName: '',\n morphShapeClassName: '',\n noOverlay: false,\n noTransition: false,\n onStateChange: function onStateChange() {},\n outerContainerId: '',\n overlayClassName: '',\n pageWrapId: '',\n styles: {},\n width: 300,\n onIconHoverChange: function onIconHoverChange() {},\n itemListElement: 'nav'\n };\n\n return Menu;\n};\n\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil â¤ï¸\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n before = _this.prepend ? _this.container.firstChild : _this.before;\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-ms-input-placeholder|-moz-read-write|-moz-read-only){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} value\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string} type\n * @param {string[]} props\n * @param {object[]} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {string} type\n */\nexport function copy (value, root, type) {\n\treturn node(value, root.root, root.parent, type, root.props, root.children, 0)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\treturn delimiter(type === 34 || type === 39 ? type : character)\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// \" ' [ (\n\t\t\tcase 34: case 39: case 91: case 40:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, length, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (!element.return)\n\t\tswitch (element.type) {\n\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\tbreak\n\t\t\tcase KEYFRAMES:\n\t\t\t\treturn serialize([copy(replace(element.value, '@', '@' + WEBKIT), element, '')], callback)\n\t\t\tcase RULESET:\n\t\t\t\tif (element.length)\n\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\treturn serialize([copy(replace(value, /:(read-\\w+)/, ':' + MOZ + '$1'), element, '')], callback)\n\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\tcopy(replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1'), element, ''),\n\t\t\t\t\t\t\t\t\tcopy(replace(value, /:(plac\\w+)/, ':' + MOZ + '$1'), element, ''),\n\t\t\t\t\t\t\t\t\tcopy(replace(value, /:(plac\\w+)/, MS + 'input-$1'), element, '')\n\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t})\n\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, identifier, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifier(position - 1);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not\n !element.length) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { createContext, forwardRef, useContext, createElement } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z0-9$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z0-9$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, typeof cssProp === 'function' || Array.isArray(cssProp) ? useContext(ThemeContext) : undefined);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, useLayoutEffect } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-a8309070.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-a8309070.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.4.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"isolated-hoist-non-react-statics-do-not-use-this-in-your-code\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"mitchellhamilton <mitchell@mitchellhamilton.me>\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/cache\": \"^11.4.0\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/sheet\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.0.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.1.3\",\n\t\t\"@emotion/css-prettifier\": \"1.0.0\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.3.0\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^0.3.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, typeof styles === 'function' || Array.isArray(styles) ? useContext(ThemeContext) : undefined);\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n\n {\n insertStyles(cache, serialized, false);\n }\n\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n var globalContext = isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { jsx, keyframes, css as css$2, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport AutosizeInput from 'react-input-autosize';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _defineProperty$1 from '@babel/runtime/helpers/esm/defineProperty';\nimport { createContext, Component } from 'react';\nimport { createPortal } from 'react-dom';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n// ==============================\n// NO OP\n// ==============================\nvar noop = function noop() {};\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Clean Common Props\n// ==============================\n\nvar cleanCommonProps = function cleanCommonProps(props) {\n //className\n props.className;\n props.clearValue;\n props.cx;\n props.getStyles;\n props.getValue;\n props.hasValue;\n props.isMulti;\n props.isRtl;\n props.options;\n props.selectOption;\n props.selectProps;\n props.setValue;\n props.theme;\n var innerProps = _objectWithoutProperties(props, [\"className\", \"clearValue\", \"cx\", \"getStyles\", \"getValue\", \"hasValue\", \"isMulti\", \"isRtl\", \"options\", \"selectOption\", \"selectProps\", \"setValue\", \"theme\"]);\n\n return _objectSpread2({}, innerProps);\n}; // ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n}\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n} // ==============================\n// Passive Event Detector\n// ==============================\n// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36\n\nvar passiveOptionAccessed = false;\nvar options = {\n get passive() {\n return passiveOptionAccessed = true;\n }\n\n}; // check for SSR\n\nvar w = typeof window !== 'undefined' ? window : {};\n\nif (w.addEventListener && w.removeEventListener) {\n w.addEventListener('p', noop, options);\n w.removeEventListener('p', noop, false);\n}\n\nvar supportsPassiveEvents = passiveOptionAccessed;\n\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n if (shouldScroll) {\n scrollTo(scrollParent, scrollDown);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty$1(_ref3, alignToControl(placement), '100%'), _defineProperty$1(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty$1(_ref3, \"borderRadius\", borderRadius), _defineProperty$1(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty$1(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty$1(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty$1(_ref3, \"position\", 'absolute'), _defineProperty$1(_ref3, \"width\", '100%'), _defineProperty$1(_ref3, \"zIndex\", 1), _ref3;\n};\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread2(_objectSpread2({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n innerRef = props.innerRef,\n isMulti = props.isMulti;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n className = _this$props2.className,\n controlElement = _this$props2.controlElement,\n cx = _this$props2.cx,\n innerProps = _this$props2.innerProps,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", _extends({\n css: getStyles('menuPortal', state),\n className: cx({\n 'menu-portal': true\n }, className)\n }, innerProps), children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", _extends({\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n getStyles = props.getStyles;\n return jsx(\"div\", _extends({\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, innerProps), children);\n};\n\nvar _templateObject;\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"8mmkcg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0\"\n} : {\n name: \"tj5bde-Svg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }, innerProps), children || jsx(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }, innerProps), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/css$2({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingDot;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }, innerProps), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n innerProps = props.innerProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", _extends({\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, innerProps), jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\nvar GroupHeading = function GroupHeading(props) {\n var getStyles = props.getStyles,\n cx = props.cx,\n className = props.className;\n\n var _cleanCommonProps = cleanCommonProps(props);\n _cleanCommonProps.data;\n var innerProps = _objectWithoutProperties(_cleanCommonProps, [\"data\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', props),\n className: cx({\n 'group-heading': true\n }, className)\n }, innerProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n\n var _cleanCommonProps = cleanCommonProps(props),\n innerRef = _cleanCommonProps.innerRef,\n isDisabled = _cleanCommonProps.isDisabled,\n isHidden = _cleanCommonProps.isHidden,\n innerProps = _objectWithoutProperties(_cleanCommonProps, [\"innerRef\", \"isDisabled\", \"isHidden\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', props)\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, innerProps)));\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }, innerProps),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread2(_objectSpread2({}, components), props.components);\n};\n\nexport { isMobileDevice as A, classNames as B, defaultComponents as C, isDocumentElement as D, cleanValue as E, scrollIntoView as F, noop as G, handleInputChange as H, MenuPlacer as M, _createSuper as _, _objectSpread2 as a, clearIndicatorCSS as b, components as c, containerCSS as d, css as e, dropdownIndicatorCSS as f, groupCSS as g, groupHeadingCSS as h, indicatorsContainerCSS as i, indicatorSeparatorCSS as j, inputCSS as k, loadingIndicatorCSS as l, loadingMessageCSS as m, menuCSS as n, menuListCSS as o, menuPortalCSS as p, multiValueCSS as q, multiValueLabelCSS as r, supportsPassiveEvents as s, multiValueRemoveCSS as t, noOptionsMessageCSS as u, optionCSS as v, placeholderCSS as w, css$1 as x, valueContainerCSS as y, isTouchCapable as z };\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { a as _objectSpread2, s as supportsPassiveEvents, b as clearIndicatorCSS, d as containerCSS, e as css$1, f as dropdownIndicatorCSS, g as groupCSS, h as groupHeadingCSS, i as indicatorsContainerCSS, j as indicatorSeparatorCSS, k as inputCSS, l as loadingIndicatorCSS, m as loadingMessageCSS, n as menuCSS, o as menuListCSS, p as menuPortalCSS, q as multiValueCSS, r as multiValueLabelCSS, t as multiValueRemoveCSS, u as noOptionsMessageCSS, v as optionCSS, w as placeholderCSS, x as css$2, y as valueContainerCSS, z as isTouchCapable, A as isMobileDevice, _ as _createSuper, B as classNames, C as defaultComponents, D as isDocumentElement, E as cleanValue, F as scrollIntoView, G as noop, M as MenuPlacer } from './index-4bd03571.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport React, { useMemo, useRef, useCallback, useEffect, Component } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport memoizeOne from 'memoize-one';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"7pg0cj-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap\"\n} : {\n name: \"1f43avz-a11yText-A11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbmNvbnN0IEExMXlUZXh0ID0gKHByb3BzOiBFbGVtZW50Q29uZmlnPCdzcGFuJz4pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nvar defaultAriaLiveMessages = {\n guidance: function guidance(props) {\n var isSearchable = props.isSearchable,\n isMulti = props.isMulti,\n isDisabled = props.isDisabled,\n tabSelectsValue = props.tabSelectsValue,\n context = props.context;\n\n switch (context) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(props['aria-label'] || 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n\n default:\n return '';\n }\n },\n onChange: function onChange(props) {\n var action = props.action,\n _props$label = props.label,\n label = _props$label === void 0 ? '' : _props$label,\n isDisabled = props.isDisabled;\n\n switch (action) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(label, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(label, \" is disabled. Select another option.\") : \"option \".concat(label, \", selected.\");\n\n default:\n return '';\n }\n },\n onFocus: function onFocus(props) {\n var context = props.context,\n _props$focused = props.focused,\n focused = _props$focused === void 0 ? {} : _props$focused,\n options = props.options,\n _props$label2 = props.label,\n label = _props$label2 === void 0 ? '' : _props$label2,\n selectValue = props.selectValue,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected;\n\n var getArrayIndex = function getArrayIndex(arr, item) {\n return arr && arr.length ? \"\".concat(arr.indexOf(item) + 1, \" of \").concat(arr.length) : '';\n };\n\n if (context === 'value' && selectValue) {\n return \"value \".concat(label, \" focused, \").concat(getArrayIndex(selectValue, focused), \".\");\n }\n\n if (context === 'menu') {\n var disabled = isDisabled ? ' disabled' : '';\n var status = \"\".concat(isSelected ? 'selected' : 'focused').concat(disabled);\n return \"option \".concat(label, \" \").concat(status, \", \").concat(getArrayIndex(options, focused), \".\");\n }\n\n return '';\n },\n onFilter: function onFilter(props) {\n var inputValue = props.inputValue,\n resultsMessage = props.resultsMessage;\n return \"\".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n }\n};\n\nvar LiveRegion = function LiveRegion(props) {\n var ariaSelection = props.ariaSelection,\n focusedOption = props.focusedOption,\n focusedValue = props.focusedValue,\n focusableOptions = props.focusableOptions,\n isFocused = props.isFocused,\n selectValue = props.selectValue,\n selectProps = props.selectProps;\n var ariaLiveMessages = selectProps.ariaLiveMessages,\n getOptionLabel = selectProps.getOptionLabel,\n inputValue = selectProps.inputValue,\n isMulti = selectProps.isMulti,\n isOptionDisabled = selectProps.isOptionDisabled,\n isSearchable = selectProps.isSearchable,\n menuIsOpen = selectProps.menuIsOpen,\n options = selectProps.options,\n screenReaderStatus = selectProps.screenReaderStatus,\n tabSelectsValue = selectProps.tabSelectsValue;\n var ariaLabel = selectProps['aria-label'];\n var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes\n\n var messages = useMemo(function () {\n return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});\n }, [ariaLiveMessages]); // Update aria live selected option when prop changes\n\n var ariaSelected = useMemo(function () {\n var message = '';\n\n if (ariaSelection && messages.onChange) {\n var option = ariaSelection.option,\n removedValue = ariaSelection.removedValue,\n value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value\n\n var asOption = function asOption(val) {\n return !Array.isArray(val) ? val : null;\n };\n\n var selected = removedValue || option || asOption(value);\n\n var onChangeProps = _objectSpread2({\n isDisabled: selected && isOptionDisabled(selected),\n label: selected ? getOptionLabel(selected) : ''\n }, ariaSelection);\n\n message = messages.onChange(onChangeProps);\n }\n\n return message;\n }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);\n var ariaFocused = useMemo(function () {\n var focusMsg = '';\n var focused = focusedOption || focusedValue;\n var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));\n\n if (focused && messages.onFocus) {\n var onFocusProps = {\n focused: focused,\n label: getOptionLabel(focused),\n isDisabled: isOptionDisabled(focused),\n isSelected: isSelected,\n options: options,\n context: focused === focusedOption ? 'menu' : 'value',\n selectValue: selectValue\n };\n focusMsg = messages.onFocus(onFocusProps);\n }\n\n return focusMsg;\n }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);\n var ariaResults = useMemo(function () {\n var resultsMsg = '';\n\n if (menuIsOpen && options.length && messages.onFilter) {\n var resultsMessage = screenReaderStatus({\n count: focusableOptions.length\n });\n resultsMsg = messages.onFilter({\n inputValue: inputValue,\n resultsMessage: resultsMessage\n });\n }\n\n return resultsMsg;\n }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);\n var ariaGuidance = useMemo(function () {\n var guidanceMsg = '';\n\n if (messages.guidance) {\n var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';\n guidanceMsg = messages.guidance({\n 'aria-label': ariaLabel,\n context: context,\n isDisabled: focusedOption && isOptionDisabled(focusedOption),\n isMulti: isMulti,\n isSearchable: isSearchable,\n tabSelectsValue: tabSelectsValue\n });\n }\n\n return guidanceMsg;\n }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);\n var ariaContext = \"\".concat(ariaFocused, \" \").concat(ariaResults, \" \").concat(ariaGuidance);\n return jsx(A11yText, {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"false\",\n \"aria-relevant\": \"additions text\"\n }, isFocused && jsx(React.Fragment, null, jsx(\"span\", {\n id: \"aria-selection\"\n }, ariaSelected), jsx(\"span\", {\n id: \"aria-context\"\n }, ariaContext)));\n};\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nvar memoizedStripDiacriticsForInput = memoizeOne(stripDiacritics);\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread2({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = memoizedStripDiacriticsForInput(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction DummyInput(_ref) {\n _ref.in;\n _ref.out;\n _ref.onExited;\n _ref.appear;\n _ref.enter;\n _ref.exit;\n var innerRef = _ref.innerRef;\n _ref.emotion;\n var props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:DummyInput;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIER1bW15SW5wdXQoe1xuICBpbjogaW5Qcm9wLFxuICBvdXQsXG4gIG9uRXhpdGVkLFxuICBhcHBlYXIsXG4gIGVudGVyLFxuICBleGl0LFxuICBpbm5lclJlZixcbiAgZW1vdGlvbixcbiAgLi4ucHJvcHNcbn06IGFueSkge1xuICByZXR1cm4gKFxuICAgIDxpbnB1dFxuICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwKScsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59XG4iXX0= */\")\n }));\n}\n\nvar cancelScroll = function cancelScroll(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nfunction useScrollCapture(_ref) {\n var isEnabled = _ref.isEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var isBottom = useRef(false);\n var isTop = useRef(false);\n var touchStart = useRef(0);\n var scrollTarget = useRef(null);\n var handleEventDelta = useCallback(function (event, delta) {\n // Reference should never be `null` at this point, but flow complains otherwise\n if (scrollTarget.current === null) return;\n var _scrollTarget$current = scrollTarget.current,\n scrollTop = _scrollTarget$current.scrollTop,\n scrollHeight = _scrollTarget$current.scrollHeight,\n clientHeight = _scrollTarget$current.clientHeight;\n var target = scrollTarget.current;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && isBottom.current) {\n if (onBottomLeave) onBottomLeave(event);\n isBottom.current = false;\n }\n\n if (isDeltaPositive && isTop.current) {\n if (onTopLeave) onTopLeave(event);\n isTop.current = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !isBottom.current) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n isBottom.current = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !isTop.current) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n isTop.current = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n cancelScroll(event);\n }\n }, []);\n var onWheel = useCallback(function (event) {\n handleEventDelta(event, event.deltaY);\n }, [handleEventDelta]);\n var onTouchStart = useCallback(function (event) {\n // set touch start so we can calculate touchmove delta\n touchStart.current = event.changedTouches[0].clientY;\n }, []);\n var onTouchMove = useCallback(function (event) {\n var deltaY = touchStart.current - event.changedTouches[0].clientY;\n handleEventDelta(event, deltaY);\n }, [handleEventDelta]);\n var startListening = useCallback(function (el) {\n // bail early if no element is available to attach to\n if (!el) return;\n var notPassive = supportsPassiveEvents ? {\n passive: false\n } : false; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', onWheel, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', onTouchStart, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', onTouchMove, notPassive);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n var stopListening = useCallback(function (el) {\n // bail early if no element is available to detach from\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', onTouchMove, false);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n startListening(element);\n return function () {\n stopListening(element);\n };\n }, [isEnabled, startListening, stopListening]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar activeScrollLocks = 0;\nvar listenerOptions = {\n capture: false,\n passive: false\n};\nfunction useScrollLock(_ref) {\n var isEnabled = _ref.isEnabled,\n _ref$accountForScroll = _ref.accountForScrollbars,\n accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;\n var originalStyles = useRef({});\n var scrollTarget = useRef(null);\n var addScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n originalStyles.current[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }, []);\n var removeScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = originalStyles.current[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n }, []);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n addScrollLock(element);\n return function () {\n removeScrollLock(element);\n };\n }, [isEnabled, addScrollLock, removeScrollLock]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar blurSelectInput = function blurSelectInput() {\n return document.activeElement && document.activeElement.blur();\n};\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"1kfdb0e\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0\"\n} : {\n name: \"bp8cua-ScrollManager\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0RVIiwiZmlsZSI6IlNjcm9sbE1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNjcm9sbENhcHR1cmUgZnJvbSAnLi91c2VTY3JvbGxDYXB0dXJlJztcbmltcG9ydCB1c2VTY3JvbGxMb2NrIGZyb20gJy4vdXNlU2Nyb2xsTG9jayc7XG5cbnR5cGUgUmVmQ2FsbGJhY2s8VD4gPSAoVCB8IG51bGwpID0+IHZvaWQ7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiAoUmVmQ2FsbGJhY2s8SFRNTEVsZW1lbnQ+KSA9PiBFbGVtZW50PCo+LFxuICBsb2NrRW5hYmxlZDogYm9vbGVhbixcbiAgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW4sXG4gIG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudD4pID0+IHZvaWQsXG4gIG9uQm90dG9tTGVhdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BBcnJpdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BMZWF2ZT86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkLFxufTtcblxuY29uc3QgYmx1clNlbGVjdElucHV0ID0gKCkgPT5cbiAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcih7XG4gIGNoaWxkcmVuLFxuICBsb2NrRW5hYmxlZCxcbiAgY2FwdHVyZUVuYWJsZWQgPSB0cnVlLFxuICBvbkJvdHRvbUFycml2ZSxcbiAgb25Cb3R0b21MZWF2ZSxcbiAgb25Ub3BBcnJpdmUsXG4gIG9uVG9wTGVhdmUsXG59OiBQcm9wcykge1xuICBjb25zdCBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUsXG4gIH0pO1xuICBjb25zdCBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7IGlzRW5hYmxlZDogbG9ja0VuYWJsZWQgfSk7XG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gZWxlbWVudCA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\nfunction ScrollManager(_ref) {\n var children = _ref.children,\n lockEnabled = _ref.lockEnabled,\n _ref$captureEnabled = _ref.captureEnabled,\n captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var setScrollCaptureTarget = useScrollCapture({\n isEnabled: captureEnabled,\n onBottomArrive: onBottomArrive,\n onBottomLeave: onBottomLeave,\n onTopArrive: onTopArrive,\n onTopLeave: onTopLeave\n });\n var setScrollLockTarget = useScrollLock({\n isEnabled: lockEnabled\n });\n\n var targetRef = function targetRef(element) {\n setScrollCaptureTarget(element);\n setScrollLockTarget(element);\n };\n\n return jsx(React.Fragment, null, lockEnabled && jsx(\"div\", {\n onClick: blurSelectInput,\n css: _ref2\n }), children(targetRef));\n}\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css$1,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$2,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // initialize with source styles\n var styles = _objectSpread2({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\n\nvar defaultProps = {\n 'aria-live': 'polite',\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\n\nfunction toCategorizedOption(props, option, selectValue, index) {\n var isDisabled = _isOptionDisabled(props, option, selectValue);\n\n var isSelected = _isOptionSelected(props, option, selectValue);\n\n var label = getOptionLabel$1(props, option);\n var value = getOptionValue$1(props, option);\n return {\n type: 'option',\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n label: label,\n value: value,\n index: index\n };\n}\n\nfunction buildCategorizedOptions(props, selectValue) {\n return props.options.map(function (groupOrOption, groupOrOptionIndex) {\n if (groupOrOption.options) {\n var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {\n return toCategorizedOption(props, option, selectValue, optionIndex);\n }).filter(function (categorizedOption) {\n return isFocusable(props, categorizedOption);\n });\n return categorizedOptions.length > 0 ? {\n type: 'group',\n data: groupOrOption,\n options: categorizedOptions,\n index: groupOrOptionIndex\n } : undefined;\n }\n\n var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);\n return isFocusable(props, categorizedOption) ? categorizedOption : undefined;\n }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)\n .filter(function (categorizedOption) {\n return !!categorizedOption;\n });\n}\n\nfunction buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) {\n return option.data;\n })));\n } else {\n optionsAccumulator.push(categorizedOption.data);\n }\n\n return optionsAccumulator;\n }, []);\n}\n\nfunction buildFocusableOptions(props, selectValue) {\n return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));\n}\n\nfunction isFocusable(props, categorizedOption) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;\n var data = categorizedOption.data,\n isSelected = categorizedOption.isSelected,\n label = categorizedOption.label,\n value = categorizedOption.value;\n return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {\n label: label,\n value: value,\n data: data\n }, inputValue);\n}\n\nfunction getNextFocusedValue(state, nextSelectValue) {\n var focusedValue = state.focusedValue,\n lastSelectValue = state.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n}\n\nfunction getNextFocusedOption(state, options) {\n var lastFocusedOption = state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n}\n\nvar getOptionLabel$1 = function getOptionLabel(props, data) {\n return props.getOptionLabel(data);\n};\n\nvar getOptionValue$1 = function getOptionValue(props, data) {\n return props.getOptionValue(data);\n};\n\nfunction _isOptionDisabled(props, option, selectValue) {\n return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;\n}\n\nfunction _isOptionSelected(props, option, selectValue) {\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof props.isOptionSelected === 'function') {\n return props.isOptionSelected(option, selectValue);\n }\n\n var candidate = getOptionValue$1(props, option);\n return selectValue.some(function (i) {\n return getOptionValue$1(props, i) === candidate;\n });\n}\n\nfunction _filterOption(props, option, inputValue) {\n return props.filterOption ? props.filterOption(option, inputValue) : true;\n}\n\nvar shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {\n var hideSelectedOptions = props.hideSelectedOptions,\n isMulti = props.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n};\n\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper(Select);\n\n // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaSelection: null,\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n selectValue: [],\n clearFocusValueOnUpdate: false,\n inputIsHiddenAfterUpdate: undefined,\n prevProps: undefined\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.commonProps = void 0;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n actionMeta.name = name;\n\n _this.ariaOnChange(newValue, actionMeta);\n\n onChange(newValue, actionMeta);\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.setState({\n clearFocusValueOnUpdate: true\n });\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti,\n name = _this$props3.name;\n var selectValue = _this.state.selectValue;\n\n var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);\n\n var isDisabled = _this.isOptionDisabled(newValue, selectValue);\n\n if (deselected) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n } else if (!isDisabled) {\n // Select option if option is not disabled\n if (isMulti) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n } else {\n _this.setValue(newValue, 'select-option');\n }\n } else {\n _this.ariaOnChange(newValue, {\n action: 'select-option',\n name: name\n });\n\n return;\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValueArray = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n var selectValue = _this.state.selectValue;\n\n _this.onChange(_this.props.isMulti ? [] : null, {\n action: 'clear',\n removedValues: selectValue\n });\n };\n\n _this.popValue = function () {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValueArray = selectValue.slice(0, selectValue.length - 1);\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return getOptionLabel$1(_this.props, data);\n };\n\n _this.getOptionValue = function (data) {\n return getOptionValue$1(_this.props, data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getComponents = function () {\n return defaultComponents(_this.props);\n };\n\n _this.buildCategorizedOptions = function () {\n return buildCategorizedOptions(_this.props, _this.state.selectValue);\n };\n\n _this.getCategorizedOptions = function () {\n return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];\n };\n\n _this.buildFocusableOptions = function () {\n return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());\n };\n\n _this.getFocusableOptions = function () {\n return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];\n };\n\n _this.ariaOnChange = function (value, actionMeta) {\n _this.setState({\n ariaSelection: _objectSpread2({\n value: value\n }, actionMeta)\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref2) {\n var touches = _ref2.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref3) {\n var touches = _ref3.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState({\n inputIsHiddenAfterUpdate: false,\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n return shouldHideSelectedOptions(_this.props);\n };\n\n _this.onKeyDown = function (event) {\n var _this$props5 = _this.props,\n isMulti = _this$props5.isMulti,\n backspaceRemovesValue = _this$props5.backspaceRemovesValue,\n escapeClearsValue = _this$props5.escapeClearsValue,\n inputValue = _this$props5.inputValue,\n isClearable = _this$props5.isClearable,\n isDisabled = _this$props5.isDisabled,\n menuIsOpen = _this$props5.menuIsOpen,\n onKeyDown = _this$props5.onKeyDown,\n tabSelectsValue = _this$props5.tabSelectsValue,\n openMenuOnFocus = _this$props5.openMenuOnFocus;\n var _this$state = _this.state,\n focusedOption = _this$state.focusedOption,\n focusedValue = _this$state.focusedValue,\n selectValue = _this$state.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n _this.state.selectValue = cleanValue(_props.value);\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props6 = this.props,\n isDisabled = _this$props6.isDisabled,\n menuIsOpen = _this$props6.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n } // ==============================\n // Consumer Handlers\n // ==============================\n\n }, {\n key: \"onMenuOpen\",\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state2 = this.state,\n selectValue = _this$state2.selectValue,\n isFocused = _this$state2.isFocused;\n var focusableOptions = this.buildFocusableOptions();\n var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;\n\n if (!this.props.isMulti) {\n var selectedIndex = focusableOptions.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.setState({\n inputIsHiddenAfterUpdate: false,\n focusedValue: null,\n focusedOption: focusableOptions[openAtIndex]\n }, function () {\n return _this2.onMenuOpen();\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing\n\n if (!this.props.isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var focusedOption = this.state.focusedOption;\n var options = this.getFocusableOptions();\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n }\n }, {\n key: \"getTheme\",\n value: // ==============================\n // Getters\n // ==============================\n function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread2(_objectSpread2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n selectOption = this.selectOption,\n setValue = this.setValue,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n clearValue: clearValue,\n cx: cx,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n selectProps: props,\n setValue: setValue,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.getFocusableOptions().length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props7 = this.props,\n isClearable = _this$props7.isClearable,\n isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return _isOptionDisabled(this.props, option, selectValue);\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n return _isOptionSelected(this.props, option, selectValue);\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return _filterOption(this.props, option, inputValue);\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n value: // ==============================\n // Composition Handlers\n // ==============================\n function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n value: // ==============================\n // Touch Handlers\n // ==============================\n function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"renderInput\",\n value: // ==============================\n // Renderers\n // ==============================\n function renderInput() {\n var _this$props8 = this.props,\n isDisabled = _this$props8.isDisabled,\n isSearchable = _this$props8.isSearchable,\n inputId = _this$props8.inputId,\n inputValue = _this$props8.inputValue,\n tabIndex = _this$props8.tabIndex,\n form = _this$props8.form;\n\n var _this$getComponents = this.getComponents(),\n Input = _this$getComponents.Input;\n\n var inputIsHidden = this.state.inputIsHidden;\n var commonProps = this.commonProps;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n return /*#__PURE__*/React.createElement(Input, _extends({}, commonProps, {\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this3 = this;\n\n var _this$getComponents2 = this.getComponents(),\n MultiValue = _this$getComponents2.MultiValue,\n MultiValueContainer = _this$getComponents2.MultiValueContainer,\n MultiValueLabel = _this$getComponents2.MultiValueLabel,\n MultiValueRemove = _this$getComponents2.MultiValueRemove,\n SingleValue = _this$getComponents2.SingleValue,\n Placeholder = _this$getComponents2.Placeholder;\n\n var commonProps = this.commonProps;\n var _this$props9 = this.props,\n controlShouldRenderValue = _this$props9.controlShouldRenderValue,\n isDisabled = _this$props9.isDisabled,\n isMulti = _this$props9.isMulti,\n inputValue = _this$props9.inputValue,\n placeholder = _this$props9.placeholder;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue,\n isFocused = _this$state4.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this3.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this3.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this3.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this3.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var _this$getComponents3 = this.getComponents(),\n ClearIndicator = _this$getComponents3.ClearIndicator;\n\n var commonProps = this.commonProps;\n var _this$props10 = this.props,\n isDisabled = _this$props10.isDisabled,\n isLoading = _this$props10.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var _this$getComponents4 = this.getComponents(),\n LoadingIndicator = _this$getComponents4.LoadingIndicator;\n\n var commonProps = this.commonProps;\n var _this$props11 = this.props,\n isDisabled = _this$props11.isDisabled,\n isLoading = _this$props11.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$getComponents5 = this.getComponents(),\n DropdownIndicator = _this$getComponents5.DropdownIndicator,\n IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var _this$getComponents6 = this.getComponents(),\n DropdownIndicator = _this$getComponents6.DropdownIndicator;\n\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this4 = this;\n\n var _this$getComponents7 = this.getComponents(),\n Group = _this$getComponents7.Group,\n GroupHeading = _this$getComponents7.GroupHeading,\n Menu = _this$getComponents7.Menu,\n MenuList = _this$getComponents7.MenuList,\n MenuPortal = _this$getComponents7.MenuPortal,\n LoadingMessage = _this$getComponents7.LoadingMessage,\n NoOptionsMessage = _this$getComponents7.NoOptionsMessage,\n Option = _this$getComponents7.Option;\n\n var commonProps = this.commonProps;\n var focusedOption = this.state.focusedOption;\n var _this$props12 = this.props,\n captureMenuScroll = _this$props12.captureMenuScroll,\n inputValue = _this$props12.inputValue,\n isLoading = _this$props12.isLoading,\n loadingMessage = _this$props12.loadingMessage,\n minMenuHeight = _this$props12.minMenuHeight,\n maxMenuHeight = _this$props12.maxMenuHeight,\n menuIsOpen = _this$props12.menuIsOpen,\n menuPlacement = _this$props12.menuPlacement,\n menuPosition = _this$props12.menuPosition,\n menuPortalTarget = _this$props12.menuPortalTarget,\n menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,\n noOptionsMessage = _this$props12.noOptionsMessage,\n onMenuScrollToTop = _this$props12.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props, id) {\n var type = props.type,\n data = props.data,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n label = props.label,\n value = props.value;\n var isFocused = focusedOption === data;\n var onHover = isDisabled ? undefined : function () {\n return _this4.onOptionHover(data);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this4.selectOption(data);\n };\n var optionId = \"\".concat(_this4.getElementId('option'), \"-\").concat(id);\n var innerProps = {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n };\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, {\n innerProps: innerProps,\n data: data,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: type,\n value: value,\n isFocused: isFocused,\n innerRef: isFocused ? _this4.getFocusedOptionRef : undefined\n }), _this4.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = this.getCategorizedOptions().map(function (item) {\n if (item.type === 'group') {\n var data = item.data,\n options = item.options,\n groupIndex = item.index;\n var groupId = \"\".concat(_this4.getElementId('group'), \"-\").concat(groupIndex);\n var headingId = \"\".concat(groupId, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, {\n key: groupId,\n data: data,\n options: options,\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this4.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option, \"\".concat(groupIndex, \"-\").concat(option.index));\n }));\n } else if (item.type === 'option') {\n return render(item, \"\".concat(item.index));\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref4) {\n var ref = _ref4.ref,\n _ref4$placerProps = _ref4.placerProps,\n placement = _ref4$placerProps.placement,\n maxHeight = _ref4$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this4.onMenuMouseDown,\n onMouseMove: _this4.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollManager, {\n captureEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom,\n lockEnabled: menuShouldBlockScroll\n }, function (scrollTargetRef) {\n return /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: function innerRef(instance) {\n _this4.getMenuListRef(instance);\n\n scrollTargetRef(instance);\n },\n isLoading: isLoading,\n maxHeight: maxHeight,\n focusedOption: focusedOption\n }), menuUI);\n }));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this5 = this;\n\n var _this$props13 = this.props,\n delimiter = _this$props13.delimiter,\n isDisabled = _this$props13.isDisabled,\n isMulti = _this$props13.isMulti,\n name = _this$props13.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this5.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this5.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n var commonProps = this.commonProps;\n var _this$state5 = this.state,\n ariaSelection = _this$state5.ariaSelection,\n focusedOption = _this$state5.focusedOption,\n focusedValue = _this$state5.focusedValue,\n isFocused = _this$state5.isFocused,\n selectValue = _this$state5.selectValue;\n var focusableOptions = this.getFocusableOptions();\n return /*#__PURE__*/React.createElement(LiveRegion, _extends({}, commonProps, {\n ariaSelection: ariaSelection,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n isFocused: isFocused,\n selectValue: selectValue,\n focusableOptions: focusableOptions\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getComponents8 = this.getComponents(),\n Control = _this$getComponents8.Control,\n IndicatorsContainer = _this$getComponents8.IndicatorsContainer,\n SelectContainer = _this$getComponents8.SelectContainer,\n ValueContainer = _this$getComponents8.ValueContainer;\n\n var _this$props14 = this.props,\n className = _this$props14.className,\n id = _this$props14.id,\n isDisabled = _this$props14.isDisabled,\n menuIsOpen = _this$props14.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var prevProps = state.prevProps,\n clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,\n inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;\n var options = props.options,\n value = props.value,\n menuIsOpen = props.menuIsOpen,\n inputValue = props.inputValue;\n var newMenuOptionsState = {};\n\n if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {\n var selectValue = cleanValue(value);\n var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];\n var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;\n var focusedOption = getNextFocusedOption(state, focusableOptions);\n newMenuOptionsState = {\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n clearFocusValueOnUpdate: false\n };\n } // some updates should toggle the state of the input visibility\n\n\n var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {\n inputIsHidden: inputIsHiddenAfterUpdate,\n inputIsHiddenAfterUpdate: undefined\n } : {};\n return _objectSpread2(_objectSpread2(_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {\n prevProps: props\n });\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\n\nexport { Select as S, getOptionLabel as a, defaultProps as b, createFilter as c, defaultTheme as d, getOptionValue as g, mergeStyles as m };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\n\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props;\n _this$props2.defaultInputValue;\n _this$props2.defaultMenuIsOpen;\n _this$props2.defaultValue;\n var props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","import { S as Select } from './Select-dbb12e54.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-dbb12e54.esm.js';\nimport { m as manageState } from './stateManager-845a3300.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nexport { c as components } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport memoizeOne from 'memoize-one';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport 'react-input-autosize';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce, key) {\n return createCache({\n nonce: nonce,\n key: key\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce, this.props.cacheKey);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\n\nexport default index;\nexport { NonceProvider };\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is null | undefined => value == null;\n","import isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown) => typeof value === 'object';\n\nexport default <T extends object>(value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !(value instanceof Date);\n","export default (name: string) => name.substring(0, name.search(/.\\d/)) || name;\n","import { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set<InternalFieldName>, name: InternalFieldName) =>\n [...names].some((current) => getNodeParentName(name) === current);\n","export default (value: any[]) => value.filter(Boolean);\n","export default (val: unknown): val is undefined => val === undefined;\n","import compact from './compact';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\n\nexport default <T extends unknown>(\n obj: T,\n path: string,\n defaultValue?: unknown,\n) => {\n if (isObject(obj) && path) {\n const result = compact(path.split(/[,[\\].]+?/)).reduce(\n (result, key) => (isNullOrUndefined(result) ? result : result[key]),\n obj,\n );\n\n return isUndefined(result) || result === obj\n ? isUndefined(obj[path as keyof T])\n ? defaultValue\n : obj[path as keyof T]\n : result;\n }\n\n return undefined;\n};\n","import { ValidationMode } from './types';\n\nexport const EVENTS = {\n BLUR: 'blur',\n CHANGE: 'change',\n};\n\nexport const VALIDATION_MODE: ValidationMode = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n","export default <Key extends string, T extends Record<Key, any>>(\n source: T,\n key: Key,\n): Omit<T, Key> => {\n const copy = { ...source };\n delete copy[key];\n\n return copy;\n};\n","import * as React from 'react';\n\nimport omit from './utils/omit';\nimport { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst FormContext = React.createContext<UseFormReturn | null>(null);\n\nFormContext.displayName = 'RHFContext';\n\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n>(): UseFormReturn<TFieldValues> =>\n React.useContext(FormContext) as unknown as UseFormReturn<TFieldValues>;\n\nexport const FormProvider = <TFieldValues extends FieldValues>(\n props: FormProviderProps<TFieldValues>,\n) => (\n <FormContext.Provider\n value={omit(props, 'children') as unknown as UseFormReturn}\n >\n {props.children}\n </FormContext.Provider>\n);\n","import * as React from 'react';\n\nimport { VALIDATION_MODE } from '../constants';\nimport { FormState, FormStateProxy, ReadFormState } from '../types';\n\nexport default <TFieldValues>(\n isProxyEnabled: boolean,\n formState: FormState<TFieldValues>,\n readFormStateRef: React.MutableRefObject<ReadFormState>,\n localReadFormStateRef?: React.MutableRefObject<ReadFormState>,\n isRoot = true,\n) =>\n isProxyEnabled\n ? new Proxy(formState, {\n get: (obj, prop: keyof FormStateProxy) => {\n if (prop in obj) {\n if (readFormStateRef.current[prop] !== VALIDATION_MODE.all) {\n readFormStateRef.current[prop] = isRoot\n ? VALIDATION_MODE.all\n : true;\n }\n localReadFormStateRef &&\n (localReadFormStateRef.current[prop] = true);\n return obj[prop];\n }\n\n return undefined;\n },\n })\n : formState;\n","import { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import { VALIDATION_MODE } from '../constants';\nimport { ReadFormState } from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport omit from '../utils/omit';\n\nexport default <T extends Record<string, any>, K extends ReadFormState>(\n formStateData: T,\n readFormStateRef: K,\n isRoot?: boolean,\n) => {\n const formState = omit(formStateData, 'name');\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(readFormStateRef).length ||\n Object.keys(formState).find(\n (key) =>\n readFormStateRef[key as keyof ReadFormState] ===\n (isRoot ? VALIDATION_MODE.all : true),\n )\n );\n};\n","export default <T extends unknown>(value: T) =>\n Array.isArray(value) ? value : [value];\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isWeb from './isWeb';\n\nconst isProxyEnabled = isWeb ? 'Proxy' in window : typeof Proxy !== 'undefined';\n\nexport default isProxyEnabled;\n","import {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default (value: string) => /^\\w*$/.test(value);\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import { FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default function set(\n object: FieldValues,\n path: string,\n value?: unknown,\n) {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n}\n","import { FieldRefs, InternalFieldName } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\nimport isUndefined from '../utils/isUndefined';\nimport omit from '../utils/omit';\n\nconst focusFieldBy = (\n fields: FieldRefs,\n callback: (name: string) => boolean,\n fieldsNames?: Set<InternalFieldName> | InternalFieldName[],\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const _f = field._f;\n const current = omit(field, '_f');\n\n if (_f && callback(_f.name)) {\n if (_f.ref.focus && isUndefined(_f.ref.focus())) {\n break;\n } else if (_f.refs) {\n _f.refs[0].focus();\n break;\n }\n } else if (isObject(current)) {\n focusFieldBy(current, callback);\n }\n }\n }\n};\n\nexport default focusFieldBy;\n","import * as React from 'react';\n\nimport { FieldRefs, FieldValues } from '../types';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport omit from '../utils/omit';\nimport set from '../utils/set';\n\nconst getFieldsValues = (\n fieldsRef: React.MutableRefObject<FieldRefs>,\n output: FieldValues = {},\n): any => {\n for (const name in fieldsRef.current) {\n const field = fieldsRef.current[name];\n\n if (field && !isNullOrUndefined(output)) {\n const _f = field._f;\n const current = omit(field, '_f');\n\n set(\n output,\n name,\n _f && _f.ref\n ? _f.ref.disabled || (_f.refs && _f.refs.every((ref) => ref.disabled))\n ? undefined\n : _f.value\n : Array.isArray(field)\n ? []\n : {},\n );\n\n current &&\n getFieldsValues(\n {\n current,\n },\n output[name],\n );\n }\n }\n\n return output;\n};\n\nexport default getFieldsValues;\n","import { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import * as React from 'react';\n\nimport isObject from '../utils/isObject';\n\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(\n object1: any,\n object2: any,\n isErrorObject?: boolean,\n) {\n if (\n isPrimitive(object1) ||\n isPrimitive(object2) ||\n object1 instanceof Date ||\n object2 instanceof Date\n ) {\n return object1 === object2;\n }\n\n if (!React.isValidElement(object1)) {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!(isErrorObject && key === 'ref')) {\n const val2 = object2[key];\n\n if (\n (isObject(val1) || Array.isArray(val1)) &&\n (isObject(val2) || Array.isArray(val2))\n ? !deepEqual(val1, val2, isErrorObject)\n : val1 !== val2\n ) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n","import isObject from './isObject';\nimport isPrimitive from './isPrimitive';\n\nexport function deepMerge<\n T extends Record<keyof T, any>,\n U extends Record<keyof U, any>,\n>(target: T, source: U): T & U {\n if (isPrimitive(target) || isPrimitive(source)) {\n return source;\n }\n\n for (const key in source) {\n const targetValue = target[key];\n const sourceValue = source[key];\n\n try {\n target[key] =\n (isObject(targetValue) && isObject(sourceValue)) ||\n (Array.isArray(targetValue) && Array.isArray(sourceValue))\n ? deepMerge(targetValue, sourceValue)\n : sourceValue;\n } catch {}\n }\n\n return target;\n}\n","import { get } from '../utils';\nimport deepEqual from '../utils/deepEqual';\nimport { deepMerge } from '../utils/deepMerge';\nimport set from '../utils/set';\n\nfunction setDirtyFields<\n T extends Record<string, unknown>[],\n U extends Record<string, unknown>[],\n K extends Record<string, boolean | []>,\n>(\n values: T,\n defaultValues: U,\n dirtyFields: Record<string, boolean | []>[],\n parentNode?: K,\n parentName?: keyof K,\n) {\n let index = -1;\n\n while (++index < values.length) {\n for (const key in values[index]) {\n if (Array.isArray(values[index][key])) {\n !dirtyFields[index] && (dirtyFields[index] = {});\n dirtyFields[index][key] = [];\n setDirtyFields(\n values[index][key] as T,\n get(defaultValues[index] || {}, key, []),\n dirtyFields[index][key] as [],\n dirtyFields[index],\n key,\n );\n } else {\n deepEqual(get(defaultValues[index] || {}, key), values[index][key])\n ? set(dirtyFields[index] || {}, key)\n : (dirtyFields[index] = {\n ...dirtyFields[index],\n [key]: true,\n });\n }\n }\n\n parentNode &&\n !dirtyFields.length &&\n delete parentNode[parentName as keyof K];\n }\n\n return dirtyFields;\n}\n\nexport default <T extends U, U extends Record<string, unknown>[]>(\n values: T,\n defaultValues: U,\n dirtyFields: Record<string, boolean | []>[],\n) =>\n deepMerge(\n setDirtyFields(values, defaultValues, dirtyFields.slice(0, values.length)),\n setDirtyFields(defaultValues, values, dirtyFields.slice(0, values.length)),\n );\n","export default (value: unknown): value is string => typeof value === 'string';\n","import compact from './compact';\nimport convertToArrayPayload from './convertToArrayPayload';\nimport isUndefined from './isUndefined';\n\nfunction removeAtIndexes<T>(data: T[], indexes: number[]): T[] {\n let i = 0;\n const temp = [...data];\n\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n\n return compact(temp).length ? temp : [];\n}\n\nexport default <T>(data: T[], index?: number | number[]): T[] =>\n isUndefined(index)\n ? []\n : removeAtIndexes(\n data,\n (convertToArrayPayload(index) as number[]).sort((a, b) => a - b),\n );\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import isBoolean from './isBoolean';\nimport isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nexport default function unset(object: any, path: string) {\n const updatePath = isKey(path) ? [path] : stringToPath(path);\n const childObject =\n updatePath.length == 1 ? object : baseGet(object, updatePath);\n const key = updatePath[updatePath.length - 1];\n let previousObjRef;\n\n if (childObject) {\n delete childObject[key];\n }\n\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\n let index = -1;\n let objectRef;\n const currentPaths = updatePath.slice(0, -(k + 1));\n const currentPathsLength = currentPaths.length - 1;\n\n if (k > 0) {\n previousObjRef = object;\n }\n\n while (++index < currentPaths.length) {\n const item = currentPaths[index];\n objectRef = objectRef ? objectRef[item] : object[item];\n\n if (\n currentPathsLength === index &&\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\n (Array.isArray(objectRef) &&\n !objectRef.filter(\n (data) =>\n (isObject(data) && !isEmptyObject(data)) || isBoolean(data),\n ).length))\n ) {\n previousObjRef ? delete previousObjRef[item] : delete object[item];\n }\n\n previousObjRef = objectRef;\n }\n }\n\n return object;\n}\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","import { Field } from '../types';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n value: any,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : +value\n : valueAsDate\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getMultipleSelectValue from './getMultipleSelectValue';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(field?: Field) {\n if (field && field._f) {\n const ref = field._f.ref;\n\n if (ref.disabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(field._f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return getMultipleSelectValue(ref.options);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(field._f.refs).value;\n }\n\n return getFieldValueAs(\n isUndefined(ref.value) ? field._f.ref.value : ref.value,\n field._f,\n );\n }\n}\n","export default (\n options: HTMLOptionElement[] | HTMLOptionsCollection,\n): string[] =>\n [...options]\n .filter(({ selected }): boolean => selected)\n .map(({ value }): string => value);\n","import {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default <TFieldValues>(\n fieldsNames: Set<InternalFieldName> | InternalFieldName[],\n fieldsRefs: FieldRefs,\n criteriaMode?: CriteriaMode,\n) => {\n const fields: Record<InternalFieldName, Field['_f']> = {};\n\n for (const name of fieldsNames) {\n const field = get(fieldsRefs, name) as Field;\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName<TFieldValues>[],\n fields,\n };\n};\n","import { RegisterOptions } from '../types';\n\nexport default <T extends RegisterOptions>(options?: T, mounted?: boolean) =>\n mounted &&\n options &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","export default ({\n isOnBlur,\n isOnChange,\n isOnTouch,\n isTouched,\n isReValidateOnBlur,\n isReValidateOnChange,\n isBlurEvent,\n isSubmitted,\n isOnAll,\n}: {\n isOnAll?: boolean;\n isOnBlur?: boolean;\n isOnChange?: boolean;\n isReValidateOnBlur?: boolean;\n isReValidateOnChange?: boolean;\n isBlurEvent?: boolean;\n isSubmitted?: boolean;\n isOnTouch?: boolean;\n isTouched?: boolean;\n}) => {\n if (isOnAll) {\n return false;\n } else if (!isSubmitted && isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? isReValidateOnBlur : isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? isReValidateOnChange : isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import * as React from 'react';\n\nimport { Message } from '../types';\nimport isString from '../utils/isString';\n\nexport default (value: unknown): value is Message =>\n isString(value) || React.isValidElement(value as JSX.Element);\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n","import { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport { Field, FieldError, InternalFieldErrors, Message } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isMessage from '../utils/isMessage';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async (\n {\n _f: {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n value: inputValue,\n valueAsNumber,\n mount,\n },\n }: Field,\n validateAllFieldCriteria: boolean,\n): Promise<InternalFieldErrors> => {\n if (!mount) {\n return {};\n }\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) && !ref.value) ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType = INPUT_VALIDATION_RULES.maxLength,\n minType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n required &&\n ((!isRadio && !isCheckBox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: isRadioOrCheckbox ? (refs || [])[0] || {} : ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (\n (!isNullOrUndefined(min) || !isNullOrUndefined(max)) &&\n inputValue !== ''\n ) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNaN(inputValue)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber || parseFloat(inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue);\n if (isString(maxOutput.value)) {\n exceedMax = valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value)) {\n exceedMin = valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (isString(inputValue) && !isEmpty && (maxLength || minLength)) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (isString(inputValue) && pattern && !isEmpty) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (validate) {\n const validateRef = isRadioOrCheckbox && refs ? refs[0] : ref;\n\n if (isFunction(validate)) {\n const result = await validate(inputValue);\n const validateError = getValidateError(result, validateRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n for (const [key, validateFunction] of Object.entries(validate)) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateResult = await validateFunction(inputValue);\n const validateError = getValidateError(\n validateResult,\n validateRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: validateRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n return error;\n};\n","import { VALIDATION_MODE } from '../constants';\nimport { Mode } from '../types';\n\nexport default (\n mode?: Mode,\n): {\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnAll: boolean;\n isOnTouch: boolean;\n} => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","export default (value: any): value is HTMLElement =>\n value instanceof HTMLElement;\n","import { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","export type Observer<T> = {\n next: (value: T) => void;\n};\n\ntype TearDown = () => void;\n\nexport type SubjectType<T> = {\n next: (value: T) => void;\n subscribe: (value: Observer<T>) => {\n unsubscribe: TearDown;\n };\n};\n\nexport class Subscription {\n private tearDowns: TearDown[] = [];\n\n add(tearDown: TearDown) {\n this.tearDowns.push(tearDown);\n }\n\n unsubscribe() {\n for (const teardown of this.tearDowns) {\n teardown();\n }\n this.tearDowns = [];\n }\n}\n\nclass Subscriber<T> implements Observer<T> {\n closed = false;\n\n constructor(private observer: Observer<T>, subscription: Subscription) {\n subscription.add(() => (this.closed = true));\n }\n\n next(value: T) {\n if (!this.closed) {\n this.observer.next(value);\n }\n }\n}\n\nexport default class Subject<T> {\n observers: Observer<T>[];\n\n constructor() {\n this.observers = [];\n }\n\n next(value: T) {\n for (const observer of this.observers) {\n observer.next(value);\n }\n }\n\n subscribe(observer: Observer<T>) {\n const subscription = new Subscription();\n const subscriber = new Subscriber(observer, subscription);\n this.observers.push(subscriber);\n\n return subscription;\n }\n\n unsubscribe() {\n this.observers = [];\n }\n}\n","import * as React from 'react';\n\nimport focusFieldBy from './logic/focusFieldBy';\nimport getFieldsValues from './logic/getFieldsValues';\nimport getFieldValue from './logic/getFieldValue';\nimport getFieldValueAs from './logic/getFieldValueAs';\nimport getNodeParentName from './logic/getNodeParentName';\nimport getProxyFormState from './logic/getProxyFormState';\nimport getResolverOptions from './logic/getResolverOptions';\nimport hasValidation from './logic/hasValidation';\nimport isNameInFieldArray from './logic/isNameInFieldArray';\nimport setFieldArrayDirtyFields from './logic/setFieldArrayDirtyFields';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport skipValidation from './logic/skipValidation';\nimport validateField from './logic/validateField';\nimport compact from './utils/compact';\nimport convertToArrayPayload from './utils/convertToArrayPayload';\nimport deepEqual from './utils/deepEqual';\nimport get from './utils/get';\nimport getValidationModes from './utils/getValidationModes';\nimport isCheckBoxInput from './utils/isCheckBoxInput';\nimport isEmptyObject from './utils/isEmptyObject';\nimport isFileInput from './utils/isFileInput';\nimport isFunction from './utils/isFunction';\nimport isHTMLElement from './utils/isHTMLElement';\nimport isMultipleSelect from './utils/isMultipleSelect';\nimport isNullOrUndefined from './utils/isNullOrUndefined';\nimport isObject from './utils/isObject';\nimport isPrimitive from './utils/isPrimitive';\nimport isProxyEnabled from './utils/isProxyEnabled';\nimport isRadioInput from './utils/isRadioInput';\nimport isRadioOrCheckboxFunction from './utils/isRadioOrCheckbox';\nimport isString from './utils/isString';\nimport isUndefined from './utils/isUndefined';\nimport isWeb from './utils/isWeb';\nimport omit from './utils/omit';\nimport set from './utils/set';\nimport Subject from './utils/Subject';\nimport unset from './utils/unset';\nimport { EVENTS, VALIDATION_MODE } from './constants';\nimport {\n ChangeHandler,\n DeepPartial,\n DefaultValues,\n Field,\n FieldArrayDefaultValues,\n FieldError,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n GetIsDirty,\n InternalFieldName,\n Names,\n Path,\n PathValue,\n ReadFormState,\n Ref,\n RegisterOptions,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UnpackNestedValue,\n UseFormClearErrors,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormRegisterReturn,\n UseFormReset,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from './types';\n\nconst isWindowUndefined = typeof window === 'undefined';\n\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext extends object = object,\n>({\n mode = VALIDATION_MODE.onSubmit,\n reValidateMode = VALIDATION_MODE.onChange,\n resolver,\n context,\n defaultValues = {} as DefaultValues<TFieldValues>,\n shouldFocusError = true,\n shouldUnregister,\n criteriaMode,\n}: UseFormProps<TFieldValues, TContext> = {}): UseFormReturn<TFieldValues> {\n const [formState, updateFormState] = React.useState<FormState<TFieldValues>>({\n isDirty: false,\n isValidating: false,\n dirtyFields: {},\n isSubmitted: false,\n submitCount: 0,\n touchedFields: {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n errors: {},\n });\n const readFormStateRef = React.useRef<ReadFormState>({\n isDirty: !isProxyEnabled,\n dirtyFields: !isProxyEnabled,\n touchedFields: !isProxyEnabled,\n isValidating: !isProxyEnabled,\n isValid: !isProxyEnabled,\n errors: !isProxyEnabled,\n });\n const formStateRef = React.useRef(formState);\n const fieldsRef = React.useRef<FieldRefs>({});\n const defaultValuesRef =\n React.useRef<DefaultValues<TFieldValues>>(defaultValues);\n const fieldArrayDefaultValuesRef = React.useRef<FieldArrayDefaultValues>({});\n const contextRef = React.useRef(context);\n const inFieldArrayActionRef = React.useRef(false);\n const isMountedRef = React.useRef(false);\n const subjectsRef: Subjects<TFieldValues> = React.useRef({\n watch: new Subject(),\n control: new Subject(),\n array: new Subject(),\n state: new Subject(),\n });\n const namesRef = React.useRef<Names>({\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n });\n\n const validationMode = getValidationModes(mode);\n const isValidateAllFieldCriteria = criteriaMode === VALIDATION_MODE.all;\n contextRef.current = context;\n\n const isFieldWatched = (name: FieldPath<TFieldValues>) =>\n namesRef.current.watchAll ||\n namesRef.current.watch.has(name) ||\n namesRef.current.watch.has((name.match(/\\w+/) || [])[0]);\n\n const shouldRenderBaseOnError = React.useCallback(\n async (\n shouldSkipRender: boolean,\n name: InternalFieldName,\n error?: FieldError,\n inputState?: {\n dirty?: FieldNamesMarkedBoolean<TFieldValues>;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean<TFieldValues>;\n },\n isValidFromResolver?: boolean,\n isWatched?: boolean,\n ): Promise<void> => {\n const previousError = get(formStateRef.current.errors, name);\n const isValid = readFormStateRef.current.isValid\n ? resolver\n ? isValidFromResolver\n : await validateForm(fieldsRef.current, true)\n : false;\n\n error\n ? set(formStateRef.current.errors, name, error)\n : unset(formStateRef.current.errors, name);\n\n if (\n (isWatched ||\n (error ? !deepEqual(previousError, error, true) : previousError) ||\n !isEmptyObject(inputState) ||\n formStateRef.current.isValid !== isValid) &&\n !shouldSkipRender\n ) {\n const updatedFormState = {\n ...inputState,\n isValid: !!isValid,\n errors: formStateRef.current.errors,\n name,\n };\n\n formStateRef.current = {\n ...formStateRef.current,\n ...updatedFormState,\n };\n\n subjectsRef.current.state.next(isWatched ? { name } : updatedFormState);\n }\n\n subjectsRef.current.state.next({\n isValidating: false,\n });\n },\n [],\n );\n\n const setFieldValue = React.useCallback(\n (\n name: InternalFieldName,\n rawValue: SetFieldValue<TFieldValues>,\n options: SetValueConfig = {},\n shouldRender?: boolean,\n shouldRegister?: boolean,\n ) => {\n shouldRegister && register(name as Path<TFieldValues>);\n const field = get(fieldsRef.current, name);\n\n if (field) {\n const _f = (field as Field)._f;\n\n if (_f) {\n const value =\n isWeb && isHTMLElement(_f.ref) && isNullOrUndefined(rawValue)\n ? ''\n : rawValue;\n _f.value = getFieldValueAs(rawValue, _f);\n\n if (isRadioInput(_f.ref)) {\n (_f.refs || []).forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === value),\n );\n } else if (isFileInput(_f.ref) && !isString(value)) {\n _f.ref.files = value as FileList;\n } else if (isMultipleSelect(_f.ref)) {\n [..._f.ref.options].forEach(\n (selectRef) =>\n (selectRef.selected = (value as string[]).includes(\n selectRef.value,\n )),\n );\n } else if (isCheckBoxInput(_f.ref) && _f.refs) {\n _f.refs.length > 1\n ? _f.refs.forEach(\n (checkboxRef) =>\n (checkboxRef.checked = Array.isArray(value)\n ? !!(value as []).find(\n (data: string) => data === checkboxRef.value,\n )\n : value === checkboxRef.value),\n )\n : (_f.refs[0].checked = !!value);\n } else {\n _f.ref.value = value;\n }\n\n if (shouldRender) {\n const values = getFieldsValues(fieldsRef);\n set(values, name, rawValue);\n subjectsRef.current.control.next({\n values: {\n ...defaultValuesRef.current,\n ...values,\n } as DefaultValues<TFieldValues>,\n name,\n });\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirtyState(name, value, options.shouldTouch);\n options.shouldValidate && trigger(name as Path<TFieldValues>);\n } else {\n field._f = {\n ref: {\n name,\n value: rawValue,\n },\n value: rawValue,\n };\n }\n }\n },\n [],\n );\n\n const getIsDirty: GetIsDirty = React.useCallback((name, data) => {\n const formValues = getFieldsValues(fieldsRef);\n\n name && data && set(formValues, name, data);\n\n return !deepEqual(formValues, defaultValuesRef.current);\n }, []);\n\n const updateTouchAndDirtyState = React.useCallback(\n (\n name: InternalFieldName,\n inputValue: unknown,\n isCurrentTouched?: boolean,\n shouldRender = true,\n ): Partial<\n Pick<FormState<TFieldValues>, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n const state: Partial<FormState<TFieldValues>> & { name: string } = {\n name,\n };\n let isChanged = false;\n\n if (readFormStateRef.current.isDirty) {\n const previousIsDirty = formStateRef.current.isDirty;\n formStateRef.current.isDirty = getIsDirty();\n state.isDirty = formStateRef.current.isDirty;\n isChanged = previousIsDirty !== state.isDirty;\n }\n\n if (readFormStateRef.current.dirtyFields) {\n const isPreviousFieldDirty = get(\n formStateRef.current.dirtyFields,\n name,\n );\n const isCurrentFieldDirty = !deepEqual(\n get(defaultValuesRef.current, name),\n inputValue,\n );\n isCurrentFieldDirty\n ? set(formStateRef.current.dirtyFields, name, true)\n : unset(formStateRef.current.dirtyFields, name);\n state.dirtyFields = formStateRef.current.dirtyFields;\n isChanged =\n isChanged ||\n isPreviousFieldDirty !== get(formStateRef.current.dirtyFields, name);\n }\n\n const isPreviousFieldTouched = get(\n formStateRef.current.touchedFields,\n name,\n );\n\n if (isCurrentTouched && !isPreviousFieldTouched) {\n set(formStateRef.current.touchedFields, name, isCurrentTouched);\n state.touchedFields = formStateRef.current.touchedFields;\n isChanged =\n isChanged ||\n (readFormStateRef.current.touchedFields &&\n isPreviousFieldTouched !== isCurrentTouched);\n }\n\n isChanged && shouldRender && subjectsRef.current.state.next(state);\n\n return isChanged ? state : {};\n },\n [],\n );\n\n const executeInlineValidation = React.useCallback(\n async (\n name: InternalFieldName,\n skipReRender: boolean,\n ): Promise<boolean> => {\n const error = (\n await validateField(\n get(fieldsRef.current, name) as Field,\n isValidateAllFieldCriteria,\n )\n )[name];\n\n shouldRenderBaseOnError(skipReRender, name, error);\n\n return isUndefined(error);\n },\n [isValidateAllFieldCriteria],\n );\n\n const executeResolverValidation = React.useCallback(\n async (names?: InternalFieldName[]) => {\n const { errors } = await resolver!(\n getFieldsValues(fieldsRef),\n contextRef.current,\n getResolverOptions(\n namesRef.current.mount,\n fieldsRef.current,\n criteriaMode,\n ),\n );\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(formStateRef.current.errors, name, error)\n : unset(formStateRef.current.errors, name);\n }\n } else {\n formStateRef.current.errors = errors;\n }\n\n return errors;\n },\n [criteriaMode],\n );\n\n const validateForm = async (\n fieldsRef: FieldRefs,\n shouldCheckValid?: boolean,\n context = {\n valid: true,\n },\n ) => {\n for (const name in fieldsRef) {\n const field = fieldsRef[name];\n\n if (field) {\n const _f = field._f;\n const current = omit(field, '_f');\n\n if (_f) {\n const fieldError = await validateField(\n field,\n isValidateAllFieldCriteria,\n );\n\n if (shouldCheckValid) {\n if (fieldError[_f.name]) {\n context.valid = false;\n break;\n }\n } else {\n fieldError[_f.name]\n ? set(formStateRef.current.errors, _f.name, fieldError[_f.name])\n : unset(formStateRef.current.errors, _f.name);\n }\n }\n\n current && (await validateForm(current, shouldCheckValid, context));\n }\n }\n\n return context.valid;\n };\n\n const trigger: UseFormTrigger<TFieldValues> = React.useCallback(\n async (name, options = {}) => {\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n let isValid;\n\n subjectsRef.current.state.next({\n isValidating: true,\n });\n\n if (resolver) {\n const schemaResult = await executeResolverValidation(\n isUndefined(name) ? name : fieldNames,\n );\n isValid = name\n ? fieldNames.every((name) => !get(schemaResult, name))\n : isEmptyObject(schemaResult);\n } else {\n isValid = name\n ? (\n await Promise.all(\n fieldNames\n .filter((fieldName) => get(fieldsRef.current, fieldName))\n .map(\n async (fieldName) =>\n await executeInlineValidation(fieldName, true),\n ),\n )\n ).every(Boolean)\n : await validateForm(fieldsRef.current);\n }\n\n subjectsRef.current.state.next({\n ...(isString(name) ? { name } : {}),\n errors: formStateRef.current.errors,\n isValidating: false,\n });\n\n if (options.shouldFocus && !isValid) {\n focusFieldBy(\n fieldsRef.current,\n (key) => get(formStateRef.current.errors, key),\n fieldNames,\n );\n }\n\n readFormStateRef.current.isValid && updateIsValid();\n\n return isValid;\n },\n [executeResolverValidation, executeInlineValidation],\n );\n\n const updateIsValidAndInputValue = (name: InternalFieldName, ref?: Ref) => {\n const field = get(fieldsRef.current, name) as Field;\n\n if (field) {\n const isValueUndefined = isUndefined(field._f.value);\n const defaultValue = isValueUndefined\n ? get(defaultValuesRef.current, name)\n : field._f.value;\n\n if (!isUndefined(defaultValue)) {\n if (ref && (ref as HTMLInputElement).defaultChecked) {\n field._f.value = getFieldValue(field);\n } else if (isNameInFieldArray(namesRef.current.array, name)) {\n field._f.value = defaultValue;\n } else {\n setFieldValue(name, defaultValue);\n }\n } else if (isValueUndefined) {\n field._f.value = getFieldValue(field);\n }\n }\n\n isMountedRef.current && readFormStateRef.current.isValid && updateIsValid();\n };\n\n const updateIsValid = React.useCallback(\n async (values = {}) => {\n const isValid = resolver\n ? isEmptyObject(\n (\n await resolver(\n {\n ...getFieldsValues(fieldsRef),\n ...values,\n },\n contextRef.current,\n getResolverOptions(\n namesRef.current.mount,\n fieldsRef.current,\n criteriaMode,\n ),\n )\n ).errors,\n )\n : await validateForm(fieldsRef.current, true);\n\n isValid !== formStateRef.current.isValid &&\n subjectsRef.current.state.next({\n isValid,\n });\n },\n [criteriaMode],\n );\n\n const setInternalValues = React.useCallback(\n (\n name: FieldPath<TFieldValues>,\n value: UnpackNestedValue<\n PathValue<TFieldValues, FieldPath<TFieldValues>>\n >,\n options: SetValueConfig,\n ) =>\n Object.entries(value).forEach(([inputKey, inputValue]) => {\n const fieldName = `${name}.${inputKey}` as Path<TFieldValues>;\n const field = get(fieldsRef.current, fieldName);\n const isFieldArray = namesRef.current.array.has(name);\n\n isFieldArray || !isPrimitive(inputValue) || (field && !field._f)\n ? setInternalValues(\n fieldName,\n inputValue as SetFieldValue<TFieldValues>,\n options,\n )\n : setFieldValue(\n fieldName,\n inputValue as SetFieldValue<TFieldValues>,\n options,\n true,\n !field,\n );\n }),\n [trigger],\n );\n\n const setValue: UseFormSetValue<TFieldValues> = (\n name,\n value,\n options = {},\n ) => {\n const field = get(fieldsRef.current, name);\n const isFieldArray = namesRef.current.array.has(name);\n\n if (isFieldArray) {\n subjectsRef.current.array.next({\n values: value,\n name,\n isReset: true,\n });\n\n if (\n (readFormStateRef.current.isDirty ||\n readFormStateRef.current.dirtyFields) &&\n options.shouldDirty\n ) {\n set(\n formStateRef.current.dirtyFields,\n name,\n setFieldArrayDirtyFields(\n value,\n get(defaultValuesRef.current, name, []),\n get(formStateRef.current.dirtyFields, name, []),\n ),\n );\n\n subjectsRef.current.state.next({\n name,\n dirtyFields: formStateRef.current.dirtyFields,\n isDirty: getIsDirty(name, value),\n });\n }\n\n !(value as []).length &&\n set(fieldsRef.current, name, []) &&\n set(fieldArrayDefaultValuesRef.current, name, []);\n }\n\n ((field && !field._f) || isFieldArray) && !isNullOrUndefined(value)\n ? setInternalValues(name, value, isFieldArray ? {} : options)\n : setFieldValue(name, value, options, true, !field);\n\n isFieldWatched(name) && subjectsRef.current.state.next({});\n subjectsRef.current.watch.next({ name, values: getValues() });\n };\n\n const handleChange: ChangeHandler = React.useCallback(\n async ({ type, target, target: { value, type: inputType } }) => {\n let name = (target as Ref)!.name;\n let error;\n let isValid;\n const field = get(fieldsRef.current, name) as Field;\n\n if (field) {\n let inputValue = inputType ? getFieldValue(field) : undefined;\n inputValue = isUndefined(inputValue) ? value : inputValue;\n\n const isBlurEvent = type === EVENTS.BLUR;\n const {\n isOnBlur: isReValidateOnBlur,\n isOnChange: isReValidateOnChange,\n } = getValidationModes(reValidateMode);\n\n const shouldSkipValidation =\n (!hasValidation(field._f, field._f.mount) &&\n !resolver &&\n !get(formStateRef.current.errors, name)) ||\n skipValidation({\n isBlurEvent,\n isTouched: !!get(formStateRef.current.touchedFields, name),\n isSubmitted: formStateRef.current.isSubmitted,\n isReValidateOnBlur,\n isReValidateOnChange,\n ...validationMode,\n });\n const isWatched =\n !isBlurEvent && isFieldWatched(name as FieldPath<TFieldValues>);\n\n if (!isUndefined(inputValue)) {\n field._f.value = inputValue;\n }\n\n const inputState = updateTouchAndDirtyState(\n name,\n field._f.value,\n isBlurEvent,\n false,\n );\n\n const shouldRender = !isEmptyObject(inputState) || isWatched;\n\n if (shouldSkipValidation) {\n !isBlurEvent &&\n subjectsRef.current.watch.next({\n name,\n type,\n values: getValues(),\n });\n return (\n shouldRender &&\n subjectsRef.current.state.next(\n isWatched ? { name } : { ...inputState, name },\n )\n );\n }\n\n subjectsRef.current.state.next({\n isValidating: true,\n });\n\n if (resolver) {\n const { errors } = await resolver(\n getFieldsValues(fieldsRef),\n contextRef.current,\n getResolverOptions([name], fieldsRef.current, criteriaMode),\n );\n error = get(errors, name);\n\n if (isCheckBoxInput(target as Ref) && !error) {\n const parentNodeName = getNodeParentName(name);\n const currentError = get(errors, parentNodeName, {});\n currentError.type && currentError.message && (error = currentError);\n\n if (\n currentError ||\n get(formStateRef.current.errors, parentNodeName)\n ) {\n name = parentNodeName;\n }\n }\n\n isValid = isEmptyObject(errors);\n } else {\n error = (await validateField(field, isValidateAllFieldCriteria))[\n name\n ];\n }\n\n !isBlurEvent &&\n subjectsRef.current.watch.next({\n name,\n type,\n values: getValues(),\n });\n shouldRenderBaseOnError(\n false,\n name,\n error,\n inputState,\n isValid,\n isWatched,\n );\n }\n },\n [],\n );\n\n const getValues: UseFormGetValues<TFieldValues> = (\n fieldNames?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>,\n ) => {\n const values = {\n ...defaultValuesRef.current,\n ...getFieldsValues(fieldsRef),\n };\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames as InternalFieldName)\n : fieldNames.map((name) => get(values, name as InternalFieldName));\n };\n\n const clearErrors: UseFormClearErrors<TFieldValues> = (name) => {\n name\n ? convertToArrayPayload(name).forEach((inputName) =>\n unset(formStateRef.current.errors, inputName),\n )\n : (formStateRef.current.errors = {});\n\n subjectsRef.current.state.next({\n errors: formStateRef.current.errors,\n });\n };\n\n const setError: UseFormSetError<TFieldValues> = (name, error, options) => {\n const ref = (\n ((get(fieldsRef.current, name) as Field) || { _f: {} })._f || {}\n ).ref;\n\n set(formStateRef.current.errors, name, {\n ...error,\n ref,\n });\n\n subjectsRef.current.state.next({\n name,\n errors: formStateRef.current.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watchInternal: WatchInternal<TFieldValues> = React.useCallback(\n (fieldNames, defaultValue, isGlobal, formValues) => {\n const isArrayNames = Array.isArray(fieldNames);\n const fieldValues =\n formValues || isMountedRef.current\n ? {\n ...defaultValuesRef.current,\n ...(formValues || getFieldsValues(fieldsRef)),\n }\n : isUndefined(defaultValue)\n ? defaultValuesRef.current\n : isArrayNames\n ? defaultValue\n : { [fieldNames as InternalFieldName]: defaultValue };\n\n if (isUndefined(fieldNames)) {\n isGlobal && (namesRef.current.watchAll = true);\n return fieldValues;\n }\n\n const result = [];\n\n for (const fieldName of convertToArrayPayload(fieldNames)) {\n isGlobal && namesRef.current.watch.add(fieldName as InternalFieldName);\n result.push(get(fieldValues, fieldName as InternalFieldName));\n }\n\n return isArrayNames ? result : result[0];\n },\n [],\n );\n\n const watch: UseFormWatch<TFieldValues> = (\n fieldName?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>\n | WatchObserver<TFieldValues>,\n defaultValue?: unknown,\n ) =>\n isFunction(fieldName)\n ? subjectsRef.current.watch.subscribe({\n next: (info) =>\n fieldName(\n watchInternal(\n undefined,\n defaultValue as UnpackNestedValue<DeepPartial<TFieldValues>>,\n ) as UnpackNestedValue<TFieldValues>,\n info,\n ),\n })\n : watchInternal(\n fieldName as InternalFieldName | InternalFieldName[],\n defaultValue as UnpackNestedValue<DeepPartial<TFieldValues>>,\n true,\n );\n\n const unregister: UseFormUnregister<TFieldValues> = (name, options = {}) => {\n for (const inputName of name\n ? convertToArrayPayload(name)\n : namesRef.current.mount) {\n namesRef.current.mount.delete(inputName);\n namesRef.current.array.delete(inputName);\n\n if (get(fieldsRef.current, inputName) as Field) {\n !options.keepError && unset(formStateRef.current.errors, inputName);\n !options.keepValue && unset(fieldsRef.current, inputName);\n !options.keepDirty &&\n unset(formStateRef.current.dirtyFields, inputName);\n !options.keepTouched &&\n unset(formStateRef.current.touchedFields, inputName);\n !shouldUnregister &&\n !options.keepDefaultValue &&\n unset(defaultValuesRef.current, inputName);\n\n subjectsRef.current.watch.next({\n name: inputName,\n values: getValues(),\n });\n }\n }\n\n subjectsRef.current.state.next({\n ...formStateRef.current,\n ...(!options.keepDirty ? {} : { isDirty: getIsDirty() }),\n });\n !options.keepIsValid && updateIsValid();\n };\n\n const registerFieldRef = (\n name: InternalFieldName,\n ref: HTMLInputElement,\n options?: RegisterOptions,\n ): ((name: InternalFieldName) => void) | void => {\n register(name as FieldPath<TFieldValues>, options);\n let field = get(fieldsRef.current, name) as Field;\n\n const isRadioOrCheckbox = isRadioOrCheckboxFunction(ref);\n\n if (\n ref === field._f.ref ||\n (isRadioOrCheckbox &&\n compact(field._f.refs || []).find((option) => option === ref))\n ) {\n return;\n }\n\n field = {\n _f: isRadioOrCheckbox\n ? {\n ...field._f,\n refs: [\n ...compact(field._f.refs || []).filter(\n (ref) => isHTMLElement(ref) && document.contains(ref),\n ),\n ref,\n ],\n ref: { type: ref.type, name },\n }\n : {\n ...field._f,\n ref,\n },\n };\n\n set(fieldsRef.current, name, field);\n\n updateIsValidAndInputValue(name, ref);\n };\n\n const register: UseFormRegister<TFieldValues> = React.useCallback(\n (name, options = {}) => {\n const field = get(fieldsRef.current, name);\n\n set(fieldsRef.current, name, {\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n namesRef.current.mount.add(name);\n !field && updateIsValidAndInputValue(name);\n\n return isWindowUndefined\n ? ({ name: name as InternalFieldName } as UseFormRegisterReturn)\n : {\n name,\n onChange: handleChange,\n onBlur: handleChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n registerFieldRef(name, ref, options);\n } else {\n const field = get(fieldsRef.current, name, {}) as Field;\n const shouldUnmount =\n shouldUnregister || options.shouldUnregister;\n\n if (field._f) {\n field._f.mount = false;\n // If initial state of field element is disabled,\n // value is not set on first \"register\"\n // re-sync the value in when it switched to enabled\n if (isUndefined(field._f.value)) {\n field._f.value = field._f.ref.value;\n }\n }\n\n shouldUnmount &&\n !(\n isNameInFieldArray(namesRef.current.array, name) &&\n inFieldArrayActionRef.current\n ) &&\n namesRef.current.unMount.add(name);\n }\n },\n };\n },\n [],\n );\n\n const handleSubmit: UseFormHandleSubmit<TFieldValues> = React.useCallback(\n (onValid, onInvalid) => async (e) => {\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let hasNoPromiseError = true;\n let fieldValues = getFieldsValues(fieldsRef);\n\n subjectsRef.current.state.next({\n isSubmitting: true,\n });\n\n try {\n if (resolver) {\n const { errors, values } = await resolver(\n fieldValues,\n contextRef.current,\n getResolverOptions(\n namesRef.current.mount,\n fieldsRef.current,\n criteriaMode,\n ),\n );\n formStateRef.current.errors = errors;\n fieldValues = values;\n } else {\n await validateForm(fieldsRef.current);\n }\n\n if (\n isEmptyObject(formStateRef.current.errors) &&\n Object.keys(formStateRef.current.errors).every((name) =>\n get(fieldValues, name),\n )\n ) {\n subjectsRef.current.state.next({\n errors: {},\n isSubmitting: true,\n });\n await onValid(fieldValues, e);\n } else {\n onInvalid && (await onInvalid(formStateRef.current.errors, e));\n shouldFocusError &&\n focusFieldBy(\n fieldsRef.current,\n (key) => get(formStateRef.current.errors, key),\n namesRef.current.mount,\n );\n }\n } catch (err) {\n hasNoPromiseError = false;\n throw err;\n } finally {\n formStateRef.current.isSubmitted = true;\n subjectsRef.current.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful:\n isEmptyObject(formStateRef.current.errors) && hasNoPromiseError,\n submitCount: formStateRef.current.submitCount + 1,\n errors: formStateRef.current.errors,\n });\n }\n },\n [shouldFocusError, isValidateAllFieldCriteria, criteriaMode],\n );\n\n const registerAbsentFields = <T extends DefaultValues<TFieldValues>>(\n value: T,\n name = '',\n ): void => {\n const field = get(fieldsRef.current, name);\n\n if (!field || (field && !field._f)) {\n if (\n !field &&\n (isPrimitive(value) ||\n (isWeb && (value instanceof FileList || value instanceof Date)))\n ) {\n register(name as Path<TFieldValues>, { value } as RegisterOptions);\n }\n\n if (Array.isArray(value) || isObject(value)) {\n if (name && !get(fieldsRef.current, name)) {\n set(fieldsRef.current, name, Array.isArray(value) ? [] : {});\n }\n\n for (const key in value) {\n registerAbsentFields(value[key], name + (name ? '.' : '') + key);\n }\n }\n }\n };\n\n const reset: UseFormReset<TFieldValues> = (values, keepStateOptions = {}) => {\n const updatedValues = values || defaultValuesRef.current;\n\n if (isWeb && !keepStateOptions.keepValues) {\n for (const name of namesRef.current.mount) {\n const field = get(fieldsRef.current, name);\n if (field && field._f) {\n const inputRef = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n try {\n isHTMLElement(inputRef) && inputRef.closest('form')!.reset();\n break;\n } catch {}\n }\n }\n }\n\n !keepStateOptions.keepDefaultValues &&\n (defaultValuesRef.current = { ...updatedValues });\n\n if (!keepStateOptions.keepValues) {\n fieldsRef.current = {};\n\n subjectsRef.current.control.next({\n values: { ...updatedValues },\n });\n\n subjectsRef.current.watch.next({\n values: { ...updatedValues },\n });\n\n subjectsRef.current.array.next({\n values: { ...updatedValues },\n isReset: true,\n });\n }\n\n !keepStateOptions.keepDefaultValues &&\n !shouldUnregister &&\n registerAbsentFields({ ...updatedValues });\n\n namesRef.current = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n };\n\n subjectsRef.current.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? formStateRef.current.submitCount\n : 0,\n isDirty: keepStateOptions.keepDirty\n ? formStateRef.current.isDirty\n : keepStateOptions.keepDefaultValues\n ? deepEqual(values, defaultValuesRef.current)\n : false,\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? formStateRef.current.isSubmitted\n : false,\n dirtyFields: keepStateOptions.keepDirty\n ? formStateRef.current.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? formStateRef.current.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? formStateRef.current.errors : {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n });\n\n isMountedRef.current = !!keepStateOptions.keepIsValid;\n };\n\n const setFocus: UseFormSetFocus<TFieldValues> = (name) =>\n get(fieldsRef.current, name)._f.ref.focus();\n\n React.useEffect(() => {\n !shouldUnregister && registerAbsentFields(defaultValuesRef.current);\n\n const formStateSubscription = subjectsRef.current.state.subscribe({\n next(formState) {\n if (shouldRenderFormState(formState, readFormStateRef.current, true)) {\n formStateRef.current = {\n ...formStateRef.current,\n ...formState,\n };\n updateFormState(formStateRef.current);\n }\n },\n });\n\n const useFieldArraySubscription = subjectsRef.current.array.subscribe({\n next(state) {\n if (state.values && state.name && readFormStateRef.current.isValid) {\n const values = getFieldsValues(fieldsRef);\n set(values, state.name, state.values);\n updateIsValid(values);\n }\n },\n });\n\n return () => {\n formStateSubscription.unsubscribe();\n useFieldArraySubscription.unsubscribe();\n };\n }, []);\n\n React.useEffect(() => {\n const isLiveInDom = (ref: Ref) =>\n !isHTMLElement(ref) || !document.contains(ref);\n\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n readFormStateRef.current.isValid && updateIsValid();\n }\n\n for (const name of namesRef.current.unMount) {\n const field = get(fieldsRef.current, name) as Field;\n\n field &&\n (field._f.refs\n ? field._f.refs.every(isLiveInDom)\n : isLiveInDom(field._f.ref)) &&\n unregister(name as FieldPath<TFieldValues>);\n }\n\n namesRef.current.unMount = new Set();\n });\n\n return {\n control: React.useMemo(\n () => ({\n register,\n inFieldArrayActionRef,\n getIsDirty,\n subjectsRef,\n watchInternal,\n fieldsRef,\n updateIsValid,\n namesRef,\n readFormStateRef,\n formStateRef,\n defaultValuesRef,\n fieldArrayDefaultValuesRef,\n unregister,\n shouldUnmount: shouldUnregister,\n }),\n [],\n ),\n formState: getProxyFormState<TFieldValues>(\n isProxyEnabled,\n formState,\n readFormStateRef,\n ),\n trigger,\n register,\n handleSubmit,\n watch: React.useCallback(watch, []),\n setValue: React.useCallback(setValue, [setInternalValues]),\n getValues: React.useCallback(getValues, []),\n reset: React.useCallback(reset, []),\n clearErrors: React.useCallback(clearErrors, []),\n unregister: React.useCallback(unregister, []),\n setError: React.useCallback(setError, []),\n setFocus: React.useCallback(setFocus, []),\n };\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nexports['default'] = function () {\n var Snap = undefined;\n try {\n Snap = require('snapsvg-cjs');\n } finally {\n return Snap;\n }\n};\n\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar pxToNum = function pxToNum(val) {\n return parseInt(val.slice(0, -2), 10);\n};\nexports.pxToNum = pxToNum;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = {\n slide: require('./menus/slide'),\n stack: require('./menus/stack'),\n elastic: require('./menus/elastic'),\n bubble: require('./menus/bubble'),\n push: require('./menus/push'),\n pushRotate: require('./menus/pushRotate'),\n scaleDown: require('./menus/scaleDown'),\n scaleRotate: require('./menus/scaleRotate'),\n fallDown: require('./menus/fallDown'),\n reveal: require('./menus/reveal')\n};\nmodule.exports = exports['default'];","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.2\";\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.2\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nmodule.exports = _taggedTemplateLiteral;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar styles = {\n overlay: function overlay(isOpen) {\n return {\n position: 'fixed',\n zIndex: 1000,\n width: '100%',\n height: '100%',\n background: 'rgba(0, 0, 0, 0.3)',\n opacity: isOpen ? 1 : 0,\n MozTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n MsTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n OTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transition: isOpen ? 'opacity 0.3s' : 'opacity 0.3s, transform 0s 0.3s'\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n zIndex: 1100,\n width: width,\n height: '100%',\n MozTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n menu: function menu() {\n return {\n height: '100%',\n boxSizing: 'border-box',\n overflow: 'auto'\n };\n },\n\n itemList: function itemList() {\n return {\n height: '100%'\n };\n },\n\n item: function item() {\n return {\n display: 'block'\n };\n }\n};\n\nexports['default'] = styles;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.focusOnFirstMenuItem = focusOnFirstMenuItem;\nexports.focusOnLastMenuItem = focusOnLastMenuItem;\nexports.focusOnCrossButton = focusOnCrossButton;\nexports.focusOnMenuButton = focusOnMenuButton;\nexports.focusOnMenuItem = focusOnMenuItem;\nexports.focusOnNextMenuItem = focusOnNextMenuItem;\nexports.focusOnPreviousMenuItem = focusOnPreviousMenuItem;\n\nfunction focusOnFirstMenuItem() {\n var firstItem = Array.from(document.getElementsByClassName('bm-item')).shift();\n if (firstItem) {\n firstItem.focus();\n }\n}\n\nfunction focusOnLastMenuItem() {\n var lastItem = Array.from(document.getElementsByClassName('bm-item')).pop();\n if (lastItem) {\n lastItem.focus();\n }\n}\n\nfunction focusOnCrossButton() {\n var crossButton = document.getElementById('react-burger-cross-btn');\n if (crossButton) {\n crossButton.focus();\n }\n}\n\nfunction focusOnMenuButton() {\n var menuButton = document.getElementById('react-burger-menu-btn');\n if (menuButton) {\n menuButton.focus();\n }\n}\n\nfunction focusOnMenuItem(siblingType) {\n if (document.activeElement.className.includes('bm-item')) {\n var sibling = document.activeElement[siblingType];\n if (sibling) {\n sibling.focus();\n } else {\n focusOnCrossButton();\n }\n } else {\n if (siblingType === 'previousElementSibling') {\n focusOnLastMenuItem();\n } else {\n focusOnFirstMenuItem();\n }\n }\n}\n\nfunction focusOnNextMenuItem() {\n focusOnMenuItem('nextElementSibling');\n}\n\nfunction focusOnPreviousMenuItem() {\n focusOnMenuItem('previousElementSibling');\n}","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar BurgerIcon = (function (_Component) {\n _inherits(BurgerIcon, _Component);\n\n function BurgerIcon(props) {\n _classCallCheck(this, BurgerIcon);\n\n _get(Object.getPrototypeOf(BurgerIcon.prototype), 'constructor', this).call(this, props);\n this.state = {\n hover: false\n };\n }\n\n _createClass(BurgerIcon, [{\n key: 'getLineStyle',\n value: function getLineStyle(index) {\n return _extends({\n position: 'absolute',\n height: '20%',\n left: 0,\n right: 0,\n top: 20 * (index * 2) + '%',\n opacity: this.state.hover ? 0.6 : 1\n }, this.state.hover && this.props.styles.bmBurgerBarsHover);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon = undefined;\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-icon ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({ width: '100%', height: '100%' }, this.props.styles.bmIcon)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement(\n 'span',\n null,\n [0, 1, 2].map(function (bar) {\n return _react2['default'].createElement('span', {\n key: bar,\n className: ('bm-burger-bars ' + _this.props.barClassName + ' ' + (_this.state.hover ? 'bm-burger-bars-hover' : '')).trim(),\n style: _extends({}, _this.getLineStyle(bar), _this.props.styles.bmBurgerBars)\n });\n })\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n {\n className: ('bm-burger-button ' + this.props.className).trim(),\n style: _extends({ zIndex: 1000 }, this.props.styles.bmBurgerButton)\n },\n _react2['default'].createElement(\n 'button',\n {\n id: 'react-burger-menu-btn',\n onClick: this.props.onClick,\n onMouseOver: function () {\n _this.setState({ hover: true });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({ isMouseIn: true });\n }\n },\n onMouseOut: function () {\n _this.setState({ hover: false });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({ isMouseIn: false });\n }\n },\n style: buttonStyle\n },\n 'Open Menu'\n ),\n icon\n );\n }\n }]);\n\n return BurgerIcon;\n})(_react.Component);\n\nexports['default'] = BurgerIcon;\n\nBurgerIcon.propTypes = {\n barClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n styles: _propTypes2['default'].object\n};\n\nBurgerIcon.defaultProps = {\n barClassName: '',\n className: '',\n styles: {}\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar CrossIcon = (function (_Component) {\n _inherits(CrossIcon, _Component);\n\n function CrossIcon() {\n _classCallCheck(this, CrossIcon);\n\n _get(Object.getPrototypeOf(CrossIcon.prototype), 'constructor', this).apply(this, arguments);\n }\n\n _createClass(CrossIcon, [{\n key: 'getCrossStyle',\n value: function getCrossStyle(type) {\n return {\n position: 'absolute',\n width: 3,\n height: 14,\n transform: type === 'before' ? 'rotate(45deg)' : 'rotate(-45deg)'\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon;\n var buttonWrapperStyle = {\n position: 'absolute',\n width: 24,\n height: 24,\n right: 8,\n top: 8\n };\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-cross ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({ width: '100%', height: '100%' }, this.props.styles.bmCross)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement(\n 'span',\n { style: { position: 'absolute', top: '6px', right: '14px' } },\n ['before', 'after'].map(function (type, i) {\n return _react2['default'].createElement('span', {\n key: i,\n className: ('bm-cross ' + _this.props.crossClassName).trim(),\n style: _extends({}, _this.getCrossStyle(type), _this.props.styles.bmCross)\n });\n })\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n {\n className: ('bm-cross-button ' + this.props.className).trim(),\n style: _extends({}, buttonWrapperStyle, this.props.styles.bmCrossButton)\n },\n _react2['default'].createElement(\n 'button',\n {\n id: 'react-burger-cross-btn',\n onClick: this.props.onClick,\n style: buttonStyle,\n tabIndex: this.props.isOpen ? 0 : -1\n },\n 'Close Menu'\n ),\n icon\n );\n }\n }]);\n\n return CrossIcon;\n})(_react.Component);\n\nexports['default'] = CrossIcon;\n\nCrossIcon.propTypes = {\n crossClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n isOpen: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object\n};\n\nCrossIcon.defaultProps = {\n crossClassName: '',\n className: '',\n styles: {},\n isOpen: false\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n transition: isOpen ? 'transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)' : 'transform 0.4s cubic-bezier(0.7, 0, 0.3, 1)'\n };\n },\n\n item: function item(isOpen, width, right, nthChild) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n MsTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n OTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n transform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n transition: isOpen ? 'transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)' : 'transform 0s 0.2s cubic-bezier(0.7, 0, 0.3, 1)'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersSnapsvgImporter = require('../helpers/snapsvgImporter');\n\nvar _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter);\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar _helpersUtils = require('../helpers/utils');\n\nvar MORPH_SHAPE_WIDTH = 120;\n\nvar styles = {\n svg: {\n lib: _helpersSnapsvgImporter2['default'],\n pathInitial: 'M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z',\n pathOpen: 'M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z',\n animate: function animate(path) {\n path.animate({ path: this.pathOpen }, 400, window.mina.easeinout);\n }\n },\n\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: MORPH_SHAPE_WIDTH,\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : '',\n MsTransform: right ? 'rotateY(180deg)' : '',\n OTransform: right ? 'rotateY(180deg)' : '',\n WebkitTransform: right ? 'rotateY(180deg)' : '',\n transform: right ? 'rotateY(180deg)' : ''\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.3s'\n };\n },\n\n menu: function menu(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n width: (0, _helpersUtils.pxToNum)(width) - MORPH_SHAPE_WIDTH,\n whiteSpace: 'nowrap',\n boxSizing: 'border-box',\n overflow: 'visible'\n };\n },\n\n itemList: function itemList(isOpen, width, right) {\n if (right) {\n return {\n position: 'relative',\n left: '-110px',\n width: '170%',\n overflow: 'auto'\n };\n }\n },\n\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n transition: isOpen ? 'all 0.3s' : 'all 0.3s 0.1s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","window.eve = require('eve')\n\n// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar mina = (function (eve) {\n var animations = {},\n requestAnimFrame = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function (callback) {\n setTimeout(callback, 16, new Date().getTime());\n return true;\n },\n requestID,\n isArray = Array.isArray || function (a) {\n return a instanceof Array ||\n Object.prototype.toString.call(a) == \"[object Array]\";\n },\n idgen = 0,\n idprefix = \"M\" + (+new Date).toString(36),\n ID = function () {\n return idprefix + (idgen++).toString(36);\n },\n diff = function (a, b, A, B) {\n if (isArray(a)) {\n res = [];\n for (var i = 0, ii = a.length; i < ii; i++) {\n res[i] = diff(a[i], b, A[i], B);\n }\n return res;\n }\n var dif = (A - a) / (B - b);\n return function (bb) {\n return a + dif * (bb - b);\n };\n },\n timer = Date.now || function () {\n return +new Date;\n },\n sta = function (val) {\n var a = this;\n if (val == null) {\n return a.s;\n }\n var ds = a.s - val;\n a.b += a.dur * ds;\n a.B += a.dur * ds;\n a.s = val;\n },\n speed = function (val) {\n var a = this;\n if (val == null) {\n return a.spd;\n }\n a.spd = val;\n },\n duration = function (val) {\n var a = this;\n if (val == null) {\n return a.dur;\n }\n a.s = a.s * val / a.dur;\n a.dur = val;\n },\n stopit = function () {\n var a = this;\n delete animations[a.id];\n a.update();\n eve(\"mina.stop.\" + a.id, a);\n },\n pause = function () {\n var a = this;\n if (a.pdif) {\n return;\n }\n delete animations[a.id];\n a.update();\n a.pdif = a.get() - a.b;\n },\n resume = function () {\n var a = this;\n if (!a.pdif) {\n return;\n }\n a.b = a.get() - a.pdif;\n delete a.pdif;\n animations[a.id] = a;\n frame();\n },\n update = function () {\n var a = this,\n res;\n if (isArray(a.start)) {\n res = [];\n for (var j = 0, jj = a.start.length; j < jj; j++) {\n res[j] = +a.start[j] +\n (a.end[j] - a.start[j]) * a.easing(a.s);\n }\n } else {\n res = +a.start + (a.end - a.start) * a.easing(a.s);\n }\n a.set(res);\n },\n frame = function (timeStamp) {\n // Manual invokation?\n if (!timeStamp) {\n // Frame loop stopped?\n if (!requestID) {\n // Start frame loop...\n requestID = requestAnimFrame(frame);\n }\n return;\n }\n var len = 0;\n for (var i in animations) if (animations.hasOwnProperty(i)) {\n var a = animations[i],\n b = a.get(),\n res;\n len++;\n a.s = (b - a.b) / (a.dur / a.spd);\n if (a.s >= 1) {\n delete animations[i];\n a.s = 1;\n len--;\n (function (a) {\n setTimeout(function () {\n eve(\"mina.finish.\" + a.id, a);\n });\n }(a));\n }\n a.update();\n }\n requestID = len ? requestAnimFrame(frame) : false;\n },\n /*\\\n * mina\n [ method ]\n **\n * Generic animation of numbers\n **\n - a (number) start _slave_ number\n - A (number) end _slave_ number\n - b (number) start _master_ number (start time in general case)\n - B (number) end _master_ number (end time in general case)\n - get (function) getter of _master_ number (see @mina.time)\n - set (function) setter of _slave_ number\n - easing (function) #optional easing function, default is @mina.linear\n = (object) animation descriptor\n o {\n o id (string) animation id,\n o start (number) start _slave_ number,\n o end (number) end _slave_ number,\n o b (number) start _master_ number,\n o s (number) animation status (0..1),\n o dur (number) animation duration,\n o spd (number) animation speed,\n o get (function) getter of _master_ number (see @mina.time),\n o set (function) setter of _slave_ number,\n o easing (function) easing function, default is @mina.linear,\n o status (function) status getter/setter,\n o speed (function) speed getter/setter,\n o duration (function) duration getter/setter,\n o stop (function) animation stopper\n o pause (function) pauses the animation\n o resume (function) resumes the animation\n o update (function) calles setter with the right value of the animation\n o }\n \\*/\n mina = function (a, A, b, B, get, set, easing) {\n var anim = {\n id: ID(),\n start: a,\n end: A,\n b: b,\n s: 0,\n dur: B - b,\n spd: 1,\n get: get,\n set: set,\n easing: easing || mina.linear,\n status: sta,\n speed: speed,\n duration: duration,\n stop: stopit,\n pause: pause,\n resume: resume,\n update: update\n };\n animations[anim.id] = anim;\n var len = 0, i;\n for (i in animations) if (animations.hasOwnProperty(i)) {\n len++;\n if (len == 2) {\n break;\n }\n }\n len == 1 && frame();\n return anim;\n };\n /*\\\n * mina.time\n [ method ]\n **\n * Returns the current time. Equivalent to:\n | function () {\n | return (new Date).getTime();\n | }\n \\*/\n mina.time = timer;\n /*\\\n * mina.getById\n [ method ]\n **\n * Returns an animation by its id\n - id (string) animation's id\n = (object) See @mina\n \\*/\n mina.getById = function (id) {\n return animations[id] || null;\n };\n\n /*\\\n * mina.linear\n [ method ]\n **\n * Default linear easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.linear = function (n) {\n return n;\n };\n /*\\\n * mina.easeout\n [ method ]\n **\n * Easeout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeout = function (n) {\n return Math.pow(n, 1.7);\n };\n /*\\\n * mina.easein\n [ method ]\n **\n * Easein easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easein = function (n) {\n return Math.pow(n, .48);\n };\n /*\\\n * mina.easeinout\n [ method ]\n **\n * Easeinout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeinout = function (n) {\n if (n == 1) {\n return 1;\n }\n if (n == 0) {\n return 0;\n }\n var q = .48 - n / 1.04,\n Q = Math.sqrt(.1734 + q * q),\n x = Q - q,\n X = Math.pow(Math.abs(x), 1 / 3) * (x < 0 ? -1 : 1),\n y = -Q - q,\n Y = Math.pow(Math.abs(y), 1 / 3) * (y < 0 ? -1 : 1),\n t = X + Y + .5;\n return (1 - t) * 3 * t * t + t * t * t;\n };\n /*\\\n * mina.backin\n [ method ]\n **\n * Backin easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backin = function (n) {\n if (n == 1) {\n return 1;\n }\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n };\n /*\\\n * mina.backout\n [ method ]\n **\n * Backout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backout = function (n) {\n if (n == 0) {\n return 0;\n }\n n = n - 1;\n var s = 1.70158;\n return n * n * ((s + 1) * n + s) + 1;\n };\n /*\\\n * mina.elastic\n [ method ]\n **\n * Elastic easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.elastic = function (n) {\n if (n == !!n) {\n return n;\n }\n return Math.pow(2, -10 * n) * Math.sin((n - .075) *\n (2 * Math.PI) / .3) + 1;\n };\n /*\\\n * mina.bounce\n [ method ]\n **\n * Bounce easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.bounce = function (n) {\n var s = 7.5625,\n p = 2.75,\n l;\n if (n < 1 / p) {\n l = s * n * n;\n } else {\n if (n < 2 / p) {\n n -= 1.5 / p;\n l = s * n * n + .75;\n } else {\n if (n < 2.5 / p) {\n n -= 2.25 / p;\n l = s * n * n + .9375;\n } else {\n n -= 2.625 / p;\n l = s * n * n + .984375;\n }\n }\n }\n return l;\n };\n window.mina = mina;\n return mina;\n})(typeof eve == \"undefined\" ? function () {} : eve);\n\n// Copyright (c) 2013 - 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nvar Snap = (function(root) {\nSnap.version = \"0.5.1\";\n/*\\\n * Snap\n [ method ]\n **\n * Creates a drawing surface or wraps existing SVG element.\n **\n - width (number|string) width of surface\n - height (number|string) height of surface\n * or\n - DOM (SVGElement) element to be wrapped into Snap structure\n * or\n - array (array) array of elements (will return set of elements)\n * or\n - query (string) CSS query selector\n = (object) @Element\n\\*/\nfunction Snap(w, h) {\n if (w) {\n if (w.nodeType) {\n return wrap(w);\n }\n if (is(w, \"array\") && Snap.set) {\n return Snap.set.apply(Snap, w);\n }\n if (w instanceof Element) {\n return w;\n }\n if (h == null) {\n try {\n w = glob.doc.querySelector(String(w));\n return wrap(w);\n } catch (e) {\n return null;\n }\n }\n }\n w = w == null ? \"100%\" : w;\n h = h == null ? \"100%\" : h;\n return new Paper(w, h);\n}\nSnap.toString = function () {\n return \"Snap v\" + this.version;\n};\nSnap._ = {};\nvar glob = {\n win: root.window,\n doc: root.window.document\n};\nSnap._.glob = glob;\nvar has = \"hasOwnProperty\",\n Str = String,\n toFloat = parseFloat,\n toInt = parseInt,\n math = Math,\n mmax = math.max,\n mmin = math.min,\n abs = math.abs,\n pow = math.pow,\n PI = math.PI,\n round = math.round,\n E = \"\",\n S = \" \",\n objectToString = Object.prototype.toString,\n ISURL = /^url\\(['\"]?([^\\)]+?)['\"]?\\)$/i,\n colourRegExp = /^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,\n bezierrg = /^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,\n separator = Snap._.separator = /[,\\s]+/,\n whitespace = /[\\s]/g,\n commaSpaces = /[\\s]*,[\\s]*/,\n hsrg = {hs: 1, rg: 1},\n pathCommand = /([a-z])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n tCommand = /([rstm])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\s]*,?[\\s]*/ig,\n idgen = 0,\n idprefix = \"S\" + (+new Date).toString(36),\n ID = function (el) {\n return (el && el.type ? el.type : E) + idprefix + (idgen++).toString(36);\n },\n xlink = \"http://www.w3.org/1999/xlink\",\n xmlns = \"http://www.w3.org/2000/svg\",\n hub = {},\n /*\\\n * Snap.url\n [ method ]\n **\n * Wraps path into `\"url('<path>')\"`.\n - value (string) path\n = (string) wrapped path\n \\*/\n URL = Snap.url = function (url) {\n return \"url('#\" + url + \"')\";\n };\n\nfunction $(el, attr) {\n if (attr) {\n if (el == \"#text\") {\n el = glob.doc.createTextNode(attr.text || attr[\"#text\"] || \"\");\n }\n if (el == \"#comment\") {\n el = glob.doc.createComment(attr.text || attr[\"#text\"] || \"\");\n }\n if (typeof el == \"string\") {\n el = $(el);\n }\n if (typeof attr == \"string\") {\n if (el.nodeType == 1) {\n if (attr.substring(0, 6) == \"xlink:\") {\n return el.getAttributeNS(xlink, attr.substring(6));\n }\n if (attr.substring(0, 4) == \"xml:\") {\n return el.getAttributeNS(xmlns, attr.substring(4));\n }\n return el.getAttribute(attr);\n } else if (attr == \"text\") {\n return el.nodeValue;\n } else {\n return null;\n }\n }\n if (el.nodeType == 1) {\n for (var key in attr) if (attr[has](key)) {\n var val = Str(attr[key]);\n if (val) {\n if (key.substring(0, 6) == \"xlink:\") {\n el.setAttributeNS(xlink, key.substring(6), val);\n } else if (key.substring(0, 4) == \"xml:\") {\n el.setAttributeNS(xmlns, key.substring(4), val);\n } else {\n el.setAttribute(key, val);\n }\n } else {\n el.removeAttribute(key);\n }\n }\n } else if (\"text\" in attr) {\n el.nodeValue = attr.text;\n }\n } else {\n el = glob.doc.createElementNS(xmlns, el);\n }\n return el;\n}\nSnap._.$ = $;\nSnap._.id = ID;\nfunction getAttrs(el) {\n var attrs = el.attributes,\n name,\n out = {};\n for (var i = 0; i < attrs.length; i++) {\n if (attrs[i].namespaceURI == xlink) {\n name = \"xlink:\";\n } else {\n name = \"\";\n }\n name += attrs[i].name;\n out[name] = attrs[i].textContent;\n }\n return out;\n}\nfunction is(o, type) {\n type = Str.prototype.toLowerCase.call(type);\n if (type == \"finite\") {\n return isFinite(o);\n }\n if (type == \"array\" &&\n (o instanceof Array || Array.isArray && Array.isArray(o))) {\n return true;\n }\n return type == \"null\" && o === null ||\n type == typeof o && o !== null ||\n type == \"object\" && o === Object(o) ||\n objectToString.call(o).slice(8, -1).toLowerCase() == type;\n}\n/*\\\n * Snap.format\n [ method ]\n **\n * Replaces construction of type `{<name>}` to the corresponding argument\n **\n - token (string) string to format\n - json (object) object which properties are used as a replacement\n = (string) formatted string\n > Usage\n | // this draws a rectangular shape equivalent to \"M10,20h40v50h-40z\"\n | paper.path(Snap.format(\"M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z\", {\n | x: 10,\n | y: 20,\n | dim: {\n | width: 40,\n | height: 50,\n | \"negative width\": -40\n | }\n | }));\n\\*/\nSnap.format = (function () {\n var tokenRegex = /\\{([^\\}]+)\\}/g,\n objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g, // matches .xxxxx or [\"xxxxx\"] to run over object properties\n replacer = function (all, key, obj) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name in res) {\n res = res[name];\n }\n typeof res == \"function\" && isFunc && (res = res());\n }\n });\n res = (res == null || res == obj ? all : res) + \"\";\n return res;\n };\n return function (str, obj) {\n return Str(str).replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n };\n})();\nfunction clone(obj) {\n if (typeof obj == \"function\" || Object(obj) !== obj) {\n return obj;\n }\n var res = new obj.constructor;\n for (var key in obj) if (obj[has](key)) {\n res[key] = clone(obj[key]);\n }\n return res;\n}\nSnap._.clone = clone;\nfunction repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n}\nfunction cacher(f, scope, postprocessor) {\n function newf() {\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join(\"\\u2400\"),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n if (cache[has](args)) {\n repush(count, args);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f.apply(scope, arg);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n return newf;\n}\nSnap._.cacher = cacher;\nfunction angle(x1, y1, x2, y2, x3, y3) {\n if (x3 == null) {\n var x = x1 - x2,\n y = y1 - y2;\n if (!x && !y) {\n return 0;\n }\n return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;\n } else {\n return angle(x1, y1, x3, y3) - angle(x2, y2, x3, y3);\n }\n}\nfunction rad(deg) {\n return deg % 360 * PI / 180;\n}\nfunction deg(rad) {\n return rad * 180 / PI % 360;\n}\nfunction x_y() {\n return this.x + S + this.y;\n}\nfunction x_y_w_h() {\n return this.x + S + this.y + S + this.width + \" \\xd7 \" + this.height;\n}\n\n/*\\\n * Snap.rad\n [ method ]\n **\n * Transform angle to radians\n - deg (number) angle in degrees\n = (number) angle in radians\n\\*/\nSnap.rad = rad;\n/*\\\n * Snap.deg\n [ method ]\n **\n * Transform angle to degrees\n - rad (number) angle in radians\n = (number) angle in degrees\n\\*/\nSnap.deg = deg;\n/*\\\n * Snap.sin\n [ method ]\n **\n * Equivalent to `Math.sin()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) sin\n\\*/\nSnap.sin = function (angle) {\n return math.sin(Snap.rad(angle));\n};\n/*\\\n * Snap.tan\n [ method ]\n **\n * Equivalent to `Math.tan()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) tan\n\\*/\nSnap.tan = function (angle) {\n return math.tan(Snap.rad(angle));\n};\n/*\\\n * Snap.cos\n [ method ]\n **\n * Equivalent to `Math.cos()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) cos\n\\*/\nSnap.cos = function (angle) {\n return math.cos(Snap.rad(angle));\n};\n/*\\\n * Snap.asin\n [ method ]\n **\n * Equivalent to `Math.asin()` only works with degrees, not radians.\n - num (number) value\n = (number) asin in degrees\n\\*/\nSnap.asin = function (num) {\n return Snap.deg(math.asin(num));\n};\n/*\\\n * Snap.acos\n [ method ]\n **\n * Equivalent to `Math.acos()` only works with degrees, not radians.\n - num (number) value\n = (number) acos in degrees\n\\*/\nSnap.acos = function (num) {\n return Snap.deg(math.acos(num));\n};\n/*\\\n * Snap.atan\n [ method ]\n **\n * Equivalent to `Math.atan()` only works with degrees, not radians.\n - num (number) value\n = (number) atan in degrees\n\\*/\nSnap.atan = function (num) {\n return Snap.deg(math.atan(num));\n};\n/*\\\n * Snap.atan2\n [ method ]\n **\n * Equivalent to `Math.atan2()` only works with degrees, not radians.\n - num (number) value\n = (number) atan2 in degrees\n\\*/\nSnap.atan2 = function (num) {\n return Snap.deg(math.atan2(num));\n};\n/*\\\n * Snap.angle\n [ method ]\n **\n * Returns an angle between two or three points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n - x3 (number) #optional x coord of third point\n - y3 (number) #optional y coord of third point\n = (number) angle in degrees\n\\*/\nSnap.angle = angle;\n/*\\\n * Snap.len\n [ method ]\n **\n * Returns distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n\\*/\nSnap.len = function (x1, y1, x2, y2) {\n return Math.sqrt(Snap.len2(x1, y1, x2, y2));\n};\n/*\\\n * Snap.len2\n [ method ]\n **\n * Returns squared distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n\\*/\nSnap.len2 = function (x1, y1, x2, y2) {\n return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n};\n/*\\\n * Snap.closestPoint\n [ method ]\n **\n * Returns closest point to a given one on a given path.\n - path (Element) path element\n - x (number) x coord of a point\n - y (number) y coord of a point\n = (object) in format\n {\n x (number) x coord of the point on the path\n y (number) y coord of the point on the path\n length (number) length of the path to the point\n distance (number) distance from the given point to the path\n }\n\\*/\n// Copied from http://bl.ocks.org/mbostock/8027637\nSnap.closestPoint = function (path, x, y) {\n function distance2(p) {\n var dx = p.x - x,\n dy = p.y - y;\n return dx * dx + dy * dy;\n }\n var pathNode = path.node,\n pathLength = pathNode.getTotalLength(),\n precision = pathLength / pathNode.pathSegList.numberOfItems * .125,\n best,\n bestLength,\n bestDistance = Infinity;\n\n // linear scan for coarse approximation\n for (var scan, scanLength = 0, scanDistance; scanLength <= pathLength; scanLength += precision) {\n if ((scanDistance = distance2(scan = pathNode.getPointAtLength(scanLength))) < bestDistance) {\n best = scan;\n bestLength = scanLength;\n bestDistance = scanDistance;\n }\n }\n\n // binary search for precise estimate\n precision *= .5;\n while (precision > .5) {\n var before,\n after,\n beforeLength,\n afterLength,\n beforeDistance,\n afterDistance;\n if ((beforeLength = bestLength - precision) >= 0 && (beforeDistance = distance2(before = pathNode.getPointAtLength(beforeLength))) < bestDistance) {\n best = before;\n bestLength = beforeLength;\n bestDistance = beforeDistance;\n } else if ((afterLength = bestLength + precision) <= pathLength && (afterDistance = distance2(after = pathNode.getPointAtLength(afterLength))) < bestDistance) {\n best = after;\n bestLength = afterLength;\n bestDistance = afterDistance;\n } else {\n precision *= .5;\n }\n }\n\n best = {\n x: best.x,\n y: best.y,\n length: bestLength,\n distance: Math.sqrt(bestDistance)\n };\n return best;\n}\n/*\\\n * Snap.is\n [ method ]\n **\n * Handy replacement for the `typeof` operator\n - o (…) any object or primitive\n - type (string) name of the type, e.g., `string`, `function`, `number`, etc.\n = (boolean) `true` if given value is of given type\n\\*/\nSnap.is = is;\n/*\\\n * Snap.snapTo\n [ method ]\n **\n * Snaps given value to given grid\n - values (array|number) given array of values or step of the grid\n - value (number) value to adjust\n - tolerance (number) #optional maximum distance to the target value that would trigger the snap. Default is `10`.\n = (number) adjusted value\n\\*/\nSnap.snapTo = function (values, value, tolerance) {\n tolerance = is(tolerance, \"finite\") ? tolerance : 10;\n if (is(values, \"array\")) {\n var i = values.length;\n while (i--) if (abs(values[i] - value) <= tolerance) {\n return values[i];\n }\n } else {\n values = +values;\n var rem = value % values;\n if (rem < tolerance) {\n return value - rem;\n }\n if (rem > values - tolerance) {\n return value - rem + values;\n }\n }\n return value;\n};\n// Colour\n/*\\\n * Snap.getRGB\n [ method ]\n **\n * Parses color string as RGB object\n - color (string) color string in one of the following formats:\n # <ul>\n # <li>Color name (<code>red</code>, <code>green</code>, <code>cornflowerblue</code>, etc)</li>\n # <li>#••• — shortened HTML color: (<code>#000</code>, <code>#fc0</code>, etc.)</li>\n # <li>#•••••• — full length HTML color: (<code>#000000</code>, <code>#bd2300</code>)</li>\n # <li>rgb(•••, •••, •••) — red, green and blue channels values: (<code>rgb(200, 100, 0)</code>)</li>\n # <li>rgba(•••, •••, •••, •••) — also with opacity</li>\n # <li>rgb(•••%, •••%, •••%) — same as above, but in %: (<code>rgb(100%, 175%, 0%)</code>)</li>\n # <li>rgba(•••%, •••%, •••%, •••%) — also with opacity</li>\n # <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (<code>hsb(0.5, 0.25, 1)</code>)</li>\n # <li>hsba(•••, •••, •••, •••) — also with opacity</li>\n # <li>hsb(•••%, •••%, •••%) — same as above, but in %</li>\n # <li>hsba(•••%, •••%, •••%, •••%) — also with opacity</li>\n # <li>hsl(•••, •••, •••) — hue, saturation and luminosity values: (<code>hsb(0.5, 0.25, 0.5)</code>)</li>\n # <li>hsla(•••, •••, •••, •••) — also with opacity</li>\n # <li>hsl(•••%, •••%, •••%) — same as above, but in %</li>\n # <li>hsla(•••%, •••%, •••%, •••%) — also with opacity</li>\n # </ul>\n * Note that `%` can be used any time: `rgb(20%, 255, 50%)`.\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) true if string can't be parsed\n o }\n\\*/\nSnap.getRGB = cacher(function (colour) {\n if (!colour || !!((colour = Str(colour)).indexOf(\"-\") + 1)) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n }\n if (colour == \"none\") {\n return {r: -1, g: -1, b: -1, hex: \"none\", toString: rgbtoString};\n }\n !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == \"#\") && (colour = toHex(colour));\n if (!colour) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n }\n var res,\n red,\n green,\n blue,\n opacity,\n t,\n values,\n rgb = colour.match(colourRegExp);\n if (rgb) {\n if (rgb[2]) {\n blue = toInt(rgb[2].substring(5), 16);\n green = toInt(rgb[2].substring(3, 5), 16);\n red = toInt(rgb[2].substring(1, 3), 16);\n }\n if (rgb[3]) {\n blue = toInt((t = rgb[3].charAt(3)) + t, 16);\n green = toInt((t = rgb[3].charAt(2)) + t, 16);\n red = toInt((t = rgb[3].charAt(1)) + t, 16);\n }\n if (rgb[4]) {\n values = rgb[4].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n rgb[1].toLowerCase().slice(0, 4) == \"rgba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n }\n if (rgb[5]) {\n values = rgb[5].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsb2rgb(red, green, blue, opacity);\n }\n if (rgb[6]) {\n values = rgb[6].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsla\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsl2rgb(red, green, blue, opacity);\n }\n red = mmin(math.round(red), 255);\n green = mmin(math.round(green), 255);\n blue = mmin(math.round(blue), 255);\n opacity = mmin(mmax(opacity, 0), 1);\n rgb = {r: red, g: green, b: blue, toString: rgbtoString};\n rgb.hex = \"#\" + (16777216 | blue | green << 8 | red << 16).toString(16).slice(1);\n rgb.opacity = is(opacity, \"finite\") ? opacity : 1;\n return rgb;\n }\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n}, Snap);\n/*\\\n * Snap.hsb\n [ method ]\n **\n * Converts HSB values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - b (number) value or brightness\n = (string) hex representation of the color\n\\*/\nSnap.hsb = cacher(function (h, s, b) {\n return Snap.hsb2rgb(h, s, b).hex;\n});\n/*\\\n * Snap.hsl\n [ method ]\n **\n * Converts HSL values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (string) hex representation of the color\n\\*/\nSnap.hsl = cacher(function (h, s, l) {\n return Snap.hsl2rgb(h, s, l).hex;\n});\n/*\\\n * Snap.rgb\n [ method ]\n **\n * Converts RGB values to a hex representation of the color\n - r (number) red\n - g (number) green\n - b (number) blue\n = (string) hex representation of the color\n\\*/\nSnap.rgb = cacher(function (r, g, b, o) {\n if (is(o, \"finite\")) {\n var round = math.round;\n return \"rgba(\" + [round(r), round(g), round(b), +o.toFixed(2)] + \")\";\n }\n return \"#\" + (16777216 | b | g << 8 | r << 16).toString(16).slice(1);\n});\nvar toHex = function (color) {\n var i = glob.doc.getElementsByTagName(\"head\")[0] || glob.doc.getElementsByTagName(\"svg\")[0],\n red = \"rgb(255, 0, 0)\";\n toHex = cacher(function (color) {\n if (color.toLowerCase() == \"red\") {\n return red;\n }\n i.style.color = red;\n i.style.color = color;\n var out = glob.doc.defaultView.getComputedStyle(i, E).getPropertyValue(\"color\");\n return out == red ? null : out;\n });\n return toHex(color);\n},\nhsbtoString = function () {\n return \"hsb(\" + [this.h, this.s, this.b] + \")\";\n},\nhsltoString = function () {\n return \"hsl(\" + [this.h, this.s, this.l] + \")\";\n},\nrgbtoString = function () {\n return this.opacity == 1 || this.opacity == null ?\n this.hex :\n \"rgba(\" + [this.r, this.g, this.b, this.opacity] + \")\";\n},\nprepareRGB = function (r, g, b) {\n if (g == null && is(r, \"object\") && \"r\" in r && \"g\" in r && \"b\" in r) {\n b = r.b;\n g = r.g;\n r = r.r;\n }\n if (g == null && is(r, string)) {\n var clr = Snap.getRGB(r);\n r = clr.r;\n g = clr.g;\n b = clr.b;\n }\n if (r > 1 || g > 1 || b > 1) {\n r /= 255;\n g /= 255;\n b /= 255;\n }\n\n return [r, g, b];\n},\npackageRGB = function (r, g, b, o) {\n r = math.round(r * 255);\n g = math.round(g * 255);\n b = math.round(b * 255);\n var rgb = {\n r: r,\n g: g,\n b: b,\n opacity: is(o, \"finite\") ? o : 1,\n hex: Snap.rgb(r, g, b),\n toString: rgbtoString\n };\n is(o, \"finite\") && (rgb.opacity = o);\n return rgb;\n};\n/*\\\n * Snap.color\n [ method ]\n **\n * Parses the color string and returns an object featuring the color's component values\n - clr (string) color string in one of the supported formats (see @Snap.getRGB)\n = (object) Combined RGB/HSB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) `true` if string can't be parsed,\n o h (number) hue,\n o s (number) saturation,\n o v (number) value (brightness),\n o l (number) lightness\n o }\n\\*/\nSnap.color = function (clr) {\n var rgb;\n if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"b\" in clr) {\n rgb = Snap.hsb2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"l\" in clr) {\n rgb = Snap.hsl2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else {\n if (is(clr, \"string\")) {\n clr = Snap.getRGB(clr);\n }\n if (is(clr, \"object\") && \"r\" in clr && \"g\" in clr && \"b\" in clr && !(\"error\" in clr)) {\n rgb = Snap.rgb2hsl(clr);\n clr.h = rgb.h;\n clr.s = rgb.s;\n clr.l = rgb.l;\n rgb = Snap.rgb2hsb(clr);\n clr.v = rgb.b;\n } else {\n clr = {hex: \"none\"};\n clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;\n clr.error = 1;\n }\n }\n clr.toString = rgbtoString;\n return clr;\n};\n/*\\\n * Snap.hsb2rgb\n [ method ]\n **\n * Converts HSB values to an RGB object\n - h (number) hue\n - s (number) saturation\n - v (number) value or brightness\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n\\*/\nSnap.hsb2rgb = function (h, s, v, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"b\" in h) {\n v = h.b;\n s = h.s;\n o = h.o;\n h = h.h;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = v * s;\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = v - C;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n};\n/*\\\n * Snap.hsl2rgb\n [ method ]\n **\n * Converts HSL values to an RGB object\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n\\*/\nSnap.hsl2rgb = function (h, s, l, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"l\" in h) {\n l = h.l;\n s = h.s;\n h = h.h;\n }\n if (h > 1 || s > 1 || l > 1) {\n h /= 360;\n s /= 100;\n l /= 100;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = 2 * s * (l < .5 ? l : 1 - l);\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = l - C / 2;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n};\n/*\\\n * Snap.rgb2hsb\n [ method ]\n **\n * Converts RGB values to an HSB object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSB object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o b (number) brightness\n o }\n\\*/\nSnap.rgb2hsb = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, V, C;\n V = mmax(r, g, b);\n C = V - mmin(r, g, b);\n H = C == 0 ? null :\n V == r ? (g - b) / C :\n V == g ? (b - r) / C + 2 :\n (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n S = C == 0 ? 0 : C / V;\n return {h: H, s: S, b: V, toString: hsbtoString};\n};\n/*\\\n * Snap.rgb2hsl\n [ method ]\n **\n * Converts RGB values to an HSL object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSL object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o l (number) luminosity\n o }\n\\*/\nSnap.rgb2hsl = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, L, M, m, C;\n M = mmax(r, g, b);\n m = mmin(r, g, b);\n C = M - m;\n H = C == 0 ? null :\n M == r ? (g - b) / C :\n M == g ? (b - r) / C + 2 :\n (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n L = (M + m) / 2;\n S = C == 0 ? 0 :\n L < .5 ? C / (2 * L) :\n C / (2 - 2 * L);\n return {h: H, s: S, l: L, toString: hsltoString};\n};\n\n// Transformations\n/*\\\n * Snap.parsePathString\n [ method ]\n **\n * Utility method\n **\n * Parses given path string into an array of arrays of path segments\n - pathString (string|array) path string or array of segments (in the last case it is returned straight away)\n = (array) array of segments\n\\*/\nSnap.parsePathString = function (pathString) {\n if (!pathString) {\n return null;\n }\n var pth = Snap.path(pathString);\n if (pth.arr) {\n return Snap.path.clone(pth.arr);\n }\n\n var paramCounts = {a: 7, c: 6, o: 2, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, u: 3, z: 0},\n data = [];\n if (is(pathString, \"array\") && is(pathString[0], \"array\")) { // rough assumption\n data = Snap.path.clone(pathString);\n }\n if (!data.length) {\n Str(pathString).replace(pathCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n if (name == \"m\" && params.length > 2) {\n data.push([b].concat(params.splice(0, 2)));\n name = \"l\";\n b = b == \"m\" ? \"l\" : \"L\";\n }\n if (name == \"o\" && params.length == 1) {\n data.push([b, params[0]]);\n }\n if (name == \"r\") {\n data.push([b].concat(params));\n } else while (params.length >= paramCounts[name]) {\n data.push([b].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n data.toString = Snap.path.toString;\n pth.arr = Snap.path.clone(data);\n return data;\n};\n/*\\\n * Snap.parseTransformString\n [ method ]\n **\n * Utility method\n **\n * Parses given transform string into an array of transformations\n - TString (string|array) transform string or array of transformations (in the last case it is returned straight away)\n = (array) array of transformations\n\\*/\nvar parseTransformString = Snap.parseTransformString = function (TString) {\n if (!TString) {\n return null;\n }\n var paramCounts = {r: 3, s: 4, t: 2, m: 6},\n data = [];\n if (is(TString, \"array\") && is(TString[0], \"array\")) { // rough assumption\n data = Snap.path.clone(TString);\n }\n if (!data.length) {\n Str(TString).replace(tCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n data.push([b].concat(params));\n });\n }\n data.toString = Snap.path.toString;\n return data;\n};\nfunction svgTransform2string(tstr) {\n var res = [];\n tstr = tstr.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g, function (all, name, params) {\n params = params.split(/\\s*,\\s*|\\s+/);\n if (name == \"rotate\" && params.length == 1) {\n params.push(0, 0);\n }\n if (name == \"scale\") {\n if (params.length > 2) {\n params = params.slice(0, 2);\n } else if (params.length == 2) {\n params.push(0, 0);\n }\n if (params.length == 1) {\n params.push(params[0], 0, 0);\n }\n }\n if (name == \"skewX\") {\n res.push([\"m\", 1, 0, math.tan(rad(params[0])), 1, 0, 0]);\n } else if (name == \"skewY\") {\n res.push([\"m\", 1, math.tan(rad(params[0])), 0, 1, 0, 0]);\n } else {\n res.push([name.charAt(0)].concat(params));\n }\n return all;\n });\n return res;\n}\nSnap._.svgTransform2string = svgTransform2string;\nSnap._.rgTransform = /^[a-z][\\s]*-?\\.?\\d/i;\nfunction transform2matrix(tstr, bbox) {\n var tdata = parseTransformString(tstr),\n m = new Snap.Matrix;\n if (tdata) {\n for (var i = 0, ii = tdata.length; i < ii; i++) {\n var t = tdata[i],\n tlen = t.length,\n command = Str(t[0]).toLowerCase(),\n absolute = t[0] != command,\n inver = absolute ? m.invert() : 0,\n x1,\n y1,\n x2,\n y2,\n bb;\n if (command == \"t\" && tlen == 2){\n m.translate(t[1], 0);\n } else if (command == \"t\" && tlen == 3) {\n if (absolute) {\n x1 = inver.x(0, 0);\n y1 = inver.y(0, 0);\n x2 = inver.x(t[1], t[2]);\n y2 = inver.y(t[1], t[2]);\n m.translate(x2 - x1, y2 - y1);\n } else {\n m.translate(t[1], t[2]);\n }\n } else if (command == \"r\") {\n if (tlen == 2) {\n bb = bb || bbox;\n m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.rotate(t[1], x2, y2);\n } else {\n m.rotate(t[1], t[2], t[3]);\n }\n }\n } else if (command == \"s\") {\n if (tlen == 2 || tlen == 3) {\n bb = bb || bbox;\n m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.scale(t[1], t[1], x2, y2);\n } else {\n m.scale(t[1], t[1], t[2], t[3]);\n }\n } else if (tlen == 5) {\n if (absolute) {\n x2 = inver.x(t[3], t[4]);\n y2 = inver.y(t[3], t[4]);\n m.scale(t[1], t[2], x2, y2);\n } else {\n m.scale(t[1], t[2], t[3], t[4]);\n }\n }\n } else if (command == \"m\" && tlen == 7) {\n m.add(t[1], t[2], t[3], t[4], t[5], t[6]);\n }\n }\n }\n return m;\n}\nSnap._.transform2matrix = transform2matrix;\nSnap._unit2px = unit2px;\nvar contains = glob.doc.contains || glob.doc.compareDocumentPosition ?\n function (a, b) {\n var adown = a.nodeType == 9 ? a.documentElement : a,\n bup = b && b.parentNode;\n return a == bup || !!(bup && bup.nodeType == 1 && (\n adown.contains ?\n adown.contains(bup) :\n a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16\n ));\n } :\n function (a, b) {\n if (b) {\n while (b) {\n b = b.parentNode;\n if (b == a) {\n return true;\n }\n }\n }\n return false;\n };\nfunction getSomeDefs(el) {\n var p = el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) ||\n el.node.parentNode && wrap(el.node.parentNode) ||\n Snap.select(\"svg\") ||\n Snap(0, 0),\n pdefs = p.select(\"defs\"),\n defs = pdefs == null ? false : pdefs.node;\n if (!defs) {\n defs = make(\"defs\", p.node).node;\n }\n return defs;\n}\nfunction getSomeSVG(el) {\n return el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) || Snap.select(\"svg\");\n}\nSnap._.getSomeDefs = getSomeDefs;\nSnap._.getSomeSVG = getSomeSVG;\nfunction unit2px(el, name, value) {\n var svg = getSomeSVG(el).node,\n out = {},\n mgr = svg.querySelector(\".svg---mgr\");\n if (!mgr) {\n mgr = $(\"rect\");\n $(mgr, {x: -9e9, y: -9e9, width: 10, height: 10, \"class\": \"svg---mgr\", fill: \"none\"});\n svg.appendChild(mgr);\n }\n function getW(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {width: val});\n try {\n return mgr.getBBox().width;\n } catch (e) {\n return 0;\n }\n }\n function getH(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {height: val});\n try {\n return mgr.getBBox().height;\n } catch (e) {\n return 0;\n }\n }\n function set(nam, f) {\n if (name == null) {\n out[nam] = f(el.attr(nam) || 0);\n } else if (nam == name) {\n out = f(value == null ? el.attr(nam) || 0 : value);\n }\n }\n switch (el.type) {\n case \"rect\":\n set(\"rx\", getW);\n set(\"ry\", getH);\n case \"image\":\n set(\"width\", getW);\n set(\"height\", getH);\n case \"text\":\n set(\"x\", getW);\n set(\"y\", getH);\n break;\n case \"circle\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"r\", getW);\n break;\n case \"ellipse\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"rx\", getW);\n set(\"ry\", getH);\n break;\n case \"line\":\n set(\"x1\", getW);\n set(\"x2\", getW);\n set(\"y1\", getH);\n set(\"y2\", getH);\n break;\n case \"marker\":\n set(\"refX\", getW);\n set(\"markerWidth\", getW);\n set(\"refY\", getH);\n set(\"markerHeight\", getH);\n break;\n case \"radialGradient\":\n set(\"fx\", getW);\n set(\"fy\", getH);\n break;\n case \"tspan\":\n set(\"dx\", getW);\n set(\"dy\", getH);\n break;\n default:\n set(name, getW);\n }\n svg.removeChild(mgr);\n return out;\n}\n/*\\\n * Snap.select\n [ method ]\n **\n * Wraps a DOM element specified by CSS selector as @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n\\*/\nSnap.select = function (query) {\n query = Str(query).replace(/([^\\\\]):/g, \"$1\\\\:\");\n return wrap(glob.doc.querySelector(query));\n};\n/*\\\n * Snap.selectAll\n [ method ]\n **\n * Wraps DOM elements specified by CSS selector as set or array of @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n\\*/\nSnap.selectAll = function (query) {\n var nodelist = glob.doc.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n};\n\nfunction add2group(list) {\n if (!is(list, \"array\")) {\n list = Array.prototype.slice.call(arguments, 0);\n }\n var i = 0,\n j = 0,\n node = this.node;\n while (this[i]) delete this[i++];\n for (i = 0; i < list.length; i++) {\n if (list[i].type == \"set\") {\n list[i].forEach(function (el) {\n node.appendChild(el.node);\n });\n } else {\n node.appendChild(list[i].node);\n }\n }\n var children = node.childNodes;\n for (i = 0; i < children.length; i++) {\n this[j++] = wrap(children[i]);\n }\n return this;\n}\n// Hub garbage collector every 10s\nsetInterval(function () {\n for (var key in hub) if (hub[has](key)) {\n var el = hub[key],\n node = el.node;\n if (el.type != \"svg\" && !node.ownerSVGElement || el.type == \"svg\" && (!node.parentNode || \"ownerSVGElement\" in node.parentNode && !node.ownerSVGElement)) {\n delete hub[key];\n }\n }\n}, 1e4);\nfunction Element(el) {\n if (el.snap in hub) {\n return hub[el.snap];\n }\n var svg;\n try {\n svg = el.ownerSVGElement;\n } catch(e) {}\n /*\\\n * Element.node\n [ property (object) ]\n **\n * Gives you a reference to the DOM object, so you can assign event handlers or just mess around.\n > Usage\n | // draw a circle at coordinate 10,10 with radius of 10\n | var c = paper.circle(10, 10, 10);\n | c.node.onclick = function () {\n | c.attr(\"fill\", \"red\");\n | };\n \\*/\n this.node = el;\n if (svg) {\n this.paper = new Paper(svg);\n }\n /*\\\n * Element.type\n [ property (string) ]\n **\n * SVG tag name of the given element.\n \\*/\n this.type = el.tagName || el.nodeName;\n var id = this.id = ID(this);\n this.anims = {};\n this._ = {\n transform: []\n };\n el.snap = id;\n hub[id] = this;\n if (this.type == \"g\") {\n this.add = add2group;\n }\n if (this.type in {g: 1, mask: 1, pattern: 1, symbol: 1}) {\n for (var method in Paper.prototype) if (Paper.prototype[has](method)) {\n this[method] = Paper.prototype[method];\n }\n }\n}\n /*\\\n * Element.attr\n [ method ]\n **\n * Gets or sets given attributes of the element.\n **\n - params (object) contains key-value pairs of attributes you want to set\n * or\n - param (string) name of the attribute\n = (Element) the current element\n * or\n = (string) value of attribute\n > Usage\n | el.attr({\n | fill: \"#fc0\",\n | stroke: \"#000\",\n | strokeWidth: 2, // CamelCase...\n | \"fill-opacity\": 0.5, // or dash-separated names\n | width: \"*=2\" // prefixed values\n | });\n | console.log(el.attr(\"fill\")); // #fc0\n * Prefixed values in format `\"+=10\"` supported. All four operations\n * (`+`, `-`, `*` and `/`) could be used. Optionally you can use units for `+`\n * and `-`: `\"+=2em\"`.\n \\*/\n Element.prototype.attr = function (params, value) {\n var el = this,\n node = el.node;\n if (!params) {\n if (node.nodeType != 1) {\n return {\n text: node.nodeValue\n };\n }\n var attr = node.attributes,\n out = {};\n for (var i = 0, ii = attr.length; i < ii; i++) {\n out[attr[i].nodeName] = attr[i].nodeValue;\n }\n return out;\n }\n if (is(params, \"string\")) {\n if (arguments.length > 1) {\n var json = {};\n json[params] = value;\n params = json;\n } else {\n return eve(\"snap.util.getattr.\" + params, el).firstDefined();\n }\n }\n for (var att in params) {\n if (params[has](att)) {\n eve(\"snap.util.attr.\" + att, el, params[att]);\n }\n }\n return el;\n };\n/*\\\n * Snap.parse\n [ method ]\n **\n * Parses SVG fragment and converts it into a @Fragment\n **\n - svg (string) SVG string\n = (Fragment) the @Fragment\n\\*/\nSnap.parse = function (svg) {\n var f = glob.doc.createDocumentFragment(),\n full = true,\n div = glob.doc.createElement(\"div\");\n svg = Str(svg);\n if (!svg.match(/^\\s*<\\s*svg(?:\\s|>)/)) {\n svg = \"<svg>\" + svg + \"</svg>\";\n full = false;\n }\n div.innerHTML = svg;\n svg = div.getElementsByTagName(\"svg\")[0];\n if (svg) {\n if (full) {\n f = svg;\n } else {\n while (svg.firstChild) {\n f.appendChild(svg.firstChild);\n }\n }\n }\n return new Fragment(f);\n};\nfunction Fragment(frag) {\n this.node = frag;\n}\n/*\\\n * Snap.fragment\n [ method ]\n **\n * Creates a DOM fragment from a given list of elements or strings\n **\n - varargs (…) SVG string\n = (Fragment) the @Fragment\n\\*/\nSnap.fragment = function () {\n var args = Array.prototype.slice.call(arguments, 0),\n f = glob.doc.createDocumentFragment();\n for (var i = 0, ii = args.length; i < ii; i++) {\n var item = args[i];\n if (item.node && item.node.nodeType) {\n f.appendChild(item.node);\n }\n if (item.nodeType) {\n f.appendChild(item);\n }\n if (typeof item == \"string\") {\n f.appendChild(Snap.parse(item).node);\n }\n }\n return new Fragment(f);\n};\n\nfunction make(name, parent) {\n var res = $(name);\n parent.appendChild(res);\n var el = wrap(res);\n return el;\n}\nfunction Paper(w, h) {\n var res,\n desc,\n defs,\n proto = Paper.prototype;\n if (w && w.tagName && w.tagName.toLowerCase() == \"svg\") {\n if (w.snap in hub) {\n return hub[w.snap];\n }\n var doc = w.ownerDocument;\n res = new Element(w);\n desc = w.getElementsByTagName(\"desc\")[0];\n defs = w.getElementsByTagName(\"defs\")[0];\n if (!desc) {\n desc = $(\"desc\");\n desc.appendChild(doc.createTextNode(\"Created with Snap\"));\n res.node.appendChild(desc);\n }\n if (!defs) {\n defs = $(\"defs\");\n res.node.appendChild(defs);\n }\n res.defs = defs;\n for (var key in proto) if (proto[has](key)) {\n res[key] = proto[key];\n }\n res.paper = res.root = res;\n } else {\n res = make(\"svg\", glob.doc.body);\n $(res.node, {\n height: h,\n version: 1.1,\n width: w,\n xmlns: xmlns\n });\n }\n return res;\n}\nfunction wrap(dom) {\n if (!dom) {\n return dom;\n }\n if (dom instanceof Element || dom instanceof Fragment) {\n return dom;\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"svg\") {\n return new Paper(dom);\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"object\" && dom.type == \"image/svg+xml\") {\n return new Paper(dom.contentDocument.getElementsByTagName(\"svg\")[0]);\n }\n return new Element(dom);\n}\n\nSnap._.make = make;\nSnap._.wrap = wrap;\n/*\\\n * Paper.el\n [ method ]\n **\n * Creates an element on paper with a given name and no attributes\n **\n - name (string) tag name\n - attr (object) attributes\n = (Element) the current element\n > Usage\n | var c = paper.circle(10, 10, 10); // is the same as...\n | var c = paper.el(\"circle\").attr({\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n | // and the same as\n | var c = paper.el(\"circle\", {\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n\\*/\nPaper.prototype.el = function (name, attr) {\n var el = make(name, this.node);\n attr && el.attr(attr);\n return el;\n};\n/*\\\n * Element.children\n [ method ]\n **\n * Returns array of all the children of the element.\n = (array) array of Elements\n\\*/\nElement.prototype.children = function () {\n var out = [],\n ch = this.node.childNodes;\n for (var i = 0, ii = ch.length; i < ii; i++) {\n out[i] = Snap(ch[i]);\n }\n return out;\n};\nfunction jsonFiller(root, o) {\n for (var i = 0, ii = root.length; i < ii; i++) {\n var item = {\n type: root[i].type,\n attr: root[i].attr()\n },\n children = root[i].children();\n o.push(item);\n if (children.length) {\n jsonFiller(children, item.childNodes = []);\n }\n }\n}\n/*\\\n * Element.toJSON\n [ method ]\n **\n * Returns object representation of the given element and all its children.\n = (object) in format\n o {\n o type (string) this.type,\n o attr (object) attributes map,\n o childNodes (array) optional array of children in the same format\n o }\n\\*/\nElement.prototype.toJSON = function () {\n var out = [];\n jsonFiller([this], out);\n return out[0];\n};\n// default\neve.on(\"snap.util.getattr\", function () {\n var att = eve.nt();\n att = att.substring(att.lastIndexOf(\".\") + 1);\n var css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n return this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(css);\n } else {\n return $(this.node, att);\n }\n});\nvar cssAttr = {\n \"alignment-baseline\": 0,\n \"baseline-shift\": 0,\n \"clip\": 0,\n \"clip-path\": 0,\n \"clip-rule\": 0,\n \"color\": 0,\n \"color-interpolation\": 0,\n \"color-interpolation-filters\": 0,\n \"color-profile\": 0,\n \"color-rendering\": 0,\n \"cursor\": 0,\n \"direction\": 0,\n \"display\": 0,\n \"dominant-baseline\": 0,\n \"enable-background\": 0,\n \"fill\": 0,\n \"fill-opacity\": 0,\n \"fill-rule\": 0,\n \"filter\": 0,\n \"flood-color\": 0,\n \"flood-opacity\": 0,\n \"font\": 0,\n \"font-family\": 0,\n \"font-size\": 0,\n \"font-size-adjust\": 0,\n \"font-stretch\": 0,\n \"font-style\": 0,\n \"font-variant\": 0,\n \"font-weight\": 0,\n \"glyph-orientation-horizontal\": 0,\n \"glyph-orientation-vertical\": 0,\n \"image-rendering\": 0,\n \"kerning\": 0,\n \"letter-spacing\": 0,\n \"lighting-color\": 0,\n \"marker\": 0,\n \"marker-end\": 0,\n \"marker-mid\": 0,\n \"marker-start\": 0,\n \"mask\": 0,\n \"opacity\": 0,\n \"overflow\": 0,\n \"pointer-events\": 0,\n \"shape-rendering\": 0,\n \"stop-color\": 0,\n \"stop-opacity\": 0,\n \"stroke\": 0,\n \"stroke-dasharray\": 0,\n \"stroke-dashoffset\": 0,\n \"stroke-linecap\": 0,\n \"stroke-linejoin\": 0,\n \"stroke-miterlimit\": 0,\n \"stroke-opacity\": 0,\n \"stroke-width\": 0,\n \"text-anchor\": 0,\n \"text-decoration\": 0,\n \"text-rendering\": 0,\n \"unicode-bidi\": 0,\n \"visibility\": 0,\n \"word-spacing\": 0,\n \"writing-mode\": 0\n};\n\neve.on(\"snap.util.attr\", function (value) {\n var att = eve.nt(),\n attr = {};\n att = att.substring(att.lastIndexOf(\".\") + 1);\n attr[att] = value;\n var style = att.replace(/-(\\w)/gi, function (all, letter) {\n return letter.toUpperCase();\n }),\n css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n this.node.style[style] = value == null ? E : value;\n } else {\n $(this.node, attr);\n }\n});\n(function (proto) {}(Paper.prototype));\n\n// simple ajax\n/*\\\n * Snap.ajax\n [ method ]\n **\n * Simple implementation of Ajax\n **\n - url (string) URL\n - postData (object|string) data for post request\n - callback (function) callback\n - scope (object) #optional scope of callback\n * or\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n = (XMLHttpRequest) the XMLHttpRequest object, just in case\n\\*/\nSnap.ajax = function (url, postData, callback, scope){\n var req = new XMLHttpRequest,\n id = ID();\n if (req) {\n if (is(postData, \"function\")) {\n scope = callback;\n callback = postData;\n postData = null;\n } else if (is(postData, \"object\")) {\n var pd = [];\n for (var key in postData) if (postData.hasOwnProperty(key)) {\n pd.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(postData[key]));\n }\n postData = pd.join(\"&\");\n }\n req.open(postData ? \"POST\" : \"GET\", url, true);\n if (postData) {\n req.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n req.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n }\n if (callback) {\n eve.once(\"snap.ajax.\" + id + \".0\", callback);\n eve.once(\"snap.ajax.\" + id + \".200\", callback);\n eve.once(\"snap.ajax.\" + id + \".304\", callback);\n }\n req.onreadystatechange = function() {\n if (req.readyState != 4) return;\n eve(\"snap.ajax.\" + id + \".\" + req.status, scope, req);\n };\n if (req.readyState == 4) {\n return req;\n }\n req.send(postData);\n return req;\n }\n};\n/*\\\n * Snap.load\n [ method ]\n **\n * Loads external SVG file as a @Fragment (see @Snap.ajax for more advanced AJAX)\n **\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n\\*/\nSnap.load = function (url, callback, scope) {\n Snap.ajax(url, function (req) {\n var f = Snap.parse(req.responseText);\n scope ? callback.call(scope, f) : callback(f);\n });\n};\nvar getOffset = function (elem) {\n var box = elem.getBoundingClientRect(),\n doc = elem.ownerDocument,\n body = doc.body,\n docElem = doc.documentElement,\n clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,\n top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop ) - clientTop,\n left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft;\n return {\n y: top,\n x: left\n };\n};\n/*\\\n * Snap.getElementByPoint\n [ method ]\n **\n * Returns you topmost element under given point.\n **\n = (object) Snap element object\n - x (number) x coordinate from the top left corner of the window\n - y (number) y coordinate from the top left corner of the window\n > Usage\n | Snap.getElementByPoint(mouseX, mouseY).attr({stroke: \"#f00\"});\n\\*/\nSnap.getElementByPoint = function (x, y) {\n var paper = this,\n svg = paper.canvas,\n target = glob.doc.elementFromPoint(x, y);\n if (glob.win.opera && target.tagName == \"svg\") {\n var so = getOffset(target),\n sr = target.createSVGRect();\n sr.x = x - so.x;\n sr.y = y - so.y;\n sr.width = sr.height = 1;\n var hits = target.getIntersectionList(sr, null);\n if (hits.length) {\n target = hits[hits.length - 1];\n }\n }\n if (!target) {\n return null;\n }\n return wrap(target);\n};\n/*\\\n * Snap.plugin\n [ method ]\n **\n * Let you write plugins. You pass in a function with five arguments, like this:\n | Snap.plugin(function (Snap, Element, Paper, global, Fragment) {\n | Snap.newmethod = function () {};\n | Element.prototype.newmethod = function () {};\n | Paper.prototype.newmethod = function () {};\n | });\n * Inside the function you have access to all main objects (and their\n * prototypes). This allow you to extend anything you want.\n **\n - f (function) your plugin body\n\\*/\nSnap.plugin = function (f) {\n f(Snap, Element, Paper, glob, Fragment);\n};\nglob.win.Snap = Snap;\nreturn Snap;\n}(window || this));\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n unit2px = Snap._unit2px,\n $ = Snap._.$,\n make = Snap._.make,\n getSomeDefs = Snap._.getSomeDefs,\n has = \"hasOwnProperty\",\n wrap = Snap._.wrap;\n /*\\\n * Element.getBBox\n [ method ]\n **\n * Returns the bounding box descriptor for the given element\n **\n = (object) bounding box descriptor:\n o {\n o cx: (number) x of the center,\n o cy: (number) x of the center,\n o h: (number) height,\n o height: (number) height,\n o path: (string) path command for the box,\n o r0: (number) radius of a circle that fully encloses the box,\n o r1: (number) radius of the smallest circle that can be enclosed,\n o r2: (number) radius of the largest circle that can be enclosed,\n o vb: (string) box as a viewbox command,\n o w: (number) width,\n o width: (number) width,\n o x2: (number) x of the right side,\n o x: (number) x of the left side,\n o y2: (number) y of the bottom edge,\n o y: (number) y of the top edge\n o }\n \\*/\n elproto.getBBox = function (isWithoutTransform) {\n if (this.type == \"tspan\") {\n return Snap._.box(this.node.getClientRects().item(0));\n }\n if (!Snap.Matrix || !Snap.path) {\n return this.node.getBBox();\n }\n var el = this,\n m = new Snap.Matrix;\n if (el.removed) {\n return Snap._.box();\n }\n while (el.type == \"use\") {\n if (!isWithoutTransform) {\n m = m.add(el.transform().localMatrix.translate(el.attr(\"x\") || 0, el.attr(\"y\") || 0));\n }\n if (el.original) {\n el = el.original;\n } else {\n var href = el.attr(\"xlink:href\");\n el = el.original = el.node.ownerDocument.getElementById(href.substring(href.indexOf(\"#\") + 1));\n }\n }\n var _ = el._,\n pathfinder = Snap.path.get[el.type] || Snap.path.get.deflt;\n try {\n if (isWithoutTransform) {\n _.bboxwt = pathfinder ? Snap.path.getBBox(el.realPath = pathfinder(el)) : Snap._.box(el.node.getBBox());\n return Snap._.box(_.bboxwt);\n } else {\n el.realPath = pathfinder(el);\n el.matrix = el.transform().localMatrix;\n _.bbox = Snap.path.getBBox(Snap.path.map(el.realPath, m.add(el.matrix)));\n return Snap._.box(_.bbox);\n }\n } catch (e) {\n // Firefox doesn’t give you bbox of hidden element\n return Snap._.box();\n }\n };\n var propString = function () {\n return this.string;\n };\n function extractTransform(el, tstr) {\n if (tstr == null) {\n var doReturn = true;\n if (el.type == \"linearGradient\" || el.type == \"radialGradient\") {\n tstr = el.node.getAttribute(\"gradientTransform\");\n } else if (el.type == \"pattern\") {\n tstr = el.node.getAttribute(\"patternTransform\");\n } else {\n tstr = el.node.getAttribute(\"transform\");\n }\n if (!tstr) {\n return new Snap.Matrix;\n }\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n if (!Snap._.rgTransform.test(tstr)) {\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n tstr = Str(tstr).replace(/\\.{3}|\\u2026/g, el._.transform || \"\");\n }\n if (is(tstr, \"array\")) {\n tstr = Snap.path ? Snap.path.toString.call(tstr) : Str(tstr);\n }\n el._.transform = tstr;\n }\n var m = Snap._.transform2matrix(tstr, el.getBBox(1));\n if (doReturn) {\n return m;\n } else {\n el.matrix = m;\n }\n }\n /*\\\n * Element.transform\n [ method ]\n **\n * Gets or sets transformation of the element\n **\n - tstr (string) transform string in Snap or SVG format\n = (Element) the current element\n * or\n = (object) transformation descriptor:\n o {\n o string (string) transform string,\n o globalMatrix (Matrix) matrix of all transformations applied to element or its parents,\n o localMatrix (Matrix) matrix of transformations applied only to the element,\n o diffMatrix (Matrix) matrix of difference between global and local transformations,\n o global (string) global transformation as string,\n o local (string) local transformation as string,\n o toString (function) returns `string` property\n o }\n \\*/\n elproto.transform = function (tstr) {\n var _ = this._;\n if (tstr == null) {\n var papa = this,\n global = new Snap.Matrix(this.node.getCTM()),\n local = extractTransform(this),\n ms = [local],\n m = new Snap.Matrix,\n i,\n localString = local.toTransformString(),\n string = Str(local) == Str(this.matrix) ?\n Str(_.transform) : localString;\n while (papa.type != \"svg\" && (papa = papa.parent())) {\n ms.push(extractTransform(papa));\n }\n i = ms.length;\n while (i--) {\n m.add(ms[i]);\n }\n return {\n string: string,\n globalMatrix: global,\n totalMatrix: m,\n localMatrix: local,\n diffMatrix: global.clone().add(local.invert()),\n global: global.toTransformString(),\n total: m.toTransformString(),\n local: localString,\n toString: propString\n };\n }\n if (tstr instanceof Snap.Matrix) {\n this.matrix = tstr;\n this._.transform = tstr.toTransformString();\n } else {\n extractTransform(this, tstr);\n }\n\n if (this.node) {\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\") {\n $(this.node, {gradientTransform: this.matrix});\n } else if (this.type == \"pattern\") {\n $(this.node, {patternTransform: this.matrix});\n } else {\n $(this.node, {transform: this.matrix});\n }\n }\n\n return this;\n };\n /*\\\n * Element.parent\n [ method ]\n **\n * Returns the element's parent\n **\n = (Element) the parent element\n \\*/\n elproto.parent = function () {\n return wrap(this.node.parentNode);\n };\n /*\\\n * Element.append\n [ method ]\n **\n * Appends the given element to current one\n **\n - el (Element|Set) element to append\n = (Element) the parent element\n \\*/\n /*\\\n * Element.add\n [ method ]\n **\n * See @Element.append\n \\*/\n elproto.append = elproto.add = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n it.add(el);\n });\n return this;\n }\n el = wrap(el);\n this.node.appendChild(el.node);\n el.paper = this.paper;\n }\n return this;\n };\n /*\\\n * Element.appendTo\n [ method ]\n **\n * Appends the current element to the given one\n **\n - el (Element) parent element to append to\n = (Element) the child element\n \\*/\n elproto.appendTo = function (el) {\n if (el) {\n el = wrap(el);\n el.append(this);\n }\n return this;\n };\n /*\\\n * Element.prepend\n [ method ]\n **\n * Prepends the given element to the current one\n **\n - el (Element) element to prepend\n = (Element) the parent element\n \\*/\n elproto.prepend = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this,\n first;\n el.forEach(function (el) {\n if (first) {\n first.after(el);\n } else {\n it.prepend(el);\n }\n first = el;\n });\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.insertBefore(el.node, this.node.firstChild);\n this.add && this.add();\n el.paper = this.paper;\n this.parent() && this.parent().add();\n parent && parent.add();\n }\n return this;\n };\n /*\\\n * Element.prependTo\n [ method ]\n **\n * Prepends the current element to the given one\n **\n - el (Element) parent element to prepend to\n = (Element) the child element\n \\*/\n elproto.prependTo = function (el) {\n el = wrap(el);\n el.prepend(this);\n return this;\n };\n /*\\\n * Element.before\n [ method ]\n **\n * Inserts given element before the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.before = function (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n var parent = el.parent();\n it.node.parentNode.insertBefore(el.node, it.node);\n parent && parent.add();\n });\n this.parent().add();\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.parentNode.insertBefore(el.node, this.node);\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.after\n [ method ]\n **\n * Inserts given element after the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.after = function (el) {\n el = wrap(el);\n var parent = el.parent();\n if (this.node.nextSibling) {\n this.node.parentNode.insertBefore(el.node, this.node.nextSibling);\n } else {\n this.node.parentNode.appendChild(el.node);\n }\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.insertBefore\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertBefore = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.insertAfter\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertAfter = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node.nextSibling);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.remove\n [ method ]\n **\n * Removes element from the DOM\n = (Element) the detached element\n \\*/\n elproto.remove = function () {\n var parent = this.parent();\n this.node.parentNode && this.node.parentNode.removeChild(this.node);\n delete this.paper;\n this.removed = true;\n parent && parent.add();\n return this;\n };\n /*\\\n * Element.select\n [ method ]\n **\n * Gathers the nested @Element matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Element) result of query selection\n \\*/\n elproto.select = function (query) {\n return wrap(this.node.querySelector(query));\n };\n /*\\\n * Element.selectAll\n [ method ]\n **\n * Gathers nested @Element objects matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Set|array) result of query selection\n \\*/\n elproto.selectAll = function (query) {\n var nodelist = this.node.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n };\n /*\\\n * Element.asPX\n [ method ]\n **\n * Returns given attribute of the element as a `px` value (not %, em, etc.)\n **\n - attr (string) attribute name\n - value (string) #optional attribute value\n = (Element) result of query selection\n \\*/\n elproto.asPX = function (attr, value) {\n if (value == null) {\n value = this.attr(attr);\n }\n return +unit2px(this, attr, value);\n };\n // SIERRA Element.use(): I suggest adding a note about how to access the original element the returned <use> instantiates. It's a part of SVG with which ordinary web developers may be least familiar.\n /*\\\n * Element.use\n [ method ]\n **\n * Creates a `<use>` element linked to the current element\n **\n = (Element) the `<use>` element\n \\*/\n elproto.use = function () {\n var use,\n id = this.node.id;\n if (!id) {\n id = this.id;\n $(this.node, {\n id: id\n });\n }\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\" ||\n this.type == \"pattern\") {\n use = make(this.type, this.node.parentNode);\n } else {\n use = make(\"use\", this.node.parentNode);\n }\n $(use.node, {\n \"xlink:href\": \"#\" + id\n });\n use.original = this;\n return use;\n };\n function fixids(el) {\n var els = el.selectAll(\"*\"),\n it,\n url = /^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,\n ids = [],\n uses = {};\n function urltest(it, name) {\n var val = $(it.node, name);\n val = val && val.match(url);\n val = val && val[2];\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n var attr = {};\n attr[name] = Snap.url(id);\n $(it.node, attr);\n });\n }\n }\n function linktest(it) {\n var val = $(it.node, \"xlink:href\");\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n it.attr(\"xlink:href\", \"#\" + id);\n });\n }\n }\n for (var i = 0, ii = els.length; i < ii; i++) {\n it = els[i];\n urltest(it, \"fill\");\n urltest(it, \"stroke\");\n urltest(it, \"filter\");\n urltest(it, \"mask\");\n urltest(it, \"clip-path\");\n linktest(it);\n var oldid = $(it.node, \"id\");\n if (oldid) {\n $(it.node, {id: it.id});\n ids.push({\n old: oldid,\n id: it.id\n });\n }\n }\n for (i = 0, ii = ids.length; i < ii; i++) {\n var fs = uses[ids[i].old];\n if (fs) {\n for (var j = 0, jj = fs.length; j < jj; j++) {\n fs[j](ids[i].id);\n }\n }\n }\n }\n /*\\\n * Element.clone\n [ method ]\n **\n * Creates a clone of the element and inserts it after the element\n **\n = (Element) the clone\n \\*/\n elproto.clone = function () {\n var clone = wrap(this.node.cloneNode(true));\n if ($(clone.node, \"id\")) {\n $(clone.node, {id: clone.id});\n }\n fixids(clone);\n clone.insertAfter(this);\n return clone;\n };\n /*\\\n * Element.toDefs\n [ method ]\n **\n * Moves element to the shared `<defs>` area\n **\n = (Element) the element\n \\*/\n elproto.toDefs = function () {\n var defs = getSomeDefs(this);\n defs.appendChild(this.node);\n return this;\n };\n /*\\\n * Element.toPattern\n [ method ]\n **\n * Creates a `<pattern>` element from the current element\n **\n * To create a pattern you have to specify the pattern rect:\n - x (string|number)\n - y (string|number)\n - width (string|number)\n - height (string|number)\n = (Element) the `<pattern>` element\n * You can use pattern later on as an argument for `fill` attribute:\n | var p = paper.path(\"M10-5-10,15M15,0,0,15M0-5-20,15\").attr({\n | fill: \"none\",\n | stroke: \"#bada55\",\n | strokeWidth: 5\n | }).pattern(0, 0, 10, 10),\n | c = paper.circle(200, 200, 100);\n | c.attr({\n | fill: p\n | });\n \\*/\n elproto.pattern = elproto.toPattern = function (x, y, width, height) {\n var p = make(\"pattern\", getSomeDefs(this));\n if (x == null) {\n x = this.getBBox();\n }\n if (is(x, \"object\") && \"x\" in x) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n $(p.node, {\n x: x,\n y: y,\n width: width,\n height: height,\n patternUnits: \"userSpaceOnUse\",\n id: p.id,\n viewBox: [x, y, width, height].join(\" \")\n });\n p.node.appendChild(this.node);\n return p;\n };\n// SIERRA Element.marker(): clarify what a reference point is. E.g., helps you offset the object from its edge such as when centering it over a path.\n// SIERRA Element.marker(): I suggest the method should accept default reference point values. Perhaps centered with (refX = width/2) and (refY = height/2)? Also, couldn't it assume the element's current _width_ and _height_? And please specify what _x_ and _y_ mean: offsets? If so, from where? Couldn't they also be assigned default values?\n /*\\\n * Element.marker\n [ method ]\n **\n * Creates a `<marker>` element from the current element\n **\n * To create a marker you have to specify the bounding rect and reference point:\n - x (number)\n - y (number)\n - width (number)\n - height (number)\n - refX (number)\n - refY (number)\n = (Element) the `<marker>` element\n * You can specify the marker later as an argument for `marker-start`, `marker-end`, `marker-mid`, and `marker` attributes. The `marker` attribute places the marker at every point along the path, and `marker-mid` places them at every point except the start and end.\n \\*/\n // TODO add usage for markers\n elproto.marker = function (x, y, width, height, refX, refY) {\n var p = make(\"marker\", getSomeDefs(this));\n if (x == null) {\n x = this.getBBox();\n }\n if (is(x, \"object\") && \"x\" in x) {\n y = x.y;\n width = x.width;\n height = x.height;\n refX = x.refX || x.cx;\n refY = x.refY || x.cy;\n x = x.x;\n }\n $(p.node, {\n viewBox: [x, y, width, height].join(\" \"),\n markerWidth: width,\n markerHeight: height,\n orient: \"auto\",\n refX: refX || 0,\n refY: refY || 0,\n id: p.id\n });\n p.node.appendChild(this.node);\n return p;\n };\n var eldata = {};\n /*\\\n * Element.data\n [ method ]\n **\n * Adds or retrieves given value associated with given key. (Don’t confuse\n * with `data-` attributes)\n *\n * See also @Element.removeData\n - key (string) key to store data\n - value (any) #optional value to store\n = (object) @Element\n * or, if value is not specified:\n = (any) value\n > Usage\n | for (var i = 0, i < 5, i++) {\n | paper.circle(10 + 15 * i, 10, 10)\n | .attr({fill: \"#000\"})\n | .data(\"i\", i)\n | .click(function () {\n | alert(this.data(\"i\"));\n | });\n | }\n \\*/\n elproto.data = function (key, value) {\n var data = eldata[this.id] = eldata[this.id] || {};\n if (arguments.length == 0){\n eve(\"snap.data.get.\" + this.id, this, data, null);\n return data;\n }\n if (arguments.length == 1) {\n if (Snap.is(key, \"object\")) {\n for (var i in key) if (key[has](i)) {\n this.data(i, key[i]);\n }\n return this;\n }\n eve(\"snap.data.get.\" + this.id, this, data[key], key);\n return data[key];\n }\n data[key] = value;\n eve(\"snap.data.set.\" + this.id, this, value, key);\n return this;\n };\n /*\\\n * Element.removeData\n [ method ]\n **\n * Removes value associated with an element by given key.\n * If key is not provided, removes all the data of the element.\n - key (string) #optional key\n = (object) @Element\n \\*/\n elproto.removeData = function (key) {\n if (key == null) {\n eldata[this.id] = {};\n } else {\n eldata[this.id] && delete eldata[this.id][key];\n }\n return this;\n };\n /*\\\n * Element.outerSVG\n [ method ]\n **\n * Returns SVG code for the element, equivalent to HTML's `outerHTML`.\n *\n * See also @Element.innerSVG\n = (string) SVG code for the element\n \\*/\n /*\\\n * Element.toString\n [ method ]\n **\n * See @Element.outerSVG\n \\*/\n elproto.outerSVG = elproto.toString = toString(1);\n /*\\\n * Element.innerSVG\n [ method ]\n **\n * Returns SVG code for the element's contents, equivalent to HTML's `innerHTML`\n = (string) SVG code for the element\n \\*/\n elproto.innerSVG = toString();\n function toString(type) {\n return function () {\n var res = type ? \"<\" + this.type : \"\",\n attr = this.node.attributes,\n chld = this.node.childNodes;\n if (type) {\n for (var i = 0, ii = attr.length; i < ii; i++) {\n res += \" \" + attr[i].name + '=\"' +\n attr[i].value.replace(/\"/g, '\\\\\"') + '\"';\n }\n }\n if (chld.length) {\n type && (res += \">\");\n for (i = 0, ii = chld.length; i < ii; i++) {\n if (chld[i].nodeType == 3) {\n res += chld[i].nodeValue;\n } else if (chld[i].nodeType == 1) {\n res += wrap(chld[i]).toString();\n }\n }\n type && (res += \"</\" + this.type + \">\");\n } else {\n type && (res += \"/>\");\n }\n return res;\n };\n }\n elproto.toDataURL = function () {\n if (window && window.btoa) {\n var bb = this.getBBox(),\n svg = Snap.format('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"{width}\" height=\"{height}\" viewBox=\"{x} {y} {width} {height}\">{contents}</svg>', {\n x: +bb.x.toFixed(3),\n y: +bb.y.toFixed(3),\n width: +bb.width.toFixed(3),\n height: +bb.height.toFixed(3),\n contents: this.outerSVG()\n });\n return \"data:image/svg+xml;base64,\" + btoa(unescape(encodeURIComponent(svg)));\n }\n };\n /*\\\n * Fragment.select\n [ method ]\n **\n * See @Element.select\n \\*/\n Fragment.prototype.select = elproto.select;\n /*\\\n * Fragment.selectAll\n [ method ]\n **\n * See @Element.selectAll\n \\*/\n Fragment.prototype.selectAll = elproto.selectAll;\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var objectToString = Object.prototype.toString,\n Str = String,\n math = Math,\n E = \"\";\n function Matrix(a, b, c, d, e, f) {\n if (b == null && objectToString.call(a) == \"[object SVGMatrix]\") {\n this.a = a.a;\n this.b = a.b;\n this.c = a.c;\n this.d = a.d;\n this.e = a.e;\n this.f = a.f;\n return;\n }\n if (a != null) {\n this.a = +a;\n this.b = +b;\n this.c = +c;\n this.d = +d;\n this.e = +e;\n this.f = +f;\n } else {\n this.a = 1;\n this.b = 0;\n this.c = 0;\n this.d = 1;\n this.e = 0;\n this.f = 0;\n }\n }\n (function (matrixproto) {\n /*\\\n * Matrix.add\n [ method ]\n **\n * Adds the given matrix to existing one\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - matrix (object) @Matrix\n \\*/\n matrixproto.add = function (a, b, c, d, e, f) {\n if (a && a instanceof Matrix) {\n return this.add(a.a, a.b, a.c, a.d, a.e, a.f);\n }\n var aNew = a * this.a + b * this.c,\n bNew = a * this.b + b * this.d;\n this.e += e * this.a + f * this.c;\n this.f += e * this.b + f * this.d;\n this.c = c * this.a + d * this.c;\n this.d = c * this.b + d * this.d;\n\n this.a = aNew;\n this.b = bNew;\n return this;\n };\n /*\\\n * Matrix.multLeft\n [ method ]\n **\n * Multiplies a passed affine transform to the left: M * this.\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - matrix (object) @Matrix\n \\*/\n Matrix.prototype.multLeft = function (a, b, c, d, e, f) {\n if (a && a instanceof Matrix) {\n return this.multLeft(a.a, a.b, a.c, a.d, a.e, a.f);\n }\n var aNew = a * this.a + c * this.b,\n cNew = a * this.c + c * this.d,\n eNew = a * this.e + c * this.f + e;\n this.b = b * this.a + d * this.b;\n this.d = b * this.c + d * this.d;\n this.f = b * this.e + d * this.f + f;\n\n this.a = aNew;\n this.c = cNew;\n this.e = eNew;\n return this;\n };\n /*\\\n * Matrix.invert\n [ method ]\n **\n * Returns an inverted version of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.invert = function () {\n var me = this,\n x = me.a * me.d - me.b * me.c;\n return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);\n };\n /*\\\n * Matrix.clone\n [ method ]\n **\n * Returns a copy of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.clone = function () {\n return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);\n };\n /*\\\n * Matrix.translate\n [ method ]\n **\n * Translate the matrix\n - x (number) horizontal offset distance\n - y (number) vertical offset distance\n \\*/\n matrixproto.translate = function (x, y) {\n this.e += x * this.a + y * this.c;\n this.f += x * this.b + y * this.d;\n return this;\n };\n /*\\\n * Matrix.scale\n [ method ]\n **\n * Scales the matrix\n - x (number) amount to be scaled, with `1` resulting in no change\n - y (number) #optional amount to scale along the vertical axis. (Otherwise `x` applies to both axes.)\n - cx (number) #optional horizontal origin point from which to scale\n - cy (number) #optional vertical origin point from which to scale\n * Default cx, cy is the middle point of the element.\n \\*/\n matrixproto.scale = function (x, y, cx, cy) {\n y == null && (y = x);\n (cx || cy) && this.translate(cx, cy);\n this.a *= x;\n this.b *= x;\n this.c *= y;\n this.d *= y;\n (cx || cy) && this.translate(-cx, -cy);\n return this;\n };\n /*\\\n * Matrix.rotate\n [ method ]\n **\n * Rotates the matrix\n - a (number) angle of rotation, in degrees\n - x (number) horizontal origin point from which to rotate\n - y (number) vertical origin point from which to rotate\n \\*/\n matrixproto.rotate = function (a, x, y) {\n a = Snap.rad(a);\n x = x || 0;\n y = y || 0;\n var cos = +math.cos(a).toFixed(9),\n sin = +math.sin(a).toFixed(9);\n this.add(cos, sin, -sin, cos, x, y);\n return this.add(1, 0, 0, 1, -x, -y);\n };\n /*\\\n * Matrix.skewX\n [ method ]\n **\n * Skews the matrix along the x-axis\n - x (number) Angle to skew along the x-axis (in degrees).\n \\*/\n matrixproto.skewX = function (x) {\n return this.skew(x, 0);\n };\n /*\\\n * Matrix.skewY\n [ method ]\n **\n * Skews the matrix along the y-axis\n - y (number) Angle to skew along the y-axis (in degrees).\n \\*/\n matrixproto.skewY = function (y) {\n return this.skew(0, y);\n };\n /*\\\n * Matrix.skew\n [ method ]\n **\n * Skews the matrix\n - y (number) Angle to skew along the y-axis (in degrees).\n - x (number) Angle to skew along the x-axis (in degrees).\n \\*/\n matrixproto.skew = function (x, y) {\n x = x || 0;\n y = y || 0;\n x = Snap.rad(x);\n y = Snap.rad(y);\n var c = math.tan(x).toFixed(9);\n var b = math.tan(y).toFixed(9);\n return this.add(1, b, c, 1, 0, 0);\n };\n /*\\\n * Matrix.x\n [ method ]\n **\n * Returns x coordinate for given point after transformation described by the matrix. See also @Matrix.y\n - x (number)\n - y (number)\n = (number) x\n \\*/\n matrixproto.x = function (x, y) {\n return x * this.a + y * this.c + this.e;\n };\n /*\\\n * Matrix.y\n [ method ]\n **\n * Returns y coordinate for given point after transformation described by the matrix. See also @Matrix.x\n - x (number)\n - y (number)\n = (number) y\n \\*/\n matrixproto.y = function (x, y) {\n return x * this.b + y * this.d + this.f;\n };\n matrixproto.get = function (i) {\n return +this[Str.fromCharCode(97 + i)].toFixed(4);\n };\n matrixproto.toString = function () {\n return \"matrix(\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + \")\";\n };\n matrixproto.offset = function () {\n return [this.e.toFixed(4), this.f.toFixed(4)];\n };\n function norm(a) {\n return a[0] * a[0] + a[1] * a[1];\n }\n function normalize(a) {\n var mag = math.sqrt(norm(a));\n a[0] && (a[0] /= mag);\n a[1] && (a[1] /= mag);\n }\n /*\\\n * Matrix.determinant\n [ method ]\n **\n * Finds determinant of the given matrix.\n = (number) determinant\n \\*/\n matrixproto.determinant = function () {\n return this.a * this.d - this.b * this.c;\n };\n /*\\\n * Matrix.split\n [ method ]\n **\n * Splits matrix into primitive transformations\n = (object) in format:\n o dx (number) translation by x\n o dy (number) translation by y\n o scalex (number) scale by x\n o scaley (number) scale by y\n o shear (number) shear\n o rotate (number) rotation in deg\n o isSimple (boolean) could it be represented via simple transformations\n \\*/\n matrixproto.split = function () {\n var out = {};\n // translation\n out.dx = this.e;\n out.dy = this.f;\n\n // scale and shear\n var row = [[this.a, this.b], [this.c, this.d]];\n out.scalex = math.sqrt(norm(row[0]));\n normalize(row[0]);\n\n out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];\n row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];\n\n out.scaley = math.sqrt(norm(row[1]));\n normalize(row[1]);\n out.shear /= out.scaley;\n\n if (this.determinant() < 0) {\n out.scalex = -out.scalex;\n }\n\n // rotation\n var sin = row[0][1],\n cos = row[1][1];\n if (cos < 0) {\n out.rotate = Snap.deg(math.acos(cos));\n if (sin < 0) {\n out.rotate = 360 - out.rotate;\n }\n } else {\n out.rotate = Snap.deg(math.asin(sin));\n }\n\n out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);\n out.isSuperSimple = !+out.shear.toFixed(9) && out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate;\n out.noRotation = !+out.shear.toFixed(9) && !out.rotate;\n return out;\n };\n /*\\\n * Matrix.toTransformString\n [ method ]\n **\n * Returns transform string that represents given matrix\n = (string) transform string\n \\*/\n matrixproto.toTransformString = function (shorter) {\n var s = shorter || this.split();\n if (!+s.shear.toFixed(9)) {\n s.scalex = +s.scalex.toFixed(4);\n s.scaley = +s.scaley.toFixed(4);\n s.rotate = +s.rotate.toFixed(4);\n return (s.dx || s.dy ? \"t\" + [+s.dx.toFixed(4), +s.dy.toFixed(4)] : E) +\n (s.rotate ? \"r\" + [+s.rotate.toFixed(4), 0, 0] : E) +\n (s.scalex != 1 || s.scaley != 1 ? \"s\" + [s.scalex, s.scaley, 0, 0] : E);\n } else {\n return \"m\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];\n }\n };\n })(Matrix.prototype);\n /*\\\n * Snap.Matrix\n [ method ]\n **\n * Matrix constructor, extend on your own risk.\n * To create matrices use @Snap.matrix.\n \\*/\n Snap.Matrix = Matrix;\n /*\\\n * Snap.matrix\n [ method ]\n **\n * Utility method\n **\n * Returns a matrix based on the given parameters\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - svgMatrix (SVGMatrix)\n = (object) @Matrix\n \\*/\n Snap.matrix = function (a, b, c, d, e, f) {\n return new Matrix(a, b, c, d, e, f);\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var has = \"hasOwnProperty\",\n make = Snap._.make,\n wrap = Snap._.wrap,\n is = Snap.is,\n getSomeDefs = Snap._.getSomeDefs,\n reURLValue = /^url\\((['\"]?)([^)]+)\\1\\)$/,\n $ = Snap._.$,\n URL = Snap.url,\n Str = String,\n separator = Snap._.separator,\n E = \"\";\n /*\\\n * Snap.deurl\n [ method ]\n **\n * Unwraps path from `\"url(<path>)\"`.\n - value (string) url path\n = (string) unwrapped path\n \\*/\n Snap.deurl = function (value) {\n var res = String(value).match(reURLValue);\n return res ? res[2] : value;\n }\n // Attributes event handlers\n eve.on(\"snap.util.attr.mask\", function (value) {\n if (value instanceof Element || value instanceof Fragment) {\n eve.stop();\n if (value instanceof Fragment && value.node.childNodes.length == 1) {\n value = value.node.firstChild;\n getSomeDefs(this).appendChild(value);\n value = wrap(value);\n }\n if (value.type == \"mask\") {\n var mask = value;\n } else {\n mask = make(\"mask\", getSomeDefs(this));\n mask.node.appendChild(value.node);\n }\n !mask.node.id && $(mask.node, {\n id: mask.id\n });\n $(this.node, {\n mask: URL(mask.id)\n });\n }\n });\n (function (clipIt) {\n eve.on(\"snap.util.attr.clip\", clipIt);\n eve.on(\"snap.util.attr.clip-path\", clipIt);\n eve.on(\"snap.util.attr.clipPath\", clipIt);\n }(function (value) {\n if (value instanceof Element || value instanceof Fragment) {\n eve.stop();\n var clip,\n node = value.node;\n while (node) {\n if (node.nodeName === \"clipPath\") {\n clip = new Element(node);\n break;\n }\n if (node.nodeName === \"svg\") {\n clip = undefined;\n break;\n }\n node = node.parentNode;\n }\n if (!clip) {\n clip = make(\"clipPath\", getSomeDefs(this));\n clip.node.appendChild(value.node);\n !clip.node.id && $(clip.node, {\n id: clip.id\n });\n }\n $(this.node, {\n \"clip-path\": URL(clip.node.id || clip.id)\n });\n }\n }));\n function fillStroke(name) {\n return function (value) {\n eve.stop();\n if (value instanceof Fragment && value.node.childNodes.length == 1 &&\n (value.node.firstChild.tagName == \"radialGradient\" ||\n value.node.firstChild.tagName == \"linearGradient\" ||\n value.node.firstChild.tagName == \"pattern\")) {\n value = value.node.firstChild;\n getSomeDefs(this).appendChild(value);\n value = wrap(value);\n }\n if (value instanceof Element) {\n if (value.type == \"radialGradient\" || value.type == \"linearGradient\"\n || value.type == \"pattern\") {\n if (!value.node.id) {\n $(value.node, {\n id: value.id\n });\n }\n var fill = URL(value.node.id);\n } else {\n fill = value.attr(name);\n }\n } else {\n fill = Snap.color(value);\n if (fill.error) {\n var grad = Snap(getSomeDefs(this).ownerSVGElement).gradient(value);\n if (grad) {\n if (!grad.node.id) {\n $(grad.node, {\n id: grad.id\n });\n }\n fill = URL(grad.node.id);\n } else {\n fill = value;\n }\n } else {\n fill = Str(fill);\n }\n }\n var attrs = {};\n attrs[name] = fill;\n $(this.node, attrs);\n this.node.style[name] = E;\n };\n }\n eve.on(\"snap.util.attr.fill\", fillStroke(\"fill\"));\n eve.on(\"snap.util.attr.stroke\", fillStroke(\"stroke\"));\n var gradrg = /^([lr])(?:\\(([^)]*)\\))?(.*)$/i;\n eve.on(\"snap.util.grad.parse\", function parseGrad(string) {\n string = Str(string);\n var tokens = string.match(gradrg);\n if (!tokens) {\n return null;\n }\n var type = tokens[1],\n params = tokens[2],\n stops = tokens[3];\n params = params.split(/\\s*,\\s*/).map(function (el) {\n return +el == el ? +el : el;\n });\n if (params.length == 1 && params[0] == 0) {\n params = [];\n }\n stops = stops.split(\"-\");\n stops = stops.map(function (el) {\n el = el.split(\":\");\n var out = {\n color: el[0]\n };\n if (el[1]) {\n out.offset = parseFloat(el[1]);\n }\n return out;\n });\n var len = stops.length,\n start = 0,\n j = 0;\n function seed(i, end) {\n var step = (end - start) / (i - j);\n for (var k = j; k < i; k++) {\n stops[k].offset = +(+start + step * (k - j)).toFixed(2);\n }\n j = i;\n start = end;\n }\n len--;\n for (var i = 0; i < len; i++) if (\"offset\" in stops[i]) {\n seed(i, stops[i].offset);\n }\n stops[len].offset = stops[len].offset || 100;\n seed(len, stops[len].offset);\n return {\n type: type,\n params: params,\n stops: stops\n };\n });\n\n eve.on(\"snap.util.attr.d\", function (value) {\n eve.stop();\n if (is(value, \"array\") && is(value[0], \"array\")) {\n value = Snap.path.toString.call(value);\n }\n value = Str(value);\n if (value.match(/[ruo]/i)) {\n value = Snap.path.toAbsolute(value);\n }\n $(this.node, {d: value});\n })(-1);\n eve.on(\"snap.util.attr.#text\", function (value) {\n eve.stop();\n value = Str(value);\n var txt = glob.doc.createTextNode(value);\n while (this.node.firstChild) {\n this.node.removeChild(this.node.firstChild);\n }\n this.node.appendChild(txt);\n })(-1);\n eve.on(\"snap.util.attr.path\", function (value) {\n eve.stop();\n this.attr({d: value});\n })(-1);\n eve.on(\"snap.util.attr.class\", function (value) {\n eve.stop();\n this.node.className.baseVal = value;\n })(-1);\n eve.on(\"snap.util.attr.viewBox\", function (value) {\n var vb;\n if (is(value, \"object\") && \"x\" in value) {\n vb = [value.x, value.y, value.width, value.height].join(\" \");\n } else if (is(value, \"array\")) {\n vb = value.join(\" \");\n } else {\n vb = value;\n }\n $(this.node, {\n viewBox: vb\n });\n eve.stop();\n })(-1);\n eve.on(\"snap.util.attr.transform\", function (value) {\n this.transform(value);\n eve.stop();\n })(-1);\n eve.on(\"snap.util.attr.r\", function (value) {\n if (this.type == \"rect\") {\n eve.stop();\n $(this.node, {\n rx: value,\n ry: value\n });\n }\n })(-1);\n eve.on(\"snap.util.attr.textpath\", function (value) {\n eve.stop();\n if (this.type == \"text\") {\n var id, tp, node;\n if (!value && this.textPath) {\n tp = this.textPath;\n while (tp.node.firstChild) {\n this.node.appendChild(tp.node.firstChild);\n }\n tp.remove();\n delete this.textPath;\n return;\n }\n if (is(value, \"string\")) {\n var defs = getSomeDefs(this),\n path = wrap(defs.parentNode).path(value);\n defs.appendChild(path.node);\n id = path.id;\n path.attr({id: id});\n } else {\n value = wrap(value);\n if (value instanceof Element) {\n id = value.attr(\"id\");\n if (!id) {\n id = value.id;\n value.attr({id: id});\n }\n }\n }\n if (id) {\n tp = this.textPath;\n node = this.node;\n if (tp) {\n tp.attr({\"xlink:href\": \"#\" + id});\n } else {\n tp = $(\"textPath\", {\n \"xlink:href\": \"#\" + id\n });\n while (node.firstChild) {\n tp.appendChild(node.firstChild);\n }\n node.appendChild(tp);\n this.textPath = wrap(tp);\n }\n }\n }\n })(-1);\n eve.on(\"snap.util.attr.text\", function (value) {\n if (this.type == \"text\") {\n var i = 0,\n node = this.node,\n tuner = function (chunk) {\n var out = $(\"tspan\");\n if (is(chunk, \"array\")) {\n for (var i = 0; i < chunk.length; i++) {\n out.appendChild(tuner(chunk[i]));\n }\n } else {\n out.appendChild(glob.doc.createTextNode(chunk));\n }\n out.normalize && out.normalize();\n return out;\n };\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n var tuned = tuner(value);\n while (tuned.firstChild) {\n node.appendChild(tuned.firstChild);\n }\n }\n eve.stop();\n })(-1);\n function setFontSize(value) {\n eve.stop();\n if (value == +value) {\n value += \"px\";\n }\n this.node.style.fontSize = value;\n }\n eve.on(\"snap.util.attr.fontSize\", setFontSize)(-1);\n eve.on(\"snap.util.attr.font-size\", setFontSize)(-1);\n\n\n eve.on(\"snap.util.getattr.transform\", function () {\n eve.stop();\n return this.transform();\n })(-1);\n eve.on(\"snap.util.getattr.textpath\", function () {\n eve.stop();\n return this.textPath;\n })(-1);\n // Markers\n (function () {\n function getter(end) {\n return function () {\n eve.stop();\n var style = glob.doc.defaultView.getComputedStyle(this.node, null).getPropertyValue(\"marker-\" + end);\n if (style == \"none\") {\n return style;\n } else {\n return Snap(glob.doc.getElementById(style.match(reURLValue)[1]));\n }\n };\n }\n function setter(end) {\n return function (value) {\n eve.stop();\n var name = \"marker\" + end.charAt(0).toUpperCase() + end.substring(1);\n if (value == \"\" || !value) {\n this.node.style[name] = \"none\";\n return;\n }\n if (value.type == \"marker\") {\n var id = value.node.id;\n if (!id) {\n $(value.node, {id: value.id});\n }\n this.node.style[name] = URL(id);\n return;\n }\n };\n }\n eve.on(\"snap.util.getattr.marker-end\", getter(\"end\"))(-1);\n eve.on(\"snap.util.getattr.markerEnd\", getter(\"end\"))(-1);\n eve.on(\"snap.util.getattr.marker-start\", getter(\"start\"))(-1);\n eve.on(\"snap.util.getattr.markerStart\", getter(\"start\"))(-1);\n eve.on(\"snap.util.getattr.marker-mid\", getter(\"mid\"))(-1);\n eve.on(\"snap.util.getattr.markerMid\", getter(\"mid\"))(-1);\n eve.on(\"snap.util.attr.marker-end\", setter(\"end\"))(-1);\n eve.on(\"snap.util.attr.markerEnd\", setter(\"end\"))(-1);\n eve.on(\"snap.util.attr.marker-start\", setter(\"start\"))(-1);\n eve.on(\"snap.util.attr.markerStart\", setter(\"start\"))(-1);\n eve.on(\"snap.util.attr.marker-mid\", setter(\"mid\"))(-1);\n eve.on(\"snap.util.attr.markerMid\", setter(\"mid\"))(-1);\n }());\n eve.on(\"snap.util.getattr.r\", function () {\n if (this.type == \"rect\" && $(this.node, \"rx\") == $(this.node, \"ry\")) {\n eve.stop();\n return $(this.node, \"rx\");\n }\n })(-1);\n function textExtract(node) {\n var out = [];\n var children = node.childNodes;\n for (var i = 0, ii = children.length; i < ii; i++) {\n var chi = children[i];\n if (chi.nodeType == 3) {\n out.push(chi.nodeValue);\n }\n if (chi.tagName == \"tspan\") {\n if (chi.childNodes.length == 1 && chi.firstChild.nodeType == 3) {\n out.push(chi.firstChild.nodeValue);\n } else {\n out.push(textExtract(chi));\n }\n }\n }\n return out;\n }\n eve.on(\"snap.util.getattr.text\", function () {\n if (this.type == \"text\" || this.type == \"tspan\") {\n eve.stop();\n var out = textExtract(this.node);\n return out.length == 1 ? out[0] : out;\n }\n })(-1);\n eve.on(\"snap.util.getattr.#text\", function () {\n return this.node.textContent;\n })(-1);\n eve.on(\"snap.util.getattr.fill\", function (internal) {\n if (internal) {\n return;\n }\n eve.stop();\n var value = eve(\"snap.util.getattr.fill\", this, true).firstDefined();\n return Snap(Snap.deurl(value)) || value;\n })(-1);\n eve.on(\"snap.util.getattr.stroke\", function (internal) {\n if (internal) {\n return;\n }\n eve.stop();\n var value = eve(\"snap.util.getattr.stroke\", this, true).firstDefined();\n return Snap(Snap.deurl(value)) || value;\n })(-1);\n eve.on(\"snap.util.getattr.viewBox\", function () {\n eve.stop();\n var vb = $(this.node, \"viewBox\");\n if (vb) {\n vb = vb.split(separator);\n return Snap._.box(+vb[0], +vb[1], +vb[2], +vb[3]);\n } else {\n return;\n }\n })(-1);\n eve.on(\"snap.util.getattr.points\", function () {\n var p = $(this.node, \"points\");\n eve.stop();\n if (p) {\n return p.split(separator);\n } else {\n return;\n }\n })(-1);\n eve.on(\"snap.util.getattr.path\", function () {\n var p = $(this.node, \"d\");\n eve.stop();\n return p;\n })(-1);\n eve.on(\"snap.util.getattr.class\", function () {\n return this.node.className.baseVal;\n })(-1);\n function getFontSize() {\n eve.stop();\n return this.node.style.fontSize;\n }\n eve.on(\"snap.util.getattr.fontSize\", getFontSize)(-1);\n eve.on(\"snap.util.getattr.font-size\", getFontSize)(-1);\n});\n\n// Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var rgNotSpace = /\\S+/g,\n rgBadSpace = /[\\t\\r\\n\\f]/g,\n rgTrim = /(^\\s+|\\s+$)/g,\n Str = String,\n elproto = Element.prototype;\n /*\\\n * Element.addClass\n [ method ]\n **\n * Adds given class name or list of class names to the element.\n - value (string) class name or space separated list of class names\n **\n = (Element) original element.\n \\*/\n elproto.addClass = function (value) {\n var classes = Str(value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n\n if (classes.length) {\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (!~pos) {\n curClasses.push(clazz);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n }\n return this;\n };\n /*\\\n * Element.removeClass\n [ method ]\n **\n * Removes given class name or list of class names from the element.\n - value (string) class name or space separated list of class names\n **\n = (Element) original element.\n \\*/\n elproto.removeClass = function (value) {\n var classes = Str(value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n if (curClasses.length) {\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (~pos) {\n curClasses.splice(pos, 1);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n }\n return this;\n };\n /*\\\n * Element.hasClass\n [ method ]\n **\n * Checks if the element has a given class name in the list of class names applied to it.\n - value (string) class name\n **\n = (boolean) `true` if the element has given class\n \\*/\n elproto.hasClass = function (value) {\n var elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [];\n return !!~curClasses.indexOf(value);\n };\n /*\\\n * Element.toggleClass\n [ method ]\n **\n * Add or remove one or more classes from the element, depending on either\n * the class’s presence or the value of the `flag` argument.\n - value (string) class name or space separated list of class names\n - flag (boolean) value to determine whether the class should be added or removed\n **\n = (Element) original element.\n \\*/\n elproto.toggleClass = function (value, flag) {\n if (flag != null) {\n if (flag) {\n return this.addClass(value);\n } else {\n return this.removeClass(value);\n }\n }\n var classes = (value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (~pos) {\n curClasses.splice(pos, 1);\n } else {\n curClasses.push(clazz);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n return this;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var operators = {\n \"+\": function (x, y) {\n return x + y;\n },\n \"-\": function (x, y) {\n return x - y;\n },\n \"/\": function (x, y) {\n return x / y;\n },\n \"*\": function (x, y) {\n return x * y;\n }\n },\n Str = String,\n reUnit = /[a-z]+$/i,\n reAddon = /^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;\n function getNumber(val) {\n return val;\n }\n function getUnit(unit) {\n return function (val) {\n return +val.toFixed(3) + unit;\n };\n }\n eve.on(\"snap.util.attr\", function (val) {\n var plus = Str(val).match(reAddon);\n if (plus) {\n var evnt = eve.nt(),\n name = evnt.substring(evnt.lastIndexOf(\".\") + 1),\n a = this.attr(name),\n atr = {};\n eve.stop();\n var unit = plus[3] || \"\",\n aUnit = a.match(reUnit),\n op = operators[plus[1]];\n if (aUnit && aUnit == unit) {\n val = op(parseFloat(a), +plus[2]);\n } else {\n a = this.asPX(name);\n val = op(this.asPX(name), this.asPX(name, plus[2] + unit));\n }\n if (isNaN(a) || isNaN(val)) {\n return;\n }\n atr[name] = val;\n this.attr(atr);\n }\n })(-10);\n eve.on(\"snap.util.equal\", function (name, b) {\n var A, B, a = Str(this.attr(name) || \"\"),\n el = this,\n bplus = Str(b).match(reAddon);\n if (bplus) {\n eve.stop();\n var unit = bplus[3] || \"\",\n aUnit = a.match(reUnit),\n op = operators[bplus[1]];\n if (aUnit && aUnit == unit) {\n return {\n from: parseFloat(a),\n to: op(parseFloat(a), +bplus[2]),\n f: getUnit(aUnit)\n };\n } else {\n a = this.asPX(name);\n return {\n from: a,\n to: op(a, this.asPX(name, bplus[2] + unit)),\n f: getNumber\n };\n }\n }\n })(-10);\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var proto = Paper.prototype,\n is = Snap.is;\n /*\\\n * Paper.rect\n [ method ]\n *\n * Draws a rectangle\n **\n - x (number) x coordinate of the top left corner\n - y (number) y coordinate of the top left corner\n - width (number) width\n - height (number) height\n - rx (number) #optional horizontal radius for rounded corners, default is 0\n - ry (number) #optional vertical radius for rounded corners, default is rx or 0\n = (object) the `rect` element\n **\n > Usage\n | // regular rectangle\n | var c = paper.rect(10, 10, 50, 50);\n | // rectangle with rounded corners\n | var c = paper.rect(40, 40, 50, 50, 10);\n \\*/\n proto.rect = function (x, y, w, h, rx, ry) {\n var attr;\n if (ry == null) {\n ry = rx;\n }\n if (is(x, \"object\") && x == \"[object Object]\") {\n attr = x;\n } else if (x != null) {\n attr = {\n x: x,\n y: y,\n width: w,\n height: h\n };\n if (rx != null) {\n attr.rx = rx;\n attr.ry = ry;\n }\n }\n return this.el(\"rect\", attr);\n };\n /*\\\n * Paper.circle\n [ method ]\n **\n * Draws a circle\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - r (number) radius\n = (object) the `circle` element\n **\n > Usage\n | var c = paper.circle(50, 50, 40);\n \\*/\n proto.circle = function (cx, cy, r) {\n var attr;\n if (is(cx, \"object\") && cx == \"[object Object]\") {\n attr = cx;\n } else if (cx != null) {\n attr = {\n cx: cx,\n cy: cy,\n r: r\n };\n }\n return this.el(\"circle\", attr);\n };\n\n var preload = (function () {\n function onerror() {\n this.parentNode.removeChild(this);\n }\n return function (src, f) {\n var img = glob.doc.createElement(\"img\"),\n body = glob.doc.body;\n img.style.cssText = \"position:absolute;left:-9999em;top:-9999em\";\n img.onload = function () {\n f.call(img);\n img.onload = img.onerror = null;\n body.removeChild(img);\n };\n img.onerror = onerror;\n body.appendChild(img);\n img.src = src;\n };\n }());\n\n /*\\\n * Paper.image\n [ method ]\n **\n * Places an image on the surface\n **\n - src (string) URI of the source image\n - x (number) x offset position\n - y (number) y offset position\n - width (number) width of the image\n - height (number) height of the image\n = (object) the `image` element\n * or\n = (object) Snap element object with type `image`\n **\n > Usage\n | var c = paper.image(\"apple.png\", 10, 10, 80, 80);\n \\*/\n proto.image = function (src, x, y, width, height) {\n var el = this.el(\"image\");\n if (is(src, \"object\") && \"src\" in src) {\n el.attr(src);\n } else if (src != null) {\n var set = {\n \"xlink:href\": src,\n preserveAspectRatio: \"none\"\n };\n if (x != null && y != null) {\n set.x = x;\n set.y = y;\n }\n if (width != null && height != null) {\n set.width = width;\n set.height = height;\n } else {\n preload(src, function () {\n Snap._.$(el.node, {\n width: this.offsetWidth,\n height: this.offsetHeight\n });\n });\n }\n Snap._.$(el.node, set);\n }\n return el;\n };\n /*\\\n * Paper.ellipse\n [ method ]\n **\n * Draws an ellipse\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - rx (number) horizontal radius\n - ry (number) vertical radius\n = (object) the `ellipse` element\n **\n > Usage\n | var c = paper.ellipse(50, 50, 40, 20);\n \\*/\n proto.ellipse = function (cx, cy, rx, ry) {\n var attr;\n if (is(cx, \"object\") && cx == \"[object Object]\") {\n attr = cx;\n } else if (cx != null) {\n attr ={\n cx: cx,\n cy: cy,\n rx: rx,\n ry: ry\n };\n }\n return this.el(\"ellipse\", attr);\n };\n // SIERRA Paper.path(): Unclear from the link what a Catmull-Rom curveto is, and why it would make life any easier.\n /*\\\n * Paper.path\n [ method ]\n **\n * Creates a `<path>` element using the given string as the path's definition\n - pathString (string) #optional path string in SVG format\n * Path string consists of one-letter commands, followed by comma seprarated arguments in numerical form. Example:\n | \"M10,20L30,40\"\n * This example features two commands: `M`, with arguments `(10, 20)` and `L` with arguments `(30, 40)`. Uppercase letter commands express coordinates in absolute terms, while lowercase commands express them in relative terms from the most recently declared coordinates.\n *\n # <p>Here is short list of commands available, for more details see <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" title=\"Details of a path's data attribute's format are described in the SVG specification.\">SVG path string format</a> or <a href=\"https://developer.mozilla.org/en/SVG/Tutorial/Paths\">article about path strings at MDN</a>.</p>\n # <table><thead><tr><th>Command</th><th>Name</th><th>Parameters</th></tr></thead><tbody>\n # <tr><td>M</td><td>moveto</td><td>(x y)+</td></tr>\n # <tr><td>Z</td><td>closepath</td><td>(none)</td></tr>\n # <tr><td>L</td><td>lineto</td><td>(x y)+</td></tr>\n # <tr><td>H</td><td>horizontal lineto</td><td>x+</td></tr>\n # <tr><td>V</td><td>vertical lineto</td><td>y+</td></tr>\n # <tr><td>C</td><td>curveto</td><td>(x1 y1 x2 y2 x y)+</td></tr>\n # <tr><td>S</td><td>smooth curveto</td><td>(x2 y2 x y)+</td></tr>\n # <tr><td>Q</td><td>quadratic Bézier curveto</td><td>(x1 y1 x y)+</td></tr>\n # <tr><td>T</td><td>smooth quadratic Bézier curveto</td><td>(x y)+</td></tr>\n # <tr><td>A</td><td>elliptical arc</td><td>(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+</td></tr>\n # <tr><td>R</td><td><a href=\"http://en.wikipedia.org/wiki/Catmull–Rom_spline#Catmull.E2.80.93Rom_spline\">Catmull-Rom curveto</a>*</td><td>x1 y1 (x y)+</td></tr></tbody></table>\n * * _Catmull-Rom curveto_ is a not standard SVG command and added to make life easier.\n * Note: there is a special case when a path consists of only three commands: `M10,10R…z`. In this case the path connects back to its starting point.\n > Usage\n | var c = paper.path(\"M10 10L90 90\");\n | // draw a diagonal line:\n | // move to 10,10, line to 90,90\n \\*/\n proto.path = function (d) {\n var attr;\n if (is(d, \"object\") && !is(d, \"array\")) {\n attr = d;\n } else if (d) {\n attr = {d: d};\n }\n return this.el(\"path\", attr);\n };\n /*\\\n * Paper.g\n [ method ]\n **\n * Creates a group element\n **\n - varargs (…) #optional elements to nest within the group\n = (object) the `g` element\n **\n > Usage\n | var c1 = paper.circle(),\n | c2 = paper.rect(),\n | g = paper.g(c2, c1); // note that the order of elements is different\n * or\n | var c1 = paper.circle(),\n | c2 = paper.rect(),\n | g = paper.g();\n | g.add(c2, c1);\n \\*/\n /*\\\n * Paper.group\n [ method ]\n **\n * See @Paper.g\n \\*/\n proto.group = proto.g = function (first) {\n var attr,\n el = this.el(\"g\");\n if (arguments.length == 1 && first && !first.type) {\n el.attr(first);\n } else if (arguments.length) {\n el.add(Array.prototype.slice.call(arguments, 0));\n }\n return el;\n };\n /*\\\n * Paper.svg\n [ method ]\n **\n * Creates a nested SVG element.\n - x (number) @optional X of the element\n - y (number) @optional Y of the element\n - width (number) @optional width of the element\n - height (number) @optional height of the element\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n **\n = (object) the `svg` element\n **\n \\*/\n proto.svg = function (x, y, width, height, vbx, vby, vbw, vbh) {\n var attrs = {};\n if (is(x, \"object\") && y == null) {\n attrs = x;\n } else {\n if (x != null) {\n attrs.x = x;\n }\n if (y != null) {\n attrs.y = y;\n }\n if (width != null) {\n attrs.width = width;\n }\n if (height != null) {\n attrs.height = height;\n }\n if (vbx != null && vby != null && vbw != null && vbh != null) {\n attrs.viewBox = [vbx, vby, vbw, vbh];\n }\n }\n return this.el(\"svg\", attrs);\n };\n /*\\\n * Paper.mask\n [ method ]\n **\n * Equivalent in behaviour to @Paper.g, except it’s a mask.\n **\n = (object) the `mask` element\n **\n \\*/\n proto.mask = function (first) {\n var attr,\n el = this.el(\"mask\");\n if (arguments.length == 1 && first && !first.type) {\n el.attr(first);\n } else if (arguments.length) {\n el.add(Array.prototype.slice.call(arguments, 0));\n }\n return el;\n };\n /*\\\n * Paper.ptrn\n [ method ]\n **\n * Equivalent in behaviour to @Paper.g, except it’s a pattern.\n - x (number) @optional X of the element\n - y (number) @optional Y of the element\n - width (number) @optional width of the element\n - height (number) @optional height of the element\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n **\n = (object) the `pattern` element\n **\n \\*/\n proto.ptrn = function (x, y, width, height, vx, vy, vw, vh) {\n if (is(x, \"object\")) {\n var attr = x;\n } else {\n attr = {patternUnits: \"userSpaceOnUse\"};\n if (x) {\n attr.x = x;\n }\n if (y) {\n attr.y = y;\n }\n if (width != null) {\n attr.width = width;\n }\n if (height != null) {\n attr.height = height;\n }\n if (vx != null && vy != null && vw != null && vh != null) {\n attr.viewBox = [vx, vy, vw, vh];\n } else {\n attr.viewBox = [x || 0, y || 0, width || 0, height || 0];\n }\n }\n return this.el(\"pattern\", attr);\n };\n /*\\\n * Paper.use\n [ method ]\n **\n * Creates a <use> element.\n - id (string) @optional id of element to link\n * or\n - id (Element) @optional element to link\n **\n = (object) the `use` element\n **\n \\*/\n proto.use = function (id) {\n if (id != null) {\n if (id instanceof Element) {\n if (!id.attr(\"id\")) {\n id.attr({id: Snap._.id(id)});\n }\n id = id.attr(\"id\");\n }\n if (String(id).charAt() == \"#\") {\n id = id.substring(1);\n }\n return this.el(\"use\", {\"xlink:href\": \"#\" + id});\n } else {\n return Element.prototype.use.call(this);\n }\n };\n /*\\\n * Paper.symbol\n [ method ]\n **\n * Creates a <symbol> element.\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n = (object) the `symbol` element\n **\n \\*/\n proto.symbol = function (vx, vy, vw, vh) {\n var attr = {};\n if (vx != null && vy != null && vw != null && vh != null) {\n attr.viewBox = [vx, vy, vw, vh];\n }\n\n return this.el(\"symbol\", attr);\n };\n /*\\\n * Paper.text\n [ method ]\n **\n * Draws a text string\n **\n - x (number) x coordinate position\n - y (number) y coordinate position\n - text (string|array) The text string to draw or array of strings to nest within separate `<tspan>` elements\n = (object) the `text` element\n **\n > Usage\n | var t1 = paper.text(50, 50, \"Snap\");\n | var t2 = paper.text(50, 50, [\"S\",\"n\",\"a\",\"p\"]);\n | // Text path usage\n | t1.attr({textpath: \"M10,10L100,100\"});\n | // or\n | var pth = paper.path(\"M10,10L100,100\");\n | t1.attr({textpath: pth});\n \\*/\n proto.text = function (x, y, text) {\n var attr = {};\n if (is(x, \"object\")) {\n attr = x;\n } else if (x != null) {\n attr = {\n x: x,\n y: y,\n text: text || \"\"\n };\n }\n return this.el(\"text\", attr);\n };\n /*\\\n * Paper.line\n [ method ]\n **\n * Draws a line\n **\n - x1 (number) x coordinate position of the start\n - y1 (number) y coordinate position of the start\n - x2 (number) x coordinate position of the end\n - y2 (number) y coordinate position of the end\n = (object) the `line` element\n **\n > Usage\n | var t1 = paper.line(50, 50, 100, 100);\n \\*/\n proto.line = function (x1, y1, x2, y2) {\n var attr = {};\n if (is(x1, \"object\")) {\n attr = x1;\n } else if (x1 != null) {\n attr = {\n x1: x1,\n x2: x2,\n y1: y1,\n y2: y2\n };\n }\n return this.el(\"line\", attr);\n };\n /*\\\n * Paper.polyline\n [ method ]\n **\n * Draws a polyline\n **\n - points (array) array of points\n * or\n - varargs (…) points\n = (object) the `polyline` element\n **\n > Usage\n | var p1 = paper.polyline([10, 10, 100, 100]);\n | var p2 = paper.polyline(10, 10, 100, 100);\n \\*/\n proto.polyline = function (points) {\n if (arguments.length > 1) {\n points = Array.prototype.slice.call(arguments, 0);\n }\n var attr = {};\n if (is(points, \"object\") && !is(points, \"array\")) {\n attr = points;\n } else if (points != null) {\n attr = {points: points};\n }\n return this.el(\"polyline\", attr);\n };\n /*\\\n * Paper.polygon\n [ method ]\n **\n * Draws a polygon. See @Paper.polyline\n \\*/\n proto.polygon = function (points) {\n if (arguments.length > 1) {\n points = Array.prototype.slice.call(arguments, 0);\n }\n var attr = {};\n if (is(points, \"object\") && !is(points, \"array\")) {\n attr = points;\n } else if (points != null) {\n attr = {points: points};\n }\n return this.el(\"polygon\", attr);\n };\n // gradients\n (function () {\n var $ = Snap._.$;\n // gradients' helpers\n /*\\\n * Element.stops\n [ method ]\n **\n * Only for gradients!\n * Returns array of gradient stops elements.\n = (array) the stops array.\n \\*/\n function Gstops() {\n return this.selectAll(\"stop\");\n }\n /*\\\n * Element.addStop\n [ method ]\n **\n * Only for gradients!\n * Adds another stop to the gradient.\n - color (string) stops color\n - offset (number) stops offset 0..100\n = (object) gradient element\n \\*/\n function GaddStop(color, offset) {\n var stop = $(\"stop\"),\n attr = {\n offset: +offset + \"%\"\n };\n color = Snap.color(color);\n attr[\"stop-color\"] = color.hex;\n if (color.opacity < 1) {\n attr[\"stop-opacity\"] = color.opacity;\n }\n $(stop, attr);\n var stops = this.stops(),\n inserted;\n for (var i = 0; i < stops.length; i++) {\n var stopOffset = parseFloat(stops[i].attr(\"offset\"));\n if (stopOffset > offset) {\n this.node.insertBefore(stop, stops[i].node);\n inserted = true;\n break;\n }\n }\n if (!inserted) {\n this.node.appendChild(stop);\n }\n return this;\n }\n function GgetBBox() {\n if (this.type == \"linearGradient\") {\n var x1 = $(this.node, \"x1\") || 0,\n x2 = $(this.node, \"x2\") || 1,\n y1 = $(this.node, \"y1\") || 0,\n y2 = $(this.node, \"y2\") || 0;\n return Snap._.box(x1, y1, math.abs(x2 - x1), math.abs(y2 - y1));\n } else {\n var cx = this.node.cx || .5,\n cy = this.node.cy || .5,\n r = this.node.r || 0;\n return Snap._.box(cx - r, cy - r, r * 2, r * 2);\n }\n }\n /*\\\n * Element.setStops\n [ method ]\n **\n * Only for gradients!\n * Updates stops of the gradient based on passed gradient descriptor. See @Ppaer.gradient\n - str (string) gradient descriptor part after `()`.\n = (object) gradient element\n | var g = paper.gradient(\"l(0, 0, 1, 1)#000-#f00-#fff\");\n | g.setStops(\"#fff-#000-#f00-#fc0\");\n \\*/\n function GsetStops(str) {\n var grad = str,\n stops = this.stops();\n if (typeof str == \"string\") {\n grad = eve(\"snap.util.grad.parse\", null, \"l(0,0,0,1)\" + str).firstDefined().stops;\n }\n if (!Snap.is(grad, \"array\")) {\n return;\n }\n for (var i = 0; i < stops.length; i++) {\n if (grad[i]) {\n var color = Snap.color(grad[i].color),\n attr = {\"offset\": grad[i].offset + \"%\"};\n attr[\"stop-color\"] = color.hex;\n if (color.opacity < 1) {\n attr[\"stop-opacity\"] = color.opacity;\n }\n stops[i].attr(attr);\n } else {\n stops[i].remove();\n }\n }\n for (i = stops.length; i < grad.length; i++) {\n this.addStop(grad[i].color, grad[i].offset);\n }\n return this;\n }\n function gradient(defs, str) {\n var grad = eve(\"snap.util.grad.parse\", null, str).firstDefined(),\n el;\n if (!grad) {\n return null;\n }\n grad.params.unshift(defs);\n if (grad.type.toLowerCase() == \"l\") {\n el = gradientLinear.apply(0, grad.params);\n } else {\n el = gradientRadial.apply(0, grad.params);\n }\n if (grad.type != grad.type.toLowerCase()) {\n $(el.node, {\n gradientUnits: \"userSpaceOnUse\"\n });\n }\n var stops = grad.stops,\n len = stops.length;\n for (var i = 0; i < len; i++) {\n var stop = stops[i];\n el.addStop(stop.color, stop.offset);\n }\n return el;\n }\n function gradientLinear(defs, x1, y1, x2, y2) {\n var el = Snap._.make(\"linearGradient\", defs);\n el.stops = Gstops;\n el.addStop = GaddStop;\n el.getBBox = GgetBBox;\n el.setStops = GsetStops;\n if (x1 != null) {\n $(el.node, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n }\n return el;\n }\n function gradientRadial(defs, cx, cy, r, fx, fy) {\n var el = Snap._.make(\"radialGradient\", defs);\n el.stops = Gstops;\n el.addStop = GaddStop;\n el.getBBox = GgetBBox;\n if (cx != null) {\n $(el.node, {\n cx: cx,\n cy: cy,\n r: r\n });\n }\n if (fx != null && fy != null) {\n $(el.node, {\n fx: fx,\n fy: fy\n });\n }\n return el;\n }\n /*\\\n * Paper.gradient\n [ method ]\n **\n * Creates a gradient element\n **\n - gradient (string) gradient descriptor\n > Gradient Descriptor\n * The gradient descriptor is an expression formatted as\n * follows: `<type>(<coords>)<colors>`. The `<type>` can be\n * either linear or radial. The uppercase `L` or `R` letters\n * indicate absolute coordinates offset from the SVG surface.\n * Lowercase `l` or `r` letters indicate coordinates\n * calculated relative to the element to which the gradient is\n * applied. Coordinates specify a linear gradient vector as\n * `x1`, `y1`, `x2`, `y2`, or a radial gradient as `cx`, `cy`,\n * `r` and optional `fx`, `fy` specifying a focal point away\n * from the center of the circle. Specify `<colors>` as a list\n * of dash-separated CSS color values. Each color may be\n * followed by a custom offset value, separated with a colon\n * character.\n > Examples\n * Linear gradient, relative from top-left corner to bottom-right\n * corner, from black through red to white:\n | var g = paper.gradient(\"l(0, 0, 1, 1)#000-#f00-#fff\");\n * Linear gradient, absolute from (0, 0) to (100, 100), from black\n * through red at 25% to white:\n | var g = paper.gradient(\"L(0, 0, 100, 100)#000-#f00:25-#fff\");\n * Radial gradient, relative from the center of the element with radius\n * half the width, from black to white:\n | var g = paper.gradient(\"r(0.5, 0.5, 0.5)#000-#fff\");\n * To apply the gradient:\n | paper.circle(50, 50, 40).attr({\n | fill: g\n | });\n = (object) the `gradient` element\n \\*/\n proto.gradient = function (str) {\n return gradient(this.defs, str);\n };\n proto.gradientLinear = function (x1, y1, x2, y2) {\n return gradientLinear(this.defs, x1, y1, x2, y2);\n };\n proto.gradientRadial = function (cx, cy, r, fx, fy) {\n return gradientRadial(this.defs, cx, cy, r, fx, fy);\n };\n /*\\\n * Paper.toString\n [ method ]\n **\n * Returns SVG code for the @Paper\n = (string) SVG code for the @Paper\n \\*/\n proto.toString = function () {\n var doc = this.node.ownerDocument,\n f = doc.createDocumentFragment(),\n d = doc.createElement(\"div\"),\n svg = this.node.cloneNode(true),\n res;\n f.appendChild(d);\n d.appendChild(svg);\n Snap._.$(svg, {xmlns: \"http://www.w3.org/2000/svg\"});\n res = d.innerHTML;\n f.removeChild(f.firstChild);\n return res;\n };\n /*\\\n * Paper.toDataURL\n [ method ]\n **\n * Returns SVG code for the @Paper as Data URI string.\n = (string) Data URI string\n \\*/\n proto.toDataURL = function () {\n if (window && window.btoa) {\n return \"data:image/svg+xml;base64,\" + btoa(unescape(encodeURIComponent(this)));\n }\n };\n /*\\\n * Paper.clear\n [ method ]\n **\n * Removes all child nodes of the paper, except <defs>.\n \\*/\n proto.clear = function () {\n var node = this.node.firstChild,\n next;\n while (node) {\n next = node.nextSibling;\n if (node.tagName != \"defs\") {\n node.parentNode.removeChild(node);\n } else {\n proto.clear.call({node: node});\n }\n node = next;\n }\n };\n }());\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n is = Snap.is,\n clone = Snap._.clone,\n has = \"hasOwnProperty\",\n p2s = /,?([a-z]),?/gi,\n toFloat = parseFloat,\n math = Math,\n PI = math.PI,\n mmin = math.min,\n mmax = math.max,\n pow = math.pow,\n abs = math.abs;\n function paths(ps) {\n var p = paths.ps = paths.ps || {};\n if (p[ps]) {\n p[ps].sleep = 100;\n } else {\n p[ps] = {\n sleep: 100\n };\n }\n setTimeout(function () {\n for (var key in p) if (p[has](key) && key != ps) {\n p[key].sleep--;\n !p[key].sleep && delete p[key];\n }\n });\n return p[ps];\n }\n function box(x, y, width, height) {\n if (x == null) {\n x = y = width = height = 0;\n }\n if (y == null) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n return {\n x: x,\n y: y,\n width: width,\n w: width,\n height: height,\n h: height,\n x2: x + width,\n y2: y + height,\n cx: x + width / 2,\n cy: y + height / 2,\n r1: math.min(width, height) / 2,\n r2: math.max(width, height) / 2,\n r0: math.sqrt(width * width + height * height) / 2,\n path: rectPath(x, y, width, height),\n vb: [x, y, width, height].join(\" \")\n };\n }\n function toString() {\n return this.join(\",\").replace(p2s, \"$1\");\n }\n function pathClone(pathArray) {\n var res = clone(pathArray);\n res.toString = toString;\n return res;\n }\n function getPointAtSegmentLength(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {\n if (length == null) {\n return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);\n } else {\n return findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y,\n getTotLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));\n }\n }\n function getLengthFactory(istotal, subpath) {\n function O(val) {\n return +(+val).toFixed(3);\n }\n return Snap._.cacher(function (path, length, onlystart) {\n if (path instanceof Element) {\n path = path.attr(\"d\");\n }\n path = path2curve(path);\n var x, y, p, l, sp = \"\", subpaths = {}, point,\n len = 0;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = +p[1];\n y = +p[2];\n } else {\n l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n if (len + l > length) {\n if (subpath && !subpaths.start) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n sp += [\n \"C\" + O(point.start.x),\n O(point.start.y),\n O(point.m.x),\n O(point.m.y),\n O(point.x),\n O(point.y)\n ];\n if (onlystart) {return sp;}\n subpaths.start = sp;\n sp = [\n \"M\" + O(point.x),\n O(point.y) + \"C\" + O(point.n.x),\n O(point.n.y),\n O(point.end.x),\n O(point.end.y),\n O(p[5]),\n O(p[6])\n ].join();\n len += l;\n x = +p[5];\n y = +p[6];\n continue;\n }\n if (!istotal && !subpath) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n return point;\n }\n }\n len += l;\n x = +p[5];\n y = +p[6];\n }\n sp += p.shift() + p;\n }\n subpaths.end = sp;\n point = istotal ? len : subpath ? subpaths : findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);\n return point;\n }, null, Snap._.clone);\n }\n var getTotalLength = getLengthFactory(1),\n getPointAtLength = getLengthFactory(),\n getSubpathsAtLength = getLengthFactory(0, 1);\n function findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t,\n t13 = pow(t1, 3),\n t12 = pow(t1, 2),\n t2 = t * t,\n t3 = t2 * t,\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y,\n mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x),\n my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y),\n nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x),\n ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y),\n ax = t1 * p1x + t * c1x,\n ay = t1 * p1y + t * c1y,\n cx = t1 * c2x + t * p2x,\n cy = t1 * c2y + t * p2y,\n alpha = 90 - math.atan2(mx - nx, my - ny) * 180 / PI;\n // (mx > nx || my < ny) && (alpha += 180);\n return {\n x: x,\n y: y,\n m: {x: mx, y: my},\n n: {x: nx, y: ny},\n start: {x: ax, y: ay},\n end: {x: cx, y: cy},\n alpha: alpha\n };\n }\n function bezierBBox(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\n if (!Snap.is(p1x, \"array\")) {\n p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];\n }\n var bbox = curveDim.apply(null, p1x);\n return box(\n bbox.min.x,\n bbox.min.y,\n bbox.max.x - bbox.min.x,\n bbox.max.y - bbox.min.y\n );\n }\n function isPointInsideBBox(bbox, x, y) {\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n }\n function isBBoxIntersect(bbox1, bbox2) {\n bbox1 = box(bbox1);\n bbox2 = box(bbox2);\n return isPointInsideBBox(bbox2, bbox1.x, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x, bbox1.y2)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y2)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2)\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x\n || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y\n || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\n }\n function base3(t, p1, p2, p3, p4) {\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n }\n function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\n if (z == null) {\n z = 1;\n }\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n var z2 = z / 2,\n n = 12,\n Tvalues = [-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],\n Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],\n sum = 0;\n for (var i = 0; i < n; i++) {\n var ct = z2 * Tvalues[i] + z2,\n xbase = base3(ct, x1, x2, x3, x4),\n ybase = base3(ct, y1, y2, y3, y4),\n comb = xbase * xbase + ybase * ybase;\n sum += Cvalues[i] * math.sqrt(comb);\n }\n return z2 * sum;\n }\n function getTotLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {\n if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {\n return;\n }\n var t = 1,\n step = t / 2,\n t2 = t - step,\n l,\n e = .01;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n while (abs(l - ll) > e) {\n step /= 2;\n t2 += (l < ll ? 1 : -1) * step;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n }\n return t2;\n }\n function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {\n if (\n mmax(x1, x2) < mmin(x3, x4) ||\n mmin(x1, x2) > mmax(x3, x4) ||\n mmax(y1, y2) < mmin(y3, y4) ||\n mmin(y1, y2) > mmax(y3, y4)\n ) {\n return;\n }\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n var px = nx / denominator,\n py = ny / denominator,\n px2 = +px.toFixed(2),\n py2 = +py.toFixed(2);\n if (\n px2 < +mmin(x1, x2).toFixed(2) ||\n px2 > +mmax(x1, x2).toFixed(2) ||\n px2 < +mmin(x3, x4).toFixed(2) ||\n px2 > +mmax(x3, x4).toFixed(2) ||\n py2 < +mmin(y1, y2).toFixed(2) ||\n py2 > +mmax(y1, y2).toFixed(2) ||\n py2 < +mmin(y3, y4).toFixed(2) ||\n py2 > +mmax(y3, y4).toFixed(2)\n ) {\n return;\n }\n return {x: px, y: py};\n }\n function inter(bez1, bez2) {\n return interHelper(bez1, bez2);\n }\n function interCount(bez1, bez2) {\n return interHelper(bez1, bez2, 1);\n }\n function interHelper(bez1, bez2, justCount) {\n var bbox1 = bezierBBox(bez1),\n bbox2 = bezierBBox(bez2);\n if (!isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n var l1 = bezlen.apply(0, bez1),\n l2 = bezlen.apply(0, bez2),\n n1 = ~~(l1 / 8),\n n2 = ~~(l2 / 8),\n dots1 = [],\n dots2 = [],\n xy = {},\n res = justCount ? 0 : [];\n for (var i = 0; i < n1 + 1; i++) {\n var p = findDotsAtSegment.apply(0, bez1.concat(i / n1));\n dots1.push({x: p.x, y: p.y, t: i / n1});\n }\n for (i = 0; i < n2 + 1; i++) {\n p = findDotsAtSegment.apply(0, bez2.concat(i / n2));\n dots2.push({x: p.x, y: p.y, t: i / n2});\n }\n for (i = 0; i < n1; i++) {\n for (var j = 0; j < n2; j++) {\n var di = dots1[i],\n di1 = dots1[i + 1],\n dj = dots2[j],\n dj1 = dots2[j + 1],\n ci = abs(di1.x - di.x) < .001 ? \"y\" : \"x\",\n cj = abs(dj1.x - dj.x) < .001 ? \"y\" : \"x\",\n is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);\n if (is) {\n if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {\n continue;\n }\n xy[is.x.toFixed(4)] = is.y.toFixed(4);\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) {\n if (justCount) {\n res++;\n } else {\n res.push({\n x: is.x,\n y: is.y,\n t1: t1,\n t2: t2\n });\n }\n }\n }\n }\n }\n return res;\n }\n function pathIntersection(path1, path2) {\n return interPathHelper(path1, path2);\n }\n function pathIntersectionNumber(path1, path2) {\n return interPathHelper(path1, path2, 1);\n }\n function interPathHelper(path1, path2, justCount) {\n path1 = path2curve(path1);\n path2 = path2curve(path2);\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\n res = justCount ? 0 : [];\n for (var i = 0, ii = path1.length; i < ii; i++) {\n var pi = path1[i];\n if (pi[0] == \"M\") {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n if (pi[0] == \"C\") {\n bez1 = [x1, y1].concat(pi.slice(1));\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];\n x1 = x1m;\n y1 = y1m;\n }\n for (var j = 0, jj = path2.length; j < jj; j++) {\n var pj = path2[j];\n if (pj[0] == \"M\") {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n if (pj[0] == \"C\") {\n bez2 = [x2, y2].concat(pj.slice(1));\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];\n x2 = x2m;\n y2 = y2m;\n }\n var intr = interHelper(bez1, bez2, justCount);\n if (justCount) {\n res += intr;\n } else {\n for (var k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n res = res.concat(intr);\n }\n }\n }\n }\n }\n return res;\n }\n function isPointInsidePath(path, x, y) {\n var bbox = pathBBox(path);\n return isPointInsideBBox(bbox, x, y) &&\n interPathHelper(path, [[\"M\", x, y], [\"H\", bbox.x2 + 10]], 1) % 2 == 1;\n }\n function pathBBox(path) {\n var pth = paths(path);\n if (pth.bbox) {\n return clone(pth.bbox);\n }\n if (!path) {\n return box();\n }\n path = path2curve(path);\n var x = 0,\n y = 0,\n X = [],\n Y = [],\n p;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = p[1];\n y = p[2];\n X.push(x);\n Y.push(y);\n } else {\n var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n X = X.concat(dim.min.x, dim.max.x);\n Y = Y.concat(dim.min.y, dim.max.y);\n x = p[5];\n y = p[6];\n }\n }\n var xmin = mmin.apply(0, X),\n ymin = mmin.apply(0, Y),\n xmax = mmax.apply(0, X),\n ymax = mmax.apply(0, Y),\n bb = box(xmin, ymin, xmax - xmin, ymax - ymin);\n pth.bbox = clone(bb);\n return bb;\n }\n function rectPath(x, y, w, h, r) {\n if (r) {\n return [\n [\"M\", +x + +r, y],\n [\"l\", w - r * 2, 0],\n [\"a\", r, r, 0, 0, 1, r, r],\n [\"l\", 0, h - r * 2],\n [\"a\", r, r, 0, 0, 1, -r, r],\n [\"l\", r * 2 - w, 0],\n [\"a\", r, r, 0, 0, 1, -r, -r],\n [\"l\", 0, r * 2 - h],\n [\"a\", r, r, 0, 0, 1, r, -r],\n [\"z\"]\n ];\n }\n var res = [[\"M\", x, y], [\"l\", w, 0], [\"l\", 0, h], [\"l\", -w, 0], [\"z\"]];\n res.toString = toString;\n return res;\n }\n function ellipsePath(x, y, rx, ry, a) {\n if (a == null && ry == null) {\n ry = rx;\n }\n x = +x;\n y = +y;\n rx = +rx;\n ry = +ry;\n if (a != null) {\n var rad = Math.PI / 180,\n x1 = x + rx * Math.cos(-ry * rad),\n x2 = x + rx * Math.cos(-a * rad),\n y1 = y + rx * Math.sin(-ry * rad),\n y2 = y + rx * Math.sin(-a * rad),\n res = [[\"M\", x1, y1], [\"A\", rx, rx, 0, +(a - ry > 180), 0, x2, y2]];\n } else {\n res = [\n [\"M\", x, y],\n [\"m\", 0, -ry],\n [\"a\", rx, ry, 0, 1, 1, 0, 2 * ry],\n [\"a\", rx, ry, 0, 1, 1, 0, -2 * ry],\n [\"z\"]\n ];\n }\n res.toString = toString;\n return res;\n }\n var unit2px = Snap._unit2px,\n getPath = {\n path: function (el) {\n return el.attr(\"path\");\n },\n circle: function (el) {\n var attr = unit2px(el);\n return ellipsePath(attr.cx, attr.cy, attr.r);\n },\n ellipse: function (el) {\n var attr = unit2px(el);\n return ellipsePath(attr.cx || 0, attr.cy || 0, attr.rx, attr.ry);\n },\n rect: function (el) {\n var attr = unit2px(el);\n return rectPath(attr.x || 0, attr.y || 0, attr.width, attr.height, attr.rx, attr.ry);\n },\n image: function (el) {\n var attr = unit2px(el);\n return rectPath(attr.x || 0, attr.y || 0, attr.width, attr.height);\n },\n line: function (el) {\n return \"M\" + [el.attr(\"x1\") || 0, el.attr(\"y1\") || 0, el.attr(\"x2\"), el.attr(\"y2\")];\n },\n polyline: function (el) {\n return \"M\" + el.attr(\"points\");\n },\n polygon: function (el) {\n return \"M\" + el.attr(\"points\") + \"z\";\n },\n deflt: function (el) {\n var bbox = el.node.getBBox();\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\n }\n };\n function pathToRelative(pathArray) {\n var pth = paths(pathArray),\n lowerCase = String.prototype.toLowerCase;\n if (pth.rel) {\n return pathClone(pth.rel);\n }\n if (!Snap.is(pathArray, \"array\") || !Snap.is(pathArray && pathArray[0], \"array\")) {\n pathArray = Snap.parsePathString(pathArray);\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0;\n if (pathArray[0][0] == \"M\") {\n x = pathArray[0][1];\n y = pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res.push([\"M\", x, y]);\n }\n for (var i = start, ii = pathArray.length; i < ii; i++) {\n var r = res[i] = [],\n pa = pathArray[i];\n if (pa[0] != lowerCase.call(pa[0])) {\n r[0] = lowerCase.call(pa[0]);\n switch (r[0]) {\n case \"a\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +(pa[6] - x).toFixed(3);\n r[7] = +(pa[7] - y).toFixed(3);\n break;\n case \"v\":\n r[1] = +(pa[1] - y).toFixed(3);\n break;\n case \"m\":\n mx = pa[1];\n my = pa[2];\n default:\n for (var j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +(pa[j] - (j % 2 ? x : y)).toFixed(3);\n }\n }\n } else {\n r = res[i] = [];\n if (pa[0] == \"m\") {\n mx = pa[1] + x;\n my = pa[2] + y;\n }\n for (var k = 0, kk = pa.length; k < kk; k++) {\n res[i][k] = pa[k];\n }\n }\n var len = res[i].length;\n switch (res[i][0]) {\n case \"z\":\n x = mx;\n y = my;\n break;\n case \"h\":\n x += +res[i][len - 1];\n break;\n case \"v\":\n y += +res[i][len - 1];\n break;\n default:\n x += +res[i][len - 2];\n y += +res[i][len - 1];\n }\n }\n res.toString = toString;\n pth.rel = pathClone(res);\n return res;\n }\n function pathToAbsolute(pathArray) {\n var pth = paths(pathArray);\n if (pth.abs) {\n return pathClone(pth.abs);\n }\n if (!is(pathArray, \"array\") || !is(pathArray && pathArray[0], \"array\")) { // rough assumption\n pathArray = Snap.parsePathString(pathArray);\n }\n if (!pathArray || !pathArray.length) {\n return [[\"M\", 0, 0]];\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0,\n pa0;\n if (pathArray[0][0] == \"M\") {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = [\"M\", x, y];\n }\n var crz = pathArray.length == 3 &&\n pathArray[0][0] == \"M\" &&\n pathArray[1][0].toUpperCase() == \"R\" &&\n pathArray[2][0].toUpperCase() == \"Z\";\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push(r = []);\n pa = pathArray[i];\n pa0 = pa[0];\n if (pa0 != pa0.toUpperCase()) {\n r[0] = pa0.toUpperCase();\n switch (r[0]) {\n case \"A\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case \"V\":\n r[1] = +pa[1] + y;\n break;\n case \"H\":\n r[1] = +pa[1] + x;\n break;\n case \"R\":\n var dots = [x, y].concat(pa.slice(1));\n for (var j = 2, jj = dots.length; j < jj; j++) {\n dots[j] = +dots[j] + x;\n dots[++j] = +dots[j] + y;\n }\n res.pop();\n res = res.concat(catmullRom2bezier(dots, crz));\n break;\n case \"O\":\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n break;\n case \"U\":\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = [\"U\"].concat(res[res.length - 1].slice(-2));\n break;\n case \"M\":\n mx = +pa[1] + x;\n my = +pa[2] + y;\n default:\n for (j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + (j % 2 ? x : y);\n }\n }\n } else if (pa0 == \"R\") {\n dots = [x, y].concat(pa.slice(1));\n res.pop();\n res = res.concat(catmullRom2bezier(dots, crz));\n r = [\"R\"].concat(pa.slice(-2));\n } else if (pa0 == \"O\") {\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n } else if (pa0 == \"U\") {\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = [\"U\"].concat(res[res.length - 1].slice(-2));\n } else {\n for (var k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n pa0 = pa0.toUpperCase();\n if (pa0 != \"O\") {\n switch (r[0]) {\n case \"Z\":\n x = +mx;\n y = +my;\n break;\n case \"H\":\n x = r[1];\n break;\n case \"V\":\n y = r[1];\n break;\n case \"M\":\n mx = r[r.length - 2];\n my = r[r.length - 1];\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n }\n res.toString = toString;\n pth.abs = pathClone(res);\n return res;\n }\n function l2c(x1, y1, x2, y2) {\n return [x1, y1, x2, y2, x2, y2];\n }\n function q2c(x1, y1, ax, ay, x2, y2) {\n var _13 = 1 / 3,\n _23 = 2 / 3;\n return [\n _13 * x1 + _23 * ax,\n _13 * y1 + _23 * ay,\n _13 * x2 + _23 * ax,\n _13 * y2 + _23 * ay,\n x2,\n y2\n ];\n }\n function a2c(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n var _120 = PI * 120 / 180,\n rad = PI / 180 * (+angle || 0),\n res = [],\n xy,\n rotate = Snap._.cacher(function (x, y, rad) {\n var X = x * math.cos(rad) - y * math.sin(rad),\n Y = x * math.sin(rad) + y * math.cos(rad);\n return {x: X, y: Y};\n });\n if (!rx || !ry) {\n return [x1, y1, x2, y2, x2, y2];\n }\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n var cos = math.cos(PI / 180 * angle),\n sin = math.sin(PI / 180 * angle),\n x = (x1 - x2) / 2,\n y = (y1 - y2) / 2;\n var h = x * x / (rx * rx) + y * y / (ry * ry);\n if (h > 1) {\n h = math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n var rx2 = rx * rx,\n ry2 = ry * ry,\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\n cx = k * rx * y / ry + (x1 + x2) / 2,\n cy = k * -ry * x / rx + (y1 + y2) / 2,\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? PI - f1 : f1;\n f2 = x2 < cx ? PI - f2 : f2;\n f1 < 0 && (f1 = PI * 2 + f1);\n f2 < 0 && (f2 = PI * 2 + f2);\n if (sweep_flag && f1 > f2) {\n f1 = f1 - PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n var df = f2 - f1;\n if (abs(df) > _120) {\n var f2old = f2,\n x2old = x2,\n y2old = y2;\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * math.cos(f2);\n y2 = cy + ry * math.sin(f2);\n res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n var c1 = math.cos(f1),\n s1 = math.sin(f1),\n c2 = math.cos(f2),\n s2 = math.sin(f2),\n t = math.tan(df / 4),\n hx = 4 / 3 * rx * t,\n hy = 4 / 3 * ry * t,\n m1 = [x1, y1],\n m2 = [x1 + hx * s1, y1 - hy * c1],\n m3 = [x2 + hx * s2, y2 - hy * c2],\n m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(res);\n } else {\n res = [m2, m3, m4].concat(res).join().split(\",\");\n var newres = [];\n for (var i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n return newres;\n }\n }\n function findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t;\n return {\n x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,\n y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y\n };\n }\n\n // Returns bounding box of cubic bezier curve.\n // Source: http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n // Original version: NISHIO Hirokazu\n // Modifications: https://github.com/timo22345\n function curveDim(x0, y0, x1, y1, x2, y2, x3, y3) {\n var tvalues = [],\n bounds = [[], []],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (var i = 0; i < 2; ++i) {\n if (i == 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length,\n jlen = j,\n mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n\n return {\n min: {x: mmin.apply(0, bounds[0]), y: mmin.apply(0, bounds[1])},\n max: {x: mmax.apply(0, bounds[0]), y: mmax.apply(0, bounds[1])}\n };\n }\n\n function path2curve(path, path2) {\n var pth = !path2 && paths(path);\n if (!path2 && pth.curve) {\n return pathClone(pth.curve);\n }\n var p = pathToAbsolute(path),\n p2 = path2 && pathToAbsolute(path2),\n attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n processPath = function (path, d, pcom) {\n var nx, ny;\n if (!path) {\n return [\"C\", d.x, d.y, d.x, d.y, d.x, d.y];\n }\n !(path[0] in {T: 1, Q: 1}) && (d.qx = d.qy = null);\n switch (path[0]) {\n case \"M\":\n d.X = path[1];\n d.Y = path[2];\n break;\n case \"A\":\n path = [\"C\"].concat(a2c.apply(0, [d.x, d.y].concat(path.slice(1))));\n break;\n case \"S\":\n if (pcom == \"C\" || pcom == \"S\") { // In \"S\" case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx; // And reflect the previous\n ny = d.y * 2 - d.by; // command's control point relative to the current point.\n }\n else { // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = [\"C\", nx, ny].concat(path.slice(1));\n break;\n case \"T\":\n if (pcom == \"Q\" || pcom == \"T\") { // In \"T\" case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx; // And make a reflection similar\n d.qy = d.y * 2 - d.qy; // to case \"S\".\n }\n else { // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = [\"C\"].concat(q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));\n break;\n case \"Q\":\n d.qx = path[1];\n d.qy = path[2];\n path = [\"C\"].concat(q2c(d.x, d.y, path[1], path[2], path[3], path[4]));\n break;\n case \"L\":\n path = [\"C\"].concat(l2c(d.x, d.y, path[1], path[2]));\n break;\n case \"H\":\n path = [\"C\"].concat(l2c(d.x, d.y, path[1], d.y));\n break;\n case \"V\":\n path = [\"C\"].concat(l2c(d.x, d.y, d.x, path[1]));\n break;\n case \"Z\":\n path = [\"C\"].concat(l2c(d.x, d.y, d.X, d.Y));\n break;\n }\n return path;\n },\n fixArc = function (pp, i) {\n if (pp[i].length > 7) {\n pp[i].shift();\n var pi = pp[i];\n while (pi.length) {\n pcoms1[i] = \"A\"; // if created multiple C:s, their original seg is saved\n p2 && (pcoms2[i] = \"A\"); // the same as above\n pp.splice(i++, 0, [\"C\"].concat(pi.splice(0, 6)));\n }\n pp.splice(i, 1);\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n fixM = function (path1, path2, a1, a2, i) {\n if (path1 && path2 && path1[i][0] == \"M\" && path2[i][0] != \"M\") {\n path2.splice(i, 0, [\"M\", a2.x, a2.y]);\n a1.bx = 0;\n a1.by = 0;\n a1.x = path1[i][1];\n a1.y = path1[i][2];\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n pcoms1 = [], // path commands of original path p\n pcoms2 = [], // path commands of original path p2\n pfirst = \"\", // temporary holder for original path command\n pcom = \"\"; // holder for previous path command of original path\n for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) {\n p[i] && (pfirst = p[i][0]); // save current path command\n\n if (pfirst != \"C\") // C is not saved yet, because it may be result of conversion\n {\n pcoms1[i] = pfirst; // Save current path command\n i && ( pcom = pcoms1[i - 1]); // Get previous path command pcom\n }\n p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath\n\n if (pcoms1[i] != \"A\" && pfirst == \"C\") pcoms1[i] = \"C\"; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1\n\n if (p2) { // the same procedures is done to p2\n p2[i] && (pfirst = p2[i][0]);\n if (pfirst != \"C\") {\n pcoms2[i] = pfirst;\n i && (pcom = pcoms2[i - 1]);\n }\n p2[i] = processPath(p2[i], attrs2, pcom);\n\n if (pcoms2[i] != \"A\" && pfirst == \"C\") {\n pcoms2[i] = \"C\";\n }\n\n fixArc(p2, i);\n }\n fixM(p, p2, attrs, attrs2, i);\n fixM(p2, p, attrs2, attrs, i);\n var seg = p[i],\n seg2 = p2 && p2[i],\n seglen = seg.length,\n seg2len = p2 && seg2.length;\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\n attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);\n attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);\n attrs2.x = p2 && seg2[seg2len - 2];\n attrs2.y = p2 && seg2[seg2len - 1];\n }\n if (!p2) {\n pth.curve = pathClone(p);\n }\n return p2 ? [p, p2] : p;\n }\n function mapPath(path, matrix) {\n if (!matrix) {\n return path;\n }\n var x, y, i, j, ii, jj, pathi;\n path = path2curve(path);\n for (i = 0, ii = path.length; i < ii; i++) {\n pathi = path[i];\n for (j = 1, jj = pathi.length; j < jj; j += 2) {\n x = matrix.x(pathi[j], pathi[j + 1]);\n y = matrix.y(pathi[j], pathi[j + 1]);\n pathi[j] = x;\n pathi[j + 1] = y;\n }\n }\n return path;\n }\n\n // http://schepers.cc/getting-to-the-point\n function catmullRom2bezier(crp, z) {\n var d = [];\n for (var i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) {\n var p = [\n {x: +crp[i - 2], y: +crp[i - 1]},\n {x: +crp[i], y: +crp[i + 1]},\n {x: +crp[i + 2], y: +crp[i + 3]},\n {x: +crp[i + 4], y: +crp[i + 5]}\n ];\n if (z) {\n if (!i) {\n p[0] = {x: +crp[iLen - 2], y: +crp[iLen - 1]};\n } else if (iLen - 4 == i) {\n p[3] = {x: +crp[0], y: +crp[1]};\n } else if (iLen - 2 == i) {\n p[2] = {x: +crp[0], y: +crp[1]};\n p[3] = {x: +crp[2], y: +crp[3]};\n }\n } else {\n if (iLen - 4 == i) {\n p[3] = p[2];\n } else if (!i) {\n p[0] = {x: +crp[i], y: +crp[i + 1]};\n }\n }\n d.push([\"C\",\n (-p[0].x + 6 * p[1].x + p[2].x) / 6,\n (-p[0].y + 6 * p[1].y + p[2].y) / 6,\n (p[1].x + 6 * p[2].x - p[3].x) / 6,\n (p[1].y + 6*p[2].y - p[3].y) / 6,\n p[2].x,\n p[2].y\n ]);\n }\n\n return d;\n }\n\n // export\n Snap.path = paths;\n\n /*\\\n * Snap.path.getTotalLength\n [ method ]\n **\n * Returns the length of the given path in pixels\n **\n - path (string) SVG path string\n **\n = (number) length\n \\*/\n Snap.path.getTotalLength = getTotalLength;\n /*\\\n * Snap.path.getPointAtLength\n [ method ]\n **\n * Returns the coordinates of the point located at the given length along the given path\n **\n - path (string) SVG path string\n - length (number) length, in pixels, from the start of the path, excluding non-rendering jumps\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate,\n o y: (number) y coordinate,\n o alpha: (number) angle of derivative\n o }\n \\*/\n Snap.path.getPointAtLength = getPointAtLength;\n /*\\\n * Snap.path.getSubpath\n [ method ]\n **\n * Returns the subpath of a given path between given start and end lengths\n **\n - path (string) SVG path string\n - from (number) length, in pixels, from the start of the path to the start of the segment\n - to (number) length, in pixels, from the start of the path to the end of the segment\n **\n = (string) path string definition for the segment\n \\*/\n Snap.path.getSubpath = function (path, from, to) {\n if (this.getTotalLength(path) - to < 1e-6) {\n return getSubpathsAtLength(path, from).end;\n }\n var a = getSubpathsAtLength(path, to, 1);\n return from ? getSubpathsAtLength(a, from).end : a;\n };\n /*\\\n * Element.getTotalLength\n [ method ]\n **\n * Returns the length of the path in pixels (only works for `path` elements)\n = (number) length\n \\*/\n elproto.getTotalLength = function () {\n if (this.node.getTotalLength) {\n return this.node.getTotalLength();\n }\n };\n // SIERRA Element.getPointAtLength()/Element.getTotalLength(): If a <path> is broken into different segments, is the jump distance to the new coordinates set by the _M_ or _m_ commands calculated as part of the path's total length?\n /*\\\n * Element.getPointAtLength\n [ method ]\n **\n * Returns coordinates of the point located at the given length on the given path (only works for `path` elements)\n **\n - length (number) length, in pixels, from the start of the path, excluding non-rendering jumps\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate,\n o y: (number) y coordinate,\n o alpha: (number) angle of derivative\n o }\n \\*/\n elproto.getPointAtLength = function (length) {\n return getPointAtLength(this.attr(\"d\"), length);\n };\n // SIERRA Element.getSubpath(): Similar to the problem for Element.getPointAtLength(). Unclear how this would work for a segmented path. Overall, the concept of _subpath_ and what I'm calling a _segment_ (series of non-_M_ or _Z_ commands) is unclear.\n /*\\\n * Element.getSubpath\n [ method ]\n **\n * Returns subpath of a given element from given start and end lengths (only works for `path` elements)\n **\n - from (number) length, in pixels, from the start of the path to the start of the segment\n - to (number) length, in pixels, from the start of the path to the end of the segment\n **\n = (string) path string definition for the segment\n \\*/\n elproto.getSubpath = function (from, to) {\n return Snap.path.getSubpath(this.attr(\"d\"), from, to);\n };\n Snap._.box = box;\n /*\\\n * Snap.path.findDotsAtSegment\n [ method ]\n **\n * Utility method\n **\n * Finds dot coordinates on the given cubic beziér curve at the given t\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n - t (number) position on the curve (0..1)\n = (object) point information in format:\n o {\n o x: (number) x coordinate of the point,\n o y: (number) y coordinate of the point,\n o m: {\n o x: (number) x coordinate of the left anchor,\n o y: (number) y coordinate of the left anchor\n o },\n o n: {\n o x: (number) x coordinate of the right anchor,\n o y: (number) y coordinate of the right anchor\n o },\n o start: {\n o x: (number) x coordinate of the start of the curve,\n o y: (number) y coordinate of the start of the curve\n o },\n o end: {\n o x: (number) x coordinate of the end of the curve,\n o y: (number) y coordinate of the end of the curve\n o },\n o alpha: (number) angle of the curve derivative at the point\n o }\n \\*/\n Snap.path.findDotsAtSegment = findDotsAtSegment;\n /*\\\n * Snap.path.bezierBBox\n [ method ]\n **\n * Utility method\n **\n * Returns the bounding box of a given cubic beziér curve\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n * or\n - bez (array) array of six points for beziér curve\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box,\n o y: (number) y coordinate of the left top point of the box,\n o x2: (number) x coordinate of the right bottom point of the box,\n o y2: (number) y coordinate of the right bottom point of the box,\n o width: (number) width of the box,\n o height: (number) height of the box\n o }\n \\*/\n Snap.path.bezierBBox = bezierBBox;\n /*\\\n * Snap.path.isPointInsideBBox\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside bounding box\n - bbox (string) bounding box\n - x (string) x coordinate of the point\n - y (string) y coordinate of the point\n = (boolean) `true` if point is inside\n \\*/\n Snap.path.isPointInsideBBox = isPointInsideBBox;\n Snap.closest = function (x, y, X, Y) {\n var r = 100,\n b = box(x - r / 2, y - r / 2, r, r),\n inside = [],\n getter = X[0].hasOwnProperty(\"x\") ? function (i) {\n return {\n x: X[i].x,\n y: X[i].y\n };\n } : function (i) {\n return {\n x: X[i],\n y: Y[i]\n };\n },\n found = 0;\n while (r <= 1e6 && !found) {\n for (var i = 0, ii = X.length; i < ii; i++) {\n var xy = getter(i);\n if (isPointInsideBBox(b, xy.x, xy.y)) {\n found++;\n inside.push(xy);\n break;\n }\n }\n if (!found) {\n r *= 2;\n b = box(x - r / 2, y - r / 2, r, r)\n }\n }\n if (r == 1e6) {\n return;\n }\n var len = Infinity,\n res;\n for (i = 0, ii = inside.length; i < ii; i++) {\n var l = Snap.len(x, y, inside[i].x, inside[i].y);\n if (len > l) {\n len = l;\n inside[i].len = l;\n res = inside[i];\n }\n }\n return res;\n };\n /*\\\n * Snap.path.isBBoxIntersect\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if two bounding boxes intersect\n - bbox1 (string) first bounding box\n - bbox2 (string) second bounding box\n = (boolean) `true` if bounding boxes intersect\n \\*/\n Snap.path.isBBoxIntersect = isBBoxIntersect;\n /*\\\n * Snap.path.intersection\n [ method ]\n **\n * Utility method\n **\n * Finds intersections of two paths\n - path1 (string) path string\n - path2 (string) path string\n = (array) dots of intersection\n o [\n o {\n o x: (number) x coordinate of the point,\n o y: (number) y coordinate of the point,\n o t1: (number) t value for segment of path1,\n o t2: (number) t value for segment of path2,\n o segment1: (number) order number for segment of path1,\n o segment2: (number) order number for segment of path2,\n o bez1: (array) eight coordinates representing beziér curve for the segment of path1,\n o bez2: (array) eight coordinates representing beziér curve for the segment of path2\n o }\n o ]\n \\*/\n Snap.path.intersection = pathIntersection;\n Snap.path.intersectionNumber = pathIntersectionNumber;\n /*\\\n * Snap.path.isPointInside\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside a given closed path.\n *\n * Note: fill mode doesn’t affect the result of this method.\n - path (string) path string\n - x (number) x of the point\n - y (number) y of the point\n = (boolean) `true` if point is inside the path\n \\*/\n Snap.path.isPointInside = isPointInsidePath;\n /*\\\n * Snap.path.getBBox\n [ method ]\n **\n * Utility method\n **\n * Returns the bounding box of a given path\n - path (string) path string\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box,\n o y: (number) y coordinate of the left top point of the box,\n o x2: (number) x coordinate of the right bottom point of the box,\n o y2: (number) y coordinate of the right bottom point of the box,\n o width: (number) width of the box,\n o height: (number) height of the box\n o }\n \\*/\n Snap.path.getBBox = pathBBox;\n Snap.path.get = getPath;\n /*\\\n * Snap.path.toRelative\n [ method ]\n **\n * Utility method\n **\n * Converts path coordinates into relative values\n - path (string) path string\n = (array) path string\n \\*/\n Snap.path.toRelative = pathToRelative;\n /*\\\n * Snap.path.toAbsolute\n [ method ]\n **\n * Utility method\n **\n * Converts path coordinates into absolute values\n - path (string) path string\n = (array) path string\n \\*/\n Snap.path.toAbsolute = pathToAbsolute;\n /*\\\n * Snap.path.toCubic\n [ method ]\n **\n * Utility method\n **\n * Converts path to a new path where all segments are cubic beziér curves\n - pathString (string|array) path string or array of segments\n = (array) array of segments\n \\*/\n Snap.path.toCubic = path2curve;\n /*\\\n * Snap.path.map\n [ method ]\n **\n * Transform the path string with the given matrix\n - path (string) path string\n - matrix (object) see @Matrix\n = (string) transformed path string\n \\*/\n Snap.path.map = mapPath;\n Snap.path.toString = toString;\n Snap.path.clone = pathClone;\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var mmax = Math.max,\n mmin = Math.min;\n\n // Set\n var Set = function (items) {\n this.items = [];\n\tthis.bindings = {};\n this.length = 0;\n this.type = \"set\";\n if (items) {\n for (var i = 0, ii = items.length; i < ii; i++) {\n if (items[i]) {\n this[this.items.length] = this.items[this.items.length] = items[i];\n this.length++;\n }\n }\n }\n },\n setproto = Set.prototype;\n /*\\\n * Set.push\n [ method ]\n **\n * Adds each argument to the current set\n = (object) original element\n \\*/\n setproto.push = function () {\n var item,\n len;\n for (var i = 0, ii = arguments.length; i < ii; i++) {\n item = arguments[i];\n if (item) {\n len = this.items.length;\n this[len] = this.items[len] = item;\n this.length++;\n }\n }\n return this;\n };\n /*\\\n * Set.pop\n [ method ]\n **\n * Removes last element and returns it\n = (object) element\n \\*/\n setproto.pop = function () {\n this.length && delete this[this.length--];\n return this.items.pop();\n };\n /*\\\n * Set.forEach\n [ method ]\n **\n * Executes given function for each element in the set\n *\n * If the function returns `false`, the loop stops running.\n **\n - callback (function) function to run\n - thisArg (object) context object for the callback\n = (object) Set object\n \\*/\n setproto.forEach = function (callback, thisArg) {\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n if (callback.call(thisArg, this.items[i], i) === false) {\n return this;\n }\n }\n return this;\n };\n /*\\\n * Set.animate\n [ method ]\n **\n * Animates each element in set in sync.\n *\n **\n - attrs (object) key-value pairs of destination attributes\n - duration (number) duration of the animation in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function that executes when the animation ends\n * or\n - animation (array) array of animation parameter for each element in set in format `[attrs, duration, easing, callback]`\n > Usage\n | // animate all elements in set to radius 10\n | set.animate({r: 10}, 500, mina.easein);\n | // or\n | // animate first element to radius 10, but second to radius 20 and in different time\n | set.animate([{r: 10}, 500, mina.easein], [{r: 20}, 1500, mina.easein]);\n = (Element) the current element\n \\*/\n setproto.animate = function (attrs, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n if (attrs instanceof Snap._.Animation) {\n callback = attrs.callback;\n easing = attrs.easing;\n ms = easing.dur;\n attrs = attrs.attr;\n }\n var args = arguments;\n if (Snap.is(attrs, \"array\") && Snap.is(args[args.length - 1], \"array\")) {\n var each = true;\n }\n var begin,\n handler = function () {\n if (begin) {\n this.b = begin;\n } else {\n begin = this.b;\n }\n },\n cb = 0,\n set = this,\n callbacker = callback && function () {\n if (++cb == set.length) {\n callback.call(this);\n }\n };\n return this.forEach(function (el, i) {\n eve.once(\"snap.animcreated.\" + el.id, handler);\n if (each) {\n args[i] && el.animate.apply(el, args[i]);\n } else {\n el.animate(attrs, ms, easing, callbacker);\n }\n });\n };\n /*\\\n * Set.remove\n [ method ]\n **\n * Removes all children of the set.\n *\n = (object) Set object\n \\*/\n setproto.remove = function () {\n while (this.length) {\n this.pop().remove();\n }\n return this;\n };\n /*\\\n * Set.bind\n [ method ]\n **\n * Specifies how to handle a specific attribute when applied\n * to a set.\n *\n **\n - attr (string) attribute name\n - callback (function) function to run\n * or\n - attr (string) attribute name\n - element (Element) specific element in the set to apply the attribute to\n * or\n - attr (string) attribute name\n - element (Element) specific element in the set to apply the attribute to\n - eattr (string) attribute on the element to bind the attribute to\n = (object) Set object\n \\*/\n setproto.bind = function (attr, a, b) {\n var data = {};\n if (typeof a == \"function\") {\n this.bindings[attr] = a;\n } else {\n var aname = b || attr;\n this.bindings[attr] = function (v) {\n data[aname] = v;\n a.attr(data);\n };\n }\n return this;\n };\n /*\\\n * Set.attr\n [ method ]\n **\n * Equivalent of @Element.attr.\n = (object) Set object\n \\*/\n setproto.attr = function (value) {\n var unbound = {};\n for (var k in value) {\n if (this.bindings[k]) {\n this.bindings[k](value[k]);\n } else {\n unbound[k] = value[k];\n }\n }\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n this.items[i].attr(unbound);\n }\n return this;\n };\n /*\\\n * Set.clear\n [ method ]\n **\n * Removes all elements from the set\n \\*/\n setproto.clear = function () {\n while (this.length) {\n this.pop();\n }\n };\n /*\\\n * Set.splice\n [ method ]\n **\n * Removes range of elements from the set\n **\n - index (number) position of the deletion\n - count (number) number of element to remove\n - insertion… (object) #optional elements to insert\n = (object) set elements that were deleted\n \\*/\n setproto.splice = function (index, count, insertion) {\n index = index < 0 ? mmax(this.length + index, 0) : index;\n count = mmax(0, mmin(this.length - index, count));\n var tail = [],\n todel = [],\n args = [],\n i;\n for (i = 2; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n for (i = 0; i < count; i++) {\n todel.push(this[index + i]);\n }\n for (; i < this.length - index; i++) {\n tail.push(this[index + i]);\n }\n var arglen = args.length;\n for (i = 0; i < arglen + tail.length; i++) {\n this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];\n }\n i = this.items.length = this.length -= count - arglen;\n while (this[i]) {\n delete this[i++];\n }\n return new Set(todel);\n };\n /*\\\n * Set.exclude\n [ method ]\n **\n * Removes given element from the set\n **\n - element (object) element to remove\n = (boolean) `true` if object was found and removed from the set\n \\*/\n setproto.exclude = function (el) {\n for (var i = 0, ii = this.length; i < ii; i++) if (this[i] == el) {\n this.splice(i, 1);\n return true;\n }\n return false;\n };\n /*\\\n * Set.insertAfter\n [ method ]\n **\n * Inserts set elements after given element.\n **\n - element (object) set will be inserted after this element\n = (object) Set object\n \\*/\n setproto.insertAfter = function (el) {\n var i = this.items.length;\n while (i--) {\n this.items[i].insertAfter(el);\n }\n return this;\n };\n /*\\\n * Set.getBBox\n [ method ]\n **\n * Union of all bboxes of the set. See @Element.getBBox.\n = (object) bounding box descriptor. See @Element.getBBox.\n \\*/\n setproto.getBBox = function () {\n var x = [],\n y = [],\n x2 = [],\n y2 = [];\n for (var i = this.items.length; i--;) if (!this.items[i].removed) {\n var box = this.items[i].getBBox();\n x.push(box.x);\n y.push(box.y);\n x2.push(box.x + box.width);\n y2.push(box.y + box.height);\n }\n x = mmin.apply(0, x);\n y = mmin.apply(0, y);\n x2 = mmax.apply(0, x2);\n y2 = mmax.apply(0, y2);\n return {\n x: x,\n y: y,\n x2: x2,\n y2: y2,\n width: x2 - x,\n height: y2 - y,\n cx: x + (x2 - x) / 2,\n cy: y + (y2 - y) / 2\n };\n };\n /*\\\n * Set.insertAfter\n [ method ]\n **\n * Creates a clone of the set.\n **\n = (object) New Set object\n \\*/\n setproto.clone = function (s) {\n s = new Set;\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n s.push(this.items[i].clone());\n }\n return s;\n };\n setproto.toString = function () {\n return \"Snap\\u2018s set\";\n };\n setproto.type = \"set\";\n // export\n /*\\\n * Snap.Set\n [ property ]\n **\n * Set constructor.\n \\*/\n Snap.Set = Set;\n /*\\\n * Snap.set\n [ method ]\n **\n * Creates a set and fills it with list of arguments.\n **\n = (object) New Set object\n | var r = paper.rect(0, 0, 10, 10),\n | s1 = Snap.set(), // empty set\n | s2 = Snap.set(r, paper.circle(100, 100, 20)); // prefilled set\n \\*/\n Snap.set = function () {\n var set = new Set;\n if (arguments.length) {\n set.push.apply(set, Array.prototype.slice.call(arguments, 0));\n }\n return set;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var names = {},\n reUnit = /[%a-z]+$/i,\n Str = String;\n names.stroke = names.fill = \"colour\";\n function getEmpty(item) {\n var l = item[0];\n switch (l.toLowerCase()) {\n case \"t\": return [l, 0, 0];\n case \"m\": return [l, 1, 0, 0, 1, 0, 0];\n case \"r\": if (item.length == 4) {\n return [l, 0, item[2], item[3]];\n } else {\n return [l, 0];\n }\n case \"s\": if (item.length == 5) {\n return [l, 1, 1, item[3], item[4]];\n } else if (item.length == 3) {\n return [l, 1, 1];\n } else {\n return [l, 1];\n }\n }\n }\n function equaliseTransform(t1, t2, getBBox) {\n t1 = t1 || new Snap.Matrix;\n t2 = t2 || new Snap.Matrix;\n t1 = Snap.parseTransformString(t1.toTransformString()) || [];\n t2 = Snap.parseTransformString(t2.toTransformString()) || [];\n var maxlength = Math.max(t1.length, t2.length),\n from = [],\n to = [],\n i = 0, j, jj,\n tt1, tt2;\n for (; i < maxlength; i++) {\n tt1 = t1[i] || getEmpty(t2[i]);\n tt2 = t2[i] || getEmpty(tt1);\n if (tt1[0] != tt2[0] ||\n tt1[0].toLowerCase() == \"r\" && (tt1[2] != tt2[2] || tt1[3] != tt2[3]) ||\n tt1[0].toLowerCase() == \"s\" && (tt1[3] != tt2[3] || tt1[4] != tt2[4])\n ) {\n t1 = Snap._.transform2matrix(t1, getBBox());\n t2 = Snap._.transform2matrix(t2, getBBox());\n from = [[\"m\", t1.a, t1.b, t1.c, t1.d, t1.e, t1.f]];\n to = [[\"m\", t2.a, t2.b, t2.c, t2.d, t2.e, t2.f]];\n break;\n }\n from[i] = [];\n to[i] = [];\n for (j = 0, jj = Math.max(tt1.length, tt2.length); j < jj; j++) {\n j in tt1 && (from[i][j] = tt1[j]);\n j in tt2 && (to[i][j] = tt2[j]);\n }\n }\n return {\n from: path2array(from),\n to: path2array(to),\n f: getPath(from)\n };\n }\n function getNumber(val) {\n return val;\n }\n function getUnit(unit) {\n return function (val) {\n return +val.toFixed(3) + unit;\n };\n }\n function getViewBox(val) {\n return val.join(\" \");\n }\n function getColour(clr) {\n return Snap.rgb(clr[0], clr[1], clr[2], clr[3]);\n }\n function getPath(path) {\n var k = 0, i, ii, j, jj, out, a, b = [];\n for (i = 0, ii = path.length; i < ii; i++) {\n out = \"[\";\n a = ['\"' + path[i][0] + '\"'];\n for (j = 1, jj = path[i].length; j < jj; j++) {\n a[j] = \"val[\" + k++ + \"]\";\n }\n out += a + \"]\";\n b[i] = out;\n }\n return Function(\"val\", \"return Snap.path.toString.call([\" + b + \"])\");\n }\n function path2array(path) {\n var out = [];\n for (var i = 0, ii = path.length; i < ii; i++) {\n for (var j = 1, jj = path[i].length; j < jj; j++) {\n out.push(path[i][j]);\n }\n }\n return out;\n }\n function isNumeric(obj) {\n return isFinite(obj);\n }\n function arrayEqual(arr1, arr2) {\n if (!Snap.is(arr1, \"array\") || !Snap.is(arr2, \"array\")) {\n return false;\n }\n return arr1.toString() == arr2.toString();\n }\n Element.prototype.equal = function (name, b) {\n return eve(\"snap.util.equal\", this, name, b).firstDefined();\n };\n eve.on(\"snap.util.equal\", function (name, b) {\n var A, B, a = Str(this.attr(name) || \"\"),\n el = this;\n if (names[name] == \"colour\") {\n A = Snap.color(a);\n B = Snap.color(b);\n return {\n from: [A.r, A.g, A.b, A.opacity],\n to: [B.r, B.g, B.b, B.opacity],\n f: getColour\n };\n }\n if (name == \"viewBox\") {\n A = this.attr(name).vb.split(\" \").map(Number);\n B = b.split(\" \").map(Number);\n return {\n from: A,\n to: B,\n f: getViewBox\n };\n }\n if (name == \"transform\" || name == \"gradientTransform\" || name == \"patternTransform\") {\n if (typeof b == \"string\") {\n b = Str(b).replace(/\\.{3}|\\u2026/g, a);\n }\n a = this.matrix;\n if (!Snap._.rgTransform.test(b)) {\n b = Snap._.transform2matrix(Snap._.svgTransform2string(b), this.getBBox());\n } else {\n b = Snap._.transform2matrix(b, this.getBBox());\n }\n return equaliseTransform(a, b, function () {\n return el.getBBox(1);\n });\n }\n if (name == \"d\" || name == \"path\") {\n A = Snap.path.toCubic(a, b);\n return {\n from: path2array(A[0]),\n to: path2array(A[1]),\n f: getPath(A[0])\n };\n }\n if (name == \"points\") {\n A = Str(a).split(Snap._.separator);\n B = Str(b).split(Snap._.separator);\n return {\n from: A,\n to: B,\n f: function (val) { return val; }\n };\n }\n if (isNumeric(a) && isNumeric(b)) {\n return {\n from: parseFloat(a),\n to: parseFloat(b),\n f: getNumber\n };\n }\n var aUnit = a.match(reUnit),\n bUnit = Str(b).match(reUnit);\n if (aUnit && arrayEqual(aUnit, bUnit)) {\n return {\n from: parseFloat(a),\n to: parseFloat(b),\n f: getUnit(aUnit)\n };\n } else {\n return {\n from: this.asPX(name),\n to: this.asPX(name, b),\n f: getNumber\n };\n }\n });\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n// \n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// \n// http://www.apache.org/licenses/LICENSE-2.0\n// \n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n has = \"hasOwnProperty\",\n supportsTouch = \"createTouch\" in glob.doc,\n events = [\n \"click\", \"dblclick\", \"mousedown\", \"mousemove\", \"mouseout\",\n \"mouseover\", \"mouseup\", \"touchstart\", \"touchmove\", \"touchend\",\n \"touchcancel\"\n ],\n touchMap = {\n mousedown: \"touchstart\",\n mousemove: \"touchmove\",\n mouseup: \"touchend\"\n },\n getScroll = function (xy, el) {\n var name = xy == \"y\" ? \"scrollTop\" : \"scrollLeft\",\n doc = el && el.node ? el.node.ownerDocument : glob.doc;\n return doc[name in doc.documentElement ? \"documentElement\" : \"body\"][name];\n },\n preventDefault = function () {\n this.returnValue = false;\n },\n preventTouch = function () {\n return this.originalEvent.preventDefault();\n },\n stopPropagation = function () {\n this.cancelBubble = true;\n },\n stopTouch = function () {\n return this.originalEvent.stopPropagation();\n },\n addEvent = function (obj, type, fn, element) {\n var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,\n f = function (e) {\n var scrollY = getScroll(\"y\", element),\n scrollX = getScroll(\"x\", element);\n if (supportsTouch && touchMap[has](type)) {\n for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {\n if (e.targetTouches[i].target == obj || obj.contains(e.targetTouches[i].target)) {\n var olde = e;\n e = e.targetTouches[i];\n e.originalEvent = olde;\n e.preventDefault = preventTouch;\n e.stopPropagation = stopTouch;\n break;\n }\n }\n }\n var x = e.clientX + scrollX,\n y = e.clientY + scrollY;\n return fn.call(element, e, x, y);\n };\n\n if (type !== realName) {\n obj.addEventListener(type, f, false);\n }\n\n obj.addEventListener(realName, f, false);\n\n return function () {\n if (type !== realName) {\n obj.removeEventListener(type, f, false);\n }\n\n obj.removeEventListener(realName, f, false);\n return true;\n };\n },\n drag = [],\n dragMove = function (e) {\n var x = e.clientX,\n y = e.clientY,\n scrollY = getScroll(\"y\"),\n scrollX = getScroll(\"x\"),\n dragi,\n j = drag.length;\n while (j--) {\n dragi = drag[j];\n if (supportsTouch) {\n var i = e.touches && e.touches.length,\n touch;\n while (i--) {\n touch = e.touches[i];\n if (touch.identifier == dragi.el._drag.id || dragi.el.node.contains(touch.target)) {\n x = touch.clientX;\n y = touch.clientY;\n (e.originalEvent ? e.originalEvent : e).preventDefault();\n break;\n }\n }\n } else {\n e.preventDefault();\n }\n var node = dragi.el.node,\n o,\n next = node.nextSibling,\n parent = node.parentNode,\n display = node.style.display;\n // glob.win.opera && parent.removeChild(node);\n // node.style.display = \"none\";\n // o = dragi.el.paper.getElementByPoint(x, y);\n // node.style.display = display;\n // glob.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));\n // o && eve(\"snap.drag.over.\" + dragi.el.id, dragi.el, o);\n x += scrollX;\n y += scrollY;\n eve(\"snap.drag.move.\" + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);\n }\n },\n dragUp = function (e) {\n Snap.unmousemove(dragMove).unmouseup(dragUp);\n var i = drag.length,\n dragi;\n while (i--) {\n dragi = drag[i];\n dragi.el._drag = {};\n eve(\"snap.drag.end.\" + dragi.el.id, dragi.end_scope || dragi.start_scope || dragi.move_scope || dragi.el, e);\n eve.off(\"snap.drag.*.\" + dragi.el.id);\n }\n drag = [];\n };\n /*\\\n * Element.click\n [ method ]\n **\n * Adds a click event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unclick\n [ method ]\n **\n * Removes a click event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.dblclick\n [ method ]\n **\n * Adds a double click event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.undblclick\n [ method ]\n **\n * Removes a double click event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mousedown\n [ method ]\n **\n * Adds a mousedown event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousedown\n [ method ]\n **\n * Removes a mousedown event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mousemove\n [ method ]\n **\n * Adds a mousemove event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousemove\n [ method ]\n **\n * Removes a mousemove event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseout\n [ method ]\n **\n * Adds a mouseout event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseout\n [ method ]\n **\n * Removes a mouseout event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseover\n [ method ]\n **\n * Adds a mouseover event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseover\n [ method ]\n **\n * Removes a mouseover event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseup\n [ method ]\n **\n * Adds a mouseup event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseup\n [ method ]\n **\n * Removes a mouseup event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchstart\n [ method ]\n **\n * Adds a touchstart event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchstart\n [ method ]\n **\n * Removes a touchstart event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchmove\n [ method ]\n **\n * Adds a touchmove event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchmove\n [ method ]\n **\n * Removes a touchmove event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchend\n [ method ]\n **\n * Adds a touchend event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchend\n [ method ]\n **\n * Removes a touchend event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchcancel\n [ method ]\n **\n * Adds a touchcancel event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchcancel\n [ method ]\n **\n * Removes a touchcancel event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n for (var i = events.length; i--;) {\n (function (eventName) {\n Snap[eventName] = elproto[eventName] = function (fn, scope) {\n if (Snap.is(fn, \"function\")) {\n this.events = this.events || [];\n this.events.push({\n name: eventName,\n f: fn,\n unbind: addEvent(this.node || document, eventName, fn, scope || this)\n });\n } else {\n for (var i = 0, ii = this.events.length; i < ii; i++) if (this.events[i].name == eventName) {\n try {\n this.events[i].f.call(this);\n } catch (e) {}\n }\n }\n return this;\n };\n Snap[\"un\" + eventName] =\n elproto[\"un\" + eventName] = function (fn) {\n var events = this.events || [],\n l = events.length;\n while (l--) if (events[l].name == eventName &&\n (events[l].f == fn || !fn)) {\n events[l].unbind();\n events.splice(l, 1);\n !events.length && delete this.events;\n return this;\n }\n return this;\n };\n })(events[i]);\n }\n /*\\\n * Element.hover\n [ method ]\n **\n * Adds hover event handlers to the element\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n - icontext (object) #optional context for hover in handler\n - ocontext (object) #optional context for hover out handler\n = (object) @Element\n \\*/\n elproto.hover = function (f_in, f_out, scope_in, scope_out) {\n return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);\n };\n /*\\\n * Element.unhover\n [ method ]\n **\n * Removes hover event handlers from the element\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n = (object) @Element\n \\*/\n elproto.unhover = function (f_in, f_out) {\n return this.unmouseover(f_in).unmouseout(f_out);\n };\n var draggable = [];\n // SIERRA unclear what _context_ refers to for starting, ending, moving the drag gesture.\n // SIERRA Element.drag(): _x position of the mouse_: Where are the x/y values offset from?\n // SIERRA Element.drag(): much of this member's doc appears to be duplicated for some reason.\n // SIERRA Unclear about this sentence: _Additionally following drag events will be triggered: drag.start.<id> on start, drag.end.<id> on end and drag.move.<id> on every move._ Is there a global _drag_ object to which you can assign handlers keyed by an element's ID?\n /*\\\n * Element.drag\n [ method ]\n **\n * Adds event handlers for an element's drag gesture\n **\n - onmove (function) handler for moving\n - onstart (function) handler for drag start\n - onend (function) handler for drag end\n - mcontext (object) #optional context for moving handler\n - scontext (object) #optional context for drag start handler\n - econtext (object) #optional context for drag end handler\n * Additionaly following `drag` events are triggered: `drag.start.<id>` on start, \n * `drag.end.<id>` on end and `drag.move.<id>` on every move. When element is dragged over another element \n * `drag.over.<id>` fires as well.\n *\n * Start event and start handler are called in specified context or in context of the element with following parameters:\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * Move event and move handler are called in specified context or in context of the element with following parameters:\n o dx (number) shift by x from the start point\n o dy (number) shift by y from the start point\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * End event and end handler are called in specified context or in context of the element with following parameters:\n o event (object) DOM event object\n = (object) @Element\n \\*/\n elproto.drag = function (onmove, onstart, onend, move_scope, start_scope, end_scope) {\n var el = this;\n if (!arguments.length) {\n var origTransform;\n return el.drag(function (dx, dy) {\n this.attr({\n transform: origTransform + (origTransform ? \"T\" : \"t\") + [dx, dy]\n });\n }, function () {\n origTransform = this.transform().local;\n });\n }\n function start(e, x, y) {\n (e.originalEvent || e).preventDefault();\n el._drag.x = x;\n el._drag.y = y;\n el._drag.id = e.identifier;\n !drag.length && Snap.mousemove(dragMove).mouseup(dragUp);\n drag.push({el: el, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope});\n onstart && eve.on(\"snap.drag.start.\" + el.id, onstart);\n onmove && eve.on(\"snap.drag.move.\" + el.id, onmove);\n onend && eve.on(\"snap.drag.end.\" + el.id, onend);\n eve(\"snap.drag.start.\" + el.id, start_scope || move_scope || el, x, y, e);\n }\n function init(e, x, y) {\n eve(\"snap.draginit.\" + el.id, el, e, x, y);\n }\n eve.on(\"snap.draginit.\" + el.id, start);\n el._drag = {};\n draggable.push({el: el, start: start, init: init});\n el.mousedown(init);\n return el;\n };\n /*\n * Element.onDragOver\n [ method ]\n **\n * Shortcut to assign event handler for `drag.over.<id>` event, where `id` is the element's `id` (see @Element.id)\n - f (function) handler for event, first argument would be the element you are dragging over\n \\*/\n // elproto.onDragOver = function (f) {\n // f ? eve.on(\"snap.drag.over.\" + this.id, f) : eve.unbind(\"snap.drag.over.\" + this.id);\n // };\n /*\\\n * Element.undrag\n [ method ]\n **\n * Removes all drag event handlers from the given element\n \\*/\n elproto.undrag = function () {\n var i = draggable.length;\n while (i--) if (draggable[i].el == this) {\n this.unmousedown(draggable[i].init);\n draggable.splice(i, 1);\n eve.unbind(\"snap.drag.*.\" + this.id);\n eve.unbind(\"snap.draginit.\" + this.id);\n }\n !draggable.length && Snap.unmousemove(dragMove).unmouseup(dragUp);\n return this;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n pproto = Paper.prototype,\n rgurl = /^\\s*url\\((.+)\\)/,\n Str = String,\n $ = Snap._.$;\n Snap.filter = {};\n /*\\\n * Paper.filter\n [ method ]\n **\n * Creates a `<filter>` element\n **\n - filstr (string) SVG fragment of filter provided as a string\n = (object) @Element\n * Note: It is recommended to use filters embedded into the page inside an empty SVG element.\n > Usage\n | var f = paper.filter('<feGaussianBlur stdDeviation=\"2\"/>'),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n pproto.filter = function (filstr) {\n var paper = this;\n if (paper.type != \"svg\") {\n paper = paper.paper;\n }\n var f = Snap.parse(Str(filstr)),\n id = Snap._.id(),\n width = paper.node.offsetWidth,\n height = paper.node.offsetHeight,\n filter = $(\"filter\");\n $(filter, {\n id: id,\n filterUnits: \"userSpaceOnUse\"\n });\n filter.appendChild(f.node);\n paper.defs.appendChild(filter);\n return new Element(filter);\n };\n\n eve.on(\"snap.util.getattr.filter\", function () {\n eve.stop();\n var p = $(this.node, \"filter\");\n if (p) {\n var match = Str(p).match(rgurl);\n return match && Snap.select(match[1]);\n }\n });\n eve.on(\"snap.util.attr.filter\", function (value) {\n if (value instanceof Element && value.type == \"filter\") {\n eve.stop();\n var id = value.node.id;\n if (!id) {\n $(value.node, {id: value.id});\n id = value.id;\n }\n $(this.node, {\n filter: Snap.url(id)\n });\n }\n if (!value || value == \"none\") {\n eve.stop();\n this.node.removeAttribute(\"filter\");\n }\n });\n /*\\\n * Snap.filter.blur\n [ method ]\n **\n * Returns an SVG markup string for the blur filter\n **\n - x (number) amount of horizontal blur, in pixels\n - y (number) #optional amount of vertical blur, in pixels\n = (string) filter representation\n > Usage\n | var f = paper.filter(Snap.filter.blur(5, 10)),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n Snap.filter.blur = function (x, y) {\n if (x == null) {\n x = 2;\n }\n var def = y == null ? x : [x, y];\n return Snap.format('\\<feGaussianBlur stdDeviation=\"{def}\"/>', {\n def: def\n });\n };\n Snap.filter.blur.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.shadow\n [ method ]\n **\n * Returns an SVG markup string for the shadow filter\n **\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - blur (number) #optional amount of blur\n - color (string) #optional color of the shadow\n - opacity (number) #optional `0..1` opacity of the shadow\n * or\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - color (string) #optional color of the shadow\n - opacity (number) #optional `0..1` opacity of the shadow\n * which makes blur default to `4`. Or\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - opacity (number) #optional `0..1` opacity of the shadow\n = (string) filter representation\n > Usage\n | var f = paper.filter(Snap.filter.shadow(0, 2, .3)),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n Snap.filter.shadow = function (dx, dy, blur, color, opacity) {\n if (opacity == null) {\n if (color == null) {\n opacity = blur;\n blur = 4;\n color = \"#000\";\n } else {\n opacity = color;\n color = blur;\n blur = 4;\n }\n }\n if (blur == null) {\n blur = 4;\n }\n if (opacity == null) {\n opacity = 1;\n }\n if (dx == null) {\n dx = 0;\n dy = 2;\n }\n if (dy == null) {\n dy = dx;\n }\n color = Snap.color(color);\n return Snap.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>', {\n color: color,\n dx: dx,\n dy: dy,\n blur: blur,\n opacity: opacity\n });\n };\n Snap.filter.shadow.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.grayscale\n [ method ]\n **\n * Returns an SVG markup string for the grayscale filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.grayscale = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>', {\n a: 0.2126 + 0.7874 * (1 - amount),\n b: 0.7152 - 0.7152 * (1 - amount),\n c: 0.0722 - 0.0722 * (1 - amount),\n d: 0.2126 - 0.2126 * (1 - amount),\n e: 0.7152 + 0.2848 * (1 - amount),\n f: 0.0722 - 0.0722 * (1 - amount),\n g: 0.2126 - 0.2126 * (1 - amount),\n h: 0.0722 + 0.9278 * (1 - amount)\n });\n };\n Snap.filter.grayscale.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.sepia\n [ method ]\n **\n * Returns an SVG markup string for the sepia filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.sepia = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>', {\n a: 0.393 + 0.607 * (1 - amount),\n b: 0.769 - 0.769 * (1 - amount),\n c: 0.189 - 0.189 * (1 - amount),\n d: 0.349 - 0.349 * (1 - amount),\n e: 0.686 + 0.314 * (1 - amount),\n f: 0.168 - 0.168 * (1 - amount),\n g: 0.272 - 0.272 * (1 - amount),\n h: 0.534 - 0.534 * (1 - amount),\n i: 0.131 + 0.869 * (1 - amount)\n });\n };\n Snap.filter.sepia.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.saturate\n [ method ]\n **\n * Returns an SVG markup string for the saturate filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.saturate = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>', {\n amount: 1 - amount\n });\n };\n Snap.filter.saturate.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.hueRotate\n [ method ]\n **\n * Returns an SVG markup string for the hue-rotate filter\n **\n - angle (number) angle of rotation\n = (string) filter representation\n \\*/\n Snap.filter.hueRotate = function (angle) {\n angle = angle || 0;\n return Snap.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>', {\n angle: angle\n });\n };\n Snap.filter.hueRotate.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.invert\n [ method ]\n **\n * Returns an SVG markup string for the invert filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.invert = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n// <feColorMatrix type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\" color-interpolation-filters=\"sRGB\"/>\n return Snap.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>', {\n amount: amount,\n amount2: 1 - amount\n });\n };\n Snap.filter.invert.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.brightness\n [ method ]\n **\n * Returns an SVG markup string for the brightness filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.brightness = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>', {\n amount: amount\n });\n };\n Snap.filter.brightness.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.contrast\n [ method ]\n **\n * Returns an SVG markup string for the contrast filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.contrast = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>', {\n amount: amount,\n amount2: .5 - amount / 2\n });\n };\n Snap.filter.contrast.toString = function () {\n return this();\n };\n});\n\n// Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var box = Snap._.box,\n is = Snap.is,\n firstLetter = /^[^a-z]*([tbmlrc])/i,\n toString = function () {\n return \"T\" + this.dx + \",\" + this.dy;\n };\n /*\\\n * Element.getAlign\n [ method ]\n **\n * Returns shift needed to align the element relatively to given element.\n * If no elements specified, parent `<svg>` container will be used.\n - el (object) @optional alignment element\n - way (string) one of six values: `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"left\"`, `\"center\"`, `\"right\"`\n = (object|string) Object in format `{dx: , dy: }` also has a string representation as a transformation string\n > Usage\n | el.transform(el.getAlign(el2, \"top\"));\n * or\n | var dy = el.getAlign(el2, \"top\").dy;\n \\*/\n Element.prototype.getAlign = function (el, way) {\n if (way == null && is(el, \"string\")) {\n way = el;\n el = null;\n }\n el = el || this.paper;\n var bx = el.getBBox ? el.getBBox() : box(el),\n bb = this.getBBox(),\n out = {};\n way = way && way.match(firstLetter);\n way = way ? way[1].toLowerCase() : \"c\";\n switch (way) {\n case \"t\":\n out.dx = 0;\n out.dy = bx.y - bb.y;\n break;\n case \"b\":\n out.dx = 0;\n out.dy = bx.y2 - bb.y2;\n break;\n case \"m\":\n out.dx = 0;\n out.dy = bx.cy - bb.cy;\n break;\n case \"l\":\n out.dx = bx.x - bb.x;\n out.dy = 0;\n break;\n case \"r\":\n out.dx = bx.x2 - bb.x2;\n out.dy = 0;\n break;\n default:\n out.dx = bx.cx - bb.cx;\n out.dy = 0;\n break;\n }\n out.toString = toString;\n return out;\n };\n /*\\\n * Element.align\n [ method ]\n **\n * Aligns the element relatively to given one via transformation.\n * If no elements specified, parent `<svg>` container will be used.\n - el (object) @optional alignment element\n - way (string) one of six values: `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"left\"`, `\"center\"`, `\"right\"`\n = (object) this element\n > Usage\n | el.align(el2, \"top\");\n * or\n | el.align(\"middle\");\n \\*/\n Element.prototype.align = function (el, way) {\n return this.transform(\"...\" + this.getAlign(el, way));\n };\n});\n\n// Copyright (c) 2016 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n has = \"hasOwnProperty\";\n function slice(from, to, f) {\n return function (arr) {\n var res = arr.slice(from, to);\n if (res.length == 1) {\n res = res[0];\n }\n return f ? f(res) : res;\n };\n }\n var Animation = function (attr, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n this.attr = attr;\n this.dur = ms;\n easing && (this.easing = easing);\n callback && (this.callback = callback);\n };\n Snap._.Animation = Animation;\n /*\\\n * Snap.animation\n [ method ]\n **\n * Creates an animation object\n **\n - attr (object) attributes of final destination\n - duration (number) duration of the animation, in milliseconds\n - easing (function) #optional one of easing functions of @mina or custom one\n - callback (function) #optional callback function that fires when animation ends\n = (object) animation object\n \\*/\n Snap.animation = function (attr, ms, easing, callback) {\n return new Animation(attr, ms, easing, callback);\n };\n /*\\\n * Element.inAnim\n [ method ]\n **\n * Returns a set of animations that may be able to manipulate the current element\n **\n = (object) in format:\n o {\n o anim (object) animation object,\n o mina (object) @mina object,\n o curStatus (number) 0..1 — status of the animation: 0 — just started, 1 — just finished,\n o status (function) gets or sets the status of the animation,\n o stop (function) stops the animation\n o }\n \\*/\n elproto.inAnim = function () {\n var el = this,\n res = [];\n for (var id in el.anims) if (el.anims[has](id)) {\n (function (a) {\n res.push({\n anim: new Animation(a._attrs, a.dur, a.easing, a._callback),\n mina: a,\n curStatus: a.status(),\n status: function (val) {\n return a.status(val);\n },\n stop: function () {\n a.stop();\n }\n });\n }(el.anims[id]));\n }\n return res;\n };\n /*\\\n * Snap.animate\n [ method ]\n **\n * Runs generic animation of one number into another with a caring function\n **\n - from (number|array) number or array of numbers\n - to (number|array) number or array of numbers\n - setter (function) caring function that accepts one number argument\n - duration (number) duration, in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function to execute when animation ends\n = (object) animation object in @mina format\n o {\n o id (string) animation id, consider it read-only,\n o duration (function) gets or sets the duration of the animation,\n o easing (function) easing,\n o speed (function) gets or sets the speed of the animation,\n o status (function) gets or sets the status of the animation,\n o stop (function) stops the animation\n o }\n | var rect = Snap().rect(0, 0, 10, 10);\n | Snap.animate(0, 10, function (val) {\n | rect.attr({\n | x: val\n | });\n | }, 1000);\n | // in given context is equivalent to\n | rect.animate({x: 10}, 1000);\n \\*/\n Snap.animate = function (from, to, setter, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n var now = mina.time(),\n anim = mina(from, to, now, now + ms, mina.time, setter, easing);\n callback && eve.once(\"mina.finish.\" + anim.id, callback);\n return anim;\n };\n /*\\\n * Element.stop\n [ method ]\n **\n * Stops all the animations for the current element\n **\n = (Element) the current element\n \\*/\n elproto.stop = function () {\n var anims = this.inAnim();\n for (var i = 0, ii = anims.length; i < ii; i++) {\n anims[i].stop();\n }\n return this;\n };\n /*\\\n * Element.animate\n [ method ]\n **\n * Animates the given attributes of the element\n **\n - attrs (object) key-value pairs of destination attributes\n - duration (number) duration of the animation in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function that executes when the animation ends\n = (Element) the current element\n \\*/\n elproto.animate = function (attrs, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n if (attrs instanceof Animation) {\n callback = attrs.callback;\n easing = attrs.easing;\n ms = attrs.dur;\n attrs = attrs.attr;\n }\n var fkeys = [], tkeys = [], keys = {}, from, to, f, eq,\n el = this;\n for (var key in attrs) if (attrs[has](key)) {\n if (el.equal) {\n eq = el.equal(key, Str(attrs[key]));\n from = eq.from;\n to = eq.to;\n f = eq.f;\n } else {\n from = +el.attr(key);\n to = +attrs[key];\n }\n var len = is(from, \"array\") ? from.length : 1;\n keys[key] = slice(fkeys.length, fkeys.length + len, f);\n fkeys = fkeys.concat(from);\n tkeys = tkeys.concat(to);\n }\n var now = mina.time(),\n anim = mina(fkeys, tkeys, now, now + ms, mina.time, function (val) {\n var attr = {};\n for (var key in keys) if (keys[has](key)) {\n attr[key] = keys[key](val);\n }\n el.attr(attr);\n }, easing);\n el.anims[anim.id] = anim;\n anim._attrs = attrs;\n anim._callback = callback;\n eve(\"snap.animcreated.\" + el.id, anim);\n eve.once(\"mina.finish.\" + anim.id, function () {\n eve.off(\"mina.*.\" + anim.id);\n delete el.anims[anim.id];\n callback && callback.call(el);\n });\n eve.once(\"mina.stop.\" + anim.id, function () {\n eve.off(\"mina.*.\" + anim.id);\n delete el.anims[anim.id];\n });\n return el;\n };\n});\n\n// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n // Colours are from https://www.materialui.co\n var red = \"#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000\",\n pink = \"#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162\",\n purple = \"#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF\",\n deeppurple = \"#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA\",\n indigo = \"#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE\",\n blue = \"#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF\",\n lightblue = \"#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA\",\n cyan = \"#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4\",\n teal = \"#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5\",\n green = \"#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853\",\n lightgreen = \"#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17\",\n lime = \"#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00\",\n yellow = \"#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600\",\n amber = \"#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00\",\n orange = \"#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00\",\n deeporange = \"#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00\",\n brown = \"#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723\",\n grey = \"#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121\",\n bluegrey = \"#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238\";\n /*\\\n * Snap.mui\n [ property ]\n **\n * Contain Material UI colours.\n | Snap().rect(0, 0, 10, 10).attr({fill: Snap.mui.deeppurple, stroke: Snap.mui.amber[600]});\n # For colour reference: <a href=\"https://www.materialui.co\">https://www.materialui.co</a>.\n \\*/\n Snap.mui = {};\n /*\\\n * Snap.flat\n [ property ]\n **\n * Contain Flat UI colours.\n | Snap().rect(0, 0, 10, 10).attr({fill: Snap.flat.carrot, stroke: Snap.flat.wetasphalt});\n # For colour reference: <a href=\"https://www.materialui.co\">https://www.materialui.co</a>.\n \\*/\n Snap.flat = {};\n function saveColor(colors) {\n colors = colors.split(/(?=#)/);\n var color = new String(colors[5]);\n color[50] = colors[0];\n color[100] = colors[1];\n color[200] = colors[2];\n color[300] = colors[3];\n color[400] = colors[4];\n color[500] = colors[5];\n color[600] = colors[6];\n color[700] = colors[7];\n color[800] = colors[8];\n color[900] = colors[9];\n if (colors[10]) {\n color.A100 = colors[10];\n color.A200 = colors[11];\n color.A400 = colors[12];\n color.A700 = colors[13];\n }\n return color;\n }\n Snap.mui.red = saveColor(red);\n Snap.mui.pink = saveColor(pink);\n Snap.mui.purple = saveColor(purple);\n Snap.mui.deeppurple = saveColor(deeppurple);\n Snap.mui.indigo = saveColor(indigo);\n Snap.mui.blue = saveColor(blue);\n Snap.mui.lightblue = saveColor(lightblue);\n Snap.mui.cyan = saveColor(cyan);\n Snap.mui.teal = saveColor(teal);\n Snap.mui.green = saveColor(green);\n Snap.mui.lightgreen = saveColor(lightgreen);\n Snap.mui.lime = saveColor(lime);\n Snap.mui.yellow = saveColor(yellow);\n Snap.mui.amber = saveColor(amber);\n Snap.mui.orange = saveColor(orange);\n Snap.mui.deeporange = saveColor(deeporange);\n Snap.mui.brown = saveColor(brown);\n Snap.mui.grey = saveColor(grey);\n Snap.mui.bluegrey = saveColor(bluegrey);\n Snap.flat.turquoise = \"#1abc9c\";\n Snap.flat.greensea = \"#16a085\";\n Snap.flat.sunflower = \"#f1c40f\";\n Snap.flat.orange = \"#f39c12\";\n Snap.flat.emerland = \"#2ecc71\";\n Snap.flat.nephritis = \"#27ae60\";\n Snap.flat.carrot = \"#e67e22\";\n Snap.flat.pumpkin = \"#d35400\";\n Snap.flat.peterriver = \"#3498db\";\n Snap.flat.belizehole = \"#2980b9\";\n Snap.flat.alizarin = \"#e74c3c\";\n Snap.flat.pomegranate = \"#c0392b\";\n Snap.flat.amethyst = \"#9b59b6\";\n Snap.flat.wisteria = \"#8e44ad\";\n Snap.flat.clouds = \"#ecf0f1\";\n Snap.flat.silver = \"#bdc3c7\";\n Snap.flat.wetasphalt = \"#34495e\";\n Snap.flat.midnightblue = \"#2c3e50\";\n Snap.flat.concrete = \"#95a5a6\";\n Snap.flat.asbestos = \"#7f8c8d\";\n /*\\\n * Snap.importMUIColors\n [ method ]\n **\n * Imports Material UI colours into global object.\n | Snap.importMUIColors();\n | Snap().rect(0, 0, 10, 10).attr({fill: deeppurple, stroke: amber[600]});\n # For colour reference: <a href=\"https://www.materialui.co\">https://www.materialui.co</a>.\n \\*/\n Snap.importMUIColors = function () {\n for (var color in Snap.mui) {\n if (Snap.mui.hasOwnProperty(color)) {\n window[color] = Snap.mui[color];\n }\n }\n };\n});\n\nmodule.exports = Snap\n","// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┠\\\\\n// │ Eve 0.5.4 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.5.4\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n comaseparator = /\\s*,\\s*/,\n wildcard = \"*\",\n numsort = function (a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {n: {}},\n firstDefined = function () {\n for (var i = 0, ii = this.length; i < ii; i++) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n lastDefined = function () {\n var i = this.length;\n while (--i) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n objtos = Object.prototype.toString,\n Str = String,\n isArray = Array.isArray || function (ar) {\n return ar instanceof Array || objtos.call(ar) == \"[object Array]\";\n },\n /*\\\n * eve\n [ method ]\n\n * Fires event with given `name`, given scope and other parameters.\n\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n\n = (object) array of returned values from the listeners. Array has two methods `.firstDefined()` and `.lastDefined()` to get first or last not `undefined` value.\n \\*/\n eve = function (name, scope) {\n var oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event;\n out.firstDefined = firstDefined;\n out.lastDefined = lastDefined;\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l)\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out;\n };\n // Undocumented. Debug only.\n eve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = isArray(name) ? name : name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n /*\\\n * eve.separator\n [ method ]\n\n * If for some reasons you don’t like default separators (`.` or `/`) you can specify yours\n * here. Be aware that if you pass a string longer than one character it will be treated as\n * a list of characters.\n\n - separator (string) new separator. Empty string resets to default: `.` or `/`.\n \\*/\n eve.separator = function (sep) {\n if (sep) {\n sep = Str(sep).replace(/(?=[\\.\\^\\]\\[\\-])/g, \"\\\\\");\n sep = \"[\" + sep + \"]\";\n separator = new RegExp(sep);\n } else {\n separator = /[\\.\\/]/;\n }\n };\n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`†for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n - name (array) if you don’t want to use separators, you can use array of strings\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment.\n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt` function will be called before `eatIt`.\n *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in caseâ€.\n \\*/\n eve.on = function (name, f) {\n if (typeof f != \"function\") {\n return function () {};\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n for (var i = 0, ii = names.length; i < ii; i++) {\n (function (name) {\n var names = isArray(name) ? name : Str(name).split(separator),\n e = events,\n exist;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\n exist = true;\n break;\n }\n !exist && e.f.push(f);\n }(names[i]));\n }\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n * Arguments that will be passed to the result function will be also\n * concated to the list of final arguments.\n | el.onclick = eve.f(\"click\", 1, 2);\n | eve.on(\"click\", function (a, b, c) {\n | console.log(a, b, c); // 1, 2, [event object]\n | });\n - event (string) event name\n - varargs (…) and any other arguments\n = (function) possible event handler function\n \\*/\n eve.f = function (event) {\n var attrs = [].slice.call(arguments, 1);\n return function () {\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n };\n };\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n var cur = isArray(current_event) ? current_event.join(\".\") : current_event;\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(cur);\n }\n return cur;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return isArray(current_event) ? current_event : current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n * If no arguments specified all the events will be cleared.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n if (!name) {\n eve._events = events = {n: {}};\n return;\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n if (names.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n eve.off(names[i], f);\n }\n return;\n }\n names = isArray(name) ? name : Str(name).split(separator);\n var e,\n key,\n splice,\n i, ii, j, jj,\n cur = [events],\n inodes = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n inodes.unshift({\n n: e,\n name: names[i]\n });\n }\n } else {\n for (key in e) if (e[has](key)) {\n splice.push(e[key]);\n inodes.unshift({\n n: e,\n name: key\n });\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n !funcs.length && delete e.n[key].f;\n }\n } else {\n delete e.f;\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n e = e.n;\n }\n }\n // prune inner nodes in path\n prune: for (i = 0, ii = inodes.length; i < ii; i++) {\n e = inodes[i];\n for (key in e.n[e.name].f) {\n // not empty (has listeners)\n continue prune;\n }\n for (key in e.n[e.name].n) {\n // not empty (has children)\n continue prune;\n }\n // is empty\n delete e.n[e.name];\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function () {\n eve.off(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n glob.eve = eve;\n typeof module != \"undefined\" && module.exports ? module.exports = eve : typeof define === \"function\" && define.amd ? define(\"eve\", [], function () { return eve; }) : glob.eve = eve;\n})(typeof window != \"undefined\" ? window : this);\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersSnapsvgImporter = require('../helpers/snapsvgImporter');\n\nvar _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter);\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar _helpersUtils = require('../helpers/utils');\n\nvar BUBBLE_WIDTH = 140;\n\nvar styles = {\n svg: {\n lib: _helpersSnapsvgImporter2['default'],\n pathInitial: 'M-7.312,0H0c0,0,0,113.839,0,400c0,264.506,0,400,0,400h-7.312V0z',\n pathOpen: 'M-7.312,0H15c0,0,66,113.339,66,399.5C81,664.006,15,800,15,800H-7.312V0z;M-7.312,0H100c0,0,0,113.839,0,400c0,264.506,0,400,0,400H-7.312V0z',\n animate: function animate(path) {\n var pos = 0;\n var steps = this.pathOpen.split(';');\n var stepsTotal = steps.length;\n var mina = window.mina;\n\n var nextStep = function nextStep() {\n if (pos > stepsTotal - 1) return;\n\n path.animate({ path: steps[pos] }, pos === 0 ? 400 : 500, pos === 0 ? mina.easein : mina.elastic, function () {\n nextStep();\n });\n\n pos++;\n };\n\n nextStep();\n }\n },\n\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: '100%',\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n MsTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n OTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n WebkitTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n transform: right ? 'rotateY(180deg)' : 'rotateY(0deg)'\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: isOpen ? 'transform 0.4s 0s' : 'transform 0.4s'\n };\n },\n\n menu: function menu(isOpen, width, right) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n position: 'fixed',\n MozTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n\n item: function item(isOpen, width, right, nthChild) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s, transform 0.3s 0.4s' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n\n closeButton: function closeButton(isOpen, width, right) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transformOrigin: right ? '100% 50%' : '0% 50%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n MsTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n OTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n WebkitTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n transform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n transformOrigin: '100%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer() {\n return {\n perspective: '1500px'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n transform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s',\n overflow: isOpen ? '' : 'hidden'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n menuWrap: function menuWrap(isOpen) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n MsTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n OTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n transform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n transition: 'all 0.5s ease-in-out'\n };\n },\n\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n perspectiveOrigin: '0% 50%',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: 'translate3d(0, 0, 0)',\n MsTransform: 'translate3d(0, 0, 0)',\n OTransform: 'translate3d(0, 0, 0)',\n WebkitTransform: 'translate3d(0, 0, 0)',\n transform: 'translate3d(0, 0, 0)',\n zIndex: isOpen ? 1000 : -1\n };\n },\n\n overlay: function overlay(isOpen, width, right) {\n return {\n zIndex: 1400,\n MozTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n MsTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n OTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n WebkitTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transition: 'all 0.5s',\n visibility: isOpen ? 'visible' : 'hidden'\n };\n },\n\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s',\n zIndex: 1200,\n position: 'relative'\n };\n },\n\n burgerIcon: function burgerIcon(isOpen, width, right) {\n return {\n MozTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n MsTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n OTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n WebkitTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transition: 'all 0.1s',\n position: 'relative',\n zIndex: 1300\n };\n },\n\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];"],"sourceRoot":""} \ No newline at end of file diff --git a/backend/static/react/js/main.4f2a1e71.chunk.js b/backend/static/react/js/main.4f2a1e71.chunk.js new file mode 100644 index 0000000000000000000000000000000000000000..de0732e01dbac38199196f60eb9f8634e5e726b4 --- /dev/null +++ b/backend/static/react/js/main.4f2a1e71.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonpinaglobe-dashboard"]=this["webpackJsonpinaglobe-dashboard"]||[]).push([[0],{38:function(e,t,n){},72:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),s=n(16),a=n.n(s),i=(n(38),n(5)),o=n(6),l=n(3);function j(){var e=Object(r.useState)(function(){var e=localStorage.getItem("token"),t=JSON.parse(e);return null===t||void 0===t?void 0:t.token}()),t=Object(l.a)(e,2),n=t[0],c=t[1];return{setToken:function(e){localStorage.setItem("token",JSON.stringify(e)),c(e.token)},token:n}}var d=n(0),u=function(){var e=j(),t=(e.setToken,e.token);return Object(d.jsxs)("nav",{className:"navbar",children:[Object(d.jsx)("a",{href:"/",style:{color:"#ff4e83",fontSize:"20px",borderRadius:"8px"},children:"InAGlobe Platform"}),Object(d.jsxs)("div",{className:"links",children:[Object(d.jsx)(i.b,{to:"/create-project",children:"New Project"}),Object(d.jsx)(i.b,{to:"/users/"+t,children:"My Profile"})]})]})},b=function(e){var t=e.projects;return Object(d.jsx)("div",{className:"project-list",children:t.map((function(e){return Object(d.jsx)("div",{className:"preview",children:Object(d.jsxs)(i.b,{to:"/projects/".concat(e.id),children:[Object(d.jsx)("h2",{children:e.name}),Object(d.jsx)("h3",{children:e.status})]})},e.id)}))})},h=function(e){var t=Object(r.useState)([]),n=Object(l.a)(t,2),c=n[0],s=n[1],a=Object(r.useState)(null),i=Object(l.a)(a,2),o=i[0],j=i[1],d=Object(r.useState)(!0),u=Object(l.a)(d,2),b=u[0],h=u[1];return Object(r.useEffect)((function(){fetch(e).then((function(e){if(!e.ok)throw Error("could not fetch the data for that resource");return e.json()})).then((function(e){s(e),h(!1),j(null)})).catch((function(e){j(e.message)}))}),[e]),{data:c,error:o,isPending:b}},O=function(e){var t=e.tasks,n=e.title;return Object(d.jsxs)("div",{children:[Object(d.jsx)("h2",{children:n}),Object(d.jsx)("div",{className:"my-project-tasks",children:t.map((function(e){return Object(d.jsxs)("div",{className:"task-preview",children:[Object(d.jsx)("h2",{children:e.description}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Priority level:"})," ",e.priority]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"To be done by:"})," ",e.due_date]})]},e.id)}))})]})},p=function(e){var t=e.todos,n=e.title,c=j(),s=(c.setToken,c.token),a=h("/users"),i=a.data,o=(a.error,a.isPending),u=Object(r.useState)(""),b=Object(l.a)(u,2),O=b[0],p=b[1],x=Object(r.useState)(1),m=Object(l.a)(x,2),f=m[0],v=m[1],g=Object(r.useState)(Date.now()),y=Object(l.a)(g,2),k=y[0],S=y[1],w=Object(r.useState)(s),C=Object(l.a)(w,2),N=C[0],P=C[1];return Object(d.jsxs)("div",{className:"todo-list",style:{float:"right"},children:[Object(d.jsx)("h2",{children:n}),Object(d.jsx)("div",{className:"add-todo-button",children:Object(d.jsx)("button",{onClick:function(){document.getElementsByClassName("add-todo-form")[0].style.display="block"},children:"Add a personal task"})}),o&&Object(d.jsx)("h2",{children:"Loading..."}),Object(d.jsx)("div",{className:"add-todo-form",children:i&&Object(d.jsxs)("form",{onSubmit:function(e){document.getElementsByClassName("add-todo-form")[0].style.display="none",e.preventDefault();var t={todo_desc:O,priority:f,due_date:k,username:N};fetch("/todos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){window.location.reload()}))},children:[Object(d.jsx)("label",{children:"Task description [required]"}),Object(d.jsx)("textarea",{value:O,onChange:function(e){return p(e.target.value)},required:!0,placeholder:"Add some awesome description!"}),Object(d.jsx)("label",{children:"Priority level (1: lowest, 4: highest)"}),Object(d.jsxs)("select",{value:f,onChange:function(e){return v(e.target.value)},children:[Object(d.jsx)("option",{value:"1",children:"1"}),Object(d.jsx)("option",{value:"2",children:"2"}),Object(d.jsx)("option",{value:"3",children:"3"}),Object(d.jsx)("option",{value:"4",children:"4"})]}),Object(d.jsx)("label",{children:"When should this task be done by? [required]"}),Object(d.jsx)("input",{required:!0,type:"date",value:k,onChange:function(e){return S(e.target.value)}}),Object(d.jsx)("label",{children:"Assigned user"}),Object(d.jsx)("select",{value:N,onChange:function(e){return P(e.target.value)},children:i.map((function(e){return Object(d.jsx)("option",{value:e.username,children:e.username})}))}),Object(d.jsx)("button",{children:"Save task"})]})}),Object(d.jsx)("div",{className:"personal-todos",children:t.map((function(e){return Object(d.jsxs)("div",{className:"todo-preview",children:[Object(d.jsx)("h2",{children:e.todo_desc}),Object(d.jsxs)("h3",{children:["Priority level: ",e.priority]}),Object(d.jsxs)("h3",{children:["To be done by:",e.due_date]}),Object(d.jsx)("button",{onClick:(t=e.id,function(e){e.preventDefault(),fetch("/todos/"+t,{method:"DELETE"}).then((function(){window.location.reload()}))}),children:"Complete"})]},e.id);var t}))})]})},x=function(){var e=h("/todos"),t=e.data,n=(e.errorTodos,e.isPendingTodos),r=j(),c=(r.setToken,r.token),s=h("/user_project/username/"+c),a=s.data,i=(s.errorRProjects,s.isPendingRProjects),o=h("/assigned_task/username/"+c),l=o.data;o.errorProjectTasks,o.isPendingProjectTasks;return Object(d.jsxs)("div",{className:"home",children:[Object(d.jsx)("h1",{children:"Dashboard"}),Object(d.jsxs)("div",{className:"home-projects",style:{float:"left",width:"600px"},children:[i&&Object(d.jsx)("h2",{children:"Loading..."}),a&&Object(d.jsx)(b,{projects:a,title:"My Projects"})]}),Object(d.jsxs)("div",{className:"homeTodos",children:[n&&Object(d.jsx)("h2",{children:"Loading..."}),t&&Object(d.jsx)(p,{todos:t.filter((function(e){return e.username===c})),title:"Personal ToDo items"})]}),Object(d.jsxs)("div",{className:"home-project-tasks",style:{float:"left",width:"600px"},children:[i&&Object(d.jsx)("h2",{children:"Loading..."}),a&&Object(d.jsx)(O,{tasks:l,title:"My tasks from all projects"})]})]})},m=n(4),f=n.n(m),v=n(8),g=n(21),y=function(){var e=Object(r.useState)(""),t=Object(l.a)(e,2),n=t[0],c=t[1],s=Object(r.useState)(""),a=Object(l.a)(s,2),i=a[0],j=a[1],u=Object(r.useState)("Available"),b=Object(l.a)(u,2),O=b[0],p=b[1],x=Object(r.useState)("Other"),m=Object(l.a)(x,2),y=m[0],k=m[1],S=Object(r.useState)(""),w=Object(l.a)(S,2),C=w[0],N=w[1],P=Object(r.useState)(""),T=Object(l.a)(P,2),E=T[0],A=T[1],D=Object(r.useState)([]),_=Object(l.a)(D,2),I=_[0],L=_[1],q=Object(o.f)(),F=h("/users/user_project"),J=F.data,B=(F.error,F.isPending,J.map((function(e){return e.username})),function(){var e=Object(v.a)(f.a.mark((function e(t){var r,c,s,a;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n,description:i,status:O,tag:y,location:C,files:E},e.next=4,fetch("/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 4:return c=e.sent,e.next=7,c.json();case 7:s=e.sent,a=s.id,I.map((function(e){var t={username:e,project_id:a};fetch("/user_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})})),q.push("/");case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return Object(d.jsxs)("div",{className:"create-project",children:[Object(d.jsx)("h2",{children:"Add a new project"}),Object(d.jsxs)("form",{onSubmit:B,children:[Object(d.jsx)("label",{children:"Project name [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:n,onChange:function(e){return c(e.target.value)},placeholder:"Input project name"}),Object(d.jsx)("label",{children:"Description [required]"}),Object(d.jsx)("textarea",{required:!0,placeholder:"Add some awesome description!",value:i,onChange:function(e){return j(e.target.value)}}),Object(d.jsx)("label",{children:"Status"}),Object(d.jsxs)("select",{value:O,onChange:function(e){return p(e.target.value)},children:[Object(d.jsx)("option",{value:"Progress",children:"Progress"}),Object(d.jsx)("option",{value:"Available",children:"Available"}),Object(d.jsx)("option",{value:"Completed",children:"Completed"})]}),Object(d.jsx)("label",{children:"Location"}),Object(d.jsx)("input",{type:"text",value:C,onChange:function(e){return N(e.target.value)},placeholder:"Eg: United Kingdom"}),Object(d.jsx)("label",{children:"Type of project [required]"}),Object(d.jsxs)("select",{required:!0,value:y,onChange:function(e){return k(e.target.value)},children:[Object(d.jsx)("option",{value:"Social",children:"Social"}),Object(d.jsx)("option",{value:"Education",children:"Education"}),Object(d.jsx)("option",{value:"Wash",children:"Wash"}),Object(d.jsx)("option",{value:"Environment",children:"Environment"}),Object(d.jsx)("option",{value:"Health",children:"Health"}),Object(d.jsx)("option",{value:"Other",children:"Other"})]}),Object(d.jsx)("label",{children:"Volunteers assigned to this project"}),Object(d.jsx)(g.a,{className:"dropdown",placeholder:"Select Users",value:J.filter((function(e){return I.includes(e.value)})),options:J,onChange:function(e){L(Array.isArray(e)?e.map((function(e){return e.value})):[])},isMulti:!0,isClearable:!0}),Object(d.jsx)("label",{children:"Google Drive folder"}),Object(d.jsx)("textarea",{placeholder:"Copy the link to the Google Drive folder for this project",value:E,onChange:function(e){return A(e.target.value)}}),Object(d.jsx)("button",{children:"Add project"})]})]})},k=function(){var e=Object(o.g)().id,t=Object(o.f)(),n=h("/projects/"+e),r=n.data,c=(n.error,n.isPending),s=h("/user_project/project/"+e),a=s.data;s.errorAssignment,s.isPendingAssignment;return Object(d.jsxs)("div",{className:"project-details",children:[c&&Object(d.jsx)("h2",{children:"Loading..."}),r&&Object(d.jsx)("h2",{children:r.name}),r&&Object(d.jsxs)("button",{style:{fontSize:"20px",color:"#fff",marginBottom:"30px",marginright:"10px",borderRadius:"8px",backgroundColor:"#f1b535",cursor:"default"},children:["Status: ",r.status]}),r&&Object(d.jsx)("button",{style:{fontSize:"20px",color:"#fff",marginBottom:"30px",marginRight:"10px",borderRadius:"8px",backgroundColor:"#595bc0",cursor:"default"},children:r.tag}),r&&Object(d.jsxs)("h4",{children:["Location: ",r.location]}),r&&Object(d.jsx)("button",{onClick:function(e){e.preventDefault(),window.open(r.files,"_blank")},children:"Documents"}),r&&Object(d.jsx)("p",{children:r.description}),Object(d.jsx)("h3",{children:"Volunteers working on this project"}),Object(d.jsx)("div",{className:"project_user_assignment_list",children:a.map((function(e){return Object(d.jsx)("div",{className:"assigned_users_preview",style:{float:"left",width:"50%"},children:Object(d.jsx)(i.b,{to:"/users/".concat(e.username),children:Object(d.jsx)("h4",{children:e.username})})},e.id)}))}),Object(d.jsxs)("div",{className:"project-tasks",children:[r&&Object(d.jsx)(i.b,{to:"/projects/".concat(r.id,"/tasks"),className:"view-tasks-button",children:"View Tasks"}),r&&Object(d.jsx)(i.b,{to:"/projects/".concat(r.id,"/add-task"),className:"add-task-button",children:"Add Task"})]}),Object(d.jsxs)("div",{children:[r&&Object(d.jsx)("button",{onClick:function(n){n.preventDefault(),fetch("/projects/"+e,{method:"DELETE"}).then((function(){t.push("/")}))},children:"Delete project"}),r&&Object(d.jsx)(i.b,{to:"/edit-project/".concat(r.id),className:"edit-project-button",children:"Edit project"})]})]})},S=function(){return Object(d.jsxs)("div",{className:"page-not-found",children:[Object(d.jsx)("h2",{children:"Something went wrong..."}),Object(d.jsx)("p",{children:"That page cannot be found"}),Object(d.jsx)(i.b,{to:"/",children:"Back to the main page"})]})},w=function(){var e=j(),t=(e.setToken,e.token),n=h("/users/"+t),r=n.data,c=(n.error,n.isPending);return Object(d.jsxs)("div",{className:"my-profile",children:[c&&Object(d.jsx)("h2",{children:"Loading..."}),r&&Object(d.jsx)("h2",{children:r.firstname+" "+r.surname}),r&&Object(d.jsx)("h1",{children:"Username: "+r.token}),r&&Object(d.jsx)("h1",{children:"Title: "+r.title}),r&&Object(d.jsx)("h1",{children:"Email: "+r.email}),r&&Object(d.jsx)("h1",{children:"Bio: "+r.bio}),r&&Object(d.jsx)("h1",{children:"Joined: "+r.joined}),r&&Object(d.jsx)("h1",{children:"Location: "+r.location}),r&&Object(d.jsx)("h1",{children:"Availability: "+r.availability}),r&&Object(d.jsx)("h1",{children:"Partnership Opportunities: "+r.partnership_opportunities}),r&&Object(d.jsx)("h1",{children:"Interests: "+r.interests})]})},C=function(){var e=Object(o.g)().username,t=Object(o.f)(),n=j(),r=(n.setToken,n.token),c=h("/users/"+e),s=c.data,a=(c.error,c.isPending);return Object(d.jsxs)("div",{className:"user",children:[a&&Object(d.jsx)("h2",{children:"Loading..."}),s&&Object(d.jsx)("div",{children:Object(d.jsx)("h2",{children:s.firstname+" "+s.surname})}),s&&Object(d.jsxs)("div",{children:[Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Username: "}),s.username]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Email: "}),s.email]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Title: "}),s.title]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Joined: "}),s.joined]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Location: "}),s.location]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Availability: "}),s.availability]})]}),Object(d.jsx)("br",{}),s&&Object(d.jsxs)("div",{children:[Object(d.jsx)("label",{children:Object(d.jsx)("strong",{children:"Bio"})}),Object(d.jsx)("p",{children:s.bio})]}),s&&Object(d.jsxs)("div",{children:[Object(d.jsx)("label",{children:Object(d.jsx)("strong",{children:"Partnership Opportunities"})}),Object(d.jsx)("p",{children:s.partnership_opportunities})]}),s&&Object(d.jsxs)("div",{children:[Object(d.jsx)("label",{children:Object(d.jsx)("strong",{children:"Interests"})}),Object(d.jsx)("p",{children:s.interests})]}),s&&("jaimeaguilera"==r||e==r)&&Object(d.jsx)("button",{onClick:function(n){n.preventDefault(),fetch("/users/"+e,{method:"DELETE"}).then((function(){t.push("/")}))},children:"Delete user"}),s&&("jaimeaguilera"==r||e==r)&&Object(d.jsx)(i.b,{to:"/edit-user/".concat(e),className:"edit-user-button",children:"Edit details"})]})},N=function(e){var t=e.users;return Object(d.jsx)("div",{className:"user-list",children:t.map((function(e){return Object(d.jsx)("div",{className:"preview",children:Object(d.jsx)(i.b,{to:"/users/".concat(e.username),children:Object(d.jsx)("h2",{children:e.username})})},e.username)}))})},P=function(){var e=h("/users"),t=e.data,n=(e.error,e.isPending),r=j();r.setToken,r.token;return Object(d.jsxs)("div",{className:"users",children:[Object(d.jsx)("h1",{children:"Users"}),Object(d.jsx)(i.b,{to:"/add-user",className:"add-user-button",children:"Add User"}),Object(d.jsx)("br",{}),Object(d.jsx)("br",{}),n&&Object(d.jsx)("h2",{children:"Loading..."}),t&&Object(d.jsx)(N,{users:t,title:"All Users"})]})},T=function(){var e=Object(r.useState)(""),t=Object(l.a)(e,2),n=t[0],c=t[1],s=Object(r.useState)(""),a=Object(l.a)(s,2),i=a[0],j=a[1],u=Object(r.useState)(""),b=Object(l.a)(u,2),h=b[0],O=b[1],p=Object(r.useState)(""),x=Object(l.a)(p,2),m=x[0],f=x[1],v=Object(r.useState)(""),g=Object(l.a)(v,2),y=g[0],k=g[1],S=Object(r.useState)(""),w=Object(l.a)(S,2),C=w[0],N=w[1],P=Object(r.useState)(""),T=Object(l.a)(P,2),E=T[0],A=T[1],D=Object(r.useState)(""),_=Object(l.a)(D,2),I=_[0],L=_[1],q=Object(r.useState)(""),F=Object(l.a)(q,2),J=F[0],B=F[1],U=Object(r.useState)(""),G=Object(l.a)(U,2),W=G[0],H=G[1],M=Object(r.useState)(""),V=Object(l.a)(M,2),R=V[0],z=V[1],K=Object(r.useState)(""),Y=Object(l.a)(K,2),Q=Y[0],X=Y[1],Z=Object(o.f)();return Object(d.jsxs)("div",{className:"add-user",children:[Object(d.jsx)("h2",{children:"Add a new user"}),Object(d.jsxs)("form",{onSubmit:function(e){e.preventDefault();var t={firstname:n,surname:i,password:h,title:m,email:y,bio:C,joined:E,location:I,availability:J,partnership_opportunities:W,interests:R,username:Q};fetch("/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){Z.push("/users")}))},children:[Object(d.jsx)("label",{children:"Username [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:Q,onChange:function(e){return X(e.target.value)},placeholder:"Input username here"}),Object(d.jsx)("label",{children:"Firstname [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:n,onChange:function(e){return c(e.target.value)},placeholder:"Input your first name here"}),Object(d.jsx)("label",{children:"Surname [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:i,onChange:function(e){return j(e.target.value)},placeholder:"Input surname here"}),Object(d.jsx)("label",{children:"Title [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:m,onChange:function(e){return f(e.target.value)},placeholder:"State your role at InAGlobe (eg: volunteer)"}),Object(d.jsx)("label",{children:"Password [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:h,onChange:function(e){return O(e.target.value)},placeholder:"Input the default password (to be changed by the user)"}),Object(d.jsx)("label",{children:"Email [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:y,onChange:function(e){return k(e.target.value)},placeholder:"Input InAGlobe email here"}),Object(d.jsx)("label",{children:"Bio"}),Object(d.jsx)("input",{type:"text",value:C,onChange:function(e){return N(e.target.value)},placeholder:"Tell your colleagues a bit about yourself"}),Object(d.jsx)("label",{children:"Joined"}),Object(d.jsx)("input",{type:"text",value:E,onChange:function(e){return A(e.target.value)},placeholder:"Eg: 20th April 2020"}),Object(d.jsx)("label",{children:"Location"}),Object(d.jsx)("input",{type:"text",value:I,onChange:function(e){return L(e.target.value)},placeholder:"Where are you currently based?"}),Object(d.jsx)("label",{children:"Availibility"}),Object(d.jsx)("input",{type:"text",value:J,onChange:function(e){return B(e.target.value)},placeholder:"How available are you approximately per week?"}),Object(d.jsx)("label",{children:"Partnership Opportunities"}),Object(d.jsx)("input",{type:"text",value:W,onChange:function(e){return H(e.target.value)},placeholder:"Eg: Department of Computing at Imperial College London"}),Object(d.jsx)("label",{children:"Interests"}),Object(d.jsx)("input",{type:"text",value:R,onChange:function(e){return z(e.target.value)},placeholder:"What are your hobbies?"}),Object(d.jsx)("button",{children:"Add user"})]})]})},E=n(7),A=n(22),D=function(){var e=Object(o.g)().id,t=h("/projects/"+e),n=t.data,c=n.name,s=n.description,a=n.status,i=n.location,j=n.tag,u=n.files,b=(t.error,t.isPending),O=h("/users"),p=O.data,x=(O.errorUsers,O.isPendingUsers,Object(r.useState)([])),m=Object(l.a)(x,2),f=m[0],v=m[1],g=Object(o.f)(),y={name:c,description:s,status:a,location:i,tag:j,files:u},k=Object(A.a)({defaultValues:y}),S=k.register,w=k.handleSubmit;return Object(d.jsxs)("div",{className:"edit-project",children:[Object(d.jsx)("h2",{children:"Edit project"}),b&&Object(d.jsx)("h2",{children:"Loading..."}),c&&Object(d.jsxs)("form",{onSubmit:w((function(t){fetch("/projects/"+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){f.map((function(t){var n={username:t,project_id:e};fetch("/user_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}))})).then((function(){g.push("/")}))})),children:[Object(d.jsx)("label",{htmlFor:"name",children:"Project name"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},S("name")),{},{placeholder:"Insert project name here"})),Object(d.jsx)("label",{children:"Description"}),Object(d.jsx)("textarea",Object(E.a)(Object(E.a)({},S("description")),{},{name:"description",placeholder:"Insert description of the project here"})),Object(d.jsx)("label",{children:"Status"}),Object(d.jsxs)("select",Object(E.a)(Object(E.a)({},S("status")),{},{name:"status",children:[Object(d.jsx)("option",{value:"Progress",children:"Progress"}),Object(d.jsx)("option",{value:"Available",children:"Available"}),Object(d.jsx)("option",{value:"Completed",children:"Completed"})]})),Object(d.jsx)("label",{children:"Location"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},S("location")),{},{type:"text",placeholder:"Insert location of project here",name:"location"})),Object(d.jsx)("label",{children:"Type of project"}),Object(d.jsxs)("select",Object(E.a)(Object(E.a)({},S("tag")),{},{name:"tag",children:[Object(d.jsx)("option",{value:"Social",children:"Social"}),Object(d.jsx)("option",{value:"Education",children:"Education"}),Object(d.jsx)("option",{value:"Wash",children:"Wash"}),Object(d.jsx)("option",{value:"Environment",children:"Environment"}),Object(d.jsx)("option",{value:"Health",children:"Health"}),Object(d.jsx)("option",{value:"Other",children:"Other"})]})),Object(d.jsx)("label",{children:"Volunteers assigned to this project"}),Object(d.jsx)("select",{multiple:!0,onChange:function(e){return v(f.concat(e.target.value))},value:f,children:p.map((function(e){return Object(d.jsxs)("option",{value:e.username,children:[e.firstname," ",e.surname]})}))}),Object(d.jsx)("label",{children:"Google Drive folder"}),Object(d.jsx)("textarea",Object(E.a)(Object(E.a)({},S("files")),{},{name:"files",placeholder:"Insert Google Drive Folder link here"})),Object(d.jsx)("button",{type:"submit",children:"Save project details"})]})]})},_=n(33),I=function(){var e=Object(o.f)(),t=j(),n=(t.setToken,t.token);return Object(d.jsxs)(_.slide,{children:[Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/",children:"Home"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/users/"+n,children:"Profile"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/users",children:"All Users"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/projects",children:"All Projects"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)("a",{href:"https://slack.com/intl/en-gb/",target:"_blank",children:"Go To Slack"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)("a",{style:{textDecoration:"underline",cursor:"pointer"},onClick:function(t){t.preventDefault(),localStorage.clear(),window.location.reload(),e.push("/")},children:"Log Out"})})]})},L=function(){var e=Object(o.g)().username,t=h("/users/"+e),n=t.data,r=n.firstname,c=n.surname,s=n.password,a=n.title,l=n.email,j=n.bio,u=n.joined,b=n.location,O=n.availability,p=n.partnership_opportunities,x=n.interests,m=(t.error,t.isPending),f=Object(o.f)(),v={firstname:r,surname:c,password:s,title:a,email:l,bio:j,joined:u,location:b,availability:O,partnership_opportunities:p,interests:x},g=Object(A.a)({defaultValues:v}),y=g.register,k=g.handleSubmit;return Object(d.jsxs)("div",{className:"edit-user",children:[Object(d.jsx)("h2",{children:"Edit user"}),m&&Object(d.jsx)("h2",{children:"Loading..."}),Object(d.jsx)(i.b,{to:"/users/change-password",children:"Change Password"}),r&&Object(d.jsxs)("form",{onSubmit:k((function(t){fetch("/users/"+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){f.push("/")}))})),children:[Object(d.jsx)("label",{htmlFor:"firstname",children:"Firstname"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("firstname")),{},{placeholder:"Input your first name here"})),Object(d.jsx)("label",{htmlFor:"surname",children:"Surname"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("surname")),{},{placeholder:"Input surname here"})),Object(d.jsx)("label",{htmlFor:"title",children:"Title"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("title")),{},{placeholder:"State your role at InAGlobe (eg: volunteer)"})),Object(d.jsx)("label",{htmlFor:"password",children:"Password"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("password")),{},{placeholder:"Input the password"})),Object(d.jsx)("label",{htmlFor:"email",children:"Email"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("email")),{},{placeholder:"Input InAGlobe email here"})),Object(d.jsx)("label",{htmlFor:"bio",children:"Bio"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("bio")),{},{placeholder:"Tell your colleagues a bit about yourself"})),Object(d.jsx)("label",{htmlFor:"joined",children:"Joined"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("joined")),{},{placeholder:"Eg: 20th April 2020"})),Object(d.jsx)("label",{htmlFor:"location",children:"Location"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("location")),{},{placeholder:"Where are you currently based?"})),Object(d.jsx)("label",{htmlFor:"availability",children:"Availibility"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("availability")),{},{placeholder:"How available are you approximately per week?"})),Object(d.jsx)("label",{htmlFor:"partnership_opportunities",children:"Partnership Opportunities"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("partnership_opportunities")),{},{placeholder:"Eg: Department of Computing at Imperial College London"})),Object(d.jsx)("label",{htmlFor:"interests",children:"Interests"}),Object(d.jsx)("input",Object(E.a)(Object(E.a)({},y("interests")),{},{placeholder:"What are your hobbies?"})),Object(d.jsx)("button",{type:"submit",children:"Save user details"})]})]})},q=function(e){var t=e.project_tasks,n=(Object(o.f)(),Object(r.useState)("")),c=Object(l.a)(n,2),s=c[0],a=c[1],i=Object(r.useState)(1),j=Object(l.a)(i,2),u=j[0],b=j[1],h=Object(r.useState)(Date.now),O=Object(l.a)(h,2),p=O[0],x=O[1],m=Object(r.useState)(""),f=Object(l.a)(m,2),v=f[0],g=f[1],y=Object(r.useState)(""),k=Object(l.a)(y,2),S=k[0],w=k[1],C=function(e){return function(t){t.preventDefault(),console.log(e.id),a(e.description),b(e.priority),x(e.due_date),g("Completed"),w(e.project_id);var n={description:s,priority:u,due_date:p,completed:v,project_id:S};console.log(n),fetch("/projects/"+e.project_id+"/tasks/"+e.id,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(){window.location.reload()}))}},N=function(e){return function(t){t.preventDefault(),fetch("/projects/"+e.project_id+"/tasks/"+e.id,{method:"DELETE"}).then((function(){window.location.reload()}))}};return Object(d.jsx)("div",{className:"project-tasks-list",children:t.map((function(e){return Object(d.jsxs)("div",{className:"project-task-preview",children:[Object(d.jsxs)("div",{children:[Object(d.jsx)("h2",{children:e.description}),Object(d.jsxs)("h3",{children:["Due date: ",e.due_date]})]}),Object(d.jsxs)("h3",{children:["Priority: ",e.priority]}),!e.completed&&Object(d.jsx)("button",{className:"task-complete-button",onClick:C(e),children:"Complete"}),Object(d.jsx)("button",{className:"task-delete-button",onClick:N(e),children:"Delete"})]},e.id)}))})},F=function(){var e=Object(o.g)().id,t=h("/projects/"+e),n=t.data,r=(t.errorProject,t.isPendingProject,h("/projects/"+e+"/tasks")),c=r.data,s=(r.errorTasks,r.isPendingTasks);return Object(d.jsxs)("div",{className:"project-tasks",children:[n&&Object(d.jsxs)("h1",{children:[n.name,": tasks"]}),Object(d.jsx)("h2",{children:"Ongoing Project Tasks"}),s&&Object(d.jsx)("h2",{children:"Loading..."}),c&&Object(d.jsx)(q,{project_tasks:c.filter((function(e){return!e.completed}))}),Object(d.jsx)("h2",{children:"Completed Project Tasks"}),c&&Object(d.jsx)(q,{project_tasks:c.filter((function(e){return e.completed}))}),Object(d.jsx)("div",{className:"add-task-button-wrapper",children:c&&Object(d.jsx)(i.b,{to:"/projects/".concat(n.id,"/add-task"),className:"add-task-button",children:"Add Task"})})]})},J=function(){var e=Object(o.g)().id,t=Object(r.useState)(""),n=Object(l.a)(t,2),c=n[0],s=n[1],a=Object(r.useState)(Date.now),i=Object(l.a)(a,2),j=i[0],u=i[1],b=Object(r.useState)(1),O=Object(l.a)(b,2),p=O[0],x=O[1],m=Object(r.useState)(!1),y=Object(l.a)(m,2),k=y[0],S=y[1],w=Object(r.useState)([]),C=Object(l.a)(w,2),N=C[0],P=C[1],T=h("/projects/"+e),E=T.data,A=(T.error,T.isPending),D=h("/user_project/project_task/"+e),_=D.data,I=(D.errorParticipants,D.isPendingParticipants,Object(o.f)()),L=function(){var t=Object(v.a)(f.a.mark((function t(n){var r,s,a,i;return f.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.preventDefault(),r={description:c,due_date:j,priority:p,completed:k},t.next=4,fetch("/projects/"+E.id+"/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 4:return s=t.sent,t.next=7,s.json();case 7:a=t.sent,i=a.id,N.map((function(e){var t={username:e,task_id:i};fetch("/assigned_task",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})})),I.push("/projects/"+e);case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"add-project-task",children:[Object(d.jsx)("h2",{children:"Add a new task"}),A&&Object(d.jsx)("h2",{children:"Loading..."}),E&&Object(d.jsxs)("form",{onSubmit:L,children:[Object(d.jsx)("label",{children:"Description"}),Object(d.jsx)("input",{type:"text",required:!0,value:c,onChange:function(e){return s(e.target.value)},placeholder:"Input description here"}),Object(d.jsx)("label",{children:"Due Date [required]"}),Object(d.jsx)("input",{type:"date",required:!0,value:j,onChange:function(e){return u(e.target.value)},placeholder:"Input your first name here"}),Object(d.jsx)("label",{children:"Priority level (1: lowest, 4: highest) [required]"}),Object(d.jsxs)("select",{required:!0,value:p,onChange:function(e){return x(e.target.value)},children:[Object(d.jsx)("option",{value:"1",children:"1"}),Object(d.jsx)("option",{value:"2",children:"2"}),Object(d.jsx)("option",{value:"3",children:"3"}),Object(d.jsx)("option",{value:"4",children:"4"})]}),Object(d.jsx)("label",{children:"Volunteers assigned to this task"}),Object(d.jsx)(g.a,{className:"dropdown",placeholder:"Select Users",value:_.filter((function(e){return N.includes(e.value)})),options:_,onChange:function(e){P(Array.isArray(e)?e.map((function(e){return e.value})):[])},isMulti:!0,isClearable:!0}),Object(d.jsx)("label",{children:"Status"}),Object(d.jsxs)("select",{value:k,onChange:function(e){return S(e.target.value)},children:[Object(d.jsx)("option",{value:"Incomplete",children:"Available"}),Object(d.jsx)("option",{value:"Completed",children:"Completed"})]}),Object(d.jsx)("button",{children:"Add task"})]})]})};function B(e){return U.apply(this,arguments)}function U(){return(U=Object(v.a)(f.a.mark((function e(t){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch("/users/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return e.json()})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function G(e){var t=e.setToken,n=Object(r.useState)(),c=Object(l.a)(n,2),s=c[0],a=c[1],o=Object(r.useState)(),j=Object(l.a)(o,2),u=j[0],b=j[1],h=function(){var e=Object(v.a)(f.a.mark((function e(n){var r;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.preventDefault(),e.next=3,B({username:s,password:u});case 3:""!=(r=e.sent).token?t(r):document.getElementsByClassName("incorrect-password")[0].style.display="block";case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"login",children:[Object(d.jsx)("h1",{children:" InAGlobe Platform "}),Object(d.jsxs)("form",{onSubmit:h,children:[Object(d.jsx)("input",{type:"text",id:"login",class:"fadeIn second",name:"login",placeholder:"login",onChange:function(e){return a(e.target.value)}}),Object(d.jsx)("input",{type:"password",id:"password",class:"fadeIn third",name:"login",placeholder:"password",onChange:function(e){return b(e.target.value)}}),Object(d.jsx)("div",{className:"incorrect-password",style:{display:"none"},children:Object(d.jsx)("h2",{children:"Incorrect password!"})}),Object(d.jsx)("div",{className:"links",children:Object(d.jsx)(i.b,{to:"/forgot-password",children:"Forgot Password"})}),Object(d.jsx)("button",{type:"submit",children:"Log In"})]})]})}var W=function(){var e=Object(r.useState)(""),t=Object(l.a)(e,2),n=t[0],c=t[1],s=Object(r.useState)(""),a=Object(l.a)(s,2),u=a[0],b=a[1],h=j(),O=(h.setToken,h.token);Object(o.f)();function p(){return x.apply(this,arguments)}function x(){return(x=Object(v.a)(f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch("/users/update-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:O,oldPassword:n,newPassword:u})}).then((function(e){return e.json()})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var m=function(){var e=Object(v.a)(f.a.mark((function e(t){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.next=3,p();case 3:"True"!=e.sent.status?document.getElementsByClassName("incorrect-password")[0].style.display="block":document.getElementsByClassName("password-changed-msg")[0].style.display="block";case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"change-password",children:[Object(d.jsx)("h2",{children:"Change Password"}),Object(d.jsx)("label",{children:"Current Password"}),Object(d.jsx)("input",{onChange:function(e){return c(e.target.value)},placeholder:"Current Password"}),Object(d.jsx)("label",{children:"New Password"}),Object(d.jsx)("input",{onChange:function(e){return b(e.target.value)},placeholder:"New Password"}),Object(d.jsx)("button",{onClick:m,children:"Change password"}),Object(d.jsx)("h2",{className:"incorrect-password",style:{display:"none"},children:"Incorrect password"}),Object(d.jsxs)("div",{className:"password-changed-msg",style:{display:"none"},children:[Object(d.jsx)("h3",{children:"Your password has been changed successfully"}),Object(d.jsx)(i.b,{to:"/",children:"Back to Dashboard"})]})]})},H=function(){var e=h("/projects"),t=e.data,n=(e.errorProjects,e.isPendingProjects);return Object(d.jsxs)("div",{className:"project-registry",children:[Object(d.jsx)("h1",{children:"All Projects"}),Object(d.jsx)("br",{}),n&&Object(d.jsx)("h2",{children:"Loading..."}),t&&Object(d.jsx)(b,{projects:t,title:"All Projects"})]})};function M(e){return V.apply(this,arguments)}function V(){return(V=Object(v.a)(f.a.mark((function e(t){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch("/users/forgot-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return e.json()})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var R=function(){var e=Object(r.useState)("."),t=Object(l.a)(e,2),n=t[0],c=t[1],s=Object(o.f)(),a=function(){var e=Object(v.a)(f.a.mark((function e(t){var r;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),"."==n){e.next=7;break}return r={username:n,newPassword:Math.random().toString(36).replace(/[^a-z]+/g,"")},e.next=5,M(r);case 5:"False"==e.sent.status?(document.getElementsByClassName("email-sent")[0].style.display="none",document.getElementsByClassName("incorrect-username")[0].style.display="block"):(document.getElementsByClassName("incorrect-username")[0].style.display="none",document.getElementsByClassName("email-sent")[0].style.display="block");case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"forgot-password",children:[Object(d.jsxs)("form",{onSubmit:a,children:[Object(d.jsx)("h1",{children:"Forgot Password"}),Object(d.jsx)("h2",{children:"Input your username"}),Object(d.jsx)("input",{type:"text",placeholder:"username",onChange:function(e){return c(e.target.value)}}),Object(d.jsx)("div",{className:"incorrect-username",style:{display:"none"},children:Object(d.jsx)("h2",{children:"Incorrect username provided!"})}),Object(d.jsx)("div",{className:"email-sent",style:{display:"none"},children:Object(d.jsx)("h2",{children:"Email has been sent!"})}),Object(d.jsx)("button",{children:"Submit"})]}),Object(d.jsx)("button",{onClick:function(e){e.preventDefault(),s.push("/")},children:"Back to Login Page"})]})};var z=function(){var e=j(),t=e.token,n=e.setToken;return t?Object(d.jsx)(i.a,{children:Object(d.jsxs)("div",{className:"App",children:[Object(d.jsx)(I,{}),Object(d.jsx)(u,{}),Object(d.jsx)("div",{className:"content",children:Object(d.jsxs)(o.c,{children:[Object(d.jsx)(o.a,{exact:!0,path:"/",children:Object(d.jsx)(x,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/create-project",children:Object(d.jsx)(y,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/add-user",children:Object(d.jsx)(T,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/my-profile",children:Object(d.jsx)(w,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/users",children:Object(d.jsx)(P,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/users/change-password",children:Object(d.jsx)(W,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/users/:username",children:Object(d.jsx)(C,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/edit-user/:username",children:Object(d.jsx)(L,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects",children:Object(d.jsx)(H,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects/:id/add-task",children:Object(d.jsx)(J,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects/:id/tasks",children:Object(d.jsx)(F,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects/:id",children:Object(d.jsx)(k,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/edit-project/:id",children:Object(d.jsx)(D,{})}),Object(d.jsx)(o.a,{path:"*",children:Object(d.jsx)(S,{})})]})})]})}):Object(d.jsx)(i.a,{children:Object(d.jsxs)(o.c,{children:[Object(d.jsx)(o.a,{exact:!0,path:"/forgot-password",children:Object(d.jsx)(R,{})}),Object(d.jsx)(o.a,{path:"*",children:Object(d.jsx)(G,{setToken:n})})]})})},K=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,73)).then((function(t){var n=t.getCLS,r=t.getFID,c=t.getFCP,s=t.getLCP,a=t.getTTFB;n(e),r(e),c(e),s(e),a(e)}))};a.a.render(Object(d.jsx)(c.a.StrictMode,{children:Object(d.jsx)(z,{})}),document.getElementById("root")),K()}},[[72,1,2]]]); +//# sourceMappingURL=main.4f2a1e71.chunk.js.map \ No newline at end of file diff --git a/backend/static/react/js/main.4f2a1e71.chunk.js.map b/backend/static/react/js/main.4f2a1e71.chunk.js.map new file mode 100644 index 0000000000000000000000000000000000000000..90faae38704dcdb1344782c0b0d8c458da9d8010 --- /dev/null +++ b/backend/static/react/js/main.4f2a1e71.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["useToken.js","Navbar.js","ProjectList.js","useFetch.js","MyProjectTasks.js","PersonalToDo.js","Home.js","CreateProject.js","ProjectDetails.js","PageNotFound.js","MyProfile.js","User.js","UserList.js","Users.js","AddUser.js","EditProject.js","Sidebar.js","EditUser.js","ProjectTaskList.js","ProjectTasks.js","AddProjectTask.js","Login.js","ChangePassword.js","ProjectsRegistry.js","ForgotPassword.js","App.js","reportWebVitals.js","index.js"],"names":["useToken","useState","tokenString","localStorage","getItem","userToken","JSON","parse","token","getToken","setToken","setItem","stringify","Navbar","className","href","style","color","fontSize","borderRadius","to","ProjectList","projects","map","project","id","name","status","useFetch","url","data","setData","error","setError","isPending","setIsPending","useEffect","fetch","then","res","ok","Error","json","catch","err","message","MyProjectTasks","tasks","title","task","description","priority","due_date","PersonalToDo","todos","users","todo_desc","setTodoDesc","setPriority","Date","now","setDueDate","username","setUsername","float","onClick","document","getElementsByClassName","display","onSubmit","e","preventDefault","newTodo","method","headers","body","window","location","reload","value","onChange","target","required","placeholder","type","user","todo","Home","isPendingTodos","errorTodos","isPendingRProjects","errorRProjects","project_tasks","errorProjectTasks","isPendingProjectTasks","width","filter","CreateProject","setName","setDescription","setStatus","tag","setTag","setLocation","files","setFiles","selectUsernames","setSelectUsernames","history","useHistory","handleSubmit","a","newProject","response","responseJSON","project_id","assign_project","push","includes","options","Array","isArray","x","isMulti","isClearable","ProjectDetails","useParams","assignments","errorAssignment","isPendingAssignment","marginBottom","marginright","backgroundColor","cursor","marginRight","open","PageNotFound","MyProfile","firstname","surname","email","bio","joined","availability","partnership_opportunities","interests","User","UserList","Users","AddUser","setFirstname","setSurname","password","setPassword","setTitle","setEmail","setBio","setJoined","setAvailability","setPartnership_opportunities","setInterests","newUser","EditProject","errorUsers","isPendingUsers","oldProjectDetails","useForm","defaultValues","register","htmlFor","multiple","concat","Sidebar","textDecoration","clear","EditUser","oldUserDetails","ProjectTaskList","completed","setCompleted","setProjectId","handleComplete","console","log","newTask","handleDelete","ProjectTasks","errorProject","isPendingProject","isPendingTasks","errorTasks","AddProjectTask","assignedUsers","setAssignedUsers","participants","errorParticipants","isPendingParticipants","newProjectTask","task_id","assigned_task","loginUser","credentials","Login","setUserName","class","ChangePassword","oldPassword","setOldPassword","newPassword","setNewPassword","passwordUpdate","ProjectRegistry","isPendingProjects","errorProjects","resetPassword","msg","ForgotPassword","Math","random","toString","replace","App","exact","path","ProjectsRegistry","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"js/main.4f2a1e71.chunk.js","sourcesContent":["import { useState } from 'react';\n\nexport default function useToken() {\n const getToken = () => {\n const tokenString = localStorage.getItem('token');\n const userToken = JSON.parse(tokenString);\n return userToken?.token\n };\n \n const [token, setToken] = useState(getToken());\n\n const saveToken = userToken => {\n localStorage.setItem('token', JSON.stringify(userToken));\n setToken(userToken.token);\n };\n\n return {\n setToken: saveToken,\n token\n }\n\n}","import { Link } from 'react-router-dom'\nimport useToken from './useToken';\n\nconst Navbar = () => {\n const {setToken, token} = useToken();\n\n return (\n <nav className=\"navbar\" >\n <a href=\"/\" style={{ \n color: '#ff4e83',\n fontSize: '20px',\n borderRadius: '8px' \n }}>InAGlobe Platform</a>\n <div className=\"links\"> \n <Link to={`/create-project`}>New Project</Link>\n <Link to={`/users/` + token}>My Profile</Link>\n </div>\n </nav>\n );\n}\n \nexport default Navbar;","import { Link } from 'react-router-dom'\n\nconst ProjectList = ({ projects }) => {\n\n return (\n <div className=\"project-list\">\n {projects.map((project) => (\n <div className=\"preview\" key={project.id}>\n <Link to={`/projects/${project.id}`}>\n <h2>{project.name}</h2>\n <h3>{project.status}</h3>\n </Link>\n </div>\n ))}\n </div>\n );\n}\n \nexport default ProjectList;","import { useState, useEffect } from 'react';\n\nconst useFetch = (url) => {\n const [data, setData] = useState([]);\n const [error, setError] = useState(null);\n const [isPending, setIsPending] = useState(true);\n\n useEffect(() => {\n fetch(url)\n .then(res => {\n if (!res.ok) { // error coming back from server\n throw Error('could not fetch the data for that resource');\n } \n return res.json();\n })\n .then(data => {\n setData(data);\n setIsPending(false);\n setError(null);\n })\n .catch(err => {\n // auto catches network / connection error\n setError(err.message);\n })\n }, [url])\n\n return { data, error, isPending };\n}\n \nexport default useFetch;","import useFetch from './useFetch'\nimport { useState } from \"react\";\n\nconst MyProjectTasks = ({ tasks, title }) => {\n return (\n <div>\n <h2>{title}</h2>\n\n <div className=\"my-project-tasks\">\n {tasks.map((task) => (\n <div className=\"task-preview\" key={task.id}>\n <h2>{task.description}</h2>\n <h3><strong>Priority level:</strong> {task.priority}</h3>\n <h3><strong>To be done by:</strong> {task.due_date}</h3>\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nexport default MyProjectTasks;","import useFetch from './useFetch'\nimport { useState } from \"react\";\nimport useToken from './useToken'\n\nconst PersonalToDo = ({ todos, title }) => {\n\n const openTaskForm = () => {\n document.getElementsByClassName(\"add-todo-form\")[0].style.display = \"block\";\n }\n const {setToken, token} = useToken();\n\n\n const { data: users, error, isPending } = useFetch(\"/users\")\n\n const [todo_desc, setTodoDesc] = useState(\"\");\n const [priority, setPriority] = useState(1);\n const [due_date, setDueDate] = useState(Date.now());\n const [username, setUsername] = useState(token);\n\n const handleSubmit = e => {\n document.getElementsByClassName(\"add-todo-form\")[0].style.display = \"none\";\n\n e.preventDefault();\n const newTodo = { todo_desc, priority, due_date, username };\n\n fetch(\"/todos\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newTodo)\n }).then(() => {\n window.location.reload();\n })\n }\n\n const handleRemove = id => e => {\n e.preventDefault();\n fetch(\"/todos/\" + id, { method: 'DELETE' })\n .then(() => {\n window.location.reload();\n })\n };\n\n return (\n <div className=\"todo-list\" style={{float: \"right\"}}>\n <h2>{title}</h2>\n\n <div className=\"add-todo-button\">\n <button onClick={openTaskForm}>Add a personal task</button>\n </div>\n\n { isPending && <h2>Loading...</h2> }\n\n <div className=\"add-todo-form\">\n { users && <form onSubmit={handleSubmit}>\n <label>Task description [required]</label>\n <textarea value={todo_desc} onChange={(e) => setTodoDesc(e.target.value)} required placeholder=\"Add some awesome description!\" ></textarea>\n <label>Priority level (1: lowest, 4: highest)</label>\n <select value={priority} onChange={(e) => setPriority(e.target.value)} >\n <option value=\"1\">1</option>\n <option value=\"2\">2</option>\n <option value=\"3\">3</option>\n <option value=\"4\">4</option>\n </select>\n <label>When should this task be done by? [required]</label>\n <input\n required\n type=\"date\"\n value={due_date}\n onChange={(e) => setDueDate(e.target.value)}\n />\n <label>Assigned user</label>\n <select value={username} onChange={(e) => setUsername(e.target.value)} >\n {users.map(user => <option value={user.username}>{user.username}</option>)}\n </select>\n <button>Save task</button>\n </form> }\n </div>\n\n <div className=\"personal-todos\">\n {todos.map((todo) => (\n <div className=\"todo-preview\" key={todo.id}>\n <h2>{todo.todo_desc}</h2>\n <h3>Priority level: {todo.priority}</h3>\n <h3>To be done by:{todo.due_date}</h3>\n <button onClick={handleRemove(todo.id)}>Complete</button>\n </div>\n ))}\n </div>\n\n </div>\n );\n\n}\n\nexport default PersonalToDo;","import ProjectList from './ProjectList';\nimport MyProjectTasks from './MyProjectTasks';\nimport PersonalToDo from './PersonalToDo';\nimport useFetch from './useFetch';\nimport useToken from './useToken';\nimport { useState } from \"react\";\n\nconst Home = () => {\n\n const { data: todos, errorTodos, isPendingTodos } = useFetch(\"/todos\");\n const { setToken, token } = useToken();\n\n const { data: projects, errorRProjects, isPendingRProjects } = useFetch(\"/user_project/username/\" + token);\n // const project_tasks = [\n // {\n // \"description\": \"This is example 1\",\n // \"due_date\": \"17/06/2021\",\n // \"priority\": 1,\n // \"completed\": \"Completed\",\n // \"project_id\": 2,\n // \"id\": 1\n // },\n // {\n // \"description\": \"This is example 2\",\n // \"due_date\": \"18/06/2021\",\n // \"priority\": 1,\n // \"completed\": \"Available\",\n // \"project_id\": 3,\n // \"id\": 2\n // },\n // {\n // \"description\": \"This is example 3\",\n // \"due_date\": \"21/06/2021\",\n // \"priority\": 2,\n // \"completed\": \"Available\",\n // \"project_id\": 4,\n // \"id\": 3\n // }\n // ]\n\n const {data: project_tasks, errorProjectTasks, isPendingProjectTasks} = useFetch(\"/assigned_task/username/\" + token)\n\n return (\n <div className=\"home\">\n <h1>Dashboard</h1>\n <div className=\"home-projects\" style={{ float: \"left\", width: \"600px\" }}>\n {isPendingRProjects && <h2>Loading...</h2>}\n {projects && <ProjectList projects={projects} title=\"My Projects\" />}\n </div>\n <div className=\"homeTodos\">\n {isPendingTodos && <h2>Loading...</h2>}\n {todos && <PersonalToDo todos={todos.filter(todo => todo.username === token)} title=\"Personal ToDo items\" />}\n </div>\n <div className=\"home-project-tasks\" style={{ float: \"left\", width: \"600px\" }}>\n {isPendingRProjects && <h2>Loading...</h2>}\n {projects && <MyProjectTasks tasks={project_tasks} title=\"My tasks from all projects\" />}\n </div>\n </div>\n\n );\n}\n\nexport default Home;","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\"\nimport Select from 'react-select';\nimport useFetch from './useFetch'\n\nconst CreateProject = () => {\n const [name, setName] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [status, setStatus] = useState(\"Available\");\n const [tag, setTag] = useState(\"Other\");\n const [location, setLocation] = useState(\"\");\n const [files, setFiles] = useState(\"\");\n\n const [selectUsernames, setSelectUsernames] = useState([]);\n\n const history = useHistory();\n\n const { data: users, error, isPending } = useFetch(\"/users/user_project\");\n\n const usernames = users.map(user => user.username);\n\n const handleChange = (e) => {\n setSelectUsernames(Array.isArray(e) ? e.map(x => x.value) : []); \n }\n\n const handleSubmit = async e => {\n e.preventDefault()\n\n const newProject = { name, description, status, tag, location, files };\n\n const response = await fetch(\"/projects\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newProject)\n });\n\n const responseJSON = await response.json();\n\n const project_id = responseJSON.id;\n\n selectUsernames.map(username => {\n const assign_project = { username, project_id };\n\n fetch(\"/user_project\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(assign_project)\n });\n });\n\n history.push(\"/\");\n }\n\n return (\n <div className=\"create-project\">\n <h2>Add a new project</h2>\n <form onSubmit={handleSubmit}>\n <label>Project name [required]</label>\n <input\n type=\"text\"\n required\n value={name}\n onChange={(e) => setName(e.target.value)}\n placeholder=\"Input project name\"\n />\n <label>Description [required]</label>\n <textarea required placeholder=\"Add some awesome description!\" value={description} onChange={(e) => setDescription(e.target.value)}></textarea>\n <label>Status</label>\n <select value={status} onChange={(e) => setStatus(e.target.value)}>\n <option value=\"Progress\">Progress</option>\n <option value=\"Available\">Available</option>\n <option value=\"Completed\">Completed</option>\n </select>\n <label>Location</label>\n <input\n type=\"text\"\n value={location}\n onChange={(e) => setLocation(e.target.value)}\n placeholder=\"Eg: United Kingdom\"\n />\n <label>Type of project [required]</label>\n <select required value={tag} onChange={(e) => setTag(e.target.value)}>\n <option value=\"Social\">Social</option>\n <option value=\"Education\">Education</option>\n <option value=\"Wash\">Wash</option>\n <option value=\"Environment\">Environment</option>\n <option value=\"Health\">Health</option>\n <option value=\"Other\">Other</option>\n </select>\n <label>Volunteers assigned to this project</label>\n <Select\n className=\"dropdown\"\n placeholder=\"Select Users\"\n value={users.filter(user => selectUsernames.includes(user.value))}\n options={users} // set list of the usernames\n onChange={handleChange} // assign onChange function\n isMulti\n isClearable\n />\n <label>Google Drive folder</label>\n <textarea placeholder=\"Copy the link to the Google Drive folder for this project\" value={files} onChange={(e) => setFiles(e.target.value)}></textarea>\n <button>Add project</button>\n </form>\n </div>\n );\n}\n\n\nexport default CreateProject;","import { useHistory, useParams } from 'react-router';\nimport useFetch from './useFetch'\nimport { Link } from \"react-router-dom\"\n\nconst ProjectDetails = () => {\n const { id } = useParams();\n const history = useHistory();\n\n const { data: project, error, isPending } = useFetch(\"/projects/\" + id)\n const { data: assignments, errorAssignment, isPendingAssignment } = useFetch(\"/user_project/project/\" + id)\n\n const handleRemove = e => {\n e.preventDefault()\n fetch(\"/projects/\" + id, { method: 'DELETE' })\n .then(() => { history.push('/'); })\n };\n\n return (\n <div className=\"project-details\">\n {isPending && <h2>Loading...</h2>}\n {project && <h2>{project.name}</h2>}\n {project && <button style={{\n fontSize: '20px',\n color: '#fff',\n marginBottom: '30px',\n marginright: '10px',\n borderRadius: '8px',\n backgroundColor: '#f1b535',\n cursor: 'default'\n }}>Status: {project.status}</button>}\n {project && <button style={{\n fontSize: '20px',\n color: '#fff',\n marginBottom: '30px',\n marginRight: '10px',\n borderRadius: '8px',\n backgroundColor: '#595bc0',\n cursor: 'default'\n }}>{project.tag}</button>}\n {project && <h4>Location: {project.location}</h4>}\n {project && <button onClick={(e) => {\n e.preventDefault();\n window.open(project.files, \"_blank\");\n }}>Documents</button>}\n {project && <p>{project.description}</p>}\n\n <h3>Volunteers working on this project</h3>\n <div className=\"project_user_assignment_list\">\n {assignments.map(a => (\n <div className=\"assigned_users_preview\" style={{float: \"left\", width: \"50%\"}} key={a.id}>\n <Link to={`/users/${a.username}`}>\n <h4>{a.username}</h4>\n </Link>\n </div>)\n )\n }\n </div>\n\n <div className=\"project-tasks\">\n {project && <Link to={`/projects/${project.id}/tasks`} className=\"view-tasks-button\">View Tasks</Link>}\n\n {project && <Link to={`/projects/${project.id}/add-task`} className=\"add-task-button\">Add Task</Link>}\n </div>\n\n <div>\n {project && <button onClick={handleRemove}>Delete project</button>}\n\n {project && <Link to={`/edit-project/${project.id}`} className=\"edit-project-button\">Edit project</Link>}\n </div>\n\n </div>\n\n );\n}\n\nexport default ProjectDetails;","import { Link } from \"react-router-dom\"\n\nconst PageNotFound = () => {\n return (\n <div className=\"page-not-found\">\n <h2>Something went wrong...</h2>\n <p>That page cannot be found</p>\n <Link to='/'>Back to the main page</Link>\n </div>\n );\n}\n \nexport default PageNotFound;","import { useHistory, useParams } from 'react-router';\nimport useFetch from './useFetch'\nimport useToken from './useToken';\n\nconst MyProfile = () => {\n const {setToken, token} = useToken();\n\n const {data: user, error, isPending} = useFetch(\"/users/\" + token)\n\n return (\n <div className=\"my-profile\">\n { isPending && <h2>Loading...</h2> }\n { user && <h2>{user.firstname + \" \" + user.surname}</h2> }\n { user && <h1>{\"Username: \" + user.token}</h1> }\n { user && <h1>{\"Title: \" + user.title}</h1> }\n { user && <h1>{\"Email: \" + user.email}</h1> }\n { user && <h1>{\"Bio: \" + user.bio}</h1> }\n { user && <h1>{\"Joined: \" + user.joined}</h1> }\n { user && <h1>{\"Location: \" + user.location}</h1> }\n { user && <h1>{\"Availability: \" + user.availability}</h1> }\n { user && <h1>{\"Partnership Opportunities: \" + user.partnership_opportunities}</h1> }\n { user && <h1>{\"Interests: \" + user.interests}</h1> } \n </div>\n );\n}\n\nexport default MyProfile;","import { useHistory, useParams } from 'react-router';\nimport useFetch from './useFetch'\nimport { Link } from \"react-router-dom\"\nimport useToken from './useToken';\n\nconst User = () => {\n const {username} = useParams();\n const history = useHistory();\n const {setToken, token} = useToken();\n \n const {data: user, error, isPending} = useFetch(\"/users/\" + username)\n \n const handleRemove = e => {\n e.preventDefault()\n fetch(\"/users/\" + username, {method: 'DELETE'})\n .then(()=> {history.push('/');})\n };\n\n return (\n <div className=\"user\">\n { isPending && <h2>Loading...</h2> }\n { user && <div>\n <h2>{user.firstname + \" \" + user.surname}</h2>\n </div> }\n\n { user && <div>\n <h3><strong>Username: </strong>{user.username}</h3>\n <h3><strong>Email: </strong>{user.email}</h3> \n <h3><strong>Title: </strong>{user.title}</h3>\n <h3><strong>Joined: </strong>{user.joined}</h3>\n <h3><strong>Location: </strong>{user.location}</h3>\n <h3><strong>Availability: </strong>{user.availability}</h3>\n </div> }\n\n <br />\n\n { user && <div>\n <label><strong>Bio</strong></label>\n <p>{user.bio}</p>\n </div> }\n \n { user && <div>\n <label><strong>Partnership Opportunities</strong></label>\n <p>{user.partnership_opportunities}</p>\n </div> }\n\n { user && <div>\n <label><strong>Interests</strong></label>\n <p>{user.interests}</p>\n </div> }\n\n { user && (token == \"jaimeaguilera\" || username == token) && <button onClick={handleRemove}>Delete user</button> }\n \n { user && (token == \"jaimeaguilera\" || username == token) && <Link to={`/edit-user/${username}`} className=\"edit-user-button\">Edit details</Link> }\n </div>\n );\n}\n \nexport default User;","import { Link } from 'react-router-dom'\n\nconst UserList = ({ users }) => {\n\n return (\n <div className=\"user-list\">\n\n {users.map((user) => (\n <div className=\"preview\" key={user.username}>\n <Link to={`/users/${user.username}`}>\n <h2>{user.username}</h2>\n </Link>\n </div>\n ))}\n </div>\n );\n}\n \nexport default UserList;\n","import UserList from './UserList'\nimport useFetch from './useFetch'\nimport useToken from './useToken'\nimport { Link } from 'react-router-dom'\n\nconst Users = () => {\n\n const {data: users, error, isPending} = useFetch(\"/users\")\n const {setToken, token} = useToken();\n\n return (\n <div className=\"users\">\n <h1>Users</h1>\n { <Link to={`/add-user`} className=\"add-user-button\">Add User</Link> }\n <br />\n <br />\n { isPending && <h2>Loading...</h2> }\n { users && <UserList users={users} title=\"All Users\"/> }\n </div>\n );\n}\n \nexport default Users;","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\"\n\n\n\nconst AddUser = () => {\n const [firstname, setFirstname] = useState(\"\");\n const [surname, setSurname] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [title, setTitle] = useState(\"\")\n const [email, setEmail] = useState(\"\");\n const [bio, setBio] = useState(\"\");\n const [joined, setJoined] = useState(\"\");\n const [location, setLocation] = useState(\"\");\n const [availability, setAvailability] = useState(\"\");\n const [partnership_opportunities, setPartnership_opportunities] = useState(\"\");\n const [interests, setInterests] = useState(\"\");\n const [username, setUsername] = useState(\"\");\n\n\n const history = useHistory();\n\n const handleSubmit = e => {\n e.preventDefault()\n\n const newUser = {\n firstname,\n surname,\n password,\n title,\n email,\n bio,\n joined,\n location,\n availability,\n partnership_opportunities,\n interests,\n username\n }\n\n fetch(\"/users\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newUser)\n }).then(() => {\n history.push('/users');\n })\n }\n\n return (\n <div className=\"add-user\">\n <h2>Add a new user</h2>\n <form onSubmit={handleSubmit}>\n <label>Username [required]</label>\n <input\n type=\"text\"\n required\n value={username}\n onChange={(e) => setUsername(e.target.value)}\n placeholder=\"Input username here\"\n />\n\n\n <label>Firstname [required]</label>\n <input\n type=\"text\"\n required\n value={firstname}\n onChange={(e) => setFirstname(e.target.value)}\n placeholder=\"Input your first name here\"\n />\n\n <label>Surname [required]</label>\n <input\n type=\"text\"\n required\n value={surname}\n onChange={(e) => setSurname(e.target.value)}\n placeholder=\"Input surname here\"\n />\n\n <label>Title [required]</label>\n <input\n type=\"text\"\n required\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n placeholder=\"State your role at InAGlobe (eg: volunteer)\"\n />\n\n <label>Password [required]</label>\n <input\n type=\"text\"\n required\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n placeholder=\"Input the default password (to be changed by the user)\"\n />\n\n <label>Email [required]</label>\n <input\n type=\"text\"\n required\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n placeholder=\"Input InAGlobe email here\"\n />\n\n\n <label>Bio</label>\n <input\n type=\"text\"\n value={bio}\n onChange={(e) => setBio(e.target.value)}\n placeholder=\"Tell your colleagues a bit about yourself\"\n />\n\n {/* Think about changing type to force date */}\n <label>Joined</label>\n <input\n type=\"text\"\n value={joined}\n onChange={(e) => setJoined(e.target.value)}\n placeholder=\"Eg: 20th April 2020\"\n />\n\n\n <label>Location</label>\n <input\n type=\"text\"\n value={location}\n onChange={(e) => setLocation(e.target.value)}\n placeholder=\"Where are you currently based?\"\n />\n\n <label>Availibility</label>\n <input\n type=\"text\"\n value={availability}\n onChange={(e) => setAvailability(e.target.value)}\n placeholder=\"How available are you approximately per week?\"\n />\n\n <label>Partnership Opportunities</label>\n <input\n type=\"text\"\n value={partnership_opportunities}\n onChange={(e) => setPartnership_opportunities(e.target.value)}\n placeholder=\"Eg: Department of Computing at Imperial College London\"\n />\n\n <label>Interests</label>\n <input\n type=\"text\"\n value={interests}\n onChange={(e) => setInterests(e.target.value)}\n placeholder=\"What are your hobbies?\"\n />\n\n <button>Add user</button>\n </form>\n </div>\n );\n}\n\nexport default AddUser;","import { useState } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\"\nimport { useForm } from \"react-hook-form\"\nimport useFetch from './useFetch'\n\nconst EditProject = () => {\n const { id } = useParams();\n const { data: {name, description, status, location, tag, files}, error, isPending } = useFetch(\"/projects/\" + id)\n const { data: users, errorUsers, isPendingUsers } = useFetch(\"/users\")\n const [selectUsernames, setSelectUsernames] = useState([]);\n\n const history = useHistory();\n const oldProjectDetails = {\n name: name,\n description: description,\n status: status,\n location: location,\n tag: tag,\n files: files\n }\n \n const { register, handleSubmit } = useForm({\n defaultValues: oldProjectDetails\n });\n\n const onSubmit = e => {\n fetch(\"/projects/\" + id, {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(e)\n }).then(() => {\n selectUsernames.map(username => {\n const assign_project = { username: username, project_id: id };\n\n fetch(\"/user_project\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(assign_project)\n });\n });}).then(() => {\n history.push('/');\n })\n }\n\n return (\n <div className=\"edit-project\">\n <h2>Edit project</h2>\n { isPending && <h2>Loading...</h2> }\n { name && <form onSubmit={handleSubmit(onSubmit)}>\n <label htmlFor=\"name\">Project name</label>\n <input {...register(\"name\")}\n // type=\"text\"\n placeholder=\"Insert project name here\"\n // name=\"name\"\n />\n <label>Description</label>\n <textarea {...register(\"description\")} name=\"description\" placeholder=\"Insert description of the project here\"></textarea>\n <label>Status</label>\n <select {...register(\"status\")} name=\"status\">\n <option value=\"Progress\">Progress</option>\n <option value=\"Available\">Available</option>\n <option value=\"Completed\">Completed</option>\n </select>\n <label>Location</label>\n <input\n {...register(\"location\")}\n type=\"text\"\n placeholder=\"Insert location of project here\"\n name=\"location\"\n />\n <label>Type of project</label>\n <select {...register(\"tag\")} name=\"tag\">\n <option value=\"Social\">Social</option>\n <option value=\"Education\">Education</option>\n <option value=\"Wash\">Wash</option>\n <option value=\"Environment\">Environment</option>\n <option value=\"Health\">Health</option>\n <option value=\"Other\">Other</option>\n </select>\n <label>Volunteers assigned to this project</label>\n <select multiple={true} onChange={(e) => setSelectUsernames(selectUsernames.concat(e.target.value))} value={selectUsernames} >\n {users.map(user => <option value={user.username}>{user.firstname} {user.surname}</option>)}\n </select>\n <label>Google Drive folder</label>\n <textarea {...register(\"files\")} name=\"files\" placeholder=\"Insert Google Drive Folder link here\"></textarea>\n <button type=\"submit\">Save project details</button>\n </form> }\n </div>\n );\n}\n\nexport default EditProject;","import React from 'react';\nimport { slide as Menu } from 'react-burger-menu';\nimport { Link, useHistory } from 'react-router-dom'\nimport useToken from './useToken';\n\nconst Sidebar = () => {\n\nconst slackLink = \"https://slack.com/intl/en-gb/\"\n\nconst history = useHistory();\n\nconst {setToken, token} = useToken();\n\nconst handleSignOut = e => {\n e.preventDefault()\n\n localStorage.clear();\n\n window.location.reload();\n history.push(\"/\");\n}\n\nreturn (\n <Menu>\n <div className=\"menu-item\" > \n <Link to={`/`}>Home</Link>\n </div>\n <div className=\"menu-item\" > \n <Link to={`/users/` + token}>Profile</Link>\n </div>\n <div className=\"menu-item\" > \n <Link to={`/users`}>All Users</Link>\n </div>\n <div className=\"menu-item\" > \n <Link to={`/projects`}>All Projects</Link>\n </div>\n <div className=\"menu-item\" > \n <a href={slackLink} target=\"_blank\">Go To Slack</a>\n </div> \n <div className=\"menu-item\" >\n <a style={{textDecoration: \"underline\", cursor: \"pointer\"}} onClick={handleSignOut}>Log Out</a>\n </div> \n </Menu>\n\n);\n\n}\n\nexport default Sidebar;","import { Link, useHistory, useParams } from \"react-router-dom\"\nimport { useForm } from \"react-hook-form\"\nimport useFetch from './useFetch'\n\nconst EditUser = () => {\n const { username } = useParams();\n const { data: {firstname, surname, password, title, email, bio, joined, \n location, availability, partnership_opportunities, interests}, error, isPending } = useFetch(\"/users/\" + username)\n\n const history = useHistory();\n const oldUserDetails = {\n firstname: firstname,\n surname: surname,\n password: password,\n title: title,\n email: email,\n bio: bio,\n joined: joined,\n location: location,\n availability: availability,\n partnership_opportunities: partnership_opportunities,\n interests: interests,\n }\n \n const { register, handleSubmit } = useForm({\n defaultValues: oldUserDetails\n });\n\n const onSubmit = e => {\n fetch(\"/users/\" + username, {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(e)\n }).then(() => {\n history.push('/');\n })\n }\n\n return (\n <div className=\"edit-user\">\n <h2>Edit user</h2>\n { isPending && <h2>Loading...</h2> }\n <Link to={`/users/change-password`}>Change Password</Link>\n { firstname && <form onSubmit={handleSubmit(onSubmit)}>\n <label htmlFor=\"firstname\">Firstname</label>\n <input {...register(\"firstname\")}\n placeholder=\"Input your first name here\"\n />\n\n <label htmlFor=\"surname\">Surname</label>\n <input {...register(\"surname\")}\n placeholder=\"Input surname here\"\n />\n\n <label htmlFor=\"title\">Title</label>\n <input {...register(\"title\")}\n placeholder=\"State your role at InAGlobe (eg: volunteer)\"\n />\n\n <label htmlFor=\"password\">Password</label>\n <input {...register(\"password\")}\n placeholder=\"Input the password\"\n />\n\n <label htmlFor=\"email\">Email</label>\n <input {...register(\"email\")}\n placeholder=\"Input InAGlobe email here\"\n />\n\n\n <label htmlFor=\"bio\">Bio</label>\n <input {...register(\"bio\")}\n placeholder=\"Tell your colleagues a bit about yourself\"\n />\n\n {/* Think about changing type to force date */}\n <label htmlFor=\"joined\">Joined</label>\n <input {...register(\"joined\")}\n placeholder=\"Eg: 20th April 2020\"\n />\n\n\n <label htmlFor=\"location\">Location</label>\n <input {...register(\"location\")}\n placeholder=\"Where are you currently based?\"\n />\n\n <label htmlFor=\"availability\">Availibility</label>\n <input {...register(\"availability\")}\n placeholder=\"How available are you approximately per week?\"\n />\n\n <label htmlFor=\"partnership_opportunities\">Partnership Opportunities</label>\n <input {...register(\"partnership_opportunities\")}\n placeholder=\"Eg: Department of Computing at Imperial College London\"\n />\n\n <label htmlFor=\"interests\">Interests</label>\n <input {...register(\"interests\")}\n placeholder=\"What are your hobbies?\"\n />\n <button type=\"submit\">Save user details</button>\n </form> }\n </div>\n );\n}\n\nexport default EditUser;","import { useState } from \"react\";\nimport { useHistory } from 'react-router';\nconst ProjectTaskList = ({ project_tasks }) => {\n /* pass in filtered dataset containing tasks for a specific project*/\n const history = useHistory();\n const [description, setDescription] = useState(\"\");\n const [priority, setPriority] = useState(1);\n const [due_date, setDueDate] = useState(Date.now);\n const [completed, setCompleted] = useState(\"\");\n const [project_id, setProjectId] = useState(\"\");\n\n const handleComplete = task => e => {\n e.preventDefault();\n console.log(task.id)\n\n setDescription(task.description)\n setPriority(task.priority)\n setDueDate(task.due_date)\n setCompleted(\"Completed\")\n setProjectId(task.project_id)\n const newTask = { description, priority, due_date, completed, project_id }\n\n console.log(newTask)\n\n fetch(\"/projects/\" + task.project_id + \"/tasks/\" + task.id, {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(task)\n }).then(() => {\n window.location.reload();\n })\n \n };\n\n const handleDelete = task => e => {\n e.preventDefault();\n\n fetch(\"/projects/\" + task.project_id + \"/tasks/\" + task.id, {\n method: 'DELETE',\n }).then(() => {\n window.location.reload();\n })\n \n };\n\n return (\n <div className=\"project-tasks-list\">\n {project_tasks.map((task) => (\n <div className=\"project-task-preview\" key={task.id}>\n <div>\n <h2>{task.description}</h2>\n <h3>Due date: {task.due_date}</h3>\n </div>\n \n <h3>Priority: {task.priority}</h3>\n { !task.completed && <button className=\"task-complete-button\" onClick={handleComplete(task)}>Complete</button> }\n <button className=\"task-delete-button\"onClick={handleDelete(task)}>Delete</button>\n </div>\n ))}\n </div>\n );\n}\n \nexport default ProjectTaskList;\n","import { useParams } from 'react-router';\n\nimport ProjectTaskList from './ProjectTaskList'\nimport useFetch from './useFetch'\nimport { Link } from \"react-router-dom\"\n\nconst ProjectTasks = () => {\n const { id } = useParams();\n const { data: project, errorProject, isPendingProject } = useFetch(\"/projects/\" + id)\n\n const { data: project_tasks, errorTasks, isPendingTasks } = useFetch(\"/projects/\" + id + \"/tasks\");\n\n return (\n <div className=\"project-tasks\">\n { project && <h1>{project.name}: tasks</h1>}\n <h2>Ongoing Project Tasks</h2>\n { isPendingTasks && <h2>Loading...</h2> }\n { project_tasks && <ProjectTaskList project_tasks={project_tasks.filter(task => !task.completed)}/> }\n <h2>Completed Project Tasks</h2>\n { project_tasks && <ProjectTaskList project_tasks={project_tasks.filter(task => task.completed)}/> }\n\n <div className=\"add-task-button-wrapper\">\n { project_tasks && <Link to={`/projects/${project.id}/add-task`} className=\"add-task-button\">Add Task</Link> }\n </div>\n </div>\n );\n}\n\nexport default ProjectTasks;","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\"\nimport { useParams } from \"react-router\"\nimport useFetch from \"./useFetch\";\nimport Select from 'react-select';\n\nconst AddProjectTask = () => {\n const { id } = useParams();\n\n const [description, setDescription] = useState(\"\");\n const [due_date, setDueDate] = useState(Date.now);\n const [priority, setPriority] = useState(1);\n const [completed, setCompleted] = useState(false);\n const [assignedUsers, setAssignedUsers] = useState([]);\n\n const { data: project, error, isPending } = useFetch(\"/projects/\" + id)\n const { data: participants, errorParticipants, isPendingParticipants } = useFetch(\"/user_project/project_task/\" + id) \n\n const history = useHistory();\n\n const handleChange = (e) => {\n setAssignedUsers(Array.isArray(e) ? e.map(x => x.value) : []); \n }\n\n const handleSubmit = async e => {\n e.preventDefault()\n\n const newProjectTask = { description, due_date, priority, completed };\n\n const response = await fetch(\"/projects/\" + project.id + \"/tasks\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newProjectTask)\n });\n\n const responseJSON = await response.json();\n const task_id = responseJSON.id;\n\n assignedUsers.map(username => {\n const assigned_task = { username, task_id };\n\n fetch(\"/assigned_task\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(assigned_task)\n });\n });\n\n history.push(\"/projects/\" + id);\n }\n\n return (\n <div className=\"add-project-task\">\n <h2>Add a new task</h2>\n {isPending && <h2>Loading...</h2>}\n {project && <form onSubmit={handleSubmit}>\n <label>Description</label>\n <input\n type=\"text\"\n required\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"Input description here\"\n />\n\n\n <label>Due Date [required]</label>\n <input\n type=\"date\"\n required\n value={due_date}\n onChange={(e) => setDueDate(e.target.value)}\n placeholder=\"Input your first name here\"\n />\n\n <label>Priority level (1: lowest, 4: highest) [required]</label>\n <select required value={priority} onChange={(e) => setPriority(e.target.value)} >\n <option value=\"1\">1</option>\n <option value=\"2\">2</option>\n <option value=\"3\">3</option>\n <option value=\"4\">4</option>\n </select>\n\n <label>Volunteers assigned to this task</label>\n <Select\n className=\"dropdown\"\n placeholder=\"Select Users\"\n value={participants.filter(user => assignedUsers.includes(user.value))}\n options={participants}\n onChange={handleChange}\n isMulti\n isClearable\n />\n\n <label>Status</label>\n <select value={completed} onChange={(e) => setCompleted(e.target.value)}>\n <option value=\"Incomplete\">Available</option>\n <option value=\"Completed\">Completed</option>\n </select>\n <button>Add task</button>\n </form>}\n </div>\n );\n}\n\nexport default AddProjectTask;","import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom'\n\nasync function loginUser(credentials) {\n return fetch('/users/login', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(credentials)\n })\n .then(data => data.json())\n }\n\nexport default function Login({ setToken }) {\n const [username, setUserName] = useState();\n const [password, setPassword] = useState();\n\n const handleSubmit = async e => {\n e.preventDefault();\n const token = await loginUser({\n username,\n password\n });\n if(token.token != \"\") {\n setToken(token);\n } else {\n document.getElementsByClassName(\"incorrect-password\")[0].style.display = \"block\";\n\n }\n }\n \n\n return (\n <div className=\"login\">\n <h1> InAGlobe Platform </h1>\n <form onSubmit={handleSubmit}>\n <input type=\"text\" id=\"login\" class=\"fadeIn second\" name=\"login\" placeholder=\"login\"\n onChange={e => setUserName(e.target.value)}/>\n <input type=\"password\" id=\"password\" class=\"fadeIn third\" name=\"login\" placeholder=\"password\"\n onChange={e => setPassword(e.target.value)}/> \n <div className=\"incorrect-password\" style={{display: 'none'}}>\n <h2>Incorrect password!</h2>\n </div>\n <div className=\"links\">\n <Link to={`/forgot-password`}>Forgot Password</Link>\n </div>\n <button type=\"submit\">Log In</button>\n </form>\n </div>\n );\n}\n \nLogin.propTypes = {\n setToken: PropTypes.func.isRequired\n}\n","\nimport useToken from './useToken';\nimport { Link, useHistory } from 'react-router-dom'\nimport { useState } from 'react'\n\nconst ChangePassword = () => {\n const [oldPassword, setOldPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const {setToken, token} = useToken()\n const history = useHistory()\n\nasync function passwordUpdate() {\n return fetch('/users/update-password', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n username: token,\n oldPassword: oldPassword,\n newPassword: newPassword})\n })\n .then(data => data.json())\n }\n\n const handleSubmit = async e => {\n e.preventDefault();\n const updated = await passwordUpdate();\n\n if(updated.status != \"True\") {\n document.getElementsByClassName(\"incorrect-password\")[0].style.display = \"block\";\n }\n else{\n document.getElementsByClassName(\"password-changed-msg\")[0].style.display = \"block\";\n }\n }\n \nreturn (\n <div className=\"change-password\">\n <h2>Change Password</h2>\n <label >Current Password</label>\n <input \n onChange={(e) => setOldPassword(e.target.value)}\n placeholder=\"Current Password\"\n />\n\n <label >New Password</label>\n <input \n onChange={(e) => setNewPassword(e.target.value)}\n placeholder=\"New Password\"\n />\n\n <button onClick={handleSubmit}>Change password</button>\n\n <h2 className=\"incorrect-password\" style={{display: \"none\"}}>Incorrect password</h2>\n\n <div className=\"password-changed-msg\" style={{display: \"none\"}}>\n <h3>Your password has been changed successfully</h3>\n <Link to={`/`}>Back to Dashboard</Link>\n </div>\n\n </div>\n \n )\n\n}\n\nexport default ChangePassword;","import ProjectList from './ProjectList'\nimport PersonalToDo from './PersonalToDo'\nimport useFetch from './useFetch'\nimport useToken from './useToken';\n\nconst ProjectRegistry = () => {\n\n const {data: projects, errorProjects, isPendingProjects} = useFetch(\"/projects\")\n\n return (\n <div className=\"project-registry\">\n <h1>All Projects</h1>\n <br />\n { isPendingProjects && <h2>Loading...</h2> }\n { projects && <ProjectList projects={projects} title=\"All Projects\"/> }\n </div>\n \n );\n}\n \nexport default ProjectRegistry;","import { useState } from \"react\";\nimport { useHistory } from 'react-router';\n\nasync function resetPassword(msg) {\n return fetch('/users/forgot-password', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(msg)\n })\n .then(data => data.json())\n }\n\nconst ForgotPassword = () => {\n\n const [username, setUsername] = useState(\".\");\n const history = useHistory();\n \n\n const handleSubmit = async e => {\n e.preventDefault();\n\n if(username != \".\") {\n\n const msg = {\n username: username,\n newPassword: Math.random().toString(36).replace(/[^a-z]+/g, '')\n }\n\n const response = await resetPassword(msg);\n if(response.status == \"False\") {\n document.getElementsByClassName(\"email-sent\")[0].style.display = \"none\";\n document.getElementsByClassName(\"incorrect-username\")[0].style.display = \"block\";\n } else {\n document.getElementsByClassName(\"incorrect-username\")[0].style.display = \"none\";\n document.getElementsByClassName(\"email-sent\")[0].style.display = \"block\";\n }\n }\n }\n\n const handleReturn = e => {\n e.preventDefault();\n history.push('/');\n }\n\n\n return (\n <div className=\"forgot-password\">\n <form onSubmit={handleSubmit}>\n <h1>Forgot Password</h1>\n <h2>Input your username</h2>\n <input type=\"text\" placeholder=\"username\" onChange={e => setUsername(e.target.value)}/>\n <div className=\"incorrect-username\" style={{display: 'none'}}>\n <h2>Incorrect username provided!</h2>\n </div>\n <div className=\"email-sent\" style={{display: 'none'}}>\n <h2>Email has been sent!</h2>\n </div>\n <button>Submit</button>\n </form>\n <button onClick={handleReturn}>Back to Login Page</button>\n </div>\n \n );\n}\n \nexport default ForgotPassword;","import React, { useState } from 'react';\nimport {HashRouter as Router, Route, Switch} from 'react-router-dom'\n\nimport Navbar from './Navbar'\nimport Home from './Home'\nimport CreateProject from './CreateProject'\nimport ProjectDetails from './ProjectDetails'\nimport PageNotFound from './PageNotFound'\nimport MyProfile from './MyProfile'\nimport User from './User'\nimport Users from './Users'\nimport AddUser from './AddUser'\nimport EditProject from './EditProject'\nimport Sidebar from './Sidebar' \nimport EditUser from './EditUser'\nimport ProjectTasks from './ProjectTasks'\nimport AddProjectTask from './AddProjectTask'\nimport Login from './Login'\nimport useToken from './useToken'\nimport ChangePassword from './ChangePassword'\nimport ProjectsRegistry from './ProjectsRegistry'\nimport ForgotPassword from './ForgotPassword'\n\nfunction App() {\n\n const { token, setToken } = useToken();\n\n if(!token) {\n return (\n <Router>\n <Switch>\n <Route exact path=\"/forgot-password\">\n <ForgotPassword />\n </Route>\n <Route path=\"*\">\n <Login setToken={setToken} />\n </Route>\n </Switch>\n </Router>\n )\n }\n\n return (\n <Router>\n <div className=\"App\"> \n <Sidebar />\n <Navbar />\n <div className=\"content\"> \n <Switch>\n <Route exact path=\"/\">\n <Home />\n </Route>\n <Route exact path=\"/create-project\">\n <CreateProject />\n </Route>\n <Route exact path=\"/add-user\">\n <AddUser /> \n </Route>\n <Route exact path=\"/my-profile\">\n <MyProfile />\n </Route>\n <Route exact path=\"/users\">\n <Users /> \n </Route>\n <Route exact path=\"/users/change-password\">\n <ChangePassword />\n </Route> \n <Route exact path=\"/users/:username\">\n <User />\n </Route>\n <Route exact path=\"/edit-user/:username\">\n <EditUser />\n </Route> \n <Route exact path=\"/projects\">\n <ProjectsRegistry /> \n </Route> \n <Route exact path=\"/projects/:id/add-task\">\n <AddProjectTask /> \n </Route> \n <Route exact path=\"/projects/:id/tasks\">\n <ProjectTasks /> \n </Route>\n <Route exact path=\"/projects/:id\">\n <ProjectDetails />\n </Route>\n <Route exact path=\"/edit-project/:id\">\n <EditProject />\n </Route>\n <Route path=\"*\">\n <PageNotFound />\n </Route>\n </Switch>\n </div>\n </div>\n </Router>\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/backend/static/react/js/main.e896a0a2.chunk.js b/backend/static/react/js/main.e896a0a2.chunk.js deleted file mode 100644 index 48fab6ec136239ffe096f7112869db561c584ba6..0000000000000000000000000000000000000000 --- a/backend/static/react/js/main.e896a0a2.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this["webpackJsonpinaglobe-dashboard"]=this["webpackJsonpinaglobe-dashboard"]||[]).push([[0],{38:function(e,t,n){},72:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),s=n(16),a=n.n(s),i=(n(38),n(5)),o=n(7),l=n(3);function j(){var e=Object(c.useState)(function(){var e=localStorage.getItem("token"),t=JSON.parse(e);return null===t||void 0===t?void 0:t.token}()),t=Object(l.a)(e,2),n=t[0],r=t[1];return{setToken:function(e){localStorage.setItem("token",JSON.stringify(e)),r(e.token)},token:n}}var d=n(0),u=function(){var e=j(),t=(e.setToken,e.token);return Object(d.jsxs)("nav",{className:"navbar",children:[Object(d.jsx)("a",{href:"/",style:{color:"#ff4e83",fontSize:"20px",borderRadius:"8px"},children:"InAGlobe Platform"}),Object(d.jsxs)("div",{className:"links",children:[Object(d.jsx)(i.b,{to:"/create-project",children:"New Project"}),Object(d.jsx)(i.b,{to:"/users/"+t,children:"My Profile"})]})]})},b=function(e){var t=e.projects;return Object(d.jsx)("div",{className:"project-list",children:t.map((function(e){return Object(d.jsx)("div",{className:"preview",children:Object(d.jsxs)(i.b,{to:"/projects/".concat(e.id),children:[Object(d.jsx)("h2",{children:e.name}),Object(d.jsx)("h3",{children:e.status})]})},e.id)}))})},h=function(e){var t=Object(c.useState)([]),n=Object(l.a)(t,2),r=n[0],s=n[1],a=Object(c.useState)(null),i=Object(l.a)(a,2),o=i[0],j=i[1],d=Object(c.useState)(!0),u=Object(l.a)(d,2),b=u[0],h=u[1];return Object(c.useEffect)((function(){fetch(e).then((function(e){if(!e.ok)throw Error("could not fetch the data for that resource");return e.json()})).then((function(e){s(e),h(!1),j(null)})).catch((function(e){j(e.message)}))}),[e]),{data:r,error:o,isPending:b}},O=function(e){var t=e.todos,n=e.title,r=j(),s=(r.setToken,r.token),a=h("/users"),i=a.data,o=(a.error,a.isPending),u=Object(c.useState)(""),b=Object(l.a)(u,2),O=b[0],p=b[1],x=Object(c.useState)(1),m=Object(l.a)(x,2),f=m[0],v=m[1],g=Object(c.useState)(Date.now()),y=Object(l.a)(g,2),k=y[0],S=y[1],w=Object(c.useState)(s),C=Object(l.a)(w,2),N=C[0],P=C[1];return Object(d.jsxs)("div",{className:"todo-list",style:{float:"right"},children:[Object(d.jsx)("h2",{children:n}),Object(d.jsx)("div",{className:"add-todo-button",children:Object(d.jsx)("button",{onClick:function(){document.getElementsByClassName("add-todo-form")[0].style.display="block"},children:"Add a personal task"})}),o&&Object(d.jsx)("h2",{children:"Loading..."}),Object(d.jsx)("div",{className:"add-todo-form",children:i&&Object(d.jsxs)("form",{onSubmit:function(e){document.getElementsByClassName("add-todo-form")[0].style.display="none",e.preventDefault();var t={todo_desc:O,priority:f,due_date:k,username:N};fetch("/todos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){window.location.reload()}))},children:[Object(d.jsx)("label",{children:"Task description [required]"}),Object(d.jsx)("textarea",{value:O,onChange:function(e){return p(e.target.value)},required:!0,placeholder:"Add some awesome description!"}),Object(d.jsx)("label",{children:"Priority level (1: lowest, 4: highest)"}),Object(d.jsxs)("select",{value:f,onChange:function(e){return v(e.target.value)},children:[Object(d.jsx)("option",{value:"1",children:"1"}),Object(d.jsx)("option",{value:"2",children:"2"}),Object(d.jsx)("option",{value:"3",children:"3"}),Object(d.jsx)("option",{value:"4",children:"4"})]}),Object(d.jsx)("label",{children:"When should this task be done by? [required]"}),Object(d.jsx)("input",{required:!0,type:"date",value:k,onChange:function(e){return S(e.target.value)}}),Object(d.jsx)("label",{children:"Assigned user"}),Object(d.jsx)("select",{value:N,onChange:function(e){return P(e.target.value)},children:i.map((function(e){return Object(d.jsx)("option",{value:e.username,children:e.username})}))}),Object(d.jsx)("button",{children:"Save task"})]})}),Object(d.jsx)("div",{className:"personal-todos",children:t.map((function(e){return Object(d.jsxs)("div",{className:"todo-preview",children:[Object(d.jsx)("h2",{children:e.todo_desc}),Object(d.jsxs)("h3",{children:["Priority level: ",e.priority]}),Object(d.jsxs)("h3",{children:["To be done by:",e.due_date]}),Object(d.jsx)("button",{onClick:(t=e.id,function(e){e.preventDefault(),fetch("/todos/"+t,{method:"DELETE"}).then((function(){window.location.reload()}))}),children:"Complete"})]},e.id);var t}))})]})},p=function(){var e=h("/todos"),t=e.data,n=(e.errorTodos,e.isPendingTodos),c=j(),r=(c.setToken,c.token),s=h("/user_project/username/"+r),a=s.data,i=(s.errorRelevantProjects,s.isPendingRelevantProjects);return Object(d.jsxs)("div",{className:"home",children:[Object(d.jsx)("h1",{children:"Dashboard"}),Object(d.jsxs)("div",{className:"home-projects",style:{float:"left",width:"600px"},children:[i&&Object(d.jsx)("h2",{children:"Loading..."}),a&&Object(d.jsx)(b,{projects:a,title:"My Projects"})]}),Object(d.jsxs)("div",{className:"homeTodos",children:[n&&Object(d.jsx)("h2",{children:"Loading..."}),t&&Object(d.jsx)(O,{todos:t.filter((function(e){return e.username===r})),title:"My Tasks"})]})]})},x=n(6),m=n.n(x),f=n(8),v=n(33),g=function(){var e=Object(c.useState)(""),t=Object(l.a)(e,2),n=t[0],r=t[1],s=Object(c.useState)(""),a=Object(l.a)(s,2),i=a[0],j=a[1],u=Object(c.useState)("Available"),b=Object(l.a)(u,2),O=b[0],p=b[1],x=Object(c.useState)("Other"),g=Object(l.a)(x,2),y=g[0],k=g[1],S=Object(c.useState)(""),w=Object(l.a)(S,2),C=w[0],N=w[1],P=Object(c.useState)(""),T=Object(l.a)(P,2),A=T[0],D=T[1],E=Object(c.useState)([]),I=Object(l.a)(E,2),_=I[0],L=I[1],q=Object(o.f)(),F=h("/users/user_project"),J=F.data,B=(F.error,F.isPending,J.map((function(e){return e.username}))),G=function(){var e=Object(f.a)(m.a.mark((function e(t){var c,r,s,a;return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n,description:i,status:O,tag:y,location:C,files:A},e.next=4,fetch("/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 4:return r=e.sent,e.next=7,r.json();case 7:s=e.sent,a=s.id,_.map((function(e){var t={username:e,project_id:a};fetch("/user_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})})),console.log(J),console.log(B),console.log(_),q.push("/");case 14:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"create-project",children:[Object(d.jsx)("h2",{children:"Add a new project"}),Object(d.jsxs)("form",{onSubmit:G,children:[Object(d.jsx)("label",{children:"Project name [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:n,onChange:function(e){return r(e.target.value)},placeholder:"Input project name"}),Object(d.jsx)("label",{children:"Description [required]"}),Object(d.jsx)("textarea",{required:!0,placeholder:"Add some awesome description!",value:i,onChange:function(e){return j(e.target.value)}}),Object(d.jsx)("label",{children:"Status"}),Object(d.jsxs)("select",{value:O,onChange:function(e){return p(e.target.value)},children:[Object(d.jsx)("option",{value:"Progress",children:"Progress"}),Object(d.jsx)("option",{value:"Available",children:"Available"}),Object(d.jsx)("option",{value:"Completed",children:"Completed"})]}),Object(d.jsx)("label",{children:"Location"}),Object(d.jsx)("input",{type:"text",value:C,onChange:function(e){return N(e.target.value)},placeholder:"Eg: United Kingdom"}),Object(d.jsx)("label",{children:"Type of project [required]"}),Object(d.jsxs)("select",{required:!0,value:y,onChange:function(e){return k(e.target.value)},children:[Object(d.jsx)("option",{value:"Social",children:"Social"}),Object(d.jsx)("option",{value:"Education",children:"Education"}),Object(d.jsx)("option",{value:"Wash",children:"Wash"}),Object(d.jsx)("option",{value:"Environment",children:"Environment"}),Object(d.jsx)("option",{value:"Health",children:"Health"}),Object(d.jsx)("option",{value:"Other",children:"Other"})]}),Object(d.jsx)("label",{children:"Volunteers assigned to this project"}),Object(d.jsx)(v.a,{className:"dropdown",placeholder:"Select Users",value:J.filter((function(e){return _.includes(e.value)})),options:J,onChange:function(e){L(Array.isArray(e)?e.map((function(e){return e.value})):[])},isMulti:!0,isClearable:!0}),Object(d.jsx)("label",{children:"Google Drive folder"}),Object(d.jsx)("textarea",{placeholder:"Copy the link to the Google Drive folder for this project",value:A,onChange:function(e){return D(e.target.value)}}),Object(d.jsx)("button",{children:"Add project"})]})]})},y=function(){var e=Object(o.g)().id,t=Object(o.f)(),n=h("/projects/"+e),c=n.data,r=(n.error,n.isPending),s=h("/user_project/project/"+e),a=s.data;s.errorAssignment,s.isPendingAssignment;return Object(d.jsxs)("div",{className:"project-details",children:[r&&Object(d.jsx)("h2",{children:"Loading..."}),c&&Object(d.jsx)("h2",{children:c.name}),c&&Object(d.jsxs)("button",{style:{fontSize:"20px",color:"#fff",marginBottom:"30px",marginright:"10px",borderRadius:"8px",backgroundColor:"#f1b535"},children:["Status: ",c.status]}),c&&Object(d.jsx)("button",{style:{fontSize:"20px",color:"#fff",marginBottom:"30px",marginRight:"10px",borderRadius:"8px",backgroundColor:"#595bc0"},children:c.tag}),c&&Object(d.jsxs)("h4",{children:["Location: ",c.location]}),c&&Object(d.jsx)("button",{onClick:function(e){e.preventDefault(),window.open(c.files,"_blank")},children:"Documents"}),c&&Object(d.jsx)("p",{children:c.description}),Object(d.jsx)("h3",{children:"Volunteers working on this project"}),Object(d.jsx)("div",{className:"project_user_assignment_list",children:a.map((function(e){return Object(d.jsx)("div",{className:"assigned_users_preview",style:{float:"left",width:"50%"},children:Object(d.jsx)(i.b,{to:"/users/".concat(e.username),children:Object(d.jsx)("h4",{children:e.username})})},e.id)}))}),Object(d.jsxs)("div",{className:"project-tasks",children:[c&&Object(d.jsx)(i.b,{to:"/projects/".concat(c.id,"/tasks"),className:"view-tasks-button",children:"View Tasks"}),c&&Object(d.jsx)(i.b,{to:"/projects/".concat(c.id,"/add-task"),className:"add-task-button",children:"Add Task"})]}),Object(d.jsxs)("div",{children:[c&&Object(d.jsx)("button",{onClick:function(n){n.preventDefault(),fetch("/projects/"+e,{method:"DELETE"}).then((function(){t.push("/")}))},children:"Delete project"}),c&&Object(d.jsx)(i.b,{to:"/edit-project/".concat(c.id),className:"edit-project-button",children:"Edit project"})]})]})},k=function(){return Object(d.jsxs)("div",{className:"page-not-found",children:[Object(d.jsx)("h2",{children:"Something went wrong..."}),Object(d.jsx)("p",{children:"That page cannot be found"}),Object(d.jsx)(i.b,{to:"/",children:"Back to the main page"})]})},S=function(){var e=j(),t=(e.setToken,e.token),n=h("/users/"+t),c=n.data,r=(n.error,n.isPending);return Object(d.jsxs)("div",{className:"my-profile",children:[r&&Object(d.jsx)("h2",{children:"Loading..."}),c&&Object(d.jsx)("h2",{children:c.firstname+" "+c.surname}),c&&Object(d.jsx)("h1",{children:"Username: "+c.token}),c&&Object(d.jsx)("h1",{children:"Title: "+c.title}),c&&Object(d.jsx)("h1",{children:"Email: "+c.email}),c&&Object(d.jsx)("h1",{children:"Bio: "+c.bio}),c&&Object(d.jsx)("h1",{children:"Joined: "+c.joined}),c&&Object(d.jsx)("h1",{children:"Location: "+c.location}),c&&Object(d.jsx)("h1",{children:"Availability: "+c.availability}),c&&Object(d.jsx)("h1",{children:"Partnership Opportunities: "+c.partnership_opportunities}),c&&Object(d.jsx)("h1",{children:"Interests: "+c.interests})]})},w=function(){var e=Object(o.g)().username,t=Object(o.f)(),n=j(),c=(n.setToken,n.token),r=h("/users/"+e),s=r.data,a=(r.error,r.isPending);return Object(d.jsxs)("div",{className:"user",children:[a&&Object(d.jsx)("h2",{children:"Loading..."}),s&&Object(d.jsx)("div",{children:Object(d.jsx)("h2",{children:s.firstname+" "+s.surname})}),s&&Object(d.jsxs)("div",{children:[Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Username: "}),s.username]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Email: "}),s.email]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Title: "}),s.title]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Joined: "}),s.joined]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Location: "}),s.location]}),Object(d.jsxs)("h3",{children:[Object(d.jsx)("strong",{children:"Availability: "}),s.availability]})]}),Object(d.jsx)("br",{}),s&&Object(d.jsxs)("div",{children:[Object(d.jsx)("label",{children:Object(d.jsx)("strong",{children:"Bio"})}),Object(d.jsx)("p",{children:s.bio})]}),s&&Object(d.jsxs)("div",{children:[Object(d.jsx)("label",{children:Object(d.jsx)("strong",{children:"Partnership Opportunities"})}),Object(d.jsx)("p",{children:s.partnership_opportunities})]}),s&&Object(d.jsxs)("div",{children:[Object(d.jsx)("label",{children:Object(d.jsx)("strong",{children:"Interests"})}),Object(d.jsx)("p",{children:s.interests})]}),s&&("jaimeaguilera"==c||e==c)&&Object(d.jsx)("button",{onClick:function(n){n.preventDefault(),fetch("/users/"+e,{method:"DELETE"}).then((function(){t.push("/")}))},children:"Delete user"}),s&&("jaimeaguilera"==c||e==c)&&Object(d.jsx)(i.b,{to:"/edit-user/".concat(e),className:"edit-user-button",children:"Edit details"})]})},C=function(e){var t=e.users;return Object(d.jsx)("div",{className:"user-list",children:t.map((function(e){return Object(d.jsx)("div",{className:"preview",children:Object(d.jsx)(i.b,{to:"/users/".concat(e.username),children:Object(d.jsx)("h2",{children:e.username})})},e.username)}))})},N=function(){var e=h("/users"),t=e.data,n=(e.error,e.isPending),c=j(),r=(c.setToken,c.token);return Object(d.jsxs)("div",{className:"users",children:[Object(d.jsx)("h1",{children:"Users"}),"jaimeaguilera"==r&&Object(d.jsx)(i.b,{to:"/add-user",className:"add-user-button",children:"Add User"}),Object(d.jsx)("br",{}),Object(d.jsx)("br",{}),n&&Object(d.jsx)("h2",{children:"Loading..."}),t&&Object(d.jsx)(C,{users:t,title:"All Users"})]})},P=function(){var e=Object(c.useState)(""),t=Object(l.a)(e,2),n=t[0],r=t[1],s=Object(c.useState)(""),a=Object(l.a)(s,2),i=a[0],j=a[1],u=Object(c.useState)(""),b=Object(l.a)(u,2),h=b[0],O=b[1],p=Object(c.useState)(""),x=Object(l.a)(p,2),m=x[0],f=x[1],v=Object(c.useState)(""),g=Object(l.a)(v,2),y=g[0],k=g[1],S=Object(c.useState)(""),w=Object(l.a)(S,2),C=w[0],N=w[1],P=Object(c.useState)(""),T=Object(l.a)(P,2),A=T[0],D=T[1],E=Object(c.useState)(""),I=Object(l.a)(E,2),_=I[0],L=I[1],q=Object(c.useState)(""),F=Object(l.a)(q,2),J=F[0],B=F[1],G=Object(c.useState)(""),U=Object(l.a)(G,2),W=U[0],H=U[1],R=Object(c.useState)(""),V=Object(l.a)(R,2),M=V[0],z=V[1],K=Object(c.useState)(""),Y=Object(l.a)(K,2),Q=Y[0],X=Y[1],Z=Object(o.f)();return Object(d.jsxs)("div",{className:"add-user",children:[Object(d.jsx)("h2",{children:"Add a new user"}),Object(d.jsxs)("form",{onSubmit:function(e){e.preventDefault();var t={firstname:n,surname:i,password:h,title:m,email:y,bio:C,joined:A,location:_,availability:J,partnership_opportunities:W,interests:M,username:Q};fetch("/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){Z.push("/users")}))},children:[Object(d.jsx)("label",{children:"Username [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:Q,onChange:function(e){return X(e.target.value)},placeholder:"Input username here"}),Object(d.jsx)("label",{children:"Firstname [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:n,onChange:function(e){return r(e.target.value)},placeholder:"Input your first name here"}),Object(d.jsx)("label",{children:"Surname [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:i,onChange:function(e){return j(e.target.value)},placeholder:"Input surname here"}),Object(d.jsx)("label",{children:"Title [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:m,onChange:function(e){return f(e.target.value)},placeholder:"State your role at InAGlobe (eg: volunteer)"}),Object(d.jsx)("label",{children:"Password [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:h,onChange:function(e){return O(e.target.value)},placeholder:"Input the default password (to be changed by the user)"}),Object(d.jsx)("label",{children:"Email [required]"}),Object(d.jsx)("input",{type:"text",required:!0,value:y,onChange:function(e){return k(e.target.value)},placeholder:"Input InAGlobe email here"}),Object(d.jsx)("label",{children:"Bio"}),Object(d.jsx)("input",{type:"text",value:C,onChange:function(e){return N(e.target.value)},placeholder:"Tell your colleagues a bit about yourself"}),Object(d.jsx)("label",{children:"Joined"}),Object(d.jsx)("input",{type:"text",value:A,onChange:function(e){return D(e.target.value)},placeholder:"Eg: 20th April 2020"}),Object(d.jsx)("label",{children:"Location"}),Object(d.jsx)("input",{type:"text",value:_,onChange:function(e){return L(e.target.value)},placeholder:"Where are you currently based?"}),Object(d.jsx)("label",{children:"Availibility"}),Object(d.jsx)("input",{type:"text",value:J,onChange:function(e){return B(e.target.value)},placeholder:"How available are you approximately per week?"}),Object(d.jsx)("label",{children:"Partnership Opportunities"}),Object(d.jsx)("input",{type:"text",value:W,onChange:function(e){return H(e.target.value)},placeholder:"Eg: Department of Computing at Imperial College London"}),Object(d.jsx)("label",{children:"Interests"}),Object(d.jsx)("input",{type:"text",value:M,onChange:function(e){return z(e.target.value)},placeholder:"What are your hobbies?"}),Object(d.jsx)("button",{children:"Add user"})]})]})},T=n(4),A=n(21),D=function(){var e=Object(o.g)().id,t=h("/projects/"+e),n=t.data,r=n.name,s=n.description,a=n.status,i=n.location,j=n.tag,u=n.files,b=(t.error,t.isPending),O=h("/users"),p=O.data,x=(O.errorUsers,O.isPendingUsers,Object(c.useState)([])),m=Object(l.a)(x,2),f=m[0],v=m[1],g=Object(o.f)(),y={name:r,description:s,status:a,location:i,tag:j,files:u},k=Object(A.a)({defaultValues:y}),S=k.register,w=k.handleSubmit;return Object(d.jsxs)("div",{className:"edit-project",children:[Object(d.jsx)("h2",{children:"Edit project"}),b&&Object(d.jsx)("h2",{children:"Loading..."}),r&&Object(d.jsxs)("form",{onSubmit:w((function(t){fetch("/projects/"+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){f.map((function(t){var n={username:t,project_id:e};fetch("/user_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}))})).then((function(){g.push("/")}))})),children:[Object(d.jsx)("label",{htmlFor:"name",children:"Project name"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},S("name")),{},{placeholder:"Insert project name here"})),Object(d.jsx)("label",{children:"Description"}),Object(d.jsx)("textarea",Object(T.a)(Object(T.a)({},S("description")),{},{name:"description",placeholder:"Insert description of the project here"})),Object(d.jsx)("label",{children:"Status"}),Object(d.jsxs)("select",Object(T.a)(Object(T.a)({},S("status")),{},{name:"status",children:[Object(d.jsx)("option",{value:"Progress",children:"Progress"}),Object(d.jsx)("option",{value:"Available",children:"Available"}),Object(d.jsx)("option",{value:"Completed",children:"Completed"})]})),Object(d.jsx)("label",{children:"Location"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},S("location")),{},{type:"text",placeholder:"Insert location of project here",name:"location"})),Object(d.jsx)("label",{children:"Type of project"}),Object(d.jsxs)("select",Object(T.a)(Object(T.a)({},S("tag")),{},{name:"tag",children:[Object(d.jsx)("option",{value:"Social",children:"Social"}),Object(d.jsx)("option",{value:"Education",children:"Education"}),Object(d.jsx)("option",{value:"Wash",children:"Wash"}),Object(d.jsx)("option",{value:"Environment",children:"Environment"}),Object(d.jsx)("option",{value:"Health",children:"Health"}),Object(d.jsx)("option",{value:"Other",children:"Other"})]})),Object(d.jsx)("label",{children:"Volunteers assigned to this project"}),Object(d.jsx)("select",{multiple:!0,onChange:function(e){return v(f.concat(e.target.value))},value:f,children:p.map((function(e){return Object(d.jsxs)("option",{value:e.username,children:[e.firstname," ",e.surname]})}))}),Object(d.jsx)("label",{children:"Google Drive folder"}),Object(d.jsx)("textarea",Object(T.a)(Object(T.a)({},S("files")),{},{name:"files",placeholder:"Insert Google Drive Folder link here"})),Object(d.jsx)("button",{type:"submit",children:"Save project details"})]})]})},E=n(32),I=function(){var e=Object(o.f)(),t=j(),n=(t.setToken,t.token);return Object(d.jsxs)(E.slide,{children:[Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/",children:"Home"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/users/"+n,children:"Profile"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/users",children:"All Users"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)(i.b,{to:"/projects",children:"All Projects"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)("a",{href:"https://slack.com/intl/en-gb/",target:"_blank",children:"Go To Slack"})}),Object(d.jsx)("div",{className:"menu-item",children:Object(d.jsx)("a",{style:{textDecoration:"underline",cursor:"pointer"},onClick:function(t){t.preventDefault(),localStorage.clear(),window.location.reload(),e.push("/")},children:"Log Out"})})]})},_=function(){var e=Object(o.g)().username,t=h("/users/"+e),n=t.data,c=n.firstname,r=n.surname,s=n.password,a=n.title,l=n.email,j=n.bio,u=n.joined,b=n.location,O=n.availability,p=n.partnership_opportunities,x=n.interests,m=(t.error,t.isPending),f=Object(o.f)(),v={firstname:c,surname:r,password:s,title:a,email:l,bio:j,joined:u,location:b,availability:O,partnership_opportunities:p,interests:x},g=Object(A.a)({defaultValues:v}),y=g.register,k=g.handleSubmit;return Object(d.jsxs)("div",{className:"edit-user",children:[Object(d.jsx)("h2",{children:"Edit user"}),m&&Object(d.jsx)("h2",{children:"Loading..."}),Object(d.jsx)(i.b,{to:"/users/change-password",children:"Change Password"}),c&&Object(d.jsxs)("form",{onSubmit:k((function(t){fetch("/users/"+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){f.push("/")}))})),children:[Object(d.jsx)("label",{htmlFor:"firstname",children:"Firstname"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("firstname")),{},{placeholder:"Input your first name here"})),Object(d.jsx)("label",{htmlFor:"surname",children:"Surname"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("surname")),{},{placeholder:"Input surname here"})),Object(d.jsx)("label",{htmlFor:"title",children:"Title"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("title")),{},{placeholder:"State your role at InAGlobe (eg: volunteer)"})),Object(d.jsx)("label",{htmlFor:"password",children:"Password"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("password")),{},{placeholder:"Input the password"})),Object(d.jsx)("label",{htmlFor:"email",children:"Email"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("email")),{},{placeholder:"Input InAGlobe email here"})),Object(d.jsx)("label",{htmlFor:"bio",children:"Bio"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("bio")),{},{placeholder:"Tell your colleagues a bit about yourself"})),Object(d.jsx)("label",{htmlFor:"joined",children:"Joined"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("joined")),{},{placeholder:"Eg: 20th April 2020"})),Object(d.jsx)("label",{htmlFor:"location",children:"Location"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("location")),{},{placeholder:"Where are you currently based?"})),Object(d.jsx)("label",{htmlFor:"availability",children:"Availibility"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("availability")),{},{placeholder:"How available are you approximately per week?"})),Object(d.jsx)("label",{htmlFor:"partnership_opportunities",children:"Partnership Opportunities"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("partnership_opportunities")),{},{placeholder:"Eg: Department of Computing at Imperial College London"})),Object(d.jsx)("label",{htmlFor:"interests",children:"Interests"}),Object(d.jsx)("input",Object(T.a)(Object(T.a)({},y("interests")),{},{placeholder:"What are your hobbies?"})),Object(d.jsx)("button",{type:"submit",children:"Save user details"})]})]})},L=function(e){var t=e.project_tasks,n=(Object(o.f)(),Object(c.useState)("")),r=Object(l.a)(n,2),s=r[0],a=r[1],i=Object(c.useState)(1),j=Object(l.a)(i,2),u=j[0],b=j[1],h=Object(c.useState)(Date.now),O=Object(l.a)(h,2),p=O[0],x=O[1],m=Object(c.useState)(""),f=Object(l.a)(m,2),v=f[0],g=f[1],y=Object(c.useState)(""),k=Object(l.a)(y,2),S=k[0],w=k[1],C=function(e){return function(t){t.preventDefault(),console.log(e.id),a(e.description),b(e.priority),x(e.due_date),g("Completed"),w(e.project_id);var n={description:s,priority:u,due_date:p,completed:v,project_id:S};console.log(n),fetch("/projects/"+e.project_id+"/tasks/"+e.id,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(){window.location.reload()}))}},N=function(e){return function(t){t.preventDefault(),fetch("/projects/"+e.project_id+"/tasks/"+e.id,{method:"DELETE"}).then((function(){window.location.reload()}))}};return Object(d.jsx)("div",{className:"project-tasks-list",children:t.map((function(e){return Object(d.jsxs)("div",{className:"project-task-preview",children:[Object(d.jsxs)("div",{children:[Object(d.jsx)("h2",{children:e.description}),Object(d.jsxs)("h3",{children:["Due date: ",e.due_date]})]}),Object(d.jsxs)("h3",{children:["Priority: ",e.priority]}),!e.completed&&Object(d.jsx)("button",{className:"task-complete-button",onClick:C(e),children:"Complete"}),Object(d.jsx)("button",{className:"task-delete-button",onClick:N(e),children:"Delete"})]},e.id)}))})},q=function(){var e=Object(o.g)().id,t=h("/projects/"+e),n=t.data,c=(t.errorProject,t.isPendingProject,h("/projects/"+e+"/tasks")),r=c.data,s=(c.errorTasks,c.isPendingTasks);return Object(d.jsxs)("div",{className:"project-tasks",children:[n&&Object(d.jsxs)("h1",{children:[n.name,": tasks"]}),Object(d.jsx)("h2",{children:"Ongoing Project Tasks"}),s&&Object(d.jsx)("h2",{children:"Loading..."}),r&&Object(d.jsx)(L,{project_tasks:r.filter((function(e){return!e.completed}))}),Object(d.jsx)("h2",{children:"Completed Project Tasks"}),r&&Object(d.jsx)(L,{project_tasks:r.filter((function(e){return e.completed}))}),Object(d.jsx)("div",{className:"add-task-button-wrapper",children:r&&Object(d.jsx)(i.b,{to:"/projects/".concat(n.id,"/add-task"),className:"add-task-button",children:"Add Task"})})]})},F=function(){var e=Object(c.useState)(""),t=Object(l.a)(e,2),n=t[0],r=t[1],s=Object(c.useState)(Date.now),a=Object(l.a)(s,2),i=a[0],j=a[1],u=Object(c.useState)(1),b=Object(l.a)(u,2),O=b[0],p=b[1],x=Object(c.useState)(!1),m=Object(l.a)(x,2),f=m[0],v=m[1],g=Object(o.g)().id,y=h("/projects/"+g),k=y.data,S=(y.error,y.isPending),w=Object(o.f)();return Object(d.jsxs)("div",{className:"add-project-task",children:[Object(d.jsx)("h2",{children:"Add a new task"}),S&&Object(d.jsx)("h2",{children:"Loading..."}),k&&Object(d.jsxs)("form",{onSubmit:function(e){e.preventDefault();var t={description:n,due_date:i,priority:O,completed:f};fetch("/projects/"+k.id+"/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(){w.push("/projects/"+g+"/tasks")}))},children:[Object(d.jsx)("label",{children:"Description"}),Object(d.jsx)("input",{type:"text",required:!0,value:n,onChange:function(e){return r(e.target.value)},placeholder:"Input description here"}),Object(d.jsx)("label",{children:"Due Date [required]"}),Object(d.jsx)("input",{type:"date",required:!0,value:i,onChange:function(e){return j(e.target.value)},placeholder:"Input your first name here"}),Object(d.jsx)("label",{children:"Priority level (1: lowest, 4: highest) [required]"}),Object(d.jsxs)("select",{required:!0,value:O,onChange:function(e){return p(e.target.value)},children:[Object(d.jsx)("option",{value:"1",children:"1"}),Object(d.jsx)("option",{value:"2",children:"2"}),Object(d.jsx)("option",{value:"3",children:"3"}),Object(d.jsx)("option",{value:"4",children:"4"})]}),Object(d.jsx)("label",{children:"Status"}),Object(d.jsxs)("select",{value:f,onChange:function(e){return v(e.target.value)},children:[Object(d.jsx)("option",{value:"Incomplete",children:"Available"}),Object(d.jsx)("option",{value:"Completed",children:"Completed"})]}),Object(d.jsx)("button",{children:"Add task"})]})]})};function J(e){return B.apply(this,arguments)}function B(){return(B=Object(f.a)(m.a.mark((function e(t){return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch("/users/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return e.json()})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function G(e){var t=e.setToken,n=Object(c.useState)(),r=Object(l.a)(n,2),s=r[0],a=r[1],i=Object(c.useState)(),o=Object(l.a)(i,2),j=o[0],u=o[1],b=function(){var e=Object(f.a)(m.a.mark((function e(n){var c;return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.preventDefault(),e.next=3,J({username:s,password:j});case 3:""!=(c=e.sent).token&&t(c);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"login",children:[Object(d.jsx)("h1",{children:" InAGlobe Platform "}),Object(d.jsxs)("form",{onSubmit:b,children:[Object(d.jsx)("input",{type:"text",id:"login",class:"fadeIn second",name:"login",placeholder:"login",onChange:function(e){return a(e.target.value)}}),Object(d.jsx)("input",{type:"password",id:"password",class:"fadeIn third",name:"login",placeholder:"password",onChange:function(e){return u(e.target.value)}}),Object(d.jsx)("div",{className:"incorrect-password",style:{display:"none"},children:Object(d.jsx)("h2",{children:"Incorrect password!"})}),Object(d.jsx)("a",{children:"Forgot Password?"}),Object(d.jsx)("button",{type:"submit",children:"Log In"})]})]})}var U=function(){var e=Object(c.useState)(""),t=Object(l.a)(e,2),n=t[0],r=t[1],s=Object(c.useState)(""),a=Object(l.a)(s,2),u=a[0],b=a[1],h=j(),O=(h.setToken,h.token);Object(o.f)();function p(){return x.apply(this,arguments)}function x(){return(x=Object(f.a)(m.a.mark((function e(){return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch("/users/update-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:O,oldPassword:n,newPassword:u})}).then((function(e){return e.json()})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var v=function(){var e=Object(f.a)(m.a.mark((function e(t){return m.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.next=3,p();case 3:"True"!=e.sent.status?document.getElementsByClassName("incorrect-password")[0].style.display="block":document.getElementsByClassName("password-changed-msg")[0].style.display="block";case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{className:"change-password",children:[Object(d.jsx)("h2",{children:"Change Password"}),Object(d.jsx)("label",{children:"Current Password"}),Object(d.jsx)("input",{onChange:function(e){return r(e.target.value)},placeholder:"Current Password"}),Object(d.jsx)("label",{children:"New Password"}),Object(d.jsx)("input",{onChange:function(e){return b(e.target.value)},placeholder:"New Password"}),Object(d.jsx)("button",{onClick:v,children:"Change password"}),Object(d.jsx)("h2",{className:"incorrect-password",style:{display:"none"},children:"Incorrect password"}),Object(d.jsxs)("div",{className:"password-changed-msg",style:{display:"none"},children:[Object(d.jsx)("h3",{children:"Your password has been changed successfully"}),Object(d.jsx)(i.b,{to:"/",children:"Back to Dashboard"})]})]})},W=function(){var e=h("/projects"),t=e.data,n=(e.errorProjects,e.isPendingProjects);return Object(d.jsxs)("div",{className:"project-registry",children:[Object(d.jsx)("h1",{children:"All Projects"}),Object(d.jsx)("br",{}),n&&Object(d.jsx)("h2",{children:"Loading..."}),t&&Object(d.jsx)(b,{projects:t,title:"All Projects"})]})};var H=function(){var e=j(),t=e.token,n=e.setToken;return t?Object(d.jsx)(i.a,{children:Object(d.jsxs)("div",{className:"App",children:[Object(d.jsx)(I,{}),Object(d.jsx)(u,{}),Object(d.jsx)("div",{className:"content",children:Object(d.jsxs)(o.c,{children:[Object(d.jsx)(o.a,{exact:!0,path:"/",children:Object(d.jsx)(p,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/create-project",children:Object(d.jsx)(g,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/add-user",children:Object(d.jsx)(P,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/my-profile",children:Object(d.jsx)(S,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/users",children:Object(d.jsx)(N,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/users/change-password",children:Object(d.jsx)(U,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/users/:username",children:Object(d.jsx)(w,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/edit-user/:username",children:Object(d.jsx)(_,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects",children:Object(d.jsx)(W,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects/:id/add-task",children:Object(d.jsx)(F,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects/:id/tasks",children:Object(d.jsx)(q,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/projects/:id",children:Object(d.jsx)(y,{})}),Object(d.jsx)(o.a,{exact:!0,path:"/edit-project/:id",children:Object(d.jsx)(D,{})}),Object(d.jsx)(o.a,{path:"*",children:Object(d.jsx)(k,{})})]})})]})}):Object(d.jsx)(G,{setToken:n})},R=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,73)).then((function(t){var n=t.getCLS,c=t.getFID,r=t.getFCP,s=t.getLCP,a=t.getTTFB;n(e),c(e),r(e),s(e),a(e)}))};a.a.render(Object(d.jsx)(r.a.StrictMode,{children:Object(d.jsx)(H,{})}),document.getElementById("root")),R()}},[[72,1,2]]]); -//# sourceMappingURL=main.e896a0a2.chunk.js.map \ No newline at end of file diff --git a/backend/static/react/js/main.e896a0a2.chunk.js.map b/backend/static/react/js/main.e896a0a2.chunk.js.map deleted file mode 100644 index 34bb2c33d4c1b43df316da46fc5b34b50f485367..0000000000000000000000000000000000000000 --- a/backend/static/react/js/main.e896a0a2.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["useToken.js","Navbar.js","ProjectList.js","useFetch.js","PersonalToDo.js","Home.js","CreateProject.js","ProjectDetails.js","PageNotFound.js","MyProfile.js","User.js","UserList.js","Users.js","AddUser.js","EditProject.js","Sidebar.js","EditUser.js","ProjectTaskList.js","ProjectTasks.js","AddProjectTask.js","Login.js","ChangePassword.js","ProjectsRegistry.js","App.js","reportWebVitals.js","index.js"],"names":["useToken","useState","tokenString","localStorage","getItem","userToken","JSON","parse","token","getToken","setToken","setItem","stringify","Navbar","className","href","style","color","fontSize","borderRadius","to","ProjectList","projects","map","project","id","name","status","useFetch","url","data","setData","error","setError","isPending","setIsPending","useEffect","fetch","then","res","ok","Error","json","catch","err","message","PersonalToDo","todos","title","users","todo_desc","setTodoDesc","priority","setPriority","Date","now","due_date","setDueDate","username","setUsername","float","onClick","document","getElementsByClassName","display","onSubmit","e","preventDefault","newTodo","method","headers","body","window","location","reload","value","onChange","target","required","placeholder","type","user","todo","Home","isPendingTodos","errorTodos","isPendingRelevantProjects","errorRelevantProjects","width","filter","CreateProject","setName","description","setDescription","setStatus","tag","setTag","setLocation","files","setFiles","selectUsernames","setSelectUsernames","history","useHistory","usernames","handleSubmit","a","newProject","response","responseJSON","project_id","assign_project","console","log","push","includes","options","Array","isArray","x","isMulti","isClearable","ProjectDetails","useParams","assignments","errorAssignment","isPendingAssignment","marginBottom","marginright","backgroundColor","marginRight","open","PageNotFound","MyProfile","firstname","surname","email","bio","joined","availability","partnership_opportunities","interests","User","UserList","Users","AddUser","setFirstname","setSurname","password","setPassword","setTitle","setEmail","setBio","setJoined","setAvailability","setPartnership_opportunities","setInterests","newUser","EditProject","errorUsers","isPendingUsers","oldProjectDetails","useForm","defaultValues","register","htmlFor","multiple","concat","Sidebar","textDecoration","cursor","clear","EditUser","oldUserDetails","ProjectTaskList","project_tasks","completed","setCompleted","setProjectId","handleComplete","task","newTask","handleDelete","ProjectTasks","errorProject","isPendingProject","isPendingTasks","errorTasks","AddProjectTask","newProjectTask","loginUser","credentials","Login","setUserName","class","ChangePassword","oldPassword","setOldPassword","newPassword","setNewPassword","passwordUpdate","ProjectRegistry","isPendingProjects","errorProjects","App","exact","path","ProjectsRegistry","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"js/main.e896a0a2.chunk.js","sourcesContent":["import { useState } from 'react';\n\nexport default function useToken() {\n const getToken = () => {\n const tokenString = localStorage.getItem('token');\n const userToken = JSON.parse(tokenString);\n return userToken?.token\n };\n \n const [token, setToken] = useState(getToken());\n\n const saveToken = userToken => {\n localStorage.setItem('token', JSON.stringify(userToken));\n setToken(userToken.token);\n };\n\n return {\n setToken: saveToken,\n token\n }\n\n}","import { Link } from 'react-router-dom'\nimport useToken from './useToken';\n\nconst Navbar = () => {\n const {setToken, token} = useToken();\n\n return (\n <nav className=\"navbar\" >\n <a href=\"/\" style={{ \n color: '#ff4e83',\n fontSize: '20px',\n borderRadius: '8px' \n }}>InAGlobe Platform</a>\n <div className=\"links\"> \n <Link to={`/create-project`}>New Project</Link>\n <Link to={`/users/` + token}>My Profile</Link>\n </div>\n </nav>\n );\n}\n \nexport default Navbar;","import { Link } from 'react-router-dom'\n\nconst ProjectList = ({ projects }) => {\n\n return (\n <div className=\"project-list\">\n {projects.map((project) => (\n <div className=\"preview\" key={project.id}>\n <Link to={`/projects/${project.id}`}>\n <h2>{project.name}</h2>\n <h3>{project.status}</h3>\n </Link>\n </div>\n ))}\n </div>\n );\n}\n \nexport default ProjectList;","import { useState, useEffect } from 'react';\n\nconst useFetch = (url) => {\n const [data, setData] = useState([]);\n const [error, setError] = useState(null);\n const [isPending, setIsPending] = useState(true);\n\n useEffect(() => {\n fetch(url)\n .then(res => {\n if (!res.ok) { // error coming back from server\n throw Error('could not fetch the data for that resource');\n } \n return res.json();\n })\n .then(data => {\n setData(data);\n setIsPending(false);\n setError(null);\n })\n .catch(err => {\n // auto catches network / connection error\n setError(err.message);\n })\n }, [url])\n\n return { data, error, isPending };\n}\n \nexport default useFetch;","import useFetch from './useFetch'\nimport { useState } from \"react\";\nimport useToken from './useToken'\n\nconst PersonalToDo = ({ todos, title }) => {\n\n const openTaskForm = () => {\n document.getElementsByClassName(\"add-todo-form\")[0].style.display = \"block\";\n }\n const {setToken, token} = useToken();\n\n\n const { data: users, error, isPending } = useFetch(\"/users\")\n\n const [todo_desc, setTodoDesc] = useState(\"\");\n const [priority, setPriority] = useState(1);\n const [due_date, setDueDate] = useState(Date.now());\n const [username, setUsername] = useState(token);\n\n const handleSubmit = e => {\n document.getElementsByClassName(\"add-todo-form\")[0].style.display = \"none\";\n\n e.preventDefault();\n const newTodo = { todo_desc, priority, due_date, username };\n\n fetch(\"/todos\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newTodo)\n }).then(() => {\n window.location.reload();\n })\n }\n\n const handleRemove = id => e => {\n e.preventDefault();\n fetch(\"/todos/\" + id, { method: 'DELETE' })\n .then(() => {\n window.location.reload();\n })\n };\n\n return (\n <div className=\"todo-list\" style={{float: \"right\"}}>\n <h2>{title}</h2>\n\n <div className=\"add-todo-button\">\n <button onClick={openTaskForm}>Add a personal task</button>\n </div>\n\n { isPending && <h2>Loading...</h2> }\n\n <div className=\"add-todo-form\">\n { users && <form onSubmit={handleSubmit}>\n <label>Task description [required]</label>\n <textarea value={todo_desc} onChange={(e) => setTodoDesc(e.target.value)} required placeholder=\"Add some awesome description!\" ></textarea>\n <label>Priority level (1: lowest, 4: highest)</label>\n <select value={priority} onChange={(e) => setPriority(e.target.value)} >\n <option value=\"1\">1</option>\n <option value=\"2\">2</option>\n <option value=\"3\">3</option>\n <option value=\"4\">4</option>\n </select>\n <label>When should this task be done by? [required]</label>\n <input\n required\n type=\"date\"\n value={due_date}\n onChange={(e) => setDueDate(e.target.value)}\n />\n <label>Assigned user</label>\n <select value={username} onChange={(e) => setUsername(e.target.value)} >\n {users.map(user => <option value={user.username}>{user.username}</option>)}\n </select>\n <button>Save task</button>\n </form> }\n </div>\n\n <div className=\"personal-todos\">\n {todos.map((todo) => (\n <div className=\"todo-preview\" key={todo.id}>\n <h2>{todo.todo_desc}</h2>\n <h3>Priority level: {todo.priority}</h3>\n <h3>To be done by:{todo.due_date}</h3>\n <button onClick={handleRemove(todo.id)}>Complete</button>\n </div>\n ))}\n </div>\n\n </div>\n );\n\n}\n\nexport default PersonalToDo;","import ProjectList from './ProjectList'\nimport PersonalToDo from './PersonalToDo'\nimport useFetch from './useFetch'\nimport useToken from './useToken';\nimport { useState } from \"react\";\n\nconst Home = () => {\n\n const {data: todos, errorTodos, isPendingTodos} = useFetch(\"/todos\");\n const {setToken, token} = useToken();\n\n const {data: projects, errorRelevantProjects, isPendingRelevantProjects} = useFetch(\"/user_project/username/\" + token);\n\n return (\n <div className=\"home\">\n <h1>Dashboard</h1>\n <div className=\"home-projects\" style={{float: \"left\", width: \"600px\"}}>\n { isPendingRelevantProjects && <h2>Loading...</h2> }\n { projects && <ProjectList projects={projects} title=\"My Projects\"/> }\n </div>\n <div className=\"homeTodos\">\n { isPendingTodos && <h2>Loading...</h2> }\n { todos && <PersonalToDo todos={todos.filter(todo => todo.username === token)} title=\"My Tasks\"/> }\n </div>\n </div>\n \n );\n}\n \nexport default Home;","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\"\nimport Select from 'react-select';\nimport useFetch from './useFetch'\n\nconst CreateProject = () => {\n const [name, setName] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [status, setStatus] = useState(\"Available\");\n const [tag, setTag] = useState(\"Other\");\n const [location, setLocation] = useState(\"\");\n const [files, setFiles] = useState(\"\");\n\n const [selectUsernames, setSelectUsernames] = useState([]);\n\n const history = useHistory();\n\n const { data: users, error, isPending } = useFetch(\"/users/user_project\");\n\n const usernames = users.map(user => user.username);\n\n const handleChange = (e) => {\n setSelectUsernames(Array.isArray(e) ? e.map(x => x.value) : []); \n }\n\n const handleSubmit = async e => {\n e.preventDefault()\n\n const newProject = { name, description, status, tag, location, files };\n\n const response = await fetch(\"/projects\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newProject)\n });\n\n const responseJSON = await response.json();\n\n const project_id = responseJSON.id;\n\n selectUsernames.map(username => {\n const assign_project = { username, project_id };\n\n fetch(\"/user_project\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(assign_project)\n });\n });\n\n console.log(users);\n console.log(usernames);\n console.log(selectUsernames);\n history.push(\"/\");\n }\n\n return (\n <div className=\"create-project\">\n <h2>Add a new project</h2>\n <form onSubmit={handleSubmit}>\n <label>Project name [required]</label>\n <input\n type=\"text\"\n required\n value={name}\n onChange={(e) => setName(e.target.value)}\n placeholder=\"Input project name\"\n />\n <label>Description [required]</label>\n <textarea required placeholder=\"Add some awesome description!\" value={description} onChange={(e) => setDescription(e.target.value)}></textarea>\n <label>Status</label>\n <select value={status} onChange={(e) => setStatus(e.target.value)}>\n <option value=\"Progress\">Progress</option>\n <option value=\"Available\">Available</option>\n <option value=\"Completed\">Completed</option>\n </select>\n <label>Location</label>\n <input\n type=\"text\"\n value={location}\n onChange={(e) => setLocation(e.target.value)}\n placeholder=\"Eg: United Kingdom\"\n />\n <label>Type of project [required]</label>\n <select required value={tag} onChange={(e) => setTag(e.target.value)}>\n <option value=\"Social\">Social</option>\n <option value=\"Education\">Education</option>\n <option value=\"Wash\">Wash</option>\n <option value=\"Environment\">Environment</option>\n <option value=\"Health\">Health</option>\n <option value=\"Other\">Other</option>\n </select>\n <label>Volunteers assigned to this project</label>\n <Select\n className=\"dropdown\"\n placeholder=\"Select Users\"\n value={users.filter(user => selectUsernames.includes(user.value))}\n options={users} // set list of the usernames\n onChange={handleChange} // assign onChange function\n isMulti\n isClearable\n />\n {/* <select multiple={true} onChange={(e) => setSelectUsernames(selectUsernames.concat(e.target.value))} value={selectUsernames} >\n {users.map(user => <option value={user.username}>{user.firstname} {user.surname}</option>)}\n </select> */}\n <label>Google Drive folder</label>\n <textarea placeholder=\"Copy the link to the Google Drive folder for this project\" value={files} onChange={(e) => setFiles(e.target.value)}></textarea>\n <button>Add project</button>\n </form>\n </div>\n );\n}\n\n\nexport default CreateProject;","import { useHistory, useParams } from 'react-router';\nimport useFetch from './useFetch'\nimport { Link } from \"react-router-dom\"\n\nconst ProjectDetails = () => {\n const { id } = useParams();\n const history = useHistory();\n\n const { data: project, error, isPending } = useFetch(\"/projects/\" + id)\n const { data: assignments, errorAssignment, isPendingAssignment } = useFetch(\"/user_project/project/\" + id)\n\n const handleRemove = e => {\n e.preventDefault()\n fetch(\"/projects/\" + id, { method: 'DELETE' })\n .then(() => { history.push('/'); })\n };\n\n return (\n <div className=\"project-details\">\n {isPending && <h2>Loading...</h2>}\n {project && <h2>{project.name}</h2>}\n {project && <button style={{\n fontSize: '20px',\n color: '#fff',\n marginBottom: '30px',\n marginright: '10px',\n borderRadius: '8px',\n backgroundColor: '#f1b535'\n }}>Status: {project.status}</button>}\n {project && <button style={{\n fontSize: '20px',\n color: '#fff',\n marginBottom: '30px',\n marginRight: '10px',\n borderRadius: '8px',\n backgroundColor: '#595bc0'\n }}>{project.tag}</button>}\n {project && <h4>Location: {project.location}</h4>}\n {project && <button onClick={(e) => {\n e.preventDefault();\n window.open(project.files, \"_blank\");\n }}>Documents</button>}\n {project && <p>{project.description}</p>}\n\n <h3>Volunteers working on this project</h3>\n <div className=\"project_user_assignment_list\">\n {assignments.map(a => (\n <div className=\"assigned_users_preview\" style={{float: \"left\", width: \"50%\"}} key={a.id}>\n <Link to={`/users/${a.username}`}>\n <h4>{a.username}</h4>\n </Link>\n </div>)\n )\n }\n </div>\n\n <div className=\"project-tasks\">\n {project && <Link to={`/projects/${project.id}/tasks`} className=\"view-tasks-button\">View Tasks</Link>}\n\n {project && <Link to={`/projects/${project.id}/add-task`} className=\"add-task-button\">Add Task</Link>}\n </div>\n\n <div>\n {project && <button onClick={handleRemove}>Delete project</button>}\n\n {project && <Link to={`/edit-project/${project.id}`} className=\"edit-project-button\">Edit project</Link>}\n </div>\n\n </div>\n\n );\n}\n\nexport default ProjectDetails;","import { Link } from \"react-router-dom\"\n\nconst PageNotFound = () => {\n return (\n <div className=\"page-not-found\">\n <h2>Something went wrong...</h2>\n <p>That page cannot be found</p>\n <Link to='/'>Back to the main page</Link>\n </div>\n );\n}\n \nexport default PageNotFound;","import { useHistory, useParams } from 'react-router';\nimport useFetch from './useFetch'\nimport useToken from './useToken';\n\nconst MyProfile = () => {\n const {setToken, token} = useToken();\n\n const {data: user, error, isPending} = useFetch(\"/users/\" + token)\n\n return (\n <div className=\"my-profile\">\n { isPending && <h2>Loading...</h2> }\n { user && <h2>{user.firstname + \" \" + user.surname}</h2> }\n { user && <h1>{\"Username: \" + user.token}</h1> }\n { user && <h1>{\"Title: \" + user.title}</h1> }\n { user && <h1>{\"Email: \" + user.email}</h1> }\n { user && <h1>{\"Bio: \" + user.bio}</h1> }\n { user && <h1>{\"Joined: \" + user.joined}</h1> }\n { user && <h1>{\"Location: \" + user.location}</h1> }\n { user && <h1>{\"Availability: \" + user.availability}</h1> }\n { user && <h1>{\"Partnership Opportunities: \" + user.partnership_opportunities}</h1> }\n { user && <h1>{\"Interests: \" + user.interests}</h1> } \n </div>\n );\n}\n\nexport default MyProfile;","import { useHistory, useParams } from 'react-router';\nimport useFetch from './useFetch'\nimport { Link } from \"react-router-dom\"\nimport useToken from './useToken';\n\nconst User = () => {\n const {username} = useParams();\n const history = useHistory();\n const {setToken, token} = useToken();\n \n const {data: user, error, isPending} = useFetch(\"/users/\" + username)\n \n const handleRemove = e => {\n e.preventDefault()\n fetch(\"/users/\" + username, {method: 'DELETE'})\n .then(()=> {history.push('/');})\n };\n\n return (\n <div className=\"user\">\n { isPending && <h2>Loading...</h2> }\n { user && <div>\n <h2>{user.firstname + \" \" + user.surname}</h2>\n </div> }\n\n { user && <div>\n <h3><strong>Username: </strong>{user.username}</h3>\n <h3><strong>Email: </strong>{user.email}</h3> \n <h3><strong>Title: </strong>{user.title}</h3>\n <h3><strong>Joined: </strong>{user.joined}</h3>\n <h3><strong>Location: </strong>{user.location}</h3>\n <h3><strong>Availability: </strong>{user.availability}</h3>\n </div> }\n\n <br />\n\n { user && <div>\n <label><strong>Bio</strong></label>\n <p>{user.bio}</p>\n </div> }\n \n { user && <div>\n <label><strong>Partnership Opportunities</strong></label>\n <p>{user.partnership_opportunities}</p>\n </div> }\n\n { user && <div>\n <label><strong>Interests</strong></label>\n <p>{user.interests}</p>\n </div> }\n\n { user && (token == \"jaimeaguilera\" || username == token) && <button onClick={handleRemove}>Delete user</button> }\n \n { user && (token == \"jaimeaguilera\" || username == token) && <Link to={`/edit-user/${username}`} className=\"edit-user-button\">Edit details</Link> }\n </div>\n );\n}\n \nexport default User;","import { Link } from 'react-router-dom'\n\nconst UserList = ({ users }) => {\n\n return (\n <div className=\"user-list\">\n\n {users.map((user) => (\n <div className=\"preview\" key={user.username}>\n <Link to={`/users/${user.username}`}>\n <h2>{user.username}</h2>\n </Link>\n </div>\n ))}\n </div>\n );\n}\n \nexport default UserList;\n","import UserList from './UserList'\nimport useFetch from './useFetch'\nimport useToken from './useToken'\nimport { Link } from 'react-router-dom'\n\nconst Users = () => {\n\n const {data: users, error, isPending} = useFetch(\"/users\")\n const {setToken, token} = useToken();\n\n return (\n <div className=\"users\">\n <h1>Users</h1>\n { token == \"jaimeaguilera\" && <Link to={`/add-user`} className=\"add-user-button\">Add User</Link> }\n <br />\n <br />\n { isPending && <h2>Loading...</h2> }\n { users && <UserList users={users} title=\"All Users\"/> }\n </div>\n );\n}\n \nexport default Users;","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\"\n\n\n\nconst AddUser = () => {\n const [firstname, setFirstname] = useState(\"\");\n const [surname, setSurname] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [title, setTitle] = useState(\"\")\n const [email, setEmail] = useState(\"\");\n const [bio, setBio] = useState(\"\");\n const [joined, setJoined] = useState(\"\");\n const [location, setLocation] = useState(\"\");\n const [availability, setAvailability] = useState(\"\");\n const [partnership_opportunities, setPartnership_opportunities] = useState(\"\");\n const [interests, setInterests] = useState(\"\");\n const [username, setUsername] = useState(\"\");\n\n\n const history = useHistory();\n\n const handleSubmit = e => {\n e.preventDefault()\n\n const newUser = {\n firstname,\n surname,\n password,\n title,\n email,\n bio,\n joined,\n location,\n availability,\n partnership_opportunities,\n interests,\n username\n }\n\n fetch(\"/users\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newUser)\n }).then(() => {\n history.push('/users');\n })\n }\n\n return (\n <div className=\"add-user\">\n <h2>Add a new user</h2>\n <form onSubmit={handleSubmit}>\n <label>Username [required]</label>\n <input\n type=\"text\"\n required\n value={username}\n onChange={(e) => setUsername(e.target.value)}\n placeholder=\"Input username here\"\n />\n\n\n <label>Firstname [required]</label>\n <input\n type=\"text\"\n required\n value={firstname}\n onChange={(e) => setFirstname(e.target.value)}\n placeholder=\"Input your first name here\"\n />\n\n <label>Surname [required]</label>\n <input\n type=\"text\"\n required\n value={surname}\n onChange={(e) => setSurname(e.target.value)}\n placeholder=\"Input surname here\"\n />\n\n <label>Title [required]</label>\n <input\n type=\"text\"\n required\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n placeholder=\"State your role at InAGlobe (eg: volunteer)\"\n />\n\n <label>Password [required]</label>\n <input\n type=\"text\"\n required\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n placeholder=\"Input the default password (to be changed by the user)\"\n />\n\n <label>Email [required]</label>\n <input\n type=\"text\"\n required\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n placeholder=\"Input InAGlobe email here\"\n />\n\n\n <label>Bio</label>\n <input\n type=\"text\"\n value={bio}\n onChange={(e) => setBio(e.target.value)}\n placeholder=\"Tell your colleagues a bit about yourself\"\n />\n\n {/* Think about changing type to force date */}\n <label>Joined</label>\n <input\n type=\"text\"\n value={joined}\n onChange={(e) => setJoined(e.target.value)}\n placeholder=\"Eg: 20th April 2020\"\n />\n\n\n <label>Location</label>\n <input\n type=\"text\"\n value={location}\n onChange={(e) => setLocation(e.target.value)}\n placeholder=\"Where are you currently based?\"\n />\n\n <label>Availibility</label>\n <input\n type=\"text\"\n value={availability}\n onChange={(e) => setAvailability(e.target.value)}\n placeholder=\"How available are you approximately per week?\"\n />\n\n <label>Partnership Opportunities</label>\n <input\n type=\"text\"\n value={partnership_opportunities}\n onChange={(e) => setPartnership_opportunities(e.target.value)}\n placeholder=\"Eg: Department of Computing at Imperial College London\"\n />\n\n <label>Interests</label>\n <input\n type=\"text\"\n value={interests}\n onChange={(e) => setInterests(e.target.value)}\n placeholder=\"What are your hobbies?\"\n />\n\n <button>Add user</button>\n </form>\n </div>\n );\n}\n\nexport default AddUser;","import { useState } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\"\nimport { useForm } from \"react-hook-form\"\nimport useFetch from './useFetch'\n\nconst EditProject = () => {\n const { id } = useParams();\n const { data: {name, description, status, location, tag, files}, error, isPending } = useFetch(\"/projects/\" + id)\n const { data: users, errorUsers, isPendingUsers } = useFetch(\"/users\")\n const [selectUsernames, setSelectUsernames] = useState([]);\n\n const history = useHistory();\n const oldProjectDetails = {\n name: name,\n description: description,\n status: status,\n location: location,\n tag: tag,\n files: files\n }\n \n const { register, handleSubmit } = useForm({\n defaultValues: oldProjectDetails\n });\n\n const onSubmit = e => {\n fetch(\"/projects/\" + id, {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(e)\n }).then(() => {\n selectUsernames.map(username => {\n const assign_project = { username: username, project_id: id };\n\n fetch(\"/user_project\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(assign_project)\n });\n });}).then(() => {\n history.push('/');\n })\n }\n\n return (\n <div className=\"edit-project\">\n <h2>Edit project</h2>\n { isPending && <h2>Loading...</h2> }\n { name && <form onSubmit={handleSubmit(onSubmit)}>\n <label htmlFor=\"name\">Project name</label>\n <input {...register(\"name\")}\n // type=\"text\"\n placeholder=\"Insert project name here\"\n // name=\"name\"\n />\n <label>Description</label>\n <textarea {...register(\"description\")} name=\"description\" placeholder=\"Insert description of the project here\"></textarea>\n <label>Status</label>\n <select {...register(\"status\")} name=\"status\">\n <option value=\"Progress\">Progress</option>\n <option value=\"Available\">Available</option>\n <option value=\"Completed\">Completed</option>\n </select>\n <label>Location</label>\n <input\n {...register(\"location\")}\n type=\"text\"\n placeholder=\"Insert location of project here\"\n name=\"location\"\n />\n <label>Type of project</label>\n <select {...register(\"tag\")} name=\"tag\">\n <option value=\"Social\">Social</option>\n <option value=\"Education\">Education</option>\n <option value=\"Wash\">Wash</option>\n <option value=\"Environment\">Environment</option>\n <option value=\"Health\">Health</option>\n <option value=\"Other\">Other</option>\n </select>\n <label>Volunteers assigned to this project</label>\n <select multiple={true} onChange={(e) => setSelectUsernames(selectUsernames.concat(e.target.value))} value={selectUsernames} >\n {users.map(user => <option value={user.username}>{user.firstname} {user.surname}</option>)}\n </select>\n <label>Google Drive folder</label>\n <textarea {...register(\"files\")} name=\"files\" placeholder=\"Insert Google Drive Folder link here\"></textarea>\n <button type=\"submit\">Save project details</button>\n </form> }\n </div>\n );\n}\n\nexport default EditProject;","import React from 'react';\nimport { slide as Menu } from 'react-burger-menu';\nimport { Link, useHistory } from 'react-router-dom'\nimport useToken from './useToken';\n\nconst Sidebar = () => {\n\nconst slackLink = \"https://slack.com/intl/en-gb/\"\n\nconst history = useHistory();\n\nconst {setToken, token} = useToken();\n\nconst handleSignOut = e => {\n e.preventDefault()\n\n localStorage.clear();\n\n window.location.reload();\n history.push(\"/\");\n}\n\nreturn (\n <Menu>\n <div className=\"menu-item\" > \n <Link to={`/`}>Home</Link>\n </div>\n <div className=\"menu-item\" > \n <Link to={`/users/` + token}>Profile</Link>\n </div>\n <div className=\"menu-item\" > \n <Link to={`/users`}>All Users</Link>\n </div>\n <div className=\"menu-item\" > \n <Link to={`/projects`}>All Projects</Link>\n </div>\n <div className=\"menu-item\" > \n <a href={slackLink} target=\"_blank\">Go To Slack</a>\n </div> \n <div className=\"menu-item\" >\n <a style={{textDecoration: \"underline\", cursor: \"pointer\"}} onClick={handleSignOut}>Log Out</a>\n </div> \n </Menu>\n\n);\n\n}\n\nexport default Sidebar;","import { Link, useHistory, useParams } from \"react-router-dom\"\nimport { useForm } from \"react-hook-form\"\nimport useFetch from './useFetch'\n\nconst EditUser = () => {\n const { username } = useParams();\n const { data: {firstname, surname, password, title, email, bio, joined, \n location, availability, partnership_opportunities, interests}, error, isPending } = useFetch(\"/users/\" + username)\n\n const history = useHistory();\n const oldUserDetails = {\n firstname: firstname,\n surname: surname,\n password: password,\n title: title,\n email: email,\n bio: bio,\n joined: joined,\n location: location,\n availability: availability,\n partnership_opportunities: partnership_opportunities,\n interests: interests,\n }\n \n const { register, handleSubmit } = useForm({\n defaultValues: oldUserDetails\n });\n\n const onSubmit = e => {\n fetch(\"/users/\" + username, {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(e)\n }).then(() => {\n history.push('/');\n })\n }\n\n return (\n <div className=\"edit-user\">\n <h2>Edit user</h2>\n { isPending && <h2>Loading...</h2> }\n <Link to={`/users/change-password`}>Change Password</Link>\n { firstname && <form onSubmit={handleSubmit(onSubmit)}>\n <label htmlFor=\"firstname\">Firstname</label>\n <input {...register(\"firstname\")}\n placeholder=\"Input your first name here\"\n />\n\n <label htmlFor=\"surname\">Surname</label>\n <input {...register(\"surname\")}\n placeholder=\"Input surname here\"\n />\n\n <label htmlFor=\"title\">Title</label>\n <input {...register(\"title\")}\n placeholder=\"State your role at InAGlobe (eg: volunteer)\"\n />\n\n <label htmlFor=\"password\">Password</label>\n <input {...register(\"password\")}\n placeholder=\"Input the password\"\n />\n\n <label htmlFor=\"email\">Email</label>\n <input {...register(\"email\")}\n placeholder=\"Input InAGlobe email here\"\n />\n\n\n <label htmlFor=\"bio\">Bio</label>\n <input {...register(\"bio\")}\n placeholder=\"Tell your colleagues a bit about yourself\"\n />\n\n {/* Think about changing type to force date */}\n <label htmlFor=\"joined\">Joined</label>\n <input {...register(\"joined\")}\n placeholder=\"Eg: 20th April 2020\"\n />\n\n\n <label htmlFor=\"location\">Location</label>\n <input {...register(\"location\")}\n placeholder=\"Where are you currently based?\"\n />\n\n <label htmlFor=\"availability\">Availibility</label>\n <input {...register(\"availability\")}\n placeholder=\"How available are you approximately per week?\"\n />\n\n <label htmlFor=\"partnership_opportunities\">Partnership Opportunities</label>\n <input {...register(\"partnership_opportunities\")}\n placeholder=\"Eg: Department of Computing at Imperial College London\"\n />\n\n <label htmlFor=\"interests\">Interests</label>\n <input {...register(\"interests\")}\n placeholder=\"What are your hobbies?\"\n />\n <button type=\"submit\">Save user details</button>\n </form> }\n </div>\n );\n}\n\nexport default EditUser;","import { useState } from \"react\";\nimport { useHistory } from 'react-router';\nconst ProjectTaskList = ({ project_tasks }) => {\n /* pass in filtered dataset containing tasks for a specific project*/\n const history = useHistory();\n const [description, setDescription] = useState(\"\");\n const [priority, setPriority] = useState(1);\n const [due_date, setDueDate] = useState(Date.now);\n const [completed, setCompleted] = useState(\"\");\n const [project_id, setProjectId] = useState(\"\");\n\n const handleComplete = task => e => {\n e.preventDefault();\n console.log(task.id)\n\n setDescription(task.description)\n setPriority(task.priority)\n setDueDate(task.due_date)\n setCompleted(\"Completed\")\n setProjectId(task.project_id)\n const newTask = { description, priority, due_date, completed, project_id }\n\n console.log(newTask)\n\n fetch(\"/projects/\" + task.project_id + \"/tasks/\" + task.id, {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(task)\n }).then(() => {\n window.location.reload();\n })\n \n };\n\n const handleDelete = task => e => {\n e.preventDefault();\n\n fetch(\"/projects/\" + task.project_id + \"/tasks/\" + task.id, {\n method: 'DELETE',\n }).then(() => {\n window.location.reload();\n })\n \n };\n\n return (\n <div className=\"project-tasks-list\">\n {project_tasks.map((task) => (\n <div className=\"project-task-preview\" key={task.id}>\n <div>\n <h2>{task.description}</h2>\n <h3>Due date: {task.due_date}</h3>\n </div>\n \n <h3>Priority: {task.priority}</h3>\n { !task.completed && <button className=\"task-complete-button\" onClick={handleComplete(task)}>Complete</button> }\n <button className=\"task-delete-button\"onClick={handleDelete(task)}>Delete</button>\n </div>\n ))}\n </div>\n );\n}\n \nexport default ProjectTaskList;\n","import { useParams } from 'react-router';\n\nimport ProjectTaskList from './ProjectTaskList'\nimport useFetch from './useFetch'\nimport { Link } from \"react-router-dom\"\n\nconst ProjectTasks = () => {\n const { id } = useParams();\n const { data: project, errorProject, isPendingProject } = useFetch(\"/projects/\" + id)\n\n const { data: project_tasks, errorTasks, isPendingTasks } = useFetch(\"/projects/\" + id + \"/tasks\");\n\n return (\n <div className=\"project-tasks\">\n { project && <h1>{project.name}: tasks</h1>}\n <h2>Ongoing Project Tasks</h2>\n { isPendingTasks && <h2>Loading...</h2> }\n { project_tasks && <ProjectTaskList project_tasks={project_tasks.filter(task => !task.completed)}/> }\n <h2>Completed Project Tasks</h2>\n { project_tasks && <ProjectTaskList project_tasks={project_tasks.filter(task => task.completed)}/> }\n\n <div className=\"add-task-button-wrapper\">\n { project_tasks && <Link to={`/projects/${project.id}/add-task`} className=\"add-task-button\">Add Task</Link> }\n </div>\n </div>\n );\n}\n\nexport default ProjectTasks;","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\"\nimport { useParams } from \"react-router\"\nimport useFetch from \"./useFetch\";\n\nconst AddProjectTask = () => {\n const [description, setDescription] = useState(\"\");\n const [due_date, setDueDate] = useState(Date.now);\n const [priority, setPriority] = useState(1);\n const [completed, setCompleted] = useState(false);\n const { id } = useParams();\n const { data: project, error, isPending } = useFetch(\"/projects/\" + id)\n\n\n const history = useHistory();\n\n const handleSubmit = e => {\n e.preventDefault()\n\n const newProjectTask = {\n description,\n due_date,\n priority,\n completed\n }\n\n fetch(\"/projects/\" + project.id + \"/tasks\", {\n method: 'POST',\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(newProjectTask)\n }).then(() => {\n history.push('/projects/' + id + '/tasks');\n })\n }\n\n return (\n <div className=\"add-project-task\">\n <h2>Add a new task</h2>\n { isPending && <h2>Loading...</h2> }\n { project && <form onSubmit={handleSubmit}>\n <label>Description</label>\n <input\n type=\"text\"\n required\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"Input description here\"\n />\n\n\n <label>Due Date [required]</label>\n <input\n type=\"date\"\n required\n value={due_date}\n onChange={(e) => setDueDate(e.target.value)}\n placeholder=\"Input your first name here\"\n />\n\n <label>Priority level (1: lowest, 4: highest) [required]</label>\n <select required value={priority} onChange={(e) => setPriority(e.target.value)} >\n <option value=\"1\">1</option>\n <option value=\"2\">2</option>\n <option value=\"3\">3</option>\n <option value=\"4\">4</option>\n </select>\n\n <label>Status</label>\n <select value={completed} onChange={(e) => setCompleted(e.target.value)}>\n <option value=\"Incomplete\">Available</option>\n <option value=\"Completed\">Completed</option>\n </select>\n <button>Add task</button>\n </form> }\n </div>\n );\n}\n\nexport default AddProjectTask;","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nasync function loginUser(credentials) {\n return fetch('/users/login', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(credentials)\n })\n .then(data => data.json())\n }\n\nexport default function Login({ setToken }) {\n const [username, setUserName] = useState();\n const [password, setPassword] = useState();\n\n const handleSubmit = async e => {\n e.preventDefault();\n const token = await loginUser({\n username,\n password\n });\n if(token.token != \"\") {\n setToken(token);\n }\n }\n \n\n return (\n <div className=\"login\">\n <h1> InAGlobe Platform </h1>\n <form onSubmit={handleSubmit}>\n <input type=\"text\" id=\"login\" class=\"fadeIn second\" name=\"login\" placeholder=\"login\"\n onChange={e => setUserName(e.target.value)}/>\n <input type=\"password\" id=\"password\" class=\"fadeIn third\" name=\"login\" placeholder=\"password\"\n onChange={e => setPassword(e.target.value)}/> \n <div className=\"incorrect-password\" style={{display: 'none'}}>\n <h2>Incorrect password!</h2>\n </div>\n <a>Forgot Password?</a>\n <button type=\"submit\">Log In</button>\n </form>\n </div>\n );\n}\n \nLogin.propTypes = {\n setToken: PropTypes.func.isRequired\n}\n","\nimport useToken from './useToken';\nimport { Link, useHistory } from 'react-router-dom'\nimport { useState } from 'react'\n\nconst ChangePassword = () => {\n const [oldPassword, setOldPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const {setToken, token} = useToken()\n const history = useHistory()\n\nasync function passwordUpdate() {\n return fetch('/users/update-password', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n username: token,\n oldPassword: oldPassword,\n newPassword: newPassword})\n })\n .then(data => data.json())\n }\n\n const handleSubmit = async e => {\n e.preventDefault();\n const updated = await passwordUpdate();\n\n if(updated.status != \"True\") {\n document.getElementsByClassName(\"incorrect-password\")[0].style.display = \"block\";\n }\n else{\n document.getElementsByClassName(\"password-changed-msg\")[0].style.display = \"block\";\n }\n }\n \nreturn (\n <div className=\"change-password\">\n <h2>Change Password</h2>\n <label >Current Password</label>\n <input \n onChange={(e) => setOldPassword(e.target.value)}\n placeholder=\"Current Password\"\n />\n\n <label >New Password</label>\n <input \n onChange={(e) => setNewPassword(e.target.value)}\n placeholder=\"New Password\"\n />\n\n <button onClick={handleSubmit}>Change password</button>\n\n <h2 className=\"incorrect-password\" style={{display: \"none\"}}>Incorrect password</h2>\n\n <div className=\"password-changed-msg\" style={{display: \"none\"}}>\n <h3>Your password has been changed successfully</h3>\n <Link to={`/`}>Back to Dashboard</Link>\n </div>\n\n </div>\n \n )\n\n}\n\nexport default ChangePassword;","import ProjectList from './ProjectList'\nimport PersonalToDo from './PersonalToDo'\nimport useFetch from './useFetch'\nimport useToken from './useToken';\n\nconst ProjectRegistry = () => {\n\n const {data: projects, errorProjects, isPendingProjects} = useFetch(\"/projects\")\n\n return (\n <div className=\"project-registry\">\n <h1>All Projects</h1>\n <br />\n { isPendingProjects && <h2>Loading...</h2> }\n { projects && <ProjectList projects={projects} title=\"All Projects\"/> }\n </div>\n \n );\n}\n \nexport default ProjectRegistry;","import React, { useState } from 'react';\nimport {HashRouter as Router, Route, Switch} from 'react-router-dom'\n\nimport Navbar from './Navbar'\nimport Home from './Home'\nimport CreateProject from './CreateProject'\nimport ProjectDetails from './ProjectDetails'\nimport PageNotFound from './PageNotFound'\nimport MyProfile from './MyProfile'\nimport User from './User'\nimport Users from './Users'\nimport AddUser from './AddUser'\nimport EditProject from './EditProject'\nimport Sidebar from './Sidebar' \nimport EditUser from './EditUser'\nimport ProjectTasks from './ProjectTasks'\nimport AddProjectTask from './AddProjectTask'\nimport Login from './Login'\nimport useToken from './useToken';\nimport ChangePassword from './ChangePassword';\nimport ProjectsRegistry from './ProjectsRegistry'\n\nfunction App() {\n\n const { token, setToken } = useToken();\n\n if(!token) {\n return <Login setToken={setToken} />\n }\n\n return (\n <Router>\n <div className=\"App\"> \n <Sidebar />\n <Navbar />\n <div className=\"content\"> \n <Switch>\n <Route exact path=\"/\">\n <Home />\n </Route>\n <Route exact path=\"/create-project\">\n <CreateProject />\n </Route>\n <Route exact path=\"/add-user\">\n <AddUser /> \n </Route>\n <Route exact path=\"/my-profile\">\n <MyProfile />\n </Route>\n <Route exact path=\"/users\">\n <Users /> \n </Route>\n <Route exact path=\"/users/change-password\">\n <ChangePassword />\n </Route> \n <Route exact path=\"/users/:username\">\n <User />\n </Route>\n <Route exact path=\"/edit-user/:username\">\n <EditUser />\n </Route> \n <Route exact path=\"/projects\">\n <ProjectsRegistry /> \n </Route> \n <Route exact path=\"/projects/:id/add-task\">\n <AddProjectTask /> \n </Route> \n <Route exact path=\"/projects/:id/tasks\">\n <ProjectTasks /> \n </Route>\n <Route exact path=\"/projects/:id\">\n <ProjectDetails />\n </Route>\n <Route exact path=\"/edit-project/:id\">\n <EditProject />\n </Route>\n <Route path=\"*\">\n <PageNotFound />\n </Route>\n </Switch>\n </div>\n </div>\n </Router>\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/backend/templates/index.html b/backend/templates/index.html index edc3a5ae9fd277b98610520f300d1fbc8030a0c9..2d33b76735f225ec080b162d9ddfd75cecfff1c4 100644 --- a/backend/templates/index.html +++ b/backend/templates/index.html @@ -1 +1 @@ -<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/static/react/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/static/react/logo192.png"/><link rel="manifest" href="/static/react/manifest.json"/><title>React App</title><script>window.token="{{DRP_token}}"</script><link href="/static/react/css/main.893b1949.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,u,i=r[0],c=r[1],l=r[2],s=0,p=[];s<i.length;s++)u=i[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&p.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);p.length;)p.shift()();return a.push.apply(a,l||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,i=1;i<t.length;i++){var c=t[i];0!==o[c]&&(n=!1)}n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={1:0},a=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+"js/"+({}[e]||e)+"."+{3:"ddc4d6e7"}[e]+".chunk.js"}(e);var c=new Error;a=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",c.name="ChunkLoadError",c.type=n,c.request=a,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:i})}),12e4);i.onerror=i.onload=a,document.head.appendChild(i)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="/static/react/",u.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpinaglobe-dashboard"]=this["webpackJsonpinaglobe-dashboard"]||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([])</script><script src="/static/react/js/2.92bb91cc.chunk.js"></script><script src="/static/react/js/main.e896a0a2.chunk.js"></script></body></html> \ No newline at end of file +<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/static/react/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/static/react/logo192.png"/><link rel="manifest" href="/static/react/manifest.json"/><title>React App</title><script>window.token="{{DRP_token}}"</script><link href="/static/react/css/main.5e2a6a72.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,u,i=r[0],c=r[1],l=r[2],s=0,p=[];s<i.length;s++)u=i[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&p.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);p.length;)p.shift()();return a.push.apply(a,l||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,i=1;i<t.length;i++){var c=t[i];0!==o[c]&&(n=!1)}n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={1:0},a=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+"js/"+({}[e]||e)+"."+{3:"ddc4d6e7"}[e]+".chunk.js"}(e);var c=new Error;a=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",c.name="ChunkLoadError",c.type=n,c.request=a,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:i})}),12e4);i.onerror=i.onload=a,document.head.appendChild(i)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="/static/react/",u.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpinaglobe-dashboard"]=this["webpackJsonpinaglobe-dashboard"]||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([])</script><script src="/static/react/js/2.c5f15404.chunk.js"></script><script src="/static/react/js/main.4f2a1e71.chunk.js"></script></body></html> \ No newline at end of file diff --git a/frontend/src/App.js b/frontend/src/App.js index c4f8dabd829c152b7508c41504fda1a5547852ac..c940edb7374727f6650fccf4c94adb7e8bb49acc 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -16,17 +16,29 @@ import EditUser from './EditUser' import ProjectTasks from './ProjectTasks' import AddProjectTask from './AddProjectTask' import Login from './Login' -import useToken from './useToken'; -import ChangePassword from './ChangePassword'; +import useToken from './useToken' +import ChangePassword from './ChangePassword' import ProjectsRegistry from './ProjectsRegistry' +import ForgotPassword from './ForgotPassword' function App() { const { token, setToken } = useToken(); - // if(!token) { - // return <Login setToken={setToken} /> - // } + if(!token) { + return ( + <Router> + <Switch> + <Route exact path="/forgot-password"> + <ForgotPassword /> + </Route> + <Route path="*"> + <Login setToken={setToken} /> + </Route> + </Switch> + </Router> + ) + } return ( <Router> diff --git a/frontend/src/ChangePassword.js b/frontend/src/ChangePassword.js index 43941cad30915022dc3d4e40bac69429cfb9ed2e..9a5be3a308256fabf7284edaac2fc21b25524564 100644 --- a/frontend/src/ChangePassword.js +++ b/frontend/src/ChangePassword.js @@ -40,14 +40,14 @@ return ( <h2>Change Password</h2> <label >Current Password</label> <input - onChange={(e) => setOldPassword(e.target.value)} - placeholder="Current Password" + onChange={(e) => setOldPassword(e.target.value)} + placeholder="Current Password" /> <label >New Password</label> <input - onChange={(e) => setNewPassword(e.target.value)} - placeholder="New Password" + onChange={(e) => setNewPassword(e.target.value)} + placeholder="New Password" /> <button onClick={handleSubmit}>Change password</button> diff --git a/frontend/src/ForgotPassword.js b/frontend/src/ForgotPassword.js new file mode 100644 index 0000000000000000000000000000000000000000..290ebdb6f46c4da0418a97c005184ec11270f7b6 --- /dev/null +++ b/frontend/src/ForgotPassword.js @@ -0,0 +1,68 @@ +import { useState } from "react"; +import { useHistory } from 'react-router'; + +async function resetPassword(msg) { + return fetch('/users/forgot-password', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(msg) + }) + .then(data => data.json()) + } + +const ForgotPassword = () => { + + const [username, setUsername] = useState("."); + const history = useHistory(); + + + const handleSubmit = async e => { + e.preventDefault(); + + if(username != ".") { + + const msg = { + username: username, + newPassword: Math.random().toString(36).replace(/[^a-z]+/g, '') + } + + const response = await resetPassword(msg); + if(response.status == "False") { + document.getElementsByClassName("email-sent")[0].style.display = "none"; + document.getElementsByClassName("incorrect-username")[0].style.display = "block"; + } else { + document.getElementsByClassName("incorrect-username")[0].style.display = "none"; + document.getElementsByClassName("email-sent")[0].style.display = "block"; + } + } + } + + const handleReturn = e => { + e.preventDefault(); + history.push('/'); + } + + + return ( + <div className="forgot-password"> + <form onSubmit={handleSubmit}> + <h1>Forgot Password</h1> + <h2>Input your username</h2> + <input type="text" placeholder="username" onChange={e => setUsername(e.target.value)}/> + <div className="incorrect-username" style={{display: 'none'}}> + <h2>Incorrect username provided!</h2> + </div> + <div className="email-sent" style={{display: 'none'}}> + <h2>Email has been sent!</h2> + </div> + <button>Submit</button> + </form> + <button onClick={handleReturn}>Back to Login Page</button> + </div> + + ); +} + +export default ForgotPassword; \ No newline at end of file diff --git a/frontend/src/Login.js b/frontend/src/Login.js index 44e5b0bb2ea37f9d1bce52e86f7d3ee3bbb4fb9d..d76c950b79e09c9a6f61a6764f8ff0c0ef8b3cee 100644 --- a/frontend/src/Login.js +++ b/frontend/src/Login.js @@ -1,5 +1,6 @@ import { useState } from 'react'; import PropTypes from 'prop-types'; +import { Link } from 'react-router-dom' async function loginUser(credentials) { return fetch('/users/login', { @@ -24,8 +25,11 @@ export default function Login({ setToken }) { }); if(token.token != "") { setToken(token); + } else { + document.getElementsByClassName("incorrect-password")[0].style.display = "block"; + } - } + } return ( @@ -39,7 +43,9 @@ export default function Login({ setToken }) { <div className="incorrect-password" style={{display: 'none'}}> <h2>Incorrect password!</h2> </div> - <a>Forgot Password?</a> + <div className="links"> + <Link to={`/forgot-password`}>Forgot Password</Link> + </div> <button type="submit">Log In</button> </form> </div> diff --git a/frontend/src/ProjectDetails.js b/frontend/src/ProjectDetails.js index b27e26418b19970019dc059631f5e006d61222a3..0372e0c5cde99d2e3a0a7aeb5e5e2c12ee90f1b9 100644 --- a/frontend/src/ProjectDetails.js +++ b/frontend/src/ProjectDetails.js @@ -25,7 +25,8 @@ const ProjectDetails = () => { marginBottom: '30px', marginright: '10px', borderRadius: '8px', - backgroundColor: '#f1b535' + backgroundColor: '#f1b535', + cursor: 'default' }}>Status: {project.status}</button>} {project && <button style={{ fontSize: '20px', @@ -33,7 +34,8 @@ const ProjectDetails = () => { marginBottom: '30px', marginRight: '10px', borderRadius: '8px', - backgroundColor: '#595bc0' + backgroundColor: '#595bc0', + cursor: 'default' }}>{project.tag}</button>} {project && <h4>Location: {project.location}</h4>} {project && <button onClick={(e) => { diff --git a/frontend/src/index.css b/frontend/src/index.css index 519dd5924d0f9224dc2a6f63f6e4a0dc37cae6ed..8fac6dc42ab67644cd7058b7d00574eb5713a585 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -170,7 +170,7 @@ .create-project button, .project-details button, .edit-project-button, .add-user button, .edit-user-button, .user button, .add-task-button, .view-tasks-button, .add-todo-form button, .add-project-task button, -.change-password .button, .edit-project button, .add-user-button { +.change-password button, .edit-project button, .add-user-button, .edit-user button { background: #f1356d; color: #fff; border: 0; @@ -185,7 +185,7 @@ .create-project button:hover, .project-details button:hover, .edit-project-button:hover, .edit-user-button:hover, .user button:hover, .add-task-button:hover, .add-user button:hover, .edit-user button:hover, .todo-list button:hover, .add-project-task button:hover -.view-tasks-button:hover, .change-password .button:hover, .edit-project button:hover, +.view-tasks-button:hover, .change-password button:hover, .edit-project button:hover, .add-user-button:hover { background: #8f0830; } @@ -228,13 +228,13 @@ text-align: center; } -.login { +.login, .forgot-password { margin: 0; position: absolute; top: 50%; left: 50%; width: 500px; - height: 350px; + height: 430px; -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); box-shadow: 1px 3px 5px rgb(194, 194, 194); @@ -250,7 +250,7 @@ align-items: center; } -.login h1 { +.login h1, .forgot-password h1{ font-size: 40px; color: #f1356d; margin-bottom: 20px; @@ -258,7 +258,15 @@ align-items: center; } -.login a { +.login h2, .forgot-password h2{ + font-size: 20px; + color: #271a1e; + margin-bottom: 10px; + margin-top: 20px; + align-items: center; +} + +.login .links { font-size: 20px; color: #35a6f1; text-decoration: underline; @@ -269,7 +277,7 @@ cursor: pointer; } -.login button { +.login button, .forgot-password button { background: #f1356d; color: #fff; padding: 14px 20px; @@ -281,7 +289,7 @@ font-size: 25px; } -.login input { +.login input, .forgot-password input { width: 450px; padding: 12px 20px; margin: 8px 0; @@ -292,7 +300,7 @@ font-size: 15px; } -.login .button:hover { +.login .button:hover, .forgot-password button:hover { background: #8f0830; } diff --git a/requirements.txt b/requirements.txt index c231e4995042afc963166ce332b6bc81d2e898f0..1ae498898acd6bb98c957d7d5dcfcc16dfd6ff96 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,4 +7,5 @@ Flask-Migrate==3.0.1 psycopg2-binary==2.8.6 pytest==6.2.4 pytest-order==0.11.0 -bcrypt==3.2.0 \ No newline at end of file +bcrypt==3.2.0 +Flask-Mail \ No newline at end of file