;(function () { var desmosEnabledFeatures = {"GraphingCalculator":true,"FourFunctionCalculator":true,"ScientificCalculator":true,"GeometryCalculator":true,"Calculator3D":true}; var desmosApiKeyType = 'demo'; var desmosLocaleData = {"ru":"# common.ftl\n### Strings shared among tools and homepage\n\n\n### 6459 English words, 1158 English strings\n\naccount-shell-button-cancel = Отмена\naccount-shell-button-clear = Очистить\naccount-shell-button-confirm-delete =\n { $count ->\n [one] Да, удалить график\n [few] Да, удалить графики\n *[other] Да, удалить графики\n }\naccount-shell-button-contact-us = Связаться с нами\naccount-shell-button-delete = Удалить\naccount-shell-button-delete-submission = Удалить данную заявку\naccount-shell-button-download-braille = Скачать уравнения Брайля\naccount-shell-button-download-png = Скачать PNG\naccount-shell-button-download-svg = Скачать SVG\naccount-shell-button-duplicate = Дублировать\naccount-shell-button-edit = Редактировать\naccount-shell-button-embed = Код\naccount-shell-button-export-image = Экспорт изображения\naccount-shell-button-hide-browser-warning = Спрятать это предупреждение.\naccount-shell-button-line-medium = Средний\naccount-shell-button-line-thick = Толстая\naccount-shell-button-line-thin = Тонкая\naccount-shell-button-log-in = Войти\naccount-shell-button-mygraphs-attempt-recovery = Попытаться восстановить.\naccount-shell-button-mygraphs-cancel = Отмена\naccount-shell-button-mygraphs-close-graph-list = Закрыть список графиков\naccount-shell-button-mygraphs-close-graph-preview = Закрыть просмотр графика\naccount-shell-button-mygraphs-delete-graph = Удалить график\naccount-shell-button-mygraphs-delete-title = Удалить { $graphTitle }\naccount-shell-button-mygraphs-offline-try-again = оффлайн. Нажмите, чтобы попробовать снова.\naccount-shell-button-mygraphs-save = Сохранить\naccount-shell-button-mygraphs-try-again = Попробуйте еще раз\naccount-shell-button-open-construction = Открыть построение\naccount-shell-button-open-graph = Открыть график\naccount-shell-button-print = Печать\naccount-shell-button-rename = Переименовать\naccount-shell-button-retry-now = Повторить\naccount-shell-button-save = Сохранить\naccount-shell-button-save-copy = Сохранить копию\naccount-shell-button-sign-up = Зарегистрироваться\naccount-shell-button-submit = Подать заявку\naccount-shell-button-submit-graph = Подать этот график\naccount-shell-button-svg-options = Настройки SVG\naccount-shell-button-update-graph = Подать текущий график на замену\naccount-shell-error-art-contest-logged-out = Для участия в конкурсе графики войдите в систему\naccount-shell-error-art-contest-save-error = При обработке вашей заявки произошла ошибка.\naccount-shell-error-change-email-logged-out = Вы должны войти в систему, чтобы изменить свой адрес электронной почты.\naccount-shell-error-change-name-logged-out = Вы должны войти в систему, чтобы изменить свое имя.\naccount-shell-error-changing-name = При смене вашего имени пользователя произошла ошибка.\naccount-shell-error-consent-error = При обработке вашего согласия произошла ошибка.\naccount-shell-error-consent-logged-out = Вы должны войти в систему, чтобы дать согласие на сбор данных.\naccount-shell-error-create-account-unexpected = К сожалению, произошла ошибка при создании вашего аккаунта.\naccount-shell-error-delete-graph-logged-out = Вы должны войти в систему, чтобы удалять графики.\naccount-shell-error-delete-graph-logged-out-2 = Вы должны войти в систему, чтобы удалить график.\naccount-shell-error-delete-unexpected = К сожалению, при удалении этого графика произошла непредвиденная ошибка. Код ошибки: { $code }.\naccount-shell-error-deleting = Ошибка при удалении. Пожалуйста, попробуйте ещё раз позже.\naccount-shell-error-deletion-error = Произошла ошибка. Попробуйте ещё раз?\naccount-shell-error-deletion-error-2 = Ошибка при удалении вашего аккаунта.\naccount-shell-error-deletion-link-not-found = Мы не можем найти данный запрос на удаление. Возможно, он уже использован?\naccount-shell-error-email-already-registered = Извините, с этим адресом электронной почты уже кто-то зарегистрирован.\naccount-shell-error-email-invalid = Пожалуйста, введите действительный адрес электронной почты.\naccount-shell-error-email-password-mismatch = К сожалению, пароль не подходит к вашему адресу электронной почты.\naccount-shell-error-email-too-short = Пожалуйста, введите адрес электронной почты, содержащий не более { $num } символов.\naccount-shell-error-feedback-empty = Пожалуйста, оставьте свой отзыв\naccount-shell-error-feedback-unexpected = К сожалению, при отправке отзыва возникла непредвиденная проблема. Код ошибки: { $code }.\naccount-shell-error-graph-too-large = Этот график слишком большой. Максимально допустимый размер - 5 МБ.\naccount-shell-error-invalid-deletion-link = Эта ссылка на удаление недействительна.\naccount-shell-error-invalid-recovery-link = Эта ссылка для восстановления недействительна.\naccount-shell-error-logged-in-register = Вы уже вошли в систему. Чтобы зарегистрироваться как другой пользователь, вы должны сначала выйти.\naccount-shell-error-logging-in = Ошибка при входе в систему.\naccount-shell-error-logging-out = Ошибка при выходе из системы.\naccount-shell-error-missing-email = Пожалуйста, введите ваш адрес электронной почты.\naccount-shell-error-missing-name = Пожалуйста, введите ваше имя.\naccount-shell-error-missing-new-password = Пожалуйста, введите ваш новый пароль.\naccount-shell-error-missing-password = Пожалуйста, введите ваш пароль.\naccount-shell-error-mygraphs-check-connection = Проверьте подключение к Интернету.\naccount-shell-error-mygraphs-error-deleting = Ошибка удаления.\naccount-shell-error-mygraphs-error-loading = Ошибка загрузки графика\naccount-shell-error-name-too-long = Пожалуйста, введите имя, состоящее не более чем из { $num } символов.\naccount-shell-error-new-password-too-long = Пожалуйста, введите новый пароль, состоящий не более чем из { $num } символов.\naccount-shell-error-new-password-too-short = Пожалуйста, введите новый пароль, содержащий не менее { $num } символов.\naccount-shell-error-password-same-as-old = Новый пароль не должен совпадать со старым паролем.\naccount-shell-error-password-too-long = Пожалуйста, введите пароль, состоящий не более чем из { $num } символов.\naccount-shell-error-password-too-short = Пожалуйста, введите пароль, содержащий не менее { $num } символов.\naccount-shell-error-passwords-do-not-match = Введенные вами пароли не совпадают. Пожалуйста, попробуйте еще раз.\naccount-shell-error-problem-resetting-password = Ошибка при сбросе вашего пароля. Попробуйте ещё раз.\naccount-shell-error-recover-link-not-found = Извините, но мы не можем найти данную ссылку на восстановление. Возможно, она уже использована?\naccount-shell-error-recover-password-too-short = Пароль должен содержать не менее { $num } символов\naccount-shell-error-recover-unrecognized-email = Извините, нам не удалось найти пользователей с этим адресом электронной почты.\naccount-shell-error-request-error = Ошибка при отправке запроса.\naccount-shell-error-save-art-contest = Ошибка сохранения. Попробуйте ещё раз.\naccount-shell-error-save-graph = К сожалению, при сохранении графика произошла непредвиденная ошибка. Код ошибки: { $code }.\naccount-shell-error-save-graph-logged-out = Вы должны войти в систему, чтобы сохранять графики.\naccount-shell-error-setting-email = Ошибка при установке нового адреса электронной почты.\naccount-shell-error-sharing-link = К сожалению, произошла ошибка при создании ссылки на ваш график. Проверьте подключение к Интернету.\naccount-shell-error-something-went-wrong = Что-то пошло не так, пожалуйста сообщите об этом в службу поддержки desmos.com. (Ошибка { $error_num })\naccount-shell-error-submitting = Ошибка при подаче заявки. Попробуйте ещё раз.\naccount-shell-error-unexpected-error = Непредвиденная ошибка.\naccount-shell-error-unknown = Извините! Что-то пошло не так. Пожалуйста, повторите попытку позже.\naccount-shell-error-update-account-settings-logged-out = Вы должны войти в систему, чтобы изменить настройки своего аккаунта.\naccount-shell-error-update-graph-logged-out = Вы должны войти в систему, чтобы изменять графики.\naccount-shell-error-user-info-logged-out = Вы должны войти в систему, чтобы получить информацию о пользователе.\naccount-shell-error-verifying-email = К сожалению, при проверке вашего адреса электронной почты возникла проблема.\naccount-shell-error-view-graphs-logged-out = Вы должны войти в систему для просмотра сохраненных графиков.\naccount-shell-heading-3dcalc-page-title = Desmos | Графический 3D-калькулятор\naccount-shell-heading-artist-statement = Ваше авторское заявление\naccount-shell-heading-birth-year = Ваш год рождения\naccount-shell-heading-contact-us = Связаться с нами\naccount-shell-heading-country = Ваша страна\naccount-shell-heading-download-instructions = Инструкции по скачиванию\naccount-shell-heading-duplicate-construction = Дублировать данное построение\naccount-shell-heading-duplicate-graph = Дублировать этот график\naccount-shell-heading-email = Ваш адрес эл. почты\naccount-shell-heading-email-details = Пожалуйста, укажите адрес электронной почты, по которому мы можем связаться с вами. Мы никогда и никому его не передадим!\naccount-shell-heading-embossers = Тиснители тактильной графики\naccount-shell-heading-embossing-instructions = Инструкции по тиснению\naccount-shell-heading-export-graph = Экспортировать график\naccount-shell-heading-export-size = Размер\naccount-shell-heading-file-format = Формат файла\naccount-shell-heading-geometry-legacy-page-title = Desmos | Геометрия (старая версия)\naccount-shell-heading-geometry-page-title = Desmos | Геометрия\naccount-shell-heading-graphingcalc-page-title = Desmos | Графический калькулятор\naccount-shell-heading-line-thickness = Толщина линии\naccount-shell-heading-math-art-contest = Международный конкурс математической графики\naccount-shell-heading-message = Ваше сообщение\naccount-shell-heading-mygraphs-examples = Примеры\naccount-shell-heading-mygraphs-recovered-work = Восстановленная работа\naccount-shell-heading-mygraphs-saved-constructions = Сохранённые построения\naccount-shell-heading-mygraphs-saved-graphs = Сохраненные графики\naccount-shell-heading-name = Ваше имя\naccount-shell-heading-name-details = Это будет доступно всем.\naccount-shell-heading-named-graph = { $title } | Desmos\naccount-shell-heading-rename-graph = Переименовать этот график\naccount-shell-heading-resources = Ресурсы\naccount-shell-heading-save-construction = Сохранить данное построение\naccount-shell-heading-save-graph = Сохранить Этот График\naccount-shell-heading-share-graph = Поделитесь вашим рисунком\naccount-shell-heading-submit-graph = Подать этот рисунок\naccount-shell-heading-title-mygraphs-search = Поиск\naccount-shell-heading-tours = Обучение\naccount-shell-heading-unsupported-browser = Браузер не поддерживается\naccount-shell-label-account-information = Информация об аккаунте\naccount-shell-label-advanced-preferences = Расширенные\naccount-shell-label-art-contest-globe = География конкурса графики\naccount-shell-label-art-contest-nudge-construction = У вас есть достойное построение, которым вы гордитесь? Нам бы очень хотелось его посмотреть!\naccount-shell-label-art-contest-nudge-graph = У вас есть крутой график, которым вы гордитесь? Нам бы очень хотелось его посмотреть!\naccount-shell-label-artist-statement-description = В 2–3 предложениях опишите, что вас мотивировало на создание вашей работы.\naccount-shell-label-artist-statement-placeholder = Расскажите про данный график...\naccount-shell-label-beta = Бета\naccount-shell-label-betchacant-loading = Задание принято...\naccount-shell-label-birth-year-placeholder = Год рождения\naccount-shell-label-checking-submission = Заявка проверяется\naccount-shell-label-confirm-submission-delete = Вы уверены, что хотите удалить данную заявку?\naccount-shell-label-country-placeholder = Страна\naccount-shell-label-created-days-ago = { $number } дней назад\naccount-shell-label-created-hours-ago = { $number } часов назад\naccount-shell-label-created-last-week = на прошлой неделе\naccount-shell-label-created-minutes-ago = { $number } минут назад\naccount-shell-label-created-on-date = { $day }.{ $month }.{ $year }\naccount-shell-label-created-one-hour-ago = час назад\naccount-shell-label-created-one-minute-ago = минуту назад\naccount-shell-label-created-seconds-ago = менее минуты назад\naccount-shell-label-created-weeks-ago = { $number } недель назад\naccount-shell-label-created-yesterday = вчера\naccount-shell-label-delete-graph-modal-title = Удалить график\naccount-shell-label-deleting = Удаляется\naccount-shell-label-email-address = Адрес электронной почты\naccount-shell-label-email-placeholder = email@example.com\naccount-shell-label-error = Ошибка\naccount-shell-label-export-size-large-rectangle = Большой прямоугольник\naccount-shell-label-export-size-large-square = Большой квадрат\naccount-shell-label-export-size-medium-rectangle = Средний прямоугольник\naccount-shell-label-export-size-medium-square = Средний квадрат\naccount-shell-label-export-size-small-square = Малый квадрат\naccount-shell-label-feature-flag-actions = Действия\naccount-shell-label-feedback = Обратная связь\naccount-shell-label-feedback-email = Адрес эл. почты для нашего ответа! (по желанию)\naccount-shell-label-feedback-message = Вопросы? Замечания?\naccount-shell-label-feedback-placeholder = Напишите нам!\naccount-shell-label-feedback-sending = Отправляется...\naccount-shell-label-graph-actions = Действия с графиком\naccount-shell-label-graph-title = Заголовок\naccount-shell-label-help = Помощь\naccount-shell-label-help-menu = Меню справки\naccount-shell-label-join-contest = Участвовать в конкурсе\naccount-shell-label-language = Язык\naccount-shell-label-loading = Загрузка...\naccount-shell-label-math-art-contest = Международный конкурс математической графики\naccount-shell-label-month-apr = Апр\naccount-shell-label-month-aug = Авг\naccount-shell-label-month-dec = Дек\naccount-shell-label-month-feb = Фев\naccount-shell-label-month-jan = Янв\naccount-shell-label-month-jul = Июл\naccount-shell-label-month-jun = Июн\naccount-shell-label-month-mar = Мар\naccount-shell-label-month-may = Май\naccount-shell-label-month-nov = Ноя\naccount-shell-label-month-oct = Окт\naccount-shell-label-month-sep = Сен\naccount-shell-label-mygraphs-example = пример\naccount-shell-label-mygraphs-last-saved = последнее сохранение: { $date }\naccount-shell-label-mygraphs-no-unsaved-changes = нет несохраненных изменений\naccount-shell-label-mygraphs-unsaved-graph = несохраненный график\naccount-shell-label-no-unsaved-changes = Нет несохраненных изменений\naccount-shell-label-open-graph-mac = { $open_graph } (cmd+o)\naccount-shell-label-open-graph-pc = { $open_graph } (ctrl+o)\naccount-shell-label-save-changes-mac = Сохранить изменения (cmd+s)\naccount-shell-label-save-changes-pc = Сохранить изменения (ctrl + s)\naccount-shell-label-saving-graph = Рисунок сохраняется...\naccount-shell-label-select-export-type = Выберите тип экспорта...\naccount-shell-label-select-size = Выберите размер...\naccount-shell-label-share = поделиться\naccount-shell-label-share-graph = Поделиться графиком\naccount-shell-label-share-link = Поделиться ссылкой:\naccount-shell-label-submission-already-received = Ваша заявка на конкурс графики\naccount-shell-label-submission-deleted = Заявка удалена\naccount-shell-label-submission-received = Заявка получена!\naccount-shell-label-submitting = Заявка отправляется...\naccount-shell-label-success = Успешно\naccount-shell-label-try-a-quest-title = Попробовать квест\naccount-shell-label-zoom = Масштаб: { $value }%\naccount-shell-link-3d-user-guide = Руководство пользователя по 3D\naccount-shell-link-account-settings = Настройки учётной записи\naccount-shell-link-art-contest-learn-new = Узнать о конкурсе 2023 года\naccount-shell-link-download-chrome = Нажмите здесь, чтобы скачать Google Chrome.\naccount-shell-link-email-support = Напишите в нашу службу поддержки\naccount-shell-link-geometry-user-guide = Руководство пользователя по геометрии\naccount-shell-link-getting-started = Начало работы\naccount-shell-link-help = Помощь\naccount-shell-link-help-center = Центр помощи\naccount-shell-link-keyboard-shortcuts = Сочетания клавиш\naccount-shell-link-learn-more = Подробнее\naccount-shell-link-privacy = Политика конфиденциальности\naccount-shell-link-read-blog = Прочитать наш блог\naccount-shell-link-send-feedback = Отправить отзыв или вопросы\naccount-shell-link-share-thoughts = Поделитесь своими мыслями!\naccount-shell-link-sign-out = Выйти\naccount-shell-link-terms = Условия предоставления услуг\naccount-shell-link-try-a-quest = Попробовать квест\naccount-shell-link-try-next-quest = Ещё один квест\naccount-shell-link-user-guide = Руководство пользователя Desmos\naccount-shell-link-video-tutorials = Видеоуроки\naccount-shell-link-view-all-quests = Посмотреть все квесты\naccount-shell-narration-edit-selected-country = Изменить выбранную страну\naccount-shell-narration-edit-selected-year = Изменить выбранный год\naccount-shell-narration-graph-preview = Предварительный просмотр рисунка\naccount-shell-narration-image-download = Скачать изображение\naccount-shell-narration-language-menu = Меню настроек языка\naccount-shell-narration-mygraphs-open-graph = Открыть график\naccount-shell-narration-share-options = Параметры совместного доступа\naccount-shell-narration-size-options = Параметры размера\naccount-shell-text-3d-beta-notice = Благодарим за пользование бета-версией нашего 3D-калькулятора. Пожалуйста, делитесь с нами замеченными ошибками, вопросами и предложениями ниже.\naccount-shell-text-3d-expression-list-notice = Пожалуйста, делитесь с нами замеченными ошибками, вопросами и предложениями по адресу: <1>feedback@desmos.com\naccount-shell-text-advanced-preferences-instructions = Попробуйте эти расширенные функции. Не стесняйтесь присылать любые вопросы или отзывы на support@desmos.com.\naccount-shell-text-art-contest-congratulations = Поздравляем, продолжайте рисовать!\naccount-shell-text-art-contest-copyright-agreement = Я подтверждаю, что (а) это моя оригинальная работа и (б) она не основана на материалах, защищенных авторским правом.\naccount-shell-text-art-contest-create-graph-notice = Чтобы принять участие в конкурсе создайте новый график или откройте один из своих графиков.\naccount-shell-text-art-contest-deadline-notice = Прием заявок открыт до 15 января.\naccount-shell-text-art-contest-has-arrived = У вас есть достойная работа, которой вы гордитесь? Нам бы хотелось её увидеть. Подробнее на <1>desmos.com/art<2> (откроется в новой вкладке).\naccount-shell-text-art-contest-has-closed = Конкурс этого года завершен. Мы усердно работаем над просмотром всех невероятных творений и скоро опубликуем результаты на сайте <1>desmos.com/art<2> (откроется в новой вкладке).\naccount-shell-text-art-contest-legal-disclaimer = Отправляя эту работу, вы подтверждаете, что Desmos Studio, PBC может по своему усмотрению публиковать его на веб-сайте конкурса и/или в социальных сетях.\naccount-shell-text-art-contest-loading-submissions = Ваши заявки загружаются...\naccount-shell-text-art-contest-my-first-year = Я участвую в этом конкурсе графики в первый раз.\naccount-shell-text-art-contest-see-submissions = Посмотреть свои заявки\naccount-shell-text-art-contest-someone-else-artist-statement = Авторское заявление участника\naccount-shell-text-art-contest-someone-else-artist-statement-description = В 2–3 предложениях автор должен описать, что его мотивировало на создание этой работы.\naccount-shell-text-art-contest-someone-else-birth-year = Год рождения участника\naccount-shell-text-art-contest-someone-else-copyright-agreement = Я подтверждаю, что (а) мне 18 лет или больше, и по закону я имею право подавать заявки от имени данного участника, (б) это оригинальная работа данного участника и (в) эта работа не основана на материалах, защищенных авторским правом.\naccount-shell-text-art-contest-someone-else-country = Страна участника\naccount-shell-text-art-contest-someone-else-email = Адрес электронной почты взрослого (то есть ваш)\naccount-shell-text-art-contest-someone-else-first-year = Данный участник принимает участие в этом конкурсе в первый раз.\naccount-shell-text-art-contest-someone-else-name = Имя участника\naccount-shell-text-art-contest-submit-construction = Отправить текущую работу\naccount-shell-text-art-contest-submit-graph = Подать текущий график\naccount-shell-text-art-contest-success-paragraph = Если вы хотите пересмотреть свою заявку, то просто отправьте ее повторно в любое время до<1> 15 января . Мы будем рассматривать только самую последнюю заявку по каждому из инструментов.\naccount-shell-text-art-contest-success-paragraph-someone-else = Если вы хотите пересмотреть отправленную заявку, удалите ее из таблицы отправленных вами работ и отправьте повторно. Вы можете повторно отправить заявку в любое время до <1> 15 января. Мы будем рассматривать только самые последние заявки по каждому инструменту Desmos.\naccount-shell-text-art-contest-view-or-update-submission = Посмотреть или изменить свою заявку\naccount-shell-text-art-contest-view-submission = Посмотреть свою заявку\naccount-shell-text-art-contest-your-2d-submission = Посмотреть свою заявку в графическом калькуляторе\naccount-shell-text-art-contest-your-3d-submission = Посмотреть свою заявку в 3D-калькуляторе\naccount-shell-text-art-contest-your-geometry-submission = Посмотреть свою заявку в Геометрии\naccount-shell-text-artcontest-ineligible = <1><2>Исходя из вашего возраста и местоположения, мы не можем принять от вас заявку в этом году.<3>Продолжайте создавать прекрасные графики! Каждый год будут проводиться новые конкурсы. \naccount-shell-text-artcontest-someone-else = <1><2>В связи с вашим возрастом и местоположением вам требуется взрослый (учитель, родитель или опекун старше 18 лет), который сможет предоставить вашу работу на конкурс.<3>Вот ссылка на вашу работу: <4>Пожалуйста, передайте её взрослому и попросите его отправить вашу работу по адресу<5>desmos.com/art.\naccount-shell-text-check-recovery-link = Пожалуйста, проверьте свою электронную почту для восстановления пароля.\naccount-shell-text-confirm-leave = Вы действительно хотите покинуть этот график? Вся несохраненная работа будет потеряна.\naccount-shell-text-construction-cleared = Построение очищено.\naccount-shell-text-continue-with-quest = ...либо <1>продолжить квест.\naccount-shell-text-copy-of-title = [Копия] { $originalTitle }\naccount-shell-text-delete-graphs-confirmation =\n Вы уверены, что хотите удалить { $count ->\n [one] «{ $title }»\n [few] эти графики (всего: { $count })\n *[other] эти графики\n }?\naccount-shell-text-download-instructions = Для скачивания, щелкните правой кнопкой мыши на изображении графика и выберите «Сохранить как». Вы также можете попробовать перетащить изображение на рабочий стол.\naccount-shell-text-embossing-etc-print = Установите размер бумаги { $size }. Затем нажмите «Изменить» и выберите «Файл > Тиснение».\naccount-shell-text-embossing-etc-save = Сохранитe это изображение. Откройте Firebird, выберите File > Open > Image File, и откройте изображение.\naccount-shell-text-embossing-vpmax-print = Щелкните правой кнопкой мыши на изображении и выберите «Печать». Установите размер бумаги { $size }.\naccount-shell-text-embossing-vpmax-save = Щелкните правой кнопкой мыши на изображении и сохраните на рабочем столе.\naccount-shell-text-error = ошибка\naccount-shell-text-error-loading-geometry-state = Ошибка при загрузке построения\naccount-shell-text-feature-flag-actions-description = Сделайте графики интерактивными, задав правила реагирования на щелчки мыши или в зависимости от времени.\naccount-shell-text-feedback-sent = Спасибо! Мы скоро свяжемся с вами.\naccount-shell-text-geometry-beta-notice = Благодарим за пользование нашим новым инструментом «Геометрия». Пожалуйста, делитесь с нами всеми ошибками, вопросами и предложениями ниже.\naccount-shell-text-geometry-confirm-leave = Вы уверены, что хотите выйти из данного построения? Несохраненные изменения будут утеряны.\naccount-shell-text-graph-cleared = График удалён.\naccount-shell-text-graph-migrated-from-geometry = «{ $title }» автоматически перенесено из старого геометрического инструмента.\naccount-shell-text-logged-in = Успешно залогинились!\naccount-shell-text-login-window-blocked-apple = Окно входа заблокировано. Пожалуйста, разрешите всплывающие окна от desmos.com для входа с Apple\naccount-shell-text-login-window-blocked-google = Окно входа заблокировано. Пожалуйста, разрешите всплывающие окна от desmos.com для входа с Google.\naccount-shell-text-maintenance-mode = На Desmos ведутся технические работы.\naccount-shell-text-mygraphs-attempting-recovery = Попытка восстановления...\naccount-shell-text-mygraphs-contest-submit-to-contest = <1>Отправьте эту работу на <2>Международный конкурс математической графики!\naccount-shell-text-mygraphs-count-more = Ещё { $count }...\naccount-shell-text-mygraphs-current-construction = Текущее построение\naccount-shell-text-mygraphs-current-graph = Текущий график\naccount-shell-text-mygraphs-deleting = Удаление...\naccount-shell-text-mygraphs-loading = Загрузка...\naccount-shell-text-mygraphs-lost-work = Пропало сделанное?\naccount-shell-text-mygraphs-maintenance-mode = Desmos временно находится в режиме обслуживания. Вы сможете открыть пример графиков, но не сможете войти, открыть ваши графики или сохранить изменения. Так что извините за неудобства.\naccount-shell-text-mygraphs-new-blank-graph = Новый график\naccount-shell-text-mygraphs-new-construction = Новое построение\naccount-shell-text-mygraphs-no-examples-match-search = Нет примеров по вашему запросу.\naccount-shell-text-mygraphs-no-saved-graphs = Нет сохраненных графиков.\naccount-shell-text-mygraphs-no-search-results = Нет сохраненных графиков, соответствующих вашему запросу.\naccount-shell-text-mygraphs-no-unsaved-graphs = Не удалось найти несохраненные графики.\naccount-shell-text-mygraphs-opened-graph = Открыт '{ $graphTitle }'\naccount-shell-text-mygraphs-opening = Открывается...\naccount-shell-text-mygraphs-or = или\naccount-shell-text-mygraphs-search-by-title = поиск по названию\naccount-shell-text-mygraphs-share-thoughts = Поделитесь своими мыслями!\naccount-shell-text-mygraphs-synced = синхронизировано!\naccount-shell-text-mygraphs-to-save-constructions = чтобы сохранить ваши построения!\naccount-shell-text-mygraphs-to-save-graphs = чтобы сохранить ваши графики!\naccount-shell-text-mygraphs-updating-graphs = обновление графиков...\naccount-shell-text-mygraphs-version = Версия\naccount-shell-text-new-construction-created = Cоздано новое построение.\naccount-shell-text-new-graph-created = Создан новый график.\naccount-shell-text-or = или\naccount-shell-text-saved = сохранено\naccount-shell-text-unsupported-browser-android = Desmos работает лучше на вашей версии Android, если вы используете Chrome Browser.\naccount-shell-text-untitled = Без названия\naccount-shell-text-untitled-graph = График без названия\naccount-shell-text-welcome-to-3d = Добро пожаловать в Desmos 3D (бета-версия)\nshared-button-accept = Принять\nshared-button-cancel = Отмена\nshared-button-change-email-address = Изменить адрес эл. почты\nshared-button-change-email-and-password = Изменить адрес эл. почты и пароль\nshared-button-close-dialog = Закрыть диалог\nshared-button-close-message = Закрыть сообщение\nshared-button-confirm-name = Подтвердить имя\nshared-button-continue-to-desmos = Продолжить в Desmos\nshared-button-copy-report = Скопировать отчет\nshared-button-create-account = Регистрация\nshared-button-delete-account-question = Удалить Ваш аккаунт Desmos?\nshared-button-email-address-narrow = Адрес эл. почты\nshared-button-email-address-wide = Адрес электронной почты\nshared-button-external-account-narrow = Внешний\nshared-button-external-account-wide = Внешний аккаунт\nshared-button-go-to-account-settings = Перейти к настройкам аккаунта\nshared-button-google-account-narrow = Google\nshared-button-google-account-wide = Google аккаунт\nshared-button-learn-more-capitalized = Подробнее\nshared-button-login = Войти\nshared-button-login-capitalized = Войти\nshared-button-more-options-menu = Ещё варианты\nshared-button-read-more = Читать дальше\nshared-button-recover-password = Восстановление пароля\nshared-button-save = Сохранить\nshared-button-send-delete-account-email = Послать письмо для удаления аккаунта\nshared-button-send-email = Отправить электронное письмо\nshared-button-send-report = Послать отчет\nshared-button-sign-in-with-apple = Войти через Apple\nshared-button-sign-in-with-google = Войти через Google\nshared-button-try-again = Не работает? Попробуйте еще!\nshared-calculator-button-braille-mode-nemeth = Nemeth\nshared-calculator-button-braille-mode-ueb = UEB\nshared-calculator-button-clear = стереть\nshared-calculator-button-clear-all = стереть все\nshared-calculator-button-controlbar-functions = функции\nshared-calculator-button-go = Пуск\nshared-calculator-button-hide-options = Скрыть варианты\nshared-calculator-button-language = Язык\nshared-calculator-button-mac = Горячие клавиши для Mac\nshared-calculator-button-print = Печать\nshared-calculator-button-reverse-contrast = Обратная контрастность\nshared-calculator-button-show-options = Показать варианты\nshared-calculator-button-windows-chrome = Горячие клавиши для Windows / ChromeOS\nshared-calculator-error-3d-bad-equality-slice = Мы не поддерживаем этот тип ограничения равенства.\nshared-calculator-error-3d-inappropriate-equality-restriction = Невозможно ограничить данный тип выражения равенством.\nshared-calculator-error-3d-length-type-error = В 3D-калькуляторе нельзя использовать функцию «{ $fn }» с аргументом { $arg }. Используйте «{ $alternativeFn }», чтобы найти количество элементов в списке.\nshared-calculator-error-3d-mixed-restriction-equation = Невозможно применить к этому выражению одновременно условия равенства и неравенства.\nshared-calculator-error-3d-multiple-equality-restrictions = Невозможно использовать более одного равенства в качестве ограничений.\nshared-calculator-error-action-merge-free-variable = Нельзя составить действие, зависящее от независимой переменной '{ $symbol }'.\nshared-calculator-error-add-arguments-to-definition-many = Попробуйте указать «{ $symbols }» и «{ $lastSymbol }» в качестве аргументов, определив функцию как «{ $newSignature }».\nshared-calculator-error-add-arguments-to-definition-one = Попробуйте включить '{ $lastSymbol }', как аргумент, определив функцию как '{ $newSignature }'.\nshared-calculator-error-add-type-error = Невозможно сложение элементов типа { $symbol1 } и { $symbol2 }.\nshared-calculator-error-adjacent-mixed-number = Извините, я не знаю, что делать со смешанным числом '{ $mixedNumber }'. Попробуйте использовать с обеих сторон символ «*».\nshared-calculator-error-adjacent-numbers = К сожалению, я не знаю, что делать с соседними значениями '{ $left }' и '{ $right }'. Попробуйте использовать скобки или символ '*'.\nshared-calculator-error-ans-undefined = Предыдущее выражение не определяет никакого значения для «ans».\nshared-calculator-error-assignments-unsupported = Этот калькулятор не поддерживает определение переменных.\nshared-calculator-error-bad-for-input-list-dependency = Выражение в правой части функции «for» не может зависеть от вводимой переменной «{ $symbol }».\nshared-calculator-error-bad-for-interval-dependency = Границы параметров в правой части «for» не могут зависеть от вводимой переменной «{ $symbol }».\nshared-calculator-error-bad-implicit-call = Используйте скобки вокруг аргумента '{ $symbol }'.\nshared-calculator-error-bad-integral-bound-dependency = Пределы интеграла не могут зависеть от переменной интегрирования '{ $symbol }'.\nshared-calculator-error-bad-interval-comprehension-arity =\n { $count ->\n [one] Нельзя использовать «for» для параметризации объекта типа «{ $type }» с помощью одного параметра\n [few] Нельзя использовать «for» для параметризации объекта типа «{ $type }» с помощью числа параметров: { $count }.\n *[other] Нельзя использовать «for» для параметризации объекта типа «{ $type }» с помощью числа параметров: { $count }.\n }\nshared-calculator-error-bad-log-exponent = Только { $form } поддерживается. В других случаях используйте скобки.\nshared-calculator-error-bad-product-bound-dependency = Пределы произведения не могут зависеть от индекса произведения '{ $symbol }'.\nshared-calculator-error-bad-sample-size = Размер выборки должен быть конечным неотрицательным числом.\nshared-calculator-error-bad-sum-bound-dependency = Пределы суммирования не могут зависеть от индекса суммирования '{ $symbol }'.\nshared-calculator-error-bad-symbol-context = Нельзя использовать тип «{ $symbol }» в данном контексте.\nshared-calculator-error-bad-trig-exponent = Только { $form1 } и { $form2 } поддерживаются. В противном случае используйте скобки.\nshared-calculator-error-bad-tuple-dimensions = Координат у точки должно быть только { $symbol }.\nshared-calculator-error-binary-operator-missing-operand = Что-то должно стоять с обеих сторон от «{ $symbol }».\nshared-calculator-error-blank-expression = Вы еще ничего не написали.\nshared-calculator-error-boxplot-breadth-invalid = Недопустимая высота. Попробуйте другое число.\nshared-calculator-error-boxplot-offset-invalid = Недопустимое смещение. Попробуйте использовать какое-нибудь число.\nshared-calculator-error-cannot-assign-color = Невозможно назначить цвет для «{ $variable }».\nshared-calculator-error-cannot-redefine = Вы не можете переопределить определённый ранее объект «{ $symbol }».\nshared-calculator-error-cannot-redefine-root = Вы не можете переопределить '{ $symbol }' поскольку '{ $symbolRoot }' уже определен.\nshared-calculator-error-cannot-restrict = Невозможно создать ограничение по «{ $variable }» в этом типе выражения.\nshared-calculator-error-cannot-restrict-with-equality = Невозможно создать ограничение равенства на основе «{ $variable }» в выражении этого типа.\nshared-calculator-error-cannot-subscript = '{ $symbol }' не может иметь подстрочный индекс.\nshared-calculator-error-cant-combine-spherical-and-cylindrical = Невозможно объединить сферические и цилиндрические координаты.\nshared-calculator-error-cdf-max-invalid = Недопустимый верхний предел 'cdf'. Попробуйте использовать число.\nshared-calculator-error-cdf-max-less-than-min = Недопустимые пределы 'cdf'. Минимальное значение должно быть меньше максимального.\nshared-calculator-error-cdf-min-invalid = Недопустимый нижний предел 'cdf'. Попробуйте использовать число.\nshared-calculator-error-cdf-too-many-arguments = 'cdf' необходимо вызывать для конкретного распределения, максимально с 2-мя числовыми аргументами. { $recommendation }\nshared-calculator-error-cdf-too-many-arguments-recommendation = Например, попробуйте набрать: D.cdf(-1,1), где D=normaldist().\nshared-calculator-error-cdf-wrong-arity = 'cdf' необходимо вызывать для конкретного распределения и по крайней мере с одним числовым аргументом. { $recommendation }\nshared-calculator-error-cdf-wrong-arity-recommendation = Например, попробуйте набрать: D.cdf(x), где D=normaldist().\nshared-calculator-error-clickable-object-assignment-not-defined = «{ $symbol }» не определенo. Попробуйте использовать другую переменную или добавить ползунок.\nshared-calculator-error-clickable-object-assignment-not-identifier = Неверное обозначение. Попробуйте использовать одну букву.\nshared-calculator-error-clickable-object-invalid-expression = Не поддаётся вычислению. Попробуйте использовать число или простое выражение.\nshared-calculator-error-colon-missing-condition = Левая часть от ':' должна быть условием, типа 'x>1'.\nshared-calculator-error-color-arity = '{ $symbol }' необходимо вызывать с 3-мя аргументами. { $recommendation }\nshared-calculator-error-color-arity-recommendation = Для примера, попробуйте набрать: { $recommendation }.\nshared-calculator-error-color-not-assigned = Чтобы использовать цвет, нужно присвоить его переменной.\nshared-calculator-error-combine-type-error = Невозможное сочетание: «{ $symbol1 }» и «{ $symbol2 }».\nshared-calculator-error-comparator-type-error = Невозможно сравнение типов «{ $symbol1 }» и «{ $symbol2 }».\nshared-calculator-error-complicated-double-inequality = Поддерживаются только приведенные двойные неавенства. Попробуйте удалить одну сторону неравенства.\nshared-calculator-error-complicated-polar-implicit = Полярные уравнения должны быть линейными относительно r.\nshared-calculator-error-constant-unsupported = Этот калькулятор не поддерживает константу '{ $symbol }'.\nshared-calculator-error-custom-toolbar-not-condition = Пожалуйста, напишите допустимое условие и убедитесь, что каждая упомянутая переменная определена.\nshared-calculator-error-deeply-nested = Определения имеют слишком много вложений.\nshared-calculator-error-dependency-cycle = '{ $symbols }' и '{ $lastSymbol }' не могут быть определены друг через друга.\nshared-calculator-error-depends-on-deleted-geo-object = Существует зависимость от геометрического объекта, который был удалён.\nshared-calculator-error-derivative-missing-body = От какого выражения вы хотите взять производную?\nshared-calculator-error-derivative-type-error = Невозможно взять производную от выражения «{ $symbol }».\nshared-calculator-error-derivative-variable-type-error = Нельзя взять производную по «{ $symbol1 }», потому что это { $symbol2 }.\nshared-calculator-error-differential-with-superscript = Переменная интегрирования не может содержать верхний индекс.\nshared-calculator-error-distribution-as-function = Невозможно использовать распределение '{ $symbol }' как функцию. Попробуйте '{ $symbol }.pdf(x)'.\nshared-calculator-error-divide-type-error = Невоможно деление элемента типа «{ $symbol1 }» на элемент типа «{ $symbol2 }».\nshared-calculator-error-domain-max-invalid = Недопустимая верхняя граница области определения. Попробуйте использовать число.\nshared-calculator-error-domain-max-less-than-min = Недопустимые границы области определения. Минимальное значение должно быть меньше максимального.\nshared-calculator-error-domain-min-invalid = Недопустимая нижняя граница области определения. Попробуйте использовать число.\nshared-calculator-error-dot-lhs-type-error = Невозможно вызвать «{ $symbol }» с типом «{ $type }».\nshared-calculator-error-duplicate-function-parameter = Нельзя использовать «{ $dependency }» для нескольких параметров этой функции.\nshared-calculator-error-duplicate-update-rules = Действие не может указать неоднозначные правила обновления для типа «{ $symbol }».\nshared-calculator-error-empty-paren = Скобки не могут быть пустыми.\nshared-calculator-error-empty-pipe = Модуль числа не может быть пустым.\nshared-calculator-error-empty-radical = Корень не может быть пустым.\nshared-calculator-error-empty-radical-index = Степень корня не может быть пустой.\nshared-calculator-error-empty-square-bracket = Квадратные скобки не могут быть пустыми.\nshared-calculator-error-empty-subscript = Нижний индекс не может быть пустым.\nshared-calculator-error-empty-superscript = Верхний индекс не может быть пустым.\nshared-calculator-error-equation-required = Попробуйте добавить знак равенства, чтобы превратить это в уравнение.\nshared-calculator-error-equation-required-symbol = Попробуйте добавить '{ $lhs }' в начало этого уравнения.\nshared-calculator-error-equations-unsupported = Этот калькулятор не поддерживает данный тип уравнения.\nshared-calculator-error-event-handler-type-error = Здесь должно быть действие. Попробуйте «{ $example }».\nshared-calculator-error-exponent-type-error = Невозможно возвести основание типа «{ $symbol1 }» в степень типа «{ $symbol2 }».\nshared-calculator-error-feature-unavailable = Эта функция недоступна в данном калькуляторе.\nshared-calculator-error-fraction-empty = Для дроби необходим числитель и знаменатель.\nshared-calculator-error-fraction-missing-denominator = Для дроби необходим знаменатель.\nshared-calculator-error-fraction-missing-numerator = Для дроби необходим числитель.\nshared-calculator-error-function-definition-unsupported = Этот калькулятор не поддерживает возможность определения функции.\nshared-calculator-error-function-name-as-parameter = Нельзя использовать имя функции «{ $dependency }» в качестве параметра функции.\nshared-calculator-error-function-not-defined = Функция '{ $dependency }' не определена.\nshared-calculator-error-function-type-error-1 = Функция '{ $fn }' не может быть применена к аргументу типа { $arg }.\nshared-calculator-error-function-type-error-2 = Функция '{ $fn }' не может быть применена к набору аргументов { $arg1 } и { $arg2 }.\nshared-calculator-error-function-type-error-many = Функция '{ $fn }' не может быть применена к этим аргументам.\nshared-calculator-error-function-unsupported = Этот калькулятор не поддерживает функцию '{ $symbol }'.\nshared-calculator-error-geometry-length-type-error = В геометрическом калькуляторе нельзя использовать функцию «{ $fn }» с аргументом { $arg }. Используйте «{ $alternativeFn }», чтобы найти количество элементов в списке.\nshared-calculator-error-gpu-function-unsupported = Здесь нельзя использовать функцию «{ $symbol }».\nshared-calculator-error-gpu-integral-unsupported = Здесь нельзя использовать интеграл.\nshared-calculator-error-gpu-long-product = Произведения с числом сомножителей более чем { $maxTermCount } здесь не поддерживаются.\nshared-calculator-error-gpu-long-sum = Суммирование с числом слагаемых более чем { $maxTermCount } здесь не поддерживается.\nshared-calculator-error-gpu-max-list-size = Списки с числом элементов более чем { $maxListSize } здесь не поддерживаются.\nshared-calculator-error-gpu-variable-list-length = Длина списка здесь не может зависеть от переменной «{ $symbol }».\nshared-calculator-error-gpu-variable-product = Граничный параметр произведения здесь не может зависеть от переменной «{ $symbol }».\nshared-calculator-error-gpu-variable-sum = Граничный параметр суммы здесь не может зависеть от переменной «{ $symbol }».\nshared-calculator-error-heterogeneous-list = Все элементы списка должны быть одного типа.\nshared-calculator-error-identifier-as-function = '{ $symbol }' является функцией. Попробуйте использовать скобки.\nshared-calculator-error-identifier-is-not-function = Переменная «{ $symbol }» не является функцией. Попробуйте определить её как «{ $symbol }(x) = x^2».\nshared-calculator-error-illegal-bin-width = Второй аргумент '{ $symbol }' должен быть положительным числом.\nshared-calculator-error-illegal-dot-call = Функция «{ $symbol }» не может быть вызвана в точечной нотации.\nshared-calculator-error-implicits-disabled = Отображение неявных уравнений и неравенств отключено.\nshared-calculator-error-incorrect-list-comprehension-input = Определения в правой части «for» должны устанавливать переменную, равную списку. Попробуйте i = [1 ... 10].\nshared-calculator-error-incorrect-product-lower-bound = Нижний предел произведения должен задавать переменную равной числу. Попробуйте n=1.\nshared-calculator-error-incorrect-sum-lower-bound = Нижний предел суммы должен задавать переменную равной числу. Попробуйте n=1.\nshared-calculator-error-index-type-error = Невозможно индексировать тип «{ $symbol1 }», используя тип «{ $symbol2 }».\nshared-calculator-error-inequalities-disabled = Отображение неравенств отключено.\nshared-calculator-error-inequalities-unsupported = Этот калькулятор не поддерживает неравенства.\nshared-calculator-error-integral-argument-type-error = Невозможно взять интеграл от выражения «{ $symbol }».\nshared-calculator-error-integral-lower-bound-type-error = Нижний предел интегрирования не может быть типом «{ $symbol }».\nshared-calculator-error-integral-missing-body = Интеграл от какого выражения вы хотите взять?\nshared-calculator-error-integral-missing-bound = Интегралы должны иметь верхний и нижний пределы.\nshared-calculator-error-integral-missing-differential = Подинтегральное выражение должно заканчиваться переменной интегрирования, например dx.\nshared-calculator-error-integral-upper-bound-type-error = Верхний предел интегрирования не может быть типом «{ $symbol }».\nshared-calculator-error-internal-error = [внутренний] { $msg }\nshared-calculator-error-invalid-dependent-first-table-column = Заголовок этого столбца не может быть определен где-то еще в калькуляторе.\nshared-calculator-error-invalid-double-equality-3d = Извините, мы строим двойные равенства, только если они содержат переменную z. Попробуйте добавить 0*z к одной части неравенства.\nshared-calculator-error-invalid-double-inequality-3d = Можно строить двойные неравенства только для x, y и z.\nshared-calculator-error-invalid-double-inequality-variables = Мы строим только двойные неравенства x и y.\nshared-calculator-error-invalid-first-table-column = Первый столбец не может быть { $most } или { $last }.\nshared-calculator-error-invalid-half-empty-range = Диапазон должен иметь верхний и нижний пределы.\nshared-calculator-error-invalid-implicit-variables = Мы поддерживаем неявные уравнения только для x и y.\nshared-calculator-error-invalid-implicit-variables-3d = Мы поддерживаем только неявные уравнения для x, y и z.\nshared-calculator-error-invalid-inequality-variables = Мы можем изобразить только неравенства, выраженные через x и y, либо r и θ.\nshared-calculator-error-invalid-interval-comprehension-invalid-bound = Границы параметра в правой части «for» должны иметь вид «0<{ $identifier }<1».\nshared-calculator-error-invalid-interval-comprehension-return-type = Нельзя использовать «for» для параметризации объекта типа «{ $type }».\nshared-calculator-error-invalid-lhs = Извините, вы не можете построить { $symbol } как функцию чего-то еще.\nshared-calculator-error-invalid-operator-name = Имена операторов могут содержать только буквы.\nshared-calculator-error-invalid-regression-parameter = «{ $symbol }» не может использоваться в качестве параметра регрессии. Попробуйте использовать список.\nshared-calculator-error-invalid-subscript = Нижний индекс может содержать только буквы и цифры. '{ $symbol }' не допускается.\nshared-calculator-error-invalid-table-entry = Табличные записи должны быть простыми выражениями. { $supplement }\nshared-calculator-error-invalid-table-header = Табличные заголовки должны быть простыми выражениями. { $supplement }\nshared-calculator-error-list-comprehension-input-type-error = В определении списка исходные данные должны быть списком, в то время как { $identifier } - это { $actual }. Попробуйте, например: { $identifier }={ $example }.\nshared-calculator-error-list-type-error = Невозможно хранить элементы типа «{ $symbol1 }» в списке.\nshared-calculator-error-log-scale-box-plot = Невозможно построить ящичковую диаграмму в логарифмическом масштабе.\nshared-calculator-error-log-scale-dot-plot = Невозможно построить точечную диаграмму в логарифмическом масштабе.\nshared-calculator-error-log-scale-histogram = Невозможно построить гистограмму в логарифмическом масштабе.\nshared-calculator-error-log-scale-type-error = Невозможно построить { $symbol } в логарифмическом масштабе.\nshared-calculator-error-logbase-unsupported = Этот калькулятор не поддерживает произвольные основания логарифма. Попробуйте 'log' или 'ln'.\nshared-calculator-error-malformed-list = Списки оформляются так: [1, 2, 3].\nshared-calculator-error-malformed-point = Точки записываются так: (1, 2).\nshared-calculator-error-matrix-add-dimensions = Невозможно сложить матрицы с разными размерами.\nshared-calculator-error-matrix-assignment = Этот калькулятор не поддерживает такой способ определения переменной. Попробуйте «New Matrix».\nshared-calculator-error-matrix-element-type-error = Невозможно использовать { $arg } в качестве элемента матрицы.\nshared-calculator-error-matrix-fractional-power = Матрицу можно возвести только в целочисленную степень.\nshared-calculator-error-matrix-invalid-variable = Невозможно использовать '{ $symbol }' в качестве переменной.\nshared-calculator-error-matrix-multiply-dimensions = Матрицы с несовместимыми размерами невозможно перемножить.\nshared-calculator-error-matrix-power-dimensions = Только квадратные матрицы можно возвести в степень.\nshared-calculator-error-matrix-subtract-dimensions = Невозможно отнять матрицы с разными размерами.\nshared-calculator-error-max-list-size = В списке не может содержаться элементов более чем { $maxListSize }.\nshared-calculator-error-method-requires-list = '{ $symbol }' должен быть списком. Например, попробуйте набрать: { $recommendation }.\nshared-calculator-error-mismatched-braces = Ожидается, что '{ $symbol1 }' соответствует '{ $symbol2 }'.\nshared-calculator-error-mismatched-double-inequality = Двойные неравенства всегда должны иметь одинаковое направление, например: { $example }.\nshared-calculator-error-mixed-comparator-chain = Нельзя смешивать неравенства и уравнения в цепочке сравнений.\nshared-calculator-error-multiply-defined = Вы определили '{ $dependency }' более чем в одном месте. Попробуйте удалить некоторые определения '{ $dependency }'.\nshared-calculator-error-multiply-type-error = Невозможно перемножить элементы типов «{ $symbol1 }» и «{ $symbol2 }».\nshared-calculator-error-multiply-type-error-2d = Неоднозначное умножение «{ $symbol1 }» на «{ $symbol2 }». Попробуйте ввести: (1, 2) * (2, 1).\nshared-calculator-error-multiply-type-error-3d = Неоднозначное умножение «{ $symbol1 }» на «{ $symbol2 }». Попробуйте ввести: (1, 2, 3) крестик (2, 1, 0).\nshared-calculator-error-multiply-type-error-cross = Невозможно получить произведение «{ $symbol1 }» и «{ $symbol2 }».\nshared-calculator-error-negative-type-error = Невозможно сделать элемент типа «{ $symbol }» отрицательным.\nshared-calculator-error-nested-interval-comprehension = Пока невозможно использовать «for», чтобы ввести новый параметр для уже параметризованной точки.\nshared-calculator-error-non-arithmetic-range = Диапазоны должны быть арифметическими последовательностями.\nshared-calculator-error-non-list-double-reducer = Оба аргумента '{ $symbol }' должны быть списками. Для примера, попробуйте набрать: { $recommendation }.\nshared-calculator-error-non-list-parameterized-reducer = Первый аргумент '{ $symbol }' должен быть списком. Для примера, попробуйте набрать: { $recommendation }.\nshared-calculator-error-non-singular-inverse = Вырожденные матрицы не имеют обратной.\nshared-calculator-error-non-square-determinant = Только квадратные матрицы имеют определитель.\nshared-calculator-error-non-square-inverse = Только квадратные матрицы имеют обратную.\nshared-calculator-error-non-square-trace = Только квадратные матрицы могут иметь след.\nshared-calculator-error-operator-type-error = Невозможно применить «{ $symbol }» к «{ $symbol1 }» и «{ $symbol2 }».\nshared-calculator-error-optimization-error = Не обнаружено ни одной области где бы эта модель была определена.\nshared-calculator-error-ordered-pair-access-type-error = Невозможно получить координату элемента типа «{ $symbol }».\nshared-calculator-error-parameter-already-defined = Вы не можете использовать '{ $dependency }' как параметр этой функции поскольку '{ $dependency }' уже определено.\nshared-calculator-error-parse-error = Извините, я не понимаю это.\nshared-calculator-error-pdf-wrong-arity = 'pdf' необходимо вызывать для конкретного распределения и по крайней мере с одним числовым аргументом. { $recommendation }\nshared-calculator-error-pdf-wrong-arity-recommendation = Например, попробуйте набрать: D.pdf(x), где D=normaldist().\nshared-calculator-error-percent-missing-of = '%' должен использоваться с 'of'. Попробуйте '25% of 12'.\nshared-calculator-error-piecewise-branch-type-error = Нельзя использовать типы «{ $symbol1 }» и «{ $symbol2 }» в качестве частей кусочно-заданного выражения. Все части должны быть одного типа.\nshared-calculator-error-piecewise-condition-type-error = Условие в кусочно-заданном выражении должно быть типа { $symbol1 }, а не типа { $symbol2 }.\nshared-calculator-error-piecewise-missing-condition = Выражение кусочно-заданной функции должно содержать хотя бы одно условие.\nshared-calculator-error-piecewise-part-missing-condition = Каждая часть выражения, задающего кусочную функцию, должна содержать условие, кроме последнего.\nshared-calculator-error-point-type-error = Нельзя использовать тип «{ $symbol1 }» в качестве координаты элемента типа «{ $symbol2 }».\nshared-calculator-error-points-unsupported = Этот калькулятор не поддерживает точки.\nshared-calculator-error-polygon-unsupported-in-3d = Этот калькулятор не поддерживает функцию «polygon» (многоугольник). Попробуйте применить «triangle» (треугольник).\nshared-calculator-error-prime-without-paren = Вызов функции с апострофом должен использовать скобки.\nshared-calculator-error-primed-function-arity = Символ \" ' \"может быть использован только для функций скалярного аргумента.\nshared-calculator-error-product-argument-type-error = Невозможно перемножить элементы типа «{ $symbol }».\nshared-calculator-error-product-infinite-bound-type-error = Пределы произведения должны быть конечными числами.\nshared-calculator-error-product-lower-bound-type-error = Нижний предел произведения не может быть типом «{ $symbol }».\nshared-calculator-error-product-missing-body = Произведение какого выражения вы хотите получить?\nshared-calculator-error-product-missing-bound = Произведения должны иметь верхние и нижние пределы.\nshared-calculator-error-product-upper-bound-type-error = Верхний предел произведения не может быть типом «{ $symbol }».\nshared-calculator-error-random-arity = 'random' вызывается без аргументов или с указанием диапазона. Например, попробуйте random() или random(10).\nshared-calculator-error-random-from-broadcast-distribution = Невозможно сделать выборку из списка распределений\nshared-calculator-error-regression-type-error = Невозможно получить регрессию объекта типа «{ $symbol1 }» относительно типа «{ $symbol2 }».\nshared-calculator-error-regressions-unsupported = Этот калькулятор не поддерживает регрессии.\nshared-calculator-error-self-referential-function = Определение функции '{ $symbol }' не может зависеть от '{ $symbol }'.\nshared-calculator-error-shadowed-index = Вы не можете использовать ранее определённый объект «{ $symbol }» в качестве индекса.\nshared-calculator-error-shadowed-integration-variable = Нельзя использовать уже определённый ранее объект «{ $symbol }» в качестве переменной интегрирования.\nshared-calculator-error-shadowed-list-comprehension-input = Вы не можете определить «{ $symbol }» более одного раза в правой части «for».\nshared-calculator-error-single-variable-implicit-equations-disabled = Построение графиков неявных уравнений с одной переменной отключено.\nshared-calculator-error-slider-limit-references-export = Пределы ползунка не могут зависеть от его переменной '{ $symbol }'.\nshared-calculator-error-slider-max-invalid = Недопустимый верхний предел ползунка. Попробуйте использовать число.\nshared-calculator-error-slider-max-less-than-min = Недопустимые пределы ползунка. Минимальное значение должно быть меньше максимального.\nshared-calculator-error-slider-min-invalid = Недопустимый нижний предел ползунка. Попробуйте использовать число.\nshared-calculator-error-slider-step-invalid = Недопустимый шаг ползунка. Попробуйте использовать число.\nshared-calculator-error-substitution-ambiguous-comma = Неоднозначное использование «,» и «{ $operation }». Добавьте круглые скобки вокруг выражения «{ $operation }».\nshared-calculator-error-substitution-body-action = Левая часть подстановки «with» не может быть действием.\nshared-calculator-error-substitution-body-regression-parameter-dependency = Невозможно использовать оператор '{ $operator }' для замены существующей переменной '{ $globalVariable }', поскольку выражение в левой части зависит от '{ $regressionParameter }', который является параметром регрессии.\nshared-calculator-error-substitution-duplicate-assignment = Выражение «with» не может делать несколько подстановок для символа «{ $symbol }».\nshared-calculator-error-substitution-function-lhs = Подстановка «{ $symbol }» не допускается, поскольку это функция.\nshared-calculator-error-substitution-illegal-lhs = Подстановка «{ $symbol }» не допускается.\nshared-calculator-error-substitution-invalid-assignments = За выражением «with» должно следовать одно или несколько определений переменных.\nshared-calculator-error-substitution-local-lhs = Замена переменной «{ $symbol }» не допускается, поскольку она определена локально.\nshared-calculator-error-substitution-nested = Использование одного выражения «with» внутри другого выражения «with» не допускается.\nshared-calculator-error-substitution-type-error = Невозможно заменить «{ $actual }» на «{ $expected }».\nshared-calculator-error-substitution-unsupported-interval = Интервалы в правой части «with» недопустимы. Вместо этого можно попробовать использовать «for».\nshared-calculator-error-subtract-type-error = Невозможно вычесть элемент типа «{ $symbol2 }» из элемента типа «{ $symbol1 }».\nshared-calculator-error-sum-argument-type-error = Невозможно суммировать элементы типа «{ $symbol }».\nshared-calculator-error-sum-infinite-bound-type-error = Пределы суммирования должны быть конечными числами.\nshared-calculator-error-sum-lower-bound-type-error = Нижний предел суммы не может быть типом «{ $symbol }».\nshared-calculator-error-sum-missing-body = Сумму какого выражения вы хотите получить?\nshared-calculator-error-sum-missing-bound = Суммы должны иметь верхний и нижний пределы.\nshared-calculator-error-sum-upper-bound-type-error = Верхний предел суммы не может быть типом «{ $symbol }».\nshared-calculator-error-superscript-with-prime = Невозможно одновременно использовать верхние индексы и апострофы.\nshared-calculator-error-table-entry-type-error = Запись в таблице не может быть типа «{ $symbol }».\nshared-calculator-error-table-equation-supplement = Уравнения недопустимы.\nshared-calculator-error-table-function-definition-supplement = Определения функций недопустимы.\nshared-calculator-error-table-generic-supplement = Этот тип выражения не допускается.\nshared-calculator-error-table-header-type-error = Заголовок таблицы не может быть типа «{ $symbol }».\nshared-calculator-error-table-inequality-supplement = Неравенства недопустимы.\nshared-calculator-error-table-list-supplement = Списки недопустимы.\nshared-calculator-error-table-regression-supplement = Регрессии недопустимы.\nshared-calculator-error-tdist-wrong-arity = Функция 'tdist' требует 1 аргумент. Например, попробуйте набрать: tdist(1).\nshared-calculator-error-ticker-min-step-nonnegative = Минимальный шаг должен быть неотрицательным числом.\nshared-calculator-error-token-with-subscript = Токены не могут иметь индексов.\nshared-calculator-error-too-many-arguments = Максимальное число аргументов, которое допускает { $symbol }, - это { $max }.\nshared-calculator-error-too-many-variables-many-symbols = Слишком много переменных. Попробуйте определить «{ $variables }», либо «{ $lastVariable }».\nshared-calculator-error-too-many-variables-no-symbols = Слишком много переменных, я не знаю, что с этим делать.\nshared-calculator-error-too-many-variables-one-symbol = Слишком много переменных. Попробуйте определить «{ $variable }».\nshared-calculator-error-transformation-definition-expected-types-1 = Попробуйте использовать { $arg }.\nshared-calculator-error-transformation-definition-expected-types-2 = Попробуйте использовать { $arg1 } и { $arg2 }.\nshared-calculator-error-transformation-definition-expected-types-use-fewer-1 = Попробуйте использовать только { $arg }.\nshared-calculator-error-transformation-definition-expected-types-use-fewer-2 = Попробуйте использовать только { $arg1 } и { $arg2 }.\nshared-calculator-error-transformation-definition-type-error-1 = { $fn } невозможно определить с помощью { $arg }. { $expectedTypeMessage }\nshared-calculator-error-transformation-definition-type-error-2 = A { $fn } cannot be defined using { $arg1 } и { $arg2 }. { $expectedTypeMessage }\nshared-calculator-error-transformation-definition-type-error-many = Невозможно определить «{ $fn }» с помощью этих аргументов.\nshared-calculator-error-transformation-definition-type-error-use-more-1 = { $fn } невозможно определить с помощью только { $arg }. { $expectedTypeMessage }\nshared-calculator-error-transformation-definition-type-error-use-more-2 = A { $fn } невозможно определить только с помощью { $arg1 } and { $arg2 }. { $expectedTypeMessage }\nshared-calculator-error-transformation-type-error-1 = Преобразование «{ $fn }» не может быть применено к аргументу типа { $arg }.\nshared-calculator-error-transformation-type-error-2 = Преобразование «{ $fn }» не может быть применено к аргументам { $arg1 } и { $arg2 }.\nshared-calculator-error-transformation-type-error-many = Преобразование «{ $fn }» не может быть применено к этим аргументам.\nshared-calculator-error-ttest-list-too-short = Список '{ $symbol }' должен содержать не менее 2 элементов.\nshared-calculator-error-two-numbers-error = Не удается построить многоугольник по двум числам.\nshared-calculator-error-unary-operator-missing-left = Что-то должно стоять перед символом «{ $symbol }».\nshared-calculator-error-unary-operator-missing-right = Что-то должно что-то стоять после символа «{ $symbol }».\nshared-calculator-error-unexpected-equality = Здесь нельзя использовать равенство.\nshared-calculator-error-unexpected-inequality = Здесь нельзя использовать неравенство.\nshared-calculator-error-unexpected-prime = К сожалению, я не понимаю это использование апострофов.\nshared-calculator-error-unexpected-subscript = Только функции и переменные могут иметь индексы.\nshared-calculator-error-unexpected-symbol = Извините, я не понимаю, как здесь используется { $symbol }.\nshared-calculator-error-unknown = Неизвестная ошибка\nshared-calculator-error-unplottable-chained-equality = Калькулятор не может строить цепочки уравнений.\nshared-calculator-error-unplottable-long-inequality-chain = Калькулятор не может строить цепочки из более чем 2 неравенств.\nshared-calculator-error-unplottable-polar-function = Мы не можем построить график θ как функции от r. Попробуйте вместо этого построить график r(θ).\nshared-calculator-error-unrecognized-symbol = Извините, я не понимаю элемент типа «{ $symbol }».\nshared-calculator-error-update-rule-function-lhs = «{ $symbol }» не может быть обновлен, поскольку является функцией.\nshared-calculator-error-update-rule-illegal-lhs = Переменная «{ $symbol }» не может быть обновлена.\nshared-calculator-error-update-rule-local-lhs = Переменная «{ $symbol }» не может быть обновлена, потому что она объявлена локально.\nshared-calculator-error-update-rule-non-identifier-lhs = Слева от «{ $arrow }» должно быть имя переменной, например «{ $example }».\nshared-calculator-error-update-rule-type-error = Невозможно обновить переменную как «{ $symbol }».\nshared-calculator-error-update-rule-undefined-lhs = Переменная «{ $symbol }» должна быть определена перед обновлением.\nshared-calculator-error-use-r-for-cylindrical-coordinates = Невозможно объединить «ρ» и «z». Попробуйте использовать «r» для цилиндрических координат.\nshared-calculator-error-use-rho-for-spherical-coordinates = Невозможно объединить «r» и «φ». Попробуйте использовать «ρ» (ро) для сферических координат.\nshared-calculator-error-variable-as-function = Переменная '{ $dependency }' не может использоваться как функция.\nshared-calculator-error-variable-function-free-variable = Функция «{ $functionSymbol }» не может зависеть от независимой переменной «{ $variableSymbol }».\nshared-calculator-error-variable-invalid-function-name = Данный калькулятор не может использовать «{ $symbol }» в качестве имени функции.\nshared-calculator-error-variable-length-distribution-list = Длина списка распределений не может зависеть от свободной переменной '{ $symbol }'.\nshared-calculator-error-variable-length-product-body-depends-on-index = Невозможно определить произведение списка, длина которого зависит от индекса произведения '{ $symbol }'.\nshared-calculator-error-variable-length-sum-body-depends-on-index = Невозможно найти сумму элементов списока, длина которого задана его индексом '{ $symbol }'.\nshared-calculator-error-variable-length-top-level-list = Невозможно построить список, длина которого зависит от свободной переменной '{ $symbol }'.\nshared-calculator-error-variable-seed = Параметр 'random' не может зависеть от независимой переменной '{ $symbol }'.\nshared-calculator-error-variable-unsupported = Этот калькулятор не поддерживает переменную «{ $symbol }».\nshared-calculator-error-variables-unsupported = Этот калькулятор не поддерживает переменные вида '{ $variable }'.\nshared-calculator-error-write-integral = Введите «{ $command }» для { $symbol }.\nshared-calculator-error-wrong-arity-many-arg = Функция '{ $dependency }' требует { $assignment_arity } аргумента(ов). { $supplement }\nshared-calculator-error-wrong-arity-single-arg-too-few = Функция '{ $dependency }' требует аргумент. { $supplement }\nshared-calculator-error-wrong-arity-single-arg-too-many = Функция '{ $dependency }' требует только 1 аргумент. { $supplement }\nshared-calculator-error-wrong-arity-supplement = Для примера, попробуйте набрать: { $recommendation }.\nshared-calculator-error-wrong-two-arg-arity = Функция '{ $symbol }' требует 2 аргумента. Для примера, попробуйте набрать: { $recommendation }.\nshared-calculator-error-zero-arg-reducer = Функция '{ $symbol }' требует как минимум один аргумент. Для примера, попробуйте набрать: { $symbol }(1, 2).\nshared-calculator-heading-function-table-column-header = Функция\nshared-calculator-heading-keyboard-shortcuts = Сочетания клавиш\nshared-calculator-heading-keyboard-shortcuts-audio-tracing = Аудио слежение\nshared-calculator-heading-keyboard-shortcuts-braille = Брайль\nshared-calculator-heading-keyboard-shortcuts-common-actions = Основные действия\nshared-calculator-heading-keyboard-shortcuts-common-symbols = Общие символы\nshared-calculator-heading-keyboard-shortcuts-desmos-com-only = Только Desmos.com\nshared-calculator-heading-keyboard-shortcuts-expression-entry-and-navigation = Выражения: создание и навигация\nshared-calculator-heading-keyboard-shortcuts-geometry-expression-edit = Редактировать выражение\nshared-calculator-heading-keyboard-shortcuts-geometry-graph-navigation-during-construction = Навигация по графику во время построения\nshared-calculator-heading-keyboard-shortcuts-geometry-token-navigator = Токен-навигатор\nshared-calculator-heading-keyboard-shortcuts-geometry-tool-selection = Выбор инструмента\nshared-calculator-heading-keyboard-shortcuts-interactive-points = Интерактивные точки\nshared-calculator-heading-keyboard-shortcuts-slider-trace = Озвучка ползунка\nshared-calculator-heading-keyboard-shortcuts-sliders = Ползунки\nshared-calculator-heading-keyboard-shortcuts-symbols = Символы\nshared-calculator-heading-keyboard-shortcuts-tables = Таблицы\nshared-calculator-heading-mac-table-column-header = Горячие клавиши для Mac\nshared-calculator-heading-windows-chrome-table-column-header = Горячие клавиши для Windows / ChromeOS\nshared-calculator-label-accessibility = Специальные возможности\nshared-calculator-label-dropdown-options = Пункты раскрывающегося меню\nshared-calculator-label-hide-custom-colors = Скрыть пользовательские цвета с панели инструментов геообъектов\nshared-calculator-label-os = Операционная система\nshared-calculator-label-saved = Сохранено!\nshared-calculator-label-saving = Сохранение...\nshared-calculator-label-search-results = Результаты поиска\nshared-calculator-label-toast-learn-more = Подробнее\nshared-calculator-label-toast-terms-change = Мы обновили наши Условия.\nshared-calculator-label-toast-undo = Отменить\nshared-calculator-label-tooltip-convert-to-decimal = Преобразовать в десятичную дробь.\nshared-calculator-label-tooltip-convert-to-fraction = Преобразовать в простую дробь.\nshared-calculator-label-value-type-action = действие\nshared-calculator-label-value-type-angle = угол\nshared-calculator-label-value-type-any = неизвестный объект\nshared-calculator-label-value-type-arc = дуга\nshared-calculator-label-value-type-bool = логическое выражение\nshared-calculator-label-value-type-circle = круг\nshared-calculator-label-value-type-color = цвет\nshared-calculator-label-value-type-directed-angle = направленный угол\nshared-calculator-label-value-type-distribution = распределение\nshared-calculator-label-value-type-empty-list = пустой список\nshared-calculator-label-value-type-error = ошибочный объект\nshared-calculator-label-value-type-lambda-point = параметризованная точка\nshared-calculator-label-value-type-lambda-point3d = параметризованная 3D-точка\nshared-calculator-label-value-type-line = прямая\nshared-calculator-label-value-type-list-of-3d-points = набор 3D-точек\nshared-calculator-label-value-type-list-of-angles = набор углов\nshared-calculator-label-value-type-list-of-any = список неизвестных объектов\nshared-calculator-label-value-type-list-of-arcs = набор дуг\nshared-calculator-label-value-type-list-of-bool = список логических значений\nshared-calculator-label-value-type-list-of-circles = набор кругов\nshared-calculator-label-value-type-list-of-colors = список цветов\nshared-calculator-label-value-type-list-of-directed-angles = список направленных углов\nshared-calculator-label-value-type-list-of-distributions = список распределений\nshared-calculator-label-value-type-list-of-lambda-point = список параметризованных точек\nshared-calculator-label-value-type-list-of-lambda-point3d = список параметризованных 3D-точек\nshared-calculator-label-value-type-list-of-lines = набор прямых\nshared-calculator-label-value-type-list-of-numbers = список чисел\nshared-calculator-label-value-type-list-of-points = список точек\nshared-calculator-label-value-type-list-of-polygons = список многоугольников\nshared-calculator-label-value-type-list-of-rays = набор лучей\nshared-calculator-label-value-type-list-of-restrictions = список ограничений\nshared-calculator-label-value-type-list-of-segment3d = набор 3D-отрезков\nshared-calculator-label-value-type-list-of-segments = набор отрезков\nshared-calculator-label-value-type-list-of-sphere3d = набор 3D-сфер\nshared-calculator-label-value-type-list-of-tone = список мелодий\nshared-calculator-label-value-type-list-of-transformations = набор преобразований\nshared-calculator-label-value-type-list-of-triangle3d = набор 3D-треугольников\nshared-calculator-label-value-type-list-of-vector3d = список 3D-векторов\nshared-calculator-label-value-type-list-of-vectors = список векторов\nshared-calculator-label-value-type-matrix = матрица\nshared-calculator-label-value-type-number = число\nshared-calculator-label-value-type-point = точка\nshared-calculator-label-value-type-point3d = 3D-точка\nshared-calculator-label-value-type-polygon = многоугольник\nshared-calculator-label-value-type-ray = луч\nshared-calculator-label-value-type-restriction = ограничение\nshared-calculator-label-value-type-seed = строка\nshared-calculator-label-value-type-segment = отрезок\nshared-calculator-label-value-type-segment3d = 3D-отрезок\nshared-calculator-label-value-type-sphere3d = 3D-сфера\nshared-calculator-label-value-type-tone = тон\nshared-calculator-label-value-type-transformation = преобразование\nshared-calculator-label-value-type-triangle3d = 3D-треугольник\nshared-calculator-label-value-type-vector = вектор\nshared-calculator-label-value-type-vector3d = 3D-вектор\nshared-calculator-narration-author-mode = Авторский режим\nshared-calculator-narration-author-mode-off = Авторский режим выключен\nshared-calculator-narration-author-mode-on = Авторский режим включен\nshared-calculator-narration-braille-mode = Режим Брайля\nshared-calculator-narration-control-toggle-switch-to-default = { $toggled } выбран. Нажмите Enter, чтобы перейти к { $default }.\nshared-calculator-narration-control-toggle-switch-to-toggled = { $default } выбран. Нажмите Enter, чтобы перейти к { $toggled }.\nshared-calculator-narration-disable-tool = Отключить { $tool }, если это условие истинно\nshared-calculator-narration-display-as-decimal = Отображается в виде обыкновенной дроби. Нажмите Enter для отображения в виде десятичной дроби\nshared-calculator-narration-display-as-fraction = Отображается в виде десятичной дроби. Нажмите Enter для отображения в виде обыкновенной дроби\nshared-calculator-narration-evaluation = равно { $answer }\nshared-calculator-narration-expression = Выражение\nshared-calculator-narration-expression-index = Выражение { $index }\nshared-calculator-narration-expression-list = Список выражений\nshared-calculator-narration-hotkey-braille-mode-nemeth = Шрифт Брайля: Nemeth\nshared-calculator-narration-hotkey-braille-mode-off = Шрифт Брайля выключен\nshared-calculator-narration-hotkey-braille-mode-ueb = Шрифт Брайля: единый английский (UEB)\nshared-calculator-narration-input-error = ввод содержит ошибку\nshared-calculator-narration-item-clickable = { $item } можно нажимать\nshared-calculator-narration-item-selected = Выбрано: { $item }\nshared-calculator-narration-item-unknown = Неизвестный элемент\nshared-calculator-narration-item-unselected = Отменён выбор: { $item }\nshared-calculator-narration-keypad = клавиатура\nshared-calculator-narration-keypad-controlbar = Панель управления\nshared-calculator-narration-keypad-key-10-n = Умножить на десять в степени\nshared-calculator-narration-keypad-key-abs = Модуль\nshared-calculator-narration-keypad-key-action-to = Установить значение:\nshared-calculator-narration-keypad-key-action-with = Заменить на\nshared-calculator-narration-keypad-key-alpha = Альфа\nshared-calculator-narration-keypad-key-angle = Угол\nshared-calculator-narration-keypad-key-angles = Углы\nshared-calculator-narration-keypad-key-ans = Ответ\nshared-calculator-narration-keypad-key-arc = Дуга\nshared-calculator-narration-keypad-key-arccos = Арккосинус\nshared-calculator-narration-keypad-key-arccot = Арккотангенс\nshared-calculator-narration-keypad-key-arccsc = Арккосеканс\nshared-calculator-narration-keypad-key-arcsec = Арксеканс\nshared-calculator-narration-keypad-key-arcsin = Арксинус\nshared-calculator-narration-keypad-key-arctan = Арктангенс\nshared-calculator-narration-keypad-key-area = Площадь\nshared-calculator-narration-keypad-key-backspace = Backspace\nshared-calculator-narration-keypad-key-beta = Бета\nshared-calculator-narration-keypad-key-binomialdist = Биномиальное распределение\nshared-calculator-narration-keypad-key-boxplot = Ящичковая диаграмма\nshared-calculator-narration-keypad-key-ceil = Округление вверх до целого\nshared-calculator-narration-keypad-key-center = Центр\nshared-calculator-narration-keypad-key-circle = Круг\nshared-calculator-narration-keypad-key-corr = Корреляция\nshared-calculator-narration-keypad-key-cos = Косинус\nshared-calculator-narration-keypad-key-cosh = Гиперболический косинус\nshared-calculator-narration-keypad-key-cot = Котангенс\nshared-calculator-narration-keypad-key-coterminal = Сопряжённый\nshared-calculator-narration-keypad-key-coth = Гиперболический котангенс\nshared-calculator-narration-keypad-key-cov = Ковариация\nshared-calculator-narration-keypad-key-covp = Ковариация популяции\nshared-calculator-narration-keypad-key-csc = Косеканс\nshared-calculator-narration-keypad-key-csch = Гиперболический косеканс\nshared-calculator-narration-keypad-key-cubed = В кубе\nshared-calculator-narration-keypad-key-decimal = Десятичная дробь\nshared-calculator-narration-keypad-key-dilate = Растянуть\nshared-calculator-narration-keypad-key-directed-angle = Направленный угол\nshared-calculator-narration-keypad-key-directed-angles = Направленные углы\nshared-calculator-narration-keypad-key-distance = Расстояние\nshared-calculator-narration-keypad-key-divide = Разделить\nshared-calculator-narration-keypad-key-dotplot = Точечная диаграмма\nshared-calculator-narration-keypad-key-enter = Ввод\nshared-calculator-narration-keypad-key-erf = Функция ошибки\nshared-calculator-narration-keypad-key-exp = Показатель степени\nshared-calculator-narration-keypad-key-factorial = Факториал\nshared-calculator-narration-keypad-key-floor = Целая часть\nshared-calculator-narration-keypad-key-fraction = A на B\nshared-calculator-narration-keypad-key-glider = Глайдер\nshared-calculator-narration-keypad-key-histogram = Гистограмма\nshared-calculator-narration-keypad-key-int = Интеграл\nshared-calculator-narration-keypad-key-intersection = Пересечение\nshared-calculator-narration-keypad-key-inversecdf = Обратная функция распределения\nshared-calculator-narration-keypad-key-ittest = Независимый Т-критерий\nshared-calculator-narration-keypad-key-left-arrow = Стрелка влево\nshared-calculator-narration-keypad-key-left-bracket = Левая скобка\nshared-calculator-narration-keypad-key-left-paren = Левая скобка\nshared-calculator-narration-keypad-key-line = Прямая\nshared-calculator-narration-keypad-key-ln = Натуральный логарифм\nshared-calculator-narration-keypad-key-log = Логарифм\nshared-calculator-narration-keypad-key-loga = Логарифм А\nshared-calculator-narration-keypad-key-mean = Среднее арифметическое\nshared-calculator-narration-keypad-key-median = Медиана\nshared-calculator-narration-keypad-key-midpoint = Cредняя точка\nshared-calculator-narration-keypad-key-minus = Минус\nshared-calculator-narration-keypad-key-normaldist = Нормальное распределение\nshared-calculator-narration-keypad-key-nthroot = Корень степени n\nshared-calculator-narration-keypad-key-parallel = Параллельная\nshared-calculator-narration-keypad-key-pdf = Функция плотности вероятности\nshared-calculator-narration-keypad-key-percent-of = Процент от\nshared-calculator-narration-keypad-key-perimeter = Периметр\nshared-calculator-narration-keypad-key-perpendicular = Перпендикуляр\nshared-calculator-narration-keypad-key-phi = Фи\nshared-calculator-narration-keypad-key-pi = Пи\nshared-calculator-narration-keypad-key-plus = Плюс\nshared-calculator-narration-keypad-key-poissondist = Распределение Пуассона\nshared-calculator-narration-keypad-key-polygon = Многоугольник\nshared-calculator-narration-keypad-key-prime = Производная функции\nshared-calculator-narration-keypad-key-product = Производство\nshared-calculator-narration-keypad-key-quantile = Квантиль\nshared-calculator-narration-keypad-key-quartile = Квартиль\nshared-calculator-narration-keypad-key-radius = Радиус\nshared-calculator-narration-keypad-key-random = Случайное число\nshared-calculator-narration-keypad-key-ray = Луч\nshared-calculator-narration-keypad-key-reciprocal = Обратная величина\nshared-calculator-narration-keypad-key-reflect = Отражение\nshared-calculator-narration-keypad-key-rho = Ро\nshared-calculator-narration-keypad-key-right-arrow = Стрелка вправо\nshared-calculator-narration-keypad-key-right-bracket = Правая скобка\nshared-calculator-narration-keypad-key-right-paren = Правая скобка\nshared-calculator-narration-keypad-key-rotate = Повернуть\nshared-calculator-narration-keypad-key-round = Округление\nshared-calculator-narration-keypad-key-sec = Секанс\nshared-calculator-narration-keypad-key-segment = Отрезок\nshared-calculator-narration-keypad-key-segments = Отрезки\nshared-calculator-narration-keypad-key-shift = Сдвиг\nshared-calculator-narration-keypad-key-sin = Синус\nshared-calculator-narration-keypad-key-sinh = Гиперболический синус\nshared-calculator-narration-keypad-key-spearman = Коэффициент корреляции Спирмена\nshared-calculator-narration-keypad-key-sphere = Сфера\nshared-calculator-narration-keypad-key-sqrt = Квадратный корень\nshared-calculator-narration-keypad-key-squared = В квадрате\nshared-calculator-narration-keypad-key-stats = Сводная статистика\nshared-calculator-narration-keypad-key-stdev = Стандартное отклонение\nshared-calculator-narration-keypad-key-stdevp = Стандартное отклонение популяции\nshared-calculator-narration-keypad-key-subscript = Подстрочный\nshared-calculator-narration-keypad-key-sum = Сумма\nshared-calculator-narration-keypad-key-superscript = Надстрочный\nshared-calculator-narration-keypad-key-supplement = Дополнительный\nshared-calculator-narration-keypad-key-tan = Тангенс\nshared-calculator-narration-keypad-key-tanh = Гиперболический тангенс\nshared-calculator-narration-keypad-key-tau = Тау\nshared-calculator-narration-keypad-key-tdist = Распределение Стьюдента\nshared-calculator-narration-keypad-key-theta = Тета\nshared-calculator-narration-keypad-key-times = Умножить\nshared-calculator-narration-keypad-key-toggle-audio-trace = Включить/выключить аудиослежение\nshared-calculator-narration-keypad-key-toggle-letters = Переключить на буквы\nshared-calculator-narration-keypad-key-toggle-numbers = Переключить на числа\nshared-calculator-narration-keypad-key-tone = Тон\nshared-calculator-narration-keypad-key-translate = Перенос\nshared-calculator-narration-keypad-key-triangle = Треугольник\nshared-calculator-narration-keypad-key-tscore = Т-оценка\nshared-calculator-narration-keypad-key-ttest = t-Критерий Стъюдента\nshared-calculator-narration-keypad-key-uniformdist = Равномерное распределение\nshared-calculator-narration-keypad-key-vector = Вектор\nshared-calculator-narration-keypad-key-vertices = Вершины\nshared-calculator-narration-keypad-key-ythroot = Корень степени Y\nshared-calculator-narration-keypad-plus-minus = Плюс-Минус\nshared-calculator-narration-math-input-error-message = выражение содержит ошибку\nshared-calculator-narration-redo = вернуть\nshared-calculator-narration-settings-display-size = Размер отображения\nshared-calculator-narration-settings-display-size-default = Размер отображения: по умолчанию\nshared-calculator-narration-settings-display-size-large = Размер отображения: увеличенный\nshared-calculator-narration-show-as-decimal = Показать как десятичную дробь\nshared-calculator-narration-show-as-fraction = Показать как простую дробь\nshared-calculator-narration-six-key-mode-off = Шестиклавишная система ввода Брайля выключена\nshared-calculator-narration-six-key-mode-on = Шестиклавишная система ввода Брайля включена\nshared-calculator-narration-table-cell-coordinates = Строка: { $rowNumber }, Столбец: { $columnNumber }\nshared-calculator-narration-undo = отменить\nshared-calculator-text-customize-toolbar = Настроить панель инструментов\nshared-calculator-text-keyboard-shortcut-add-expression = Добавить выражение\nshared-calculator-text-keyboard-shortcut-add-folder = Добавить папку\nshared-calculator-text-keyboard-shortcut-add-image = Добавить изображение\nshared-calculator-text-keyboard-shortcut-add-note = Добавить заметку\nshared-calculator-text-keyboard-shortcut-add-table = Добавить таблицу\nshared-calculator-text-keyboard-shortcut-adjust-playback-speed = Отрегулировать скорость воспроизведения (1 = самая медленная, 5 = самая быстрая)\nshared-calculator-text-keyboard-shortcut-announce-slider-animations = Объявить анимации активного ползунка\nshared-calculator-text-keyboard-shortcut-beginning-of-block = Начало текущего блока\nshared-calculator-text-keyboard-shortcut-beginning-of-expression = Начало текущего выражения\nshared-calculator-text-keyboard-shortcut-close-a-dialog = Закрыть диалог\nshared-calculator-text-keyboard-shortcut-collapse-all-folders = Свернуть все папки\nshared-calculator-text-keyboard-shortcut-collapse-folder = Свернуть выбранную папку\nshared-calculator-text-keyboard-shortcut-decrease-volume = Уменьшить громкость\nshared-calculator-text-keyboard-shortcut-decrease-x = Уменьшить значение X\nshared-calculator-text-keyboard-shortcut-decrease-x-larger = Уменьшить значение X на бóльшую величину\nshared-calculator-text-keyboard-shortcut-decrease-y = Уменьшить значение Y\nshared-calculator-text-keyboard-shortcut-decrease-y-larger = Уменьшить значение Y на бóльшую величину\nshared-calculator-text-keyboard-shortcut-degrees-toggle = Переключить градусы в радианы и обратно\nshared-calculator-text-keyboard-shortcut-delete-expression = Удалить выражение, находящееся в фокусе клавиатуры\nshared-calculator-text-keyboard-shortcut-delete-selection = Удалить выделенное\nshared-calculator-text-keyboard-shortcut-describe-axes = Описать оси графика\nshared-calculator-text-keyboard-shortcut-end-of-block = Конец текущего блока\nshared-calculator-text-keyboard-shortcut-end-of-expression = Конец текущего выражения\nshared-calculator-text-keyboard-shortcut-exit-block = Выход из текущего блока\nshared-calculator-text-keyboard-shortcut-expand-all-folders = Развернуть все папки\nshared-calculator-text-keyboard-shortcut-expand-folder = Развернуть выбранную папку\nshared-calculator-text-keyboard-shortcut-first-point = Первая точка\nshared-calculator-text-keyboard-shortcut-focus-expression-list = Перейти в список выражений\nshared-calculator-text-keyboard-shortcut-focus-first-interactive-point = Выделить первую интерактивную точку на экране\nshared-calculator-text-keyboard-shortcut-focus-graph-paper = Фокус на график\nshared-calculator-text-keyboard-shortcut-geometry-add-object-to-selection = Добавить объект с фокусом клавиатуры в группу выбранных объектов (если активен выбор рамкой)\nshared-calculator-text-keyboard-shortcut-geometry-add-object-token-to-selection = Добавить токен объекта к выбору\nshared-calculator-text-keyboard-shortcut-geometry-cancel-active-tool = Отменить активный инструмент\nshared-calculator-text-keyboard-shortcut-geometry-choose-toolbar-item-and-focus-graph = Выбрать инструмент и фокус на график\nshared-calculator-text-keyboard-shortcut-geometry-close-token-navigator = Закрыть токен-навигатор\nshared-calculator-text-keyboard-shortcut-geometry-delete-selected-objects = Удалить выбранный объект(ы)\nshared-calculator-text-keyboard-shortcut-geometry-describe-object = Описать объект, находящийся в фокусе клавиатуры\nshared-calculator-text-keyboard-shortcut-geometry-deselect-all-objects = Отменить выбор всех объектов\nshared-calculator-text-keyboard-shortcut-geometry-drag-movable-objects = Перетащить все движимые объекты\nshared-calculator-text-keyboard-shortcut-geometry-expression-edit-add-object = Добавить объект с фокусом клавиатуры к выражению\nshared-calculator-text-keyboard-shortcut-geometry-expression-edit-complete = Завершить редактирование и вернуться к списку выражений (если все необходимые объекты добавлены)\nshared-calculator-text-keyboard-shortcut-geometry-expression-edit-next-object = Перейти на следующий допустимый объект активного выражения\nshared-calculator-text-keyboard-shortcut-geometry-expression-edit-previous-object = Перейти на предыдущий допустимый объект активного выражения\nshared-calculator-text-keyboard-shortcut-geometry-focus-selected-objects-toolbar = Фокус на панель инструментов для выбранного объекта(ов)\nshared-calculator-text-keyboard-shortcut-geometry-focus-toolbar = Фокус на панель инструментов геометрии\nshared-calculator-text-keyboard-shortcut-geometry-move-between-toolbar-categories = Перейти между категориями на панели инструментов\nshared-calculator-text-keyboard-shortcut-geometry-move-between-toolbar-dropdown-items = Перейти по инструментам в раскрывающемся списке\nshared-calculator-text-keyboard-shortcut-geometry-move-to-bottom-of-graph = Перейти к нижнему краю графика\nshared-calculator-text-keyboard-shortcut-geometry-move-to-left-of-graph = Перейти к левому краю графика\nshared-calculator-text-keyboard-shortcut-geometry-move-to-right-of-graph = Перейти к правому краю графика\nshared-calculator-text-keyboard-shortcut-geometry-move-to-top-of-graph = Перейти к верхнему краю графика\nshared-calculator-text-keyboard-shortcut-geometry-move-token-between-expression-list-and-navigator = Переместить токен объекта между списком выражений и навигатором\nshared-calculator-text-keyboard-shortcut-geometry-navigate-graph = Перейти к добавлению точки\nshared-calculator-text-keyboard-shortcut-geometry-navigate-object-levels = Навигация между уровнями объектов\nshared-calculator-text-keyboard-shortcut-geometry-navigate-tokens-at-current-level = Перейти между токенами объектов на текущем уровне\nshared-calculator-text-keyboard-shortcut-geometry-next-object = Перевести внимание на следующий допустимый объект для активного инструмента\nshared-calculator-text-keyboard-shortcut-geometry-open-options = Открыть параметры для выбранного объекта(ов)\nshared-calculator-text-keyboard-shortcut-geometry-open-token-navigator = Открыть токен-навигатор\nshared-calculator-text-keyboard-shortcut-geometry-open-transformation-options = Открыть набор возможных преобразований для выбранного объекта\nshared-calculator-text-keyboard-shortcut-geometry-previous-object = Перевести внимание на предыдущий допустимый объект для активного инструмента\nshared-calculator-text-keyboard-shortcut-geometry-repeat-active-tool-prompt = Повторить запрос для активного инструмента\nshared-calculator-text-keyboard-shortcut-geometry-select-next-category = Выберите следующую категорию инструментов\nshared-calculator-text-keyboard-shortcut-geometry-select-next-tool-within-category = Выбрать следующий инструмент в активной категории\nshared-calculator-text-keyboard-shortcut-geometry-select-previous-category = Выберите предыдущую категорию инструментов\nshared-calculator-text-keyboard-shortcut-geometry-select-previous-tool-within-category = Выбрать следующий инструмент в активной категории\nshared-calculator-text-keyboard-shortcut-geometry-select-single-object-token = Выбрать токен одного объекта\nshared-calculator-text-keyboard-shortcut-geometry-select-tool-by-number = Выбрать n-ю категорию инструментов\nshared-calculator-text-keyboard-shortcut-hear-graph = Прослушать график\nshared-calculator-text-keyboard-shortcut-hear-specific-branch = Прослушать только ветви с 1 до 10\nshared-calculator-text-keyboard-shortcut-increase-selection-left = Увеличить выделение влево\nshared-calculator-text-keyboard-shortcut-increase-selection-right = Увеличить выделение вправо\nshared-calculator-text-keyboard-shortcut-increase-volume = Увеличить громкость\nshared-calculator-text-keyboard-shortcut-increase-x = Увеличить значение X\nshared-calculator-text-keyboard-shortcut-increase-x-larger = Увеличить значение X на бóльшую величину\nshared-calculator-text-keyboard-shortcut-increase-y = Увеличить значение Y\nshared-calculator-text-keyboard-shortcut-increase-y-larger = Увеличить значение Y на бóльшую величину\nshared-calculator-text-keyboard-shortcut-keypad-toggle = Показать или скрыть клавиатуру\nshared-calculator-text-keyboard-shortcut-last-point = Последняя точка\nshared-calculator-text-keyboard-shortcut-move-to-denominator = Переместиться в знаменатель дроби\nshared-calculator-text-keyboard-shortcut-move-to-numerator = Переместиться в числитель дроби\nshared-calculator-text-keyboard-shortcut-move-to-origin = Перейти в начало координат\nshared-calculator-text-keyboard-shortcut-mute-toggle = Включить или отключить воспроизведение звука\nshared-calculator-text-keyboard-shortcut-nemeth-mode = Переключить на Nemeth\nshared-calculator-text-keyboard-shortcut-next-character = Следующий символ\nshared-calculator-text-keyboard-shortcut-next-curve = Перейти к следующей кривой\nshared-calculator-text-keyboard-shortcut-next-expression = Перейти к следующему выражению\nshared-calculator-text-keyboard-shortcut-next-interactive-point = Перейти к следующей интерактивной точке\nshared-calculator-text-keyboard-shortcut-next-poi = Следующая важная точка\nshared-calculator-text-keyboard-shortcut-next-point = Следующая точка\nshared-calculator-text-keyboard-shortcut-open-a-graph = Открыть график\nshared-calculator-text-keyboard-shortcut-open-expression-options = Открыть настройки выражения, находящегося в фокусе клавиатуры\nshared-calculator-text-keyboard-shortcut-open-shortcuts-dialog = Открыть окно сочетаний клавиш\nshared-calculator-text-keyboard-shortcut-previous-character = Предыдущий символ\nshared-calculator-text-keyboard-shortcut-previous-curve = Перейти к предыдущей кривой\nshared-calculator-text-keyboard-shortcut-previous-expression = Перейти к предыдущему выражению\nshared-calculator-text-keyboard-shortcut-previous-interactive-point = Перейти к предыдущей интерактивной точке\nshared-calculator-text-keyboard-shortcut-previous-poi = Предыдущая важная точка\nshared-calculator-text-keyboard-shortcut-previous-point = Предыдущая точка\nshared-calculator-text-keyboard-shortcut-print-a-graph = Распечатать график\nshared-calculator-text-keyboard-shortcut-print-mode = Переключиться на печать\nshared-calculator-text-keyboard-shortcut-redo = Повторить\nshared-calculator-text-keyboard-shortcut-remove-empty-expression = Удалить выбранное пустое выражение\nshared-calculator-text-keyboard-shortcut-rotate-3d-cube = Поворот куба в заданном направлении (когда в фокусе)\nshared-calculator-text-keyboard-shortcut-rotate-3d-cube-command = СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, СТРЕЛКА ВЛЕВО, or СТРЕЛКА ВПРАВО\nshared-calculator-text-keyboard-shortcut-save-a-graph = Сохранить график\nshared-calculator-text-keyboard-shortcut-select-all = Выделить всё\nshared-calculator-text-keyboard-shortcut-show-answer-as-decimal-or-fraction = Показать ответ в виде десятичной или обыкновенной дроби\nshared-calculator-text-keyboard-shortcut-show-or-hide-expression = Показать или скрыть выбранное выражение\nshared-calculator-text-keyboard-shortcut-show-or-hide-expression-list = Показать или скрыть список выражений\nshared-calculator-text-keyboard-shortcut-slider-decrease = Уменьшить значение\nshared-calculator-text-keyboard-shortcut-slider-decrease-larger = Уменьшить значение на бóльшую величину\nshared-calculator-text-keyboard-shortcut-slider-increase = Увеличить значение\nshared-calculator-text-keyboard-shortcut-slider-increase-larger = Увеличить значение на бóльшую величину\nshared-calculator-text-keyboard-shortcut-slider-maximum = Наибольшее значение\nshared-calculator-text-keyboard-shortcut-slider-minimum = Наименьшее значение\nshared-calculator-text-keyboard-shortcut-slider-trace-decrease = Уменьшить значение выбранного ползунка в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-decrease-larger = Уменьшать значение выбранного ползунка с увеличенным шагом в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-increase = Увеличить значение выбранного ползунка в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-increase-larger = Увеличить значение выбранного ползунка с увеличенным шагом в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-maximum = Установить максимальное значение выбранного ползунка в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-minimum = Установить минимальное значение выбранного ползунка в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-next-slider = Выбрать следующий ползунок в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-slider-trace-previous-slider = Выбрать предыдущий ползунок в режиме отслеживания\nshared-calculator-text-keyboard-shortcut-speak-answer = Произнести ответ\nshared-calculator-text-keyboard-shortcut-speak-branch = Произнести ветвь графика\nshared-calculator-text-keyboard-shortcut-speak-color = Произнести цвет\nshared-calculator-text-keyboard-shortcut-speak-focused-block = Произнести блок, находящийся в фокусе клавиатуры\nshared-calculator-text-keyboard-shortcut-speak-label = Произнести имя\nshared-calculator-text-keyboard-shortcut-speak-left-adjacent-block = Произнести блок, находящийся непосредственно слева\nshared-calculator-text-keyboard-shortcut-speak-parent-block = Произнести исходный блок\nshared-calculator-text-keyboard-shortcut-speak-poi-count = Произнести число важных точек\nshared-calculator-text-keyboard-shortcut-speak-point-type = Произнести тип выбранной точки\nshared-calculator-text-keyboard-shortcut-speak-right-adjacent-block = Произнести блок, находящийся непосредственно справа\nshared-calculator-text-keyboard-shortcut-speak-selection = Произнести выделенное\nshared-calculator-text-keyboard-shortcut-speak-x = Произнести координату X\nshared-calculator-text-keyboard-shortcut-speak-y = Произнести координату Y\nshared-calculator-text-keyboard-shortcut-spin-3d-cube = Вращение куба в заданном направлении (когда в фокусе)\nshared-calculator-text-keyboard-shortcut-spin-3d-cube-command = Нажать и удерживать КНОПКУ ВВЕРХ, КНОПКУ ВНИЗ, КНОПКУ ВЛЕВО, or КНОПКУ ВПРАВО\nshared-calculator-text-keyboard-shortcut-summarize-graph = Описать выбранную кривую\nshared-calculator-text-keyboard-shortcut-switch-pane-in-3d-quest = Перейти между списком выражений и панелью инструкций «Квест»\nshared-calculator-text-keyboard-shortcut-table-first-column = Первый столбец строки\nshared-calculator-text-keyboard-shortcut-table-first-row = Первая строка в столбце\nshared-calculator-text-keyboard-shortcut-table-last-column = Последний столбец строки\nshared-calculator-text-keyboard-shortcut-table-last-row = Последняя строка в столбце\nshared-calculator-text-keyboard-shortcut-table-next-cell = Следующая ячейка\nshared-calculator-text-keyboard-shortcut-table-next-column = Следующий столбец\nshared-calculator-text-keyboard-shortcut-table-next-row = Следующая строка\nshared-calculator-text-keyboard-shortcut-table-previous-cell = Предыдущая ячейка\nshared-calculator-text-keyboard-shortcut-table-previous-column = Предыдущий столбец\nshared-calculator-text-keyboard-shortcut-table-previous-row = Предыдущая строка\nshared-calculator-text-keyboard-shortcut-table-speak-column-header = Произнести заголовок столбца\nshared-calculator-text-keyboard-shortcut-toggle-account-menu = Открыть или закрыть меню учетной записи\nshared-calculator-text-keyboard-shortcut-toggle-audio-trace = Включить или выключить режим аудиослежения\nshared-calculator-text-keyboard-shortcut-toggle-author-mode = Переключить функции авторского режима\nshared-calculator-text-keyboard-shortcut-toggle-braille-typing = Включить или выключить режим набора шрифтом Брайля\nshared-calculator-text-keyboard-shortcut-toggle-edit-list-mode = Включить или выключить режим редактирования списка\nshared-calculator-text-keyboard-shortcut-toggle-graph-settings-menu = Открыть или закрыть меню настроек графика\nshared-calculator-text-keyboard-shortcut-toggle-help-menu = Открыть или закрыть меню справки\nshared-calculator-text-keyboard-shortcut-toggle-language-menu = Открыть или закрыть языковое меню\nshared-calculator-text-keyboard-shortcut-toggle-share-menu = Открыть или закрыть меню \"Поделиться\"\nshared-calculator-text-keyboard-shortcut-toggle-slider-trace = Переключить режим отслеживания ползунка\nshared-calculator-text-keyboard-shortcut-ueb-mode = Переключить на UEB\nshared-calculator-text-keyboard-shortcut-undo = Отменить\nshared-calculator-text-keyboard-shortcut-zoom-fit = Показать полностью\nshared-calculator-text-keyboard-shortcut-zoom-in = Увеличить\nshared-calculator-text-keyboard-shortcut-zoom-out = Уменьшить\nshared-calculator-text-keyboard-shortcut-zoom-restore-default = Восстановить окно просмотра по умолчанию\nshared-calculator-text-search-results =\n { $count ->\n [0] Нет результатов.\n [one] 1 результат.\n [few] Результатов: { $count }.\n *[other] Результатов: { $count }.\n }\nshared-label-email = Адрес эл. почты\nshared-label-family-name = Фамилия (необязательно)\nshared-label-four-function = Арифметический\nshared-label-given-name-or-nickname = Имя или псевдоним\nshared-label-graphing = Графический\nshared-label-name = Имя\nshared-label-new-email-address = Новый электронный адрес\nshared-label-opens-in-new-tab = (откроется в новой вкладке)\nshared-label-opens-in-new-tab-suffix = { $title } (откроется в новой вкладке)\nshared-label-password = Пароль\nshared-label-scientific = Научный\nshared-label-to = до\nshared-message-account-reactivated = Ранее Вы запросили удалить Ваш аккаунт, но, поскольку Вы вернулись менее чем через 30 дней, мы не будем удалять его. С возвращением!\nshared-message-change-password-email-sent = Мы вышлём ссылку для смены пароля на Ваш адрес электронной почты ({ $emailAddress }).\nshared-message-check-email-for-delete-link = Пожалуйста, проверьте свою электронную почту ({ $emailAddress }). На неё была выслана ссылка для удаления учетной записи.\nshared-message-check-email-for-link = Пожалуйста, проверьте { $emailAddress }. На него была выслана ссылка для изменения адреса электронной почты.\nshared-message-check-email-for-password-link = Пожалуйста, проверьте на ({ $emailAddress }) получение ссылки для изменения Вашего пароля.\nshared-message-check-email-for-password-recovery-link = Сообщение отправлено. Пожалуйста, проверьте свою электронную почту для восстановления пароля.\nshared-message-consent-delete-information = Если вы не хотите, чтобы Desmos хранил у себя эту информацию, вы можете удалить свой аккаунт в меню настроек аккаунта в любое время.\nshared-message-consent-text = Я соглашаюсь с тем, что Desmos будет хранить и поддерживать информацию, которую я предоставляю (например, данные моего аккаунта и сохранённую работу) с целью предоставления и улучшения сервиса. Чтобы отменить своё согласие, вы можете удалить свой аккаунт в любое время.\nshared-message-cookie-notice = <1>Примечание: Desmos использует файлы cookie для поддержки сеанса, когда Вы залогинены. Если Вы не желаете использовать файлы cookie, пожалуйста, используйте Desmos без авторизации. <2> Подробнее.\nshared-message-delete-account-notice = При удалении Вашего аккаунта <1>мы будем хранить данные в течение 30 дней. Вы сможете восстановить аккаунт в любое время в течение этих 30 дней, если просто войдёте в систему снова. Если Вы заметили что-то, что Desmos может улучшить, пожалуйста, <2>дайте нам знать.\nshared-message-delete-account-will-send-email = Мы вышлем ссылку для удаления Вашего аккаунта на адрес Вашей электронной почты ({ $email }).\nshared-message-email-sent = Електронное письмо отправлено\nshared-message-email-settings-will-send-email = Мы вышлем ссылку для изменении электронного адреса на { $emailAddress }.\nshared-message-google-login-not-available = Google логин не доступен на этом устройстве.\nshared-message-information-saved = Сохранено!\nshared-message-or-login-with-desmos = Или войдите через аккаунт Desmos\nshared-message-please-review-name = Мы попытались разбить то, как вас зовут, на имя и фамилию. Проверьте, пожалуйста, и исправьте, если это не так.\nshared-message-privacy-notice = Мною прочитаны, поняты и принимаются <1>Условия предоставления сервиса и <2>Политика конфиденциальности.\nshared-message-set-new-email-address = Установить новый адрес электронной почты и пароль.\nshared-narration-next = Далее\nshared-narration-previous = Ранее\nshared-prompt-already-have-account = Уже есть аккаунт Desmos?\nshared-prompt-enter-email-for-password-recovery-link = Введите свой адрес электронной почты, чтобы получить ссылку для восстановления пароля.\nshared-prompt-forgot-your-password = Забыли пароль?\nshared-prompt-new-to-desmos-sign-up-here = Впервые на Desmos? <1>Зарегистрируйтесь.\nshared-prompt-new-to-desmos-teacher-or-student = Впервые на Desmos? <1>Зарегистрируйтесь!\nshared-prompt-please-consent-to-sign-up-with-apple = Нужно ваше согласие для регистрации с Apple\nshared-prompt-please-consent-to-sign-up-with-google = Нужно ваше согласие для регистрации с Google\nshared-prompt-sign-up-with-apple = Зарегистрироваться через Apple\nshared-prompt-sign-up-with-google = Зарегистрироваться через Google\nshared-title-account-reactivated = Ваш аккаунт восстановлен.\nshared-title-account-settings = Настройки учётной записи\nshared-title-change-email-address = Изменить адрес электронной почты для аккаунта Desmos\nshared-title-change-password-narrow = Пароль\nshared-title-change-password-wide = Смена пароля\nshared-title-consent = Мы уважаем вашу конфиденциальность\nshared-title-delete-account = Вы уверены, что хотите удалить учетную запись?\nshared-title-email-settings = Адрес эл. почты\nshared-title-language-menu = Язык\nshared-title-login = Войти\nshared-title-profile-information-narrow = Профиль\nshared-title-profile-information-wide = Настройки профиля\nshared-title-recover-password = Восстановление пароля\nshared-title-signup = Зарегистрироваться\n\n# homepage.ftl\n### Strings for desmos.com homepage\n\n\n### 5317 English words, 533 English strings\n\nfrontpage-button-account-menu = Меню аккаунта\nfrontpage-button-art-contest-share-feedback = Поделиться отзывом\nfrontpage-button-art-contest-submissions-grid-graph-delete = Удалить заявку\nfrontpage-button-art-contest-submit-for-someone-else = Подать заявку\nfrontpage-button-art-contest-view-finalist-certificate = Сертификат победителя\nfrontpage-button-art-contest-view-participant-certificate = Посмотреть сертификат\nfrontpage-button-art-contest-view-your-certificate = Посмотреть свой сертификат\nfrontpage-button-braille-print-examples = Распечатать эти примеры\nfrontpage-button-performance-test = Тест\nfrontpage-error-something-went-wrong-diagnostics = Извините, что-то пошло не так при отправке диагностического отчета. Повторите попытку или скопируйте нижеследующий отчет и отправьте его нам по адресу feedback@desmos.com.\nfrontpage-error-something-went-wrong-try-again-later = Извините! Что-то пошло не так. Пожалуйста, повторите попытку позже.\nfrontpage-heading-2023-art-contest-certificate = Международный художественный конкурс 2023\nfrontpage-heading-2023-global-math-art-contest = Международный конкурс математической графики 2023\nfrontpage-heading-about-desmos-classroom = Про Desmos Classroom\nfrontpage-heading-about-desmos-studio = Про Desmos Studio\nfrontpage-heading-art-contest-announcement-else = Благодарим вас, { $name }!\nfrontpage-heading-art-contest-announcement-finalist = Поздравляем вас, { $name }!\nfrontpage-heading-art-contest-announcement-participation = Благодарим вас, { $name }, за участие!\nfrontpage-heading-art-contest-learn-math-art-section = Подробнее о математической графике\nfrontpage-heading-art-contest-resources-section = Ресурсы\nfrontpage-heading-art-contest-submit-section = Спасибо, что вы помогли этим учащимся принять участие\nfrontpage-heading-art-contest-submit-section-singular = Благодарим вас за помощь участнику { $name }\nfrontpage-heading-art-contest-test-performance-section = Проверьте производительность вашего графика\nfrontpage-heading-braille-examples = Примеры Брайля\nfrontpage-heading-braille-table-type-this = Набери это\nfrontpage-heading-braille-table-typeset = Набери\nfrontpage-heading-braille-view-examples-in = Посмотреть примеры в:\nfrontpage-heading-diagnostics = Диагностика\nfrontpage-heading-diagnostics-3d-graphing-calculator = Графический калькулятор 3D\nfrontpage-heading-diagnostics-browser-information = Информация о браузере\nfrontpage-heading-diagnostics-graphing-calculator = Графический калькулятор\nfrontpage-heading-diagnostics-hardware-acceleration = Аппаратное ускорение\nfrontpage-heading-diagnostics-internet-connection = Интернет-соединение\nfrontpage-heading-diagnostics-webgl2-support = Поддержка WebGL2\nfrontpage-heading-equity-as-we-do-this-work = Когда мы делаем эту работу, мы спрашиваем себя...\nfrontpage-heading-equity-disrupt-systemic-inequities = III. Мы хотим разрушить системное неравенство и условия маргинализации в образовании.\nfrontpage-heading-equity-more-equitable-workplace = II. Мы хотим постоянно работать над созданием равноправного рабочего окружения.\nfrontpage-heading-equity-next-steps = Следующие шаги и приглашение\nfrontpage-heading-equity-principles = Принципы справедливости\nfrontpage-heading-equity-serve-all-students-and-teachers = I. Мы хотим, чтобы наши продукты служили всем учащимся и преподавателям.\nfrontpage-heading-footer-company = Компания\nfrontpage-heading-footer-legal = Юридическая информация\nfrontpage-heading-footer-products = Продукты\nfrontpage-heading-footer-resources = Ресурсы\nfrontpage-heading-guiding-build-for-real-classrooms = Создавать для реальных классов\nfrontpage-heading-guiding-champion-teachers = Поддерживать учителя\nfrontpage-heading-guiding-design-for-delight = Создавать для радости\nfrontpage-heading-guiding-principles = Руководящие принципы\nfrontpage-heading-guiding-works-every-time = Работает всегда\nfrontpage-heading-header-maintenance-mode = Desmos в настоящее время проводит плановое обслуживание, и аккаунты временно недоступны.\nfrontpage-heading-keyboard-shortcuts-3d = Горячие клавиши 3D-калькулятора (бета-версия)\nfrontpage-heading-keyboard-shortcuts-four-function = Сочетания клавиш арифметического калькулятора\nfrontpage-heading-keyboard-shortcuts-geometry = Сочетания клавиш для геометрии\nfrontpage-heading-keyboard-shortcuts-graphing = Сочетания клавиш графического калькулятора\nfrontpage-heading-keyboard-shortcuts-scientific = Сочетания клавиш научного калькулятора\nfrontpage-heading-main-3d-explore-gallery = Примеры 3D-графиков\nfrontpage-heading-main-3d-intro = Представляем Desmos 3D (бета-версия)\nfrontpage-heading-main-create-free-account = Создать бесплатный аккаунт\nfrontpage-heading-main-create-free-account-text = Сохраняйте и делитесь своими графиками с помощью бесплатной учетной записи.\nfrontpage-heading-main-global-art-contest = Международный художественный конкурс\nfrontpage-heading-main-global-art-contest-finalists-2020 = Международный конкурс математической графики 2020\nfrontpage-heading-main-global-art-contest-finalists-2021 = Международный конкурс математической графики 2021\nfrontpage-heading-main-global-art-contest-gallery-2022 = Международный конкурс математической графики 2022\nfrontpage-heading-main-global-art-contest-gallery-2023 = Международный конкурс математической графики 2023\nfrontpage-heading-main-is-on-test = Используется ли Desmos на ваших экзаменах?\nfrontpage-heading-main-is-on-test-text = Наши калькуляторы используются в оценивании в большинстве штатов и на государственном уровне.\nfrontpage-heading-main-new-geometry-here = Изучайте геометрию.\nfrontpage-heading-main-new-geometry-here-text = Попробуйте наш новый геометрический инструментарий, теперь встроенный в мощный графический калькулятор.\nfrontpage-heading-main-our-partners = Партнерство с Desmos Studio\nfrontpage-heading-main-partner-subheader = Используйте наш API, чтобы встроить возможности инструментов Desmos непосредственно в свои продукты.\nfrontpage-heading-main-student-homepage = Домашняя страница ученика\nfrontpage-heading-main-students-content-narrow = Присоединяйтесь к одноклассникам!\nfrontpage-heading-main-students-content-wide = Введите код класса и присоединяйтесь к своим одноклассникам!\nfrontpage-heading-main-students-heading = Ученики\nfrontpage-heading-main-teacher-homepage = Домашняя страница учителя\nfrontpage-heading-main-teachers-content = Подберите творческие интерактивные уроки для своего класса или создайте свои собственные.\nfrontpage-heading-main-teachers-content-truncated = Найдите или создайте интерактивные уроки.\nfrontpage-heading-main-teachers-heading = Учителя\nfrontpage-heading-main-teachers-intro = Учителя: исследуйте бесплатные цифровые уроки Desmos Classroom и инструменты для построения уроков\nfrontpage-heading-main-using-desmos-classroom = Ищите Desmos Classroom?\nfrontpage-heading-main-using-desmos-classroom-link = Desmos Classroom — бесплатная платформа для преподавания и обучения, <1>теперь в составе Amplify.\nfrontpage-heading-partners-accessibility-out-of-box = Специальные возможности прямо \"из коробки\"\nfrontpage-heading-partners-anywhere-any-device = Везде, на любом устройстве\nfrontpage-heading-partners-constant-improvements = Постоянное совершенствование\nfrontpage-heading-partners-global-scale = Глобальный охват\nfrontpage-heading-partners-programs-powered-by-desmos = Некоторые из наших замечательных партнеров\nfrontpage-heading-partners-reliability = Надежность\nfrontpage-heading-partners-want-to-embed = Хотите стать партнёром Desmos Studio PBC?\nfrontpage-heading-shared-contact-us = Связаться с нами\nfrontpage-heading-team-job-title-ceo = Генеральный директор\nfrontpage-heading-team-job-title-chief-of-staff = Начальник отдела кадров\nfrontpage-heading-team-job-title-contracts = Контракты\nfrontpage-heading-team-job-title-coo = Директор по производству\nfrontpage-heading-team-job-title-design = Дизайн\nfrontpage-heading-team-job-title-engineering = Проектирование\nfrontpage-heading-team-job-title-operations = Операции\nfrontpage-heading-team-job-title-partnerships = Сотрудничество\nfrontpage-heading-team-job-title-product = Производство\nfrontpage-heading-team-job-title-support = Поддержка\nfrontpage-heading-team-meet-the-team = Познакомьтесь с командой Desmos Studio\nfrontpage-heading-team-partnerships-programs-and-operations = Партнерство, программы и управление\nfrontpage-heading-team-product-and-engineering = Разработка и проектирование\nfrontpage-heading-team-teaching = Преподавание\nfrontpage-heading-testmode-about-desmos-test-mode = Про Desmos Test Mode\nfrontpage-heading-testmode-about-tab = Справка\nfrontpage-heading-testmode-android-tab = Андроид (Бета)\nfrontpage-heading-testmode-chromebooks-tab = Хромбуки\nfrontpage-heading-testmode-feedback-tab = Обратная связь\nfrontpage-heading-testmode-ipads-and-iphones-tab = Айпады и Айфоны\nfrontpage-heading-testmode-practice-tab = Тренинг\nfrontpage-heading-title-3d-art = Ознакомьтесь с нашей галереей 3D-графиков\nfrontpage-heading-title-404 = Ошибка 404 - Страница Не Найдена\nfrontpage-heading-title-about = О нас\nfrontpage-heading-title-art-contest = Финалисты конкурса математической графики\nfrontpage-heading-title-art-contest-resources = Информация о Конкурсе\nfrontpage-heading-title-diagnostics = Диагностика\nfrontpage-heading-title-equity = Принципы справедливости\nfrontpage-heading-title-frontpage = Давайте учиться вместе.\nfrontpage-heading-title-guiding-principles = Руководящие принципы\nfrontpage-heading-title-partners = Партнеры\nfrontpage-heading-title-team = Команда\nfrontpage-label-art-contest-finalists-2020 = Финалисты 2020\nfrontpage-label-art-contest-finalists-2021 = Финалисты 2021\nfrontpage-label-art-contest-from-artist = От художника:\nfrontpage-label-art-contest-from-judges = От жюри:\nfrontpage-label-art-contest-learn-whats-new = Узнайте о новинках Международного конкурса математической графики в 2023 году\nfrontpage-label-art-contest-photo-vernon-1st = 1-е место\nfrontpage-label-art-contest-photo-vernon-2nd = 2-е место\nfrontpage-label-art-contest-photo-vernon-3rd = 3-е место\nfrontpage-label-art-contest-trailblazer = Пионер\nfrontpage-label-art-contest-visit-page = Открыть галерею\nfrontpage-label-assessment-search-placeholder = Попробуйте «Калифорния» или «STAAR»\nfrontpage-label-diagnostics-2d-failure = Некоторые из 2D-тестов потерпели неудачу.\nfrontpage-label-diagnostics-2d-success = Все 2D-тесты пройдены.\nfrontpage-label-diagnostics-3d-failure = Некоторые из 3D-тестов потерпели неудачу.\nfrontpage-label-diagnostics-3d-success = Все 3D-тесты пройдены.\nfrontpage-label-diagnostics-hardware-acceleration-failure = Аппаратное ускорение не обнаружено.\nfrontpage-label-diagnostics-hardware-acceleration-success = Аппаратное ускорение обнаружено.\nfrontpage-label-diagnostics-ping-time = Время пинга: { $pingTime }мс\nfrontpage-label-diagnostics-webgl-failed = Не удалось создать WebGL2-контекст.\nfrontpage-label-diagnostics-webgl-passed = WebGL2-контекст успешно создан.\nfrontpage-label-partners-company-website = Веб-сайт компании (необязательно)\nfrontpage-label-partners-how-work-with-us = Как вы хотите работать с нами?\nfrontpage-label-partners-send = Отправить\nfrontpage-label-partners-sending = Отправляется...\nfrontpage-label-partners-your-email = Ваш адрес эл. почты\nfrontpage-label-partners-your-name = Ваше имя\nfrontpage-link-art-contest-age-range-13-14 = 13-14 лет\nfrontpage-link-art-contest-age-range-15-16 = 15-16 лет\nfrontpage-link-art-contest-age-range-17-18 = 17-18 лет\nfrontpage-link-art-contest-age-range-19 = Возрастная категория 19+\nfrontpage-link-footer-classroom-activities = Классные активности\nfrontpage-link-footer-contact-tiktok = TikTok\nfrontpage-link-footer-partnerships = Сотрудничество\nfrontpage-link-header-classroom = Класс\nfrontpage-link-header-math-tools = Инструменты\nfrontpage-link-header-resources = Ресурсы\nfrontpage-link-main-explore-graph = Открыть график\nfrontpage-link-main-find-calculator = Найдите свой тест\nfrontpage-link-main-for-students = Ученикам\nfrontpage-link-main-for-teachers = Учителям\nfrontpage-link-main-geometry-tool = Открыть инструменты геометрии\nfrontpage-link-main-jump-into-3d = Погрузитесь в новое измерение математики.\nfrontpage-link-main-sign-up = Зарегистрироваться\nfrontpage-link-main-view-banner-graph = Открыть заглавный график\nfrontpage-link-main-view-the-winners = Посмотреть все избранные работы!\nfrontpage-link-read-equity-principles = Ознакомьтесь с Принципами справедливости Desmos\nfrontpage-link-read-guiding-principles = Ознакомьтесь с Руководящими принципами\nfrontpage-link-shared-3d-calculator = 3D-калькулятор\nfrontpage-link-shared-3d-calculator-short = 3D-калькулятор\nfrontpage-link-shared-about-us = О нас\nfrontpage-link-shared-account-settings = Настройки учётной записи\nfrontpage-link-shared-api-documentation = Документация по API\nfrontpage-link-shared-assessments = Оценивание\nfrontpage-link-shared-blog = Des-блог\nfrontpage-link-shared-careers = Карьера\nfrontpage-link-shared-contact-us = Связаться с нами\nfrontpage-link-shared-curriculum = Математика Desmos 6–A1\nfrontpage-link-shared-equity-principles = Принципы справедливости\nfrontpage-link-shared-four-function-calculator = Арифметический калькулятор\nfrontpage-link-shared-geometry-short = Геометрия\nfrontpage-link-shared-geometry-tool = Геометрические инструменты\nfrontpage-link-shared-graphing-calculator = Графический калькулятор\nfrontpage-link-shared-graphing-calculator-short = Графический калькулятор\nfrontpage-link-shared-guiding-principles = Руководящие принципы\nfrontpage-link-shared-help-center = Центр Помощи\nfrontpage-link-shared-log-in = Войти\nfrontpage-link-shared-log-out = Выйти\nfrontpage-link-shared-matrix-calculator = Матричный калькулятор\nfrontpage-link-shared-new-geometry-tool = Геометрия (бета-версия)\nfrontpage-link-shared-partnerships = Сотрудничество\nfrontpage-link-shared-scientific-calculator = Научный калькулятор\nfrontpage-link-shared-store = Магазин Десмос\nfrontpage-link-shared-team = Команда\nfrontpage-link-shared-test-practice = Подготовка к тесту\nfrontpage-link-shortcuts-3d-calculator = 3D (бета-версия)\nfrontpage-link-shortcuts-four-function-calculator = Арифметический\nfrontpage-link-shortcuts-geometry-tool = Геометрический\nfrontpage-link-shortcuts-graphing-calculator = Графический\nfrontpage-link-shortcuts-scientific-calculator = Научный\nfrontpage-link-skip-link = Перейти к главному содержанию\nfrontpage-link-testmode-learn-more-screen-pinning-mode = Подробнее об использовании закрепления экрана на устройстве Андроид.\nfrontpage-narration-art-contest-image-of-graph = Изображение { $graphTitle }\nfrontpage-narration-art-contest-image-of-graph-by = Изображение работы автора { $name }\nfrontpage-narration-main-graph-hero-image = График, на котором изображен набор прямых, касательных к плавной S-образной кривой. Касательные прямые пересекаются, образуя сложную сетку.\nfrontpage-narration-main-partner-logo = Логотип { $name }\nfrontpage-narration-shared-desmos-logo = Логотип Desmos\nfrontpage-narration-team-collapse-biography = Свернуть биографию\nfrontpage-narration-team-picture-of-name = На фото: { $name }\nfrontpage-narration-team-showing-name = Показано { $name }\nfrontpage-narration-testmode-im-done-timer-ios = Кнопка «Готово» и таймер на завершающем экране iOS\nfrontpage-narration-testmode-ipad-opening-screen = Кнопка «Начать тест» на начальном экране Айпада\nfrontpage-narration-testmode-opening-screen = Стартовый экран приложения «Test Mode»\nfrontpage-text-2023-art-contest-finalist-flag = Флаг художественного конкурса 2023 года\nfrontpage-text-2023-art-contest-finalist-trophy = Приз победителя художественного Конкурса 2023 года\nfrontpage-text-2023-global-math-art-contest-gallery = В галерее этого года представлены 100 невероятных творений из более чем 20 стран. Посмотрите эти работы при помощи <1>3D-калькулятора, <2>Геометрии (<3/>) и <4>Звука (<5/>). Нажмите на любой график, чтобы узнать о нем подробнее!\nfrontpage-text-about-classroom = Desmos Classroom теперь является частью Amplify Education! <1>Подробнее об этом.\nfrontpage-text-about-classroom-curriculum = В 2020 году мы превратили этот опыт в <1>основную программу по математике для средней школы, сочетающую в себе основанную на задачах учебную программу от Illustrative Mathematics, масштабируемые модели поддержки от Amplify, а также интуитивные технологии и гуманизирующую педагогику Desmos Classroom.\nfrontpage-text-about-classroom-join-us = Хотите узнать больше? Ознакомьтесь с <1>курсом математики Desmos для 6-10 классов, присоединяйтесь к <2>сообществу Desmos Educators на Facebook или продолжите свою <3>карьеру в Desmos Classroom на Amplify!\nfrontpage-text-about-classroom-pedagogy = Desmos Classroom приглашает, приветствует и развивает таланты учащихся с помощью <1>бесплатных цифровых активностей для классов, тщательно разработанных учителями и для учителей. Эти активности основаны на нашей <2>педагогической философии и помогают учащимся глубже изучать основы, сотрудничать со своими сверстниками в решении задач и творчески применять математические знания.\nfrontpage-text-about-desmos-studio-pbc = Desmos Studio — это открытая и доступная система, цель которой — помочь каждому изучать математику, любить математику и развиваться с математикой. Мы верим, что в каждом человеке внутри есть математик и что некоторым людям просто не хватает возможностей, поддержки или инструментов, чтобы раскрыть его в себе. Поэтому мы уделяем приоритетное внимание принципам <1>справедливости и <2>доступности на каждом уровне нашей работы.\nfrontpage-text-about-math-tools = Нашим бесплатным набором математических инструментов, в том числе графическим калькулятором, ежегодно пользуются более 75 миллионов человек по всему миру. Эти инструменты помогают людям математически выражать свои идеи, динамически связывать различные представления, делать предположения, а затем и разрабатывать совершенно новые идеи. Они также позволяют создавать <1>довольно эффектные графические работы.\nfrontpage-text-about-partners = Мы сотрудничаем с создателями самых популярных в мире учебных программ и учебного программного обеспечения, а также <1>большинства выпускных экзаменов на уровне штатов США и цифровых вступительных экзаменов в колледжи.\nfrontpage-text-about-studio-join-us = Хотите узнать больше? <1>Поиграйте с калькулятором, свяжитесь с нами через <2> TikTok или приходите <3>работать на Desmos Studio!\nfrontpage-text-art-contest-3rd-annual = 3-й ежегодный Международный конкурс математической графики\nfrontpage-text-art-contest-announcement-finalist = Вы избраны победителем конкурса этого года! Пожалуйста, проверьте свою электронную почту для дополнительной информации о ваших призах. Если вы не получили от нас письмо, сообщите нам об этом по адресу contest@desmos.com.\nfrontpage-text-art-contest-announcement-participation = Мы поражены блестящей креативностью участников этого года и очень благодарны, что вы стали частью этого события.\nfrontpage-text-art-contest-certificate-of-participation = Сертификат участника\nfrontpage-text-art-contest-choose-a-year = Посмотреть прошлые годы\nfrontpage-text-art-contest-couldnt-find-certificate = Возникли проблемы с поиском заявки по данному адресу электронной почты ({ $email }). Попробуйте перезагрузить страницу или войти под другим аккаунтом.\nfrontpage-text-art-contest-date-of-issue = Дата выдачи\nfrontpage-text-art-contest-date-of-issue-2023 = 1/2/2024\nfrontpage-text-art-contest-featured-graph = Примечательный график, { $age }\nfrontpage-text-art-contest-finalist-certificate = Мы получили тысячи работ в каждой возрастной категории, и, хотя выбрать 25 лучших из них было практически невозможно, ваша работа отличалась креативностью, артистизмом и оригинальностью.\nfrontpage-text-art-contest-finalist-title = “{ $graphTitle }” Автор: { $name }\nfrontpage-text-art-contest-globe-alt-text = Изображение Земли с красной лентой вокруг нее.\nfrontpage-text-art-contest-learn-math-art-section = Впервые слышите о построении графиков с помощью Desmos? Или же знаете об этом, но хотите узнать больше? Просмотрите для начала некоторые из этих ссылок (большинство материалов представлено на английском языке).<1><2>Математическая графика <3>Руководство для учителей <4>Создание звука с помощью функции <5>«Тон»<6><7>Видео и график как создавать цвета<8><9>Видео и график по преобразованиям<10><11>Видео и график про затенение с помощью неравенств <12>Другие возможности математической графики, см: <13>Центр помощи\nfrontpage-text-art-contest-name-and-country = от { $name }, { $country }\nfrontpage-text-art-contest-page-description-2020 = На первый Международный конкурс математической графики Desmos в 2020 году было представлено более 4000 работ из более чем 100 стран мира. Вот победители и финалисты, выбранные из бесчисленных примеров невероятных усилий, артистизма, изобретательности и творчества.\nfrontpage-text-art-contest-page-description-2021 = Более 10 000 школьников со всего мира приняли участие во втором ежегодном Международном конкурсе математической графики! Вот победители и финалисты, выбранные из бесчисленных примеров невероятных усилий, артистизма, изобретательности и творчества.\nfrontpage-text-art-contest-page-description-2022 = При проведении нашего третьего ежегодного художественного конкурса мы решили, что слишком сложно выбирать победителей из тысяч потрясающих работ, представленных в каждой возрастной категории. Поэтому мы выбрали по 20 в каждой! Просматривая эти работы ниже, вы можете нажать на любую и узнать о ней подробнее.\nfrontpage-text-art-contest-participant-certificate-2023 = Сертификат об участии вручен участнику: { $name }, { $country }\nfrontpage-text-art-contest-performance-description-green = Отлично! Обратите внимание, что наши судьи также будут следить за плавностью анимации после начальной загрузки.\nfrontpage-text-art-contest-performance-description-red = Мы хотим отмечать только такие графики, которые будут хорошо работать на любом устройстве, поэтому рекомендуем посмотреть, есть ли способы ускорить этот график, чтобы повысить вероятность его успеха.\nfrontpage-text-art-contest-performance-description-yellow = Медленное выполнение не является безоговорочным препятствием, но, возможно, стоит попытаться упростить или ускорить ваш график.\nfrontpage-text-art-contest-performance-gauge-placeholder = Вставьте или введите ссылку...\nfrontpage-text-art-contest-performance-header-green = Этот график загружается быстро\nfrontpage-text-art-contest-performance-header-red = Этот график загружается довольно медленно\nfrontpage-text-art-contest-performance-header-yellow = Этому графику требуется некоторое время для загрузки\nfrontpage-text-art-contest-please-log-in-for-certificate = Пожалуйста залогиньтесь, чтобы увидеть свой сертификат участника.\nfrontpage-text-art-contest-resources = Ресурсы и информация о Международном конкурсе математической графики.\nfrontpage-text-art-contest-test-performance-section = Хотите понять, насколько быстр ваш график? Вставьте ссылку на него в поле ниже.\nfrontpage-text-art-contest-tile = Посетите галерею Конкурса графики 2023, где представлены 100 невероятных работ со всего мира.\nfrontpage-text-art-contest-winner-certificate-2023 = «{ $title }». Автор: { $name }, { $country }\nfrontpage-text-braille-examples-calculator-information = Пользуетесь дисплеем Брайля? Вы можете читать и писать уравнения в <1>арифметическом <2> (www.desmos.com/fourfunction), <3>научном <4>(www.desmos.com/scientific) и <5>графическом <6>(www.desmos.com/calculator) калькуляторах, используя два наиболее распространенных в Северной Америке математических кода Брайля: Nemeth и Unified English Braille (UEB).\nfrontpage-text-braille-examples-page-screen-reader-information = Ваш Экранный диктор должен быть настроен на ввод и вывод компьютерного Брайля, чтобы минимизировать риск ошибок перевода. Посетите <1>страницу специальных возможностей Центра помощи для получения дополнительной информации об использовании Брайля в калькуляторах Desmos.\nfrontpage-text-collection-of-spheres = Коллекция сфер различных цветов\nfrontpage-text-description-3d-gallery = Исследуйте нашу галерею завораживающих трехмерных графиков, демонстрирующих разные трехмерные математические концепции. Погрузитесь в новое измерение и откройте для себя возможности новейшего математического инструмента Desmos Studio!\nfrontpage-text-description-about = Desmos - компания, работающая в области технологии математического образования, создающая калькуляторы, инструменты для цифровых классов, математические активности и учебные программы для школ по всему миру.\nfrontpage-text-description-art-contest = Ежегодный Конкурс математической графики Desmos предоставляет возможность учащимся в возрасте от 13 до 18 лет продемонстрировать навыки работы с графическим калькулятором, творческие способности и любовь к математике.\nfrontpage-text-description-diagnostics = Эта страница создана, чтобы помочь диагностировать проблемы с инструментами Desmos. Используйте поле внизу для отправки сообщения, включая ссылки на графики или любую другую информацию, которая может быть полезной! Мы свяжемся с вами так быстро, как только сможем.\nfrontpage-text-description-diagnostics-signed-out = Пожалуйста залогиньтесь, чтобы отправить нам диагностический отчет. Вы также можете скопировать отчет внизу и послать его нам по адресу feedback@desmos.com.\nfrontpage-text-description-equity = Наша цель - поддержать развитие более равноправной системы математического образования и технологической индустрии. Мы руководствуемся этими принципами.\nfrontpage-text-description-frontpage = Desmos предлагает лучшие в своем классе калькуляторы, цифровые математические активности и учебную программу, чтобы помочь каждому ученику полюбить математику.\nfrontpage-text-description-guiding-principles = У нас есть пять Руководящих принципов. Эти принципы помогают нам принимать трудные решения и подразумевают ответственность за результаты таких решений. И они же помогают другим людям принимать решения в отношении нас самих, представляя наши ценности людям и организациям, которые решают, будем ли мы хорошими партнерами в их работе.\nfrontpage-text-description-team = Наша команда работает в 7 часовых поясах, 2 полушариях и 18 странах с 1 целью: помочь каждому ученику учить математику, и делать это с любовью.\nfrontpage-text-eli-signature = Подпись Эли\nfrontpage-text-eli-title = Исп. директор, Desmos Studio PBC\nfrontpage-text-equity-as-a-us-based-team = Поскольку наша команда базируется, в основном, в США, наше внимание по применению этих принципов было сфокусировано на проявлениях несправедливости внутри нашей страны. По мере того, как наша команда, сообщество пользователей и партнерские отношения продолжают расширяться на международном уровне, мы стремимся узнать, как мы можем применить эти принципы, чтобы добиться равноправного математического образования во всем мире.\nfrontpage-text-equity-everyone-understands = Наше рабочее окружение должно быть таким, чтобы все понимали, каким образом они вносят свой вклад в миссию компании, и чувствуют себя ценимыми за свой вклад. Если мы не поощряем разнообразие и интеграцию преднамеренно, мы остаемся частью более широкого системного неравенства, приводящего к необходимости этих принципов. Не менее важно то, что иметь разнообразную группу коллег существенно для обслуживания разнообразного внешнего сообщества. Чтобы сделать это, мы должны критически изучить и устранить предвзятость в наших собственных процессах и взаимодействиях.\nfrontpage-text-equity-goal-more-equitable-math-education-system = Наша цель - поддержать развитие более равноправной системы математического образования и технологической индустрии. Мы используем эти принципы как руководство к достижению этой цели.\nfrontpage-text-equity-gratitude = Мы также хотим выразить нашу благодарность многим людям, которые оказали влияние и подтолкнули наши размышление в этой области. В особенности это, среди прочих: <1>Лорен Бауком (Lauren Baucom), <2> Кристель Роша (Christelle Rocha), <3>Аянна Перри (Ayanna Perry) и Рошель Гутьеррес (Rochelle Gutierrez).\nfrontpage-text-equity-how-can-we-measure-impact = Как мы можем измерить влияние нашей работы на сообщества, которым мы стремимся служить?\nfrontpage-text-equity-how-can-we-uphold-values = Как мы можем поддержать наши ценности при выборе партнеров и услуг?\nfrontpage-text-equity-how-might-we-attend-to-safety = Как мы можем заботиться о психической, эмоциональной и физической безопасности наших сотрудников?\nfrontpage-text-equity-how-might-we-continue-to-prioritize-equity = Как мы можем продолжать расставлять приоритеты в стремлении к справедливости, в то время как наша компания меняется со временем?\nfrontpage-text-equity-how-might-we-examine-biases = Как мы можем исследовать и уменьшить наши индивидуальные предубеждения?\nfrontpage-text-equity-how-might-we-share-our-thinking = Как мы можем поделиться нашими текущими соображениями и получить обратную связь?\nfrontpage-text-equity-how-might-we-support-access = Как мы можем поддержать ДОСТУПНОСТЬ для сообществ, которым мы служим?\nfrontpage-text-equity-how-might-we-support-identity = Как мы можем поддержать ИДЕНТИЧНОСТЬ и СИЛУ сообществ, которым мы служим?\nfrontpage-text-equity-how-might-we-sustain-ourselves = Как мы можем поддерживать себя в нашей повседневной работе?\nfrontpage-text-equity-how-might-work-disrupt-white-supremacy = Как наша работа может поколебать неограниченное господство белых и угнетающие результаты доминирующей культуры?\nfrontpage-text-equity-how-will-it-help = Как наша работа может помочь сообществам, которым мы стремимся служить? Как она может навредить этим сообществам?\nfrontpage-text-equity-on-a-mission = Мы нацелены на то, чтобы помочь каждому ученику учить математику, и делать это с удовольствием. Чтобы выполнить нашу миссию, мы должны признать былую и нынешнюю несправедливость в наших сообществах и предпринять конкретные действия, чтобы изменить это.\nfrontpage-text-equity-tag-or-email = Мы хотели бы знать, показались ли вам эти принципы недоработанными, изменили ли они ход ваших мыслей. Если вы хотите ответить публично, используйте тег <1>@desmos. Если вы хотите ответить приватно, пишите на <2>equity@desmos.com.\nfrontpage-text-equity-we-have-a-responsibility = Мы обязаны постоянно изучать, каким образом системное неравенство заложено в образовании, и использовать эти знания для принятия решений. Когда мы учимся и применяем наши знания на практике, мы делимся своей работой с надеждой, что другие будут нас слушать, учиться и подталкивать нас заниматься этим дальше.\nfrontpage-text-equity-we-recognize-creating-adopting = Мы понимаем, что создание и принятие принципов справедливости - это только первый шаг, который помогает нам сориентироваться в дальнейшей работе. Мы также понимаем, что самоидентификация, предыдущий опыт и предубеждения членов нашей команды ограничивают нашу способность как помогать каждому ученику, так и видеть как именно наши системы и структуры выделяют одни группы по сравнению с другими.\nfrontpage-text-equity-what-voices-can-we-amplify = У каких недостаточно представленных голосов мы можем учиться и усиливать их?\nfrontpage-text-equity-which-communities-to-learn-from = У каких сообществ нам следует учиться и служить им?\nfrontpage-text-equity-who-serves-harms = Кому может служить каждый внутренний процесс? Кому этот процесс может навредить?\nfrontpage-text-equity-without-taking-intentional-steps = Без принятия конкретных шагов наша работа не будет хорошо служить всем группам. Поэтому мы должны сосредоточиться на выявлении и удовлетворении потребностей маргинализированных и исключенных сообществ. Это означает учиться у таких учителей и учеников и вместе с ними использовать их потребности для формирования нашей работы и оценки нашего успеха.\nfrontpage-text-footer-copyright-studio = Копирайт { $copyrightSign }{ $year } Desmos Studio, PBC\nfrontpage-text-geometry-indicator = Данное построение выполнено инструментом «Геометрия».\nfrontpage-text-geometry-inline-announcement = Хотите больше геометрии?\nfrontpage-text-geometry-launch-description = Стройте и исследуйте с помощью встроенного графического калькулятора. Сейчас в режиме бета-версии.\nfrontpage-text-geometry-launch-title = Наш геометрический инструмент нового поколения уже готов.\nfrontpage-text-gold-three-dimensional-spiral = Золотая трехмерная спираль\nfrontpage-text-goursats-tangle = Клубок Гурса, фиолетовый\nfrontpage-text-guiding-building-for-real-classrooms = Создание продукта для реальных классов требует умения прислушиваться к учителям и стремления понять их работу в классе — например, какие функции делают обсуждение в классе или группе <1>успешным, или то, как ненадежная технология может разрушить весь урок. Создание продукта для реальных классов также требует от нас понимания различий в том, как школы обеспечены ресурсами. Понимание того, что многие ученики и преподаватели работают с ограниченным количеством устройств и возможностями подключения, побуждает нашу команду уделять первоочередное внимание созданию высокопроизводительных систем с низким сетевым трафиком.\nfrontpage-text-guiding-footnote-danny-martin = <1>1 <2>Дэнни Мартин (Danny Martin), например, умоляет нас рассматривать прекрасные умственные способности чернокожих детей как аксиому; т.е. утверждение, которое самоочевидно верно.\nfrontpage-text-guiding-honor-students-brilliance = Развивать талант учащихся\nfrontpage-text-guiding-once-students-realize = Когда ученики поймут, что мы поощряем их свободу действий и творческий подход, мы надеемся, что они будут находить для себя интересное и приятное в каждом уголке наших продуктов. Поэтому мы постоянно переделываем и обновляем дизайн в лучшую сторону, чтобы реагировать на все творческие способности учащихся, которых мы не ожидали.\nfrontpage-text-guiding-principles-gratitude = Все ошибки в этом документе являются только нашими собственными, но мы особенно благодарны Членам Научного сообщества Desmos<1>Лорен Боко (Lauren Baucom) и <2>Кристель Роша (Christelle Rocha) за их рецензии предыдущих версий этих принципов.\nfrontpage-text-guiding-principles-introduction = У нас есть пять Руководящих принципов. Эти принципы помогают нам принимать трудные решения и подразумевают ответственность за результаты таких решений. И они же помогают другим людям принимать решения в отношении нас самих, представляя наши ценности людям и организациям, которые решают, окажемся ли мы хорошими партнерами в их работе.\nfrontpage-text-guiding-remove-barriers = Мы также пытаемся устранить барьеры, которые могут мешать некоторым учащимся демонстрировать свои способности, сосредотачивая внимание на справедливости наших бизнес-моделей и доступности наших продуктов.\nfrontpage-text-guiding-so-we-champion = Поэтому мы поддерживаем учителя. Начиная с того, что слушаем их и учимся как у учителей и педагогов, так и вместе с ними. Мы спрашиваем себя, как мы могли бы наилучшим образом поддержать учителя на каждом этапе его работы. А также, мы целенаправленно противостоим любым попыткам обесценить или депрофессионализировать преподавание.\nfrontpage-text-guiding-there-are-a-number = Существует целый ряд причин, по которым продукт может «не работать» для пользователя. Он может просто «сломаться», как это часто бывает с техникой. Он может сбить с толку часть пользователей, например, таких, кто менее уверен в использовании компьютера. Возможно, что кто-то использует его не так, как мы ожидали. Какой бы ни была причина, даже продукт, который работает в 99% случаев, прерывает процесс обучения в 1 из 3 классов. В результате мы отдаем приоритет надежности и удобству использования даже в ущерб скорости разработки. Мы стремимся к обратной совместимости и по-прежнему можем открывать графики, сделанные в первую неделю после запуска нашего калькулятора. Мы также стремимся разрабатывать программное обеспечение и уроки, которые подходят для самых разных входных данных. Мы считаем, что наша работа не в том, чтобы навязывать строгий синтаксис, а в том, чтобы как можно лучше интерпретировать все, что делает пользователь.\nfrontpage-text-guiding-to-honor-students = Чтобы отмечать способности учащихся, мы должны сначала создать для них возможность проявить свои способности. Мы разрабатываем инструменты и уроки, которые побуждают к творчеству и приветствуют разнообразие подходов. Мы создаем функционал, помогающий учителям демонстрировать, как думают учащиеся, например, с помощью наших <1>инструментов Панели учителя, которые поддерживают <2>5 разных методик. Мы стремимся предоставить содержательную <3>ориентированную на задачу обратную связь о том, как ученики рассуждают.\nfrontpage-text-guiding-to-support-real-students = Чтобы поддерживать реальных учеников и реальных учителей, нам нужно проектировать продукт с учётом их реальных и несопоставимых сред обучения.\nfrontpage-text-guiding-we-are-not-uncritical = Мы не считаем свою работу пассивной поддержкой «вне критики». Мы признаем, что учитель может как помочь, так и навредить. Наоборот, мы считаем себя партнерами, сторонниками и защитниками в важной работе по созданию учебного процесса, приносящего радость и развивающего таланты каждого ученика. Совершенство в преподавании требует многих лет обучения и практики, и поддержка стремления к такому совершенству является одним из самых мощных рычагов для достижения наших целей.\nfrontpage-text-guiding-we-believe-that-students = Мы считаем, что все учащиеся - это творческие, знающие и блестящие личности. Мы признаем, что к учащимся на уроках математики не всегда относятся как к таковым, и что к учащимся определенного пола, расы или происхождения может наблюдаться несоразмерное отношение.\nfrontpage-text-guiding-we-cant-enact = Мы не можем реализовать ни один из наших принципов без помощи учителей. Мы считаем, что учителя являются и должны оставаться неотъемлемой частью учебного процесса, и мы знаем, что они являются огромной силой в процессе обучения своих учеников.\nfrontpage-text-guiding-we-know-that-software = Мы знаем, что программное обеспечение неизбежно ломается или учащиеся могут сделать то, чего мы не ожидали. Мы верим, что надежность достигается не за счет того, что мы избежали всех возможных проблем, а за счет быстрой, внимательной и <1>безукоризненной реакции, когда это вдруг происходит.\nfrontpage-text-guiding-we-prioritize-delight = Мы ставим во главу угла радость от использования наших продуктов, даже ценой увеличения времени на разработку. Мы скорее выпустим прекрасный продукт или урок завтра, чем просто нормальный сегодня. Мы стремимся доставить радость не только от использования, но и от процесса обучения. Например, учащимся нравится «<1>оказаться причиной» чего-то, поэтому мы стараемся создавать инструменты и уроки, отвечающие такому их интересу. Мы радуемся «сюрпризам» учеников и пытаемся, в свою очередь, удивить их, оказываясь рядом, когда они теряются.\nfrontpage-text-guiding-we-reject-the-idea = Мы отвергаем идею о том, что такие учащиеся являются более либо менее способными, и признаем, что мы должны вместе учиться у маргинализированных и изолированных сообществ<1> 1 , чтобы уметь противостоять их нарративам.\nfrontpage-text-guiding-we-want-to-help = Мы хотим помочь всем учащимся изучать математику, но мы не видим большого смысла в изучении математики, если им не удаётся найти и <1>полюбить что-то в самой математике.\nfrontpage-text-header-app-links = Скачайте наши приложения из <1>Google Play Store или <2>iOS App Store.\nfrontpage-text-header-terms-update = Мы обновили наши Условия использования.\nfrontpage-text-header-terms-update-link = Ознакомиться с изменениями.\nfrontpage-text-main-on-a-mission = В Desmos Studio мы хотим помочь каждому изучать математику, любить ее и расти вместе с математикой.\nfrontpage-text-main-partners-accessibility = Desmos Studio PBC стремится создавать доступные всем продукты. Ознакомьтесь с нашим <1>отчетом о соответствии требованиям по обеспечению специальных возможностей WCAG 2.2 или узнайте больше о наших специальных возможностях на сайте <2>www.desmos.com/accessibility.\nfrontpage-text-main-partners-privacy = Наш API не собирает персональную идентификационную информацию (PII) и не требует обратной передачи данных. Когда вы используете самостоятельный хостинг, мы не получаем никаких данных из вашего приложения.\nfrontpage-text-partners-desmos-opening-paragraph = Сотрудничайте с нами, чтобы внедрить возможности инструментов Desmos прямо в свою платформу, веб-сайт или приложение. Инструменты Desmos (графический, научный, арифметический, матричный, геометрический калькуляторы) доступны партнерам через API Desmos.\nfrontpage-text-partners-desmos-runs-on-modern-browser = Desmos работает в любом современном браузере без каких-либо загрузок или установок. Мы также легко работаем на Айфонах, Айпадах, телефонах Android и сенсорных устройствах Windows. Хромбук подключенный к Умной доске? Нет проблем! Мы видели практически все комбинации, которые могут встретиться в классной комнате, и мы уверены, что наше программное обеспечение работает на любом современном браузере практически в любой конфигурации.\nfrontpage-text-partners-desmos-used-by-millions = Инструменты Desmos используются миллионами людей по всему миру, а их интерфейсы переведены на <1>множество языков.\nfrontpage-text-partners-desmos-used-by-millions = Наши инструменты используются десятками миллионов людей по всему миру (практически на всех возможных устройствах и браузерах) и переведены на <1>18 языков.\nfrontpage-text-partners-email-sent = Письмо отправлено! Мы скоро свяжемся с вами.\nfrontpage-text-partners-uptime = Благодаря высокому уровню безотказной работы за последние 3 года (более чем 99,99%) инструменты Desmos обеспечивают надежность, необходимую вашему приложению или веб-сайту. Для приложений с высокими требованиями к безопасности мы предлагаем самостоятельный хостинг для обеспечения еще большей надежности.\nfrontpage-text-performance-baseline-timeout = Базовый тайм-аут...\nfrontpage-text-performance-graph-timeout = Тайм-аут графика...\nfrontpage-text-performance-loading = Загрузка...\nfrontpage-text-performance-speedometer = Тест производительности\nfrontpage-text-performance-testing = Тестирование...\nfrontpage-text-purple-octahedron = Фиолетовый октаэдр с золотыми рёбрами и вершинами\nfrontpage-text-sound-indicator = У данного графика имеется звук.\nfrontpage-text-team-about-us = Наша команда работает в 5 часовых поясах и 12 штатах с 1 целью: помочь каждому ученику учить математику, и делать это с любовью. Хотите присоединиться? <1> У нас много открытых вакансий! \nfrontpage-text-testmod-administer-test = <1>Для организации защищённого тестирования:<2><3>Попросите учащихся закрепить приложение.<4>Скажите учащимся, чтобы они не открепляли приложение.<5>В конце теста убедитесь, что экран был закреплен во время всего теста, проверив часы в приложении.\nfrontpage-text-testmod-feedback = Мы постоянно работаем над совершенствованием приложений Test Mode и мы будем рады получить ваш отзыв о том, как ещё мы можем улучшить впечатление о них ваших учеников и коллег. Пожалуйста, обращайтесь к нам по адресу <1>feedback@desmos.com с любыми вопросами или комментариями!\nfrontpage-text-testmode-android = Наше <1>приложение для Android (в настоящее время находится в стадии бета-тестирования) позволяет практиковаться в автономном режиме.\nfrontpage-text-testmode-app-self-lock-mode-colors = В режиме самоблокировки приложения верхняя панель калькулятора изменит цвет в соответствии с используемым калькулятором: зеленый для графического, фиолетовый для научного, синий для арифметического калькулятора. Также, рядом с логотипом Desmos появится значок.\nfrontpage-text-testmode-chromebooks = Наше приложение для Chrome позволяет практиковаться в автономном режиме. Вы можете скачать это приложение, посетив сайт <1>bit.ly/desmos-test-mode-chrome-app на своём устройстве. (Обратите внимание, что это приложение поддерживается только на Хромбуках. Оно не будет работать на компьютерах Mac или Windows с установленным Chrome.)\nfrontpage-text-testmode-enable-guided-access = <1>Чтобы включить управляемый доступ:<2><3>Перейдите в «Настройки > Общие > Специальные возможности > Управляемый доступ».<4>Выберите код доступа, который необходимо ввести.<5>Запустите приложение «Test Mode»<6>Трижды нажмите боковую кнопку или кнопку Home.<7>Это приведет к блокировке устройства в этом приложении и не позволит ученику выйти из него без кода.\nfrontpage-text-testmode-enable-screen-pinning = <1>Чтобы включить закрепление экрана:<2><3> Отключите Wi-Fi на телефоне. <4>Включите авиарежим на телефоне. <5>Появится кнопка «Начать тест». Нажмите на нее. \nfrontpage-text-testmode-exit-guided-access = <1>Для выхода из режима Управляемого доступа:<2><3>Трижды нажмите боковую или кнопку Home.<4>Введите код доступа, который вы выбрали.\nfrontpage-text-testmode-four-function-calculator-app-self-lock-mode-caption = Арифметический калькулятор в режиме самоблокировки приложения с синей верхней панелью.\nfrontpage-text-testmode-four-function-calculator-blue-top-bar = У защищённого арифметического калькулятора верхняя панель синего цвета.\nfrontpage-text-testmode-four-function-calculator-caption = Арифметический калькулятор в режиме киоска с синей верхней панелью.\nfrontpage-text-testmode-graphing-calculator-app-self-lock-mode-caption = Графический калькулятор в режиме самоблокировки приложения с зеленой верхней панелью.\nfrontpage-text-testmode-graphing-calculator-kiosk-mode-caption = Графический калькулятор в режиме киоска с зеленой верхней панелью.\nfrontpage-text-testmode-guided-access = Для дополнительной защиты вы можете заблокировать ученика в приложении, используя <1>Управляемый доступ.\nfrontpage-text-testmode-ipads-and-iphones = Наше <1>приложение для Айпада и Айфона позволяет практиковаться в автономном режиме. Приложение также поддерживает дополнительные уровни защиты.\nfrontpage-text-testmode-kiosk-mode = Режим «киоска» обеспечивает дополнительный уровень защиты, предотвращая использование других приложений, пока открыт калькулятор. Для учащихся будет зафиксирована та конфигурации калькулятора, которую они выбрали перед нажатием «Начать тест». Прежде чем войти в систему, нажмите кнопку «Приложения» на нижней панели и выберите Desmos Test Mode. Чтобы выйти из режима «киоска», выключите Хромбук.\nfrontpage-text-testmode-kiosk-mode-colors = В режиме киоска верхняя панель калькулятора меняет цвет в соответствии с используемым калькулятором: зеленый для графического, фиолетовый для научного, синий для арифметического калькулятора. Также появляется значок рядом с логотипом Desmos.\nfrontpage-text-testmode-levels-of-security = На этой странице описаны различные уровни защиты, доступные в наших приложениях, а также инструкции по установке и использованию.\nfrontpage-text-testmode-low-stakes-assessments = Каждое приложение позволяет вам организовывать своё промежуточное очное оценивание с функциями защиты, которые помогают обеспечить соблюдение правил вашей школы или класса.\nfrontpage-text-testmode-partners = Desmos сотрудничает с поставщиками тестов высокого уровня в <1>более чем 35 штатах США, а также на нескольких национальных и международных экзаменах, обеспечивая доступ к нашим калькуляторам во время проведения тестирования.\nfrontpage-text-testmode-practice = Учащиеся могут попрактиковаться в использовании калькуляторов на нашей <1>странице Тренинга . Мы также предоставляем бесплатные приложения для <2>Хромбука, <3>Айпада и Айфона с поддержкой тренинга.\nfrontpage-text-testmode-practice-apps-match-test-day = Наши тренировочные приложения соответствуют конфигурации, с которой учащиеся сталкиваются в день экзамена. Учащиеся могут практиковаться для конкретного вида оценивания, выбрав \"Выбрать оценивание\" на стартовом экране.\nfrontpage-text-testmode-scientific-calculator-app-self-lock-mode-caption = Научный калькулятор режиме самоблокировки приложения с фиолетовой верхней панелью.\nfrontpage-text-testmode-scientific-calculator-caption = Научный калькулятор в режиме киоска с фиолетовой верхней панелью.\nfrontpage-text-testmode-scientific-calculator-purple-top-bar = У защищённого научного калькулятора верхняя панель фиолетового цвета.\nfrontpage-text-testmode-screen-pinning-mode = Режим закрепления экрана обеспечивает дополнительный уровень защиты, предотвращая использование других приложений, когда открыт калькулятор.\nfrontpage-text-testmode-secure-graphing-calculator-green-top-bar = У защищённого графического калькулятора верхняя панель зелёного цвета.\nfrontpage-text-testmode-students-can-leave-app-self-lock-mode = Обратите внимание, что учащиеся могут покинуть режим самоблокировки, нажав «Готово» до окончания теста. Вы можете узнать, как долго учащийся находился в приложении, посмотрев журнал по завершении теста.\nfrontpage-text-testmode-students-can-leave-chromebook-app = Обратите внимание, что учащиеся могут покинуть приложение, выключив Хромбук и перезапустив его. Вы можете контролировать правильность использования, посмотрев журнал по завершении теста. Там будет показано, какое время ученик находился постоянно в приложении.\nfrontpage-text-testmode-students-can-opt-into-app-self-lock = Учащиеся могут войти в режим самоблокировки приложения, нажав кнопку «Начать тест». В режиме самоблокировки учащиеся будут оставаться в том калькуляторе, который они выбрали перед нажатием кнопки «Начать тест». Они не смогут переключать калькуляторы или выйти из приложения, пока не выйдут из режима самоблокировки.\nfrontpage-text-testmode-to-help-teachers-and-students-prepare = Чтобы помочь учащимся и преподавателям подготовиться к экзаменам, а также удовлетворить потребности текущего обучения и формирующего оценивания, Desmos разработал набор приложений «Test Mode».\nfrontpage-text-try-it-now = Попробуйте его прямо сейчас!\nfrontpage-text-video-indicator = Этот график анимирован.\npractice-button-sc-info-pdf = { $stateName } PDF\npractice-button-state-info-pdf = Информационный документ PDF по { $stateName }\npractice-heading-is-desmos-on-test = Используется ли Desmos на ваших экзаменах?\npractice-heading-national-international-assessments = Национальное и международное оценивание\npractice-heading-practice = Тренинг\npractice-heading-privacy = Конфиденциальность\npractice-heading-questions-and-feedback = Связаться с нами\npractice-heading-state-assessments = Оценивание на уровне штата\npractice-heading-title-test-mode = Метод проверки\npractice-heading-title-testing = Тестирование\npractice-label-college-board-digital-sat = Оценивание Digital SAT<1>® и Pre-AP<2>®\npractice-label-desmos-on-test = Desmos используется для тестирования!\npractice-label-desmos-on-test-apply-nysed = Подайте заявку в NYSED, чтобы использовать Desmos!\npractice-label-desmos-on-test-partial = Desmos может быть использован для тестирования\npractice-label-desmos-on-tests = Desmos используется для тестирования!\npractice-label-ib-middle-years = Международный бакалавриат - International Baccalaureate<1>® (IB) Программа для среднего школьного возраста - Middle Years Programme (MYP)\npractice-label-nwea-map-growth = NWEA MAP<1>® Growth™\npractice-label-overview-pdf = Обзорный PDF\npractice-label-quebec = Единые Квебекские экзамены\npractice-label-sample = Пример\npractice-label-sample-calculator = Пробный калькулятор\npractice-label-sbac = Smarter Balanced\npractice-label-sc-alternate = Альтернативное оценивание\npractice-label-sc-standard = Стандартное оценивание\npractice-label-state-test = Региональный тест:\npractice-label-state-tests = Региональное тестирование:\npractice-label-states-ak-four-function-grades = 5 и 8 классы (естественные науки)\npractice-label-states-ak-graphing-grades = 9 класс (математика)\npractice-label-states-ak-scientific-grades = 6-9 классы (математика), 10 класс (естественные науки)\npractice-label-states-al-four-function-grades = 6-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-al-scientific-grades = 6-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-ar-graphing-grades = Алгебра, геометрия\npractice-label-states-ar-scientific-grades = 6-8 классы (математика)\npractice-label-states-az-four-function-grades = 5 класс (природоведение)\npractice-label-states-az-scientific-grades = 7-8 классы (математика), 8 класс и старше (естественные науки)\npractice-label-states-ca-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-ca-graphing-grades = 11 класс (математика)\npractice-label-states-ca-scientific-grades = 7-8 классы (математика), 8-12 классы (естественные науки)\npractice-label-states-ct-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-ct-graphing-grades = Старшие классы\npractice-label-states-ct-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-de-four-function-grades = 6 класс\npractice-label-states-de-graphing-grades = Старшие классы\npractice-label-states-de-scientific-grades = 7-8 классы\npractice-label-states-fl-scientific-grades = 7-8 классы\npractice-label-states-ga-four-function-grades = 6-7 классы\npractice-label-states-ga-graphing-grades = 8 и старшие классы\npractice-label-states-ga-scientific-grades = 6-8 и старшие классы\npractice-label-states-guam-four-function-grades = 6 класс\npractice-label-states-guam-scientific-grades = 7-8 классы\npractice-label-states-hi-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-hi-graphing-grades = 11 класс (математика, биология)\npractice-label-states-hi-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-ia-four-function-grades = 3-6 классы (математика), 5 класс (естественные науки)\npractice-label-states-ia-scientific-grades = 7-11 классы (математика), 8 и 10 классы (естественные науки)\npractice-label-states-id-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-id-graphing-grades = 11 классы (математика), старшие классы (естественные науки)\npractice-label-states-id-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-in-four-function-grades = 6 класс (математика), 4 и 6 классы (естественные науки), I AM\npractice-label-states-in-graphing-grades = Старшие классы (ЕГЭ математика)\npractice-label-states-in-scientific-grades = 7-8 классы (математика), биология\npractice-label-states-ky-four-function-grades = 3-5 классы (математика), 4 класс (природоведение)\npractice-label-states-ky-graphing-grades = 10-11 классы (математика)\npractice-label-states-ky-scientific-grades = 6-8 классы (математика), 7 и 11 классы (естественные науки)\npractice-label-states-la-graphing-grades = Старшие классы\npractice-label-states-ma-graphing-grades = 8 и 10 классы (математика)\npractice-label-states-ma-scientific-grades = Средняя школа (физика)\npractice-label-states-md-four-function-grades = 5 класс (естественные науки), 3-7 классы (математика)\npractice-label-states-md-graphing-grades = Старшие классы (математика)\npractice-label-states-md-scientific-grades = 8 класс (математика), 8 класс (естесственные науки)\npractice-label-states-mi-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-mi-scientific-grades = 7 класс (математика), 8 и 11 классы (естественные науки)\npractice-label-states-mo-four-function-grades = 6-8 классы (математика), 5 и 8 класс (естественные науки)\npractice-label-states-mo-graphing-grades = 6-8 классы (математика), алгебра, геометрия, 8 класс (естественные науки), физика и биология\npractice-label-states-mo-scientific-grades = 6-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-ms-graphing-grades = Алгебра\npractice-label-states-mt-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-mt-graphing-grades = 11 класс (математика)\npractice-label-states-mt-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-nc-four-function-grades = 3–5 классы\npractice-label-states-nc-graphing-grades = 8 класс, математика, алгебра и геометрия\npractice-label-states-nc-scientific-grades = 6-8 классы\npractice-label-states-nd-four-function-grades = 6 класс (математика), 4 класс (естественные науки)\npractice-label-states-nd-graphing-grades = 10 класс (математика, естественные науки)\npractice-label-states-nd-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-ne-four-function-grades = 6 класс\npractice-label-states-ne-scientific-grades = 7-8 классы (математика), биология\npractice-label-states-nh-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-nh-graphing-grades = 11 класс (естественные науки)\npractice-label-states-nh-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-nv-four-function-grades = 5 класс (природоведение), 6 класс (математика)\npractice-label-states-nv-scientific-grades = 7-8 классы (математика), 8 класс и старшие классы (естественные науки)\npractice-label-states-ny-graphing-grades = Старшие классы (математика)\npractice-label-states-oh-graphing-grades = Старшие классы\npractice-label-states-oh-scientific-grades = 3–8 классы\npractice-label-states-ok-four-function-grades = 6-7 классы (математика)\npractice-label-states-ok-graphing-grades = 11 класс (естественные науки)\npractice-label-states-ok-scientific-grades = 8 класс (математика, естественные науки)\npractice-label-states-or-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-or-graphing-grades = 8 и 11 классы (естественные науки)\npractice-label-states-or-scientific-grades = 7-8 классы (математика)\npractice-label-states-pa-four-function-grades = Математика (4-8 классы, алгебра), естественные науки (4 и 8 классы, биология, труд)\npractice-label-states-pa-graphing-grades = Математика (алгебра, труд)\npractice-label-states-pa-scientific-grades = Математика (6-8 классы), естественные науки (8 класс, биология, труд)\npractice-label-states-quebec-uniform-examinations = Единые экзамены\npractice-label-states-ri-four-function-grades = 5, 8 и 11 классы (естественные науки)\npractice-label-states-ri-graphing-grades = 8 класс (математика)\npractice-label-states-sc-alt-four-function-grades = 6 класс, Альтернативное оценивание\npractice-label-states-sc-alt-scientific-grades = 7, 8 и 11 классы. Альтернативное оценивание\npractice-label-states-sc-std-four-function-grades = 6 класс (математика, естественные науки)\npractice-label-states-sc-std-graphing-grades = 7-8 классы (математика), алгебра, биология\npractice-label-states-sc-std-scientific-grades = 6 класс (математика, естественные науки), 7-8 класс (математика), алгебра, биология\npractice-label-states-sd-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-sd-graphing-grades = 11 класс (математика), Старшие классы (естественные науки)\npractice-label-states-sd-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-tn-graphing-grades = Алгебра I–II, геометрия, элементарная математика I–III и биология\npractice-label-states-tn-matrix-grades = Алгебра I–II, геометрия, элементарная математика I–III\npractice-label-states-tn-scientific-grades = 6-8 классы (математика и естественные науки)\npractice-label-states-tx-graphing-grades = 8 класс, ЕГЭ (математика)\npractice-label-states-tx-scientific-grades = Grade 8 (естественные науки)\npractice-label-states-ut-graphing-grades = 9-10 классы (математика)\npractice-label-states-ut-scientific-grades = 9–10 классы (естественные науки)\npractice-label-states-va-four-function-grades = 4–5 классы\npractice-label-states-va-graphing-grades = Старшие классы\npractice-label-states-va-scientific-grades = 6-8 классы\npractice-label-states-vi-four-function-grades = 6 класс\npractice-label-states-vi-graphing-grades = 10–11 классы\npractice-label-states-vi-scientific-grades = 7-8 классы\npractice-label-states-vt-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-vt-graphing-grades = Старшие классы (математика, естественные науки)\npractice-label-states-vt-scientific-grades = 7-8 классы (математика), 8 класс (естественные науки)\npractice-label-states-wa-four-function-grades = 6 класс (математика), 5 класс (естественные науки)\npractice-label-states-wa-graphing-grades = 11 класс (математика), 8 класс и старше (естественные науки)\npractice-label-states-wa-scientific-grades = 7-8 классы (математика)\npractice-label-states-wv-four-function-grades = 5 класс (природоведение), 6 класс (математика)\npractice-label-states-wv-graphing-grades = Старшие классы (ЕГЭ математика)\npractice-label-states-wv-scientific-grades = 6-7 классы (математика), 8 класс (естественные науки)\npractice-label-states-wy-four-function-grades = Начальная школа (природоведение)\npractice-label-states-wy-graphing-grades = Старшие классы (алгебра, геометрия, естественные науки)\npractice-label-states-wy-scientific-grades = 6-8 классы (математика, естественные науки)\npractice-label-version = Версия { $testName }\npractice-link-four-function = Арифметический калькулятор\npractice-link-graphing = Графический калькулятор\npractice-link-matrix = Матричный калькулятор\npractice-link-scientific = Научный калькулятор\npractice-narration-close-details = Закрыть детали для { $stateName }\npractice-text-accessibility-information = Desmos Studio PBC стремится создавать продукты, доступные всем. Проверьте наше соответствие стандарту WCAG 2.2 и дополнительную информацию о возможностях на странице <1>www.desmos.com/accessibility.\npractice-text-calculator-note = Эти калькуляторы отличаются от тех, что находятся на нашем сайте. Дополнительную информацию вы можете найти в документе PDF.\npractice-text-college-board-digital-sat = Попрактикуйтесь с примерами графических калькуляторов для оценки <1>Digital SAT Suite и <2> Pre-AP.\npractice-text-description-test-mode = Узнайте, как настроить приложение «Test Mode» для использования калькуляторов Desmos при оценивании.\npractice-text-description-testing = Будет ли Desmos на экзаменах? Узнайте, используются ли в вашем регионе калькуляторы Desmos в системе государственного оценивания.\npractice-text-different-calculators-ib = Попрактикуйтесь с пробным <1>Научным калькулятором.\npractice-text-different-calculators-nwea = Попрактикуйтесь с пробным <1>арифметическим или <2>Научным калькулятором.\npractice-text-national-assessments = Инструменты Desmos также доступны для целого ряда национальных и международных экзаменов, в том числе:\npractice-text-practice-information = Чтобы попрактиковаться с другими калькуляторами, посетите <1>www.desmos.com/practice + <2>www.desmos.com/test-mode и узнайте больше о приложениях в тестовом режиме.\npractice-text-quebec = Графический калькулятор Desmos допущен к использованию при единых экзаменах. Попрактикуйтесь с <1>английской и <2>французской версиями.\npractice-text-questions = Свяжитесь с нами по адресу <1>assessments@desmos.com, если у вас есть вопросы или отзывы, или если вы хотите видеть калькуляторы Desmos на своих экзаменах.\npractice-text-sbac = Калькуляторы Desmos встроены в тесты по математике по системе <1>Smarter Balanced Assessment Consortium. Смотри профили соответствующих штатов на этой странице на наличие калькуляторов для практики.\npractice-text-state-assessments = Изучите карту или найдите свой штат ниже:\npractice-text-state-not-listed = Если вы хотите, чтобы Desmos Tools были включены в оценивание в вашем штате, <1>пожалуйста, сообщите нам об этом!\npractice-text-students-create-accounts = Во время администрирования тестов Desmos не получает никаких данных об учащихся. Полный обзор политики конфиденциальности и данных см. на странице <1>www.desmos.com/privacy.\n\n# tools.ftl\n### Strings for the graphing calculator and other tools\n\n\n### 3833 English words, 1117 English strings\n\nbasic-calculator-button-controlbar-abc = abc\nbasic-calculator-button-controlbar-clear = стереть\nbasic-calculator-button-controlbar-clear-all = стереть все\nbasic-calculator-button-controlbar-func = функ.\nbasic-calculator-button-controlbar-main = осн.\nbasic-calculator-button-turn-braille-mode-off = Выключить режим { $mode }\nbasic-calculator-error-fractions-unavailable = Этот калькулятор не поддерживает простые дроби.\nbasic-calculator-heading-braille-table-type-this = Набери это\nbasic-calculator-heading-braille-table-typeset = Набери\nbasic-calculator-heading-page-title-florida = Desmos | Калькулятор Florida\nbasic-calculator-heading-page-title-four-function = Desmos | Арифметический калькулятор\nbasic-calculator-heading-title-scientific = Desmos | Научный калькулятор\nbasic-calculator-label-answer-hint = Результаты отображаются на этой стороне.\nbasic-calculator-label-controlbar-deg = град\nbasic-calculator-label-controlbar-rad = рад\nbasic-calculator-label-convert-to-decimal = Преобразовать в десятичную дробь.\nbasic-calculator-label-convert-to-fraction = Преобразовать в простую дробь.\nbasic-calculator-label-reverse-contrast = Обратная контрастность\nbasic-calculator-label-six-key-input = Шестиклавишный ввод Брайля\nbasic-calculator-link-download-braille-equations = Скачать уравнения Брайля\nbasic-calculator-link-help = Помощь\nbasic-calculator-link-privacy-policy = Политика конфиденциальности\nbasic-calculator-link-terms-of-service = Условия предоставления услуг\nbasic-calculator-link-view-braille-examples = Посмотреть ещё примеры\nbasic-calculator-narration-calc-description-fourfunction = Арифметический калькулятор на 4 действия Desmos\nbasic-calculator-narration-calc-description-scientific = Научный калькулятор Desmos\nbasic-calculator-narration-controlbar-abc = A B C\nbasic-calculator-narration-controlbar-backspace = удаление последнего символа\nbasic-calculator-narration-controlbar-clear = стереть\nbasic-calculator-narration-controlbar-clear-all = стереть все\nbasic-calculator-narration-controlbar-degrees = Градусы\nbasic-calculator-narration-controlbar-functions = Функции\nbasic-calculator-narration-controlbar-main = осн.\nbasic-calculator-narration-controlbar-radians = Радианы\nbasic-calculator-narration-controlbar-redo = Повторить\nbasic-calculator-narration-controlbar-settings = настройки\nbasic-calculator-narration-controlbar-undo = Отменить\nbasic-calculator-narration-convert-to-decimal = Отображается в виде обыкновенной дроби. Нажмите Enter для отображения в виде десятичной дроби\nbasic-calculator-narration-convert-to-fraction = Отображается в виде десятичной дроби. Нажмите Enter для отображения в виде обыкновенной дроби\nbasic-calculator-narration-hotkey-six-key-input-off = Шестиклавишная система ввода Брайля выключена\nbasic-calculator-narration-hotkey-six-key-input-on = Шестиклавишная система ввода Брайля включена\nbasic-calculator-text-4fn-page-description = Красивый и бесплатный калькулятор на 4 действия от Desmos.com.\nbasic-calculator-text-braille-mode-is-on = Включен режим { $mode }!\nbasic-calculator-text-how-to-type-braille = Воспользуйтесь обновляемым дисплеем Брайля или просто наберите Брайль с помощью клавиатуры.\nbasic-calculator-text-scientific-page-description = Красивый и бесплатный научный онлайн-калькулятор с расширенными возможностями для вычисления процентов, дробей, экспоненциальных функций, логарифмов, тригонометрии, статистики и многого другого.\ngeometry-label-construct-instruction = Нажмите здесь, чтобы начать построение\ngeometry-label-example-construction-30-60-90 = Анимация с треугольником 30-60-90\ngeometry-label-example-construction-angles-of-quadrilateral = Сумма углов четырёхугольника\ngeometry-label-example-construction-centroid = Центроид\ngeometry-label-example-construction-circumcenter = Центр описанной окружности\ngeometry-label-example-construction-equilateral-triangle = Равносторонний треугольник\ngeometry-label-example-construction-euler-line = Прямая Эйлера\ngeometry-label-example-construction-inscribed-triangle = Вписанный треугольник\ngeometry-label-example-construction-orthocenter = Ортоцентр\ngeometry-label-example-construction-perpendicular-bisector = Серединный перпендикуляр\ngeometry-label-example-construction-pinwheel = Вертушка\ngeometry-label-example-construction-pythagorean-theorem = Теорема Пифагора\ngeometry-label-example-construction-rainbow-pinwheel = Радужная вертушка\ngeometry-label-example-construction-rotation-with-slider = Вращение слайдером\ngeometry-label-example-construction-string-art = Нитяная картина\ngeometry-label-example-construction-triangle-area-and-perimeter = Площадь и периметр треугольника\ngeometry-label-example-construction-two-reflections = Два отражения\ngeometry-label-pick-tool-instruction = Для начала выберите инструмент\ngraphing-calculator-button-audio-trace-hear-graph = Прослушать график\ngraphing-calculator-button-audio-trace-stop-graph = Остановить график\ngraphing-calculator-button-change-image = Сменить изображение\ngraphing-calculator-button-clear-graph = Удалить все\ngraphing-calculator-button-done = Готово\ngraphing-calculator-button-draggable = Перетаскивается\ngraphing-calculator-button-edit-graph-on-desmos-logo = редактировать график с помощью\ngraphing-calculator-button-editable-math = Редактируемая математика\ngraphing-calculator-button-editable-text = Редактируемый текст\ngraphing-calculator-button-find-cdf = Найти вероятность по кумулятивной функции распределения\ngraphing-calculator-button-funcs = функ.\ngraphing-calculator-button-functions = функции\ngraphing-calculator-button-functions-menu-custom-colors = Свои цвета\ngraphing-calculator-button-functions-menu-number-theory = Теория чисел\ngraphing-calculator-button-geometry-label-points-checkbox = Маркировать точки\ngraphing-calculator-button-hide-folder-from-students = Скрыть эту папку от учеников\ngraphing-calculator-button-hide-folder-from-students-2 = Скрыть эту папку от учеников.\ngraphing-calculator-button-keypad-audio-trace-off = Выключить аудиослежение\ngraphing-calculator-button-keypad-describe-axes = Описать оси\ngraphing-calculator-button-keypad-describe-curve = Описать кривую\ngraphing-calculator-button-keypad-describe-curve-short = Кривая\ngraphing-calculator-button-keypad-describe-point = Описать точку\ngraphing-calculator-button-keypad-describe-point-short = Точка\ngraphing-calculator-button-label = Имя\ngraphing-calculator-button-label-editable = Редактируемо\ngraphing-calculator-button-label-show-on-hover = Показывать при наведении\ngraphing-calculator-button-label-text-outline = Контур текста\ngraphing-calculator-button-load-image-retry = Повторить попытку.\ngraphing-calculator-button-move-to-folder-action = Переместить\ngraphing-calculator-button-place-image-behind-graphs = Поместить позади графиков\ngraphing-calculator-button-regression-log-mode = Режим журнала\ngraphing-calculator-button-regression-plot-residuals = график\ngraphing-calculator-button-replace = Заменить\ngraphing-calculator-button-reset-graph = Сбросить\ngraphing-calculator-button-settings-2d = 2D\ngraphing-calculator-button-settings-3d = 3D-калькулятор\ngraphing-calculator-button-settings-degrees = Градусы\ngraphing-calculator-button-settings-radians = Радианы\ngraphing-calculator-button-settings-zoom-square = Масштабировать квадрат\ngraphing-calculator-button-share-graph-link-copy = Копировать\ngraphing-calculator-button-show-all-table-rows = Показать все\ngraphing-calculator-button-slider-add-all-variables = все\ngraphing-calculator-button-visual-parameters-binned = В столбце\ngraphing-calculator-button-visual-parameters-center = По центру\ngraphing-calculator-button-visual-parameters-count = Число\ngraphing-calculator-button-visual-parameters-density = Плотность\ngraphing-calculator-button-visual-parameters-exact = Точно\ngraphing-calculator-button-visual-parameters-exclude-outliers = Исключить выбросы\ngraphing-calculator-button-visual-parameters-left = Влево\ngraphing-calculator-button-visual-parameters-relative = Относительно\ngraphing-calculator-error-equation-contains-unresolved-details = Данная схема содержит мелкую деталь, которая не была полностью адресована.\ngraphing-calculator-error-expression-replacement = Замена должна быть допустимой функцией или именем переменной.\ngraphing-calculator-error-expression-search = Можно только переименовать допустимую функцию или имя переменной.\ngraphing-calculator-error-failed-to-load-image = Не удалось загрузить изображение.\ngraphing-calculator-error-image-invalid-angle = Недопустимый угол. Попробуйте другое число.\ngraphing-calculator-error-image-invalid-center = Недопустимый центр. Попробуйте, например, (0,0).\ngraphing-calculator-error-image-invalid-file = Файл \"{ $file }\" не является изображением\ngraphing-calculator-error-image-invalid-height = Недопустимая высота. Попробуйте другое число.\ngraphing-calculator-error-image-invalid-opacity = Недопустимое значение непрозрачности. Попробуйте любое число.\ngraphing-calculator-error-image-invalid-width = Недопустимая ширина. Попробуйте другое число.\ngraphing-calculator-error-log-axes-image = Невозможно построить изображения в логарифмическом масштабе.\ngraphing-calculator-error-tone-frequency-out-of-range = Тоны могут воспроизводиться только на частотах от { $min }Гц до { $max }Гц.\ngraphing-calculator-heading-advanced = Расширенные\ngraphing-calculator-heading-arrows = Стрелки\ngraphing-calculator-heading-audio-trace-describe = Описать\ngraphing-calculator-heading-audio-trace-navigation = Навигация\ngraphing-calculator-heading-audio-trace-screen-reader = Экранный диктор\ngraphing-calculator-heading-calculus = Математический анализ\ngraphing-calculator-heading-clickable = Можно нажимать\ngraphing-calculator-heading-dist-tab-distributions = Распределения\ngraphing-calculator-heading-dist-tab-visualizations = Визуализация\ngraphing-calculator-heading-drag = Тащить\ngraphing-calculator-heading-fill = Заливка\ngraphing-calculator-heading-functions-menu-advanced = Расширенные\ngraphing-calculator-heading-functions-menu-polar = Полярные координаты\ngraphing-calculator-heading-functions-menu-sound = Звук\ngraphing-calculator-heading-geometry = Геометрия\ngraphing-calculator-heading-geometry-measurements = Свойства и измерения\ngraphing-calculator-heading-geometry-tools = Геометрические инструменты\ngraphing-calculator-heading-geometry-transformations = Преобразования\ngraphing-calculator-heading-hyperbolic-trig = Гиперболические функции\ngraphing-calculator-heading-image-opacity = Прозрачность\ngraphing-calculator-heading-inverse-trig = Обратные тригонометрические функции\ngraphing-calculator-heading-keypad-audio-trace-point-of-interest = <2>Важная<1>точка\ngraphing-calculator-heading-label = Метка\ngraphing-calculator-heading-label-orientation = Ориентация\ngraphing-calculator-heading-lines = Линии\ngraphing-calculator-heading-lists = Действия со списками\ngraphing-calculator-heading-points = Точки\ngraphing-calculator-heading-quest = Квест: { $title }\ngraphing-calculator-heading-quests = Квесты\ngraphing-calculator-heading-regression-parameters = Параметры\ngraphing-calculator-heading-regression-residuals = Невязки\ngraphing-calculator-heading-regression-statistics = Статистика\ngraphing-calculator-heading-slider-animation-mode = Режим анимации\ngraphing-calculator-heading-slider-speed = Скорость\ngraphing-calculator-heading-stat-tests = Статистические тесты\ngraphing-calculator-heading-stats = Статистика\ngraphing-calculator-heading-style = Стиль\ngraphing-calculator-heading-surfaces = Поверхности\ngraphing-calculator-heading-title = Графический калькулятор\ngraphing-calculator-heading-title-desmos = Desmos | Графический калькулятор\ngraphing-calculator-heading-trig = Тригонометрические функции\ngraphing-calculator-heading-visual-parameters-bar-heights = Высоты столбцов\ngraphing-calculator-heading-visual-parameters-bin-alignment = Выравнивание столбца\ngraphing-calculator-heading-visual-parameters-display-properties = Параметры отображения\ngraphing-calculator-heading-visual-parameters-x-values = Значения X\ngraphing-calculator-label-add-depressed-image-tooltip = Добавить изображение, используемое при нажатой кнопке мыши\ngraphing-calculator-label-add-hovered-image-tooltip = Добавить изображение, используемое при наведении курсора мыши\ngraphing-calculator-label-add-item-tooltip = Добавить элемент\ngraphing-calculator-label-add-slider = добавить ползунок:\ngraphing-calculator-label-angle-tooltip = Угол\ngraphing-calculator-label-animation-properties-tooltip = Параметры анимации\ngraphing-calculator-label-audio-trace-curve = Кривая\ngraphing-calculator-label-audio-trace-need-screen-reader = Для прослушивания должен быть включен экранный диктор.\ngraphing-calculator-label-audio-trace-point = Точка\ngraphing-calculator-label-audio-trace-speed = Скорость\ngraphing-calculator-label-audio-trace-volume = Громкость\ngraphing-calculator-label-axes = Оси\ngraphing-calculator-label-braille-nemeth = Шрифт Брайля: Nemeth\ngraphing-calculator-label-braille-size-etc11 = ETC Romeo/Juliet (11,5\" x 11\")\ngraphing-calculator-label-braille-size-etc8 = ETC Romeo/Juliet (8,5\" x 11\")\ngraphing-calculator-label-braille-size-vpmax11 = VP Макс (11.5\" x 11\")\ngraphing-calculator-label-braille-size-vpmax8 = VP Макс (8.5\" x 11\")\ngraphing-calculator-label-braille-ueb = Шрифт Брайля: UEB\ngraphing-calculator-label-cdf-maximum = Максимум:\ngraphing-calculator-label-cdf-minimum = Минимум:\ngraphing-calculator-label-change-depressed-image-tooltip = Изменить изображение при нажатой кнопке мыши\ngraphing-calculator-label-change-hovered-image-tooltip = Изменить изображение при наведении курсора мыши\ngraphing-calculator-label-convert-to-table-tooltip = Преобразовать в таблицу\ngraphing-calculator-label-create-table = Создать таблицу\ngraphing-calculator-label-depressed = Нажато\ngraphing-calculator-label-disable-graph-interactions = Отключить интерактивность графика\ngraphing-calculator-label-disable-zoom = Отключить масштабирование\ngraphing-calculator-label-display-properties = Локальные настройки отображения\ngraphing-calculator-label-drop-image-here = Вставить изображение здесь\ngraphing-calculator-label-duplicate-expression-tooltip = Дублировать\ngraphing-calculator-label-edit-graph-bounds = Границы графика\ngraphing-calculator-label-edit-list-tooltip = Редактировать список\ngraphing-calculator-label-evaluation-list = Список с числом элементов: { $count }\ngraphing-calculator-label-example-graph-3d-conic-sections-circle = Конические сечения: Окружность\ngraphing-calculator-label-example-graph-3d-conic-sections-hyperbola = Конические сечения: Гипербола\ngraphing-calculator-label-example-graph-3d-contour-plot = Контурный чертёж\ngraphing-calculator-label-example-graph-3d-double-helix = Двойная спираль\ngraphing-calculator-label-example-graph-3d-ellipsoid = Эллипсоид\ngraphing-calculator-label-example-graph-3d-f-rtheta = Функция r и θ\ngraphing-calculator-label-example-graph-3d-f-xy = Функция x и y\ngraphing-calculator-label-example-graph-3d-frenet-frame = Трёхгранник Френе\ngraphing-calculator-label-example-graph-3d-goursat = Клубок Гурса\ngraphing-calculator-label-example-graph-3d-implicit = Неявная поверхность\ngraphing-calculator-label-example-graph-3d-magic-list-of-points = Волшебный набор точек\ngraphing-calculator-label-example-graph-3d-octahedron = Октаэдр\ngraphing-calculator-label-example-graph-3d-osculating-circle = Соприкасающаяся окружность\ngraphing-calculator-label-example-graph-3d-parametric = Пространственные кривые\ngraphing-calculator-label-example-graph-3d-parametric-curve = Параметрическая кривая\ngraphing-calculator-label-example-graph-3d-parametric-sphere = Параметрическая сфера\ngraphing-calculator-label-example-graph-3d-parametric-surface = Параметрическая поверхность\ngraphing-calculator-label-example-graph-3d-parametric-surface-of-revolution = Параметрическая поверхность вращения\ngraphing-calculator-label-example-graph-3d-solids-of-revolution = Тела вращения\ngraphing-calculator-label-example-graph-3d-spheres = Сферы\ngraphing-calculator-label-example-graph-3d-surface-of-revolution = Поверхность вращения\ngraphing-calculator-label-example-graph-3d-vectors = Векторы\ngraphing-calculator-label-example-graph-3d-world = Трёхмерный мир\ngraphing-calculator-label-example-graph-calculus-derivatives = Математический анализ: Производные\ngraphing-calculator-label-example-graph-calculus-fundamental-theorem-of-calculus = Математический анализ: Теорема Ньютона-Лейбница, или основная теорема математического анализа\ngraphing-calculator-label-example-graph-calculus-integral-with-adjustable-bounds = Математический анализ: Интеграл с переменными пределами\ngraphing-calculator-label-example-graph-calculus-integrals = Математический анализ: Интегралы\ngraphing-calculator-label-example-graph-calculus-secant-line = Математический анализ: Секущая\ngraphing-calculator-label-example-graph-calculus-tangent-line = Математический анализ: Касательная\ngraphing-calculator-label-example-graph-calculus-taylor-expansion-of-sin-x = Математический анализ: Ряд Тейлора для sin(x)\ngraphing-calculator-label-example-graph-checkerboard-inversion = Инверсия шахматной доски\ngraphing-calculator-label-example-graph-conic-sections-circle = Конические сечения: Окружность\ngraphing-calculator-label-example-graph-conic-sections-ellipse-with-foci = Конические сечения: Эллипс и его фокусы\ngraphing-calculator-label-example-graph-conic-sections-hyperbola = Конические сечения: Гипербола\ngraphing-calculator-label-example-graph-conic-sections-parabola-and-focus = Конические сечения: Парабола и фокус\ngraphing-calculator-label-example-graph-fastest-path-to-a-point = Кратчайший путь к точке\ngraphing-calculator-label-example-graph-fireworks = Фейерверк!\ngraphing-calculator-label-example-graph-fractal-valentine = Фрактальная валентинка\ngraphing-calculator-label-example-graph-lines-point-slope-form = Прямые: Уравнение пучка прямых с центром в точке\ngraphing-calculator-label-example-graph-lines-slope-intercept-form = Прямые: Уравнение с угловым коэффициентом\ngraphing-calculator-label-example-graph-lines-two-point-form = Прямые: Уравнение прямой, проходящей через две точки\ngraphing-calculator-label-example-graph-lists-curve-stitching = Списки: Вышивание кривых\ngraphing-calculator-label-example-graph-lists-family-of-sin-curves = Списки: Семейство синусоид\ngraphing-calculator-label-example-graph-lists-plotting-a-list-of-points = Списки: Построение кривой по точкам\ngraphing-calculator-label-example-graph-outstretched-arm = Вытянутая рука\ngraphing-calculator-label-example-graph-pac-man = Пакман\ngraphing-calculator-label-example-graph-parabolas-standard-form = Парабола: Общее уравнение\ngraphing-calculator-label-example-graph-parabolas-standard-form-plus-tangent = Парабола: Общее уравнение + Касательная\ngraphing-calculator-label-example-graph-parabolas-vertex-form = Парабола: Каноническое уравнение\ngraphing-calculator-label-example-graph-parametric-cycloid = Параметрическое представление: Циклоида\ngraphing-calculator-label-example-graph-parametric-introduction = Параметрическое представление: Введение\ngraphing-calculator-label-example-graph-polar-conic-sections = Полярные координаты: Конические сечения\ngraphing-calculator-label-example-graph-polar-limacon = Полярные координаты: Улитка Паскаля\ngraphing-calculator-label-example-graph-polar-logarithmic-spiral = Полярные координаты: Логарифмическая спираль\ngraphing-calculator-label-example-graph-polar-rose = Полярные координаты: Полярная роза\ngraphing-calculator-label-example-graph-pride-flag = Флаг PRIDE\ngraphing-calculator-label-example-graph-regular-sine-wave = Обычная синусоида?\ngraphing-calculator-label-example-graph-stats-anscombes-quartet = Статистика: Квартет Энскомба\ngraphing-calculator-label-example-graph-stats-fourth-order-polynomial = Статистика: Многочлен четвёртой степени\ngraphing-calculator-label-example-graph-stats-linear-regression = Статистика: Линейная регрессия\ngraphing-calculator-label-example-graph-teapot = Чайник из Юты\ngraphing-calculator-label-example-graph-transformations-inverse-of-a-function = Преобразования: Обратная функция\ngraphing-calculator-label-example-graph-transformations-scaling-a-function = Преобразования: Масштабирование\ngraphing-calculator-label-example-graph-transformations-translating-a-function = Преобразования: Паралл. перенос\ngraphing-calculator-label-example-graph-trig-period-and-amplitude = Тригонометрия: Период и амплитуда\ngraphing-calculator-label-example-graph-trig-phase = Тригонометрия: Фаза\ngraphing-calculator-label-example-graph-trig-unit-circle = Тригонометрия: Единичная окружность\ngraphing-calculator-label-example-graph-trig-wave-interference = Тригонометрия: Интерференция волн\ngraphing-calculator-label-expression = Выражение\ngraphing-calculator-label-expression-delete-tooltip = Удалить\ngraphing-calculator-label-expression-lowercase = выражение\ngraphing-calculator-label-extend-to-3d = Расширить до 3D\ngraphing-calculator-label-folder-lowercase = папка\ngraphing-calculator-label-geometry-move-to-folder-placeholder = Название папки\ngraphing-calculator-label-geometry-tools = Геометрические инструменты\ngraphing-calculator-label-geometry-tools-dropdown-menu-angle = Инструменты для углов\ngraphing-calculator-label-geometry-tools-dropdown-menu-circle = Инструменты для окружностей\ngraphing-calculator-label-geometry-tools-dropdown-menu-line = Инструменты для прямых\ngraphing-calculator-label-geometry-tools-dropdown-menu-point = Инструменты для точек\ngraphing-calculator-label-geometry-tools-dropdown-menu-polygon = Инструменты для многоугольников\ngraphing-calculator-label-geometry-tools-dropdown-menu-selection = Инструменты для выбора\ngraphing-calculator-label-geometry-tools-dropdown-menu-transformation = Инструменты для преобразований\ngraphing-calculator-label-geometry-tools-open-dropdown-menu-transformation = Открыть меню «{ $item }»\ngraphing-calculator-label-hide-expression-list-tooltip = Скрыть список выражений\ngraphing-calculator-label-hide-keypad = Скрыть клавиатуру\ngraphing-calculator-label-hovered = Наведено\ngraphing-calculator-label-image-angle = Угол:\ngraphing-calculator-label-image-center = Центр:\ngraphing-calculator-label-image-height = Высота:\ngraphing-calculator-label-image-lowercase = изображение\ngraphing-calculator-label-image-opacity = Прозрачность:\ngraphing-calculator-label-image-width = Ширина:\ngraphing-calculator-label-label-size-tooltip = Растяжение метки\ngraphing-calculator-label-line-thickness-3d-tooltip = Толщина линии\ngraphing-calculator-label-line-thickness-tooltip = Толщина линии (пикс.)\ngraphing-calculator-label-list-index = Используйте <1>индекс для ссылки на выбранный индекс в списке.\ngraphing-calculator-label-lock-expression-tooltip = Запретить редактирование\ngraphing-calculator-label-more-viewport-options = Ещё варианты\ngraphing-calculator-label-new-transformation = Новое преобразование\ngraphing-calculator-label-note-lowercase = заметка\ngraphing-calculator-label-opacity-tooltip = Прозрачность (0 - 1)\ngraphing-calculator-label-open-graph-tooltip = Открыть график\ngraphing-calculator-label-open-graph-with-shortcut-tooltip = Открыть график (CTRL+O)\ngraphing-calculator-label-png = PNG\ngraphing-calculator-label-poi-unknown = неизвестные координаты\ngraphing-calculator-label-point-size-3d-tooltip = Размер точки\ngraphing-calculator-label-point-size-tooltip = Размер точки (пикс.)\ngraphing-calculator-label-powered-by = при поддержке\ngraphing-calculator-label-randomize-tooltip = Рандомизировать\ngraphing-calculator-label-recent-transformations = Недавние преобразования\ngraphing-calculator-label-recenter = Центрировать начало координат\ngraphing-calculator-label-redo-tooltip = Вернуть\ngraphing-calculator-label-redo-with-shortcut-tooltip = Вернуть (CTRL-Y)\ngraphing-calculator-label-reference-count =\n { $count ->\n [one] (1 ссылка)\n *[other] (ссылок: { $count })\n }\ngraphing-calculator-label-reference-count-in-folder =\n { $count ->\n [one] (1 упоминание в папке)\n [few] (Число упоминаний в папке: { $count })\n *[other] (Число упоминаний в папке: { $count })\n }\ngraphing-calculator-label-regression-log-mode-help-tooltip = Справка по журналу\ngraphing-calculator-label-regression-parameters-not-exact = Параметры могут быть неточными. Нажмите для дополнительной информации.\ngraphing-calculator-label-regression-what-is-rmse-tooltip = Что такое cреднеквадратическая погрешность (RMSE)? Нажмите, чтобы узнать подробнее.\ngraphing-calculator-label-regression-why-is-negative-tooltip = Почему значение отрицательное? Нажмите для дополнительной информации.\ngraphing-calculator-label-remove-depressed-image = Скрыть изображение при нажатии\ngraphing-calculator-label-remove-hovered-image = Скрыть изображение при наведении\ngraphing-calculator-label-rename = переименовать\ngraphing-calculator-label-resolution-tooltip = Разрешение 3D-сетки\ngraphing-calculator-label-search-expressions = Поиск по данному графику\ngraphing-calculator-label-settings-3d-perspective-distortion-ratio = Коэффициент искажения перспективы\ngraphing-calculator-label-settings-3d-perspective-max = Наибольшее искажение (проекция в перспективе)\ngraphing-calculator-label-settings-3d-perspective-min = Отсутствие искажения (ортографическая проекция)\ngraphing-calculator-label-settings-all-axes = Все оси:\ngraphing-calculator-label-settings-arrows = Стрелки\ngraphing-calculator-label-settings-axis-labels-3d = Метки\ngraphing-calculator-label-settings-axis-numbers = Значения на осях\ngraphing-calculator-label-settings-domain-plane = Плоскость XY\ngraphing-calculator-label-settings-grid = Сетка\ngraphing-calculator-label-settings-hidden-objects = Показать скрытые объекты ({ $count } шт.)\ngraphing-calculator-label-settings-lock-viewport = Заблокировать область просмотра\ngraphing-calculator-label-settings-minor-gridlines = Мелкая сетка\ngraphing-calculator-label-settings-numbers-3d = Числа\ngraphing-calculator-label-settings-one-quadrant = Один квадрант\ngraphing-calculator-label-settings-reverse-contrast = Обратная контрастность\ngraphing-calculator-label-settings-six-key-braille = Шестиклавишный ввод Брайля\ngraphing-calculator-label-settings-step = Шаг:\ngraphing-calculator-label-settings-translucent-surfaces = Прозрачные поверхности\ngraphing-calculator-label-settings-x-axis = Ось x\ngraphing-calculator-label-settings-y-axis = Ось y\ngraphing-calculator-label-show-keypad = Показать клавиатуру\ngraphing-calculator-label-slider-disabled-while-ticker-playing = Ползунки отключены во время работы тикера.\ngraphing-calculator-label-slider-step = Шаг:\ngraphing-calculator-label-svg = SVG\ngraphing-calculator-label-table-lowercase = таблица\ngraphing-calculator-label-ticker-close = отменить\ngraphing-calculator-label-ticker-help-tooltip = На медленных компьютерах это может работать медленно. Используйте локальную переменную «dt» для определения фактической скорости обновления.\ngraphing-calculator-label-ticker-lowercase = тикер\ngraphing-calculator-label-ticker-min-step = Мин. время шага\ngraphing-calculator-label-ticker-pause = пауза\ngraphing-calculator-label-ticker-play = пуск\ngraphing-calculator-label-tooltip-geometry-settings = Геометрические настройки\ngraphing-calculator-label-tooltip-graph-settings = Настройки графика\ngraphing-calculator-label-tooltip-open-graph = Открыть график\ngraphing-calculator-label-tooltip-reset = Сбросить\ngraphing-calculator-label-tooltip-show-list = Показать список\ngraphing-calculator-label-tooltip-viewport-default = Окно просмотра по умолчанию\ngraphing-calculator-label-tooltip-zoom-default-orientation = Ориентация по умолчанию\ngraphing-calculator-label-tooltip-zoom-in = Увеличить\ngraphing-calculator-label-tooltip-zoom-out = Уменьшить\ngraphing-calculator-label-tooltip-zoom-xy-orientation = Ориентация XY\ngraphing-calculator-label-translucent = Прозрачное\ngraphing-calculator-label-undo-tooltip = Отменить\ngraphing-calculator-label-undo-with-shortcut-tooltip = Отменить (CTRL-Z)\ngraphing-calculator-label-unlock-expression-tooltip = Разрешить редактирование\ngraphing-calculator-label-update-on-click = По нажатию:\ngraphing-calculator-link-edit-on-desmos = редактировать график с помощью\ngraphing-calculator-link-learn-more = Подробнее.\ngraphing-calculator-link-view-braille-examples = Посмотреть примеры\ngraphing-calculator-narration-3d-graphpaper-label = трёхмерное поле графика\ngraphing-calculator-narration-3d-orientation-options-label = Ориентация\ngraphing-calculator-narration-3d-rotate-down = Наклонить вперед.\ngraphing-calculator-narration-3d-rotate-left = Повернуть влево.\ngraphing-calculator-narration-3d-rotate-right = Повернуть вправо.\ngraphing-calculator-narration-3d-rotate-up = Наклонить назад.\ngraphing-calculator-narration-3d-rotation-speed = Скорость { $speed }° в секунду\ngraphing-calculator-narration-3d-rotation-stopped = Остановка.\ngraphing-calculator-narration-add-expression = Добавить выражение\ngraphing-calculator-narration-add-folder = Добавить папку\ngraphing-calculator-narration-add-image = Добавить изображение\ngraphing-calculator-narration-add-item-menu = Меню «Добавить элемент»\ngraphing-calculator-narration-add-note = Добавить заметку\ngraphing-calculator-narration-add-slider-prompt = Добавить ползунок для { $vars }\ngraphing-calculator-narration-add-table = Добавить таблицу\ngraphing-calculator-narration-add-ticker = Добавить тикер\ngraphing-calculator-narration-all-folders-collapsed = все папки свернуты\ngraphing-calculator-narration-all-folders-expanded = все папки развернуты\ngraphing-calculator-narration-arrow-mode-both = Двунаправленная стрелка\ngraphing-calculator-narration-arrow-mode-one = Стрелка в положительном направлении\ngraphing-calculator-narration-audio-instructions-enter-audio-trace-mac = Нажмите OPTION+T для режима аудиослежения.\ngraphing-calculator-narration-audio-instructions-enter-audio-trace-windows = Нажмите ALT+T для режима аудиослежения.\ngraphing-calculator-narration-audio-trace-branch-not-found = Ветвь { $branch } не существует.\ngraphing-calculator-narration-audio-trace-cannot-change-slider-value = Не удалось отрегулировать ползунок\ngraphing-calculator-narration-audio-trace-description-branch-count = Ветви: { $branches }.\ngraphing-calculator-narration-audio-trace-description-color = Цвет: { $color }.\ngraphing-calculator-narration-audio-trace-description-multiple-extrema = Число экстремумов: { $count }.\ngraphing-calculator-narration-audio-trace-description-multiple-intercepts = Число пересечений: { $count }.\ngraphing-calculator-narration-audio-trace-description-multiple-intersections = Число пересечений: { $count }.\ngraphing-calculator-narration-audio-trace-description-multiple-labels = Число отметок точек: { $count }.\ngraphing-calculator-narration-audio-trace-description-multiple-roots = Число пересечений нуля: { $count }.\ngraphing-calculator-narration-audio-trace-description-no-curve-selected = Кривая не выбрана.\ngraphing-calculator-narration-audio-trace-description-one-extremum = 1 экстремум.\ngraphing-calculator-narration-audio-trace-description-one-intercept = 1 пересечение.\ngraphing-calculator-narration-audio-trace-description-one-intersection = 1 пересечение.\ngraphing-calculator-narration-audio-trace-description-one-label = 1 отметка точки.\ngraphing-calculator-narration-audio-trace-description-one-root = 1 переход через ноль.\ngraphing-calculator-narration-audio-trace-description-shading-above = Затенение сверху.\ngraphing-calculator-narration-audio-trace-description-shading-below = Затенение снизу.\ngraphing-calculator-narration-audio-trace-description-shading-in-regions = Затенение по областям.\ngraphing-calculator-narration-audio-trace-description-shading-left = Затенение слева.\ngraphing-calculator-narration-audio-trace-description-shading-right = Затенение справа.\ngraphing-calculator-narration-audio-trace-description-visible-grid = Линии сетки видны.\ngraphing-calculator-narration-audio-trace-description-visible-x-axis = Ось X видна.\ngraphing-calculator-narration-audio-trace-description-visible-x-axis-and-label = Ось X видна и помечена как { $label }.\ngraphing-calculator-narration-audio-trace-description-visible-x-axis-range = Ось X видна от { $xmin } до { $xmax }.\ngraphing-calculator-narration-audio-trace-description-visible-x-axis-range-and-label = Ось X видна от { $xmin } до { $xmax } и помечена как { $label }.\ngraphing-calculator-narration-audio-trace-description-visible-xyz-axis-range = Оси \"X\", \"Y\" и \"Z\" отображаются от { $xmin } до { $xmax }.\ngraphing-calculator-narration-audio-trace-description-visible-y-axis = Ось Y видна.\ngraphing-calculator-narration-audio-trace-description-visible-y-axis-and-label = Ось Y видна и помечена как { $label }.\ngraphing-calculator-narration-audio-trace-description-visible-y-axis-range = Ось Y видна от { $ymin } до { $ymax }.\ngraphing-calculator-narration-audio-trace-description-visible-y-axis-range-and-label = Ось Y видна от { $ymin } до { $ymax } и помечена как { $label }.\ngraphing-calculator-narration-audio-trace-description-visible-z-axis = Ось Z видна.\ngraphing-calculator-narration-audio-trace-description-visible-z-axis-and-label = Ось Z видна и помечена как { $label }.\ngraphing-calculator-narration-audio-trace-description-visible-z-axis-range = Ось Z видна от { $zmin } до { $zmax }.\ngraphing-calculator-narration-audio-trace-description-visible-z-axis-range-and-label = Ось Z видна от { $zmin } до { $zmax } и помечена как { $label }.\ngraphing-calculator-narration-audio-trace-expression-with-column = Выражение{ $index }столбец{ $column }\ngraphing-calculator-narration-audio-trace-first-point = Первая точка\ngraphing-calculator-narration-audio-trace-first-slider = Первый ползунок.\ngraphing-calculator-narration-audio-trace-instructions-disable-mac = Чтобы отключить аудиослежение, нажмите OPTION + T.\ngraphing-calculator-narration-audio-trace-instructions-disable-windows = Для отключения аудиослежения нажмите ALT + T.\ngraphing-calculator-narration-audio-trace-instructions-expression-navigation-mac = Чтобы переместиться между выражениями, нажмите COMMAND+Стрелка вверх или COMMAND+Стрелка вниз.\ngraphing-calculator-narration-audio-trace-instructions-expression-navigation-windows = Чтобы переместиться между выражениями, нажмите COMMAND+Стрелка вверх или COMMAND+Стрелка вниз.\ngraphing-calculator-narration-audio-trace-instructions-hear-graph = Чтобы прослушать график, нажмите H (англ.).\ngraphing-calculator-narration-audio-trace-instructions-use-arrow-keys = Используйте стрелки для навигации.\ngraphing-calculator-narration-audio-trace-last-point = Последняя точка\ngraphing-calculator-narration-audio-trace-last-slider = Последний ползунок.\ngraphing-calculator-narration-audio-trace-multiple-sliders-paused = Приостановлено анимационных ползунков: { $sliders } .\ngraphing-calculator-narration-audio-trace-no-more-pois = Важных точек больше нет\ngraphing-calculator-narration-audio-trace-no-sliders-paused = Ни один из анимационных ползунков не приостановлен.\ngraphing-calculator-narration-audio-trace-one-slider-paused = Один из анимационных ползунков приостановлен.\ngraphing-calculator-narration-audio-trace-playback-speed = Скорость воспроизведение графика { $speed }\ngraphing-calculator-narration-audio-trace-poi-count = Важные точки: { $x }.\ngraphing-calculator-narration-audio-trace-point-type-definition = Определение\ngraphing-calculator-narration-audio-trace-point-type-extremum = Экстремум\ngraphing-calculator-narration-audio-trace-point-type-intercept = Пересекает\ngraphing-calculator-narration-audio-trace-point-type-intersection = Пересечение\ngraphing-calculator-narration-audio-trace-point-type-intersection-with-curves = Пересечение с { $curves }\ngraphing-calculator-narration-audio-trace-point-type-label = Имя\ngraphing-calculator-narration-audio-trace-point-type-not-a-poi = Не является важной точкой\ngraphing-calculator-narration-audio-trace-point-type-root = Ноль\ngraphing-calculator-narration-audio-trace-point-type-trace = Слежение\ngraphing-calculator-narration-audio-trace-property-branch-number = Ветвь { $branch }.\ngraphing-calculator-narration-audio-trace-property-type-before-coordinates = { $type } в\ngraphing-calculator-narration-audio-trace-property-x = Х: { $x }.\ngraphing-calculator-narration-audio-trace-property-y = Y: { $y }.\ngraphing-calculator-narration-audio-trace-slider-value-unknown = Не удалось определить значение ползунка\ngraphing-calculator-narration-audio-trace-sound-effects-disabled = Звуковые эффекты отключены.\ngraphing-calculator-narration-audio-trace-traceable-curves =\n { $sketchCount ->\n [one] 1 кривая с аудиослеждением.\n *[other] Кривых с аудиослеждением: { $sketchCount }.\n }\ngraphing-calculator-narration-audio-trace-tracing-different-expression = Отслеживание { $expression }.\ngraphing-calculator-narration-audio-trace-unable-to-play = Не удалось воспроизвести аудиозапись.\ngraphing-calculator-narration-audio-trace-unable-to-trace-this-expression = Не удалось аудиослежение для этого выражения.\ngraphing-calculator-narration-audio-trace-unsupported-expression = { $expression } не подходит для аудиослежения.\ngraphing-calculator-narration-audio-trace-volume = Громкость { $volume } процентов\ngraphing-calculator-narration-cdf-maximum = Максимум\ngraphing-calculator-narration-cdf-minimum = Минимум\ngraphing-calculator-narration-click-action = Действие по клику\ngraphing-calculator-narration-clickable-image-options = Параметры кликабельного изображения\ngraphing-calculator-narration-collapse = Свернуть\ngraphing-calculator-narration-collapse-folder-index = Свернуть папку { $index }\ngraphing-calculator-narration-collapse-folder-title = Свернуть папку «{ $folder }»\ngraphing-calculator-narration-color-unknown = нет данных\ngraphing-calculator-narration-computed-cell-role-description = вычисляемая ячейка\ngraphing-calculator-narration-configure-toolbar = Конфигурация панели инструментов геометрии\ngraphing-calculator-narration-create-table = Создать таблицу\ngraphing-calculator-narration-create-table-expression = Создать таблицу из выражения { $index }\ngraphing-calculator-narration-create-table-secret-expression = Создать таблицу из секретного выражения { $index }\ngraphing-calculator-narration-delete = Удалить\ngraphing-calculator-narration-delete-expression = Удалить выражение { $index }\ngraphing-calculator-narration-delete-folder-index = Удалить папку { $index }\ngraphing-calculator-narration-delete-folder-title = Удалить папку «{ $folder }»\ngraphing-calculator-narration-delete-image = Удалить изображение { $index }\ngraphing-calculator-narration-delete-secret-expression = Удалить секретное выражение { $index }\ngraphing-calculator-narration-delete-table = Удалить таблицу { $index }\ngraphing-calculator-narration-delete-text = Удалить заметку { $index }\ngraphing-calculator-narration-describe = Неизвестный объект\ngraphing-calculator-narration-describe-expression = Выражение { $index }\ngraphing-calculator-narration-describe-folder-index = Папка «{ $index }»\ngraphing-calculator-narration-describe-folder-title = Папка «{ $folder }»\ngraphing-calculator-narration-describe-image = Изображение «{ $index }»\ngraphing-calculator-narration-describe-secret-expression = Секретное выражение { $index }\ngraphing-calculator-narration-describe-table = Таблица { $index }\ngraphing-calculator-narration-describe-text = Заметка { $index }\ngraphing-calculator-narration-description-collapsed-folder = Свернутая папка\ngraphing-calculator-narration-description-collapsed-readonly-folder = Свернутая заблокированная папка\ngraphing-calculator-narration-description-collapsed-secret-folder = Свернутая секретная папка\ngraphing-calculator-narration-description-collapsed-secret-readonly-folder = Свернутая секретная заблокированная папка\ngraphing-calculator-narration-description-folder = Папка\ngraphing-calculator-narration-description-hidden-collapsed-folder = Скрытая Свернутая Папка\ngraphing-calculator-narration-description-hidden-collapsed-readonly-folder = Скрытая свернутая заблокированная папка\ngraphing-calculator-narration-description-hidden-collapsed-secret-folder = Скрытая свернутая секретная папка\ngraphing-calculator-narration-description-hidden-collapsed-secret-readonly-folder = Скрытая свернутая секретная заблокированная папка\ngraphing-calculator-narration-description-hidden-folder = Скрытая папка\ngraphing-calculator-narration-description-hidden-readonly-folder = Скрытая заблокированная папка\ngraphing-calculator-narration-description-hidden-secret-folder = Скрытая секретная папка\ngraphing-calculator-narration-description-hidden-secret-readonly-folder = Скрытая секретная заблокированная папка\ngraphing-calculator-narration-description-readonly-folder = Заблокированная папка\ngraphing-calculator-narration-description-secret-folder = Секретная папка\ngraphing-calculator-narration-description-secret-readonly-folder = Секретная заблокированная папка\ngraphing-calculator-narration-dist-tab-distributions = Распределения\ngraphing-calculator-narration-dist-tab-visualizations = Визуализации\ngraphing-calculator-narration-domain3d-maximum = Максимум значений { $term }:\ngraphing-calculator-narration-domain3d-minimum = Минимум значений { $term }:\ngraphing-calculator-narration-drag-mode-x = X\ngraphing-calculator-narration-drag-mode-xy = X и Y\ngraphing-calculator-narration-drag-mode-y = Y\ngraphing-calculator-narration-draggable-image-off-screen-prompt = { \" \" } не полностью отображается на слайде\ngraphing-calculator-narration-duplicate = Дублировать\ngraphing-calculator-narration-duplicate-expression = Дублировать выражение { $index }\ngraphing-calculator-narration-duplicate-folder-index = Дублировать папку { $index }\ngraphing-calculator-narration-duplicate-folder-title = Дубликат папки { $folder }\ngraphing-calculator-narration-duplicate-image = Дублировать изображение { $index }\ngraphing-calculator-narration-duplicate-secret-expression = Дублировать секретное выражение { $index }\ngraphing-calculator-narration-duplicate-table = Дублировать таблицу { $index }\ngraphing-calculator-narration-duplicate-text = Дублировать заметку { $index }\ngraphing-calculator-narration-edit-action = Изменить действие\ngraphing-calculator-narration-edit-expression-list = Редактировать список выражений\ngraphing-calculator-narration-edit-folder-title = Изменить название папки { $index }\ngraphing-calculator-narration-edit-graph-on-desmos = Редактировать график в Desmos\ngraphing-calculator-narration-edit-image-title = Изменить заголовок изображения { $index }\ngraphing-calculator-narration-edit-list-mode-off = Режим редактирования списка выключен.\ngraphing-calculator-narration-edit-list-mode-on = Режим редактирования списка включен.\ngraphing-calculator-narration-edit-on-desmos = Редактировать график в Desmos\ngraphing-calculator-narration-edit-slider-variable-limits = Изменить пределы { $variable }\ngraphing-calculator-narration-edit-text-title = Заметка { $index }\ngraphing-calculator-narration-edit-title = Изменить заголовок\ngraphing-calculator-narration-editable-label-mode = Режим редактируемой метки\ngraphing-calculator-narration-editable-point-label-at-coordinates = Редактируемая точка с координатами { $coordinates }\ngraphing-calculator-narration-expand = Расширить\ngraphing-calculator-narration-expand-folder-index = Развернуть папку { $index }\ngraphing-calculator-narration-expand-folder-title = Развернуть папку «{ $folder }»\ngraphing-calculator-narration-expression-audio-trace-mac = Чтобы включить аудиослежение, нажмите OPTION + T.\ngraphing-calculator-narration-expression-audio-trace-windows = Чтобы включить аудиослежение, нажмите ALT+T.\ngraphing-calculator-narration-expression-bar = Панель выражений\ngraphing-calculator-narration-expression-evaluation-has-graph = Имеет график.\ngraphing-calculator-narration-expression-evaluation-has-graph-and-regression = Имеет график и регрессию. Для доступа к статистике, нажмите Tab.\ngraphing-calculator-narration-expression-evaluation-has-regression = Имеет регрессию. Для доступа к статистике нажмите Tab.\ngraphing-calculator-narration-expression-evaluation-is-distribution = это распределение.\ngraphing-calculator-narration-expression-evaluation-is-t-test = является t-Критерием Стьюдента. Для доступа к статистике нажмите Tab.\ngraphing-calculator-narration-expression-hidden-label = Скрытое имя { $label }\ngraphing-calculator-narration-expression-index-table = Таблица выражения { $index }\ngraphing-calculator-narration-expression-label = Имя\ngraphing-calculator-narration-expression-tone-muted = Отключенный тон.\ngraphing-calculator-narration-expression-tone-unmuted = Включенный тон.\ngraphing-calculator-narration-fill-opacity = Прозрачность заливки:\ngraphing-calculator-narration-fill-visible = Заливка видна\ngraphing-calculator-narration-folder-collapsed = папка свернута\ngraphing-calculator-narration-folder-expanded = папка раскрыта\ngraphing-calculator-narration-folder-has-items = { $folder }, число элементов: { $count }\ngraphing-calculator-narration-functions = Функции\ngraphing-calculator-narration-geometry-added-object-type = Добавлено: { $type }.\ngraphing-calculator-narration-geometry-added-object-type-and-point = Добавлено: { $type } и одна точка.\ngraphing-calculator-narration-geometry-added-object-type-and-points = Добавлено: { $type } и кол-во точек: { $points }.\ngraphing-calculator-narration-geometry-added-points = Добавлено точек: { $points }.\ngraphing-calculator-narration-geometry-angle-of-polygon = { $itemDescription } объекта { $parent }\ngraphing-calculator-narration-geometry-angle-through-points = { $itemDescription } проходит через { $parent1 }, { $parent2 } и { $parent3 }\ngraphing-calculator-narration-geometry-arc-through-points = Дуга { $index } с началом в точке { $start }, серединой в точке { $middle } и концом в точке{ $end }.\ngraphing-calculator-narration-geometry-circle-with-center-and-radius = Окружность { $index } с центром в точке { $center } и радиусом { $radius }.\ngraphing-calculator-narration-geometry-construction-icon-label = Число токенов\ngraphing-calculator-narration-geometry-construction-role-description = построение\ngraphing-calculator-narration-geometry-deselect-all = Снять выделение\ngraphing-calculator-narration-geometry-dilated-item = растянуто: { $item }\ngraphing-calculator-narration-geometry-edge-of-polygon = Ребро { $polygonEdge } элемента { $item }\ngraphing-calculator-narration-geometry-glider-on-item = { $gliderDescription } на объекте { $item }\ngraphing-calculator-narration-geometry-glider-with-assignment = Глайдер { $assignment }\ngraphing-calculator-narration-geometry-hidden-construction-description = Скрыто: { $description }\ngraphing-calculator-narration-geometry-intersection-of-items = { $intersectionDescription } объектов { $item1 } и { $item2 }\ngraphing-calculator-narration-geometry-intersection-with-assignment = Пересечение { $assignment }\ngraphing-calculator-narration-geometry-item-at-coordinates-and-intersection = { $itemDescription } пересекает { $parent1 } и { $parent2 } в точке с координатами { $x } и { $y }\ngraphing-calculator-narration-geometry-item-at-coordinates-and-parent = { $itemDescription } элемента { $parent } в точке { $x } { $y }\ngraphing-calculator-narration-geometry-item-at-coordinates-to-coordinates = { $itemDescription } от точки { $x1 } { $y1 } до точки { $x2 } { $y2 }\ngraphing-calculator-narration-geometry-item-at-coordinates-with-middle-and-end = { $itemDescription } с началом в точке { $x1 } { $y1 }, серединой в точке { $x2 } { $y2 } и концом в точке { $x3 } { $y3 }\ngraphing-calculator-narration-geometry-item-at-coordinates-with-radius = { $itemDescription } с центром в точке { $x } { $y } и радиусом { $radius }.\ngraphing-calculator-narration-geometry-item-to-line-passing-through-point-at-coordinates-to-coordinates = { $itemDescription } к элементу { $parent1 } проходит через { $parent2 } от точки { $x1 } { $y1 } до точки { $x2 } { $y2 }\ngraphing-calculator-narration-geometry-list-of-angles = Список углов ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-any = Список неизвестных объектов ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-arcs = Список дуг ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-circles = Список окружностей ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-directed-angles = Список направленных углов ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-lines = Список прямых ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-points = Список точек ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-polygons = Список многоугольников ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-rays = Список лучей ({ $count } шт.)\ngraphing-calculator-narration-geometry-list-of-segments = Список отрезков ({ $count } шт.)\ngraphing-calculator-narration-geometry-midpoint-of-item = { $midpointDescription } объекта { $item }\ngraphing-calculator-narration-geometry-midpoint-with-assignment = Средняя точка { $assignment }\ngraphing-calculator-narration-geometry-moved-to-coordinates = Перенесено в точку с координатами x: { $x }, и y: { $y }.\ngraphing-calculator-narration-geometry-near-item = Возле элемента { $item }.\ngraphing-calculator-narration-geometry-no-tool-inputs = Нет входных данных\ngraphing-calculator-narration-geometry-not-a-construction = Выбранный объект не является построением.\ngraphing-calculator-narration-geometry-nothing-selected = Ничего не выбрано.\ngraphing-calculator-narration-geometry-parallel-to-line-through-point = Прямая { $index }, параллельная { $line } и проходящая через точку { $point }\ngraphing-calculator-narration-geometry-perpendicular-to-line-through-point = Прямая { $index }, перпендикулярная { $line } и проходящая через точку { $point }\ngraphing-calculator-narration-geometry-point-with-assignment = Точка { $assignment }\ngraphing-calculator-narration-geometry-recent-transformations-translate-by-vector = Перенести на { $item }\ngraphing-calculator-narration-geometry-reflected-item = отражено: { $item }\ngraphing-calculator-narration-geometry-rotated-item = повёрнуто: { $item }\ngraphing-calculator-narration-geometry-segment-with-assignment = Отрезок { $assignment }\ngraphing-calculator-narration-geometry-straight-from-item-to-item = { $straightType } от { $start } до { $end }\ngraphing-calculator-narration-geometry-straight-index-of-item = { $straightType } номер { $index } из { $item }\ngraphing-calculator-narration-geometry-token-navigator-depth = Глубина: { $depth }\ngraphing-calculator-narration-geometry-token-navigator-label = Токен-навигатор\ngraphing-calculator-narration-geometry-tool-cancelled = Отменено.\ngraphing-calculator-narration-geometry-tool-disabled = Инструмент «{ $tool }» отключен.\ngraphing-calculator-narration-geometry-transformed-item = преобразовано: { $item }\ngraphing-calculator-narration-geometry-translated-item = перенесено: { $item }\ngraphing-calculator-narration-geometry-unable-to-move = Невозможно переместить.\ngraphing-calculator-narration-geometry-unlabeled-angle = Угол { $index }\ngraphing-calculator-narration-geometry-unlabeled-angle-with-measurement = { $measurementText } Угол { $index }\ngraphing-calculator-narration-geometry-unlabeled-arc = Дуга { $index }\ngraphing-calculator-narration-geometry-unlabeled-circle = Круг { $index }\ngraphing-calculator-narration-geometry-unlabeled-directed-angle = Направленный угол { $index }\ngraphing-calculator-narration-geometry-unlabeled-directed-angle-with-measurement = { $measurementText } Направленный угол { $index }\ngraphing-calculator-narration-geometry-unlabeled-glider = Глайдер { $index }\ngraphing-calculator-narration-geometry-unlabeled-intersection = Точка пересечения { $index }\ngraphing-calculator-narration-geometry-unlabeled-line = Прямая { $index }\ngraphing-calculator-narration-geometry-unlabeled-midpoint = Средняя точка { $index }\ngraphing-calculator-narration-geometry-unlabeled-parallel = Параллельная прямая { $index }\ngraphing-calculator-narration-geometry-unlabeled-perpendicular = Перпендикуляр { $index }\ngraphing-calculator-narration-geometry-unlabeled-point = Точка { $index }\ngraphing-calculator-narration-geometry-unlabeled-polygon = Многоугольник { $index } с количеством сторон: { $sideCount }\ngraphing-calculator-narration-geometry-unlabeled-quadrilateral = Четырехугольник { $index }\ngraphing-calculator-narration-geometry-unlabeled-ray = Луч { $index }\ngraphing-calculator-narration-geometry-unlabeled-segment = Отрезок { $index }\ngraphing-calculator-narration-geometry-unlabeled-triangle = Треугольник { $index }\ngraphing-calculator-narration-geometry-unlabeled-vector = Вектор { $index }\ngraphing-calculator-narration-graph-settings-controls = Управление настройками графика\ngraphing-calculator-narration-graphpaper-label = графическое поле\ngraphing-calculator-narration-hide = Скрыть\ngraphing-calculator-narration-hide-animation-properties = Скрыть параметры анимации\ngraphing-calculator-narration-hide-expression = Скрыть выражение { $index }\ngraphing-calculator-narration-hide-expression-list = Скрыть список выражений\ngraphing-calculator-narration-hide-folder-index = Скрыть папку { $index }\ngraphing-calculator-narration-hide-folder-title = Скрыть папку «{ $folder }»\ngraphing-calculator-narration-hide-image = Скрыть изображение { $index }\ngraphing-calculator-narration-hide-options = Скрыть варианты\ngraphing-calculator-narration-hide-options-expression = Скрыть параметры выражения { $index }\ngraphing-calculator-narration-hide-options-image = Скрыть параметры изображения { $index }\ngraphing-calculator-narration-hide-options-secret-expression = Скрыть параметры секретного выражения { $index }\ngraphing-calculator-narration-hide-secret-expression = Скрыть секретное выражение { $index }\ngraphing-calculator-narration-hide-table = Скрыть таблицу { $index }\ngraphing-calculator-narration-hide-table-column = Скрыть столбец\ngraphing-calculator-narration-hide-text = Скрыть заметку { $index }\ngraphing-calculator-narration-image-styles = Стили\ngraphing-calculator-narration-item-at-coordinates = { $itemDescription } с координатами { $x } и { $y }\ngraphing-calculator-narration-item-hidden = Объект скрыт.\ngraphing-calculator-narration-item-visible = Объект виден.\ngraphing-calculator-narration-item-with-list-index = индекс { $listIndex } элемента { $item }\ngraphing-calculator-narration-items-deleted =\n { $count ->\n [one] удалён 1 объект\n [few] удалено объектов: { $count }\n *[other] удалено объектов: { $count }\n }\ngraphing-calculator-narration-keypad-hidden = Клавиатура скрыта\ngraphing-calculator-narration-keypad-key-next-curve = Следующая кривая\ngraphing-calculator-narration-keypad-key-next-poi = Следующая важная точка\ngraphing-calculator-narration-keypad-key-next-point = Следующая точка\ngraphing-calculator-narration-keypad-key-previous-curve = Предыдущая ячейка\ngraphing-calculator-narration-keypad-key-previous-poi = Предыдущая важная точка\ngraphing-calculator-narration-keypad-key-previous-point = Предыдущая точка\ngraphing-calculator-narration-keypad-key-speed-down = Уменьшить скорость\ngraphing-calculator-narration-keypad-key-speed-up = Увеличить скорость\ngraphing-calculator-narration-keypad-key-volume-down = Уменьшить громкость\ngraphing-calculator-narration-keypad-key-volume-up = Увеличить громкость\ngraphing-calculator-narration-keypad-visible = Клавиатура видна\ngraphing-calculator-narration-label-angle = Наклон метки:\ngraphing-calculator-narration-label-size = Размер метки:\ngraphing-calculator-narration-label-text = Текст имени\ngraphing-calculator-narration-label-visible = Метка видна\ngraphing-calculator-narration-line-opacity = Прозрачность линии:\ngraphing-calculator-narration-line-style-dashed = Штриховая\ngraphing-calculator-narration-line-style-dotted = Пунктирная\ngraphing-calculator-narration-line-style-solid = Сплошная\ngraphing-calculator-narration-lines-visible = Линии видны\ngraphing-calculator-narration-locked-items-not-deleted =\n { $count ->\n [one] 1 заблокированный объект не может быть удален.\n [few] не удалось удалить заблокированные объекты в количестве: { $count }\n *[other] не удалось удалить заблокированные объекты в количестве: { $count }\n }\ngraphing-calculator-narration-main-desmos-geometry = Геометрия Desmos\ngraphing-calculator-narration-main-desmos-graphing-calculator = Графический калькулятор Desmos\ngraphing-calculator-narration-make-clickable = сделать кликабельным\ngraphing-calculator-narration-menu-arrows-enabled = Стрелки включены\ngraphing-calculator-narration-menu-drag-enabled = Перетаскивается\ngraphing-calculator-narration-movable-point-off-screen-prompt = не отображается на экране\ngraphing-calculator-narration-movable-point-prefix = Точка\ngraphing-calculator-narration-movable-point-suffix-usage-instructions = { \" \" }является подвижной. Жмите стрелки или стрелки + Shift для регулировки.\ngraphing-calculator-narration-mute = Отключить\ngraphing-calculator-narration-mute-all = Отключить все звуки\ngraphing-calculator-narration-mute-expression = Отключить звучание выражения { $index }\ngraphing-calculator-narration-mute-secret-expression = Отключить звучание секретного выражения { $index }\ngraphing-calculator-narration-muted = Отключено\ngraphing-calculator-narration-no-expression = Не выбрано выражение\ngraphing-calculator-narration-no-geometry-tools-available = Инструменты геометрии недоступны.\ngraphing-calculator-narration-no-playing-tones = Сейчас нет воспроизводимых мелодий\ngraphing-calculator-narration-no-tone-expressions = В этом графике нет мелодий\ngraphing-calculator-narration-not-a-tone-expression = Это не музыкальное выражение\ngraphing-calculator-narration-open-graph = Открыть график\ngraphing-calculator-narration-options-menu = Меню параметров\ngraphing-calculator-narration-options-menu-closed = Меню параметров закрыто.\ngraphing-calculator-narration-options-menu-open = Меню параметров открыто.\ngraphing-calculator-narration-orientation-restore-default = Восстановить ориентацию по умолчанию\ngraphing-calculator-narration-pause-variable-animation = Приостановить анимацию { $variable }\ngraphing-calculator-narration-play-variable-animation = Воспроизвести анимацию { $variable }\ngraphing-calculator-narration-poi-graph-point = Точка\ngraphing-calculator-narration-point-size = Размер точки:\ngraphing-calculator-narration-point-style-cross = Крестик\ngraphing-calculator-narration-point-style-open = Кружок\ngraphing-calculator-narration-point-style-point = Точка\ngraphing-calculator-narration-points-visible = Точки видны\ngraphing-calculator-narration-powered-by-desmos = При поддержке Desmos\ngraphing-calculator-narration-redo = Повторить\ngraphing-calculator-narration-rename = Переименовать\ngraphing-calculator-narration-rename-expression = Переименовать в выражении { $index }\ngraphing-calculator-narration-rename-secret-expression = Переименовать в секретном выражении { $index }\ngraphing-calculator-narration-rename-table = Переименовать в таблице { $index }\ngraphing-calculator-narration-run-action-icon = Действие при запуске\ngraphing-calculator-narration-settings-all-axes-max = Макс. по x, y и z\ngraphing-calculator-narration-settings-all-axes-min = Мин. по x, y и z\ngraphing-calculator-narration-settings-angle = Настройка углов\ngraphing-calculator-narration-settings-cartesian-grid = Декартова сетка\ngraphing-calculator-narration-settings-dimension = Режимы 2D - 3D\ngraphing-calculator-narration-settings-polar-grid = Полярная сетка\ngraphing-calculator-narration-settings-show-both = Показать обе\ngraphing-calculator-narration-settings-show-positive = Показать положительную часть\ngraphing-calculator-narration-settings-x-axis-label-placeholder = например, «x»\ngraphing-calculator-narration-settings-x-axis-max = Максимум оси Х:{ \" \" }\ngraphing-calculator-narration-settings-x-axis-min = Минимум оси Х:{ \" \" }\ngraphing-calculator-narration-settings-x-axis-step = Шаг сетки оси Х:{ \" \" }\ngraphing-calculator-narration-settings-y-axis-label-placeholder = например, «y»\ngraphing-calculator-narration-settings-y-axis-max = Максимум оси Y:{ \" \" }\ngraphing-calculator-narration-settings-y-axis-min = Минимум оси Y:{ \" \" }\ngraphing-calculator-narration-settings-y-axis-step = Шаг сетки оси Y:{ \" \" }\ngraphing-calculator-narration-settings-z-axis-max = Максимум оси Z:{ \" \" }\ngraphing-calculator-narration-settings-z-axis-min = Минимум оси Z:{ \" \" }\ngraphing-calculator-narration-share-graph-link = Ссылка на этот рисунок\ngraphing-calculator-narration-share-graph-link-copied = Ссылка скопирована\ngraphing-calculator-narration-share-graph-link-unable-to-copy = Не удалось скопировать ссылку\ngraphing-calculator-narration-show = Показать\ngraphing-calculator-narration-show-animation-properties = Показать параметры анимации\ngraphing-calculator-narration-show-expression = Показать выражение { $index }\ngraphing-calculator-narration-show-folder-index = Показать папку { $index }\ngraphing-calculator-narration-show-folder-title = Показать папку «{ $folder }»\ngraphing-calculator-narration-show-image = Показать изображение { $index }\ngraphing-calculator-narration-show-options = Показать варианты\ngraphing-calculator-narration-show-options-expression = Показать параметры для выражения { $index }\ngraphing-calculator-narration-show-options-image = Показать параметры для изображения { $index }\ngraphing-calculator-narration-show-options-secret-expression = Показать параметры для секретного выражения { $index }\ngraphing-calculator-narration-show-secret-expression = Показать секретное выражение { $index }\ngraphing-calculator-narration-show-table = Показать таблицу { $index }\ngraphing-calculator-narration-show-table-column = Показать столбец\ngraphing-calculator-narration-show-text = Показать заметку { $index }\ngraphing-calculator-narration-slider-animate-faster = Ускорить анимацию\ngraphing-calculator-narration-slider-animate-slower = Замедлить анимацию\ngraphing-calculator-narration-slider-animating-at-speed = Анимация со скоростью х{ $speed }\ngraphing-calculator-narration-slider-loop-forwards-and-backwards = Зациклить вперед и назад\ngraphing-calculator-narration-slider-maximum = Верхний предел ползунка:\ngraphing-calculator-narration-slider-minimum = Нижний предел ползунка:\ngraphing-calculator-narration-slider-play-indefinitely = Воспроизводить безостановочно\ngraphing-calculator-narration-slider-play-once = Воспроизвести один раз\ngraphing-calculator-narration-slider-repeat-one-direction = Повторять в одном направлении\ngraphing-calculator-narration-slider-step = Шаг ползунка:\ngraphing-calculator-narration-slider-trace-no-sliders = Нет ползунков для слежения.\ngraphing-calculator-narration-slider-trace-off = Слежение за ползунком выключено.\ngraphing-calculator-narration-slider-trace-on = Слежение за ползунком включено.\ngraphing-calculator-narration-slider-variable-paused = { $variable } приостановлено\ngraphing-calculator-narration-slider-variable-playing = { $variable } проигрывается\ngraphing-calculator-narration-slider-variable-restarted = { $variable } перезапущено\ngraphing-calculator-narration-surfaces-visible = Видимые поверхности\ngraphing-calculator-narration-table-column-header = Заголовок столбца { $column }\ngraphing-calculator-narration-table-no-column-header = Нет заголовка столбца\ngraphing-calculator-narration-table-row-column = Строка { $row } Столбец { $column }\ngraphing-calculator-narration-tick-action = Действие по тику\ngraphing-calculator-narration-toggle-audio-trace = Включить/выключить аудиослежение\ngraphing-calculator-narration-toggle-letters = Переключить на буквы\ngraphing-calculator-narration-transformations-menu = Меню преобразований\ngraphing-calculator-narration-transformations-menu-closed = Меню преобразований закрыто.\ngraphing-calculator-narration-transformations-menu-open = Меню преобразований открыто.\ngraphing-calculator-narration-unable-to-activate-account-menu = Не удалось активировать меню учётной записи\ngraphing-calculator-narration-unable-to-activate-help-menu = Не удалось активировать меню помощи\ngraphing-calculator-narration-unable-to-activate-language-menu = Не удалось активировать меню выбора языка\ngraphing-calculator-narration-unable-to-activate-share-menu = Не удалось активировать меню Поделиться\ngraphing-calculator-narration-unable-to-add-expression = Не удалось добавить выражение\ngraphing-calculator-narration-unable-to-add-note = Не удалось добавить заметку\ngraphing-calculator-narration-unable-to-add-table = Не удалось добавить таблицу\ngraphing-calculator-narration-undo = Отменить\ngraphing-calculator-narration-unmute = Включить\ngraphing-calculator-narration-unmute-all = Включить все\ngraphing-calculator-narration-unmute-expression = Включить озвучивание выражения { $index }\ngraphing-calculator-narration-unmute-secret-expression = Включить озвучивание секретного выражения { $index }\ngraphing-calculator-narration-unmuted = Звучание включено\ngraphing-calculator-narration-viewport-default = Окно просмотра графика по умолчанию\ngraphing-calculator-narration-viewport-updated = Область просмотра графика обновлена.\ngraphing-calculator-narration-viewport-zoom-3d-default = Для графика установлена ​​ориентация по умолчанию\ngraphing-calculator-narration-viewport-zoom-3d-xy = Для графика установлена ​​ориентация по XY\ngraphing-calculator-narration-viewport-zoom-in = Увеличить график\ngraphing-calculator-narration-viewport-zoom-out = Уменьшить график\ngraphing-calculator-narration-viewport-zoom-recenter = Центрировать график\ngraphing-calculator-narration-viewport-zoom-square = Масштаб рамкой\ngraphing-calculator-narration-visual-parameters-height = Высота\ngraphing-calculator-narration-visual-parameters-offset = Смещение\ngraphing-calculator-narration-visual-parameters-width = Ширина\ngraphing-calculator-narration-x-percentage-coordinate = От левой стороны: { $x }% .\ngraphing-calculator-narration-y-percentage-coordinate = От верха { $y } %.\ngraphing-calculator-narration-zoom-options-label = Масштаб\ngraphing-calculator-text-add-screen-reader-label-placeholder = Добавить имя экранного диктора\ngraphing-calculator-text-arrow-mode-both = Обе\ngraphing-calculator-text-arrow-mode-default = По умолчанию\ngraphing-calculator-text-arrow-mode-none = Выкл.\ngraphing-calculator-text-arrow-mode-positive = В положительную сторону\ngraphing-calculator-text-audio-trace-no-implicit-support = Извините, на данный момент невозможно отслеживать неявные функции.\ngraphing-calculator-text-audio-trace-no-parametric-support = Извините, на данный момент невозможно отслеживать параметрические кривые.\ngraphing-calculator-text-audio-trace-no-polar-support = Извините, на данный момент отслеживание кривых в полярных координатах невозможно.\ngraphing-calculator-text-audio-trace-off = Аудиослежение отключено.\ngraphing-calculator-text-audio-trace-on = Аудиослежение включено.\ngraphing-calculator-text-color-black = чёрный\ngraphing-calculator-text-color-blue = синий\ngraphing-calculator-text-color-gray = серый\ngraphing-calculator-text-color-green = зеленый\ngraphing-calculator-text-color-orange = оранжевый\ngraphing-calculator-text-color-purple = фиолетовый\ngraphing-calculator-text-color-red = красный\ngraphing-calculator-text-color-unknown = цвет неизвестен\ngraphing-calculator-text-enter-pareneter = Введите { $param }.\ngraphing-calculator-text-example-graph-stats-linear-regression-description = Исследуйте возможности линейной регрессии в статистике с помощью нашего красивого и бесплатного графического онлайн калькулятора. Узнайте, как можно моделировать взаимосвязи между переменными, прогнозировать результаты и принимать решения на основе имеющихся данных. Используйте практические примеры и четкую визуализацию, чтобы понять концепцию линейной регрессии. Идеально подходит как для новичков, так и тех, кто хочет укрепить свои знания в области статистического анализа.\ngraphing-calculator-text-export-braille-email-accessibility = Отзыв? Шлите на <1>accessibility@desmos.com.\ngraphing-calculator-text-folder-placeholder = Папка без названия\ngraphing-calculator-text-geometry-arrow-mode = Вид стрелок: { $mode }\ngraphing-calculator-text-geometry-delete-selected-objects =\n { $count ->\n [one] Удалить 1 объект\n [few] Удалить объекты (всего: { $count })\n *[other] Удалить объекты (всего: { $count })\n }\ngraphing-calculator-text-geometry-delete-selected-unlocked-objects =\n { $count ->\n [one] Удалить 1 разблокированный объект\n [few] Удалить разблокированные объекты (всего: { $count })\n *[other] Удалить разблокированные объекты (всего: { $count })\n }\ngraphing-calculator-text-geometry-glider = глайдер\ngraphing-calculator-text-geometry-hide-objects =\n { $count ->\n [one] Скрыть\n [few] Скрыть\n *[other] Скрыть\n }\ngraphing-calculator-text-geometry-intersection = пересечение\ngraphing-calculator-text-geometry-move-to-folder-message =\n { $count ->\n [one] Переместить в папку:\n [few] Переместить объекты - всего { $count } - в папку:\n *[other] Переместить объекты - всего { $count } - в папку:\n }\ngraphing-calculator-text-geometry-multi-select-more-dropdown = Дополнительно\ngraphing-calculator-text-geometry-multi-select-transform = Преобразовать\ngraphing-calculator-text-geometry-no-constructed-objects = Объекты пока не построены.\ngraphing-calculator-text-geometry-select-hint = Выбрать: { $type }\ngraphing-calculator-text-geometry-selected-objects =\n { $count ->\n [one] Выбран 1 объект\n [few] Выбрано объектов: { $count }\n *[other] Выбрано объектов: { $count }\n }\ngraphing-calculator-text-geometry-show-objects =\n { $count ->\n [one] Показать\n [few] Показать все\n *[other] Показать\n }\ngraphing-calculator-text-geometry-tool-angle-display-name = Угол\ngraphing-calculator-text-geometry-tool-angle-hint-1 = Укажите начальную точку\ngraphing-calculator-text-geometry-tool-angle-hint-2 = Укажите вершину\ngraphing-calculator-text-geometry-tool-angle-hint-3 = Укажите конечную точку\ngraphing-calculator-text-geometry-tool-angles-hint-1 = Укажите начальную точку или многоугольник\ngraphing-calculator-text-geometry-tool-arc-display-name = Дуга\ngraphing-calculator-text-geometry-tool-arc-hint-1 = Укажите точку (начало)\ngraphing-calculator-text-geometry-tool-arc-hint-2 = Укажите точку (середина)\ngraphing-calculator-text-geometry-tool-arc-hint-3 = Укажите точку (конец)\ngraphing-calculator-text-geometry-tool-box-selection-display-name = Выбрать рамкой\ngraphing-calculator-text-geometry-tool-circle-display-name = Круг\ngraphing-calculator-text-geometry-tool-circle-hint-center = Укажите точку (центр)\ngraphing-calculator-text-geometry-tool-circle-hint-radius = Укажите точку (радиус)\ngraphing-calculator-text-geometry-tool-compass-display-name = Циркуль\ngraphing-calculator-text-geometry-tool-compass-hint-center = Укажите центральную точку\ngraphing-calculator-text-geometry-tool-compass-hint-segment = Выберите отрезок для установки радиуса\ngraphing-calculator-text-geometry-tool-dilate-display-name = Растянуть\ngraphing-calculator-text-geometry-tool-dilation-hint-center = Укажите точку (центр)\ngraphing-calculator-text-geometry-tool-dilation-hint-scale-factor = Коэффициент растяжения\ngraphing-calculator-text-geometry-tool-directed-angle-display-name = Направленный угол\ngraphing-calculator-text-geometry-tool-directedangle-display-name = Направленный угол\ngraphing-calculator-text-geometry-tool-expression-edit-display-name = Вставить в текущее выражение.\ngraphing-calculator-text-geometry-tool-expression-edit-generic-hint-0 = Нет допустимых входных данных\ngraphing-calculator-text-geometry-tool-expression-edit-generic-hint-1 = Выбрать { $type }\ngraphing-calculator-text-geometry-tool-expression-edit-generic-hint-2 = Выбрать { $type1 } или{ $type2 }\ngraphing-calculator-text-geometry-tool-expression-edit-generic-hint-any-object = Выберите любой объект\ngraphing-calculator-text-geometry-tool-expression-edit-generic-hint-many = Выберите одно из следующего: { $types }\ngraphing-calculator-text-geometry-tool-line-display-name = Прямая\ngraphing-calculator-text-geometry-tool-line-hint-end = Укажите вторую точку\ngraphing-calculator-text-geometry-tool-line-hint-start = Укажите первую точку\ngraphing-calculator-text-geometry-tool-midpoint-display-name = Cредняя точка\ngraphing-calculator-text-geometry-tool-midpoint-hint = Укажите отрезок\ngraphing-calculator-text-geometry-tool-parallel-display-name = Параллельная линия\ngraphing-calculator-text-geometry-tool-parallel-hint-point = Выберите точку на линии\ngraphing-calculator-text-geometry-tool-parallel-hint-straight-line = Выберите параллельную прямую\ngraphing-calculator-text-geometry-tool-perpendicular-display-name = Перпендикуляр\ngraphing-calculator-text-geometry-tool-perpendicular-hint-point = Выберите точку на линии\ngraphing-calculator-text-geometry-tool-perpendicular-hint-straight-line = Укажите перпендикулярную прямую\ngraphing-calculator-text-geometry-tool-point-display-name = Точка\ngraphing-calculator-text-geometry-tool-point-hint = Укажите или создайте точку\ngraphing-calculator-text-geometry-tool-polygon-display-name = Многоугольник\ngraphing-calculator-text-geometry-tool-polygon-hint-finish-point = Укажите следующую точку или выберите существующую для завершения\ngraphing-calculator-text-geometry-tool-polygon-hint-first-point = Укажите точку\ngraphing-calculator-text-geometry-tool-polygon-hint-next-point = Укажите следующую точку\ngraphing-calculator-text-geometry-tool-ray-display-name = Луч\ngraphing-calculator-text-geometry-tool-ray-hint-end = Укажите точку (направление)\ngraphing-calculator-text-geometry-tool-ray-hint-start = Укажите точку (вершина)\ngraphing-calculator-text-geometry-tool-reflect-display-name = Отразить\ngraphing-calculator-text-geometry-tool-reflection-hint-choose-line = Укажите ось отражения\ngraphing-calculator-text-geometry-tool-rotate-display-name = Повернуть\ngraphing-calculator-text-geometry-tool-rotation-hint-angle = Задайте угол\ngraphing-calculator-text-geometry-tool-rotation-hint-angle-end = Выберите конечную точку угла\ngraphing-calculator-text-geometry-tool-rotation-hint-angle-start = Постройте или выберите угол\ngraphing-calculator-text-geometry-tool-rotation-hint-angle-vertex = Завершите построение угла: выберите еще 2 точки\ngraphing-calculator-text-geometry-tool-rotation-hint-center = Укажите точку (центр)\ngraphing-calculator-text-geometry-tool-segment-display-name = Отрезок\ngraphing-calculator-text-geometry-tool-segment-hint-end = Укажите вторую точку\ngraphing-calculator-text-geometry-tool-segment-hint-start = Укажите начальную точку\ngraphing-calculator-text-geometry-tool-selection-display-name = Выбрать\ngraphing-calculator-text-geometry-tool-translate-display-name = Перенести\ngraphing-calculator-text-geometry-tool-translation-hint-from = Укажите начальную точку\ngraphing-calculator-text-geometry-tool-translation-hint-from-with-vector = Выберите начальную точку или вектор\ngraphing-calculator-text-geometry-tool-translation-hint-to = Укажите конечную точку\ngraphing-calculator-text-geometry-tool-vector-copy-display-name = Копия вектора\ngraphing-calculator-text-geometry-tool-vector-copy-hint-end = Выберите новую начальную точку для копирования\ngraphing-calculator-text-geometry-tool-vector-display-name = Вектор\ngraphing-calculator-text-geometry-tool-vector-end-point-display-name = Конечная точка вектора\ngraphing-calculator-text-geometry-tool-vector-hint-end = Укажите конечную точку\ngraphing-calculator-text-geometry-tool-vector-hint-start = Для копирования выберите начальную точку или вектор\ngraphing-calculator-text-geometry-tool-vector-start-point-display-name = Начальная точка вектора\ngraphing-calculator-text-image-placeholder = Изображение без названия\ngraphing-calculator-text-label-orientation-above = Сверху\ngraphing-calculator-text-label-orientation-above-left = Сверху слева\ngraphing-calculator-text-label-orientation-above-right = Сверху справа\ngraphing-calculator-text-label-orientation-below = Снизу\ngraphing-calculator-text-label-orientation-below-left = Снизу слева\ngraphing-calculator-text-label-orientation-below-right = Снизу справа\ngraphing-calculator-text-label-orientation-default = По умолчанию\ngraphing-calculator-text-label-orientation-left = Влево\ngraphing-calculator-text-label-orientation-right = Справа\ngraphing-calculator-text-loading-image = Загрузка изображения...\ngraphing-calculator-text-note-placeholder = Пустая заметка\ngraphing-calculator-text-page-description = Исследуйте математику с помощью нашего красивого и бесплатного онлайн-калькулятора. Стройте графики функций, наносите точки, визуализируйте алгебраические уравнения, добавляйте ползунки, анимируйте графики, и многое другое.\ngraphing-calculator-text-parameter-name-binwidth = Ширина столбца\ngraphing-calculator-text-parameter-name-data = Набор данных\ngraphing-calculator-text-parameter-name-dof = Степени свободы\ngraphing-calculator-text-parameter-name-height = Высота\ngraphing-calculator-text-parameter-name-max = Максимум\ngraphing-calculator-text-parameter-name-mean = Среднее арифметическое\ngraphing-calculator-text-parameter-name-min = Минимум\ngraphing-calculator-text-parameter-name-offset = Смещение\ngraphing-calculator-text-parameter-name-probsuccess = Вероятность успеха\ngraphing-calculator-text-parameter-name-stddev = Стандартное отклонение\ngraphing-calculator-text-parameter-name-trials = Опыты\ngraphing-calculator-text-refreshable-braille-display-note = Воспользуйтесь обновляемым дисплеем Брайля или просто вводите Брайль с помощью клавиатуры.\ngraphing-calculator-text-regression-potentially-inaccurate-parameters = Некоторые параметры могут быть слишком большими или слишком маленькими для точного представления.\ngraphing-calculator-text-share-graph-link = Ссылка на этот рисунок\ngraphing-calculator-text-table-created = Таблица создана.\ngraphing-calculator-text-table-more-rows = Еще строк: { $rowCount }\ngraphing-calculator-text-toast-choose-one-file = Вы можете выбрать только один файл для замены\ngraphing-calculator-text-toast-error-importing-graph = Ошибка при импортировании графика. Проверьте URL.\ngraphing-calculator-text-toast-error-no-folders = Только графики без папок могут быть добавлены в папку.\ngraphing-calculator-text-toast-expression-size-limit = Достигнут максимально возможный размер выражения.\ngraphing-calculator-text-toast-graph-cleared = График удалён.\ngraphing-calculator-text-toast-graph-reset = График сброшен.\ngraphing-calculator-text-toast-image-upload-failed = Не удалось загрузить изображение.\ngraphing-calculator-text-toast-imported-graph = График импортирован!\ngraphing-calculator-text-toast-importing-graph = Импорт графика...\ngraphing-calculator-text-toast-no-file-selected = Файл не выбран\ngraphing-calculator-text-toast-uploading-images = Загрузка изображений...\ngraphing-calculator-text-toast-zoom-to-fit = Мы изменили масштаб, чтобы поместить ваши данные.\ngraphing-calculator-text-zoom-fit = Масштаб полный\ngraphing-tours-heading-advanced-tables = Усложненные таблицы\ngraphing-tours-heading-derivatives = Производные\ngraphing-tours-heading-folders = Папки\ngraphing-tours-heading-lists = Списки\ngraphing-tours-heading-quest-success = Вы завершили квест «{ $title }».\ngraphing-tours-heading-regressions = Регрессии\ngraphing-tours-heading-restrictions = Ограничения\ngraphing-tours-heading-sliders = Ползунки\ngraphing-tours-heading-tables = Таблицы\ngraphing-tours-label-add-slider = Добавить ползунок\ngraphing-tours-label-advanced-tables-continue = Нажмите здесь, чтобы продолжить редактирование этой таблицы.\ngraphing-tours-label-advanced-tables-convert = Преобразовать это в таблицу.\ngraphing-tours-label-advanced-tables-create = Нажмите здесь, чтобы создать таблицу.\ngraphing-tours-label-advanced-tables-dots = Нажмите здесь, чтобы показывать только точки.\ngraphing-tours-label-advanced-tables-edit-list = Нажмите кнопку «Редактировать список».\ngraphing-tours-label-advanced-tables-graph = Начните с построения графика функции.\ngraphing-tours-label-advanced-tables-new-column = Нажмите вправо для добавления нового столбца.\ngraphing-tours-label-advanced-tables-options = Нажмите и удерживайте этот значок, пока не откроется меню параметров.\ngraphing-tours-label-advanced-tables-start = Давайте сделаем функцию. Во-первых: нажмите здесь, чтобы создать новое пустое выражение.\ngraphing-tours-label-advanced-tables-type-function = Попробуйте ввести { $sample_expression }\ngraphing-tours-label-advanced-tables-wizard = Ты мастер таблиц!\ngraphing-tours-label-awesome = Здорово!\ngraphing-tours-label-brilliant = Гениально!\ngraphing-tours-label-change-color = Изменить цвет\ngraphing-tours-label-check-progress = Проверить мои успехи\ngraphing-tours-label-close-quest = Выйти из квеста\ngraphing-tours-label-close-quests = Выйти из квестов\ngraphing-tours-label-close-tour = Закрыть обучение\ngraphing-tours-label-derivative-graph-derivative = Чтобы построить график ее производной: { $equation }\ngraphing-tours-label-derivative-hint-type-derivative = Подсказка: чтобы взять производную, введите d/dx.\ngraphing-tours-label-derivative-one-more = Давайте попробуем еще одно: { $equation }\ngraphing-tours-label-derivative-start-function = Начните с функции { $equation }\ngraphing-tours-label-derivative-start-graph = Изобразим производную!\ngraphing-tours-label-folders-collapse = Теперь мы рассмотрим работу с папками. Нажмите здесь, чтобы свернуть папку.\ngraphing-tours-label-folders-did-you-know = Знаете ли вы...\ngraphing-tours-label-folders-grab = Теперь захватите это уравнение за его левый край и перетащите в папку.\ngraphing-tours-label-folders-great-start = Отличное начало!\ngraphing-tours-label-folders-hide = Вы можете скрыть все в папке одним щелчком мыши. Нажмите здесь, чтобы попробовать.\ngraphing-tours-label-folders-indicator = Подсказка: Серая линия сигнализирует о том, что выражение находится в папке.\ngraphing-tours-label-folders-name = Дайте название папке.\ngraphing-tours-label-folders-new-equation = Давайте создадим новое уравнение. Например, введите: { $equation }\ngraphing-tours-label-folders-option = ... и выберите опцию \"папка\".\ngraphing-tours-label-folders-start = Давайте создадим папку!\ngraphing-tours-label-great-job = Замечательно!\ngraphing-tours-label-last-thing = Последнее!\ngraphing-tours-label-list-computation = Вы можете производить вычисления, используя списки. Например: { $equation }\ngraphing-tours-label-lists-are-powerful = Списки являются мощным средством. Давайте рассмотрим их.\ngraphing-tours-label-lists-begin-equation = Для начала наберите: { $equation }\ngraphing-tours-label-lists-count-by = Если вместо этого вы хотите считать до 5, просто напишите так: { $equation }\ngraphing-tours-label-lists-create-range = Можно создавать списки целых чисел еще проще. Попробуйте { $equation }\ngraphing-tours-label-lists-graph-equation = График { $equation }\ngraphing-tours-label-lists-graph-points = Давайте построим несколько точек.\ngraphing-tours-label-lists-hint-abc = Подсказка: нажмите кнопку \"ABC\" на клавиатуре, чтобы найти кнопки []\ngraphing-tours-label-lists-hint-plot-points = Подсказка: это нарисует точку для каждого элемента b.\ngraphing-tours-label-lists-hint-superscript = Подсказка: можно набрать { $suggestion1 } или использовать кнопку { $suggestion2 } на экранной клавиатуре.\ngraphing-tours-label-lists-point-equation = Попробуйте { $equation }\ngraphing-tours-label-lists-put-to-work = Прекрасно. Теперь подготовим список к работе.\ngraphing-tours-label-new-item = Нажмите здесь, чтобы добавить новый элемент.\ngraphing-tours-label-next-step-countdown = Продолжение через { $seconds }...\ngraphing-tours-label-nice = Отлично!\ngraphing-tours-label-quest-back = Назад\ngraphing-tours-label-quest-back-to-quest = Вернуться к квесту\ngraphing-tours-label-quest-take-a-tour = Ознакомиться\ngraphing-tours-label-quest-tours = Осматриваетесь? Попробуйте быстрый ознакомительный тур.\ngraphing-tours-label-quest-tours-aria = Сведения, которые могут помочь в этом квесте\ngraphing-tours-label-quest-tours-link = Обучение\ngraphing-tours-label-regressions-better-fit = Редактируйте это уравнение, чтобы найти наиболее подходящий вариант. Попробуйте, например:
{ $equation }\ngraphing-tours-label-regressions-check-model = Хорошо. Давайте проверим модель.\ngraphing-tours-label-regressions-data = Сперва давайте получим некоторые данные.\ngraphing-tours-label-regressions-data-2 = Начнем с некоторых данных!\ngraphing-tours-label-regressions-docs = Зайдем в Google Docs, затем скопируем и вставим { $sample_data_link }.\ngraphing-tours-label-regressions-equation = Теперь наберите: { $equation }\ngraphing-tours-label-regressions-expression-option = ... и выберите опцию \"выражение\".\ngraphing-tours-label-regressions-fill-sample-data = Заполните данные:\ngraphing-tours-label-regressions-hint-1 = Совет №1: чтобы получить { $y_1 } наберите { $y1 }.\ngraphing-tours-label-regressions-hint-2 = Совет №2: { $twiddle } есть в нашей экранной клавиатуре в секции \"A B C\".\ngraphing-tours-label-regressions-keep-exploring = Хорошая работа – Продолжайте исследование!\ngraphing-tours-label-regressions-new-model = Теперь, давайте попробуем новую модель.\ngraphing-tours-label-regressions-new-table = Нажмите здесь, чтобы добавить новую таблицу.\ngraphing-tours-label-regressions-own-data = Заметка: вы можете добавлять взамен свои данные, нажимая кнопку { $plus_icon }.\ngraphing-tours-label-regressions-residuals = Невязки - это разница между вашими данными и вашей моделью. Кликните здесь, чтобы добавить их к вашей таблице и построить их на графике.\ngraphing-tours-label-regressions-sample-data = произвольные данные\ngraphing-tours-label-require-expressions-visible = Нажмите, чтобы показать список выражений.\ngraphing-tours-label-require-not-edit-list-mode = Нажмите, чтобы вернуться к вашим выражениям.\ngraphing-tours-label-require-resources-not-open = Нажмите, чтобы вернуться в этот график.\ngraphing-tours-label-restrictions-abc = Подсказка: нажмите кнопку «A B C» на клавиатуре, чтобы найти кнопки { $buttons }\ngraphing-tours-label-restrictions-blank-expression = Нажмите здесь, чтобы создать новое пустое выражение.\ngraphing-tours-label-restrictions-change-equation = Изменить это уравнение на { $sample_expression }\ngraphing-tours-label-restrictions-domain = Ограничьте пределы этой линии, добавив { $sample_expression } в конце.\ngraphing-tours-label-restrictions-dont-forget = Не забывайте про «y =»!\ngraphing-tours-label-restrictions-graph-parabola = Теперь график: { $sample_expression }\ngraphing-tours-label-restrictions-move-parabola = Перемещайте параболу.\ngraphing-tours-label-restrictions-new-expression = Нажмите здесь, чтобы создать новое выражение.\ngraphing-tours-label-restrictions-range = Теперь давайте ограничим диапазон. В конце добавьте { $sample_expression }.\ngraphing-tours-label-restrictions-star = Ты звезда ограничений!\ngraphing-tours-label-restrictions-start = Давайте начнём!\ngraphing-tours-label-restrictions-straight-line = Попробуйте построить прямую линию, например { $sample_expression }\ngraphing-tours-label-restrictions-type-all = Попробуйте ввести все { $sample_expression }\ngraphing-tours-label-restrictions-typing-hint = Подсказка: можно набрать { $suggestion1 } или использовать кнопку { $suggestion2 } на экранной клавиатуре.\ngraphing-tours-label-self-destruct = Это сообщение исчезнет через { $seconds } секунд...\ngraphing-tours-label-show-surface = Показать 3D-поверхность\ngraphing-tours-label-sliders-add = Теперь нажмите здесь, чтобы добавить ползунки.\ngraphing-tours-label-sliders-blank-expression = Нажмите здесь, чтобы создать новое пустое выражение.\ngraphing-tours-label-sliders-change-value = Введите здесь для изменения значения.\ngraphing-tours-label-sliders-drag-handle = Перетащите рукоятку, чтобы изменить значение.\ngraphing-tours-label-sliders-hands-free = Попробуйте «Hands-free»\ngraphing-tours-label-sliders-make-sliders = Давайте сделаем несколько ползунков!\ngraphing-tours-label-sliders-press-play = Нажмите кнопку \"play\" для анимации ползунка.\ngraphing-tours-label-sliders-pro = Ты профессионал ползунков!\ngraphing-tours-label-sliders-try-typing = Попробуйте ввести { $sample_expression }\ngraphing-tours-label-tables-back = Нажмите кнопку \"назад\", чтобы продолжить редактирование.\ngraphing-tours-label-tables-close-options = Щелкните в любом месте, чтобы закрыть параметры.\ngraphing-tours-label-tables-dots = Нажмите здесь, чтобы соединить точки.\ngraphing-tours-label-tables-enter = Теперь попробуйте нажать Enter.\ngraphing-tours-label-tables-fill-another = Просто заполните еще один...\ngraphing-tours-label-tables-fill-cell = Заполните это.\ngraphing-tours-label-tables-fill-row = Заполните эту строку.\ngraphing-tours-label-tables-last-trick = Последний трюк!\ngraphing-tours-label-tables-next-row = Перейдите на следующую строку, чтобы добавить больше данных.\ngraphing-tours-label-tables-open-options = Нажмите и удерживайте этот значок, пока не откроется меню параметров.\ngraphing-tours-label-tables-scroll = Прокрутить обратно до верха таблицы.\ngraphing-tours-label-tables-select-table = ... и выберите опцию «таблица».\ngraphing-tours-label-tables-start = Давайте создадим таблицу!\ngraphing-tours-label-tables-type-number = Введите любое число.\ngraphing-tours-label-tables-valid-number = О нет! Введите разрешенное число здесь.\ngraphing-tours-label-tables-whiz = Вы мастер таблиц!\ngraphing-tours-label-turn-off-axes = Отключить оси\ngraphing-tours-narration-exiting-quest = Выход из квеста.\ngraphing-tours-narration-quest-goal-complete = { $goal }. Закончено.\ngraphing-tours-narration-quest-goal-incomplete = { $goal }. Незакончено.\ngraphing-tours-narration-quest-started = Квест «{ $title }» начался.\ngraphing-tours-narration-quest-thumbnail = Миник квеста «{ $title }»\ngraphing-tours-narration-tour-thumbnail = Миник курса «{ $title }»\nmatrix-calculator-button-new = Новая матрица\nmatrix-calculator-button-settings = настройки\nmatrix-calculator-heading-edit-matrix = Редактировать матрицу { $variable }\nmatrix-calculator-label-columns = Столбцы\nmatrix-calculator-label-rows = Строки\nmatrix-calculator-narration-add-column = Добавить столбец\nmatrix-calculator-narration-add-row = Добавить строку\nmatrix-calculator-narration-evaluation = равняется матрице размером { $rowCount } на { $columnCount }.\nmatrix-calculator-narration-evaluation-row = Строка { $rowNumber }: { $values }.\nmatrix-calculator-narration-keypad-key-det = Детерминант\nmatrix-calculator-narration-keypad-key-inverse = Обратный\nmatrix-calculator-narration-keypad-key-rref = Приведённый ступенчатый вид по строкам\nmatrix-calculator-narration-keypad-key-trace = Слежение\nmatrix-calculator-narration-keypad-key-transpose = Транспонировать\nmatrix-calculator-narration-matrix-with-variable = Матрица { $variable }\nmatrix-calculator-narration-matrix-without-variable = Матрица\nmatrix-calculator-narration-new-dimensions = Размер матрицы: { $rows } на { $cols }\nmatrix-calculator-narration-remove-column = Удалить столбец\nmatrix-calculator-narration-remove-row = Удалить строку\nmatrix-calculator-narration-resize-controls = Изменить размер элементов управления матрицей\nmatrix-calculator-narration-settings-menu = Меню настроек\nmatrix-calculator-narration-title = Матричный калькулятор Desmos\n\n"}; console.warn(`This page is using the Desmos API with a trial key suitable for prototyping, not for commercial use. Please reach out to partnerships@desmos.com to learn about partnering with Desmos to enable your key for production.`) var desmosVersion = 'v1.9.3'; var desmosCommit = '0aa24a3bfd2e1f79f4d758732e0002c9fc619389'; ;(function (global) { var elt = document.createElement('style'); elt.innerHTML = "@charset \"UTF-8\";.dcg-calculator-api-container img{height:auto}.dcg-aria-alert,.dcg-calculator-api-container .dcg-sr-only{position:absolute;left:-1000px;top:-1000px;width:1px;height:1px;text-align:left;overflow:hidden}@font-face{font-family:Symbola;src:url(data:font/woff2;base64,d09GMgABAAAAAB+0ABIAAAAAREgAAB9OAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4bQByCQAZWAINaCFoJhGURDArsKN8gC4EaAAE2AiQDgi4EIAWECgeDHQxAG+M7BdzxbgeIil5+IrL/ywPusPjkajTjiY1Gq6TAV2Of4Cs0/3u0vopiRzm8B6hPNwLhU3A0YvQOnEa6rIYKUYKhRRiNUVLMdvP9jPfLsxGSzP7Ab7P3KVFMwAxADFQMxKSNpKzGDtyMPp3brFqFus46ePj+3jz3/fvSqn9NwQB1kFiz1jETL41WAxZaDkjAItw1e6jTdLZTkJw8IUyAo6EM07MdLVLLuvYnIpyBDY8wbPT3OlUygmyWLvnqj2WSEicsE6i2HIKvIN3e8tychqnL+AyFEYeJaBo7qasUWGyQZKJ9e4F9L+/dPVDJ3Tf9N22wbDNbZ/oNd5m08T9lqmSzHMuWAmRihajluR2nrtt7Xz84dZmAbs8wOgENbP3/t5lWOec+gf2/ggqysQpwtesAYJ2iHv3Z2Z35M+MdzcqxNGsQOUfS7hokw67MMsnmAHCFoA0hlUnRpAKuuUyqVH3KJkWVZem6QEPoGixlC/q+/2UzX5DSU8k4KgYJPwZRZHN6ujUAACnAVfG2+5frnUzRnwYSBU0gAxNVMMJWE4NMyB6/Bj8B0Dt15YVAPihXFIDFaXplMdjvcdmgUoGboey+eaL9Vj2cRDRzeTXyXx9kAQ+yDAwMIvz7dRVwiEp1WGWzk6COzAIVg5cAIpFi+MMg0KJJAI2AiPO0kp6AlXSIViLzW0mf70ok3itpY+V1oeCYzS0ZDEyg4ctDjQQRsHnb/GxTl1mLv6yVtoP38gtN4lY7JDYQMLToievQpYcESQdZCAOwV1gygJNPtVCPJPFV05jQ4JSZyX0KNr0K/1EVQEtYMvD3XzWBw3rmFU70vwIUQ3avAVqdhgOos1YzSNG4KkwEhTF2vt4OrGBosBYgkZpkaIAf2hH0XfRBK7INykbHhmhjYkO1cbQJtlHQDtNetXXrMLDfj+r9h/0k0vNTKAsv/0xSPVbdVR1UHVAtUzn8S/ub+1fxkHSfet/kvvF94n38J8zHl/fO3Sy7GQ4IXCszcEHggBqQRhDQjzawOLUusLEzPL9GxiZ4ADrCpswcyeatpRU4bgvQy36eTnE5BDhxDVFnYD070Bfy/wyAfql+9QCJUNGcuWLba9qUPvaW88MUaCUPLF3q9RhUab5IBeKE22iJViK1hu1wCATKOJjtwhYSgQp0wbtKQH2gAYUrUbBkSUlbfs2fa+gr0IHxqAS0iH6DKyuBQeyukxbWeAmM4k0UQXWV8FDVJDCJh3XDY/4J+cee09ieJPlfv7NK4oA5uxYoDzTleP5RCcyie39XAovYu0ffrRJAd/v7LFCaBFaxN7bYszq6TWT8SJ6wabuInlN4zJ/YcxoCY6KDEZgEFahVol/oJwiVLrA8r7F6IbAuqFkOxuI+1hcqPOMU0WdedJd9AhNgze4ThO5j5eQWEXR+erjYR7prjaCD9Bp0B+vWxLQkrtiBKkWaIm9alRdppN/01NJt6XvUmmfRd727TuaODgJqiy2T36XDK2L0nbLi4qS7UaoBtEZ0SKGDm5VR75A8idRMfVRW6WsCYqQfPDEDYqQe6xirj4UQhzEI6PomX8jMUc/XuBWQTBTZd8X7DYoDqkq/q9fpT2991Bn1IHZ0twjqZp3gUwQUrrMIWtdAr6bd9SlENc7qfRrRbHxAZxC74OpJhEQoJDAAkMd0ttgODFRPZaVm+AONdm0HhA+g+/xGDANBTG+nk2CAqnRTjXoilESTE1hRlfaaD7qMAk1Yu1ajBACmExj1AdimGz8miAXySUij18jJLu7sLPY2nfPN2J+9HxZvBvFgxzUmbRe2tprNK3e965yrVkdj56ati/6ec6t5u+37nWLHj+f4edGh3gkc32LRjc6SPB+fexa/Gl/ditX70i121htXfPUt75xxjvIKGx14fQfhG9HC8R4e7+pzEVC1jFDdDRmCLHOXhnboiRdUvQL5muHL7y+vIsOzAzU4LUFOuMNw3ikiiLd3raBqfvROb3zvZu6NiLE/jKbKU5sb3lg3qeoa83eiueo0yN7PVviWHxN3Ve+yXKEA8ku2qvtyTHnZcfkAe5XmSSSElO/Ae2JkCRc0ZQiqIJFSIFmXhGRIjC5YfldFMsaQCMim+sQg22T37Uv0QIBtXPT0dl46fM+e4mGT1drZiZrduNPXpdU7wk5ESNhh5/iauzZO2QPZAQV0GfbaRrJEv302IiORM5XFQE6ojkFGVAXWDoaEwmMGGXeGhPXQqkjiA5flcPGlw4mALZF06h2GDN24kU9CqZJzboyJS7dYmAiZ6i57CDtsCKww5JSIfucYNQ+uMTCPFVLA92C/bSSDmZkejzvfNvygKpKi+bL+JvKCKSELISFnVBirAOVCYWV9CbxRIKPL967K1Ho9hgyIE/jMdJ6FHFRCOS7GVgThY9GEgsb8fFPdtGg+29XrHEsKp38b2ssfOVEj58pee1FYJCMVCPuUHRc6N3JkmsWYN6haZTMs5p5UE4XuCoKOd42/GdphTq1aC9i83ZRm1zvZvsszjIik6p0+Di1jOF/5kZ5/jCu5NVZSsVaRei825lpBTZ5EBd9da2qEk+RzhLm+gJJz9oMuoet1eWNMDLocMtdmKEYG1l1rL9HExD0c2udWGBQuco/l6p7kJpfn4urIoNQ6MLDO9TFfjf7APQC6nGLDkXN+hcHRYve4FClq7+tSlH7ti9JAfaPK2jm7rhi/MnSPMDRU+UdLVCGb/+NueBo48XzugZP+4dEIZK1VRFg0hmxmCFIMJYSL6k5vsUka7HNEqDmu04IpB3LA+3wqrHlCMJou6+ZEqv0Iur503xx5g/XGlI2iZ0ObxQYgNBsvV1ev5AzROCJhDwO13XT/R5+pQBx4youYarLUKimtVlwpziTbIi1F24jof4FcqeNerYQ4pS1GlcMd8XiN64vmnjEDZQsXYkd69OsctblM5dW1yvfsZfhCTD0rILTI1vgVN1b9IobP8Q252BlCT700mqQbu9+skrK4m0mPqtZCDzTJ9omQfBCbeEMJCmmGsn6DAAWj2rqxeKV59cpxIzoX57raWe8xVp0GCP0x6yTaVdhjOoIgmkhBuQAYglJetLHxYMDtB/P81qGzUjdVqKOq1s84smuyzlnfLM3MRlBDm67Oc0APyObeEUR6IzFvIC+7vRB6XJBm6tBZ9cFBuOBsYrlQ12QUd9WDSI2A4YzEYmAF1jaEAX+ksW8p7OoJu5HYHG7rDVtZREoKX1E3mpnXu2UbAYTzNQIylrjWIvsPhK4f797aEg7SKs48FDSQna3KXcjU5p295KqVcGYb8ERtzzVSE3kORgvddKXK2NjbIdE+NXOt58aZHl0dHSzsDdYXdVmVFUDt1PWLNF9h9SsWot6JFm+VOAtR6wVSdT3XWr4R/WpDH21qBLBz6w6+GleJXmcks7e/SYHbtZ7YDfUHLU4lw5UpzTzz2unQ2N0xw7NTkZ1SVtQwTsAumTVCuNqaY07HXK0vsUgrG3W20JjDipk9VzMbGheyiJhsalu1d/Y2ypaciqCpYJ6AN2IXvxr7dEunI7x3nZ5ghMAA3DIGlhoN2P+777eGIb2nXPTfHGfT+6VUkWe8MWNmcNtcf73i3JUmJaHzU/WXe9vZ2CVl0HxTFa+SnLNXYpVxAObLCizW/papk5PpLXssFvNllZ+LfxiRRHB6tOvAcjqdKXsNJwKJiK9xpIaFwXnU2EUKVwzE7/yM7Nxbf06wcNSdyDbzALcyN6wZG7adpBiwZixaz4lmvQwpJ2GztZs0ZyPbd1LVvCbvODHusohOsbWh0ek0mwdmR3m+FDtbSrjQCrK8ObFsTqmwInN09KsN2QB/f2DyiEXgAXIkOdsIxdBJoLv2tB06gutt0fE3z5pGf/7URnldbZOsUEYsrvr09fHGi0nLe8MWV35/Cle8MTftSv32if3225XdoMNS+w9WtT534v2uWNfI9wWGIWMJzbaBhZ7LOb+b2jTMkynWU9alDxU4Nb4/R4TlDj7/J2fkE62VC/be+nwbF57sSB+pskpO16grYjxglFROvbgTq/q3vTq8aH9t1cyiJV2lxms8vPOGfZdmzRKeRtSLe5JGPAP5OTyeQhDI1FjoHL5JnDbXv8IlwYQZF1DaUWjt/A0+cbXqQwuzs9oyD0ubUeg5eYyZlGnXNmV0gci4RNQsxqw+Mcd+odnp83f8y+IvHrVotluFxXAkWF9zbwmW81Cv2LPJ8qgjxx59+ad7tL7V1otZ6pZX1Nv1MlGFeSF3yWV44r6Je48mShROp5ycTjsRv5plzbbn9kV2usrq7aQ+7TXxFUJJKt6c3mVDVseu9P3R778VRzbUZS1Ycj8m3uQ4eUZ6LueVft0nwz2fi79LtpPOLc5dnFrMfT5aXugUIsuhJ+dgcd6yBnEI41KbxXJS7hJKREBTS4ugwTu79zwl1ZhXGi+Yx+20DVnmN+Rq5WDSndxi/dBg2KH8QHmTasGL4C9V42brPQTrPEh7H93/0+C7NHka80COO7bsjdNgSUZUQobR42P0Z2vnHf7blMQKYwYrSvuDSmcH7myuOJAXfu1x34Uax6rwqMyx3C2FX9pvtRybVZ3tU2F9l21ou3O1o2VNbQQz0ac8K5VeLSestsOlBYb1RogYNZEOh01qLosv5r8yaENpbMuWebwb2O9x2jrBf1V3t6jVIWp1zFK78MBWrKDJK3u+kTvO+b32KdRmqDAbTtXYZ+VefmWs+4cl2YDwoGU4N+6iJZ2Ol4QQ7WeNjGa1I8GHeROlwAZ1XYayJO6yaM1Ak70fYYmPB13QCWrBnQKxwBNwKz0FLuxkL0anpxH+aeu0dt8UZEhfXxwRzCRxThWwqxY0VuERqid8GnyPXXCKxAlmFoZvpNNJY3iJbJwg4qbqx4cyUsedxp0YqSHx+qlcgmhcIhvDk2q/edEPD3B/resShiymSI/A5RRHrKcbktIeIfVCFXnKjYXhQH4BtYGXB0rmr75IfRnT5dCSRAwiWrCLFq65QH0VM2G3o8nALNqlO/PV+LxkHtfF5daTXZaB+tKUWIxVnVjCjXv43OtuPHc5lv2of8gPlwj7e4MVYtifEp+GEyufgxKu6x5ZSvVKWVNc1sOb0pO8e3Ytg3az3diBkXeLmxefavMa/EdzEFAiZxA5a5J/hEVYVlxwVKjDW2p31LChr+Zp1AGdnqEAwpTCi7vuAPtkJgZBdHVpDQ0K6jwfoohO+Q4z/Z0CyhdeSRpkEf35oADniAO78fMiB7Mdv/4pmyeWHHxWONVhmY/SaY05EdaZsnrHxYClaWpUeVh2RIjANurWu4ErrXsu/ujsPtS8O32bBfVTcmv76satikPiKUj7qMKm901tbU3FwSzAab2GtFjB4oumNYOw189OJZYD2Wcb3K9ly23RGrHa2nWJr9eYjbu9Dg+5xBzYllgKemSckMZXo/FzY9mkxDQYHHOPuv4jbIIBRV7mGiTfzh3NLlphxq3NTek4c3P1js87qvSTDb7QvHI0W0zo8GEwSHugtv2RG71oKpSDP5lHzD/1cVecjvOtfZDeXkP3yg0ke5renJMfTlaK9a3B3E/VIrI9MJ+LIhqlg6NhQh7+WUgMrco8TnuznoFRTaitwQpeYeyCBZFzJUNjYUIh/ntIhnMVTeH+wfSRe4/hjG9uRBc4s6gOhgGGT6quTQcYOlD1yg3dE85eDkPJhWq9Pe4akrd1asXxvrcuMbK3f/7niUAlTdYSg/vnqOE4ERjaNbsIDGdh+JZ4vdol3g/nPTW2dSmcTP28hocU3QjWPxplMSfgUFqcJtWZSAxZsUINz+FhnBnOPEwkKvdu6h2VW2/LXqcedUUA4O8QE9FPAxOBI23xVG98TkNql091OiK2jaKmxBZtHcEfG22Q+IX/SIxyRJmn95MqfJ0xqoUYnxmfJ2m15ychhVXEyU9IdyilSpIwIbK+OIcgevzdjWJb963q8vrE/nn1gTy5WlD0FnFKGkviejPGVeGdGlXYLLXKNGnvsP+yR9DyIcPlQod78nsO94vBk+9/qHS31Jt8uZJYkWC4VCt5e4xEEoM6pEkOnEqXTenX+rHcvHWz3Zd1QM7FbrU1C7PjWpIOh9AlEWLbX1Z+XMKHTufWcAyRV1Ddu3U/4cT2nkie3Y6slI+rmdgdMelnAuIpoHEf9DjmHHETXyz2yVvsJE5KAoHu2p20LqB4nU9+wsrKhMX4DAmkpWTKBEtb1kXt3190PyfonsXax5HGPRMhkq+NZ7E/cbjGU9dqb+BlTijgr1+sx6LO6X3/n7mjMTtRIIuh+NrY+FI0/qsOFeWw5JQfg3TpjpBguboVdb21scaWObSFGSabUMYm2veKi6b97r+J8hH+JOxjUjt1zcFqAS5CkDbrpSfxW3qTHMfMx+SMuUjpfuYk5MWwfRxaHsq4Wv36g+6m3tGIX/fQdPv5W/ejdx/o2yNfG1DPr/um5MicNtdFRUZKJKGcYNxgS3KfGKvDz9f6Wkjjpwe6/Ycwe7NjdGJiQl9i56xjximGbDFIuabkzkImulXs/RbpvjouDAXQrMrhNyC+70VU5O1TY9izHeVTVzNtOAwR/+iGrmdbKjObNsUaob6+tp0/RbOshcqkxXODK0Jd9Edj+sJ39InnFe3uSxooEzA6g2fkkFGaVOFJfKDCDM9Ctww8qH8Z7ynSKiclDiOrM8oQ2vWAxz4votY9pfb0/UqSvB498H6wvD72wnJlbNkySf8RfMzjeUZmgaP33w9VzIk9v7w+tkTeW24V9YRQb2QOSZd0OiW6aWCbSLhH8e7lXhIFdGfAB/yz1ThjLJuhnlZ5aTUUhdOFsDqgUMJS6Ni/dNdgBLZH/+7gdU0+PguEAQDUIuh+AgCAtQC5RkfBdEixvQ3bdDGvvaUEKuTWY2lj+j8gvTkcP/cKgH2vMvi5Ih40WRXEBErJopnAbgicInp1FHLciS1M5uzc1H2Zo1Yi/qXFMpcysKaeEDrmZ1ABEFKAq2rPqLYU2GQxzJoQk8dOWDtEE3AYsDngLLb4asob4/riQhk1iVJit7m44A4mMhlipv7BYLL7xjCxIcrmvXnzplpO4XOUE9DMkLwidRJKl/K70NaTRTGB35hwPFpGEvI484An3PvGuD+IJUSJFBOkiJPmplwi44opswIwzYgySu2UTEqKQhTAA4xi4ImMvN7FLeTbUgSnU3cF1fukNm+c91BmqIoCoK8i5cmBfJUYwYSH6uX1L/9TzXZyJcizh7gSkTXw1WSE6+7kiFpxOMngXWXr9zUgJHAfw/oE9BBIES1BqhlAGBTFQvFlKmmuyklD2yylGfJCfbIrd9lVCICKuDTU3pVCtQffT5UXtKpBYMB6QoyyGRGtAA4xQ8aEem7Igb198xzCgD6HstBXPoAecWE+qtxQGUPD2Ow1tSZFrEvTG4BTfdIttCaFSStqwkE3S4dK60hNa8iNEzeQSy1SGPv9LqAme2J3T5ZjtFg9N+wZAS6KjXjjZPs4oRWaHuibvDCBFYR24Emt8HrgIIhBhZYEnLGRQfbwqo3eVNGtnZXGYfEj6N1CwezdpId4EqWZwaRABDlsNx/PPRkeJceGTpSvJVN3hcyj+TFk92AYvf3BflZH+wfdOL28emMnURE0rAloaxsVMuWDg+cqfzZcPNIGG8vhLrMyeOCL6nb4kxpx7oA65BPArGMx1zuLJXYz3JA67ajhxgJ00g1ssc444EFo6Piwmy0cV/q69v3Pf3+jYvTyWuYo1lPxcC1IUY7QyVmOM7kGkTzMoGMg042DoiBaC+mx2yI6vB3qcwZ7GZUzHjACGC/rHIxhAKY7ADonwPuk4iIrJg1xDmhWsAQPEYePczlHEaIos9nw9wsMnjxnFYaoCFZ2umplJkvQK2tQUlx6goFxlHI/h4h7WcrISAINaOCMlYWWkaCQYcBwkNZOXwGyO80FHLGQ9jSMJvgzB9kv3FBlopllu+J7GFY605OsaGEEJS3QSi4jcXHgtnx1XgN7zngsEkdTmfOVVuBcblDKiQX1qMS5IotqgnVc1WlWN5pxTJMCEpIWY8CqG3jNC/vzEkUwtPlXIumTIHJjhsw2mtMiHuDm0oloJyIcQLCmVHqtUfMNRU0oq8bW2k0QUcO3AEAqxiOUNf9p+dWwLw+mMbBG3U58zabZ3EzZPvi6SC2VRzby5TIyJCMH/6JWoD7ENwFJ4YYUxYuHGp+bz4KFTm8SN0fjk+v52hVCwCJmdYj3IrcsljrDyl1HJsDZCp98gbElIetNmhgHNCSF0eCpT8AFXeAkOa9WkKdOmsvdrZzoFMZ9bZ54iJT2zRsuA1eiXjJYnNXOpE4LD6Kesu3Tjgza3gEj3IfQFAC2eWhFjRAkYJsBXt1qlZQpyEmkdUQm82I2MFGG+hbm7e0RhtpnpbGTLYI3WyTdX4xpW61dfz3OQ0Ayw9r19eXf2VWjl+GdPQjCKuVyXYO5mnsiRNFaYPCD93J6HZOEVgDXB6qhEgYyBNSRSQ+lUy5ruoc1yBoWqE6DITzghhgDQDoQWnpXTjAluIle3I9hSkEdQ5h2BSQCHlSgAE0bs2hSZxzwrQijqSpNAmFgk9tocrglrdNjRDgzODkOXOSRJiqhGXwTMl/rRhnuxfghh8hgA3qzs3hUxx+Qfk+9sxUU+AENFJixDu5wP3Z2Q++UUscUyijPfGHjQHWoaDRTeuCgdvEcc6Q5zTGjxpr3kypTD3LulahkEiVQ0Uud7aAy/o0xQW5aVLDYd4H8NGHG/AQj4mIgJmUWXTQC2qDNQRjZsbGjQw2NjJgRyrHnXQeNRHVPA8ctGFrclA5ZfjvWipfpoTDV9pf/Mo7tai8BAxYdSmZGPJCMQFTWpMYPHtlOQBPR2iMkhAhz2NYDJd6ZCNc2cEIMCgcU4IorzPmtpGeVOEdLxGWJWzMW3I9oZLIoZothQvSdAbjJIByshu+TLG4wZPnYtfqHAOE9rGoBVVXfUDTy3JpshAJs9Y3GdDtCyGI45mIaloHN8gSZ7IgA5YkI/IsLi9EvorIyFbNGWU1hUDPhOA3MIKSYHtaZgkBUlwIwKELCi5YyNCEi6dTz6XMiERT4c8NML2NNxwY+ibFJTJfzVOhklbhy78vxYFRY6OGePdxFBeQGo/Ttm2idvj9N7prOu9lpHR4+w+GVMfJbyL1i7qYcJ4dXmh+hHTu6rwEVIXKy/3jC917PgtDHPf+4HLFy/DLeOsXv/3NDKcMEKDt/9ydhFVa3vb6W+SlbJz5eDfehLDb7kli2UP21H5PLLvoJbl0YU/X3uXpDdukMA9R3ZIg5YPa7jPnBKvek9oAUZs2ioqRNJgF7yG7jduXjkIFi8HtIyTBFdSCfwSxiDrAOFFXSgSmYbiW7EmMJZvKKHyvqeBWAl4rIYJ4i+nyEnDOsSYqP3Z2Cmm+ojmLOVZ3oLasKCQg0OlH7jsojowlBHhrWZMG8ZgecIl/090JhUTzPDKTZsjL8Ks75B+PcdGWcxWuqsTgxJfPAIMmQ98O4DLNML1eT5e96TK+E5n2sT+7xGEfsOCUMq4LxtPaKqR+y/DmvX8z5V16cNRvSNCt8xYZbduyqW5tcdfXHYZxk174Pl6WSXvbBgkTltO6rI2i5gMXKsXpV+jCUdpHtOQhiXr9NGHLbLbM8dV/vaF7vyH8UPNoJT33HPY7qH9U9Zgtr+f5sflGmx7Tsh5wMbabqmIr1hmL9uLm11wb8SIpzMogZaStvFCFB0fdUVmWA6CylZSjoRG7Khd75hwAga49NP7R/hwGgbtrf528Wpur4/Q2MDsDEsjHhf9HAH5wiwngoAgsmI42mvg6guvGh8gSfDcPyMolE3YVfvaTEOy9sjirvY5kuAF1PXQcKG2CmSYE2Uz7FV/vlFOqLTxVba3vldLnGeI0yrbRrSXNDVoxbYQqTaYOyPpWtaOxeKJkGHlkMzARIHfi73Qxk1VcJir4VbEnc27SBBGQiAVyaPwBpdQX5fEUZl8i3XFgAAPemXfJZaSwOHpSsq456Iv68nJHNz6UnWYVU1RnhpgOLA3W0Q/8GAIF0JgCgbb2Ch3opznsh1GwjVPAcoYPPemHoRLIXlmbMGR1HLSxAE8/soYUA9UJoW0mo4D5CB6/1wrDwrheWUZg/WhztWAJyxfJkKpFFwYpI5ItVqgDKNsoXg5sYmR2mYm3CijQwysks3cfwpdYgiszMKU8CoyqwS7YkmFzPoWww0V98buRp/lNF7S01tK/wYPu+Y1ZeUFJVXuKLo48fGECqTpEMJQqlgy9/ELGlEgo5qtYMLQdfDSEBUENDM2TzkYaavYwjVSuSmKdVWY1ks1WEmAh4FfIuVC4SDJ7KhjeaOJ9MhicTmo2aIHaeTEB2zcJdNwIFg0BzCqJBpP8GMn0GDBkxZsKUGXMWLFmxFoAjRao06XYGCnQyYsJmW4waN+YDrAwMJMik1QYNBQ4yIYugfYOv8B2xAwUGJiQhBV2ga+gFMUhBDv0wCMMwCuMw6a8qznNl8plPPvd1mEymp99LsrYJtKzQ22Orp0+4zRQq8tIvhrp5uqKgWxsTX1KsmIybUa+sKUntitW2ZxT0CrKC3kF2G1e9pFgxEbklV3Oyb0PuVhCODl7K1JzkrKW22rHL89V628/HtBNU7UB6hXWzouM2AbJlY9OyI9DG3NhVC9vYc90mRbz5xuQBtuNgY7Va26g7riIb+1A6fmPPLAAAAA==) format(\"woff2\")}.dcg-mq-aria-alert,.dcg-calculator-api-container .dcg-mq-mathspeak{position:absolute;left:-1000px;top:-1000px;width:0px;height:0px;text-align:left;overflow:hidden}.dcg-calculator-api-container .dcg-mq-editable-field{display:-moz-inline-box;display:inline-block}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-cursor{border-left:1px solid currentColor;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-cursor.dcg-mq-blink{visibility:hidden}.dcg-calculator-api-container .dcg-mq-editable-field,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-editable-field{border:1px solid gray}.dcg-calculator-api-container .dcg-mq-editable-field.dcg-mq-focused,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-editable-field.dcg-mq-focused{-webkit-box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;-moz-box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px;border-color:#709ac0}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-editable-field{margin:1px}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-latex-command-input{color:inherit;font-family:Courier New,monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-latex-command-input.dcg-mq-empty{background:transparent}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-latex-command-input.dcg-mq-hasCursor{border-color:ActiveBorder}.dcg-calculator-api-container .dcg-mq-editable-field.dcg-mq-empty:after,.dcg-calculator-api-container .dcg-mq-editable-field.dcg-mq-text-mode:after,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-empty:after{visibility:hidden;content:\"c\"}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-cursor:only-child:after,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-textarea+.dcg-mq-cursor:last-child:after{visibility:hidden;content:\"c\"}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-text-mode .dcg-mq-cursor:only-child:after{content:\"\"}.dcg-calculator-api-container .dcg-mq-editable-field.dcg-mq-text-mode{overflow-x:auto;overflow-y:hidden}.dcg-calculator-api-container .dcg-mq-root-block,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.dcg-calculator-api-container .dcg-mq-root-block .dcg-mq-digit,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block .dcg-mq-digit{margin-left:.009em;margin-right:.009em}.dcg-calculator-api-container .dcg-mq-root-block .dcg-mq-group-start,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block .dcg-mq-group-start{margin-left:.11em;margin-right:-.01em}.dcg-calculator-api-container .dcg-mq-root-block .dcg-mq-group-other,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block .dcg-mq-group-other{margin-left:-.01em;margin-right:-.01em}.dcg-calculator-api-container .dcg-mq-root-block .dcg-mq-group-leading-1,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block .dcg-mq-group-leading-1,.dcg-calculator-api-container .dcg-mq-root-block .dcg-mq-group-leading-2,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block .dcg-mq-group-leading-2{margin-left:0;margin-right:-.01em}.dcg-calculator-api-container .dcg-mq-root-block .dcg-mq-group-leading-3,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block .dcg-mq-group-leading-3{margin-left:.036em;margin-right:-.01em}.dcg-calculator-api-container .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-start,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-start,.dcg-calculator-api-container .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-other,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-other,.dcg-calculator-api-container .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-leading-1,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-leading-1,.dcg-calculator-api-container .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-leading-2,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-leading-2,.dcg-calculator-api-container .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-leading-3,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-root-block.dcg-mq-suppress-grouping .dcg-mq-group-leading-3{margin-left:.009em;margin-right:.009em}.dcg-calculator-api-container .dcg-mq-math-mode{font-variant:normal;font-weight:400;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-non-leaf,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-scaled{display:-moz-inline-box;display:inline-block}.dcg-calculator-api-container .dcg-mq-math-mode var,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-text-mode,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-nonSymbola{font-family:Times New Roman,Symbola,serif;line-height:.9}.dcg-calculator-api-container .dcg-mq-math-mode svg{fill:currentColor;position:absolute;top:0;left:0;width:100%;height:100%}.dcg-calculator-api-container .dcg-mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-empty{background:#0003}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-empty.dcg-mq-root-block,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-empty.dcg-mq-quiet-delimiter,.dcg-calculator-api-container .dcg-mq-math-mode.dcg-mq-empty{background:transparent}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-text-mode{display:inline-block;white-space:pre}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-text-mode.dcg-mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -.1em;min-width:1ex}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-font{font:1em Times New Roman,Symbola,serif}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-font *{font-family:inherit;font-style:inherit}.dcg-calculator-api-container .dcg-mq-math-mode b,.dcg-calculator-api-container .dcg-mq-math-mode b.dcg-mq-font{font-weight:bolder}.dcg-calculator-api-container .dcg-mq-math-mode var,.dcg-calculator-api-container .dcg-mq-math-mode i,.dcg-calculator-api-container .dcg-mq-math-mode i.dcg-mq-font{font-style:italic}.dcg-calculator-api-container .dcg-mq-math-mode var.dcg-mq-f{margin-right:.2em;margin-left:.1em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-roman var.dcg-mq-f{margin:0}.dcg-calculator-api-container .dcg-mq-math-mode big{font-size:200%}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-int>big{display:inline-block;-webkit-transform:scaleX(.7);-moz-transform:scaleX(.7);-ms-transform:scaleX(.7);-o-transform:scaleX(.7);transform:scaleX(.7);vertical-align:-.16em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-int>.dcg-mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-int>.dcg-mq-supsub>.dcg-mq-sup>.dcg-mq-sup-inner{vertical-align:1.3em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-int>.dcg-mq-supsub>.dcg-mq-sub{margin-left:-.35em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-roman{font-style:normal}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-sans-serif{font-family:sans-serif,Symbola,serif}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-monospace{font-family:monospace,Symbola,serif}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overline{border-top:1px solid;margin-top:1px}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-underline{border-bottom:1px solid;margin-bottom:1px}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub{text-align:left;font-size:90%;vertical-align:-.5em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub.dcg-mq-sup-only{vertical-align:.5em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub.dcg-mq-sup-only>.dcg-mq-sup{display:inline-block;vertical-align:text-bottom}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub .dcg-mq-sup{display:block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub .dcg-mq-sub{display:block;float:left}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub .dcg-mq-binary-operator{padding:0 .1em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub .dcg-mq-fraction{font-size:70%}.dcg-calculator-api-container .dcg-mq-math-mode sup.dcg-mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-.6em;margin-left:.2em;min-width:.5em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-ghost svg{opacity:.2}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-bracket-middle{margin-top:.1em;margin-bottom:.1em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-bracket-l,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-bracket-r{position:absolute;top:0;bottom:2px}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-bracket-l{left:0}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-bracket-r{right:0}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-bracket-container{position:relative}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-array{vertical-align:middle;text-align:center}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-array>span{display:block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-operator-name{font-family:Symbola,Times New Roman,serif;line-height:.9;font-style:normal}.dcg-calculator-api-container .dcg-mq-math-mode var.dcg-mq-operator-name.dcg-mq-first{padding-left:.2em}.dcg-calculator-api-container .dcg-mq-math-mode var.dcg-mq-operator-name.dcg-mq-last,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-supsub.dcg-mq-after-operator-name{padding-right:.2em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-fraction{font-size:90%;text-align:center;vertical-align:-.4em;padding:0 .2em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-fraction,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator,.dcg-calculator-api-container .dcg-mq-math-mode x:-moz-any-link{display:-moz-groupbox}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-fraction,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator,.dcg-calculator-api-container .dcg-mq-math-mode x:-moz-any-link,.dcg-calculator-api-container .dcg-mq-math-mode x:default{display:inline-block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-numerator,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-denominator,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-dot-recurring{display:block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-numerator{padding:0 .1em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-dot-recurring{text-align:center;height:.3em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-sqrt-prefix{position:absolute;top:1px;bottom:.15em;width:.95em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-sqrt-container{position:relative}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-sqrt-stem{border-top:1px solid;margin-top:1px;margin-left:.9em;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-diacritic-above{display:block;text-align:center;line-height:.4em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-diacritic-stem{display:block;text-align:center}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-hat-stem{display:block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator{vertical-align:-.2em;padding:.2em;text-align:center}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator .dcg-mq-from,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator big,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator .dcg-mq-to{display:block}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator .dcg-mq-from,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator .dcg-mq-to{font-size:80%}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-large-operator .dcg-mq-from{float:right;width:100%}.dcg-calculator-api-container .dcg-mq-math-mode,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-editable-field{cursor:text;font-family:Symbola,Times New Roman,serif}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overarc{border-top:1px solid black;-webkit-border-top-right-radius:50% .3em;-moz-border-radius-topright:50% .3em;border-top-right-radius:50% .3em;-webkit-border-top-left-radius:50% .3em;-moz-border-radius-topleft:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overarrow{min-width:.5em;border-top:1px solid black;margin-top:1px;padding-top:.2em;text-align:center;position:relative}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overarrow:after{position:absolute;right:-.1em;top:-.48em;font-size:.5em;content:\"\\27a4\"}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overarrow.dcg-mq-arrow-left:after{content:\"\";display:none}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overarrow.dcg-mq-arrow-left:before,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-overarrow.dcg-mq-arrow-leftright:before{position:absolute;top:-.48em;left:-.1em;font-size:.5em;content:\"\\27a4\";-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:\"FlipH\"}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection .dcg-mq-non-leaf,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection .dcg-mq-non-leaf,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection .dcg-mq-scaled,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection .dcg-mq-scaled{background:#b4d5fe!important}.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection.dcg-mq-blur,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection.dcg-mq-blur,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection.dcg-mq-blur .dcg-mq-non-leaf,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection.dcg-mq-blur .dcg-mq-non-leaf,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection.dcg-mq-blur .dcg-mq-scaled,.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection.dcg-mq-blur .dcg-mq-scaled{background:#d4d4d4!important;color:#000;border-color:#000}html.dcg-calculator-api-container body .dcg-mq-math-mode .dcg-mq-selection .dcg-mq-nthroot-container *,html body .dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-selection .dcg-mq-nthroot-container *,html.dcg-calculator-api-container body .dcg-mq-editable-field .dcg-mq-selection .dcg-mq-nthroot-container *,html body .dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-selection .dcg-mq-nthroot-container *{background:transparent!important}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-textarea,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.dcg-calculator-api-container .dcg-mq-editable-field .dcg-mq-textarea *,.dcg-calculator-api-container .dcg-mq-math-mode .dcg-mq-textarea *{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.dcg-calculator-api-container .dcg-container{text-align:left;transform-origin:0 0}.dcg-calculator-api-container pre{white-space:pre-wrap}.dcg-calculator-api-container img{border:0;outline:none}.dcg-calculator-api-container input::-ms-clear{display:none}.dcg-calculator-api-container button,.dcg-calculator-api-container input,.dcg-calculator-api-container select,.dcg-calculator-api-container textarea{font-family:inherit}.dcg-calculator-api-container button,.dcg-calculator-api-container select{text-transform:none}.dcg-calculator-api-container button,.dcg-calculator-api-container input[type=button],.dcg-calculator-api-container input[type=reset],.dcg-calculator-api-container input[type=submit]{-webkit-appearance:button;appearance:button;cursor:pointer;color:inherit}.dcg-calculator-api-container button[disabled],.dcg-calculator-api-container input[disabled]{cursor:default}.dcg-calculator-api-container input[type=search]{-webkit-appearance:textfield;appearance:textfield;box-sizing:content-box}.dcg-calculator-api-container input[type=search]::-webkit-search-cancel-button,.dcg-calculator-api-container input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dcg-calculator-api-container button::-moz-focus-inner,.dcg-calculator-api-container input::-moz-focus-inner{border:0;padding:0}.dcg-calculator-api-container table{border-collapse:collapse;border-spacing:0}.dcg-calculator-api-container input::-webkit-outer-spin-button,.dcg-calculator-api-container input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.dcg-calculator-api-container .dcg-background--light-blue{background:#d7e6ff}.dcg-calculator-api-container .dcg-text--dark-blue{color:#17396e}.dcg-calculator-api-container .dcg-text--centered{text-align:center}.dcg-calculator-api-container .dcg-text--uppercase{text-transform:uppercase}.dcg-calculator-api-container .dcg-unstyled-list{list-style-type:none;margin:0;padding:0}.dcg-calculator-api-container .dcg-unstyled-list li{margin:0;text-indent:0}.dcg-calculator-api-container .dcg-forced-color-none{forced-color-adjust:none}.dcg-calculator-api-container .dcg-unstyled-button{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none;-webkit-appearance:button;border:none;background-color:unset;padding:0}.dcg-calculator-api-container .dcg-unstyled-link{text-decoration:none!important;color:unset}.dcg-calculator-api-container .dcg-unstyled-heading{margin:0;font-size:inherit;font:inherit;font-weight:inherit}@media (prefers-reduced-motion){.dcg-calculator-api-container .dcg-container *,.dcg-calculator-api-container .dcg-container *:after,.dcg-calculator-api-container .dcg-container *:before{transition:none!important;animation-duration:0ms!important;animation-delay:0ms!important}}.dcg-calculator-api-container .dcg-container.dcg-default-border{border:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-container a,.dcg-calculator-api-container .dcg-container a:hover{text-decoration:none}.dcg-calculator-api-container .dcg-container.dcg-no-graphpaper .dcg-grapher,.dcg-calculator-api-container .dcg-container.dcg-no-graphpaper .dcg-resize-list-btn{display:none}.dcg-calculator-api-container .dcg-container .dcg-grapher.dcg-scale-horizontal{cursor:ew-resize}.dcg-calculator-api-container .dcg-container .dcg-grapher.dcg-scale-vertical{cursor:ns-resize}.dcg-calculator-api-container .dcg-container .dcg-grapher.dcg-scale-both{cursor:nesw-resize}.dcg-calculator-api-container .dcg-grapher-focused{box-shadow:inset 0 0 0 3px #2f72dc99}.dcg-calculator-api-container .dcg-graph-outer{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0;outline:none}.dcg-calculator-api-container .dcg-container.dcg-no-expression-topbar .dcg-expression-top-bar{display:none}.dcg-calculator-api-container .dcg-container.dcg-no-expression-topbar .dcg-exppanel-container{padding-top:0}.dcg-calculator-api-container .dcg-container.dcg-no-hyperlinks a[target=_blank]{display:none!important}.dcg-calculator-api-container .dcg-container.dcg-inverted-colors{filter:invert(100%)}.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-grapher-3d,.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-colored-icon,.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-color-swatch,.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-color-tile>.dcg-icon-check{filter:invert(100%)}.dcg-calculator-api-container .dcg-container{width:100%;height:100%;position:relative;background:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000);z-index:0;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;font-family:arial,sans-serif;font-size:16px}.dcg-calculator-api-container .dcg-container.dcg-is-interactive,.dcg-calculator-api-container .dcg-container.dcg-is-interactive .dcg-grapher{touch-action:none}.dcg-calculator-api-container .dcg-container *{box-sizing:border-box}.dcg-calculator-api-container .dcg-container .dcg-text-selectable{-webkit-user-select:text;user-select:text}.dcg-calculator-api-container .dcg-graphpaper-branding{position:absolute;bottom:0;right:-8px;width:110px;margin-left:-55px;display:none;z-index:21}.dcg-calculator-api-container .dcg-fullscreen .dcg-graphpaper-branding{display:block;opacity:1}.dcg-calculator-api-container .dcg-fullscreen .dcg-graphpaper-branding .dcg-powered-by,.dcg-calculator-api-container .dcg-fullscreen .dcg-graphpaper-branding i{position:relative;text-shadow:-1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff}.dcg-calculator-api-container .dcg-expressions-branding,.dcg-calculator-api-container .dcg-graphpaper-branding{text-align:center;font-size:75%;text-decoration:none;line-height:1em;height:45px;overflow:hidden}.dcg-calculator-api-container .dcg-expressions-branding.dcg-unclickable,.dcg-calculator-api-container .dcg-graphpaper-branding.dcg-unclickable{pointer-events:none;z-index:-1}.dcg-calculator-api-container .dcg-expressions-branding .dcg-powered-by,.dcg-calculator-api-container .dcg-graphpaper-branding .dcg-powered-by{color:#0003;text-decoration:none;transition:color .3s;display:block}.dcg-calculator-api-container .dcg-expressions-branding i,.dcg-calculator-api-container .dcg-graphpaper-branding i{color:#0003;font-size:650%;margin-right:2px;line-height:18px;transition:color .3s;height:18px}.dcg-calculator-api-container .dcg-expressions-branding a,.dcg-calculator-api-container .dcg-expressions-branding .dcg-edit-branding,.dcg-calculator-api-container .dcg-graphpaper-branding a,.dcg-calculator-api-container .dcg-graphpaper-branding .dcg-edit-branding{cursor:pointer;display:block;height:50px}.dcg-calculator-api-container .dcg-expressions-branding a.dcg-hovered .dcg-powered-by,.dcg-calculator-api-container .dcg-expressions-branding .dcg-edit-branding.dcg-hovered .dcg-powered-by,.dcg-calculator-api-container .dcg-graphpaper-branding a.dcg-hovered .dcg-powered-by,.dcg-calculator-api-container .dcg-graphpaper-branding .dcg-edit-branding.dcg-hovered .dcg-powered-by{color:#aaa}.dcg-calculator-api-container .dcg-expressions-branding a.dcg-hovered i,.dcg-calculator-api-container .dcg-expressions-branding .dcg-edit-branding.dcg-hovered i,.dcg-calculator-api-container .dcg-graphpaper-branding a.dcg-hovered i,.dcg-calculator-api-container .dcg-graphpaper-branding .dcg-edit-branding.dcg-hovered i{color:#127a3d}.dcg-calculator-api-container .dcg-narrow .dcg-graphpaper-branding,.dcg-calculator-api-container .dcg-no-branding .dcg-expressions-branding,.dcg-calculator-api-container .dcg-no-branding .dcg-graphpaper-branding{display:none}.dcg-calculator-api-container .dcg-button,.dcg-calculator-api-container .dcg-btn-blue,.dcg-calculator-api-container .dcg-btn-red,.dcg-calculator-api-container .dcg-btn-light-gray,.dcg-calculator-api-container .dcg-btn-gray-outline,.dcg-calculator-api-container .dcg-btn-primary,.dcg-calculator-api-container .dcg-btn-secondary,.dcg-calculator-api-container .dcg-btn-pink,.dcg-calculator-api-container .dcg-btn-white-outline{text-decoration:none;padding:0 20px;-webkit-appearance:none;appearance:none;-webkit-user-select:none;user-select:none;border-radius:3px;font:inherit;line-height:2.125rem;border:none;cursor:pointer;white-space:nowrap;text-align:center}.dcg-calculator-api-container .dcg-button.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-blue.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-red.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-light-gray.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-gray-outline.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-primary.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-secondary.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-pink.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-white-outline.dcg-focus-visible{outline:2px solid #8c29be;outline-offset:3px}.dcg-calculator-api-container .dcg-btn-red,.dcg-calculator-api-container .dcg-btn-blue,.dcg-calculator-api-container .dcg-btn-primary,.dcg-calculator-api-container .dcg-btn-gray-outline,.dcg-calculator-api-container .dcg-btn-secondary{color:#fff;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000000d}.dcg-calculator-api-container .dcg-btn-red,.dcg-calculator-api-container .dcg-btn-blue,.dcg-calculator-api-container .dcg-btn-primary{white-space:nowrap}.dcg-calculator-api-container .dcg-btn-red.dcg-hovered:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-red.dcg-focus-visible:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-blue.dcg-hovered:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-blue.dcg-focus-visible:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-primary.dcg-hovered:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-primary.dcg-focus-visible:not(.dcg-disabled){transition:background .2s}.dcg-calculator-api-container .dcg-btn-red.dcg-depressed:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-blue.dcg-depressed:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-primary.dcg-depressed:not(.dcg-disabled){box-shadow:none}.dcg-calculator-api-container .dcg-btn-red{background:#ce4945;border:1px solid #aa3a37}.dcg-calculator-api-container .dcg-btn-red.dcg-hovered:not(.dcg-disabled),.dcg-calculator-api-container .dcg-btn-red.dcg-focus-visible:not(.dcg-disabled){background:#bc433f}.dcg-calculator-api-container .dcg-btn-red.dcg-depressed:not(.dcg-disabled){background:#b03936}.dcg-calculator-api-container .dcg-btn-blue,.dcg-calculator-api-container .dcg-btn-primary{background:#2f72dc;border:1px solid #4380e0}.dcg-calculator-api-container .dcg-btn-blue.dcg-disabled,.dcg-calculator-api-container .dcg-btn-primary.dcg-disabled{opacity:.5;pointer-events:none}.dcg-calculator-api-container .dcg-btn-blue.dcg-hovered,.dcg-calculator-api-container .dcg-btn-blue.dcg-focus-visible,.dcg-calculator-api-container .dcg-btn-primary.dcg-hovered,.dcg-calculator-api-container .dcg-btn-primary.dcg-focus-visible{background:#2457a8}.dcg-calculator-api-container .dcg-btn-blue.dcg-depressed,.dcg-calculator-api-container .dcg-btn-primary.dcg-depressed{background:#193d75}.dcg-calculator-api-container .dcg-btn-secondary{background:#fff;border:1px solid #2f72dc;color:#2f72dc}.dcg-calculator-api-container .dcg-btn-secondary.dcg-hovered,.dcg-calculator-api-container .dcg-btn-secondary.dcg-focus-visible{border-color:#2457a8;box-shadow:0 0 0 1px #2457a8;color:#2253a1}.dcg-calculator-api-container .dcg-btn-secondary.dcg-depressed{border-color:#193d75;box-shadow:0 0 0 1px #193d75;color:#17396e;background:#2f72dc1a}.dcg-calculator-api-container .dcg-btn-pink{background:#b92a73;color:#fff}.dcg-calculator-api-container .dcg-btn-pink.dcg-disabled{opacity:.5;pointer-events:none}.dcg-calculator-api-container .dcg-btn-pink.dcg-hovered,.dcg-calculator-api-container .dcg-btn-pink.dcg-focus-visible{background:linear-gradient(0deg,#0000000d 0% 100%),#b92a73}.dcg-calculator-api-container .dcg-btn-pink.dcg-depressed{box-shadow:0 3px 3px inset #0003}.dcg-calculator-api-container .dcg-btn-gray-outline{background:#fff;border:1px solid #666;color:#666}.dcg-calculator-api-container .dcg-btn-gray-outline.dcg-hovered,.dcg-calculator-api-container .dcg-btn-gray-outline.dcg-focus-visible{border-color:#454545;box-shadow:0 0 0 1px #454545;color:#454545}.dcg-calculator-api-container .dcg-btn-gray-outline.dcg-depressed{border-color:#000;box-shadow:0 0 0 1px #000;color:#000;background:#0000001a}.dcg-calculator-api-container .dcg-btn-white-outline{border:1px solid rgba(250,250,250,.8);color:#fafafae6}.dcg-calculator-api-container .dcg-btn-white-outline.dcg-hovered,.dcg-calculator-api-container .dcg-btn-white-outline.dcg-depressed,.dcg-calculator-api-container .dcg-btn-white-outline.dcg-focus-visible{border-color:#fafafae6;box-shadow:0 0 0 1px #fafafae6;color:#fff}.dcg-calculator-api-container .dcg-btn-white-outline.dcg-depressed{background:#fafafa1a}.dcg-calculator-api-container .dcg-btn-light-gray{box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000005;background:linear-gradient(var(--dcg-custom-background-color, #f6f6f6),var(--dcg-custom-background-color, #eff2f3));border:1px solid rgba(206,206,206,.8)}.dcg-calculator-api-container .dcg-btn-light-gray.dcg-hovered,.dcg-calculator-api-container .dcg-btn-light-gray.dcg-focus-visible{background:var(--dcg-custom-background-color, #eff2f3);border:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-btn-light-gray.dcg-depressed{background:var(--dcg-custom-background-color, #ccc);border:1px solid #999;box-shadow:none}.dcg-calculator-api-container .dcg-primary-link{color:#2f72dc;cursor:pointer;text-decoration:underline}.dcg-calculator-api-container .dcg-primary-link.dcg-hovered,.dcg-calculator-api-container .dcg-primary-link.dcg-focus-visible{color:#2253a1}.dcg-calculator-api-container .dcg-primary-link.dcg-depressed{color:#17396e}.dcg-calculator-api-container .dcg-inverted-colors .dcg-btn-red,.dcg-calculator-api-container .dcg-inverted-colors .dcg-btn-blue,.dcg-calculator-api-container .dcg-inverted-colors .dcg-btn-primary{box-shadow:inset 0 -1px #ffffff26,inset 0 1px #0000001a}.dcg-calculator-api-container input.dcg-input-blue-outline,.dcg-calculator-api-container textarea.dcg-input-blue-outline{outline:none;border-radius:3px;border:1px solid #ccc;padding:7px;-webkit-appearance:none;appearance:none;font-size:inherit;box-sizing:border-box}.dcg-calculator-api-container input.dcg-input-blue-outline:focus,.dcg-calculator-api-container textarea.dcg-input-blue-outline:focus{border:1px solid #2f72dc;box-shadow:0 0 0 1px #2f72dc}.dcg-calculator-api-container input.dcg-input-blue-outline::-ms-clear,.dcg-calculator-api-container textarea.dcg-input-blue-outline::-ms-clear{display:none}.dcg-calculator-api-container .dcg-navigation-arrow{color:#999;font-size:170%;text-decoration:none;margin:0 -5px -5px;padding:10px}.dcg-calculator-api-container .dcg-navigation-arrow.dcg-hovered,.dcg-calculator-api-container .dcg-navigation-arrow.dcg-focus-visible{color:#666}.dcg-calculator-api-container .dcg-navigation-arrow.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-blue-link{color:#2f72dc;cursor:pointer;text-decoration:underline}.dcg-calculator-api-container .dcg-blue-link.dcg-hovered,.dcg-calculator-api-container .dcg-blue-link.dcg-focus-visible{color:#2253a1}.dcg-calculator-api-container .dcg-blue-link.dcg-focus-visible{outline:2px solid #8c29be;outline-offset:3px}.dcg-calculator-api-container .dcg-blue-link.dcg-depressed{color:#17396e}.dcg-calculator-api-container .dcg-red-link{color:#c0504d;cursor:pointer;text-decoration:underline}.dcg-calculator-api-container .dcg-red-link.dcg-hovered,.dcg-calculator-api-container .dcg-red-link.dcg-focus-visible{color:#ad1a1a}.dcg-calculator-api-container .dcg-red-link.dcg-depressed{color:#860606}.dcg-calculator-api-container .dcg-gray-link{color:#666;cursor:pointer;text-decoration:underline}.dcg-calculator-api-container .dcg-gray-link.dcg-hovered,.dcg-calculator-api-container .dcg-gray-link.dcg-focus-visible{color:#333}.dcg-calculator-api-container .dcg-gray-link.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-shared-tab-gray-underline{text-align:center;display:inline-block;padding:5px 0;margin:5px 0;color:#666;text-decoration:none}.dcg-calculator-api-container .dcg-shared-tab-gray-underline.dcg-shared-tab-always-underline{border-bottom:3px solid #e2e2e2}.dcg-calculator-api-container .dcg-shared-tab-gray-underline:not(.dcg-shared-tab-always-underline).dcg-hovered,.dcg-calculator-api-container .dcg-shared-tab-gray-underline:not(.dcg-shared-tab-always-underline).dcg-depressed,.dcg-calculator-api-container .dcg-shared-tab-gray-underline:not(.dcg-shared-tab-always-underline).dcg-selected{padding-bottom:2px}.dcg-calculator-api-container .dcg-shared-tab-gray-underline.dcg-hovered,.dcg-calculator-api-container .dcg-shared-tab-gray-underline.dcg-focus-visible{border-bottom:3px solid #bbb}.dcg-calculator-api-container .dcg-shared-tab-gray-underline.dcg-depressed{color:#000;border-bottom:3px solid #999}.dcg-calculator-api-container .dcg-shared-tab-gray-underline.dcg-selected{color:#2f72dc;border-bottom:3px solid #2f72dc;cursor:pointer}.dcg-calculator-api-container input.dcg-shared-input-blue-outline,.dcg-calculator-api-container textarea.dcg-shared-input-blue-outline{outline:none;border-radius:3px;border:1px solid #ccc;padding:7px;-webkit-appearance:none;appearance:none;font:inherit;box-sizing:border-box}.dcg-calculator-api-container input.dcg-shared-input-blue-outline:focus,.dcg-calculator-api-container textarea.dcg-shared-input-blue-outline:focus{border:1px solid #2f72dc;box-shadow:0 0 0 1px #2f72dc}.dcg-calculator-api-container input.dcg-shared-input-blue-outline::-ms-clear,.dcg-calculator-api-container textarea.dcg-shared-input-blue-outline::-ms-clear{display:none}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem textarea.dcg-smart-textarea,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-displayTextarea{font-size:113%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionimage .dcg-image-loaded .dcg-mq-math-mode{font-size:130%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-poi-label{font-size:150%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-poi-label .dcg-pt{border-width:8px;border-radius:8px;margin-left:-4px;margin-top:-4px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-poi-label.dcg-hole .dcg-pt{border-width:4px;padding:5px;border-radius:9px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-poi-label:not(.dcg-tracept) .dcg-pt{border-width:8px;border-radius:8px;margin-left:-4px;margin-top:-4px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-mq-editable-field,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-mq-math-mode,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-slider-container .dcg-mq-math-mode,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-mathquill-braille{font-size:150%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-mq-placeholder{margin-top:-.88em}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-fade-container .dcg-evaluation{font-size:135%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-fade-container .dcg-evaluation .dcg-mq-editable-field,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-fade-container .dcg-evaluation .dcg-mq-math-mode,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-fade-container .dcg-evaluation .dcg-mathquill-braille{font-size:100%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-fade-container .dcg-main:after{width:2px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-create-sliders{height:30px;line-height:30px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-create-sliders .dcg-msg{font-size:100%;padding:2px 0}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-create-sliders .dcg-btn-slider{font-size:120%;height:30px;line-height:30px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expressionitem .dcg-slider{bottom:30px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-display-domain{bottom:12px;font-size:110%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-slider_menu{bottom:6px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-slider_menu .dcg-mq-editable-field,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-slider_menu .dcg-mq-math-mode{font-size:120%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-slider_menu table{border-collapse:collapse;font-size:20px;margin:0 auto}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-slider_menu table input{font-size:81%}@font-face{font-family:dcg-icons-2024-08-02;src:url(data:font/woff2;base64,d09GMgABAAAAAFK0AAsAAAAAqVQAAFJhAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAg1gRCAqCwEiB/h4BNgIkA4Q0C4IcAAQgBYQiByAbTYazETXYLgBIXVv+00RRB7WqAYmiilSZ/V8OOJEh4EJ36yNtYpqYxosPaosw0A/1CXojCL+qZmxV3QjGyX0yRBIC/PPP/0Xvmd2AEeE0RFi8HKGxT3L95/k5+1/7nHsvEQrn3IRCqrmXEFqPtUOdhKTOPEiTtP6LJMx4lbTzpEIpVWNEazJeH1emTyp/JiMmqKR7XmmVV9m+5FoOvRIOY4flI4xFuv/c/J9JSPvP3AT5KrayJBdKDWhLn8HzSjYz27nbJDwTXvkqK7Gl2fD83P7PXd5F04MxxqAHA0bk1sACthFDQEFoyVAURErfUxAUsMEgxMR6ggXaoK/wlZhPn/8rYCUbZmuwgjFdc9mv8lENZ0+1DMoYcJNEMsz60Vp7mdmzPX9VQxLe8RRJhRACDLWZMa1D67GKyYk5MKty6nyYL3xHSIisgEeq0ZW6JRnUaSVrb2XA334apFVayXawjc3BQupc7PgQAgIVp9Y0wW0J3T3oXgeQDSAwwCX5/zfV/PY9LKEFN5KOlJy4ztrKqWgUHGJRxipVzu/dd2cw780MOTMAucCAXIGgtAbADUNQe5YE12cJSquFaDjJIYYqJAAKBikHkFr7QNImSo4hVXYbS5cu3brp3LQhpF+03Ydef0MLoZd8QaUnVQSpSVEVCKQgc09WztgpN1/W8utLSCuuBVzar5RF0MN1ruN//tR+j4SwcU8lCaZckIwEEuB4dkFp5W/31WM4pep/J9asE40J6RoFEuQOyP/pAFcU2gIVYO3sFQCbN5dGnyNI1tLVlkhkIqic2GnkFzsvgkrOUD01MN2QGlNOQ1SRHwDTYTo3B52bw9ap4P5kH7i/+9cCgjsHctY5pxw/F5YT56Q5RS4yp82l5LJyK3IFuaJPeZ3fjUYAoHTZ6FzvnEvONyeqLc9F5FQ5fW55LjeX/zgA7A/sfMJSeqHnX7777JOPPnjvnbfeeGXB5ivzOe5skp2Zz8I/hB02XYTdhB+SAxEo7Tk0sVaIpS2k0057UhfKp17qS8PoICqiYlpBpVRKh1M5VdARNIJG0lFURbV0DNXTFBqjy2kWnUJz6Qo6nebTAjrTKkIEs9s/BYR3JMxBwbbeHJe9AQTqNKKWAjZ2lXSLsBGRCiUyZpToYm/jcaCU47BAXToZGOVAmAqSVoRAc9LsEUQSb3lA+RQLkUA1rGuTda+ZxFomthI2mjQ0ASaYQjdQEc9shpWbjGDaJMqomGJAbhXmOEuddCdGOLBgSArYDgCdS/EQmBlgdsN5x8jfy6osq3QHqcNBl+1tbE97kzD7KW+gkAm53UhACVfK5Uo6W24VqCik5DQw0UK/CpB2FBUJKe5JNbQTnRCleI3QPSHPHcMENXTdqt8hSzTNIQIRq9puU1txQu21QLH8sF9jmuPrW/S7XFqR94tRWc5POUT3FR7L5f9dy56D6vsDfRLggDezVFF/OIpiVVCH77yX5EBITeqGOOsLs5jFBKDYFlPNsRZUQ8VGwdZ+DmL+EP0TS0skbwJNu5yb4KR1Qy0nit122yc6JEcoJOkecSMZ5/r9BSMcg0i5MMR/qgG1gL9qYbJWIBOFjg6kSrca9xE8slvXs1aHlJQlZaomeyQ7JwCypYhniNxC4a8N58+qmltgGZYFLCiKyxXP978t+DL/yeUvWrWjZ4DmN20AHEp/2BciQ6S0z9Pi3o0k3fxAHGsZNHfDZiGB0pW2qdaIYhut3iJ5xMncSQgEq9A+cYXa8FaP8FKhLJBDxAv8dwfEEyhFI6zP2n8asJtvRihjFOoQAKkPYInNv5JPVMwjiMhFRFGI8H/9LDj9yIVaR5PNhWywH13OwDBUJnmlpDcGyT0+3WZ671dtEDMXqtnHW67/9VVJZsEnPzVP8RpBhWnUHGcgTJSqbxlXGQn/WarFOZmRl8KUnLpEq/mF0uU/HVio09+E0al7MYl4pHlIaiIdUKRLkt24ryXgNFxGGbwUc2JEoEiCaOetrBBkyYikTFshJToZDsNGI8wcpsOhAZJi/6GgKRHgce1odZjlc7wvM6rXlrgTjUlZysv+4rhTnmoxUd/nvjFHRVltpLzZL+g4j8RR3j47VsqPuarEVnx9iV2iaFybrRwvoXe/iGJsVS71LxypSHeKcGnynhcUUHO83f6H3zAHwAJVgYlVAiEUhHb7kFxQ7Nwop58xmcKOu2cuMHalQxt/j76pRBS5ZMYkua9UhYnz76PHl/v07WU6DWCahDdkvBCr/61kSaYn22bL/f0P421+Slv+QI3y0v801AAosnb0gmCm7v0RPGtqKxlGuvckfaKin/GkXF3P6zTcYXS8Iv8UUJ63ZJ2kt7jOVvysSQpmp49S4WA/es0KFKu61INnxOpW0tt39HguL0fO6+3d7G7d5sPZXEoo4di3aFTZ5lfLwvHVwv9N7JJBktRGt8o/AxoWtfXF8bKywd3XxxXdbahz/MK8dqcP6xi/spoUUf5kVcyuOXWVx7a+UzxfqaxZoR/ouR3dhzHV5v42OVRUTji7k2nmZOfwgiwmKbkD28ZuyR25rzXPDyh/eoj6CLj01wh9QUYJAKyom0bkOI/s9qIBQovGI0zIN/u+VUhFb0YgqKGqgeKiKz+E6Ag7aWhOXxbuTzwrcYThGpZMSrz/YOxhMvDxA/txBYSG433oQI7BOniouX3KqrzqtjRLbs0pLEJjm6H5XZAgtdFG7jIIWo9CgTmbK+Tk7pVARrG7hxooKUF9uqENhHeBDBzc4AbvdK6kqsqR/lJdBX1HwWRqvUfhc3K/i9QpXK149bCiRFSUYrWaV9rkY+yfawwjPpzmNPv74GNZ+Z2k/J5EJXepSh4sSnj/99wkEfUNABR6FktRCUTgNQNkCO97j4dIx1Am2I3ekzsBy4VZbQh41KjJUxK11igILqMBnDzSCEl6jHGO+Zk2SmeWUD2foT3LKGTyOwHGR3CgZDHOUdhQbo5gOCXIs3OK0g49emFI0jlelxnVL06+9SdmLi/rs+NG+aWmHiA8Jx/K5D4XTXsZT768a/n6DXXq5/+Z3VeQ9mQuK1kRek98yzJGESShdrsgmCKOb38dvtYR8QqLPhrdOiz4lZl5Pm9pcsX3mVo7r4dmP1x6K8jcBvw0nH6KnK6SLOA0wA7d6QnZyB+q+4w4VWfjZNmXrDJLumQao5OKL/MNGYnd3BqGjKn0hokvpjKjGD43pRZVgVanVBJMDdHqGRd9an7z7elxSu8d2nyOmTvdH0pSl2P+itNOXbSirJzZac7Nq8ORUEhwWlDdrJ8q9bJ5Gfsagsy0Rx1tOYkNp6nlegZ6rtCpk42VMR+nPtWVokMFuD5WifE+QkhDyQJdCuREKJC4NXjlzExg/vKBPT0A9vV8oHd1/sBO1aFU7QTuFwUkq9uDkHs3Dtd69/JnpxlczVfgwWhYshP3yY8a6vaVBq4GJbjOjlZvh7q1kRbYPewhZrFsNaGTRzh5ghhbVpqzEqesjVvOXMndoJaPFgxDIo4mCDNe7iG/bkKJpv7n1CLUZy1vMAfOMQUZXHgacqsNhDiKSnNXUyMEWy1HIcBhAUKzkwpY59Rk+jHqRyeCxEAL2niuToOM1XPO6hptW1iDxcoBKZpp2W4G7OtVgnOas4xVBT9lKDGJ2Ky5wFsxDmwXWHPBz+J4vmjr05LWrHizunVQaj6QnpR4KqasoaioYn0nBj+uyfgWpKdpeZqt8oxoVeNokL/M1mlC1O3w26Vt18tmEgyOGTnvJJrHvhU7TT/IxpmGblZu3BxelO3aLl91f8gL6zJDgqT3VtapHr0gZte2reMd/lWdWpXqn+5CEjMnhzqzEv+vh/MaigxGq2I/uJE/svEZ6QNdQqU1Aj+eWmSlK7WNDbCZ4mz9d3UniQk2jG0NHN+iXAVjoMRc2Y7wCEmP4mUJmZzbBpg4giggpRLmLAH7yYk2qsxek40iQLPhOPPCKDYhLo3LjbzmIB0X2BxjxQSAPrEGESkXSUESB61AX1GrMIOdbdMiGwQR041rqLwgHI4CX8EWNvISQU7gAwbXQtgUd9DWVq19GhNJkJkmsnhdsMgUqCdP8EKKoN5YwFoAYGCKiCRjqH5gTlPWucolw80+tkMki2AForaM4Ex8EzFIgJMwzMqwGxTEwSw2PAeiqxkX13QpVlFbDb2QERjWWk+JiwslkLiXCqnHSoRGoZCaeDyzjutJkMHqXKWKgphSkKhkTaJfTUGnltyr6kG2kKRoUSpKl1hFe1WRHEiZLMIgRA5oLsIDxbPfjHY7GD3aC7ZJXF4wYg2/wkRSB7Ye1MXCyrKdiuWHapdOkyIzHht1I6dGhjmRS8/Z+4EfE6o+z3q0fBpoYUOdkxWRjTEfSPjKnZZj/oLQe0EXDnw94a/6QsFTIVQluL9ONr3sCoadZJXfFTR0kGjAkWgY8ruHwONRFD8CcU76EhhEEOI260dgu3ZqYhmeFUXRcAG87OKkEBTYAkqe8o+cTHkY5TD5q/VxCfuTOGQUMKEeLxrTxE0nmiIjArPVfqeGwINk+mFssEKqUJ2FK0PFvDYJIAW4A5Spd5PGdFVUgVa0Xih8eFaYCQoYLuEuyvWZowdzLNmkECJVttW0RxVeuiztbgxPEBNygLQGZL3QJOMNR+dQ/lf8YwGGEggnSoV4Cs5hWlUmjFFoW0NCvYhQAl/YjriHJNLZzVPKDr1gXqezILMuI3Eb65KdhRvxGJTjeRyZXbPrswoLW98+3Y3Qzcs2W65vf56BpUVWozhF71ACugQalLSZM3D1nBFv4uRk7pQg6bUiIqqjOKs27yDiJRtGUMgmEm/i65AGpKNII/ylqIMRfeU2A7WQZqjY2TEWQ8UMed70R9EgIl9tQ/zoRc3bcl43XV23mo/HbNeWsTMNtIWfbWvA+45IfyY0rKGP/NYLFOJVbxoClqPzvaUXZkAUZTU+CsIIYEY1AeKlMBNZyhpxwoepOat8iO9WpJAujvGL2BhmtLQt59ujUGzZMIerUF62uLyrSD2m1Jm7uImBgzgGiA0VSj1msGUN1IlSx6xkfX7CmUCO50VGmAj/DeBA/hT7Ws/nfeXCb8YywL9Yyfwr9XIxSX/uh+NSoDs56pssNkaVKeDbX8gMw6WKgdr0AMjOkm8xAlry2kDLVd9gVKFs8z10/es1ovFl6xWcPNO9756y23DjketKMBdJ8tsNf7TvCWlAoweqMInr6TFts8hculnI/4uOJV+tcQZvte1/SMmfzL5F3o3rfRH+Tl/yZfqmwgpBzLPr+9vN+/EtqF3CHmflepnOewSDHCUL/Qqr1NhK35N1q1U0pKAmox48jOvD9o1TuDFp0miX/8eyNU9jpKQEVb5g900gAnCx7aJpy5QDpqjtaqhoqPeet3R4AEbOr/mN1oglMs4xeFPNsWn8tRVAdwGtEMVay3ExRKeLe/dp2XScAeCSfjIvyuraGPoywQ03Ah4P/zRjNc3ZjPhHq57g51FccBP/uJ0WI6cvYUZar9TKJsIhjYKZHD6nNnde2715C7UzOSBN4E3o6/syEGGII8wGYfaBQlUVRUppJZl9Tl+UJBg/iKeEbNSN5yU87C4Y57pyMgK4yHHpfUxlQv4aJyBmw+x0FysOdFhLmd7ZKVhUAN1vRvsNYfODwwkrGZ4gaQF4eklcEZTazOlu+K8pwsOdxYzEztIK2RAVDR/AH5mOqDAYNXyZWFI7ZK1e/VhaOuaix4Zax6ZUMUHkeOcmNwpUC0t4beU0lJl102UCro70sOX9poo29TOSXm+p4r9I3liUSb9e62ZvL84Ovlm65ILpnvritTGM9A2sw8813Z22DYSitdKk+5YVD6P6hiBtFISxPjhCzg/p225/mjXSWnUkAjW9f4ouwFTuq/aD8Mnt2+kbYMDuEMvNEaYaC9fLC+6N7g/9TFKMj1lZHCTHY7Mi9jMNy8OxIpOYFiWpXjbBfHZKetnDYOQVq1MNcMrNQkddQ6Qe4pmzMNReNW9SJ1V40ddfFGVy44TI8ju9k1VBL1y9hkrt8u76/qIyspuntkzrsrQn1N2GXt7cXNffBF6V2DSUO6s17tSPlz97OAZ3KiCblW1Nz/yOvGRgIZCZvjo0/6WsNTsQLEd1pESKZLHOQrMy9/3nLf2RMXYFOpxXFOscu765zv39B9vTIwPLfAFYqi7Zsr4qpfK5qSzZ6ENFjY2Tb5xxEpyfU7Z7d/XsjEic9UQYHBQdvG1OShIX5jVZe0Kzp4Oxmj3MxbKv7VE8e25WxoVdjTPrxIVQh5Mb6advGL8jL4+qO0f9EWh/tnlKlyUj6tR+o636cN049gwZCdLnvSC9JSM6TrPk6smqWNw4lk/Xx0Vx/WBTJ074OZVxFG2zNUPomVtjR+3aMcXpGkaChTZbzSz41PVf5+FwqrxSMDRjoziED+me1LPtJRc2MtlYcAHWd1jzm8LlNiQBFAIoXZqHvNNu/9wYQSEpCcC1oM3KZBHuUd/u7cRryAqVaq6avRGVkkUvIpRYPgJXzv1P/hAj8cywh98HdIY42CKjS5MNqdbacWwMhEwxla/fL2jU75iQZELMLigUqmjckDOlrrtuu6AmsckNjOc3K97Ovisi/SwbEngMvrY1jtw3jZUn8zrMXuNSvkQWe5zBGqNdv4iLOUqAR1b4FihTjek1GxrCHRs80WUbvVp9L/Rly7Q2c2v+5wHWp6eXdAtZXjBhV+BClPFnL5yYnqCBQnrywpDk8YRZbxzvaDB33qiCZdvpHqvFb/NnJf5FTFOZ2qmaRIFFq9cxfH+SjvvpMAYr0+ozDSphTjudbJud3vxlT28PY3lzVwFF6pyzZYTdanlrXBv+2awKZfpK0WugGvGz872YwBtU1EtviB7ZIE+AUFx00QHt3xA83NFI7tnz0udkX8qm/i2Mt8kxZbrN+8Dh6oJcBMxmYbFn0v9RPy6ekVzJ3q3JB8Y7V5slXaYqa6pb8kEzLNbaGY6rzNZJ/xyXMi9G4z2OwonjoU01sv251eraqhsjrNCCzozKK3ia6VlNNuR0WTpDgvxn+J/OmWS/z9Ar3XQGqjTmX3BVyLJm5WphP/WXbfafgYm5gSId2JN/rSh6jV9SIfpZIaaj/P2Ik9I/KWwVjwhPSXls0NAeKkvvfE3GAo0bE9lT1mgqHQ+/xaOzAmWT9IZAB5Lr0f0R7Li7l0hVEihjDLVf4iF9lQ1zf1b2OVzqkzTPU4wLifQ5juu3eFKee7GZnatzKhoTTTQW61lju8Nz2f4e9k9DzaKDDdd9xicopDGMbyNWcjihfNU3kZJj5R276d9Qi9XqVdRUFh9tbquQbfzw0UU3L7Ga58c1cTg8F62yaIglyT3FSR+SKeMp1L5rEEUrSCV3EvivCdBIY19/6XQw0N98jdlmvvpmhFHKdV+i0S/EogNBOhSDsM8JAMF3YRnIt/9/0S60DZMUHgNx3QvprufOUWYPBFTVmJBsTZsyrpXAs4gXYjBr36eC1DM5XpsWmbczem3jQEmba9aqong6mWaLMXk6/Ak8W/ZGcTkT9by7xPridxo9fiLbwLJdlcVB0Fvc1XtsYNHqBIOnAzd5n4ftXgdT/2F8Dvfe+B3XeQIoJr7T6vbL6X3NrQB+CEN888ElYlv9X2227R/yJ8jmRySocHqWMgZHBgIvtYPa0krrzcJpKFXtW7GfrJWZBid3lBfq5S/APRcT8L6CjP3/ZT/ZE7yeG96zQMaceP9Gyopb9G1plShXkl6SfQ3ggpw5sj6r1GFBxb+IVGRyqrtZxUUy2qMjgUdkjGJOCswtadcsr3+b/TCutxDJO0Nh1WUWWgSj2evki9rArgKxCPWze4KEF6cWFaju84x/ve2j5uuWvXifaYUQuRJUkm4WuBrUKoNaUK30PfJDjHzjRbDDGurgSQHjKAH7d5Dq1lVzI2r1pID6JbIo9WqLOQRYOBUJ1aDPlLLiBH0Y+w9uuU78P7GBr4NWZRxVdff+Sb6i325wdVz4HAIA8VGVF8Bjie5RmdbQPxNRuxU0GpkQFqSvxnCDh3VQTxENd3Ev40UpCkS9AQQgDwKAnMqrcFM7OPSQiSCtsflS6Ao8AXlCXDX3jNhcLhCrVicClVAJ+tTjo433LOG9bys+sJ83Fe7kfWrzVupvQUk8yQttwr6t3VYhQcn61ORSqKxwmhUW8Gxr7nRdNcpHT4rS/eLCObxLHOx2O1eKz20WNj0kb+qAyZ2SfKsMKaYrjUgWr7CDze5MjJfGKy5p855e3IFgLPfa3e5sFKe7Fq3prBDGCZpr+qZV8hzTCz9TVvSCiDxBKPK0Pj6MNTZSNVOyZdo/uVLVzmvkisHCadVwPuS1czbKp1tyCO5Jua7JZmW+3rkJoNouqkL3uiBz8GOr6Nao3uEHj22e+o9OvpE6grzFl61nlBOe2jghSH7vGRiRy7lYONQN8zA/CedinazMnlOA/gjU4c9hIFAXMokYHPtG93yA7TsNcT2AJomTH9zgUcX+3QwAsNTpolHaFhhqNsRhdfSWIezjSasK6yIe4cMB0pavRXoF7vAAOQKxHUAVARkx8t5CrFYC6SFAXQXZggQwFtlENvkRjwjlGsoDAHhWp+QOp7v9I9Q9RBOIhKOKtGp4x3RGztG/4Oucyjw0OWzXQyCEUspUwOtBuDE8CJ98sCMYhhrXUWtHQ611MKBg6D4oP1IkpUKRKrHGBNoJPGhh4cc4hjva47xhrDrKiroi+dyPNDLBteIR/iT78B+eEOF4ZQtloPteBIcZtlsrCfARL9oSAER00hBVvLs0UQktiGc8jIgmQ1cgQ3+ru3WMfsHUC8OeiXoOWtpAV8i/O2i4DhZ1YT8x0Pa5P9xI/wc27lca/z6zblI+nD2U7CwqIQ49Vhd/pNTifnT9ufCp8ioQyqyqPub4lLEgca3i9d5MCRKPQqsgWksIt90lJONaWvPTNBx1cPhOC/sIDSYxpkBINmmiAROnJjVAkFpY6yzizhpUsQc2hf8WBd5W41jY/xk3O1sGeDTu+tSiPORYL7hyj2e47iPvLY4dJtnrTkm2t4lhD8cfLjmCxa/UIcYNYf3dI8edpMKmUj20Sb3pLNJjOEN5cx/O5BZv+MhzhJfcgNUo2rYpE19rzzG+yZaYL8sNWpUaaD02ItSXQxIGlScM/ajIBtrKbRXT8mYikgDzskd+WoWYRV9vbFHV0dF3HzhNSuvDsJ/r6t38Rq6+efGjVAqD7WUn9j+/57SjscKEx0RmtAfAyPBSaud1EdCTL8NszZw2W3p2gmWkTszUoC1Zdai0KqsMgBij9f+R9mhwMTQaKhMak4ZPy9ArjCcK0UiONk2kaBnRMPXR7GNo2j6ECNkAX/AKLGFDSM75p4M7PPK2l19xhHNG7gaVwAbSirLx8rPFwyGzUgTl1oY2HEgqivGcOOhFjuggyLoHd0GIolQ6DMp9Zg1cnIrkpkbi7IDGrYggE5wswuktmnD4JfgaY8wXDlNmHoWOvTRUUQ2j6FppayssvbAmbCIFtsOdlKUX6W39sLK1M7jNG54JX8eZY9lp1/H9Iy7OZ5BsK8jUdgEfzFSWDuuYAoRX/A4WwjzqE+mXFwQ9jT0Qjbwwqxx+QpDZN2H1+eKBsmpoTH3NcBcKDpuVOb1luqZwanNLF8r2PFnkf4ib5JncEpLgRsZ7Xg9vQFJ/RvSgMsdde6ta2pMsyFw/eR0HJNNmyniK9jfWZoOrI+f/oEJm5WqNKObKN6jqHZV/DnzorFzfzu7O3Xg6n0fsrW8TbRj6OGO/5ea8bnbTv3tl5bJ/N3av585v/3fp/5vgfzf+v+87J0102JzCbkeOzs2SBiYDkqsrjbbKbnd2B8pW2XoNrFu2WmK0DaeHk0AvSeSPHqj00oZD3Zg/gsGB+BwIV8hehGTSV/9q/R3swSZTsn/p//tj5pOiGoycKsi9+N64kD7cGqyn/D+xDH8gF39TAeGH6GWTp0Twn5rABzKyPyvbxMkP78zq6uJ662HioKwv5bAC6Qzoju+it0aUD47nt15qoAblSJPYhU29FsPut1C4gmHOE3PMSiVZMu4ejhq0RKA5208n9SkS5IdKaUtCeoBPk9CloOgUE2y3ADYawElwD5B0FKelmKjxWd6EdAIGBUepv1LgLCJWMibeTWtakqGiCJJvFYhuKmf9cD4Zyx/40JcSOWZ38YqIJ46pVCn7gkkDrMGwZ6s+B0jYIEPV7NaQh7m3JGIQmY4FB3CZ01GZWi8oZ+jVyMY918xuSVRRBIHbKV0giakikGAfj3Dv7fsSA81i8pCTMJZQ0phch+iJdh3Yf/DQoBhjoz+iieB6kxLENLSa8WgZK+2X9UI7c9qEEtcgqNs8d6g9Eh2UoQlBLHSQ6kH0yY/L5VcBJSOjtokzTjBlRwpcjzgKAcz2BMYmutto2/O2C4NJDNZYcF6zXt/BnISFyhtFhKkocwCoHU7zMORq3WVMxJ4VrzSJ2aheWbi9l1UOAF79uAJVfPIZGC4mjdxKxtrpMimtNC4+3NJzW3Ri61Y/TY4vf5LTiyos7HyMMaVdM4PvF8fMPwCuIu54f45S/iB4dwAexvHwiuDOrUeybYfDntBK7Ey6oG26hW5vDMpPs83BfA/iju124tl2ez0bzO3a9BYv2zMsXSMvfHh5s7QpLo89DPbdpOyPxSMxATzyonDxg9FI9IXYu6djL3zoETD1U13kSwdnGggZ9dPh2LEfn8/S1YEf94J9sEt46dDu2D4pfrts946KHn7LJWKboj9cGXX4xdgr0Rdn+9WN/q3Gpn1Rkb/4kkRkdwXr1Yd3+BzYvSke/XR315bQPDYS8An4R0Pyq5Xo9L6CbNe49pypG0EIkQD8jIwHTTtCb/o8KTHvCMIPqmHHyQuRyXNc4k7VRnkhx3vzw1b1Be9c1w8AVNGOFycin9m7Wrfote5AKs00eZgIUQGzpuvbnlxcVNxwrGr7aRSwnDcL93p2YzGnjFiOStGlhPecQt8gYWRLV9WvBEBIijQM4hb7OoOC7GmKPEJiyf+BEd/z/RH8/wHGVrA6IsLbHk50T3B/TJLv4YS1m/iMv3ry3861Oyd1a73LsV9m5drQhHHB2UWT5t9QLWfGQ+MnBOOyWXZQnRFPLu74wJSZk+WCG4omzR4ybkJgrcyKoe8er/vXxri+xxHT2/X4xn/V4dkrB9WkqkCLB89e/W1Gw+CEqyuhYfBfVz+D0FP3Ukm/Iz/q5t5fuMZ0BVK1Zf0X4IB20PK9ppbURr8tOtBSJVJCJM8XVDjV9dCzbdaLFo/8gu3+guOxnbPsn0Mf2S5ZcHSo9CFGkxtinkLlMEyPzt9n3vNFzvlVTwe4TFcJOlxmidwtPS4Y04J4sAQNXXrzlLvu4iR9EETEoDj2jocNAOYA67X9eZ3qXeZwLCsz8tT+aYtLZ887mLgMrEu7CCwtMF/QvOuurWZLYWsecPPcPZp2y3jumA+9Rak8r027XzG92iJ3h2R0HJqDaUP/UmiHE9sJGAl0q1KvOoCQwDqvBkU5fqm93T7Wy5owODjC3iU4rQy9WYzYJ7W/haI6qnNz1SUZUQixEkb83YJoUvoOqiyqRkBYpK29o5MrgnvdH840aadty+g4DAmd283AE7SsuhXSsDm4GhCRksO86NeWFbmqoh9LWxN329uf0ut8isZwhGTQji4ZZwrdphqwokPH9WoKWsYYTUIt32CFlScGBnr/1ekLiMs8y3SBGrqCbrciKNjBUccbHKRCVGgFcZle/6FlYDCuAAunxAU93vVwF9n2z4fsslK1k4uln8bvR7+vPgGyOBFvMduFQ68PeqgeGFy9ni4lpUMIgJxTUBwhEorDAtND84aHl/rN/I589BeLvPERAoVgPP+vPkIZqYpUNsCRgdKgR78EZBKX6XXvWwcH45Kx8LI4EFSTtWnTOtc6SQwrnBWRnzcnbPV6lY1g5eWx4IfH6AVP8aBlvajS0be9o8qfQPCvqiojEMqqhtYFx6ZrouR+ISF+8i2bnhEcktEfpFEYCmTTY0OaeReTjF6G3UZePn2Yzhii5+dzku8MMfTPRyB8bwidnF6wNc39jkEULR447qSYPjDT3tFNejL5m57B8ihhPHlrMCkudsiVyfjJldkeEIToWpb6e6gdK0p55Yed2Y6nr4kxe8rhevOuQ6aGt+vUxdqaO992R2bnolIQkvC0BajOJRxhQG10qBfGZqOVYKEMgaLSQ9mGn91eH99bWT0PbSsuIn348HPR6OFAYl+fIvvx2/BVHmUU8DCimTBP2OgoNpE3jxejCUl8UZ53HLiallcUheZtrBxtTpcf08+YfbTOYl5/Tz9/d04fowcHXnlrQny8In3Ff+dpOj6V+jlVOb0qi6F1rTEUH+KbaJykPa945dz4PidfWPy/9+YWfV+Zap46c0JqAnwzodcrSr2eTrN03DS8z2yZmUqayHCvKellMpORASNZmEymRj+Rf5d0JGl283rTLAp0NdMZoys7RWYY4Uo8mdY4ISESqXSsMFbl/LRxsHRlqAUKjvTC98pMqTI2jYxUJiqippcrXjOZMsajm6Iw5cdEzKnDvAY6WmoBvzA6IRLv/AwjBEOuEedLM2KFsXSmJ9qwkfStRCf8WDsKwLQy5daZURG1JasA4NrJpMiMdvnYhKi5MeOsbVZEO9ETNV7acdhu6eOcoZ2+A4MABhI1Yvu5pEg0RYsGYiLWAFIlw4T3C5qonkrrZQoyx2xkMhJh0V7GPAG/cMgCmB9kUTxi7rchLBQZi3CNx3+iJfaeeYk6wlxC4Lk6vIlDFlsf9LDWwlAHYXEXBwO3HKtVFdvzSLEcvxSH9ANzXkIiNrKNuVF0M+2Un19iWtl+P//E9OX+JQRQkOkxN6eeK4so7Xkq/WRNLCkd/Q+CG+RaXk86/n73VNpVruFq+n7Hku6y/X6OeeIwNhk09mk9Zs5ozVYBjS6qSmsSjUS0RuUqiTppU6lu5QN0qnU2R5Egcolup9PSHule+x57ELfL/b67+/x54r7+R1G8NCPCS3sRebM9gGFgNuA3CuWCYBl7zCqT6Q7OsroJzLgZLDoLPTZAGMXR8UwrtXsdzzwrkbFd1UQYRotwXRs8Ih3jjMU9heGncSvfuOW/sOUr40Nv1WL+4wfGRmdhmOzJW2fnt09kYULn1BNxEniKxZ4XNwz0XhAtWSKqCYRPXsx1SnZKamtL0oubK8DhlnBra9nTt2mDA9wl7e0CEJYLQiAhCJl9U6VeUKshCIrtiZOtlwFdmwqNjtY3tMbX12f9DJQRx79h4u8AhYKT6c2RcQBAeltcePg8CDEuHuIu56atXK4jaglLxCqqkrou/PlzjLbhmLOu8VbgGs+PKaZmQ9YiB425Ezd6OWHA3FGYuvW6oHpB0o7WhjqA+Hgik8mWjh8ExahN3fGN4UwZ00raUM4zrnlTHMVLOnAoTCIAAVHt3mj7CPqNN7I2CnngOu0LJT6q+8ikHXrxY6GTPrL43e4BQ6PCX6Hp0zlGmYJz5zjhNjzSDygAnPcpNZLV292uO+2RvOqXU6fViSr1conas9Gr8RpUu4o6UOygplKbrw1Qa2tppw8Y6hWXuNjH+lpowDjx/kG5CSlApp3cSek8/Xo6M6fX2GoYDG7M/488ovXYw0/SV/16bW3oxhE5g2TNK/b/G2v/27TmNRWY3Gc8r3ErccMdl0YgiCTTPTrTdF6kcJUpZUwvkyxoyoRhRNxGjb+mSw2vx0u2PEQy6mCluq4xrnKuOXiR7vCQHiwVMZ8RMHw1BlOVsaO6R7vjAuZ1tyY+yb7l25M4Kf6BeNyyb3Vgeap+1e4/jwP5g+n5RtpbC+w9T753C24ZeAAHcnTKeA4L+nZ+nw011XdKtyFB3tP/Yv8oRJgt9/SjPXEyF+l1kr5H3n+K8tsv2+sa2sOVlu4PPWvP8wwe9xlxcleZMsb0UgcrYkoRT03SuZfpZYJ3P+EOGM+guy6/jtf6CyMwGEW4HmFdD+iaKGMOrMdCpki68Qo18jjKaLqprFu8G3hMJhCs6gJ1FZWMdef3Vyc6btVyu3VeaISaSGDice4HLk/kqWH3U5f5IsixiUC0SpqaSFLhQk5NivkI2SuUlp3ehv3RLZHsj0i0ra5ovXo4NRVZG4p77rSi7Uq4/YHW/MTqKxFcdip6UI9v96kT1cGR5rCiZf/58o0wbmPpeftUtF6NTmO/21+dmNRy6u3+mhX+z+EtcajlXtxIrAIy7fIMD274OIKrm2fXrvFUdb7jmWIkIo5PIFgh3E+dmMhTI9xPnhCjIZv0rFLxQpQYYZNJIMKbHFUoPHCZLUIaPJyu1opxG5zY/C6OxoVU1VP8Yo0j/nn4iuqTiGZiUl7rFagEqXUKaF5yf0tyfgSlQ0Y5C+MUIZZiUVqHZh0pTgCBxJaT5RvxuI1lfD3SwEeWer2qVieuaNm/vybZ4TkcTwetteMdw6R8hz9hgw+yZNOZ13LgIKenoQaSRE6tn+f4Bwx6fz/CsdKt99I+bRz9XL4RhjeViXeLUpHCMr3j/0pDRoHf28oRWiuNXk2Lp/fSL0Ob6K30sAzThoM4dJqVISOLFV6mt9Hj6S2C1/Ll9+AWIOMui8RTxm+Z/XTTSqoIaAjHVE+dRfYig8+KNruFwrI4ud1iBC3W1jko+0cfNDWrkgn/7VUj2fZvR2CQgI9eZwVNVemaQ7fEKKxub08dyyQ7OrWH17bf3vCWW7vhtMwzD7NOV5ssTZIMCWVoGYaL4BuRCAe0Ai0XjkiTpUtX6RNxOTzxyjMDABkc1/rP0x68hE1NVKyhHjb1j6tapr3Ps6vbD94xYQzcEEZjlo3scLSLyCqQOyML1yRQARg2jjw/n5GsVDHkZgHW9JTJybnQQInJL17RrO6awDgdqAk7OBVUFxUdsnr4YE1YNFBmuLxCbrNrxdrT15pae1h7rkPMraabeut8zWwYwPfJx2NjNNqtsYPjNNr4wbFbOwOg4RjyjfjypuwCe/6CTLY4314MWQ/SNJt9yyS1Wbmqbfz9RIyoNfnsvCTomJWWZuySuiRkp2e6EOsiCnjtxL7bsmaj6QaBLzmB+u8sMe4RKMR7cv+E1RrxjE+pbFJPalmtYIW9PtvU1a4u9ytMDLeWJmZ15aqSyGaLbfa8ZRfr7W8yxpnl/8Y5ppprJt3DIIi4bYukMHtZKwwIE0Q4e45mGeQt35CCKWSVEIYIr6wkQWKhD3g3CXh3Qzs9JB3cj5y0rKbEdVkqs8V2e3Ez6YKgE/MqWfKlFBBhpY1fpVMlse3bbOlUJzhr/AI/S12jqc3qbG14qKqlEkTajmB0mEaEmeoSTcuqNMt4UV8gRFU7tIrkcG129ZC2RF3Li640OkCIv421e5tBICJIQCLjtROn5VqaJLKr8i8Pdx5xDtOymm1QYT1rsZ6xusDgPOew/c4KKnHEasHcAKGbujX87H8FvZ1nHcPVEl8dZjmgy+IiIq/QV/qWqJo4DxFANB//sx/J8KtlRbPatMzqtovOs04s9/jq5tnyy7P88R9IkoYAsLdkr3aF4RuI8fQ47q8TTZ9R2VErHXpCh6VZMrrEdB3bnQ4oPqdQdBn7QeLC6fQ8q21e+sKpi+bR85yXju0+tvWWeW6qZu2walPPmS9DzO7hmN3/5PZN4gNsxTxewxWxyPxd0aJfkCiWaGd0WCoZfAnPMsPhMFktzZcYbrYzLoWc6Z8Hg3rufZZbIlQQ+jP3xQVzXJKoLzmOob3NCBMlJopmGJsgY8aSYym0cLBPTSQl3iogPMTWITH9EggAUUu9yFC4E451ti+nCvhLSAUF5PAFe432zmMEdwW9je4Ma1vc7E+Mzwqcg1M4/vMMHA47Osix8EwG+Oz3OuUNR2bY7VfKtNeuI7g1GZLNaJSOz4she7hGEZlUHZWtQyJ17I/B9B1Xj9QCeI1QecYa3Ijr66NsABF6r7fE/LRsEGDW5Z03XzS7ZD5vfi6fZ+Tx3HKlvqazpldd3yxvnLvHIk95YPNAX7XnWmfj5sZfW0gcUmaezpP7spTOEXeyHQlFsiO7g2A5OqmnoWkAMIP4E7XyM6e49jNDap4MKug3777DYbvn1CMO9sPxDSPG7u1yn8e/blj8sL3skTOO2kMcwJ1s/GllwUT4CIU8xLz3auVnzjhpfU2huZ/W7y3Ye+EThC2rnNEzXrZCdbZayni5b7vZGg5Ps3i4V6kwz5l9tXLmsfQP21F9wTp7+ZlxBcmCwljBuM1NFOoTjTtVbj/kbcVxPJR1Tp35MQ7zrum35+9FBb3Ba/i87+t9DX4ANEkNQwCbgpFUmO1sTuaU2H3dE/i8hYHGQPRQFMi9SQSbgsnD0UO1z1EN8WvZPkvl3HdTQSA3AwdA8LH6CzE7/2qGhJk0SKJN7glmqwCAiEDAGBYLrYAC+TK0Fm/hZpuV94RFpXvFL2kC8K6/+FL8Hw/eS57fuxePvXH0TaYwHDh5ynLyszMdh5Z+AQFU2mwmL2WC6HTt4h+fu1AyecfeDml+fcOkslHVQPWo6rKGhqi9ODV4myv8izdmNXl0AqU/LfOvUEBEDDjXd/oHTy9cKKne/0gXUJ1Ptr/hCUCbee301uJKG10RKBlH5hQzkC4VvBYyNLoH2owHnl+oKFFESJKyRDHcieyJ6b6FT7YXtfRfRCgW/5OdL1PiSNSMGWQKSITaIsFdkYYcvPzHBgD+tFG1JJj5MuvI6htTXkgTfmF/4TzSSrSa2xe8D9/TcF+/aQNHzax2mC17fzpTfMPw1LBU2b+EW9D6Rmc36u7ddbb2OAHJS1khGSCAcOfQPa+ozi5LX4CAtvxVMm4QCPA/uZhnnxOu7Wi9c5es2qJVJ2+/vfVKfWSW/fqR19urI7UfVt1xR9wszVKdvOOO1t9rw7Pt11+Zvd7+obOoWn5ZBzy346LJXs+zR5d1eIrmLHs21dKR1hQ534lu+jbuxxh1n3iJjnryG2LJPitc+WzVjp2SmRbLjLE7dlQ9KwrPtmWYtkZLaevg/Cxeuc7CMjIR6ayDZ0XfXiOzbI0ssV7B0LpqAFd9YpGYYe0XCT/UtGxZaFieNiKwbFn6kcpwf9vUBBGD5ck6AJ7T1wYoeEgnC1OYiDKgNOgKjFUBBlKoip8H6Zc/wsCXQCGVdsviVpB6GsgUw9tf04aGFQowrQ66ZTFNIwHSB+4VBc+FqPGbGKL/k/FfZJf5OTnZ2YTszUfmodfSgh4s3nVuJDfnszFw5M1bST8CCH0a63RTT1/b2c5GHDZ5bfwzKhFuw8bBg5iZgSXjSuevxyxmOBvfuAYMwHbHKfggfN3pbPRAXxw8DCdAGfBA6HH4WyYSj918sXIU9izs//lXkdE32UYOPhBmZNTAH8l0CvvVUD9iPlWKpsxvAhFig5U4ziznQ6YOxMQC/eAsY/2Wn8egQks0eLqPIEckEJhEaAHi7bx95DiKkhJH3keRTw+SKqOkLUn6BWIpKnLTZBVVSgF3TwjIAl3jOZOXwnuS6R9uTjvzuOvTknvClybnYhPaZGSZtnGae/Ql59aXDK2/fk5S5nCn+XUYRKzEv/IPz8DD37s5XwFc/dbktu9+cXNYVzFbKkZA1KuDQCx21emooAXyRmWTEC7UKi2RyqmRgx4Hur2LSXOsMEpKFbjD8HmFfHU9CmMnkiP0Il9zGW0l+ckIhMT/jbavSeYn9eejFTQafIy2jQYsXFLI3hRpQaPWo9fS2V3ssyZKvNkVgqkJ5mSFFE+DEIDG9PmrGnLVKsjEnHDNBK9kjLH32dEvgkBfh7NTtuNFx2ynuJFzpuBNAPEV4SLhFdGZAB7cXWafrT9g22BfbE87Zj0ZVFsycAOAQtmFsJ+IZ+xEX0r3useP2Z0HAqe+ajOUD6kHJqJ8am6LocsbdWttEKrmG61tBLziBwRUIFf7+clkfv6P2QA1OCq3Xs1p5Sza7eDMP/5jU2gTPnoyQJOpj1GnB42KgLC2AtkEBSiDGlDcDqh4K6oJEbTP7ffxrqJOQO1tv3HCInL/1b4vX5eYkBwyYvMw2CUy2QQec5zDCUCjHekIOwTCC51mX3U0yGHLauEHt70EulQyHmQb4s7baUaRZ8QV4OEQqawTg+2U+fhjkc4oLhoBIWkQEoF3W/+6p5u3L0Y4pi2y/zfFPur+HDHe2fLMQa9u5yI/9p25d54iZnk/y64vn35Xon622rDDJjbtCQaelAmCYThIIOuH0cd0qWsh7GRMZeDl6YQaeTManWYnubPjwNOdN5oCcPi3sRnjkQF34s2Oja23Tot5A8OjMlkwBk6WyU7C6M3i0s1IdJpIfDZT8PbCU3NJreIajMbrgu6uSyW+OH9u242bkXWncZFcy+sjohaXIj/2g9l3FGLX5jAQrP/tI+DnCHzoKnxYSSzquVmceIco3izrQ5bWQpvABalhIGyMsf5ivXG3c5Xz+TfNBSy4YDQK16SAvcOH9rQGEKOvQaniwCVu9Xv306ONUP7g007dUdehtKKbgbC3/4qdxghVA+sF8dRK2g5qNo2eeAV9FyWTKtqcQWomDXywvLd7+2xEfHwkYmkhnAkjdVB+PtUUCWdtm2Kj7RvNzT08LCyElxbot28WFpqZuZampui0b+M7d966QwMhWyeIir0Z/ul+aX5XCtJ8X+zbYL/p1XUBpv7WIKZmdvhaYCw3vu9kXnxOpvlfkRCAMEDoLOxENkIBJ11Bu9RNM+1SFMiHWgJGTwY0oLgNiOIuxroMGX292STzwUsnMSn4Syl0UzKt9PI/QOh/HFLeZJ/c3HznjltwjOu37+mNhoil9q3V30ijx130D+74La2o4CRtaX7wQOR7oDzLunwyQf9/5pycF/8cH3WNffizn7vjQs+Aq0iU3r/4/eM4ldK0YXsIAR7yPpaAaunaVS4hJngg5a1ZLlSGYzMsrmmpmeuOb1tCtVOXyjH732BNyS5tvWVUSt+SGkcSOL5crYwWRPv28aPhaDjKeyC8iqpR8IorK7XMdRWlpZqluT4KQ8bVHMNCmOYcEiM2EUDZQRZoraPqtYV/DhRA0yD3tRsheVwsEM5T2djOGZO4/UuQxgZNKoOgeVsqVSKxo3FkfiKZHowYh4qXbOYs2HHkcog2/TcAUTmHRmZ3GMqzqcbDqgpLBKBCLDG++srWFoglNMhOECySSV5NUatT1ZskRjpNKqdBxjpRPMoCdkvtfeWULJZHVxfLVuex+F0iQ905nxYUH9962KEaIUNInAq+HRmfH+9emKXoXkoUr00fTR0eITx6lEvMyEQcSUhYaGr6qi1TUuRmcvPUTFoENZylZYtV+w9pqI+12AJDsZGswvKw5gVyWS8IMx2lzdJLa5Wq0JVHNx+pdetNTOo5PiDjDzzet9fCnRYuIOpJ9aRSoiyHa+28b9/T01L+wPEew1xmm1vtpfo9K1muyvpL9s3Si47kepLDhJ54aa1SGZVnhl3ZdauBS/37YGtujoyYRl5N0hO5uXJrx317J+h1x3uSkjRdnkeQsvgXSbOsrmDikbUqL0+lys3TxNz9RgIh7ND95BJZ4wPqvN3wRe472DQjEWjJ0eQ66f79lCirEpw5OoGONYgbWMKqlhTb6mwxqCF3/JoeOHv/O91EGwindI9GR+7TxyCcJc5aRLirJtZZjWqVy1EtKqQk0fD7aAUyeM6WRes6GW+fLuLGorjR7rd2VCF1bAu/Fat7MlGsLvefDkfnxpi5Z0qU4JzHI23o+pIps+lRWG6QfPQ9yXRbyVDb1LTEiyIAwPbRZ6/ND0fW3tMnr45eRTw7+dvob4j3J6+NXkPc/vvI1SPsI78d4Ry5dgTUNfSukokDAijL9p96Gd+3WRyUkDsa15IZJV25w7oeEX82BSrtUnT0iyKGyYtmRUlWbf+7ERAhFqfuvHuD3/eLxCJ8Otqe56ZNaX2PdiM5ur65eLHQ/8PHNaef2Ph5JY13fEtEaFJKwimTx8l4SUfUCr0sodFTSbLsc9BpteYHtvA6Cn2L/LYedMx1zM2x/lceDXaTaQvt/RqIFpAD+Vu8DTVDai2CoGyB2bJ35zRRD7ITrpaHK3IFSzUlpU3lWmZlZbFNlIJaFT4Q5RMNR+P6+NF+Ub4apSTOANwc/XbL0aviCa+gBFoBpIfkzN0b9TVmEWYRWjcb11Br3g+qkKFAx8uMScBhtxMQtzOnKsoHvb1kNMQ1+jW7DDHQQ1QvNpy7R5yGdlbC7azsrhK9iZwn98hssI5mRi+JsVCZKxPq7t+JtOqavPkPj/AxMXLq7yDzyNQHWZIdpcrXEb87It4V2SENri1fpNvkvtF/yWIDy5Xf07zbdh+ln1Krx68X85JcTNvMe7E+juZJMgnAeH9FwrVowmjph5yj8DGxXWnn/yRuT5CIp8f3v0ox1jEMaraKXVI6DanjDeyDW1LyjLMNVKjkV4PBa8chJ/3oqPUVcQF4hLbMwEvu/pcaKSaJSNHUM1P3EhOnZ8eqFJ5mTnJjNy/uyJ93q8Di/JxxkXr5TpaDRJTYq5Dhnx34ewy6wHcgwmKDQGpumo+VY/CPmow/fWVe2Wmx9K8A6xXALr0id7jRySmAHoZzrqpsIAbSy9aWOo3lrggMnDVMoAYTzbKr1hKD6Y2lpX4jj1/kIOzBstNn2voMYxfSzaMdOvZ4Sv1ByJY9XVzzqNixC/59QydP+fNkFsDf4fleKrk/Ryfeg4Z7e8vKent7abMWrDA5bXZu7t7C/MOpXlOm++w8aiLV+eVwZPgUZxcS/bBqdmw83jB+8J/bPlxQ+31xjxkNTPX2tOr0Pb3bKF4Nkpf3Fy8gWQ33KbP3x+bvG8/Ozy0sLtwzLiWYXLw//dcfb59MDbf26vW9vWPAz1hcPOpIe3Wvt7VVr2+tu3yH5N78/B2TiHHuoPvzhnHJTHUWWOOyb/z35O3Utp62mBYOAuHdQ+4uD39NBvruKR/7opKpaQC+flBasTd7upkGciAw7zT2ozKyqW19m1Ld2tLa+nBam96GmhkarQdFeqxS5nMZjb7sI1PDV8kESRWBTKWX4qZwk3jHlIOf/HP0whpLSkspetVJE1vMK2nl6Qi/rPgsmiLcNiM+bru0jAxIEZ8V8FOwy+NAkB7Bj+NsBq/R4HQlcBr14OBxJNV+Ox53LNDsdpnMm5Ny5zhwaGC8Ot9htmg+brZg3vH6/JlV5LXkH870ALzVsKrgzyMf2eyPR/4sWFV399oNnySfd1HiTa+1aMBsOeRaaD5fvaYCnonbRh766lMpFrvd/DpE3rb94dmba1JZEc2Vzs6VzbYRqUU3pZPYqiXYp0VVh0ldnfba9Rt4vA3rt3RnF2m4uMHww6G0///lsqy/39e3fy928tff6TFXsIDdwnh9vsPMmuXMOt6cH/zh3DsGu89Vd/1Cx4XrdeQZ9SbeIfFS7FP5MBWEBGT4yMN/F6XaRlSGKuv/7TMJA0vftMlL4UvvV1TK+bWV9PbmNpnWNgrIAqBS13WoQgDY8QKM/aJSlCESIGRSQUSt+iFb3HB2zYrrRedWF49X9HC2OSRxtncL9lUJdi8dXBm2LEPQZ9XI3W66FLe7H+Hp+pdzdbN/81VoZcBOV8jrKgUENThayZlWcVbMWCumbOPQ3t24/SDZAGw1I+a2efvyt3ZzfOn2ydp1b62pIXl4FLTbCya01RDd3UlLejhXUW7vi8ycUF7Rs4RU1/v5ZwJiThNBUIM/kjXMSnYKzYKkYduWe2/m+qZ/Cz2cGKOP+ZRq7P15WCo2fnvwyxfuuw/zcpngrm02QyzWkA1EC7kAVhcExBUU2IbFG4RhBkOYbV06UJics114gSaoTvrWBfcsjfpr9pZvPIR8C8VxHxAKzv/ATz4TfCj0l3hfvJtUb/s1HgTe3R11Tg00pVCB/e6rVy0ihrcbuiaclrgqnWKEW0uXmSuelOZ8PBRWVeys96Aj6W0FwtNJkUFwwBLZ75KwYdOoZwOWiWaMmTzvTebKXCsE0gExdqGsB6mfB+ps9ybhV+MbDu4y73VaPyC3dZkkdbY7f0NZD3K9/Rzwao8EL9mJ1+NrN90crX8fKg6s3dE/lHB8eFgoPjS0FjO+z43vLf768utdk4lfTbM16qXOS9Oc0/Kd8xOcwS78LG+RN0ucd9J9Y/t4OIdMJ82S6GQ6iENK2ElPxViu8x5vQS5siXlcDqXI98gM2QR66DB7WCSqq1F9X/MMxlP7SHbkuiA5bHs2WaOhIXYGi52JbWg47BkI2bIvwePgDvuYysrH7z8PI8emuCONG3sCVCoN8dM+g6oa2ZDhgPUY5WoiGbj2G7xmOmiDqzoeD6qyQPDgdJgaSkgQXpw6wyaEmD5gIkJeUvtlw0UuhzvB9eaGyYTJCbIwL46DQHQ3cuDFhUrC7L0dLgIh6tBML1kXWrHHPyLCv54vuokLwwagOCB2UmNqQIQqyA+JQ3mIg1eQbchoEtrn1zYAqgBsx+JRJDSRT7SMCyn9TTY4BjZpmkF8SGSFAYZpsmOS+ABf1CulhVPIVeS1w0CmyJMT7wBAbJ6P0SAeRZFRJA4jN7GIKAfhJvmArjfJSJJzmzq6GpFMboKixyPayL6UtZtQOshih1Eq8RNZySJLO0mx3E5x1ribW8vSmzT2+yvwWvlLtq4yju0P0QHqurx47n9/vvFYueqIJ7O4KjvCFos9/GcM9sgqGEzkm+3TaAJueidHMgt3159hrkhSpZYRufkFSRHsHG/LBJObHOYKd1YuiLerOILrvuvyDAWYDSCHW78EVN13ehSwwF+5AAAbjLpB7HkW9+Q8U4h2DZxamKq5VYYLmeFjbjnUhLkly1KCnT2mAe6o948vfhoejvM9OzyUpEbkJYhdRnbYyTM7GY2bxDkKYyfhcZbYEn80o7q1Tedd07p+Fu2MRuO4c+/pVfbHyCNRWC9FYPDGTXGYgcF0tbOqPmedybpzkmVrEEra8jc6Oy++c9RuQI/jCYo7gUlGvHXgnZDkOyDNkyygkGVkO4oiIIMcW+1QfALFiBLXn1JeknhmiJtXC4oC0qx1PtoLAGC3l64HAGBE6UWlKQp8ef+Mnf6dRGB7ZDygMWgMiAZaCF3izeiPWudn5p1P5JEpNktnb0+B4dX2WJFVV/lJ8E32EHB3LhB2Yv/zK0Tbo8KUyBZk2QtrilPnH95fsTPSGlg9cttDy3bDQPqVuHfwFy6rJPSombqUdXbvJ7e3GHF0bs396nL3FoF8hPmY4M016RMrLYv2h9foCaNqTxQC6TNJRL+GNJcwEyaQkoCFIRDCfVvcaKHmrjSYkr7zd117/xKqtqc9FTfqlHsmrgYOOKXAxaFX0fx1pWrKiEq1IDUQgtmgnVeIvnG7j67abvOsfCjdXnjhgggL+zG0/Nb4+8uX277JyuieKJycp4BA1eIAAau8dy83WdhwMjqlPdFgMFaaEmbGlEsGJcxWyKDErUl89cXVGvyQBxhCD3eMfan733u74+mWJ5647+EKvCpJxYg02ERpoYj6mDgq7W5xtAzLgYR9XaKYBvkJVUuisIupkwTbAoF0oL7yq8PiKQjaUX9vuMVvAZ5HM1GijJqHcNBImHbtQipvWu1yTwv8C3y1D0Xg7/m5M0cmX4Ox6+pDxb9dLHRdV3Dm+icXe78mli3MQtKb9/958aJB7tOnwKcPzv7/G70bdR5pv32e+vAibv4rG2wLgghAIHoqbhNI31lL5x/cgSTrJGoLKwACTCsieZNcKCQO+SWZc/OcZogAAqYZY3cIXY3RtgTN8w6RaOTNaPd53gnevDt6M5lGwohJdqTzjlPLcywTNGPc5ITJOAMNHo6mBad5Tqmm1J6H7y0PXu6pvtm7K7Z3Ib7veeJzVeNb6lsqTzDDIxYQq55tipsOotbAZ73vNem1RF8JYnjYkLhhu0w+siMx8eYNhfzG31vNHTvkvlobBUuek6tQaa1OzgLbJYuqaKNt5NbyzBwZyzx5DQJcuacgAuLFpQ2fCie+IlIjpVTjCzfFEJE4c6IQtxUhcHgO3ucPH/GYoYmgDFn8Sxa4vgYA2i4HXmpGBSJeQSs/6d3BF1cwHPWtaIctmLW4KRw8havYyuYewDx/gUWaQpUJLSwcyxS/DSaloJnOTKCY+CEEToWASw8UEY1qRhNREAB4kKEeaP2hEkaacuoezJNxUb7ykzCm38dLQS9pg1FOHE4aCn8QT2xsbQknkqpaeraQcbpwwcFWtgc81nmEkh5cmg/bV2QXe202ZVHrJrzilV8ENuWXkN9NDRhAwO1foaqLPJ7ueXn9HZ5VWr4S4sxTQ4yzmkWlzv55arGu1yl52wJkQBYpvEg34lyJG7Irt/5zUeJ9nPX9xkUbrZbZY82kP7w4mLrJik7LsQ2F3UpKXMDWkpKtgKukpFshthU37OmF+uKOi+sVyktqni68eaU9r6Fv3rtzGcOBbknrwrqPx8h6xHyGf9HP8J6iQ9P6tqvmNWV+KgCk/BO67OiW+HXS2RsJCGRMH7LLAC17fekn1lPOghib9y7MJ4u/fxOsPFhss4FVPnKbvho+KazRtgcn0c0pNCGQgPnyMIJGtD3aLs1CCu6OmAv8XkoEiBfIZ/EJldmGtEKg4XTCTJp60GMbpudIvzl2e2XeI1PG56UF1lStkQeQQ4CXjvA3ezFfBWftN585S0bh2UuZVw0AzOZSA7rCzqcdiWa62/M6GgFUtYXh9+t9Gya5r4woL0whA151HbWXnuodhoQ2l/3CgmjnsXhM7ZtabVsEpf43uOjzLJjJUmfJr9K8Yo2QIae4jfmqutAPggwIGZXBpmD65Ux/o58EIIha+gksukPEL0GlHtN5pJZpO8U/1v0zv2giL3uFOTuSZocCNgbe+vR61ZVadyZuHJeE2cqdHWLgGCYVIv+Nog5v7wBUoIJ//VzRqAEP2DzToGar37KhamW4YjvkKjFQjeK1OYlOSY4tLY5JTok5OY5tbGc+CyvJofzsEq2fYb+StSqt5zEUu1RIJVqqIDqBNcSyfTVl2OrWCVeG9NRy0GNT5KU5O/P7mOaSuaTGpMZcckkz9vvMWY1X9Ec46CnXU4cm7rq7F0x0cHpBh91Egbv73QlwrsBvpZne2w6RodddoimEq+wBjZq9q6pEufnPWU4Sh06sOsyTjF6aUlif1eIdqw6PyUZv7UbekkTKvdne1PmYtSxZSBtLpmSc/P2eMsplWZRpoikCCUFgp+C96fuuC9d0SG4mwaThhekL0yEfGBO/vDOV3cCFbZFZWZHZIz2KGzdTY0Z2KBQ7Rvz1dOnscLSSKTJuaqr2mUqlYDvkKlFSC0s8CUwQonGfGFXct4tBz++I05JPXLhM7y6ADogQ0Sfw/LWjf95zkOGCHWJxKrbIgmMRTPe48n+U8t+cP3dvVUBqQ5eY6SMp0XlVYWtrrjv4irQpy3jKH+uOLo/XC5aejAbuI4MjhPYiu8yjIibpr78YmsREcC/C4Kf8jLOXJ+T8BdgXBZujkWgUAUBAcAiFQSFgb68G6snEfV76+xAEAQ598VBFtsZ9gFENXp5fgAFANO/rAPwn2Pc43D4dGYEUWf//ZElC3T824NGhZOF+jz+txfj05XI3iXVldPSUyzIbqVlj4+LKvP8UtggNLzeX4p5eflqaMsyJ9KeuMyv1CxgZkcmamr8cKbLdE02CM2fQmeDanufcQ5wTB4D/HrgkBHEfAyH9eValqBRMCggiScQAEEoFuYm5sX/2foIPGOsAwUyackis82ZuNrv6mFFB9UmThi75irNS+2XiwlaBCd7F5/f8MzW0dVdGm3l77T7mYUNfKJ73oTw1qLz8P+2KxQcQEbk2p00PJ67Dz1nYhEDTlj7cwokxAn2073GfIk4OkQzyGs5N4k43uYkJkh4GAKCWGWCkJIomiUfqv7PWXzjz4u92ECMCyBRCYaJUJw4QBjzQWjHkCfjNuuQnZY48Bof7oz6YkCHjEsEJAjHyrfD5IkScscwKEgRQzf3z7pl1WJqZwIvDhUxjy39aNcVCzgW1cAOgFn3FVtc9kSPzPyxRfQvcPk0aTgUAEZG/+9R+SshNjFjEOLPojBzLeaP7GXDTp7GHEr8/DoAAxwOLH6ysYqxr4PbUbWacEcEddXpHeUcwBzn6cK6SiCiHrvroMDEjwlhcb/66DUQAgRGISEdzZwtfnsx+nZ20RLN/tW30Lo0EXb+GyBa2Ra3JbGeO0ze51zP8nPmN7LdLBNXCr04ZL1ay184fHEaCeJVODA+4ok9BNHggsce6210rpYPo+A3H5hIRLw97PgVqS9CsUGH7ynaXLK1QlG19taEFWwFevqRsLw30URXaVwWOtV6xUcljBxoGBEeUwH7ZbrM+1JWyJ1X7BM0Wtdu3mPDC8YUuGvbsaDNYodqu2OCpC5q35z0c2WTKOf/seSRQygtjgDaxJXn6w1VMIvlLfIjfRdrkaA7jUThGpX7GXfL/HtGp8QfzydDL2X/CXWNa0DqKSZTpY/EJ1uiBcKtIUOLkGu50dhdbFYdVIXZi1Rjpl/8vT3jxjxwVgZZSpdSiiK4mE3F1J04IreK5uiTt6g13svSHSgItsFWTHZfePD4NEF8DUNYbgINL/Lm27JcIdEF1XXFd9c4Z1ALTKkR2AWmpj/MbfY4lY/EU7JGX8W70uJPfRiRZTTh8U1ZWAg4fUZnVhMc1ZVVG4HEJWYD59HpTdojPk5xlc+rDp9hulfAGKwU5yeQp96wD994Q0fc99TdfRCOpxU2WafUr+YllvucFF3+v8/f9mHe8MzZ7D7ius/1E3syBZzdjRSIBO8H6FEPLQ6DYQiTpGEnEu2FW2kc61t5H6qs/Ru7v6CP/YIvsj544kXzd/UYHpeyQ9v7x2zDSU9Jr1GN4biD+KfRGNV6H1sJh1J94JjAVy4t9a5FJxHyIycv3JWxbelr/PmYGSdJ3+rxocPVOH9/5tEZWuHL1Md88Y7wU1yFHnJXfwD0+NFdtxtiYF+2NzDtFv2vllse0WslSrGya8gjPV+TZuiO2rHy6aaUpZDDkhR9MOPFn1duD4mBuP3rXKnCPgoQR6y+ePStYVRApefPWL9DBNFKpEwcG6HVKlZlpQMoVXhvPnAcspEu83/XGTmtv3nr+esRuXie/EzHEa+O3mV2o9GBIzTQpC/yOjnlLSz7f0nKuo4Pvtc2S+2sjjOnpnx2wLYQL4Q7C4yh+ni/BJkuz6IX7JmYPzd4tzonN5oiA6HP0jfAhtktKyGhozuxfcn62J09dWrNpWX/+NYQdw0phzII3UijxG96H+AC3F0Q23tGj6+ZBJS0L8N8KZdcCgKEA2P13+FKXpTs7eY4Oe1zLG4mc38yXSPktize/mKIi2wcUKfn01r/LiEgGR0aVrV3bDB8mumC/EJHY23gcehDrh66F29aslVEBX+4WreRIRVVsntct+9atpI5mboSqzXHUrqX7JpsN1hi59X2dfPALwPrHzosA/Inlqlg4b+MtC3yZXt/GxVoAJ1k0UcMeYfDcsXjmUY5Q9RuCX5172hpnDzjF5drG+VbzmCaGcWavsOdfilun7iH6kiYoEB9x9ZWfeFlj4BMLHGOUXcHcyq4c8RfJ2cLfvFUfTwHvOaZeM7VHxb41CsBJnW28T6m6wTKOPib4xjHxBS+XP7edLHrBF35QGyhcVZpJjhjF2TM+cEBtYbxmU7RvKfl2HmWrym/8yys1bVopXGSNHXb+hPW4mrZjlWNMpPWpYT+lL1PE80J0j91OZbjMLHNE+pP2xKDuz0fX6VIoIe9hAgrsjsn92k+Kt794xngMzUBeBQAWPFsEfwNex1V7nBAd5Ep359+IAuIAV5ngVomIcXGj6EMXz2wqHGqcMX/Bjz9+eo2LZuwruBJhw6eigma1q8V39ZSyU8/uzb8Kl7ozag9zHuin5hhkvrKomE+/W1OA4+/4tjuhKQ3m4Z1E8lR4tlQQ/uwSKuwYKTWE23M2dCPvjU5SrLLPgPwSDAW4JDmH50sF4b8uoaIrxkkN4WPFNoSosrGhaeBvTuEtHPhbfqQH+ioGrjXQiAY0YSCuldzNuAkLmSW6fQggxMmsCO3AH18z0T/IhxTSWFBkXivd7YYfg04zzadZPe2vjPNZDHGk0YTFuAF1WKANfu/Vkj8UyJ/QcPP/JmIMY+sEF8GNJqS/YghknZ9MoxHJeixdzAmGZbUDNVZ/l3PsAAAAAA==) format(\"woff2\");font-weight:400;font-style:normal;font-display:block}.dcg-calculator-api-container [class^=dcg-icon-],.dcg-calculator-api-container [class*=\" dcg-icon-\"]{font-family:dcg-icons-2024-08-02!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dcg-calculator-api-container .dcg-icon-insert:before{content:\"\\e92d\"}.dcg-calculator-api-container .dcg-icon-create-table:before{content:\"\\e92b\"}.dcg-calculator-api-container .dcg-icon-3d-cube:before{content:\"\\e906\"}.dcg-calculator-api-container .dcg-icon-3d-perspective:before{content:\"\\e92a\"}.dcg-calculator-api-container .dcg-icon-headphones:before{content:\"\\e928\"}.dcg-calculator-api-container .dcg-icon-confetti:before{content:\"\\e927\"}.dcg-calculator-api-container .dcg-icon-trophy:before{content:\"\\e200\"}.dcg-calculator-api-container .dcg-icon-clipboard:before{content:\"\\e205\"}.dcg-calculator-api-container .dcg-icon-arrow-infinite:before{content:\"\\e206\"}.dcg-calculator-api-container .dcg-icon-arrow-once:before{content:\"\\e207\"}.dcg-calculator-api-container .dcg-icon-arrow-two-way:before{content:\"\\e208\"}.dcg-calculator-api-container .dcg-icon-arrow-one-way:before{content:\"\\e209\"}.dcg-calculator-api-container .dcg-icon-randomize:before{content:\"\\e20a\"}.dcg-calculator-api-container .dcg-icon-zoom-fit:before{content:\"\\e20b\"}.dcg-calculator-api-container .dcg-icon-comments:before{content:\"\\e20c\"}.dcg-calculator-api-container .dcg-icon-lines-solid:before{content:\"\\e20d\"}.dcg-calculator-api-container .dcg-icon-histogram-fill:before{content:\"\\e20e\"}.dcg-calculator-api-container .dcg-icon-histogram:before{content:\"\\e20f\"}.dcg-calculator-api-container .dcg-icon-distribution-fill:before{content:\"\\e210\"}.dcg-calculator-api-container .dcg-icon-distribution:before{content:\"\\e211\"}.dcg-calculator-api-container .dcg-icon-dotplot-cross:before{content:\"\\e212\"}.dcg-calculator-api-container .dcg-icon-dotplot-open:before{content:\"\\e213\"}.dcg-calculator-api-container .dcg-icon-dotplot-default:before{content:\"\\e214\"}.dcg-calculator-api-container .dcg-icon-boxplot:before{content:\"\\e215\"}.dcg-calculator-api-container .dcg-icon-points:before{content:\"\\e216\"}.dcg-calculator-api-container .dcg-icon-fraction:before{content:\"\\e217\"}.dcg-calculator-api-container .dcg-icon-cross:before{content:\"\\e218\"}.dcg-calculator-api-container .dcg-icon-open:before{content:\"\\e219\"}.dcg-calculator-api-container .dcg-icon-point:before{content:\"\\e21a\"}.dcg-calculator-api-container .dcg-icon-shaded-inequality-shade2:before{content:\"\\e21b\"}.dcg-calculator-api-container .dcg-icon-shaded-inequality-dash:before{content:\"\\e21c\"}.dcg-calculator-api-container .dcg-icon-parametric-filled:before{content:\"\\e21f\"}.dcg-calculator-api-container .dcg-icon-parametric-solid:before{content:\"\\e220\"}.dcg-calculator-api-container .dcg-icon-parametric-dashed:before{content:\"\\e221\"}.dcg-calculator-api-container .dcg-icon-parametric-dotted:before{content:\"\\e222\"}.dcg-calculator-api-container .dcg-icon-polygon-filled:before{content:\"\\e223\"}.dcg-calculator-api-container .dcg-icon-polygon-dashed:before{content:\"\\e224\"}.dcg-calculator-api-container .dcg-icon-polygon-dotted:before{content:\"\\e225\"}.dcg-calculator-api-container .dcg-icon-polygon-solid:before{content:\"\\e226\"}.dcg-calculator-api-container .dcg-icon-title:before{content:\"\\e227\"}.dcg-calculator-api-container .dcg-icon-rocket:before{content:\"\\e229\"}.dcg-calculator-api-container .dcg-icon-reset:before{content:\"\\e22a\"}.dcg-calculator-api-container .dcg-icon-desmos:before{content:\"\\e22b\"}.dcg-calculator-api-container .dcg-icon-download:before{content:\"\\e22c\"}.dcg-calculator-api-container .dcg-icon-embed:before{content:\"\\e22d\"}.dcg-calculator-api-container .dcg-icon-export:before{content:\"\\e22e\"}.dcg-calculator-api-container .dcg-icon-book:before{content:\"\\e22f\"}.dcg-calculator-api-container .dcg-icon-print:before{content:\"\\e230\"}.dcg-calculator-api-container .dcg-icon-arrows-two:before{content:\"\\e235\"}.dcg-calculator-api-container .dcg-icon-arrows-one:before{content:\"\\e236\"}.dcg-calculator-api-container .dcg-icon-desmos-badge:before{content:\"\\e237\"}.dcg-calculator-api-container .dcg-icon-move:before{content:\"\\e238\"}.dcg-calculator-api-container .dcg-icon-move-horizontal:before{content:\"\\e239\"}.dcg-calculator-api-container .dcg-icon-move-vertical:before{content:\"\\e23a\"}.dcg-calculator-api-container .dcg-icon-arrow-left:before{content:\"\\e23b\"}.dcg-calculator-api-container .dcg-icon-arrow-right:before{content:\"\\e23c\"}.dcg-calculator-api-container .dcg-icon-arrow-enter:before{content:\"\\e23d\"}.dcg-calculator-api-container .dcg-icon-shift:before{content:\"\\e23e\"}.dcg-calculator-api-container .dcg-icon-duplicate:before{content:\"\\e240\"}.dcg-calculator-api-container .dcg-icon-error:before{content:\"\\e241\"}.dcg-calculator-api-container .dcg-icon-film:before{content:\"\\e243\"}.dcg-calculator-api-container .dcg-icon-folder:before{content:\"\\e245\"}.dcg-calculator-api-container .dcg-icon-hamburger:before{content:\"\\e246\"}.dcg-calculator-api-container .dcg-icon-hide:before{content:\"\\e248\"}.dcg-calculator-api-container .dcg-icon-home:before{content:\"\\e249\"}.dcg-calculator-api-container .dcg-icon-keyboard:before{content:\"\\e24b\"}.dcg-calculator-api-container .dcg-icon-lock:before{content:\"\\e24c\"}.dcg-calculator-api-container .dcg-icon-minus:before{content:\"\\e24d\"}.dcg-calculator-api-container .dcg-icon-new-expression:before{content:\"\\e24e\"}.dcg-calculator-api-container .dcg-icon-new-folder:before{content:\"\\e24f\"}.dcg-calculator-api-container .dcg-icon-new-image:before{content:\"\\e250\"}.dcg-calculator-api-container .dcg-icon-new-text:before{content:\"\\e252\"}.dcg-calculator-api-container .dcg-icon-pause:before{content:\"\\e253\"}.dcg-calculator-api-container .dcg-icon-pencil:before{content:\"\\e254\"}.dcg-calculator-api-container .dcg-icon-play:before{content:\"\\e255\"}.dcg-calculator-api-container .dcg-icon-plus:before{content:\"\\e256\"}.dcg-calculator-api-container .dcg-icon-question-sign:before{content:\"\\e257\"}.dcg-calculator-api-container .dcg-icon-redo:before{content:\"\\e258\"}.dcg-calculator-api-container .dcg-icon-remove:before{content:\"\\e259\"}.dcg-calculator-api-container .dcg-icon-search:before{content:\"\\e25a\"}.dcg-calculator-api-container .dcg-icon-settings:before{content:\"\\e25b\"}.dcg-calculator-api-container .dcg-icon-share:before{content:\"\\e25c\"}.dcg-calculator-api-container .dcg-icon-show:before{content:\"\\e25d\"}.dcg-calculator-api-container .dcg-icon-table:before{content:\"\\e25e\"}.dcg-calculator-api-container .dcg-icon-text:before{content:\"\\e25f\"}.dcg-calculator-api-container .dcg-icon-twitter:before{content:\"\\e261\"}.dcg-calculator-api-container .dcg-icon-undo:before{content:\"\\e262\"}.dcg-calculator-api-container .dcg-icon-world:before{content:\"\\e263\"}.dcg-calculator-api-container .dcg-icon-wrench:before{content:\"\\e264\"}.dcg-calculator-api-container .dcg-icon-zoom:before{content:\"\\e265\"}.dcg-calculator-api-container .dcg-icon-caret-down:before{content:\"\\e266\"}.dcg-calculator-api-container .dcg-icon-caret-up:before{content:\"\\e269\"}.dcg-calculator-api-container .dcg-icon-check:before{content:\"\\e26a\"}.dcg-calculator-api-container .dcg-icon-chevron-left:before{content:\"\\e26c\"}.dcg-calculator-api-container .dcg-icon-chevron-right:before{content:\"\\e26d\"}.dcg-calculator-api-container .dcg-icon-delete:before{content:\"\\e26f\"}.dcg-calculator-api-container .dcg-icon-four-function:before{content:\"\\e900\"}.dcg-calculator-api-container .dcg-icon-volume-down:before{content:\"\\e901\"}.dcg-calculator-api-container .dcg-icon-volume-up:before{content:\"\\e902\"}.dcg-calculator-api-container .dcg-icon-volume:before{content:\"\\e903\"}.dcg-calculator-api-container .dcg-icon-thin-arrow-right:before{content:\"\\e904\"}.dcg-calculator-api-container .dcg-icon-thin-arrow-left:before{content:\"\\e905\"}.dcg-calculator-api-container .dcg-icon-line-dotted:before{content:\"\\e907\"}.dcg-calculator-api-container .dcg-icon-line-dashed:before{content:\"\\e908\"}.dcg-calculator-api-container .dcg-icon-line-solid:before{content:\"\\e909\"}.dcg-calculator-api-container .dcg-icon-mail:before{content:\"\\e90a\"}.dcg-calculator-api-container .dcg-icon-map:before{content:\"\\e90b\"}.dcg-calculator-api-container .dcg-icon-metronome:before{content:\"\\e90c\"}.dcg-calculator-api-container .dcg-icon-metronome-2:before{content:\"\\e90d\"}.dcg-calculator-api-container .dcg-icon-xy-plane:before{content:\"\\e90e\"}.dcg-calculator-api-container .dcg-icon-replace:before{content:\"\\e90f\"}.dcg-calculator-api-container .dcg-icon-angle:before{content:\"\\e910\"}.dcg-calculator-api-container .dcg-icon-line-thickness:before{content:\"\\e911\"}.dcg-calculator-api-container .dcg-icon-opacity:before{content:\"\\e912\"}.dcg-calculator-api-container .dcg-icon-sound-wave:before{content:\"\\e914\"}.dcg-calculator-api-container .dcg-icon-3d-reorient:before{content:\"\\e915\"}.dcg-calculator-api-container .dcg-icon-geometry:before{content:\"\\e916\"}.dcg-calculator-api-container .dcg-icon-graphing:before{content:\"\\e917\"}.dcg-calculator-api-container .dcg-icon-trashcan:before{content:\"\\e918\"}.dcg-calculator-api-container .dcg-icon-dilation:before{content:\"\\e919\"}.dcg-calculator-api-container .dcg-icon-vector:before{content:\"\\e91a\"}.dcg-calculator-api-container .dcg-icon-rotation:before{content:\"\\e91b\"}.dcg-calculator-api-container .dcg-icon-matrix:before{content:\"\\e91c\"}.dcg-calculator-api-container .dcg-icon-scientific:before{content:\"\\e91d\"}.dcg-calculator-api-container .dcg-icon-test-mode:before{content:\"\\e91f\"}.dcg-calculator-api-container .dcg-icon-reflection:before{content:\"\\e921f\"}.dcg-calculator-api-container .dcg-icon-polygon-token:before{content:\"\\e920\"}.dcg-calculator-api-container .dcg-icon-accessibility:before{content:\"\\e921\"}.dcg-calculator-api-container .dcg-icon-curved-arrow:before{content:\"\\e922\"}.dcg-calculator-api-container .dcg-icon-cartesian:before{content:\"\\e923\"}.dcg-calculator-api-container .dcg-icon-polar:before{content:\"\\e924\"}.dcg-calculator-api-container .dcg-icon-translation:before{content:\"\\e925\"}.dcg-calculator-api-container .dcg-icon-3d:before{content:\"\\e926\"}.dcg-calculator-api-container .dcg-constrained-height-popover{position:absolute;top:40px;bottom:2px;right:4px;pointer-events:none}.dcg-calculator-api-container .dcg-constrained-height-popover .dcg-popover-interior{max-height:100%;pointer-events:auto}.dcg-calculator-api-container .dcg-popover{z-index:80}.dcg-calculator-api-container .dcg-popover .dcg-popover-interior{padding:20px;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px #0003;color:#000;margin:-1px;overflow:auto}.dcg-calculator-api-container .dcg-popover.dcg-top{margin-bottom:10px}.dcg-calculator-api-container .dcg-popover.dcg-right{margin-left:10px}.dcg-calculator-api-container .dcg-popover.dcg-bottom{margin-top:10px}.dcg-calculator-api-container .dcg-popover.dcg-left{margin-right:10px}.dcg-calculator-api-container .dcg-popover .dcg-popover-interior{overflow:auto}.dcg-calculator-api-container .dcg-popover .dcg-popover-content{font-size:.85rem;color:#444;line-height:1.5em;position:relative}.dcg-calculator-api-container .dcg-popover .dcg-language-picker .dcg-language-header{color:#2f72dc;border-bottom:2px solid #2f72dc}.dcg-calculator-api-container .dcg-popover .dcg-popover-title{margin-bottom:10px;font-size:1.15rem;border-bottom:2px solid #2f72dc;color:#2f72dc;font-weight:400;background-color:#fff}.dcg-calculator-api-container .dcg-popover .dcg-popover-title:not(:first-of-type){padding-top:20px}.dcg-calculator-api-container .dcg-popover .dcg-arrow,.dcg-calculator-api-container .dcg-popover .dcg-arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.dcg-calculator-api-container .dcg-popover .dcg-arrow:after{content:\"\";z-index:-1}.dcg-calculator-api-container .dcg-popover.dcg-top .dcg-arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#fff}.dcg-calculator-api-container .dcg-popover.dcg-top .dcg-arrow:after{border-width:11px 11px 0;border-top-color:#00000040;bottom:-1px;left:-11px}.dcg-calculator-api-container .dcg-popover.dcg-right .dcg-arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#fff}.dcg-calculator-api-container .dcg-popover.dcg-right .dcg-arrow:after{border-width:11px 11px 11px 0;border-right-color:#00000040;bottom:-11px;left:-1px}.dcg-calculator-api-container .dcg-popover.dcg-bottom .dcg-arrow{top:-14px;margin-left:-14px;border-width:0 14px 14px;border-bottom-color:#fff}.dcg-calculator-api-container .dcg-popover.dcg-bottom .dcg-arrow:after{border-width:0 14px 14px;border-bottom-color:#00000040;top:-1px;left:-14px}.dcg-calculator-api-container .dcg-popover.dcg-left .dcg-arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#fff;border-top-color:transparent}.dcg-calculator-api-container .dcg-popover.dcg-left .dcg-arrow:after{border-width:11px 0 11px 11px;border-left-color:#00000040;bottom:-11px;right:-1px}.dcg-calculator-api-container .dcg-tap-container [ontap]{cursor:pointer}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem{display:block;position:relative;margin-top:-1px;border-top:1px solid rgba(206,206,206,.8);border-bottom:1px solid transparent;font-size:100%}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem:not(.dcg-expressionimage){cursor:text}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container{width:100%}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-selected,.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-dragging{border-color:#6a93d2;border-width:2px 0;border-right:1px solid #6a93d2}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-selected .dcg-fade-container,.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-dragging .dcg-fade-container{margin-top:-1px;margin-bottom:-1px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-selected .dcg-tab,.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-dragging .dcg-tab{color:var(--dcg-custom-text-color, #fff);border-right:1px solid transparent;background:#6a93d2}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-expression-bottom.dcg-fadein-bottom{position:relative;animation:dcg-fadeIn .8s;cursor:default;z-index:1}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-expression-footer-checkbox{margin:2px 0 4px;font-size:.9rem;color:#666}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-indent-in-folder{margin-left:53px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-inFolder .dcg-fade-container:after{position:absolute;top:5px;bottom:5px;left:56px;content:\"\";border-left:1px solid rgba(0,0,0,.2);animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-inFolder .dcg-main{margin-left:20px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-inFolder .dcg-indent-in-folder{margin-left:73px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-shell{height:54px;background:#fff}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container{position:relative;padding-bottom:6px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-main{position:relative;padding:15px 35px 9px 53px;white-space:nowrap;font-size:110%;vertical-align:middle}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-main .dcg-mq-container,.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-main .dcg-math-field{width:100%}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-expression-warning{font-size:80%;color:#666;cursor:default}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-expression-warning i{font-size:85%}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-expression-warning a{color:#666;margin-left:5px;text-decoration:underline}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-expression-warning a.dcg-hovered{color:#000}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-fade-container .dcg-expression-warning .dcg-btn{padding:2px 5px;margin-top:4px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem .dcg-tab{display:block;position:absolute;top:0;left:0;bottom:0;padding:1px 2px;font-size:65%;text-align:left;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5));background:var(--dcg-custom-background-color, #eee);border-right:1px solid rgba(0,0,0,.06);cursor:move;width:38px;touch-action:none}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-readonly .dcg-tab{cursor:default}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontext .dcg-icon-text{position:absolute;top:50%;left:50%;margin:-7px 0 0 -7px;font-size:140%;opacity:.25}.dcg-calculator-api-container .dcg-expressiontable{cursor:default}.dcg-calculator-api-container .dcg-expressiontable .dcg-fade-container.dcg-hovered{box-shadow:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly{background:var(--dcg-custom-background-color-shaded, #eee)}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-parameter-suggestion-container{pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-lock-indicator{opacity:1;color:#bbb;text-shadow:-1px -1px 0 #eee,-1px 1px 0 #eee,1px -1px 0 #eee,1px 1px 0 #eee,0 -1px 0 #eee,0 1px 0 #eee,1px 0 0 #eee,-1px 0 0 #eee;pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-mathquill-wrapper{pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-mathquill-wrapper .dcg-tooltip-hit-area-container{pointer-events:auto}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-mathquill-wrapper .dcg-tooltip-hit-area-container .dcg-braille-input{pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-tabledata .dcg-row .dcg-cell,.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-fade-container{cursor:default}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-fade-container .dcg-main .dcg-table-container:before,.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-fade-container .dcg-main .dcg-tabledata:before{background:transparent}.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-fade-container .dcg-main .dcg-table-container:after,.dcg-calculator-api-container .dcg-expressionitem.dcg-readonly .dcg-fade-container .dcg-main .dcg-tabledata:after{background:transparent}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly{cursor:default}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly .dcg-edit-list-mathquill,.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly .dcg-main{cursor:default}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly .dcg-evaluation{z-index:1}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly:after{content:\"\";position:absolute;top:0;right:0;bottom:0;width:18px;background:linear-gradient(to right,rgba(238,238,238,0),var(--dcg-custom-background-color-shaded, #eee) 40%)}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly:before{content:\"\";position:absolute;top:0;left:38px;bottom:0;width:18px;background:linear-gradient(to left,rgba(238,238,238,0),var(--dcg-custom-background-color-shaded, #eee) 40%);z-index:1}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly .dcg-main{overflow-x:auto}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly .dcg-main .dcg-table-container{overflow:visible}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-expressionitem.dcg-readonly .dcg-edit-list-mathquill .dcg-static-mathquill-view{padding-right:20px}.dcg-calculator-api-container .dcg-exppanel:not(.dcg-edit-list-mode) .dcg-mathquill-braille-overflow-right .dcg-tooltip-hit-area-container:after{display:none}.dcg-calculator-api-container .dcg-expressionitem:not(.dcg-mathitem).dcg-selected .dcg-top-level-delete{padding-bottom:0;padding-left:0}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-selected .dcg-top-level-delete,.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-selected .dcg-icon-lock{right:-1px}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionitem.dcg-selected .dcg-expression-bottom{margin-right:-1px}.dcg-calculator-api-container .dcg-EDIT-LIST-MODE .dcg-exppanel .dcg-top-level-delete,.dcg-calculator-api-container .dcg-EDIT-LIST-MODE .dcg-exppanel .dcg-lock-indicator{display:none}.dcg-calculator-api-container .dcg-EDIT-LIST-MODE .dcg-exppanel .dcg-expressionitem.dcg-expressiontext .dcg-displayTextarea,.dcg-calculator-api-container .dcg-EDIT-LIST-MODE .dcg-exppanel .dcg-expressionitem.dcg-expressionfolder .dcg-displayTextarea{pointer-events:none;opacity:0}.dcg-calculator-api-container .dcg-EDIT-LIST-MODE .dcg-exppanel .dcg-expressionitem.dcg-expressiontext textarea,.dcg-calculator-api-container .dcg-EDIT-LIST-MODE .dcg-exppanel .dcg-expressionitem.dcg-expressionfolder textarea{opacity:1}.dcg-calculator-api-container .dcg-drag-container{position:absolute;top:0;left:0;right:0;z-index:1000}.dcg-calculator-api-container .dcg-drag-container .dcg-expressionitem{background:var(--dcg-custom-background-color, #fff);overflow:hidden;box-shadow:0 0 10px #888;border-color:#6a93d2;border-right:1px solid #6a93d2}.dcg-calculator-api-container .dcg-drag-container .dcg-expressionitem .dcg-indent-in-folder,.dcg-calculator-api-container .dcg-drag-container .dcg-expressionitem .dcg-fade-container:after,.dcg-calculator-api-container .dcg-drag-container .dcg-expressionitem .dcg-main{transition:.3s}.dcg-calculator-api-container .dcg-drag-container .dcg-expressionitem .dcg-tab{background:#6a93d2}.dcg-calculator-api-container .dcg-drag-container .dcg-expressionitem .dcg-num{display:none}.dcg-calculator-api-container .dcg-template-expressioneach .dcg-expressionitem.dcg-dragging{visibility:hidden}.dcg-calculator-api-container .dcg-exppanel.dcg-isDragging .dcg-expressionitem.dcg-new-expression{opacity:0}.dcg-calculator-api-container .dcg-container .dcg-mq-editable-field{border:none;box-shadow:none!important}.dcg-calculator-api-container .dcg-container .dcg-mq-editable-field textarea{resize:none}.dcg-calculator-api-container .dcg-tap-container .dcg-mq-math-mode .dcg-mq-supsub{margin-bottom:-.2em}.dcg-calculator-api-container .dcg-tap-container .dcg-mq-math-mode .dcg-mq-sub{font-size:80%}.dcg-calculator-api-container .dcg-tap-container .dcg-mq-math-mode .dcg-mq-int>.dcg-mq-supsub>.dcg-mq-sub{font-size:100%}.dcg-calculator-api-container .dcg-clear{clear:both}.dcg-calculator-api-container .dcg-has-background-color .dcg-expressionitem{border-top-color:#0003}.dcg-calculator-api-container .dcg-expression-icon-container{position:absolute;top:28px;left:50%;height:29px;width:29px;margin-top:-14.5px;margin-left:-14.5px;text-align:center;line-height:29px;border-radius:50%}.dcg-calculator-api-container .dcg-selected .dcg-expression-icon-container{top:27px}.dcg-calculator-api-container .dcg-mouse-over-closed-poi,.dcg-calculator-api-container .dcg-mouse-over-opened-poi,.dcg-calculator-api-container .dcg-mouse-over-interactive-label,.dcg-calculator-api-container .dcg-mouse-over-clickable-object{cursor:pointer}.dcg-calculator-api-container .dcg-mouse-over-movable-point{cursor:move}.dcg-calculator-api-container .dcg-mouse-over-movable-point-ew{cursor:ew-resize}.dcg-calculator-api-container .dcg-mouse-over-movable-point-ns{cursor:ns-resize}.dcg-calculator-api-container .dcg-mouse-over-closed-poi .dcg-tracept{display:none}.dcg-calculator-api-container .dcg-poi-label.dcg-show-border .dcg-label{border:1px solid #ddd;background:#fff;border-radius:5px;box-shadow:0 0 5px #0003;padding:8px 6px}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-math-field{padding:3px 10px}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-resizing-text-input-container input,.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-text-input-content{padding:5px 10px}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border{background:#ffffffbf;border-radius:4px;border-width:1px;border-style:solid;padding:1px}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border:not(.dcg-focus):not(.dcg-hovered){border-color:#bbb!important}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border.dcg-empty-label:not(.dcg-focus):not(.dcg-hovered){border-color:#999!important}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border.dcg-empty-label,.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border.dcg-focus{background:#fff}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border.dcg-hovered:not(.dcg-focus){border-style:solid;padding:0;border-width:2px}.dcg-calculator-api-container .dcg-poi-label.dcg-editable-label .dcg-editable-label-border.dcg-focus{padding:0;border-width:2px}.dcg-calculator-api-container .dcg-poi-label .dcg-static-mathquill-view *{-webkit-user-select:none!important;user-select:none!important}.dcg-calculator-api-container .dcg-poi-label{display:inline-block;position:absolute;top:0;left:0;font-size:100%;color:#222}.dcg-calculator-api-container .dcg-poi-label .dcg-pt{display:inline-block;position:absolute;top:-4px;left:-4px;border:4px solid #000;border-radius:4px;width:0;height:0;z-index:0}.dcg-calculator-api-container .dcg-poi-label .dcg-label{position:absolute;z-index:3;white-space:nowrap}.dcg-calculator-api-container .dcg-poi-label .dcg-label.dcg-enable-transition{transition-property:transform;transition-duration:.3s}.dcg-calculator-api-container .dcg-poi-label .dcg-label .dcg-mq-sqrt-prefix{text-shadow:none}.dcg-calculator-api-container .dcg-poi-label .dcg-label-raw-text{pointer-events:none}.dcg-calculator-api-container .dcg-poi-label.dcg-underlined-label .dcg-label-raw-text{text-decoration:underline}.dcg-calculator-api-container .dcg-poi-label.dcg-has-outline .dcg-label{text-shadow:-1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff}.dcg-calculator-api-container .dcg-poi-label:not(.dcg-tracept) .dcg-pt{border-width:5px;border-color:transparent!important;border-radius:5px;opacity:1;top:-5px!important;left:-5px!important;cursor:pointer}.dcg-calculator-api-container .dcg-poi-label:not(.dcg-tracept).dcg-opened .dcg-pt{border-color:#000!important}.dcg-calculator-api-container .dcg-poi-label.dcg-hole .dcg-pt{top:-5px;left:-5px;border-width:2px;padding:3px;background:#fff!important;border-radius:6px}.dcg-calculator-api-container .dcg-poi-label.dcg-hide-dot .dcg-pt{display:none}.dcg-calculator-api-container .dcg-resizing-text-input-container{position:relative;overflow:hidden}.dcg-calculator-api-container .dcg-resizing-text-input-container input{position:absolute;top:1px;left:1px;right:1px;font:inherit;border:0;outline:0;background:transparent;color:inherit}.dcg-calculator-api-container .dcg-resizing-text-input-container:not(.dcg-focus) input::selection{background:transparent}.dcg-calculator-api-container .dcg-resizing-text-input-container.dcg-focus input,.dcg-calculator-api-container .dcg-resizing-text-input-container.dcg-hovered input{position:absolute;top:0;left:0}.dcg-calculator-api-container .dcg-resizing-text-input-container .dcg-text-input-content{min-width:35px;display:inline-block;color:transparent;white-space:pre}.dcg-calculator-api-container .dcg-poi-label.dcg-focus.dcg-naked-label .dcg-label{border:2px solid #5a87cd;padding:3px 10px;border-radius:3px}.dcg-calculator-api-container .dcg-poi-copy-button{padding:5px 5px 5px 3px;margin:-5px -3px -5px 2px;opacity:.4}.dcg-calculator-api-container .dcg-poi-label.dcg-opened .dcg-poi-copy-button.dcg-hovered{opacity:.6}.dcg-calculator-api-container .dcg-poi-label.dcg-opened .dcg-poi-copy-button.dcg-depressed{opacity:1}@keyframes dcg-pulse-cursor{0%{opacity:1}to{opacity:0;transform:scale(2)}}.dcg-calculator-api-container .dcg-geo-keyboard-cursor{position:absolute;pointer-events:none}.dcg-calculator-api-container .dcg-geo-keyboard-cursor:before{content:\"\";position:absolute;width:20px;height:20px;margin-left:-12px;margin-top:-12px;border-radius:50%;border:2px solid gray;animation:dcg-pulse-cursor 2s infinite}.dcg-calculator-api-container .dcg-geo-keyboard-cursor:after{content:\"\";position:absolute;width:20px;height:20px;margin-left:-12px;margin-top:-12px;border-radius:50%;border:2px solid gray;animation:dcg-pulse-cursor 2s infinite;animation-delay:1s}.dcg-calculator-api-container .dcg-tap-container:not(body){position:relative}.dcg-calculator-api-container .dcg-focus-by-tap:focus{outline:none}.dcg-calculator-api-container .dcg-static-mathquill-view *{-webkit-user-select:text!important;user-select:text!important;-moz-user-selection:text!important}.dcg-calculator-api-container .dcg-static-mathquill-view * .dcg-mq-cursor{display:none}.dcg-calculator-api-container .dcg-geo-token-view{cursor:pointer;outline:none;border:2px solid #2f72dc;color:#000;padding:.2em .4em;display:inline-block;border-radius:4px;margin-right:.15em;margin-left:.15em;margin-bottom:2px;width:26px;height:26px;vertical-align:middle;border-color:currentColor;background:#fff;position:relative;font-size:16px;touch-action:none}.dcg-calculator-api-container .dcg-geo-token-view.dcg-static-token{cursor:text}.dcg-calculator-api-container .dcg-geo-token-view:not(.dcg-static-token).dcg-focus-visible{box-shadow:0 0 0 3px #2f72dc80!important}.dcg-calculator-api-container .dcg-geo-token-view.dcg-graph-interactions-disabled{border-style:dashed;opacity:.6}.dcg-calculator-api-container .dcg-geo-token-view>*{pointer-events:none}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-label{position:absolute;right:1px;bottom:-1px;font-family:sans-serif;font-size:75%;padding-right:1px;padding-bottom:1px}.dcg-calculator-api-container .dcg-geo-token-view i{font-style:normal}.dcg-calculator-api-container .dcg-geo-token-view.dcg-assignment-token{border:1px solid #999;padding:0;text-align:center;width:auto;min-width:26px}.dcg-calculator-api-container .dcg-geo-token-view.dcg-assignment-token .dcg-token-background{display:none}.dcg-calculator-api-container .dcg-geo-token-view.dcg-assignment-token.dcg-hovered:not(.dcg-static-token),.dcg-calculator-api-container .dcg-geo-token-view.dcg-assignment-token:focus-within:not(.dcg-static-token){border:1px solid #999;box-shadow:0 0 0 1px #999}.dcg-calculator-api-container .dcg-geo-token-view.dcg-assignment-token.dcg-selected-token:not(.dcg-static-token){background-color:#fff;border:1px solid #666;box-shadow:0 0 0 1px #666}.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-point,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-midpoint,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-intersection,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-glider{position:relative;top:-6px;left:-9px}.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-point:after,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-midpoint:after,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-intersection:after,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-glider:after{display:none}.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-point:before,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-midpoint:before,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-intersection:before,.dcg-calculator-api-container .dcg-geo-token-view.dcg-token-has-label .dcg-token-glider:before{display:none}.dcg-calculator-api-container .dcg-geo-token-view.dcg-selected-token .dcg-token-label{color:#fff}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-background{opacity:.25;display:block;width:100%;height:100%;background:currentColor;position:absolute;top:0;left:0;bottom:0;right:0}.dcg-calculator-api-container .dcg-geo-token-view.dcg-hovered:not(.dcg-static-token) .dcg-token-background,.dcg-calculator-api-container .dcg-geo-token-view:focus-within:not(.dcg-static-token) .dcg-token-background{opacity:.4}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-icon{position:absolute;top:0;left:0;bottom:0;right:0;overflow:hidden;text-align:center;line-height:24px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-polygon,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-point,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-glider,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-intersection,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-midpoint{font-size:140%}.dcg-calculator-api-container .dcg-geo-token-view .dcg-icon-angle{font-size:110%}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-vector,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-translate{font-size:130%;padding-top:1px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-translate{transform:rotate(-45deg)}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-vector{transform:rotate(var(--dcg-icon-angle, -45deg))}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-line:before{transform:rotate(var(--dcg-icon-angle, 20deg))}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-segment:before{transform:rotate(var(--dcg-icon-angle, -20deg))}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-ray:before{transform:rotate(var(--dcg-icon-angle, -60deg))}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-rotate,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-dilate,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-reflect,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-transformation{font-size:130%;color:#000}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-transformation{font-size:100%}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-rotate{margin-top:1px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-translate{margin-left:1px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-dilate{font-size:140%;margin-left:-1px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-reflect:before{position:absolute;top:2px;bottom:2px;left:50%;border-right:1px solid rgba(0,0,0,.3);margin-left:-.5px;content:\"\"}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-glider:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-line:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-segment:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-ray:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-intersection:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-midpoint:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-parallel:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-perpendicular:before{content:\"\";height:2px;background:currentColor;position:absolute;top:50%;left:50%;margin-top:-1px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-intersection:after,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-midpoint:after,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-parallel:after,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-perpendicular:after{content:\"\";height:2px;background:currentColor;position:absolute;top:50%;left:50%;margin-top:-1px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-glider:before{width:16px;margin-left:-8px;opacity:.7}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-intersection:before{transform:rotate(-45deg);width:20px;margin-left:-10px;opacity:.6}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-intersection:after{transform:rotate(45deg);width:20px;margin-left:-10px;opacity:.6}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-midpoint:before{transform:rotate(0);width:20px;margin-left:-10px;opacity:.6}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-segment:before{width:16px;margin-left:-8px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-ray:before{width:20px;margin-left:-5px;transform-origin:25% 25%}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-line:before{width:40px;margin-left:-20px}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-parallel:before,.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-perpendicular:before{width:40px;margin-left:-20px;transform:rotate(-20deg)}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-parallel:after{width:40px;margin-left:-20px;transform:rotate(-20deg);opacity:.4;transform-origin:5px 0}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-perpendicular:after{width:40px;margin-left:-20px;transform:rotate(70deg);opacity:.4}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-circle{border:2px solid currentColor;width:16px;height:16px;margin-top:3px;margin-left:3px;border-radius:50%}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-arc{position:absolute;top:-6px;left:-4px;width:22px;height:20px;transform:rotate(-45deg);background:transparent;overflow:hidden}.dcg-calculator-api-container .dcg-geo-token-view .dcg-token-arc:after{content:\"\";position:absolute;top:50%;left:0%;border:2px solid currentColor;border-radius:50%;width:14px;height:14px}.dcg-calculator-api-container .dcg-geo-token-view.dcg-selected-token{background-color:currentColor}.dcg-calculator-api-container .dcg-geo-token-view.dcg-selected-token .dcg-token-icon{color:#fff}.dcg-calculator-api-container .dcg-geo-token-view.dcg-child-of-hovered-token:not(.dcg-static-token):after{content:\"\";position:absolute;bottom:100%;left:50%;margin-left:-8px;border:1px solid transparent;border-width:6px 8px;border-bottom-color:#0003}.dcg-calculator-api-container .dcg-geo-token-view.dcg-parent-of-hovered-token:not(.dcg-static-token):after{content:\"\";position:absolute;top:100%;left:50%;margin-left:-8px;border:1px solid transparent;border-width:6px 8px;border-top-color:#0003}.dcg-calculator-api-container .dcg-geo-token-view .dcg-icon-lock{font-size:.7rem;color:#666;text-shadow:-1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff;opacity:1;position:absolute;bottom:0;right:0}.dcg-calculator-api-container .dcg-mq-container{position:relative;display:inline-block}.dcg-calculator-api-container .dcg-mq-container .dcg-mq-placeholder{position:absolute;top:50%;left:0;right:0;line-height:1em;height:1em;margin-top:-.67em;font-size:95%;pointer-events:none;font-family:Symbola,Times New Roman,serif;padding-left:2px;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .47))}.dcg-calculator-api-container .dcg-mq-container .dcg-mq-placeholder .dcg-mq-math-mode{font-size:inherit}.dcg-calculator-api-container .dcg-container .dcg-suffix-degree .dcg-mq-root-block:after{content:\"\\b0\";vertical-align:top;opacity:.6;margin-left:1px}.dcg-calculator-api-container .dcg-container .dcg-suffix-radian .dcg-mq-root-block:after{content:\"rad\";font-size:90%;opacity:.6;margin-left:3px}.dcg-calculator-api-container .dcg-container .dcg-mq-editable-field:not(.dcg-no-fadeout){position:relative}.dcg-calculator-api-container .dcg-container .dcg-mq-editable-field:not(.dcg-no-fadeout):after{content:\"\";position:absolute;top:0;right:0;bottom:0;width:14px;background:linear-gradient(to right,transparent,var(--dcg-custom-background-color, #fff));pointer-events:none}.dcg-calculator-api-container .dcg-container .dcg-mq-editable-field:not(.dcg-no-fadeout) .dcg-mq-root-block{padding-right:10px}.dcg-calculator-api-container .dcg-container .dcg-mq-editable-field:not(.dcg-no-fadeout) .dcg-mq-root-block.dcg-mq-editing-overflow-left:before{content:\"\";position:absolute;top:0;left:0;bottom:0;width:14px;background:linear-gradient(to left,transparent,var(--dcg-custom-background-color, #fff));pointer-events:none}.dcg-calculator-api-container .dcg-audio-trace-line{position:absolute;opacity:50%;background:var(--dcg-trace-color, #aaa)}.dcg-calculator-api-container .dcg-audio-trace-line.dcg-audio-trace-line--horizontal{left:0;right:0;height:4px;top:var(--dcg-trace-coord, -10px)}.dcg-calculator-api-container .dcg-audio-trace-line:not(.dcg-audio-trace-line--horizontal){bottom:0;width:4px;top:0;left:var(--dcg-trace-coord, -10px)}.dcg-calculator-api-container .dcg-multi-select-header{display:flex;align-items:center;padding:3px;position:relative}.dcg-calculator-api-container .dcg-multi-select-header .dcg-circular-icon{margin-right:8px;float:left}.dcg-calculator-api-container .dcg-multi-select-header .dcg-btn-light-gray{border-color:#bbb;padding:3px 5px;font-size:90%;margin-right:4px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-btn-outline{display:inline-block;padding-left:10px;padding-right:10px;border:1px solid #666;color:#666;border-radius:5px;height:32px;line-height:30px;cursor:pointer}.dcg-calculator-api-container .dcg-multi-select-header .dcg-btn-outline.dcg-hovered:not(.dcg-disabled){color:#666;border:1px solid #666;box-shadow:0 0 0 1px #666}.dcg-calculator-api-container .dcg-multi-select-header .dcg-btn-outline.dcg-depressed:not(.dcg-disabled){border:1px solid #000;box-shadow:0 0 0 1px #000;color:#000}.dcg-calculator-api-container .dcg-multi-select-header .dcg-btn-outline[role=button].dcg-focus-visible,.dcg-calculator-api-container .dcg-multi-select-header .dcg-navigate-back[role=button].dcg-focus-visible,.dcg-calculator-api-container .dcg-multi-select-header .dcg-delete-btn[role=button].dcg-focus-visible,.dcg-calculator-api-container .dcg-multi-select-header .dcg-more-options[role=button].dcg-focus-visible{outline:none;box-shadow:0 0 0 2px #2f72dc80!important;border-radius:5px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-delete-btn{margin-right:12px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-transformations-button{margin-left:7px;margin-right:5px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-transformations-button .dcg-icon-caret-down{font-size:75%;color:#999;margin-left:4px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-transformations-button.dcg-hovered .dcg-icon-caret-down,.dcg-calculator-api-container .dcg-multi-select-header .dcg-transformations-button.dcg-transformations-open .dcg-icon-caret-down{color:#666}.dcg-calculator-api-container .dcg-multi-select-header .dcg-show-hide-btn{text-align:center;overflow:hidden}.dcg-calculator-api-container .dcg-multi-select-header .dcg-show-hide-btn div{transition:transform .2s;max-height:30px;overflow:hidden}.dcg-calculator-api-container .dcg-multi-select-header .dcg-show-hide-btn:not(.dcg-any-visible-objects) div{transform:translateY(-30px)}.dcg-calculator-api-container .dcg-multi-select-header .dcg-multi-select-icon-button{color:#999;font-size:22px;padding:5px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-multi-select-icon-button.dcg-more-options{margin:0;position:relative;top:2px}.dcg-calculator-api-container .dcg-multi-select-header .dcg-multi-select-icon-button.dcg-transformations-button{margin:0;position:relative;top:2px;background:red}.dcg-calculator-api-container .dcg-multi-select-header .dcg-multi-select-icon-button.dcg-hovered{color:#666}.dcg-calculator-api-container .dcg-multi-select-header .dcg-multi-select-icon-button.dcg-depressed{color:#222}.dcg-calculator-api-container .dcg-tooltip-hit-area-container{position:relative;cursor:default!important;line-height:initial}.dcg-calculator-api-container .dcg-tooltip-hit-area-container.dcg-display-block{width:100%}.dcg-calculator-api-container .dcg-tooltip-hit-area-container:not(.dcg-display-block){display:inline-block}.dcg-calculator-api-container .dcg-tooltip-mount-pt{position:absolute;top:0;left:0}.dcg-calculator-api-container .dcg-tooltip-positioning-container{position:absolute;pointer-events:none;z-index:10000}.dcg-calculator-api-container .dcg-tooltip-positioning-container .dcg-tooltip-message-container{position:absolute;z-index:10000;animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-tooltip-positioning-container .dcg-tooltip-message{max-width:100%;border-radius:4px;padding:5px 8px;font-size:14px;line-height:1.1em;display:inline-block;pointer-events:all;text-align:center;position:relative}.dcg-calculator-api-container .dcg-tooltip-positioning-container .dcg-tooltip-message.dcg-sticky-not-stuck{cursor:pointer}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-dark .dcg-tooltip-message{background:#000;color:#fff}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-dark .dcg-tooltip-message.dcg-sticky-not-stuck{background:#666}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-light .dcg-tooltip-message{background:#fff;color:#000;border:1px solid #bbb;border-radius:5px}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-light .dcg-tooltip-message .dcg-static-mathquill-view{width:100%}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-light .dcg-tooltip-message .dcg-mq-root-block *{-webkit-user-select:none!important;user-select:none!important;cursor:default}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-light .dcg-tooltip-arrow{transform:rotate(45deg)}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-light.dcg-tooltip-gravity-n-s .dcg-tooltip-arrow{transform:translate(-50%) rotate(45deg)}.dcg-calculator-api-container .dcg-tooltip-positioning-container.dcg-tooltip-theme-light.dcg-tooltip-gravity-e-w .dcg-tooltip-arrow{transform:translateY(-50%) rotate(45deg)}.dcg-calculator-api-container .dcg-tooltip-positioning-container .dcg-tooltip-arrow{position:absolute;animation:dcg-fadeIn .3s;z-index:10000}.dcg-calculator-api-container .dcg-dot-dot-dropdown{position:relative;height:1em;width:1em;display:inline-block}.dcg-calculator-api-container .dcg-dot-dot-dropdown span{display:inline-block;width:5px;height:5px;background:currentcolor;border-radius:50%;position:absolute;left:50%;top:50%;margin-left:-3px;margin-top:-3px}.dcg-calculator-api-container .dcg-dot-dot-dropdown span:first-of-type{top:15%}.dcg-calculator-api-container .dcg-dot-dot-dropdown span:last-of-type{top:85%}.dcg-calculator-api-container .dcg-navigate-back{font-size:120%;margin-right:12px;border-right:1px solid rgba(0,0,0,.1);text-align:left;height:34px;padding-left:5px;padding-right:10px;display:flex;align-items:center}.dcg-calculator-api-container .dcg-navigate-back .dcg-navigate-back-message{font-size:75%;text-align:center;color:#666;line-height:1em}.dcg-calculator-api-container .dcg-navigate-back i{width:34px;color:#999}.dcg-calculator-api-container .dcg-navigate-back.dcg-hovered i{color:#666}.dcg-calculator-api-container .dcg-navigate-back.dcg-depressed i{color:#222}.dcg-calculator-api-container .dcg-multi-select-options-menu{width:220px;margin-left:-190px;margin-top:35px}.dcg-calculator-api-container .dcg-multi-select-options-menu:after{content:\"\";position:absolute;top:-10px;right:5px;border-width:10px;border-top-width:0;border-style:solid;border-color:transparent transparent #fff;line-height:0}.dcg-calculator-api-container .dcg-multi-select-options-menu:before{content:\"\";position:absolute;top:-11px;right:4px;border-width:11px;border-top-width:0;border-style:solid;border-color:transparent transparent #ccc;line-height:0}.dcg-calculator-api-container .dcg-multi-select-options-menu .dcg-label-container input.dcg-label-input{margin-top:6px;font-size:90%}.dcg-calculator-api-container .dcg-multi-select-options-menu .dcg-checkbox-section{margin-top:5px}.dcg-calculator-api-container .dcg-multi-select-options-menu .dcg-selected-objects-header{border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.dcg-calculator-api-container .dcg-component-checkbox{cursor:pointer;position:relative}.dcg-calculator-api-container .dcg-component-checkbox .dcg-checkbox{border:1px solid #bbb;margin-right:.5em;width:1.1em;height:1.1em;border-radius:3px;vertical-align:middle;display:inline-block;position:relative}.dcg-calculator-api-container .dcg-component-checkbox .dcg-checkbox i{display:none;font-size:115%;position:absolute;top:-.15em;left:.1em;text-shadow:-1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff}.dcg-calculator-api-container .dcg-component-checkbox .dcg-checkbox-children{position:relative;top:.1em}.dcg-calculator-api-container .dcg-component-checkbox.dcg-hovered:not(.dcg-checked) .dcg-checkbox{border:1px solid #999}.dcg-calculator-api-container .dcg-component-checkbox.dcg-hovered:not(.dcg-checked) .dcg-checkbox i{display:block;color:#e2e2e2}.dcg-calculator-api-container .dcg-component-checkbox.dcg-checked .dcg-checkbox i{display:block;color:#2f72dc}.dcg-calculator-api-container .dcg-component-checkbox.dcg-checked.dcg-hovered .dcg-checkbox{border:1px solid #999}.dcg-calculator-api-container .dcg-component-checkbox.dcg-disabled{pointer-events:none;opacity:.5}.dcg-calculator-api-container .dcg-component-checkbox.dcg-disabled .dcg-checkbox{background:#00000026}.dcg-calculator-api-container .dcg-component-checkbox.dcg-disabled.dcg-checked i{display:block;color:#999}.dcg-calculator-api-container .dcg-component-checkbox.dcg-small{font-size:85%}.dcg-calculator-api-container .dcg-move-to-folder{border-top:1px solid rgba(0,0,0,.2);margin-top:10px;padding-top:10px}.dcg-calculator-api-container .dcg-move-to-folder .dcg-move-to-folder-title{font-size:90%;color:#666;margin-bottom:3px}.dcg-calculator-api-container .dcg-move-to-folder .dcg-move-to-folder-flex{display:flex}.dcg-calculator-api-container .dcg-move-to-folder .dcg-btn-blue{margin-left:5px;padding:0 8px;font-size:90%;height:30px;line-height:28px}.dcg-calculator-api-container .dcg-move-to-folder .dcg-btn-blue.dcg-disabled{pointer-events:none;opacity:.5}.dcg-calculator-api-container .dcg-move-to-folder input{padding:0 5px;border:1px solid rgba(0,0,0,.2);outline:none;border-radius:4px;width:100%;font-size:90%}.dcg-calculator-api-container .dcg-move-to-folder input.dcg-hovered{border:1px solid rgba(0,0,0,.2);box-shadow:0 0 0 1px #0003}.dcg-calculator-api-container .dcg-move-to-folder input:focus{border:1px solid #2f72dc;box-shadow:0 0 0 1px #2f72dc}.dcg-calculator-api-container .dcg-expressions-options-menu,.dcg-calculator-api-container .dcg-table-column-menu,.dcg-calculator-api-container .dcg-image-options-menu,.dcg-calculator-api-container .dcg-generic-options-menu{min-width:222px}.dcg-calculator-api-container .dcg-expressions-options-menu.dcg-options-menu,.dcg-calculator-api-container .dcg-table-column-menu.dcg-options-menu,.dcg-calculator-api-container .dcg-image-options-menu.dcg-options-menu,.dcg-calculator-api-container .dcg-generic-options-menu.dcg-options-menu{padding-left:0;padding-right:0}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-menu-content,.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-menu-content,.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-menu-content,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-menu-content{animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-flex-container,.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-flex-container,.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-flex-container,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-flex-container{display:flex;margin:5px 0;max-width:200px}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-left-side,.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-left-side,.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-left-side,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-left-side{flex:1}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-menu-section,.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-menu-section,.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-menu-section,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-menu-section{padding-left:10px;padding-right:10px}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-menu-section:not(:first-of-type),.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-menu-section:not(:first-of-type),.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-menu-section:not(:first-of-type),.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-menu-section:not(:first-of-type){border-top:1px solid #e2e2e2;padding-top:10px;margin-top:10px}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-menu-section:not(:first-of-type).dcg-section-without-title,.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-menu-section:not(:first-of-type).dcg-section-without-title,.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-menu-section:not(:first-of-type).dcg-section-without-title,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-menu-section:not(:first-of-type).dcg-section-without-title{padding-top:3px}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-options-menu-section .dcg-toggle-view,.dcg-calculator-api-container .dcg-table-column-menu .dcg-options-menu-section .dcg-toggle-view,.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-menu-section .dcg-toggle-view,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-options-menu-section .dcg-toggle-view{margin-top:3px}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-point-segmented-option,.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-line-segmented-option,.dcg-calculator-api-container .dcg-table-column-menu .dcg-point-segmented-option,.dcg-calculator-api-container .dcg-table-column-menu .dcg-line-segmented-option,.dcg-calculator-api-container .dcg-image-options-menu .dcg-point-segmented-option,.dcg-calculator-api-container .dcg-image-options-menu .dcg-line-segmented-option,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-point-segmented-option,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-line-segmented-option{width:33px;height:30px;line-height:30px;color:#999}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-point-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-line-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-table-column-menu .dcg-point-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-table-column-menu .dcg-line-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-image-options-menu .dcg-point-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-image-options-menu .dcg-line-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-generic-options-menu .dcg-point-segmented-option.dcg-hovered:not(.dcg-selected),.dcg-calculator-api-container .dcg-generic-options-menu .dcg-line-segmented-option.dcg-hovered:not(.dcg-selected){color:#666}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-point-segmented-option i,.dcg-calculator-api-container .dcg-table-column-menu .dcg-point-segmented-option i,.dcg-calculator-api-container .dcg-image-options-menu .dcg-point-segmented-option i,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-point-segmented-option i{font-size:150%}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-line-segmented-option i,.dcg-calculator-api-container .dcg-table-column-menu .dcg-line-segmented-option i,.dcg-calculator-api-container .dcg-image-options-menu .dcg-line-segmented-option i,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-line-segmented-option i{font-size:130%}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row,.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-clickable-menu-row,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row,.dcg-calculator-api-container .dcg-table-column-menu .dcg-clickable-menu-row,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row,.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-menu-row,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-clickable-menu-row{padding:7px 0 1px}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row i,.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row .dcg-font-size,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row i,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row .dcg-font-size,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row i,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row .dcg-font-size,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row i,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row .dcg-font-size{color:var(--dcg-custom-text-color, #999);margin-right:5px;cursor:pointer;width:13px;display:inline-block;position:relative;top:2px;line-height:1em}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row .dcg-math-field,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row .dcg-math-field,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row .dcg-math-field,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:42px;max-width:60px;font-size:95%}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid,.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid,.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view),.dcg-calculator-api-container .dcg-table-column-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view),.dcg-calculator-api-container .dcg-image-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view),.dcg-calculator-api-container .dcg-generic-options-menu .dcg-iconed-mathquill-row .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-line-thickness-row-3d,.dcg-calculator-api-container .dcg-table-column-menu .dcg-line-thickness-row-3d,.dcg-calculator-api-container .dcg-image-options-menu .dcg-line-thickness-row-3d,.dcg-calculator-api-container .dcg-generic-options-menu .dcg-line-thickness-row-3d{margin-bottom:8px}.dcg-calculator-api-container .dcg-color-picker-container{max-height:185px;overflow-y:auto;margin-right:-10px;padding-right:10px;margin-left:-2px;padding-left:2px;margin-bottom:-2px;padding-bottom:2px}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu{display:grid;grid-template-columns:repeat(6,30px);gap:4px;grid-auto-flow:row;grid-auto-rows:30px;padding-top:4px}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu:first-of-type{margin-top:0}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu .dcg-color-tile{position:relative;outline:none}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu .dcg-color-tile.dcg-focus-visible{box-shadow:0 0 0 2px #2f72dc80!important}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu .dcg-color-tile i.dcg-icon-check{position:absolute;top:50%;left:0;right:0;pointer-events:none;height:20px;line-height:20px;color:#fff;margin-top:-10px;text-align:center}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu .dcg-color-tile i.dcg-icon-check.dcg-light-color{color:#444}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu .dcg-color-tile i.dcg-icon-check.dcg-mixed-color{text-shadow:0 0 3px rgba(0,0,0,.8)}.dcg-calculator-api-container .dcg-color-picker-container .dcg-color-picker-menu .dcg-color-tile i.dcg-icon-lock{color:#999;text-shadow:-1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff;position:absolute;bottom:2px;right:2px;font-size:65%}.dcg-calculator-api-container .dcg-color-swatch{width:30px;height:30px;border-radius:3px;overflow:hidden}.dcg-calculator-api-container .dcg-color-swatch.dcg-light-color{box-shadow:0 0 0 1px #0003 inset}.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-color-swatch.dcg-light-color{box-shadow:0 0 0 1px #fff3 inset}.dcg-calculator-api-container .dcg-color-swatch.dcg-hovered:not(.dcg-color-evaluation){box-shadow:0 0 0 2px #00000026}.dcg-calculator-api-container .dcg-color-swatch.dcg-hovered:not(.dcg-color-evaluation).dcg-light-color{box-shadow:0 0 0 2px #00000026,0 0 0 1px #0003 inset}.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-color-swatch.dcg-hovered:not(.dcg-color-evaluation).dcg-light-color{box-shadow:0 0 0 1px #fff3 inset}.dcg-calculator-api-container .dcg-color-swatch.dcg-depressed:not(.dcg-color-evaluation){box-shadow:0 0 0 2px #00000040}.dcg-calculator-api-container .dcg-color-swatch.dcg-depressed:not(.dcg-color-evaluation).dcg-light-color{box-shadow:0 0 0 2px #00000040,0 0 0 1px #0003 inset}.dcg-calculator-api-container .dcg-container.dcg-inverted-swatches .dcg-color-swatch.dcg-depressed:not(.dcg-color-evaluation).dcg-light-color{box-shadow:0 0 0 1px #fff3 inset}.dcg-calculator-api-container .dcg-color-swatch.dcg-has-background-image{background:#fff;width:30px;height:30px;overflow:hidden;background-size:30px 30px!important;content:\"\"}.dcg-calculator-api-container .dcg-container .dcg-editable-mode-toggle{padding-left:5px}.dcg-calculator-api-container .dcg-container .dcg-label-container{cursor:default;display:flex}.dcg-calculator-api-container .dcg-container .dcg-label-container input{outline:none;border:1px solid #bbb;border-top:0!important;border-right:0!important;border-left:0!important;color:#000;padding:1px 2px;-webkit-appearance:none;appearance:none;border-radius:0;min-width:5px;font-size:inherit;margin-left:5px;flex:1;background:var(--dcg-custom-background-color-shaded);color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-container .dcg-label-container input.dcg-hovered{border-color:#ccc;box-shadow:0 1px #ccc}.dcg-calculator-api-container .dcg-container .dcg-label-container input:focus:not([disabled]){border-color:#2f72dc;box-shadow:0 1px #2f72dc}.dcg-calculator-api-container .dcg-container .dcg-label-container input.dcg-disabled-editable-input{opacity:0;pointer-events:none}.dcg-calculator-api-container .dcg-container .dcg-label-container input.dcg-readonly{pointer-events:none}.dcg-calculator-api-container .dcg-container .dcg-label-container:not(.dcg-label-visible) input.dcg-disabled-input:not(:focus){border-bottom-color:transparent;pointer-events:none}.dcg-calculator-api-container .dcg-container .dcg-label-container.dcg-label-visible .dcg-checkbox{color:#666}.dcg-calculator-api-container .dcg-container .dcg-editable-mode-toggle{position:relative;top:-3px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-expression-bottom .dcg-label-container{font-size:100%}.dcg-calculator-api-container .dcg-expression-bottom .dcg-label-container{font-size:80%;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5));padding-right:10px}.dcg-calculator-api-container .dcg-segmented-control-container{display:flex}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn{color:var(--dcg-custom-text-color, rgba(0, 0, 0, .85));text-align:center;display:flex;justify-content:center;align-items:center;border:1px solid var(--dcg-custom-text-color, rgba(0, 0, 0, .42))}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn .dcg-segmented-control-interior{cursor:pointer}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn i{position:relative;top:1px}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn:not(:last-of-type){border-right:0}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-hovered:not(.dcg-selected){color:#000}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-depressed:not(.dcg-selected){background:#0000000d}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-selected{color:var(--dcg-custom-background-color, #fff);position:relative}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-default{flex:1}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-default .dcg-segmented-control-interior{height:34px;line-height:34px;padding:0 8px}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-default.dcg-hovered:not(.dcg-selected){border-color:#0000009e}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-default.dcg-selected{border:1px solid var(--dcg-custom-text-color, rgba(0, 0, 0, .65));background:var(--dcg-custom-text-color, rgba(0, 0, 0, .65))}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini{border-color:var(--dcg-custom-text-color, #ccc)}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini .dcg-segmented-control-interior{padding:4px 6px}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-hovered:not(.dcg-selected){background:#0000000d}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-depressed:not(.dcg-selected){background:#0003}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-selected{background:var(--dcg-custom-text-color, rgba(47, 114, 220, .15));border-color:var(--dcg-custom-text-color, #2f72dc);color:var(--dcg-custom-background-color, #2f72dc);cursor:default!important}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-selected+.dcg-segmented-control-btn{border-left:1px solid var(--dcg-custom-text-color, #2f72dc)}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-disabled{pointer-events:none}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-disabled.dcg-selected+.dcg-segmented-control-btn{border-left:1px solid #666}.dcg-calculator-api-container .dcg-segmented-control-container .dcg-segmented-control-btn.dcg-theme-mini.dcg-disabled.dcg-selected{background:#0000001a;border-color:#666;color:#000}.dcg-calculator-api-container .dcg-multi-select-transformations-menu{width:300px;margin-left:-190px;margin-top:35px}.dcg-calculator-api-container .dcg-multi-select-transformations-menu:after{content:\"\";position:absolute;top:-10px;right:5px;border-width:10px;border-top-width:0;border-style:solid;border-color:transparent transparent #fff;line-height:0}.dcg-calculator-api-container .dcg-multi-select-transformations-menu:before{content:\"\";position:absolute;top:-11px;right:4px;border-width:11px;border-top-width:0;border-style:solid;border-color:transparent transparent #ccc;line-height:0}.dcg-calculator-api-container .dcg-multi-select-transformations-menu.dcg-options-menu{padding:10px 10px 0}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container{display:flex;margin-bottom:10px}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation{border:1px solid rgba(0,0,0,.2);padding:5px;text-align:center;width:64px;font-size:70%;border-radius:5px;color:#999}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation:not(:last-of-type){margin-right:8px}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation.dcg-will-be-hidden-or-disabled{opacity:.5;border:1px dashed rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation i{display:block;text-align:center;font-size:40px;margin:5px 0;position:relative}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation i.dcg-icon-rotation:after,.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation i.dcg-icon-dilation:after{position:absolute;top:50%;left:50%;width:4px;height:4px;background:#7d69b3;margin-left:-2px;margin-top:-2px;border-radius:50%;content:\"\"}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation i.dcg-icon-vector{transform:rotate(-45deg)}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation i.dcg-icon-reflection:after{position:absolute;top:2px;bottom:2px;left:50%;border-right:2px dashed rgba(47,114,220,.5);content:\"\";margin-left:-1px}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation.dcg-hovered{border:1px solid #999;box-shadow:0 0 0 1px #999;color:#666}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation.dcg-depressed{border:1px solid #666;box-shadow:0 0 0 1px #666;color:#000}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-new-transformations-container .dcg-new-transformation.dcg-disabled{opacity:.25}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-existing-transformations-container{max-height:200px;overflow-y:auto;padding:0 1px 5px;margin:0 -1px}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-existing-transformation{padding:5px 10px 2px;border:1px solid rgba(0,0,0,.2);border-radius:5px;margin-top:5px;margin-bottom:5px;opacity:.8;color:#666;text-align:left}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-existing-transformation.dcg-hovered{opacity:1;color:#444;border:1px solid #aaa;box-shadow:0 0 0 1px #aaa}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-existing-transformation.dcg-depressed{opacity:1;color:#000;border:1px solid #888;box-shadow:0 0 0 1px #888}.dcg-calculator-api-container .dcg-multi-select-transformations-menu .dcg-existing-transformation>div{pointer-events:none}.dcg-calculator-api-container .dcg-options-menu-container{position:absolute;display:none;z-index:61;pointer-events:none}.dcg-calculator-api-container .dcg-options-menu-container .dcg-options-menu{pointer-events:auto}.dcg-calculator-api-container .dcg-options-menu{padding:10px;position:relative;border:1px solid #d3d3d3;border-radius:7px;box-shadow:0 0 6px #00000026;background:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-options-menu button{margin:unset;padding:unset;border:unset;background:unset;font-size:inherit;color:inherit}.dcg-calculator-api-container .dcg-options-menu button.dcg-focus-visible,.dcg-calculator-api-container .dcg-options-menu button.dcg-hovered:not(.dcg-disabled){outline:none;box-shadow:0 0 0 2px #2f72dc80}.dcg-calculator-api-container .dcg-options-menu button.dcg-disabled,.dcg-calculator-api-container .dcg-options-menu button[aria-disabled=true]{cursor:unset}.dcg-calculator-api-container .dcg-options-menu .dcg-dividing-line-after{padding-bottom:10px;border-bottom:1px solid #e2e2e2;margin-bottom:10px}.dcg-calculator-api-container .dcg-options-menu .dcg-triangle{width:0;height:0;border-style:solid}.dcg-calculator-api-container .dcg-options-menu .dcg-triangle:before{content:\"\";width:0;height:0;border-style:solid}.dcg-calculator-api-container .dcg-options-menu .dcg-title{margin-bottom:5px;opacity:.65;font-weight:500}.dcg-calculator-api-container .dcg-options-menu .dcg-style-icons,.dcg-calculator-api-container .dcg-options-menu .dcg-component-checkbox{margin-top:5px}.dcg-calculator-api-container .dcg-options-menu .dcg-component-checkbox .dcg-checkbox-children{font-size:90%;color:var(--dcg-custom-text-color, #333)}.dcg-calculator-api-container .dcg-options-menu .dcg-style-icon-container{display:inline-block;width:29px;height:29px;border-radius:50%}.dcg-calculator-api-container .dcg-options-menu .dcg-style-icon-container:not(:last-of-type){margin-right:4px}.dcg-calculator-api-container .dcg-options-menu .dcg-style-icon-container.dcg-disabled{cursor:default!important}.dcg-calculator-api-container .dcg-options-menu .dcg-style-icon-container:not(.dcg-disabled).dcg-hovered:not(.dcg-disabled){box-shadow:0 0 0 2px #0000001a}.dcg-calculator-api-container .dcg-options-menu .dcg-style-icon-container:not(.dcg-disabled).dcg-depressed:not(.dcg-disabled){box-shadow:0 0 0 2px #00000040}.dcg-calculator-api-container .dcg-options-menu textarea{width:100%;height:3em;border:1px solid rgba(0,0,0,.2);border-radius:4px;font:inherit;font-size:90%;padding:5px;margin-top:5px;outline:none;position:relative;top:3px;color:var(--dcg-custom-text-color, #000);background:var(--dcg-custom-background-color-shaded, #fff)}.dcg-calculator-api-container .dcg-options-menu textarea.dcg-hovered{border:1px solid #bbb;box-shadow:0 0 0 1px #bbb}.dcg-calculator-api-container .dcg-options-menu textarea:focus{border:1px solid #2f72dc;box-shadow:0 0 0 1px #2f72dc}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-triangle,.dcg-calculator-api-container .dcg-slider-options-view .dcg-triangle,.dcg-calculator-api-container .dcg-table-column-menu .dcg-triangle,.dcg-calculator-api-container .dcg-image-options-menu .dcg-triangle{position:absolute;top:12px;left:-9px;border-width:9px 9px 9px 0;border-color:transparent #d3d3d3 transparent transparent}.dcg-calculator-api-container .dcg-expressions-options-menu .dcg-triangle:before,.dcg-calculator-api-container .dcg-slider-options-view .dcg-triangle:before,.dcg-calculator-api-container .dcg-table-column-menu .dcg-triangle:before,.dcg-calculator-api-container .dcg-image-options-menu .dcg-triangle:before{position:absolute;top:-8px;left:1px;border-width:8px 8px 8px 0;border-color:transparent var(--dcg-custom-background-color, #fff) transparent transparent}.dcg-calculator-api-container .dcg-expressions-options-menu,.dcg-calculator-api-container .dcg-slider-options-view,.dcg-calculator-api-container .dcg-image-options-menu{left:38px}.dcg-calculator-api-container .dcg-expressions-options-menu,.dcg-calculator-api-container .dcg-slider-options-view{top:-7px}.dcg-calculator-api-container .dcg-image-options-menu{min-width:185px;top:-10px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-triangle{position:absolute;top:15px;left:-9px}.dcg-calculator-api-container .dcg-table-column-menu .dcg-triangle{position:absolute;top:-9px;left:14px}@font-face{font-family:Abraham;src:url(data:font/woff2;base64,d09GMgABAAAAAArwAA0AAAAAeWQAAAqVAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGhgGYACCYhEICoHWFIGlFguCSgABNgIkA4QWBCAFiB0HhnQbtF4RlaOBR1GaNk3yZQI3B7YOliFCqWPJhLGMZWhifaqyq2o95GjH/zNVXBL8//9+/5trX7XvFg1IZlYag8ygxJfQVn5CG1XtHP+dNq/yNt2C3pL4S+6clNLJDAzYNFYB91q8EtLut8xTjmIJrIusoXVe+2wOwt9AJDikbwstrP99yLFHAPzz3Kv8zsnN5Bxfj0MY4zVxDermbpqDSlLwlBquUEUKWLKC/ZTqUiAv/D/t978qcBFrJFoxien5xgafh3ry5nPPW2d49/v9Hw2JVH4uSCjEZJZIEf9/TP1e6LRjmpSm8IJIGEpw5KQa/5jvAgTw0rfxI2D948NgeQsBOVTLOj7e9uyLvhKAPWRYBnhUfoneIQzwFPdI+Oj8cmCFe8mSUZEe8FbhFFixwJtglARgCiJ+ox4wBgFwGSMCxjCxHZATY/hAwX0dypZ0AAqmdCgD3cF9d7e9OECwuUJ4vyszdYLtFfgBC2t3WO0Yq4dI/4HIyMrJKygqKauoqqlraGpp6+jq6RsYGhkTJqZm5haWVtYWrFRr9Uaz1e50e/3BcDSeTGfzxXK13mx3+8PxBM7yccuOHAr1vgzaD8LDYGoDzC8AgCAGPGX6fFspovrttY4kxKvIokJxNrafYC3wFQXzMoDa3imAyj7PuH0j8qnRPkDKA1me2uIZck2ci/P3LZ8eCYTQ2dHAgYJD4t0c57oCXMgMXiwMVcTz7cFF6mXKFdrV8uNPyAPUIcow7bqog/BwU4sWfq33xFUv5KpeyNimSmmCgXAd4Wl5+I4e6RUf1B5BNBwGA0LFdXgCmOaszGXOsalSjuHOEeMsZaiJbB7elCdblK7hDvY/4HZe2DbYTHIYJKWFBSlD1AHyIC2Zh5X35/ruazK7L8mG5+XiRrjDwhtMNJwWnmwKzwFcGsQ+EG7K5ILNewxDoRw45boM5BCncUz59T7Brb8i9nKXBjTlnqs+/dVokUHF4cPmbNhy+WjYPjwOERc4p2yKWGwUn6rYW92anaBbixCV440aah2lXq4rCg/Lpfz+V9Qaci2tntJy9bpB8m2+scd873PfY8tkeAhMRuT8adg+4KIb3A8uBH7whzv77EwyjGWkYZdAE/Ew+IfOvTMF9mHaDyIHr93Fr1m+FHnPRrSx+xV2D4qqrtGm9s5BnW1znv7RfabE/WggXINmNgYQaSakNTviPiiH9FmVEv2CbQ7TSmdzikfFnbHgLoo7VXdM9Wa0JhoWwqo7Lvk1UaajFf8ZZ++DGf9ZNg5iis9KYXk3Rl0SANz7O0BzziGlf9Vt8CYyTYHcLIXybsg/38isq/+RrsmwS6UugH7PfRHBffY49ywoZ2rWNF1A3+o/4zzZdPlSUSWteegYNPSifx9ER9VtW8Rh0wjhRgiH/BbjQAr6LyYlY5A4wfuaWP9Yvke4ZlCoPzjwu0IlFwv03HJf8DuQam40vLpI70RDhL30GD++ueym8F+8sZsYpKPjohdvLjtNPBd88i+YfnqTRtN6dSKQ0/wB+juSGt4Lzf6LUfedjnsZp/7l9PJzfGO6spDY+RE+ET5RTORcKoyxfxzSC/poN/a6B9QvS/piIs/78ZVjFF3p7pYigav1cYxuVq2KpJ5u0cZ+ztpGnKhDEfwEVxVS72rtkvoErucAZhio41AJKSQtuqp25mltuiQBqoPGBaFSwQ2n7or5M+4rHGTEYK1BdAk9Pk1YOyOhZ2gFiM0VPhEMN9aHlS0s55hu2VG6a5HAFfvnMssOnNMQktYaWN84dcIEN29kUIq47MYPLf44Xyt6WO3gDAe//czw6eEzseeVJhs90xH2nWwsebJFlTVZi66BOm5nlg1wz4pzslf27+ZgthdYiXECJUtBGAnOumlppur+eSUzuXsu3tfygYXvsJ3exlDo2YvYGVwuDAKIF8MtneDy3QWwgIWbW88dzxY0nJjcbpDRAKAAoKPx1L60XYnyfBfG7tPRpuAy2oPRxtacy3ZaTU61uOASIwl//xzPVJui4FlhFOZZqT1stCuXmDuw5ef9BbsdnN4dKWxXVmcuA98ugHcfMCm5nzhsaXc6Zyn8D/0F/4PLtJZZkbrhN5rlr7W5RXic46/uP3Lzrgb6KnuQMw4m2Gqu/kPnkfsEkH4p81fgnNNhu1fvY7/Vt1b1j3ptsC5JepoMTJ/V4nwTMgrUGXgqvGbU68kxXXI3z9zTS2eOy+pWsiaznuL/dBNNhfmJnReiussqc7f7K1x+baL9PAdOCLuql+Z5/Y4Fh3c7LZ/MaoTks3qK3mHi7Ng35bef2ML8msShaUEvJmH/jSniU6QzYsZ1nF1xcRovOtl8HMx4XLHY/CxD3J6vDnY7TW0ctzRXPRraHrfsxjL2Zrt1e9NlTc7J5SlaVYPG+TSr4MuFHBPTDMBtx4ZWTj5XvWD457P2wNr7ZIDKwajVQnvvVeb3NAUiU8WtyuMT9P5clQNdAFjCoLGSEPgb0AFSF3tTCJVY1zlEZHNyfD1Il223bP9TNcg0HKKkLl84DcpqIWo+218lQ0fOUzwyzmk2wspKaftVNJNRcTmn/40zQ2cOps/PwBP5gDxL5cVEqc7JTiUXjm55Pq1eEawZeraYT8cnHme740pH5HRLtPhwHqtZJjDo6WklfIaH15vssNPvs2352Fd9gthu77bMrxew1/l+HPlK5n//uLgPyw2+OYtzmMbGMeeyrVIc0mzjuU6U86iLXs3ZneQ75WtE3GlktntAXjirqwAAY5QvJAS+Au6CLpsNybZpXmQ6QT2D1T2FD+XDH8F/zW1q/JDC6K4tUn8OdLI5bZKOLzL/mg5BoY5Ta/Tgfj3RVwV/oXTULyk+RgQI3r8LabzGa/Ytzhhf/n7Sy3RuU7MfJkaH1PnNom/D/jiwOxBP6+6VCvfoCNCLm3/Zfp/9hf2xIeqFebEKVvXpuIAe3MYHWa4QsN1zmQNNhb9u0dG0EXHSHhMa7NN54ICZEA4ZSpkjpGHFTCphXimrythWzikVXFDJNddIobvBanKLWqT6YkQ+u+tlWCxgsVGy0x6bhdhnwbwDdvvikOWEOcLUr5hRJUwrZVEZ68rZVcEZlVxyTTE33OAx0ke0FKsG0mAK7BAjR7Qk0dJpyJApg4Z8GZLFyhQnHvxu8CP+jMynPz/j8guSlwM4KV6ifGmi5YD/6/BzAKzQpE2bPlMTlcuTl6dq2rUytbX1TU0WzivntQqurNY6u5MjVzLtpnRtWw7iRp5EKl6ahB130VJJJekKoQN/oqJc2+Lfzy/+hvriX5xvfD8oXD0yOH5Olx9l6iWYUb1Cvc8wnl7rAQgTA3i/cP+vTkxCSkZOQUlFDcOPRABOkBBhIkSJESdBkhRpMmTJkadAkRJlKlSpUadBkxZtOnTp0WfAkBFjBBOmzJizYMmKNRu27Nhz4MiJMxeu3Ljz4MmLNx++/PgLEChIsBChwoSLEClKtBHEiJgQM2JBrIgNsSMORplyFSpVqUYxnCApmmE5XhAlWVE13TAdTpfb4/X5A8FQOBKNxRPJVDqTzeULxZLKspLfcz6EI4StRVJjlAGJycbOwcnFzcPLxx9aHWwAAAAAAAAAAEREREREREREIiIiIiIiIlVCcwEAAA==) format(\"woff2\");font-display:block}.dcg-calculator-api-container .dcg-mathquill-wrapper .dcg-mathquill-braille .dcg-braille-input{background:none;width:100%;border:none;font-family:Abraham,serif;font-size:125%;padding:1px 0}.dcg-calculator-api-container .dcg-mathquill-wrapper .dcg-mathquill-braille .dcg-braille-input:focus{outline:none}.dcg-calculator-api-container .dcg-mathquill-wrapper .dcg-mathquill-braille .dcg-inline-braille{position:absolute;left:-1000px;top:-1000px;width:0;height:0;overflow:hidden}.dcg-calculator-api-container .dcg-mathquill-wrapper .dcg-mathquill-braille.dcg-mathquill-braille-overflow-left .dcg-tooltip-hit-area-container:before{content:\"\";position:absolute;top:0;left:0;bottom:0;width:14px;background:linear-gradient(to left,#fff0,#fff);pointer-events:none}.dcg-calculator-api-container .dcg-mathquill-wrapper .dcg-mathquill-braille.dcg-mathquill-braille-overflow-right .dcg-tooltip-hit-area-container:after{content:\"\";position:absolute;top:0;right:0;bottom:0;width:14px;background:linear-gradient(to right,#fff0,#fff);pointer-events:none}.dcg-calculator-api-container .dcg-disable-slider{opacity:.3}.dcg-calculator-api-container .dcg-slider-interior{flex:1;position:relative;top:-4px;margin-left:7px;margin-right:7px;touch-action:none}.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb{cursor:pointer;z-index:3;border-radius:8px;position:absolute;top:-8px;margin-left:-19px;width:38px;height:38px}.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb:focus{outline:none}.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb:focus:after{position:absolute;top:-4px;left:4px;content:\"\";pointer-events:none;border:2px solid rgba(47,114,220,.35);border-radius:50%;width:26px;height:26px}.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb .dcg-graphic{position:absolute;top:0;left:8px;border-radius:12px;width:22px;height:22px;background:#2f72dc59}.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb .dcg-center{position:absolute;top:0;left:8px;border-radius:12px;width:22px;height:22px;background:#2f72dc;transform:scale(.25);transition:transform .2s}.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb.dcg-hovered .dcg-center,.dcg-calculator-api-container .dcg-slider-interior .dcg-thumb.dcg-down .dcg-center{transform:scale(1)}.dcg-calculator-api-container .dcg-slider-interior .dcg-zeroMarker{position:absolute;top:2px;z-index:2;width:2px;height:2px;background:#0000004d;border-radius:2px}.dcg-calculator-api-container .dcg-slider-interior .dcg-track{cursor:pointer;height:22px;position:absolute;left:0;right:0}.dcg-calculator-api-container .dcg-slider-interior .dcg-track .dcg-ticks{position:absolute;top:2px;bottom:0;width:100%}.dcg-calculator-api-container .dcg-slider-interior .dcg-track .dcg-ticks .dcg-tick{position:absolute;top:0;width:2px;height:2px;background-color:#fff;margin-left:0;z-index:1;border-radius:2px}.dcg-calculator-api-container .dcg-slider-interior .dcg-track .dcg-graphic{height:6px;background-color:#0000001a;border-radius:3px;margin-bottom:6px;width:100%}.dcg-calculator-api-container .dcg-slider-container .dcg-minLabel{padding:10px 4px 10px 8px}.dcg-calculator-api-container .dcg-slider-container .dcg-maxLabel{padding:10px 8px 10px 4px}.dcg-calculator-api-container .dcg-slider-container .dcg-minLabel,.dcg-calculator-api-container .dcg-slider-container .dcg-maxLabel{z-index:4;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5));margin:-10px 0;min-width:26px;text-align:center}.dcg-calculator-api-container .dcg-slider-container .dcg-minLabel .dcg-mq-math-mode,.dcg-calculator-api-container .dcg-slider-container .dcg-maxLabel .dcg-mq-math-mode{font-family:arial,sans-serif;cursor:pointer;font-size:80%;position:relative;top:-1px}.dcg-calculator-api-container .dcg-slider-container .dcg-minLabel.dcg-hovered,.dcg-calculator-api-container .dcg-slider-container .dcg-maxLabel.dcg-hovered{color:#333}.dcg-calculator-api-container .dcg-slider-container .dcg-minLabel.dcg-depressed,.dcg-calculator-api-container .dcg-slider-container .dcg-maxLabel.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-local-display-preferences-title{margin-bottom:7px}.dcg-calculator-api-container .dcg-perspective-slider{display:flex;margin-top:5px;gap:7px;align-items:center}.dcg-calculator-api-container .dcg-perspective-slider i.dcg-icon-3d-cube,.dcg-calculator-api-container .dcg-perspective-slider i.dcg-icon-3d-perspective{cursor:pointer;color:#666}.dcg-calculator-api-container .dcg-perspective-slider i.dcg-icon-3d-perspective{font-size:1.5em;position:relative;top:.05em}.dcg-calculator-api-container .dcg-3d-debug-root{position:fixed;bottom:0;right:0;z-index:1000}.dcg-calculator-api-container .dcg-3d-debug-root .dcg-3d-debug-container{display:inline-block;position:relative;background-color:#fff}.dcg-calculator-api-container .dcg-3d-debug-root .dcg-3d-debug-container:before{content:attr(dcg-label);position:absolute;top:0;left:0}.dcg-calculator-api-container .dcg-3d-debug-root .dcg-3d-debug-container canvas{border:1px solid red;width:100%;height:100%}.dcg-calculator-api-container .dcg-learn-more-link{display:inline-block;color:#999;text-decoration:none;padding:5px;font-size:85%;position:relative;top:1px}.dcg-calculator-api-container .dcg-learn-more-link.dcg-hovered{color:#666}.dcg-calculator-api-container .dcg-learn-more-link.dcg-active{color:#333}.dcg-calculator-api-container .dcg-drop-image{position:absolute;top:0;right:0;left:0;bottom:0;z-index:42;text-align:center;vertical-align:middle;background:#ffffff80;border:8px dashed #bbb;font-family:sans-serif;color:#bbb;font-size:370%}.dcg-calculator-api-container .dcg-drop-image span{position:absolute;bottom:0;left:0;right:0;top:0;height:3.6em;line-height:1.2em;margin:auto;padding:0 20px}.dcg-calculator-api-container .dcg-exppanel-outer{display:inline-block;overflow-x:visible;margin-left:0}.dcg-calculator-api-container .dcg-exppanel-outer .dcg-exppanel-container{width:100%;-webkit-transform:translateZ(0);position:absolute;top:0;bottom:0;transition:transform .25s ease-out;display:flex;flex-direction:column}.dcg-calculator-api-container .dcg-exppanel-outer .dcg-exppanel-container.dcg-add-shadow{box-shadow:0 -4px 6px #0003;z-index:1}.dcg-calculator-api-container .dcg-show-expressions-tab{opacity:0;animation:dcg-fadeIn .3s forwards;animation-delay:.4s}.dcg-calculator-api-container .dcg-exppanel{flex:1;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;border-right:1px solid rgba(0,0,0,.2);z-index:0;-webkit-overflow-scrolling:touch}.dcg-calculator-api-container .dcg-exppanel .dcg-expressionlist{display:flex;flex-direction:column;min-height:100%}.dcg-calculator-api-container .dcg-narrow .dcg-exppanel-container{z-index:40}.dcg-calculator-api-container .dcg-narrow .dcg-exppanel{border-right:0}.dcg-calculator-api-container .dcg-tooltipped-error{color:#e66b3c;font-size:22px;cursor:pointer;display:inline-block;width:26px;height:26px;text-align:center;animation:dcg-delayed-fadeIn 1s;position:relative;top:3px}.dcg-calculator-api-container .dcg-tooltipped-error.dcg-small{font-size:14px;width:16px;height:16px;position:relative;top:1px}.dcg-calculator-api-container .dcg-tooltipped-error.dcg-white{color:#fff}.dcg-calculator-api-container .dcg-circular-icon-container{width:29px;height:29px;border-radius:50%}.dcg-calculator-api-container .dcg-circular-icon-container .dcg-graph-interaction-disabled{position:absolute;bottom:-1px;right:-1px;font-size:.8rem;color:#999;z-index:10;text-shadow:-1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff}.dcg-calculator-api-container .dcg-circular-icon{display:inline-block;width:29px;height:29px;line-height:29px;border-radius:50%;position:relative;overflow:hidden}.dcg-calculator-api-container .dcg-circular-icon.dcg-semi-transparent{opacity:.4}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden{box-shadow:inset 0 0 3px #00000040}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden:before{position:absolute;top:0;left:0;bottom:0;right:0;border:5px solid #999;border-radius:50%;opacity:.25;content:\"\"}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden.dcg-white-icon:before{border-color:#fff;opacity:.4}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden.dcg-hovered:before{opacity:.3125}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden.dcg-hovered.dcg-white-icon:before{opacity:.5}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden.dcg-depressed:before{opacity:.375}.dcg-calculator-api-container .dcg-circular-icon.dcg-hidden.dcg-depressed.dcg-white-icon:before{opacity:.6}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline{border:2px solid #000;opacity:.5;color:#000;text-align:center}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline.dcg-hovered{opacity:.7}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline.dcg-depressed{opacity:.9}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline .dcg-icon-folder{position:relative;top:-1px;font-size:110%}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline .dcg-icon-sound-wave{position:relative;font-size:180%;top:2.5px}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline .dcg-icon-pause{position:relative;top:-1px;left:.25px}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline .dcg-icon-volume-up{position:relative;left:.25px;font-size:125%}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline .dcg-icon-play{position:relative;top:-1px;left:1.5px}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline .dcg-icon-fraction{font-size:20px;position:relative;top:2px}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline.dcg-white-icon{color:#fff;border-color:#fff;opacity:.9}.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline.dcg-white-icon.dcg-hovered,.dcg-calculator-api-container .dcg-circular-icon.dcg-thick-outline.dcg-white-icon.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image{background:#fff}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";border-radius:50%;overflow:hidden;box-shadow:inset 0 0 4px #000000b3}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image .dcg-background-image{width:29px;height:29px;display:inline-block;border-radius:50%;background-size:29px 29px!important}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i{text-shadow:0 0 6px rgba(0,0,0,.2),0 0 1px rgba(0,0,0,.5)}.dcg-calculator-api-container .dcg-circular-icon .dcg-spinner{position:absolute;left:50%;top:50%;margin-top:-10px;margin-left:-10px}.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon{box-shadow:inset 0 0 3px #00000040;overflow:hidden}.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon{text-shadow:0 0 3px rgba(0,0,0,.25)}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon{font-size:35px}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image.dcg-modifier-size-medium,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon.dcg-modifier-size-medium{font-size:42.25px}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image.dcg-modifier-size-large,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon.dcg-modifier-size-large{font-size:56.75px}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image.dcg-modifier-size-small,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon.dcg-modifier-size-small{font-size:32.1px}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image.dcg-modifier-rotated,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon.dcg-modifier-rotated{transform:rotate(90deg)}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon{position:absolute;top:-3px;left:-30px;right:-30px;bottom:-3px;color:#fff;line-height:35px;text-align:center}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-check,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-check{font-size:50%}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-move,.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-move-vertical,.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-move-horizontal,.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-arrow-right,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-move,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-move-vertical,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-move-horizontal,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-arrow-right{font-size:55%}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-point,.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-cross,.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-open,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-point,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-cross,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-open{font-size:75%}.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-points,.dcg-calculator-api-container .dcg-circular-icon.dcg-has-background-image i.dcg-layered-icon.dcg-icon-lines-solid,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-points,.dcg-calculator-api-container .dcg-circular-icon.dcg-colored-icon i.dcg-layered-icon.dcg-icon-lines-solid{font-size:68%}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-circular-icon-container.dcg-disabled{opacity:.5;pointer-events:none}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-container{position:absolute;top:100%;left:-5px;right:-5px;margin-top:4px}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener{margin-left:1px;padding:5px;text-align:center;font-size:140%;cursor:pointer;opacity:.75}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener:before{content:\"\";width:24px;height:24px;border-radius:50%;display:inline-block;position:absolute;top:50%;left:50%;margin-left:-12px;margin-top:-13px;background:currentColor;opacity:0}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener.dcg-hovered{opacity:.9}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener.dcg-hovered:before{opacity:.15}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener.dcg-menu-open{opacity:1}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener.dcg-menu-open:before{opacity:.3}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-play-pause-icon-view .dcg-slider-menu-opener.dcg-depressed:before{opacity:.4}.dcg-calculator-api-container .dcg-action-icon-view i.dcg-icon-chevron-right{font-size:115%;display:inline-block}.dcg-calculator-api-container .dcg-action-icon-view i.dcg-icon-minus{transform:translate(3.5px,-1px);font-size:90%;display:inline-block}.dcg-calculator-api-container .dcg-action-icon-view.dcg-action-icon-view-animating i.dcg-icon-chevron-right{transition:.15s;transform:rotate(360deg)}.dcg-calculator-api-container .dcg-evaluation-container{display:flex;flex-direction:column;align-items:flex-end;margin-right:5px;padding:1px}.dcg-calculator-api-container .dcg-evaluation-container .dcg-color-swatch{margin-right:-2px}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation{margin-top:-3px}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation.dcg-hidden{opacity:0}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-static-mathquill-view{cursor:pointer}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-mathquill-wrapper .dcg-mathquill-braille{padding:5px 0}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-mathquill-wrapper .dcg-mathquill-braille .dcg-braille-input{text-align:right;color:#666}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-mathquill-wrapper .dcg-typeset-math{padding:3px 6px 3px 3px;display:table;border:1px solid rgba(206,206,206,.8);background:#0000000a;color:var(--dcg-custom-text-color, #222);border-radius:4px}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-evaluation-label-container{font-weight:400;cursor:pointer;white-space:nowrap;display:table-cell;vertical-align:middle}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-evaluation-label-container .dcg-mq-math-mode{cursor:pointer;padding-right:2px}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-evaluation-html{white-space:nowrap;border-top-right-radius:5px;border-bottom-right-radius:5px;display:table-cell}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-evaluation-html.dcg-color-evaluation{line-height:0}.dcg-calculator-api-container .dcg-evaluation-container .dcg-evaluation .dcg-evaluation-html .dcg-evaluation-list{position:relative;top:2px}.dcg-calculator-api-container .dcg-display-domain{padding:5px 0 13px;font-size:95%;white-space:nowrap;margin-bottom:-5px;margin-top:-5px}.dcg-calculator-api-container .dcg-inline-math-input-view{display:inline-block;font-size:95%}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:35px;max-width:70px;font-size:100%}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-inline-math-input-view.dcg-large-font-inline-math-input{font-size:115%}.dcg-calculator-api-container .dcg-inline-math-input-view.dcg-log-scale .dcg-math-field{max-width:100px}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-mathquill-braille{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:35px;max-width:35px;font-size:95%}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-mathquill-braille.dcg-focus,.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-mathquill-braille.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-mathquill-braille.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-mathquill-braille.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-inline-math-input-view .dcg-mathquill-braille .dcg-tooltip-hit-area-container{width:100%}.dcg-calculator-api-container .dcg-inline-math-input-view.dcg-full-width-inline-math-input .dcg-math-field,.dcg-calculator-api-container .dcg-inline-math-input-view.dcg-full-width-inline-math-input .dcg-mathquill-braille{width:100%;max-width:100%}.dcg-calculator-api-container .dcg-inline-math-input-view.dcg-no-border-inline-math-input .dcg-math-field,.dcg-calculator-api-container .dcg-inline-math-input-view.dcg-no-border-inline-math-input .dcg-mathquill-braille{border-bottom:1px solid transparent}.dcg-calculator-api-container .dcg-regression-container{font-size:80%;color:var(--dcg-custom-text-color, #222);cursor:default}.dcg-calculator-api-container .dcg-regression-container .dcg-statistics{display:inline-block;min-width:130px;float:left;margin-bottom:10px}.dcg-calculator-api-container .dcg-regression-container .dcg-residuals{float:left;width:130px;margin-bottom:10px}.dcg-calculator-api-container .dcg-regression-container .dcg-residuals>.dcg-mathquill-wrapper{display:inline-block}.dcg-calculator-api-container .dcg-regression-container .dcg-r-value{padding-left:.5em}.dcg-calculator-api-container .dcg-regression-container .dcg-residual-suggestion{padding:2px 8px;margin-left:7px;line-height:16px;display:inline-block}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle{clear:both}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle.dcg-visible{display:block}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-action-log-mode-toggle{cursor:pointer;padding:5px 0;color:#444;border-radius:4px;display:inline-block;margin-bottom:12px}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-action-log-mode-toggle .dcg-log-mode-checkbox{display:inline-block;width:15px;height:15px;border:1px solid rgba(0,0,0,.2);float:left;margin-right:6px;border-radius:3px;position:relative}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-action-log-mode-toggle .dcg-log-mode-checkbox i{color:transparent}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-action-log-mode-toggle.dcg-no-hover-styling{cursor:default}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-action-log-mode-toggle.dcg-hovered .dcg-log-mode-checkbox{border-color:#aaa}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-action-log-mode-toggle.dcg-depressed .dcg-log-mode-checkbox{border-color:#666}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-log-mode-toggle-help{text-decoration:none;color:#0003;padding:10px 6px}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-log-mode-toggle-help.dcg-hovered{color:#aaa}.dcg-calculator-api-container .dcg-regression-container .dcg-log-mode-toggle .dcg-log-mode-toggle-help.dcg-depressed{color:#666}.dcg-calculator-api-container .dcg-regression-container .dcg-parameters-container{clear:both;padding-bottom:4px}.dcg-calculator-api-container .dcg-regression-container .dcg-parameters-container .dcg-parameter{float:left;min-width:130px;padding-right:5px}.dcg-calculator-api-container .dcg-regression-container .dcg-parameters-container .dcg-parameter:nth-of-type(odd){clear:both}.dcg-calculator-api-container .dcg-regression-container .dcg-parameter-warning{color:#666;cursor:default;margin-top:10px}.dcg-calculator-api-container .dcg-regression-container .dcg-parameter-warning i{font-size:85%}.dcg-calculator-api-container .dcg-regression-container .dcg-parameter-warning a{color:#666;text-decoration:underline}.dcg-calculator-api-container .dcg-regression-container .dcg-parameter-warning a.dcg-hovered{color:#000}.dcg-calculator-api-container .dcg-regression-container .dcg-parameter-warning .dcg-btn{padding:2px 5px;margin-top:4px}.dcg-calculator-api-container .dcg-slider-container{min-height:22px;display:block;position:relative}.dcg-calculator-api-container .dcg-slider{display:flex;margin-left:-15px;justify-content:center;align-items:center}.dcg-calculator-api-container .dcg-create-sliders{display:flex;flex-wrap:wrap;align-items:center;margin-top:-2px}.dcg-calculator-api-container .dcg-create-sliders .dcg-msg{margin-right:5px;font-size:80%;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .6))}.dcg-calculator-api-container .dcg-create-sliders .dcg-all .dcg-btn-slider{font-style:normal}.dcg-calculator-api-container .dcg-create-sliders .dcg-btn-slider{padding:0 4px!important;min-width:35px;font-family:times;font-size:85%;font-style:italic}.dcg-calculator-api-container .dcg-create-sliders .dcg-btn-slider .dcg-mq-math-mode{pointer-events:none}.dcg-calculator-api-container .dcg-create-sliders .dcg-btn-slider.dcg-base-case-btn{font-size:80%}.dcg-calculator-api-container .dcg-create-sliders .dcg-slider-btn-container{display:inline-block;position:relative;margin-right:3px;margin-top:1.5px;margin-bottom:1.5px}.dcg-calculator-api-container .dcg-create-sliders .dcg-slider-btn-container .dcg-btn-slider{height:25px;line-height:25px}.dcg-calculator-api-container .dcg-prompt-rename{display:inline-block;font-size:90%;margin-bottom:-3px}.dcg-calculator-api-container .dcg-prompt-rename .dcg-btn-light-gray{padding:2px 5px;margin-left:6px;margin-right:6px}.dcg-calculator-api-container .dcg-prompt-rename .dcg-reference-count{color:#999}.dcg-calculator-api-container .dcg-distribution-parameters-container .dcg-component-checkbox{font-size:85%}.dcg-calculator-api-container .dcg-cdf-footer-container{margin-top:5px}.dcg-calculator-api-container .dcg-cdf-footer-container .dcg-component-checkbox{margin-bottom:4px}.dcg-calculator-api-container .dcg-cdf-footer-container .dcg-parameter-name{font-size:85%}.dcg-calculator-api-container .dcg-cdf-footer-container .dcg-cdf-evaluation-container{margin-top:5px}.dcg-calculator-api-container .dcg-cdf-footer-container .dcg-inline-math-input-view{margin-left:10px;margin-right:10px}.dcg-calculator-api-container .dcg-parameter-suggestion-container{font-size:80%;position:relative;top:-9px;margin-left:2px;white-space:nowrap;width:100%;padding-right:5px;text-overflow:ellipsis;overflow:hidden;color:#666;cursor:default}.dcg-calculator-api-container .dcg-parameter-suggestion-container.dcg-parameter-suggestion-braille{top:-6px}.dcg-calculator-api-container .dcg-parameter-suggestion-container.dcg-hovered .dcg-default-marker{color:#666}.dcg-calculator-api-container .dcg-parameter-suggestion-container.dcg-depressed .dcg-default-marker{color:#333}.dcg-calculator-api-container .dcg-parameter-suggestion-container .dcg-default-marker{color:#00000080;margin-left:.3em}.dcg-calculator-api-container .dcg-parameter-suggestion-container .dcg-parameter-name:not(:last-of-type):after{content:\",\";margin-right:5px}.dcg-calculator-api-container .dcg-visualization-parameters-container{margin-bottom:5px}.dcg-calculator-api-container .dcg-visualization-parameters-container .dcg-smaller-font{font-size:85%;margin-left:2px}.dcg-calculator-api-container .dcg-visualization-parameters-container .dcg-mathquill-wrapper{margin-left:10px;margin-right:10px}.dcg-calculator-api-container .dcg-visualization-parameters-container .dcg-parameter-name{font-size:105%}.dcg-calculator-api-container .dcg-visualization-parameters-container .dcg-component-checkbox{margin-top:4px}.dcg-calculator-api-container .dcg-visualization-parameters-container .dcg-toggle-container{display:inline-block;margin-bottom:5px;margin-right:15px}.dcg-calculator-api-container .dcg-ttest-footer-container{cursor:text;padding-right:5px}.dcg-calculator-api-container .dcg-ttest-footer-container table{margin-left:auto}.dcg-calculator-api-container .dcg-ttest-footer-container .dcg-value{-webkit-user-select:text;user-select:text;margin-top:3px;border:1px solid rgba(206,206,206,.8);border-radius:4px;background:#0000000a;opacity:.75}.dcg-calculator-api-container .dcg-ttest-footer-container .dcg-value .dcg-operator .dcg-static-mathquill-view{border-right:1px solid rgba(206,206,206,.8);margin-right:5px;min-width:35px;text-align:center;padding:3px}.dcg-calculator-api-container .dcg-ttest-footer-container .dcg-value .dcg-evaluation .dcg-static-mathquill-view{padding:3px 6px 3px 3px}.dcg-calculator-api-container .dcg-stats-footer-container{cursor:text;padding-right:5px}.dcg-calculator-api-container .dcg-stats-footer-container table{margin-left:auto}.dcg-calculator-api-container .dcg-stats-footer-container .dcg-value{-webkit-user-select:text;user-select:text;margin-top:3px;border:1px solid rgba(206,206,206,.8);border-radius:4px;background:#0000000a;opacity:.75}.dcg-calculator-api-container .dcg-stats-footer-container .dcg-value .dcg-row-header{display:inline-block;border-right:1px solid rgba(206,206,206,.8);margin-right:5px;width:68px;padding:5px}.dcg-calculator-api-container .dcg-stats-footer-container .dcg-value .dcg-evaluation .dcg-static-mathquill-view{padding:3px 6px 3px 3px}.dcg-calculator-api-container .dcg-action-info{cursor:default;color:var(--dcg-custom-text-color, #666);font-size:85%}.dcg-calculator-api-container .dcg-action-info .dcg-click-edit{margin-left:5px;opacity:.6}.dcg-calculator-api-container .dcg-action-info .dcg-click-edit.dcg-hovered{opacity:.8}.dcg-calculator-api-container .dcg-action-info .dcg-click-edit.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-expression-edit-actions{padding-left:5px;padding-right:7px;white-space:nowrap;position:absolute;top:0;right:0;bottom:0;background:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-expression-edit-actions:not(.dcg-limited-height){bottom:0}.dcg-calculator-api-container .dcg-expression-edit-actions .dcg-graphic{height:100%;background:linear-gradient(to right,rgba(255,255,255,0),var(--dcg-custom-background-color, #fff));position:absolute;top:0;right:100%;width:40px;cursor:default;pointer-events:none}.dcg-calculator-api-container .dcg-expression-edit-actions .dcg-exp-action-button{margin-left:2px;width:44px;height:44px;padding:12px 10px;text-align:center;margin-top:4px;display:inline-block;font-size:125%;line-height:20px;opacity:.6;border-radius:5px}.dcg-calculator-api-container .dcg-expression-edit-actions .dcg-exp-action-button.dcg-hovered{background:#0000001a}.dcg-calculator-api-container .dcg-expression-edit-actions .dcg-exp-action-button.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-expression-edit-actions .dcg-exp-action-button.dcg-selected{background:#000c;color:#fff}.dcg-calculator-api-container .dcg-tab .dcg-suggested-zoom-view,.dcg-calculator-api-container .dcg-tab .dcg-generate-table-view{position:absolute;bottom:7px;left:50%;font-size:20px;line-height:20px;margin-left:-10px;text-align:center;animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-tab .dcg-suggested-zoom-view i,.dcg-calculator-api-container .dcg-tab .dcg-generate-table-view i{padding:5px;margin-left:-5px;opacity:.75}.dcg-calculator-api-container .dcg-tab .dcg-suggested-zoom-view i.dcg-hovered,.dcg-calculator-api-container .dcg-tab .dcg-generate-table-view i.dcg-hovered{opacity:.9}.dcg-calculator-api-container .dcg-tab .dcg-suggested-zoom-view i.dcg-depressed,.dcg-calculator-api-container .dcg-tab .dcg-generate-table-view i.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-tab .dcg-suggested-zoom-view i.dcg-icon-create-table,.dcg-calculator-api-container .dcg-tab .dcg-generate-table-view i.dcg-icon-create-table{font-size:22px;margin-left:-3px}.dcg-calculator-api-container .dcg-slider_menu{position:relative;top:-3px}.dcg-calculator-api-container .dcg-expression-footer-title{text-transform:uppercase;font-size:80%;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5));margin-bottom:4px}.dcg-calculator-api-container .dcg-expression-footer-title-help{padding:10px;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5));margin:-10px -10px -10px -6px;cursor:pointer;text-decoration:none}.dcg-calculator-api-container .dcg-expression-footer-title-help.dcg-hovered{color:#888}.dcg-calculator-api-container .dcg-expression-footer-title-help.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-expression-bottom .dcg-expression-braille-error{color:#666;margin:10px 10px 10px 0;font-size:90%}.dcg-calculator-api-container .dcg-expression-bottom .dcg-expression-braille-error .dcg-icon-error{font-size:80%;margin-right:5px;color:#fa824c}.dcg-calculator-api-container .dcg-expression-bottom .dcg-slider-step-container{margin-left:10px}.dcg-calculator-api-container .dcg-expression-bottom .dcg-slider-step-container.dcg-disabled-input .dcg-math-field,.dcg-calculator-api-container .dcg-expression-bottom .dcg-slider-step-container.dcg-disabled-input .dcg-mathquill-braille{opacity:.3;pointer-events:none}.dcg-calculator-api-container .dcg-expression-bottom .dcg-slider-step-label{font-size:85%}.dcg-calculator-api-container .dcg-expression-bottom .dcg-mq-editable-field{outline:none}.dcg-calculator-api-container .dcg-top-level-icon{position:absolute;top:0;right:0;width:calc(1.15rem + 12px);height:calc(1.15rem + 16px);overflow:visible;outline-offset:-4px}.dcg-calculator-api-container .dcg-top-level-icon:not(.dcg-tappable){cursor:default!important}.dcg-calculator-api-container .dcg-top-level-icon i{position:absolute;top:0;right:0;padding:8px 7px 20px 20px;z-index:2;opacity:.2;font-size:115%}.dcg-calculator-api-container .dcg-top-level-icon .dcg-top-level-delete,.dcg-calculator-api-container .dcg-top-level-icon .dcg-icon-replace{cursor:pointer}.dcg-calculator-api-container .dcg-top-level-icon .dcg-top-level-delete.dcg-hovered,.dcg-calculator-api-container .dcg-top-level-icon .dcg-icon-replace.dcg-hovered{opacity:.6}.dcg-calculator-api-container .dcg-top-level-icon .dcg-top-level-delete.dcg-depressed,.dcg-calculator-api-container .dcg-top-level-icon .dcg-icon-replace.dcg-depressed{opacity:.8}.dcg-calculator-api-container .dcg-smart-textarea-container{position:relative;font-size:90%}.dcg-calculator-api-container .dcg-smart-textarea-container textarea.dcg-smart-textarea,.dcg-calculator-api-container .dcg-smart-textarea-container .dcg-displayTextarea{border:0;font:inherit;resize:none;background:transparent;overflow:hidden;outline:none;color:var(--dcg-custom-text-color, #000);white-space:pre-wrap;word-wrap:break-word;width:100%;padding:3px;margin:-1px}.dcg-calculator-api-container .dcg-smart-textarea-container textarea.dcg-smart-textarea{opacity:0;position:absolute;top:1px;left:0;bottom:0;right:0;height:100%}.dcg-calculator-api-container .dcg-smart-textarea-container textarea.dcg-smart-textarea.dcg-empty{opacity:1}.dcg-calculator-api-container .dcg-smart-textarea-container .dcg-displayTextarea:after{content:\"|\";opacity:0;width:0;overflow:hidden;display:inline-block;height:1px}.dcg-calculator-api-container .dcg-smart-textarea-container .dcg-displayTextarea a{z-index:1;position:relative;color:#2f72dc}.dcg-calculator-api-container .dcg-smart-textarea-container .dcg-displayTextarea a.dcg-hovered,.dcg-calculator-api-container .dcg-smart-textarea-container .dcg-displayTextarea a .dcg-depressed{color:#2253a1}.dcg-calculator-api-container .dcg-selected .dcg-smart-textarea-container .dcg-displayTextarea{pointer-events:none;opacity:0}.dcg-calculator-api-container .dcg-selected .dcg-smart-textarea-container textarea{opacity:1}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-table-icon-container{position:absolute;top:50%;left:5px;margin-top:-14.5px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-drag-icon{opacity:.4;vertical-align:middle;pointer-events:none;font-size:95%;position:absolute;top:50%;right:4px;margin-top:-10px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-cell-math-content,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-mathquill-braille{outline:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-cell:not(.dcg-non-editable) .dcg-cell-math-content,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-cell:not(.dcg-non-editable) .dcg-mathquill-braille{max-width:100px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-table-container{overflow:hidden;padding-left:15px;padding-right:15px;position:relative}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-table-container:before{position:absolute;top:0;left:0;bottom:0;z-index:1;background:linear-gradient(to left,rgba(255,255,255,0),var(--dcg-custom-background-color, #fff));width:20px;content:\"\"}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-table-container:after{position:absolute;top:0;right:0;bottom:0;background:linear-gradient(to right,rgba(255,255,255,0),var(--dcg-custom-background-color, #fff));width:20px;content:\"\"}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-table-container .dcg-table-sliding-container{transition:transform .15s}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-main{padding-top:20px;padding-bottom:5px;position:relative}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-show-more-row td{border-top:1px solid #e5e5e5;text-align:center;font-size:80%;color:#00000080;padding:8px 0;font-style:italic}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-show-more-row td .dcg-show-more{color:#2f72dc;font-style:normal;text-decoration:underline;font-size:90%}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-show-more-row td .dcg-show-more.dcg-hovered{color:#2253a1}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-show-more-row td .dcg-show-more.dcg-depressed{color:#17396e}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata{position:relative;display:table}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row{display:table-row}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell{display:table-cell}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:not(:first-of-type) .dcg-cell{border-top:1px solid rgba(0,0,0,.15);padding:7px 10px 7px 20px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:not(:first-of-type) .dcg-cell.dcg-non-editable{padding:7px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:not(:first-of-type).dcg-braille-row .dcg-cell{padding:7px 20px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:nth-of-type(2) .dcg-cell{border-top:1px solid #444}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:first-of-type .dcg-cell{vertical-align:bottom;padding:7px 5px 3px 15px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:first-of-type .dcg-cell.dcg-error{padding-left:33px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:first-of-type .dcg-cell.dcg-leave-space-for-icon{padding-left:40px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:first-of-type .dcg-cell.dcg-leave-space-for-drag-icon{padding-right:20px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:first-of-type .dcg-cell .dcg-math-field{min-height:29px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row:first-of-type.dcg-braille-row .dcg-cell.dcg-leave-space-for-icon{padding:7px 15px 3px 40px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-static-mathquill-view{padding-right:8px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell{position:relative;text-align:center;vertical-align:middle;font-size:72%;min-height:34px;min-width:40px;cursor:text}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell .dcg-braille-input{text-align:center;min-width:40px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell:not(:first-of-type){border-left:1px solid rgba(0,0,0,.15)}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell:nth-of-type(2){border-left:1px solid #444}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-non-editable{cursor:default}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-non-editable .dcg-mq-math-mode{pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell:not(.dcg-non-editable):not(.dcg-selected).dcg-empty .dcg-empty-line{position:absolute;width:26px;left:50%;margin-left:-13px;border-top:1px dashed #bbb;bottom:10px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-selected:not(.dcg-non-editable) .dcg-inner-border{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;z-index:1;pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-selected.dcg-non-editable{background:#f5f5f5}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-selected.dcg-non-editable .dcg-mathquill-braille-overflow-left .dcg-tooltip-hit-area-container:before{background:linear-gradient(to left,#f5f5f500,#f5f5f5)}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-selected.dcg-non-editable .dcg-mathquill-braille-overflow-right .dcg-tooltip-hit-area-container:after{background:linear-gradient(to right,#f5f5f500,#f5f5f5)}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-selected:not(.dcg-non-editable) .dcg-inner-border{border:2px solid #2f72dc}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell .dcg-mq-math-mode{position:relative}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell .dcg-table-icon-error-container{position:absolute;top:50%;left:4px;margin-top:-7px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header{font-size:85%;min-height:37px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header .dcg-mathquill-braille{min-height:30px;display:flex;align-items:center}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header:not(:first-of-type):not(:last-of-type) .dcg-mq-editable-field,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header:not(:first-of-type):not(:last-of-type) .dcg-static-mathquill-view,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header:not(:first-of-type):not(:last-of-type) .dcg-mathquill-braille,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header.dcg-error .dcg-mq-editable-field,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header.dcg-error .dcg-static-mathquill-view,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable .dcg-tabledata .dcg-row .dcg-cell.dcg-table-header.dcg-error .dcg-mathquill-braille{text-align:center}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable.dcg-faded-h .dcg-tabledata:after{content:\"\";position:absolute;top:0;bottom:0;right:0;background:linear-gradient(to left,var(--dcg-custom-background-color, #fff),rgba(255,255,255,0));width:60px;pointer-events:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable.dcg-faded-v .dcg-tabledata:before{content:\"\";position:absolute;bottom:0;left:0;right:0;height:30px;pointer-events:none;background:linear-gradient(to top,var(--dcg-custom-background-color, #fff),rgba(255,255,255,0));z-index:1}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable.dcg-faded-v .dcg-tabledata .dcg-row:last-of-type .dcg-cell .dcg-empty-line{display:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable:not(.dcg-selected).dcg-faded-v .dcg-tabledata .dcg-row:last-of-type{visibility:hidden}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable:not(.dcg-selected).dcg-faded-v .dcg-tabledata .dcg-row:last-of-type .dcg-cell{border-color:transparent}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressiontable:not(.dcg-selected).dcg-faded-v .dcg-tabledata .dcg-row .dcg-cell:last-of-type{border-color:transparent;visibility:hidden}.dcg-calculator-api-container .dcg-expressionitem .dcg-caret-container{font-size:95%;position:absolute;top:-1px;left:38px;width:32px;height:48px;color:#999;padding-left:10px;padding-top:18px;text-align:left;z-index:2}.dcg-calculator-api-container .dcg-expressionitem .dcg-caret-container i{transition:.2s;width:16px;height:16px}.dcg-calculator-api-container .dcg-expressionitem .dcg-caret-container.dcg-hovered{color:#666;cursor:pointer}.dcg-calculator-api-container .dcg-expressionitem.dcg-collapsed .dcg-caret-container i{display:inline-block;transform:rotate(-90deg)}.dcg-calculator-api-container .dcg-expressionitem.dcg-secretFolder{display:none}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionfolder .dcg-action-toggle-secret-folder{cursor:pointer;color:#00000080;font-size:75%;padding:5px;margin:0 -5px -10px 15px;position:relative;z-index:1}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionfolder .dcg-fade-container:after{transition:0}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionfolder:not(.dcg-collapsed).dcg-has-items .dcg-fade-container:after{position:absolute;top:35px;bottom:5px;left:56px;content:\"\";border-left:1px solid rgba(0,0,0,.2);animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionfolder .dcg-main textarea.dcg-smart-textarea,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionfolder .dcg-main .dcg-displayTextarea{padding-left:20px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loading,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-failed{font-size:100%;padding:1px;color:#888;font-style:italic;line-height:37px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-retry-loading-image{color:#407bb5;text-decoration:underline}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-input-grid{font-size:80%;display:grid;grid-template-columns:min-content 2fr min-content 1fr;width:calc(100% + 20px);max-width:450px;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5))}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-input-grid .dcg-mathquill-wrapper{width:100%;padding-right:5px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-input-grid .dcg-image-input-name,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-input-grid .dcg-image-input-mathquill{display:flex;align-self:center;padding-right:5px;overflow:hidden;padding-top:2px;padding-bottom:2px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-input-grid .dcg-mq-editable-field:not(.dcg-focus){cursor:pointer}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage.dcg-input-focused .dcg-image-input-grid,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage.dcg-input-focused .dcg-braille-input{color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-image-title-row{display:flex;justify-content:flex-start}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-image-title-row .dcg-smart-textarea-container{margin-bottom:8px;font-size:85%}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-image-title-row .dcg-smart-textarea-container textarea,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-image-title-row .dcg-smart-textarea-container .dcg-displayTextarea{padding-top:0;padding-bottom:0;margin:0 10px 0 -1px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-image-title-row .dcg-smart-textarea-container textarea:empty,.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-image-title-row .dcg-smart-textarea-container .dcg-displayTextarea:empty{min-width:8rem}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-action-changeimage{color:var(--dcg-custom-text-color, rgba(0, 0, 0, .5));text-decoration:underline;font-size:80%}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-action-changeimage.dcg-hovered{color:#0009}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage .dcg-image-loaded .dcg-action-changeimage.dcg-depressed{color:#000000b3}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage.dcg-selected .dcg-smart-textarea-container{position:relative;top:-1px}.dcg-calculator-api-container .dcg-expressionitem.dcg-expressionimage.dcg-selected .dcg-main{margin-right:-1px}.dcg-calculator-api-container .dcg-expressionitem.dcg-new-expression{height:54px;position:relative;border-bottom:1px solid transparent;overflow:visible!important}.dcg-calculator-api-container .dcg-expressionitem.dcg-new-expression .dcg-new-math-div{position:absolute;top:0;left:0;bottom:0;right:0;cursor:pointer}.dcg-calculator-api-container .dcg-expressionitem.dcg-new-expression .dcg-new-math-div .dcg-new-expression-fade{background:linear-gradient(to top,var(--dcg-custom-background-color, #fff),rgba(255,255,255,0) 50%);width:44px;position:absolute;top:0;bottom:0;z-index:3}.dcg-calculator-api-container .dcg-container.dcg-narrow .dcg-expression-top-bar{border-right:0}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn{width:40px;height:40px;line-height:40px;font-size:1.1rem;display:inline-block;border-radius:5px;text-align:center;margin:-1px;overflow:hidden}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-constructions-count-link,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-constructions-count-link{margin-right:4px}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-rotated,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-rotated{transform:rotate(-90deg)}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn i.dcg-icon-pause,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn i.dcg-icon-pause{font-size:80%}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn i.dcg-icon-undo,.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn i.dcg-icon-redo,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn i.dcg-icon-undo,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn i.dcg-icon-redo{font-size:120%}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn i,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn i{opacity:.6}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn:not(:last-of-type),.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn:not(:last-of-type){margin-right:-2px}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-disabled,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-disabled{opacity:.3;pointer-events:none}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-hovered,.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-active,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-hovered,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-active{background:#0000001a}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-hovered i,.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-active i,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-hovered i,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-active i{opacity:.8}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-depressed,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-depressed{background:#0003}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-icon-btn.dcg-depressed i,.dcg-calculator-api-container .dcg-container .dcg-geometry-toolbar-view .dcg-icon-btn.dcg-depressed i{opacity:1}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar{border-right:1px solid rgba(0,0,0,.2);height:48px;border-bottom:1px solid rgba(0,0,0,.2);line-height:37px;width:100%;transition:box-shadow .2s ease;padding:5px;display:flex;background:var(--dcg-custom-background-color-shaded, linear-gradient(#fcfcfc, #eaeaea))}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar.dcg-expressions-scrolled{box-shadow:-2px 2px 4px #00000026;z-index:4}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-btn-red,.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-btn-primary{padding:0 15px;display:inline-block;align-self:center;height:35px;line-height:35px}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-center-buttons{text-align:center;flex:1;white-space:nowrap}.dcg-calculator-api-container .dcg-add-expression-container{position:relative;float:left;height:37px}.dcg-calculator-api-container .dcg-in-api-action-opendrawer{float:left}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover{width:auto}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover.dcg-bottom{position:absolute;top:43px;left:-3px}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover.dcg-bottom .dcg-arrow{left:23px;border-bottom-color:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover.dcg-right{position:absolute;top:-40px;left:40px}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover.dcg-right .dcg-arrow{top:60px;border-right-color:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-popover-interior{padding:4px 0;background-color:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item{cursor:pointer;font-size:80%;text-align:left;white-space:nowrap;opacity:.5;padding:8px;line-height:0}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item i{margin:0 8px 0 4px;font-size:205%;vertical-align:middle;width:30px;display:inline-block;text-align:right}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item i.dcg-icon-new-expression{font-size:210%}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item i.dcg-icon-table{font-size:200%}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item i.dcg-icon-new-folder{font-size:190%}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item.dcg-action-newexpression{padding:10px 12px 4px 8px}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item.dcg-hovered{opacity:.8}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-add-expression-dropdown.dcg-popover .dcg-new-item.dcg-disabled{opacity:.25}.dcg-calculator-api-container .dcg-constructions-count-link{position:relative}.dcg-calculator-api-container .dcg-constructions-count-link i.dcg-icon-geometry{font-size:40px;position:relative;top:-2px}.dcg-calculator-api-container .dcg-constructions-count-link .dcg-construction-count{position:absolute;bottom:1px;right:1px;background:#999;box-shadow:0 0 0 1px #eee;color:#fff;border-radius:8px;height:16px;min-width:16px;line-height:16px;padding-left:4px;padding-right:4px;text-align:center;font-size:65%;font-family:arial,sans-serif}.dcg-calculator-api-container .dcg-expression-top-bar .dcg-icon-volume{font-size:22px;position:relative;top:2px}@keyframes dcg-fadeOut-indicator{0%{opacity:.5}99%{opacity:.5}to{opacity:0}}@keyframes dcg-animate-mute-bar{0%{transform:rotate(-45deg) scaleX(0)}to{transform:rotate(-45deg) scale(1)}}@keyframes dcg-pulse-mute-button{0%{opacity:0}20%{opacity:1}80%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.dcg-calculator-api-container .dcg-global-mute-button .dcg-first-time-animation{visibility:hidden}.dcg-calculator-api-container .dcg-global-mute-button.dcg-has-never-interacted .dcg-first-time-animation{visibility:visible;opacity:.5;animation:dcg-fadeOut-indicator 16s forwards}.dcg-calculator-api-container .dcg-global-mute-button.dcg-has-never-interacted .dcg-first-time-animation:before{content:\"\";position:absolute;top:4px;left:3.5px;bottom:3px;right:3.5px;border-radius:20%;z-index:0;background:#999;animation:dcg-pulse-mute-button 2s infinite;pointer-events:none}.dcg-calculator-api-container .dcg-circular-icon-container.dcg-show-globally-muted{opacity:.6}.dcg-calculator-api-container .dcg-container .dcg-expression-top-bar .dcg-is-muted .dcg-icon-volume:after{content:\"\";background:currentColor;width:1em;height:2px;position:absolute;top:50%;left:50%;border:1px solid #fff;margin-top:-2px;margin-left:-.55em;transform:rotate(-45deg) scaleX(0);animation:dcg-animate-mute-bar .2s forwards;animation-delay:.1s}.dcg-calculator-api-container .dcg-exp-list-resizer{position:absolute;top:0;right:-12px;bottom:0;width:15px;cursor:ew-resize;z-index:1}.dcg-calculator-api-container .dcg-exp-list-resizer.dcg-depressed{width:215px;right:-112px}.dcg-calculator-api-container .dcg-expression-search-bar{padding:5px;background:#d8d8d8;position:relative}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-row{display:flex;align-items:center}.dcg-calculator-api-container .dcg-expression-search-bar.dcg-expressions-scrolled{box-shadow:-2px 2px 4px #00000026;z-index:4}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-mathquill-container{flex:1;position:relative;overflow:hidden}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-placeholder{opacity:.3;position:absolute;top:50%;left:35px;margin-top:-.5em;pointer-events:none}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-mq-container{width:100%}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-math-field{padding:6px 30px 6px 6px;margin:1px;border-radius:8px;background:#fff;width:100%;font-size:100%;color:#888;border:1px solid #bbb}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-math-field.dcg-hovered{color:#444;border:2px solid #999;margin:0}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-math-field.dcg-mq-focused{color:#000;border:2px solid #2f72dc;margin:0}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-mathquill-container .dcg-math-field{padding-left:30px}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-caret-container{font-size:95%;width:25px;padding-left:5px;color:#999;text-align:left}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-caret-container i{transition:.2s;width:16px;height:16px}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-caret-container.dcg-hovered{color:#666;cursor:pointer}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-caret-container.dcg-collapsed i{display:inline-block;transform:rotate(-90deg)}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-remove,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-search,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-replace{opacity:.2}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-remove.dcg-hovered,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-search.dcg-hovered,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-replace.dcg-hovered{opacity:.6}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-remove.dcg-depressed,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-search.dcg-depressed,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-replace.dcg-depressed{opacity:.8}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-replace.dcg-disabled{opacity:0}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-remove,.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-replace{font-size:90%;padding:10px 7px 10px 12px}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-icon-search{pointer-events:none;left:5px;position:absolute;top:50%;right:5px;height:20px;line-height:20px;margin-top:-15px;padding:5px}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-replace-icon-container{position:absolute;top:50%;right:5px;margin-top:-9px;font-size:110%}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-replace-icon-container .dcg-tooltipped-error{position:relative;top:-1px;left:-2px}.dcg-calculator-api-container .dcg-expression-search-bar .dcg-search-replace-icon-container .dcg-icon-check{color:#2f72dc;margin-right:5px}@keyframes dcg-tick-metronome{0%{transform:scale(.5) rotate(-20deg)}50%{transform:scale(.5) rotate(20deg)}to{transform:scale(.5) rotate(-20deg)}}.dcg-calculator-api-container .dcg-ticker{padding:5px;position:relative;background:var(--dcg-custom-background-color-shaded, #eee);border-bottom:1px solid rgba(0,0,0,.2);border-right:1px solid rgba(0,0,0,.2);overflow:hidden}.dcg-calculator-api-container .dcg-ticker.dcg-expressions-scrolled{box-shadow:-2px 2px 4px #00000026;z-index:4}.dcg-calculator-api-container .dcg-ticker .dcg-circular-icon-container{position:relative}.dcg-calculator-api-container .dcg-ticker .dcg-icon-remove{position:absolute;top:0;right:0;opacity:.2;font-size:115%;padding:10px 7px 10px 12px}.dcg-calculator-api-container .dcg-ticker .dcg-icon-remove.dcg-hovered{opacity:.6}.dcg-calculator-api-container .dcg-ticker .dcg-icon-remove.dcg-depressed{opacity:.8}.dcg-calculator-api-container .dcg-ticker .dcg-mini-play-pause{transform:scale(.5);transform-origin:bottom right;position:absolute;bottom:-5px;right:-4px;background:#eee;border-radius:50%;border:1px solid #eee}.dcg-calculator-api-container .dcg-ticker .dcg-icon-metronome-2{font-size:130%;position:relative;left:1px}.dcg-calculator-api-container .dcg-ticker .dcg-metronome-bar{width:2px;height:24px;transform:scale(.5) rotate(-20deg);transform-origin:bottom center;background:#777;border-radius:2px;position:absolute;bottom:10px;left:50%;box-shadow:0 0 0 1px #eee}.dcg-calculator-api-container .dcg-ticker .dcg-metronome-bar.dcg-metronome-playing{animation:dcg-tick-metronome infinite .5s ease-in-out}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-container{display:flex;width:calc(100% - 30px)}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-container .dcg-circular-icon-container{font-size:65%;margin-right:10px!important;order:1}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-container .dcg-circular-icon-container.dcg-disabled{opacity:.4;pointer-events:none}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-container .dcg-create-sliders{margin-top:5px;width:100%}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal{display:flex;flex:1;order:2;align-items:center;color:var(--dcg-custom-text-color, #666);flex-wrap:wrap;padding:3px 0;overflow:hidden;font-size:95%}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-mq-container{color:var(--dcg-custom-text-color, #000);margin-left:4px;font-size:95%}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition{max-width:100%;display:flex;align-items:baseline}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition .dcg-mq-container{margin-right:5px;overflow:hidden;flex:1}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 20px 1px 2px;margin:1px;min-width:75px;max-width:100%}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-definition .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-frequency .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:30px;max-width:90px}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-frequency .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-frequency .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-frequency .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-action-frequency .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-settings-internal .dcg-clickable-info-error-container{margin-left:-20px;width:20px;display:inline-block}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-toggle-help{text-decoration:none;color:#aaa;padding:10px 6px;font-size:85%;position:relative;top:1px;flex:1}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-toggle-help.dcg-hovered{color:#666}.dcg-calculator-api-container .dcg-ticker .dcg-ticker-toggle-help.dcg-depressed{color:#444}.dcg-calculator-api-container .dcg-geo-show-constructions-pane{position:relative;background:var(--dcg-custom-background-color-shaded, #eee)}.dcg-calculator-api-container .dcg-geo-show-constructions-pane.dcg-transient-error,.dcg-calculator-api-container .dcg-geo-show-constructions-pane.dcg-cant-drag-item{opacity:.5}.dcg-calculator-api-container .dcg-geo-show-constructions-pane:after{content:\"\";background:linear-gradient(to bottom,rgba(238,238,238,0),var(--dcg-custom-background-color-shaded, #eee));height:10px;position:absolute;bottom:0;left:0;right:0;pointer-events:none}.dcg-calculator-api-container .dcg-geo-show-constructions-pane:before{content:\"\";background:linear-gradient(to top,rgba(238,238,238,0),var(--dcg-custom-background-color-shaded, #eee));height:10px;position:absolute;top:0;left:0;right:0;z-index:1;pointer-events:none}.dcg-calculator-api-container .dcg-geo-show-constructions-pane .dcg-token-being-dragged-container{opacity:.3}.dcg-calculator-api-container .dcg-displayed-sections-container{max-height:300px;overflow:auto}.dcg-calculator-api-container .dcg-displayed-sections-container .dcg-displayed-section-level{text-align:left;margin:0 8px;padding:8px 0}.dcg-calculator-api-container .dcg-displayed-sections-container .dcg-displayed-section-level:not(:last-of-type){border-bottom:1px solid rgba(0,0,0,.2);position:relative}.dcg-calculator-api-container .dcg-empty-constructions{padding:12px;text-align:center;color:var(--dcg-custom-text-color, #666);font-style:italic;font-size:90%}.dcg-calculator-api-container .dcg-toggle-view{float:right;padding:5px;margin-top:5px;display:inline-block;width:30px;height:8px;background:#ddd;border-radius:8px;position:relative;transition:all .2s}.dcg-calculator-api-container .dcg-toggle-view .dcg-toggle-switch{position:absolute;top:-4px;left:0;width:18px;height:18px;background:#f5f5f5;border-radius:50%;transition:all .2s;box-shadow:0 2px 2px #0003,0 0 3px #0003}.dcg-calculator-api-container .dcg-toggle-view:not(.dcg-toggled).dcg-hovered .dcg-toggle-switch{background:#ebebeb}.dcg-calculator-api-container .dcg-toggle-view:not(.dcg-toggled).dcg-depressed .dcg-toggle-switch{background:#e0e0e0}.dcg-calculator-api-container .dcg-toggle-view.dcg-toggled{transition:all .2s}.dcg-calculator-api-container .dcg-toggle-view.dcg-toggled .dcg-toggle-switch{transition:all .2s;left:12px;background:#666}.dcg-calculator-api-container .dcg-toggle-view.dcg-toggled.dcg-hovered .dcg-toggle-switch{background:#555}.dcg-calculator-api-container .dcg-toggle-view.dcg-toggled.dcg-depressed .dcg-toggle-switch{background:#444}.dcg-calculator-api-container .dcg-clickable-image-info-view{display:flex;margin-top:20px;justify-content:space-evenly;align-items:center}.dcg-calculator-api-container .dcg-clickable-image-info-view .dcg-tooltip-hit-area-container{margin-left:5px;margin-right:10px}.dcg-calculator-api-container .dcg-clickable-image-info-view .dcg-clickable-image-state-container{position:relative;color:var(--dcg-custom-text-color, #666);text-align:center}.dcg-calculator-api-container .dcg-clickable-image-info-view .dcg-clickable-image-state-container .dcg-clickable-image-state{background:#fff;background-size:cover;background-repeat:no-repeat;width:60px;height:60px;border-radius:10px;border:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-clickable-image-info-view .dcg-clickable-image-state-container .dcg-clickable-image-state-close{position:absolute;top:-10px;right:-2px;width:25px;height:25px;padding-top:5px;font-size:14px;background:#666;color:#fff;border-radius:50%;opacity:.6}.dcg-calculator-api-container .dcg-clickable-image-info-view .dcg-clickable-image-state-container .dcg-clickable-image-state-close.dcg-hovered{opacity:.8}.dcg-calculator-api-container .dcg-clickable-image-info-view .dcg-clickable-image-state-container .dcg-clickable-image-state-close.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row{font-size:90%;display:flex;align-items:baseline;margin-right:2px}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-input-label{color:var(--dcg-custom-text-color, #666)}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-mq-container{flex:1;overflow:hidden}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:100%;max-width:100%;font-size:95%}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-menu-row .dcg-clickable-info-error-container{margin-left:-20px;width:20px;display:inline-block}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-list-index-notice{font-size:90%;color:#444;padding-top:5px;line-height:1.2em;width:200px}.dcg-calculator-api-container .dcg-clickable-section .dcg-clickable-list-index-notice .dcg-btn-light-gray{line-height:inherit}.dcg-calculator-api-container .dcg-clickable-section .dcg-index-variable-marker{padding-left:4px;padding-right:4px;font-size:90%;border:1px solid rgba(0,0,0,.2);border-radius:4px}.dcg-calculator-api-container .dcg-clickable-section .dcg-index-variable-marker:not(.dcg-mathquill-has-focus){background:transparent;pointer-events:none;opacity:.75}.dcg-calculator-api-container .dcg-label-orientation-view{width:78px;height:78px;display:inline-block;position:relative;transition:transform .1s}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-orientation-option{display:inline-block;width:26px;height:26px;line-height:26px;text-align:center;border-radius:50%;color:#bbb}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-orientation-option.dcg-hovered{color:#666}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-orientation-option.dcg-selected{color:#2f72dc}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-orientation-option.dcg-selected.dcg-hovered{color:#2253a1}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-orientation-option i{position:relative;top:2px}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-below-right,.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-above-right,.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-below-left,.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-above-left{color:#e2e2e2}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-orientation-disabled{pointer-events:none}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-below-right{position:absolute;bottom:0;right:0;transform:rotate(225deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-below-left{position:absolute;bottom:0;left:0;transform:rotate(315deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-above-right{position:absolute;top:0;right:0;transform:rotate(135deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-above-left{position:absolute;top:0;left:0;transform:rotate(45deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-left{position:absolute;top:26px;left:0}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-right{position:absolute;top:26px;right:0;transform:rotate(180deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-above{position:absolute;top:0;left:26px;transform:rotate(90deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-below{position:absolute;bottom:0;left:26px;transform:rotate(270deg)}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-center{position:absolute;top:26px;left:26px;font-size:200%}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-center:after{content:\"\";width:12px;height:12px;border-radius:50%;position:absolute;top:50%;left:50%;background:currentColor;margin-top:-6px;margin-left:-6px;box-shadow:0 0 2px #0003}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-label-orientation-center.dcg-orientation-disabled:not(.dcg-selected):after{background:#fff;width:10px;height:10px;margin-top:-5px;margin-left:-5px;box-shadow:0 0 2px #0003,inset 0 0 0 1px #00000026}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-vertical-orientation-indicator{width:0;height:0;border:4px solid transparent;border-bottom:15px solid #ddd;position:absolute;top:50%;left:50%;margin-top:-19px;margin-left:-4px}.dcg-calculator-api-container .dcg-label-orientation-view .dcg-vertical-orientation-indicator:after{content:\"\";width:0;height:0;border:4px solid transparent;border-top:15px solid #ddd;position:absolute;top:50%;left:50%;margin-top:15px;margin-left:-4px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-options-menu-section-title{color:var(--dcg-custom-text-color, #666)}.dcg-calculator-api-container .dcg-image-options-menu .dcg-opacities-menu-flex{display:flex;gap:5px;margin-top:5px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-opacities-menu-flex .dcg-opacity-option{height:29px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-image-aria-container{padding:0 10px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row:first-of-type{margin-top:10px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row .dcg-input-label{color:var(--dcg-custom-text-color, #666)}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:100%;max-width:100%;font-size:95%}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row input{outline:none;border:1px solid #bbb;border-top:0!important;border-right:0!important;border-left:0!important;color:#000;-webkit-appearance:none;appearance:none;border-radius:0;padding:5px 0;font-size:95%;width:120px;margin-top:5px}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row input.dcg-hovered{border-color:#ccc;box-shadow:0 1px #ccc}.dcg-calculator-api-container .dcg-image-options-menu .dcg-clickable-image-controls .dcg-clickable-menu-row input:focus:not([disabled]){border-color:#2f72dc;box-shadow:0 1px #2f72dc}.dcg-calculator-api-container .dcg-slider-options-view{top:-11px;left:42px;width:200px;padding:15px 15px 10px}.dcg-calculator-api-container .dcg-slider-options-view .dcg-title{font-size:110%}.dcg-calculator-api-container .dcg-slider-options-view .dcg-slider-speed-menu{margin-top:10px}.dcg-calculator-api-container .dcg-slider-options-view .dcg-slider-speed-menu .dcg-title,.dcg-calculator-api-container .dcg-slider-options-view .dcg-slider-speed-menu .dcg-slider-speed-container{display:inline-block}.dcg-calculator-api-container .dcg-slider-speed-container{float:right;position:relative;top:-1px;font-size:95%}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower{color:#666}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster.dcg-hovered,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower.dcg-hovered{color:#222}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster.dcg-depressed,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster.dcg-disabled,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower.dcg-disabled{opacity:.25;pointer-events:none}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower{transform:rotate(180deg)}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower i{position:relative;top:1px}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower{cursor:pointer;font-size:70%;display:inline-block;width:26px;height:26px;text-align:center;line-height:26px;border:1px solid rgba(0,0,0,.2);border-radius:4px}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster.dcg-hovered,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower.dcg-hovered{background:#0000000d}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster.dcg-depressed,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower.dcg-depressed{background:#0003}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-faster i,.dcg-calculator-api-container .dcg-slider-speed-container .dcg-action-slower i{position:relative;left:1px}.dcg-calculator-api-container .dcg-slider-speed-container .dcg-variable-speed{width:45px;font-size:90%;display:inline-block;text-align:center}.dcg-calculator-api-container .dcg-table-column-menu{left:-9px;top:34px}.dcg-calculator-api-container .dcg-table-column-menu .dcg-triangle{border-width:0 9px 9px 9px;border-color:transparent transparent #d3d3d3 transparent}.dcg-calculator-api-container .dcg-table-column-menu .dcg-triangle:before{position:absolute;top:1px;left:-8px;border-width:0 8px 8px 8px;border-color:transparent transparent #fff transparent}.dcg-calculator-api-container .dcg-notice-wrapper{margin:10px;display:none}.dcg-calculator-api-container .dcg-close-notice-icon{position:absolute;top:5px;right:5px;width:30px;height:30px;margin-left:5px;border-radius:50%;line-height:30px;font-size:90%;text-align:center}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-light{color:#bbb}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-light.dcg-hovered,.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-light.dcg-focused{background-color:#0000001a;color:#666}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-light.dcg-depressed{background-color:#0003;color:#000}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark{opacity:.8;color:#fff}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark.dcg-hovered,.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark.dcg-focused,.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark.dcg-depressed{opacity:1}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark.dcg-hovered,.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark.dcg-focused{opacity:1;background-color:#fff3}.dcg-calculator-api-container .dcg-close-notice-icon.dcg-theme-dark.dcg-depressed{background-color:#fff6;opacity:1}@keyframes dcg-fadeIn-show-keypad{0%{transform:translateY(10px);opacity:0}50%{transform:translateY(10px);opacity:0}to{transform:translate(0);opacity:1}}.dcg-calculator-api-container .dcg-keypad .dcg-keys-container{position:absolute;bottom:0;z-index:60;width:100%;margin:0 auto;padding:0;transition:opacity .3s}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover{position:absolute;right:8px}.dcg-calculator-api-container .dcg-keypad .dcg-minimize-keypad .dcg-icon-keyboard,.dcg-calculator-api-container .dcg-keypad .dcg-show-keypad .dcg-icon-keyboard{font-size:175%;float:left;margin-right:8px}.dcg-calculator-api-container .dcg-keypad .dcg-minimize-keypad .dcg-icon-caret-down,.dcg-calculator-api-container .dcg-keypad .dcg-minimize-keypad .dcg-icon-caret-up,.dcg-calculator-api-container .dcg-keypad .dcg-show-keypad .dcg-icon-caret-down,.dcg-calculator-api-container .dcg-keypad .dcg-show-keypad .dcg-icon-caret-up{font-size:75%;line-height:2rem}.dcg-calculator-api-container .dcg-keypad .dcg-minimize-keypad-container{position:absolute;top:-2.5rem;left:-1px}.dcg-calculator-api-container .dcg-keypad .dcg-show-keypad-container{z-index:60;position:absolute;bottom:5px;left:5px;animation:dcg-fadeIn-show-keypad .6s}.dcg-calculator-api-container .dcg-keypad .dcg-minimize-keypad{padding:.25rem 1.25rem;border-top-left-radius:5px;border-top-right-radius:5px}.dcg-calculator-api-container .dcg-keypad .dcg-show-keypad{padding:4px 14px}.dcg-calculator-api-container .dcg-keypad .dcg-keys{position:relative;width:100%;max-width:835px;margin:auto;text-align:center}.dcg-calculator-api-container .dcg-keypad .dcg-keys{font-size:110%}.dcg-calculator-api-container .dcg-keypad .dcg-keys-background{background:var(--dcg-custom-background-color-shaded, #f0f0f0);border-top:1px solid rgba(0,0,0,.1);box-shadow:0 -1px 3px #0000001a}.dcg-calculator-api-container .dcg-keypad .dcg-keys-background .dcg-minimize-keypad{background:var(--dcg-custom-background-color-shaded, #f0f0f0);color:var(--dcg-custom-text-color, rgba(0, 0, 0, .7));border:1px solid rgba(0,0,0,.1);border-bottom:1px solid var(--dcg-custom-background-color-shaded, #f0f0f0);box-shadow:0 -1px 3px #0000001a}.dcg-calculator-api-container .dcg-keypad .dcg-keys-background .dcg-minimize-keypad.dcg-hovered{color:var(--dcg-custom-text-color, rgba(0, 0, 0, .9))}.dcg-calculator-api-container .dcg-keypad .dcg-keys-background .dcg-minimize-keypad.dcg-depressed{color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-narrow .dcg-keypad .dcg-functions-popover:not(.dcg-left){position:absolute;margin-left:-70px}.dcg-calculator-api-container .dcg-narrow .dcg-keypad .dcg-functions-popover.dcg-left{right:18%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container{height:40px;display:inline-block;position:relative;flex-grow:1}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container.dcg-disabled{opacity:.5}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container.dcg-disabled .dcg-keypad-btn{cursor:default}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn{position:absolute;top:2px;left:2px;right:2px;bottom:2px;display:flex;flex-flow:row;align-items:center;padding:0}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn .dcg-keypad-btn-content{text-align:center;flex:1;pointer-events:none}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-large-operator,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-int{font-size:80%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-large-operator .dcg-mq-sup,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-large-operator .dcg-mq-sub,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-large-operator .dcg-mq-to,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-large-operator .dcg-mq-from,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-int .dcg-mq-sup,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-int .dcg-mq-sub,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-int .dcg-mq-to,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-int .dcg-mq-from{display:none}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-supsub{font-size:80%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-mq-sqrt-stem{width:4px;padding:0;background:transparent}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=shift]{padding-top:2px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=\"/\"],.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=\"-\"]{padding-top:1px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=\"*\"]{padding-top:2px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=left],.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=right],.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=backspace]{font-size:110%;padding-top:2px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container [dcg-command=enter]{font-size:140%;padding-top:3px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn .dcg-keypad-btn-content{font-size:90%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-on-gray{box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000005;background:linear-gradient(#fff,#fafafa);border:1px solid #d8d8d8;border-radius:2px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-dark-on-gray{box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #00000005;background:linear-gradient(#00000021,#00000029);border:1px solid #bbb;border-radius:2px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-tall-blue,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-short-blue{box-sizing:border-box;border-radius:2px;color:#fff;background:#2f72dc;border:1px solid #4380e0;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000000d}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-tall-blue.dcg-hovered:not(.dcg-disabled),.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-short-blue.dcg-hovered:not(.dcg-disabled){background:#2457a8;transition:background .2s}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-tall-blue.dcg-depressed:not(.dcg-disabled),.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-short-blue.dcg-depressed:not(.dcg-disabled){background:#193d75;border:1px solid #193d75;box-shadow:none}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-tall-blue{height:76px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container:not(.dcg-disabled) .dcg-keypad-btn.dcg-btn-light-on-gray.dcg-hovered{background:#f5f5f5;border-color:#d8d8d8}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container:not(.dcg-disabled) .dcg-keypad-btn.dcg-btn-light-on-gray.dcg-depressed{background:#ebebeb;border-color:#cfcfcf;box-shadow:none}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container:not(.dcg-disabled) .dcg-keypad-btn.dcg-btn-dark-on-gray.dcg-hovered{background:#00000029}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-container:not(.dcg-disabled) .dcg-keypad-btn.dcg-btn-dark-on-gray.dcg-depressed{box-shadow:none;background:#00000030}.dcg-calculator-api-container .dcg-inverted-colors .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-on-gray{box-shadow:inset 0 -1px #ffffff40,inset 0 1px #00000005;background:linear-gradient(#fafafa,#fff)}.dcg-calculator-api-container .dcg-inverted-colors .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-dark-on-gray{box-shadow:inset 0 -1px #ffffff1a,inset 0 1px #00000005;background:linear-gradient(#00000029,#00000021)}.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-on-gray,.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-gray{background:#ffffff4d;border:0}.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-on-gray.dcg-hovered,.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-gray.dcg-hovered{background:#ffffff40}.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-on-gray.dcg-depressed,.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-light-gray.dcg-depressed{background:#ffffff26}.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-dark-on-gray{background:#00000026;border:0}.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-dark-on-gray.dcg-hovered{background:#0000002e}.dcg-calculator-api-container .dcg-has-background-color .dcg-basic-keypad .dcg-keypad-btn-container .dcg-keypad-btn.dcg-btn-dark-on-gray.dcg-depressed{background:#00000038}.dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow [dcg-command=\"/\"] .dcg-keypad-btn-content,.dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow [dcg-command=\"=\"] .dcg-keypad-btn-content,.dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow [dcg-command=\"<\"] .dcg-keypad-btn-content,.dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow [dcg-command=\"<=\"] .dcg-keypad-btn-content{position:relative;left:-1px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow .dcg-basic-keypad .dcg-keypad-btn[dcg-command=sqrt]{font-size:80%}.dcg-calculator-api-container .dcg-PROJECTOR-MODE:not(.dcg-narrow) .dcg-keys-container.dcg-smaller-functions-text .dcg-keypad-btn[dcg-command=functions]{font-size:80%}.dcg-calculator-api-container .dcg-keys-container.dcg-small-ABC .dcg-abc-audio-container .dcg-keypad-btn[dcg-command=ABC]{font-size:90%}.dcg-calculator-api-container .dcg-keys-container.dcg-smaller-ABC .dcg-abc-audio-container .dcg-keypad-btn[dcg-command=ABC]{font-size:80%}.dcg-calculator-api-container .dcg-keys-container.dcg-smallest-ABC .dcg-abc-audio-container .dcg-keypad-btn[dcg-command=ABC]{font-size:70%}.dcg-calculator-api-container .dcg-basic-keypad-container{background:#00000012;border:1px solid rgba(0,0,0,.2);border-top:none}.dcg-calculator-api-container .dcg-basic-keypad{margin:0;padding:4px 3px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-mq-large-operator .dcg-mq-to,.dcg-calculator-api-container .dcg-basic-keypad .dcg-mq-large-operator .dcg-mq-from{display:none!important}.dcg-calculator-api-container .dcg-basic-keypad .dcg-mq-int .dcg-mq-supsub{display:none}.dcg-calculator-api-container .dcg-basic-keypad .dcg-mq-large-operator,.dcg-calculator-api-container .dcg-basic-keypad .dcg-mq-int{font-size:70%;position:relative;top:-1px}.dcg-calculator-api-container .dcg-basic-keypad *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.dcg-calculator-api-container .dcg-basic-keypad .dcg-half-width-placeholder{flex-grow:.5}.dcg-calculator-api-container .dcg-basic-keypad .dcg-partition-placeholder{width:4%}.dcg-calculator-api-container .dcg-projector-mode .dcg-basic-keypad,.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-basic-keypad{font-size:150%}.dcg-calculator-api-container .dcg-projector-mode .dcg-basic-keypad .dcg-keypad-btn-container{height:52px}.dcg-calculator-api-container .dcg-projector-mode.dcg-classroom-large-projector-mode .dcg-basic-keypad .dcg-keypad-btn-container{height:64px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-basic-keypad .dcg-keypad-row .dcg-keypad-btn-container{height:46px}.dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-classroom-large-projector-mode .dcg-basic-keypad .dcg-keypad-row .dcg-keypad-btn-container{height:58px}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow .dcg-basic-keypad .dcg-keypad-row{font-size:90%}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow .dcg-basic-keypad .dcg-keypad-row .dcg-keypad-btn-container{height:44px}@media screen and (max-width: 470px){.dcg-calculator-api-container .dcg-projector-mode .dcg-sci-func-keypad .dcg-basic-keypad{font-size:115%}}@media screen and (max-width: 330px){.dcg-calculator-api-container .dcg-calculator-api-container .dcg-either-or-btn{font-size:85%;white-space:nowrap}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-projector-mode .dcg-basic-keypad{font-size:125%}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-projector-mode .dcg-sci-func-keypad .dcg-basic-keypad{font-size:90%}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-PROJECTOR-MODE.dcg-narrow .dcg-basic-keypad .dcg-keypad-row{font-size:70%}}.dcg-calculator-api-container .dcg-keypad-row{padding:0;display:flex;flex-flow:row nowrap;align-items:stretch;margin:0}.dcg-calculator-api-container .dcg-keypad-row .dcg-abc-audio-container{flex-grow:2;display:flex}.dcg-calculator-api-container .dcg-basic-keypad .dcg-audio-keypad-container{display:flex}.dcg-calculator-api-container .dcg-basic-keypad .dcg-audio-keypad-column{display:flex;flex:1;flex-direction:column}.dcg-calculator-api-container .dcg-basic-keypad .dcg-audio-keypad-column .dcg-keypad-btn-container{max-height:40px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-audio-keypad-column .dcg-keypad-btn-container .dcg-keypad-btn:not(.dcg-btn-short-blue){color:#333}.dcg-calculator-api-container .dcg-basic-keypad .dcg-playback-column .dcg-btn-playback{height:40px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-playback-column .dcg-btn-playback .dcg-keypad-btn-container{width:100%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-playback-column .dcg-key-nav-section-container{height:40px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-playback-column .dcg-key-nav-section-container .dcg-tooltip-hit-area-container{width:100%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-playback-column .dcg-key-nav-section-container .dcg-key-nav-section-title-container.dcg-disabled{opacity:.5}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-section-title{text-align:left;color:#666;line-height:40px;font-size:90%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-section-title .dcg-tooltip-hit-area-container{margin-left:3px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-section-title .dcg-tooltip-hit-area-container i{font-size:80%;cursor:pointer;display:inline-block;padding:5px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-section-title .dcg-tooltip-hit-area-container.dcg-hovered{color:#333}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-section-title .dcg-tooltip-hit-area-container.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-basic-keypad .dcg-audio-keypad-spacer{flex:.25}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content{display:flex;align-items:center;justify-content:center}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content .dcg-play-icon-container,.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content .dcg-stop-icon-container{border:2px solid #fff;border-radius:50%;width:22px;height:22px;line-height:22px;text-align:center;font-size:50%;margin-right:5px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content .dcg-icon-play{position:relative;top:-1px;left:1.5px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content .dcg-stop-icon{background:#fff;display:inline-block;border-radius:1px;width:8px;height:8px;position:relative;top:-1px}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content .dcg-button-icon:not(.dcg-icon-only){font-size:70%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-keypad-btn-content .dcg-button-icon.dcg-icon-only{font-size:120%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section{flex:1;display:flex;align-items:center}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section .dcg-keypad-btn-container{width:40px;font-size:80%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section .dcg-keypad-btn-container i.dcg-icon-volume-up,.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section .dcg-keypad-btn-container i.dcg-icon-volume-down{font-size:115%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section .dcg-key-nav-section-title-container{display:flex;flex-direction:column;justify-content:center;width:70px;padding:0 5px;font-size:90%}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section .dcg-key-nav-section-title-container .dcg-key-nav-section-title{font-size:75%;color:#666}.dcg-calculator-api-container .dcg-basic-keypad .dcg-key-nav-section .dcg-key-nav-section-title-container.dcg-poi-section-container .dcg-key-nav-section-title{display:block}@media screen and (max-width: 550px){.dcg-calculator-api-container .dcg-audio-keypad-spacer{max-width:20px}.dcg-calculator-api-container .dcg-audio-keypad-column .dcg-key-nav-section .dcg-key-nav-section-title-container{font-size:80%;width:60px}}@media screen and (max-width: 430px){.dcg-calculator-api-container .dcg-audio-keypad-container{font-size:90%}.dcg-calculator-api-container .dcg-audio-keypad-container .dcg-audio-keypad-column.dcg-playback-column .dcg-key-nav-section .dcg-key-nav-section-title-container{width:40px}.dcg-calculator-api-container .dcg-audio-keypad-container .dcg-audio-keypad-column.dcg-navigation-column .dcg-key-nav-section .dcg-key-nav-section-title-container{width:55px}}@media screen and (max-width: 340px){.dcg-calculator-api-container .dcg-audio-keypad-column.dcg-navigation-column .dcg-key-nav-section .dcg-key-nav-section-title-container{display:none}}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover{top:-306px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-popover-interior{height:306px!important}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover{padding:0;text-align:left}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-popover-interior{background-color:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000);padding:0;width:310px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-popover-interior .dcg-keypad-btn-container{width:33.3%;float:left;height:42px;float:none;margin-bottom:-5px;overflow:hidden}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-popover-interior .dcg-keypad-btn-container .dcg-keypad-btn{font-size:80%!important;white-space:nowrap;color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-popover-section-separator{display:block;clear:both;border-bottom:1px solid #e2e2e2;margin:0 2px 4px;padding-top:4px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-keypad-keys-section,.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-keypad-keys-buttons{margin-bottom:-42px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-keypad-keys-section:last-of-type .dcg-keypad-keys-buttons{margin-bottom:7px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-keypad-keys-section{border:1px solid transparent}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-keypad-keys-section+.dcg-keypad-keys-section{margin-top:100px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-section-heading{color:var(--dcg-custom-text-color, #666);text-transform:uppercase;font-size:75%;text-align:left;padding:5px;position:sticky;top:0;background:var(--dcg-custom-background-color, #fff);z-index:2}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-section-heading .dcg-beta-tag{font-size:70%;background:#8c29be;color:var(--dcg-custom-text-color, #fff);position:relative;top:-.6em;padding:1px 3px;border-radius:4px;margin-left:2px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-section-heading a{color:var(--dcg-custom-text-color, #000);margin-left:5px;opacity:.5}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-section-heading a.dcg-hovered{opacity:.6}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-section-heading a.dcg-depressed{opacity:.9}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-interior-buttons{padding:5px}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover .dcg-option{border-bottom:1px solid rgba(0,0,0,.2);cursor:pointer;margin:4px 1px 0 3px!important;width:60px;height:38px;line-height:28px;text-align:center;line-height:38px;padding:0}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover.dcg-left{top:auto;bottom:5px;right:18%;left:auto}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover.dcg-left .dcg-arrow{top:auto;border-left-color:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover.dcg-top .dcg-arrow{border-top-color:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-functions-popover .dcg-popover-interior{width:330px}.dcg-calculator-api-container .dcg-calculator-api-container .dcg-PROJECTOR-MODE .dcg-functions-popover .dcg-interior-buttons{font-size:80%}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover.dcg-two-column .dcg-popover-interior{width:calc(100% + 2px)}.dcg-calculator-api-container .dcg-keypad .dcg-functions-popover.dcg-two-column .dcg-popover-interior .dcg-keypad-btn-container{width:50%}@keyframes dcg-fadeIn-zoomRestore{0%{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}.dcg-calculator-api-container .dcg-left-pillboxes{position:absolute;left:5px;top:5px;z-index:21;display:flex;gap:5px}.dcg-calculator-api-container .dcg-left-pillboxes.dcg-geometry-toolbar-present{top:53px}.dcg-calculator-api-container .dcg-left-pillboxes .dcg-icon-redo,.dcg-calculator-api-container .dcg-left-pillboxes .dcg-icon-undo{font-size:1.1rem}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements{pointer-events:none;display:flex;gap:5px}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-tooltip-hit-area-container{pointer-events:auto}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-right-pillbox-elements{display:flex;flex-direction:column;gap:5px}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-icon-plus,.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-icon-minus{font-size:75%}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-icon-xy-plane{font-size:150%;line-height:35px}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-icon-3d-cube{font-size:135%;line-height:35px}.dcg-calculator-api-container .dcg-overgraph-pillbox-elements .dcg-icon-wrench{position:relative;top:-1px}.dcg-calculator-api-container .dcg-pillbox-btn-interior{height:37px;width:37px;line-height:37px;text-align:center;transition:opacity .3s}.dcg-calculator-api-container .dcg-pillbox-btn-interior.dcg-disabled{opacity:.3;pointer-events:none}.dcg-calculator-api-container .dcg-action-settings .dcg-icon-lock{position:absolute;bottom:2px;right:2px;font-size:8px;padding:3px;border-radius:50%;color:#fff;background:#000000bf;text-shadow:none}.dcg-calculator-api-container .dcg-pillbox-container{position:absolute;right:5px;top:5px;bottom:0;width:0;z-index:21}.dcg-calculator-api-container .dcg-pillbox-container.dcg-geometry-toolbar-present{top:53px}.dcg-calculator-api-container .dcg-pillbox-container .dcg-overgraph-pillbox-elements{position:absolute;top:0;right:0}.dcg-calculator-api-container .dcg-btn-flat-gray-group .dcg-pillbox-btn-interior{width:100%;height:35px}.dcg-calculator-api-container .dcg-btn-flat-gray-group.dcg-group-vertical{width:37px}.dcg-calculator-api-container .dcg-btn-flat-gray-group.dcg-group-vertical .dcg-tooltip-hit-area-container:not(:last-of-type){border-bottom:1px solid rgba(0,0,0,.1)}.dcg-calculator-api-container .dcg-btn-flat-gray-group.dcg-group-horizontal.dcg-group-horizontal .dcg-tooltip-hit-area-container:not(:last-of-type){border-right:1px solid rgba(0,0,0,.1)}.dcg-calculator-api-container .dcg-action-zoomrestore{animation:dcg-fadeIn-zoomRestore .25s}.dcg-calculator-api-container .dcg-group-horizontal{display:flex;flex-direction:row;width:77px;height:37px}.dcg-calculator-api-container .dcg-btn-flat-gray{background:var(--dcg-custom-background-color-shaded, #ededed);box-shadow:0 0 5px #00000026;border:1px solid rgba(0,0,0,.1);border-radius:5px;text-shadow:0 1px #fff}.dcg-calculator-api-container .dcg-btn-flat-gray i{opacity:.6}.dcg-calculator-api-container .dcg-btn-flat-gray:not(.dcg-btn-flat-gray-group).dcg-hovered i,.dcg-calculator-api-container .dcg-btn-flat-gray.dcg-btn-flat-gray-group .dcg-tooltip-hit-area-container:not(.dcg-tooltip-disabled).dcg-hovered i{opacity:.9}.dcg-calculator-api-container .dcg-btn-flat-gray:not(.dcg-btn-flat-gray-group).dcg-depressed,.dcg-calculator-api-container .dcg-btn-flat-gray:not(.dcg-btn-flat-gray-group).dcg-active,.dcg-calculator-api-container .dcg-btn-flat-gray.dcg-btn-flat-gray-group .dcg-tooltip-hit-area-container:not(.dcg-tooltip-disabled).dcg-depressed,.dcg-calculator-api-container .dcg-btn-flat-gray.dcg-btn-flat-gray-group .dcg-tooltip-hit-area-container:not(.dcg-tooltip-disabled).dcg-active{background:var(--dcg-custom-background-color-shaded, #e8e8e8)}.dcg-calculator-api-container .dcg-btn-flat-gray:not(.dcg-btn-flat-gray-group).dcg-depressed i,.dcg-calculator-api-container .dcg-btn-flat-gray:not(.dcg-btn-flat-gray-group).dcg-active i,.dcg-calculator-api-container .dcg-btn-flat-gray.dcg-btn-flat-gray-group .dcg-tooltip-hit-area-container:not(.dcg-tooltip-disabled).dcg-depressed i,.dcg-calculator-api-container .dcg-btn-flat-gray.dcg-btn-flat-gray-group .dcg-tooltip-hit-area-container:not(.dcg-tooltip-disabled).dcg-active i{opacity:1}.dcg-calculator-api-container .dcg-has-background-color .dcg-btn-flat-gray{text-shadow:none}.dcg-calculator-api-container .dcg-settings-view-container{line-height:0}.dcg-calculator-api-container .dcg-settings-view-container .dcg-settings-container{position:absolute;top:2px;right:38px;line-height:1em}.dcg-calculator-api-container .dcg-settings-container{bottom:auto;z-index:61;width:290px}.dcg-calculator-api-container .dcg-settings-container.dcg-left .dcg-arrow{top:18px;border-left-color:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-settings-container .dcg-popover-interior{padding:10px;background-color:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-settings-container .dcg-visual-settings{padding-bottom:10px;border-bottom:1px solid #ddd}.dcg-calculator-api-container .dcg-settings-container .dcg-step-label{font-size:85%;color:var(--dcg-custom-text-color, #444)}.dcg-calculator-api-container .dcg-settings-container .dcg-top-section-flex{display:flex;padding-top:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-top-section-flex .dcg-component-checkbox{margin-top:3px}.dcg-calculator-api-container .dcg-settings-container .dcg-top-section-flex .dcg-grid-settings{min-width:110px}.dcg-calculator-api-container .dcg-settings-container .dcg-top-section-flex .dcg-grid-settings .dcg-component-checkbox{margin-bottom:2px}.dcg-calculator-api-container .dcg-settings-container .dcg-top-section-flex .dcg-top-checkboxes-container .dcg-component-checkbox{margin-bottom:3px}.dcg-calculator-api-container .dcg-settings-container .dcg-action-zoom-square{float:left;clear:left;font-size:80%;margin:3px 0;padding:3px 10px;line-height:1.5em}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container{border-top:1px solid #ddd;margin-top:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-component-checkbox{float:left}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-lock-viewport-option{font-size:95%;height:1.5em;line-height:2em;margin-bottom:2px;margin-top:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title{display:grid;grid-template-columns:55% 45%;font-size:95%;line-height:normal;margin-bottom:2px;margin-top:5px}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-component-checkbox,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-component-checkbox{margin-top:1em}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title.dcg-y-axis-title,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title.dcg-y-axis-title{margin-top:12px}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-axis-label,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-axis-label{position:relative;margin-bottom:-10px}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-axis-label:focus-within label,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-axis-label:focus-within label{color:#2f72dc}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-axis-label label,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-axis-label label{position:absolute;padding:0 3px;font-size:85%;left:4px;top:2px;color:var(--dcg-custom-text-color, #666);background:var(--dcg-custom-background-color, #fff);margin:0;line-height:normal}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-axis-label input,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-axis-label input{outline:none;margin-top:.7em;border-radius:5px;width:100%;color:var(--dcg-custom-text-color, #444);font-size:90%;padding:7px;-webkit-appearance:none;appearance:none;border:1px solid var(--dcg-custom-text-color, rgba(0, 0, 0, .42));background:var(--dcg-custom-background-color, #fff)}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-axis-label input.dcg-hovered,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-axis-label input.dcg-hovered{border:1px solid var(--dcg-custom-text-color, rgba(0, 0, 0, .42));box-shadow:0 0 0 1px var(--dcg-custom-text-color, rgba(0, 0, 0, .42))}.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-x-axis-title .dcg-axis-label input:focus,.dcg-calculator-api-container .dcg-settings-container .dcg-axes-settings-container .dcg-y-axis-title .dcg-axis-label input:focus{border:1px solid #2f72dc;box-shadow:0 0 0 1px #2f72dc}.dcg-calculator-api-container .dcg-settings-container .dcg-radiangroup,.dcg-calculator-api-container .dcg-settings-container .dcg-dimensiongroup{border-top:1px solid #ddd;padding-top:10px;margin-top:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-displaysizegroup{padding-bottom:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-arrows{text-align:center}.dcg-calculator-api-container .dcg-settings-container .dcg-arrows i{font-size:26px;line-height:28px}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon-group{margin-left:24px;margin-bottom:4px}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon{display:inline-block;cursor:pointer;width:28px;height:28px;border-radius:14px;box-shadow:0 0 2px #00000040 inset;background-color:#f9f9f9;background-size:contain;background-position:center center;background-repeat:no-repeat;color:#777}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon.dcg-selected{background-color:#666;color:#ffffffe6;cursor:default}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon:not(.dcg-selected).dcg-hovered{box-shadow:inset 0 0 0 2px #00000026}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon:not(.dcg-selected).dcg-depressed{box-shadow:inset 0 0 0 2px #00000040}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon.dcg-action-cartesian,.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon.dcg-action-polar{border:1px solid rgba(0,0,0,.42);overflow:hidden;font-size:26px}.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon.dcg-action-cartesian.dcg-selected,.dcg-calculator-api-container .dcg-settings-container .dcg-circle-icon.dcg-action-polar.dcg-selected{color:#fff}.dcg-calculator-api-container .dcg-settings-container .dcg-braille-container{margin-top:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-braille-container .dcg-braille-options-container{padding-left:28px}.dcg-calculator-api-container .dcg-settings-container .dcg-braille-container .dcg-braille-options-container .dcg-braille-options-buttons{margin-top:5px}.dcg-calculator-api-container .dcg-settings-container .dcg-interval-interior{margin:0 -6px}.dcg-calculator-api-container .dcg-settings-container .dcg-editable-mathquill-container{margin-top:12px;position:relative;white-space:nowrap}.dcg-calculator-api-container .dcg-settings-container .dcg-editable-mathquill-container .dcg-step-container{float:right;margin-bottom:10px}.dcg-calculator-api-container .dcg-settings-container .dcg-editable-mathquill-container .dcg-mathquill-wrapper{display:inline-block}.dcg-calculator-api-container .dcg-settings-container .dcg-editable-mathquill-container .dcg-mathquill-wrapper .dcg-braille-input{max-width:50px;font-size:100%}.dcg-calculator-api-container .dcg-displaysize-large{font-size:150%}.dcg-calculator-api-container .dcg-2dplane-opacity{max-width:50px;margin-left:5px}.dcg-calculator-api-container .dcg-narrow .dcg-settings-container{right:35px;width:260px}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-log-axes-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;align-items:center;grid-column-gap:5px;grid-row-gap:10px;font-size:90%}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle{color:var(--dcg-custom-text-color, #000);padding-top:5px;font-size:95%}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle.dcg-disabled{pointer-events:none}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle.dcg-disabled .dcg-caret-container{opacity:.5}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle.dcg-margin-top{margin-top:10px}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle .dcg-caret-container{transition:transform .3s;display:inline-block;font-size:90%;margin-right:5px;color:#999;transform-origin:55% 35%}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle:not(.dcg-opened) .dcg-caret-container{transform:rotate(-90deg)}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle.dcg-hovered .dcg-caret-container{color:#666}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle.dcg-depressed,.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-toggle.dcg-depressed .dcg-caret-container{color:#222}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-contents{border-left:1px solid rgba(0,0,0,.2);padding:8px 10px 4px;margin-left:6px;animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-advanced-contents .dcg-checkbox-title.dcg-lock-viewport-option{font-size:90%;margin-top:3px}.dcg-calculator-api-container .dcg-advanced-viewport-settings-view .dcg-editable-mathquill-container{margin-top:5px;margin-bottom:5px}.dcg-calculator-api-container .dcg-six-key-checkbox .dcg-component-checkbox{margin:5px 0;display:inline-block}.dcg-calculator-api-container .dcg-refreshable-braille-note{font-size:95%;color:var(--dcg-custom-text-color, #666)}.dcg-calculator-api-container .dcg-refreshable-braille-note a{text-decoration:underline}.dcg-calculator-api-container .dcg-3d-settings-flex-container{display:flex;flex-direction:row;gap:8px}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-show-axis-labels-section{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:7px;gap:7px}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-inline-math-input-view .dcg-math-field{border-bottom:1px solid rgba(0,0,0,.2);padding:1px 2px;margin:1px;min-width:35px;max-width:60px}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-inline-math-input-view .dcg-math-field.dcg-focus,.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-inline-math-input-view .dcg-math-field.dcg-invalid{border-bottom:2px solid #2f72dc;margin-bottom:0}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-inline-math-input-view .dcg-math-field.dcg-invalid{border-bottom:2px solid #e15855}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-inline-math-input-view .dcg-math-field.dcg-hovered:not(.dcg-focus):not(.dcg-invalid):not(.dcg-static-mathquill-view){border-bottom:2px solid #ccc;margin-bottom:0}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-popover-interior{padding:10px 0}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-popover-interior .dcg-displaysizegroup{padding-bottom:3px}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-component-checkbox{font-size:95%;margin-top:5px;color:#666}.dcg-calculator-api-container .dcg-settings-view-3d-container .dcg-braille-options-buttons{margin-top:8px}.dcg-calculator-api-container .dcg-three-d-domain .dcg-options-menu-section-title{height:1.2rem}.dcg-calculator-api-container .dcg-three-d-domain .dcg-axis-label{padding-right:5px;display:inline-block}.dcg-calculator-api-container .dcg-three-d-domain .dcg-axis-label .dcg-mq-math-mode{cursor:inherit}.dcg-calculator-api-container .dcg-three-d-domain .dcg-axis-label-to{margin-right:5px;font-size:95%;color:#666}.dcg-calculator-api-container .dcg-three-d-domain .dcg-three-d-domain-toggle-container{margin-top:4px;display:flex;margin-bottom:-5px}.dcg-calculator-api-container .dcg-three-d-domain.dcg-advanced-viewport-settings-view .dcg-advanced-contents{margin-top:-10px}.dcg-calculator-api-container .dcg-three-d-domain.dcg-advanced-viewport-settings-view .dcg-advanced-contents .dcg-editable-mathquill-container{margin-top:0}.dcg-calculator-api-container .dcg-three-d-domain .dcg-btn-light-gray,.dcg-calculator-api-container .dcg-three-d-domain .dcg-btn-primary{font-size:.8rem;padding:3px 10px;line-height:1.3rem;display:inline-block;animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-three-d-domain .dcg-action-zoom-recenter{position:relative;color:#000;top:-5px}.dcg-calculator-api-container .dcg-three-d-domain .dcg-z-axis-options.dcg-editable-mathquill-container{margin-bottom:0}.dcg-calculator-api-container .dcg-three-d-domain .dcg-action-zoom-square-3d{margin-top:8px}.dcg-calculator-api-container .dcg-three-d-domain .dcg-flex-container{display:flex}.dcg-calculator-api-container .dcg-three-d-domain .dcg-flex-container :first-child{flex:1}.dcg-calculator-api-container .dcg-geometry-toolbar-view{position:absolute;top:0;right:0;z-index:39;padding:5px;box-shadow:0 0 5px #00000026;height:48px;border-bottom:1px solid rgba(0,0,0,.2);background:linear-gradient(#fcfcfc,#eaeaea);display:flex}.dcg-calculator-api-container .dcg-geometry-toolbar-view .dcg-header-left .dcg-tooltip-hit-area-container{float:left}.dcg-calculator-api-container .dcg-geometry-toolbar-view.dcg-after-initial-load .dcg-animate-in-after-initial-load{animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-geometry-toolbar-view .dcg-flex-spacer{flex:1}.dcg-calculator-api-container .dcg-geometry-toolbar-view .dcg-geo-undo-redo-container{display:inline-block}.dcg-calculator-api-container .dcg-geometry-toolbar-view .dcg-geo-undo-redo-container.dcg-overgraph-undo-redo{position:absolute;top:53px;left:5px}.dcg-calculator-api-container .dcg-geo-basic-tools{display:flex;align-items:center;justify-content:space-between;padding:3px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-3d-getting-started-pointer{position:absolute;top:70px;left:50%;transform:translate(-50%);min-height:50px;color:#999;font-size:1.1rem;padding-top:12px;pointer-events:none;animation:dcg-fadeIn .3s;white-space:nowrap}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-3d-getting-started-pointer .dcg-curved-icon-container{display:inline-block;font-size:2rem;transform:scaleY(-1) rotate(15deg)}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-3d-getting-started-pointer.dcg-3d-getting-started-has-tool .dcg-curved-icon-container{transform:rotate(15deg);position:relative;top:7px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row{display:flex;align-items:center;justify-content:center;gap:4px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row button{padding:0;background:none}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-icon,.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-dropdown{height:37px;display:flex;align-items:center;justify-content:center}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-icon{width:37px;position:relative}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-name{position:absolute;top:100%;left:0;right:0;text-align:center;font-size:1rem;color:#666;font-family:Arial,Helvetica,sans-serif;line-height:1em}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container{height:39px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button{border-radius:5px;border:1px solid #ccc;outline:none}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-depressed{border:1px solid #999;box-shadow:0 0 0 1px #999}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-hovered,.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-depressed,.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-selected{background:#fff}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-hovered:not(.dcg-disabled):not(.dcg-selected){border:1px solid #999;box-shadow:0 0 0 1px #999}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-focus-visible{box-shadow:0 0 0 2px #2f72dc80!important}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-depressed:not(.dcg-disabled){border-color:#0000005c}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-selected{border:1px solid #2f72dc;box-shadow:0 0 0 1px #2f72dc}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-disabled{opacity:.25}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-will-be-hidden-or-disabled{border-style:dashed;opacity:.9;border-color:#ddd}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row .dcg-tool-button-container>button.dcg-will-be-hidden-or-disabled.dcg-selected{border-style:solid;border:1px solid #999;box-shadow:0 0 0 1px #999}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-geo-basic-tools-row canvas{width:50px;height:50px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-split-btn{display:flex}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-split-btn .dcg-icon{border-radius:5px 0 0 5px;width:29px;padding-left:6px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-split-btn .dcg-tool-dropdown{border-left:0;border-radius:0 5px 5px 0;color:#bbb;padding:5px}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-split-btn .dcg-tool-dropdown i{font-size:.65rem}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-split-btn .dcg-tool-dropdown.dcg-hovered{color:#333}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-split-btn .dcg-tool-dropdown.dcg-depressed{color:#000}.dcg-calculator-api-container .dcg-geo-basic-tools .dcg-mobile-construct-button{padding:10px 12px;text-align:center;float:left}.dcg-calculator-api-container .dcg-select-tools-dropdown{background:#fff;padding:0!important;position:absolute!important;top:38px;left:0}.dcg-calculator-api-container .dcg-select-tools-dropdown.dcg-shift-menu-left{left:auto;right:-94px}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool{width:100%;display:flex;align-items:center;height:35px;outline:none;overflow-y:clip;padding-right:10px}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool:first-of-type{height:40px;padding-top:5px}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool:last-of-type{height:40px;padding-bottom:5px}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool canvas{transform:scale(.75)}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool span{white-space:nowrap}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool:first-of-type{border-radius:5px 5px 0 0}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool:last-of-type{border-radius:0 0 5px 5px}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool.dcg-focus-visible:not([aria-disabled=true]),.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool.dcg-hovered:not([aria-disabled=true]),.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool.dcg-selected-tool{text-decoration:underline}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool.dcg-hovered:not(.dcg-focus-visible){box-shadow:none}.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool[aria-disabled=true] span,.dcg-calculator-api-container .dcg-select-tools-dropdown button.dcg-dropdown-tool.dcg-will-be-hidden-or-disabled span{color:#bbb;font-style:italic}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-completed i,.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-upcoming span,.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-active-icon span{width:16px;height:16px;display:inline-block;border-radius:50%;margin:0 3px}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-completed i{color:#2f72dc;font-size:70%;background:#999;color:#fff;line-height:16px;text-align:center;display:none}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-upcoming span{border:1px solid rgba(0,0,0,.2);position:relative;top:2px;display:none}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-active-icon span{display:none;background:#2f72dc;line-height:16px;text-align:center;font-size:80%;position:relative;top:-1px;color:#fff}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-active-step{margin-right:5px}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-completed i,.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-step-upcoming span,.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-active-step{animation:dcg-fadeIn .3s}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-input-flex-container .dcg-btn-blue{padding:4px 6px;font-size:90%;position:relative;top:1px}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-input-flex-container .dcg-btn-blue.dcg-disabled{pointer-events:none;opacity:.6}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-mathquill-wrapper .dcg-mq-container .dcg-math-field{min-width:45px;max-width:45px;border:2px solid rgba(0,0,0,.2);border-radius:5px;padding:4px 0 4px 4px;margin:0 2px 0 4px;font-size:90%}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-mathquill-wrapper .dcg-mq-container .dcg-math-field .dcg-mq-root-block{padding-right:5px}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-mathquill-wrapper .dcg-mq-container .dcg-math-field:after{display:none}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-mathquill-wrapper .dcg-mq-container .dcg-math-field.dcg-hovered{background:#fff}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-mathquill-wrapper .dcg-mq-container .dcg-math-field.dcg-focus{border:2px solid #2f72dc;background:#fff}.dcg-calculator-api-container .dcg-complex-tool-instruction-view .dcg-mathquill-wrapper .dcg-mq-container .dcg-math-field.dcg-invalid{border:2px solid #e15855}.dcg-calculator-api-container .dcg-toast-view{position:absolute;top:7px;left:50px;right:50px;height:0;text-align:center;z-index:45;overflow:visible;text-shadow:none;color:#222;line-height:1em;transition:.3s opacity}.dcg-calculator-api-container .dcg-toast-view:not(.dcg-visible){opacity:0;pointer-events:none}.dcg-calculator-api-container .dcg-toast-view.dcg-below-geo-toolbar{top:55px}.dcg-calculator-api-container .dcg-toast-view .dcg-toast-wrapper{pointer-events:none}.dcg-calculator-api-container .dcg-toast-view .dcg-toast{display:inline-block;padding:6px 10px;background:#fef2ad;border:1px solid #fed973;border-radius:4px;font-size:85%;box-shadow:0 2px 6px #00000026;position:relative;pointer-events:auto}.dcg-calculator-api-container .dcg-toast-view .dcg-toast i.dcg-icon-error{display:none}.dcg-calculator-api-container .dcg-toast-view .dcg-toast a.dcg-undo{padding:8px;margin:-8px -8px -8px 0}.dcg-calculator-api-container .dcg-toast-view .dcg-toast i.dcg-icon-remove{font-size:87%;padding:8px;margin:-5px -10px -8px 2px;color:#0000004d;cursor:pointer;float:right}.dcg-calculator-api-container .dcg-toast-view .dcg-toast i.dcg-icon-remove.dcg-hovered,.dcg-calculator-api-container .dcg-toast-view .dcg-toast i.dcg-icon-remove:focus{color:#0009}.dcg-calculator-api-container .dcg-toast-view .dcg-toast i.dcg-icon-remove.dcg-depressed{color:#000c}.dcg-calculator-api-container .dcg-toast-view .dcg-toast a{margin-left:6px;text-decoration:underline;cursor:pointer;display:inline-block;color:#333;font-weight:600}.dcg-calculator-api-container .dcg-toast-view .dcg-toast a.dcg-hovered{color:#000}.dcg-calculator-api-container .dcg-toast-view .dcg-toast-cover{display:none}.dcg-calculator-api-container .dcg-toast-view[toast-style=error] .dcg-toast{padding-left:28px}.dcg-calculator-api-container .dcg-toast-view[toast-style=error] .dcg-toast i.dcg-icon-error{position:absolute;top:7px;left:10px;color:#fc944c;display:block}.dcg-calculator-api-container .dcg-toast-view[toast-style=cover]{position:absolute;top:0;left:0;right:0;padding-top:5px;height:100%;z-index:999}.dcg-calculator-api-container .dcg-toast-view[toast-style=cover] .dcg-toast-cover{position:absolute;top:0;left:0;bottom:0;right:0;opacity:.3;display:block;background-color:#000}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover{z-index:61;width:290px;top:53px;right:43px}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover.dcg-no-geometry-header{top:5px}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover .dcg-arrow{top:18px!important}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover .dcg-popover-interior{padding:10px 0;background-color:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover .dcg-component-checkbox{font-size:95%;margin-top:5px;color:var(--dcg-custom-text-color, #666);display:inline-block}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover .dcg-lock-viewport-option .dcg-learn-more-link{padding:0 5px}.dcg-calculator-api-container .dcg-geometry-settings-container.dcg-constrained-height-popover .dcg-braille-options-buttons{margin-top:8px}.dcg-calculator-api-container .dcg-author-mode-section .dcg-toolbar-customization{display:flex;align-items:center;font-size:90%;margin-top:10px;white-space:nowrap;color:#666}.dcg-calculator-api-container .dcg-author-mode-section .dcg-toolbar-customization .dcg-segmented-control-container{margin-left:10px;width:100%}.dcg-calculator-api-container .dcg-author-mode-section .dcg-toolbar-customization .dcg-segmented-control-container .dcg-segmented-control-btn{flex:1}.dcg-calculator-api-container .dcg-author-mode-section .dcg-edit-configuration-link-container{text-align:center;padding-top:3px;font-size:90%}@keyframes dcgSharedFadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1}}@keyframes dcgSharedFadeIn{0%{opacity:0}to{opacity:1}}.dcg-calculator-api-container .dcg-shared-modal-cover{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-modal-background{position:absolute;top:0;left:0;bottom:0;right:0;background:#000000b3}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-modal-transition-container{display:flex;justify-content:center}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-modal{position:relative}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal{animation:dcgSharedFadeInDown .3s}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-background,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-fullscreen .dcg-shared-modal{animation:dcgSharedFadeIn .3s}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal-transition-container,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal-transition-container,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal-transition-container{margin-top:80px}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal-contents-wrapper,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal-contents-wrapper,.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal-contents-wrapper{max-height:calc(100vh - 160px);overflow-y:auto}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal{width:800px}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal{width:650px}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal{width:500px}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-fullscreen .dcg-shared-modal{position:absolute;top:80px;bottom:80px;left:80px;right:80px}.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-fullscreen .dcg-shared-modal .dcg-shared-modal-contents-wrapper{overflow-y:auto;overflow-x:hidden;position:absolute;top:0;left:0;bottom:0;right:0}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-close-cross-container{position:absolute;top:-28px;right:-28px}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-close-cross{font-size:110%;width:32px;height:32px;border-radius:50%;color:#fff;opacity:.9;display:flex;align-items:center;justify-content:center}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-close-cross.dcg-hovered{opacity:1;background:#ffffff26}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-close-cross.dcg-depressed{opacity:1;background:#ffffff4d}.dcg-calculator-api-container .dcg-shared-modal-cover .dcg-shared-modal-contents-wrapper{padding:30px;background:#fff;border-radius:6px;box-shadow:0 0 10px #00000080}.dcg-calculator-api-container .dcg-shared-modal-cover h1{padding:0;margin:0 0 10px;font-weight:400;font-size:24px}.dcg-calculator-api-container .dcg-shared-modal-cover h1:not(.dcg-shared-left-align-title){text-align:center}.dcg-calculator-api-container .dcg-shared-modal-cover h1.dcg-shared-left-align-title{text-align:left}@media screen and (max-width: 850px){.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal{width:auto;margin:0;position:absolute;top:80px;left:37px;right:37px}}@media screen and (max-width: 700px){.dcg-calculator-api-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal{width:auto;margin:0;position:absolute;top:80px;left:37px;right:37px}}@media screen and (max-width: 600px){.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover .dcg-shared-modal-background{background:#333}.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal-transition-container,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal-transition-container,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal-transition-container{margin-top:0}.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover .dcg-shared-modal-transition-container{height:100%}.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-fullscreen .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal{position:absolute;top:42px;left:0;right:0;bottom:0;width:auto;margin:0}.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal .dcg-shared-close-cross-container,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-fullscreen .dcg-shared-modal .dcg-shared-close-cross-container,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal .dcg-shared-close-cross-container,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal .dcg-shared-close-cross-container{right:5px;top:-38px}.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-wide .dcg-shared-modal .dcg-shared-modal-contents-wrapper,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-fullscreen .dcg-shared-modal .dcg-shared-modal-contents-wrapper,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-medium .dcg-shared-modal .dcg-shared-modal-contents-wrapper,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover.dcg-shared-modal-narrow .dcg-shared-modal .dcg-shared-modal-contents-wrapper{border-radius:0;position:absolute;top:0;left:0;bottom:0;right:0;overflow-y:auto;overflow-x:hidden;max-height:none}.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover:not(.dcg-shared-has-close-button).dcg-shared-modal-wide .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover:not(.dcg-shared-has-close-button).dcg-shared-modal-fullscreen .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover:not(.dcg-shared-has-close-button).dcg-shared-modal-medium .dcg-shared-modal,.dcg-calculator-api-container .dcg-shared-modal-container .dcg-shared-modal-cover:not(.dcg-shared-has-close-button).dcg-shared-modal-narrow .dcg-shared-modal{top:0}}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-done-btn{float:right;position:relative;top:-4px}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal h1{font-weight:400;color:#666;padding-bottom:10px}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-first-column,.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-second-column{border-left:1px solid rgba(0,0,0,.2);padding:5px;display:grid;align-content:center}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-second-column{border-right:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-second-column.dcg-disabled{background:#eee}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-component-checkbox{white-space:nowrap;margin-left:2px;margin-top:0}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row.dcg-configuration-heading-row{background:#0003;border-top:1px solid rgba(0,0,0,.2);align-self:center}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row.dcg-configuration-heading-row .dcg-first-column{text-transform:capitalize;font-family:Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-weight:500}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row.dcg-configuration-heading-row .dcg-first-column,.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row.dcg-configuration-heading-row .dcg-second-column{font-size:95%}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-latex-error-container{position:absolute;top:3px;right:3px;z-index:1}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-disabled-condition-wrapper{padding:6px;color:#999}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container{padding:0;overflow:hidden;position:relative}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-math-field.dcg-invalid{padding-right:30px}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-mq-container{width:100%}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-math-field{width:100%;padding:6px}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-math-field.dcg-mq-focused{box-shadow:inset 0 0 0 2px #2f72dc!important}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-mathquill-braille .dcg-tooltip-hit-area-container{width:100%}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-mathquill-braille .dcg-tooltip-hit-area-container .dcg-braille-input{width:100%;padding:7px}.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row .dcg-mathquill-condition-container .dcg-mathquill-braille .dcg-tooltip-hit-area-container .dcg-braille-input:focus{box-shadow:inset 0 0 0 2px #2f72dc!important}@media screen and (max-width: 480px){.dcg-calculator-api-container .dcg-custom-toolbar-settings-modal .dcg-configuration-grid-row{display:grid;grid-template-columns:1fr 1fr}}.dcg-calculator-api-container .dcg-overgraph-icon-container{z-index:40}.dcg-calculator-api-container .dcg-overgraph-icon-container:not(.dcg-bottom-right){position:absolute;top:5px;left:5px}.dcg-calculator-api-container .dcg-overgraph-icon-container.dcg-bottom-right{position:absolute;bottom:5px;right:5px}.dcg-calculator-api-container .dcg-overgraph-icon{width:37px;height:37px;line-height:40px;font-size:110%;text-shadow:-2px -2px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,2px 2px 0 #fff,0 -2px 0 #fff,0 2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff;text-align:center;border-radius:5px}.dcg-calculator-api-container .dcg-overgraph-icon.dcg-rotated{transform:rotate(-90deg)}.dcg-calculator-api-container .dcg-overgraph-icon i{opacity:.6}.dcg-calculator-api-container .dcg-overgraph-icon.dcg-hovered{background:#00000026;text-shadow:none}.dcg-calculator-api-container .dcg-overgraph-icon.dcg-hovered i{opacity:.8}.dcg-calculator-api-container .dcg-overgraph-icon.dcg-depressed{background:#0000004d;text-shadow:none}.dcg-calculator-api-container .dcg-overgraph-icon.dcg-depressed i{opacity:1}.dcg-calculator-api-container .dcg-performance-meter{position:absolute;z-index:1;right:0;bottom:0}.dcg-aria-alert{position:absolute;left:-1000px;top:-1000px;width:1px;height:1px;text-align:left;overflow:hidden}@media (prefers-reduced-motion){.dcg-calculator-api-container *,.dcg-calculator-api-container *:after,.dcg-calculator-api-container *:before{transition:none!important;animation-duration:0ms!important;animation-delay:0ms!important}}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper{height:100%;width:100%;position:relative}.dcg-calculator-api-container .dcg-calc-basic-main{height:100%;width:100%;background:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000);display:flex;flex-direction:column;flex-wrap:nowrap;border-radius:2px;font-family:Arial,sans-serif}.dcg-calculator-api-container .dcg-calc-basic-main *{box-sizing:border-box}.dcg-calculator-api-container .dcg-calc-basic-main.dcg-no-hyperlinks a[target=_blank]{display:none!important}.dcg-calculator-api-container .dcg-keypad-control-bar{height:40px;background-color:#00000012;border-left:1px solid rgba(0,0,0,.2);border-right:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-bar-contents{display:flex;flex-flow:row nowrap;align-items:stretch;flex-shrink:0;padding-top:2px}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-spacer{flex-grow:1}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-spacer-2{flex-grow:2}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-bar{height:52px}.dcg-calculator-api-container .dcg-keypad-control-btn{flex-grow:1;min-width:40px;text-align:center;color:var(--dcg-custom-text-color, rgba(0, 0, 0, .6));font-size:87.5%}.dcg-calculator-api-container .dcg-keypad-control-btn.dcg-narrow-control-btn{max-width:80px}.dcg-calculator-api-container .dcg-keypad-control-btn.dcg-selectable-btn{padding:0 5px;height:38px;line-height:40px}.dcg-calculator-api-container .dcg-keypad-control-btn:not(.dcg-selectable-btn){height:32px;line-height:32px;margin:5px;border-radius:5px}.dcg-calculator-api-container .dcg-keypad-control-btn.dcg-disabled{color:#00000026;cursor:default}.dcg-calculator-api-container .dcg-keypad-control-btn:not(.dcg-disabled):not(.dcg-selectable-btn).dcg-hovered{color:var(--dcg-custom-text-color, rgba(0, 0, 0, .8));background:#0000001a}.dcg-calculator-api-container .dcg-keypad-control-btn:not(.dcg-disabled):not(.dcg-selectable-btn).dcg-depressed{color:var(--dcg-custom-text-color, #000);background:#0000002e}.dcg-calculator-api-container .dcg-keypad-control-btn[dcg-command=settings] i{font-size:120%;position:relative;top:1px}.dcg-calculator-api-container .dcg-keypad-control-btn[dcg-command=backspace] i,.dcg-calculator-api-container .dcg-keypad-control-btn[dcg-command=undo] i,.dcg-calculator-api-container .dcg-keypad-control-btn[dcg-command=redo] i{font-size:150%;position:relative;top:3px}.dcg-calculator-api-container .dcg-keypad-control-btn[dcg-command=clear]{width:50px;white-space:nowrap}.dcg-calculator-api-container .dcg-keypad-control-btn[dcg-command=clearall]{width:50px;line-height:inherit;display:flex;align-items:center;justify-content:center}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn{position:relative}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn:after{position:absolute;bottom:0;left:0;right:0;content:\"\";height:0;background:#2f72dc80}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn.dcg-hovered:not(.dcg-selected){color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn.dcg-hovered:not(.dcg-selected):after{height:4px;transition:height .2s}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn.dcg-selected{color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn.dcg-selected:after{height:4px;background:#2f72dc}.dcg-calculator-api-container .dcg-keypad-control-bar .dcg-keypad-control-btn:not(.dcg-disabled).dcg-selectable-btn:first-of-type{margin-left:6px}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-keypad-control-btn{min-width:25px}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-keypad-control-btn[dcg-command=clearall],.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-keypad-control-btn[dcg-command=clear]{width:50px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn{font-size:150%;height:44px;line-height:44px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=clearall],.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=clear]{width:75px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=clearall]{line-height:20px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=settings] i{top:4px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=backspace] i,.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=undo] i,.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-btn[dcg-command=redo] i{top:5px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-selectable-btn{top:4px}.dcg-calculator-api-container .dcg-basic-settings-container{position:relative;flex-grow:1}.dcg-calculator-api-container .dcg-basic-settings-container .dcg-keypad-control-btn.dcg-selected{color:#333;background:#0000001a}.dcg-calculator-api-container .dcg-settings-dropdown{font-size:95%;color:#333;width:280px;position:absolute;bottom:50px;right:5px;-webkit-user-select:none;user-select:none}.dcg-calculator-api-container .dcg-settings-dropdown .dcg-settings-menu-option{cursor:pointer}.dcg-calculator-api-container .dcg-settings-dropdown .dcg-settings-menu-option.dcg-reverse-contrast,.dcg-calculator-api-container .dcg-settings-dropdown .dcg-settings-menu-option.dcg-displaysize-container{margin-bottom:.5em}.dcg-calculator-api-container .dcg-settings-dropdown .dcg-displaysize-large{font-size:150%}.dcg-calculator-api-container .dcg-settings-dropdown .dcg-braille-container{padding-left:26px}.dcg-calculator-api-container .dcg-settings-dropdown .dcg-braille-container .dcg-braille-options-buttons{margin-top:5px}.dcg-calculator-api-container .dcg-settings-dropdown.dcg-popover .dcg-popover-interior{padding:15px;background-color:var(--dcg-custom-background-color, #fff);color:var(--dcg-custom-text-color, #000)}.dcg-calculator-api-container .dcg-settings-dropdown.dcg-popover .dcg-popover-interior:after{content:\"\";position:absolute;bottom:-7px;right:18px;border-width:7px;border-bottom-width:0;border-style:solid;border-color:var(--dcg-custom-background-color, #fff) transparent transparent;line-height:0}.dcg-calculator-api-container .dcg-settings-dropdown.dcg-popover .dcg-popover-interior:before{content:\"\";position:absolute;bottom:-8px;right:17px;border-width:8px;border-bottom-width:0;border-style:solid;border-color:rgba(0,0,0,.2) transparent transparent;line-height:0}.dcg-calculator-api-container .dcg-settings-dropdown.dcg-point-left{position:absolute;top:-30px;left:-280px}.dcg-calculator-api-container .dcg-settings-dropdown.dcg-point-left.dcg-popover .dcg-popover-interior:after{content:\"\";position:absolute;right:-7px;top:43px;border-width:7px;border-right-width:0;border-style:solid;border-color:transparent transparent transparent var(--dcg-custom-background-color, #fff);line-height:0}.dcg-calculator-api-container .dcg-settings-dropdown.dcg-point-left.dcg-popover .dcg-popover-interior:before{content:\"\";position:absolute;right:-8px;top:42px;border-width:8px;border-right-width:0;border-style:solid;border-color:transparent transparent transparent rgba(0,0,0,.2);line-height:0}.dcg-calculator-api-container .dcg-scientific-calculator.dcg-narrow .dcg-settings-dropdown.dcg-popover:not(.dcg-point-left) .dcg-popover-interior:after{right:10px}.dcg-calculator-api-container .dcg-scientific-calculator.dcg-narrow .dcg-settings-dropdown.dcg-popover:not(.dcg-point-left) .dcg-popover-interior:before{right:9px}.dcg-calculator-api-container .dcg-version-number{color:#666;font-size:90%;text-align:center;margin-top:15px}.dcg-calculator-api-container .dcg-download-button.dcg-disabled{pointer-events:none}.dcg-calculator-api-container .dcg-download-button.dcg-primary-link{display:flex;align-items:center;margin-top:5px}.dcg-calculator-api-container .dcg-download-button.dcg-primary-link span{text-decoration:underline}.dcg-calculator-api-container .dcg-download-button.dcg-primary-link .dcg-icon-download{margin-right:10px}.dcg-calculator-api-container .dcg-keypad-control-toggle{display:block;flex-grow:1;line-height:24px;height:25px;margin-top:7px;cursor:pointer;color:#0009;font-size:80%;text-transform:uppercase;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:5px;width:70px;min-width:50px;margin-left:20px;margin-right:20px;position:relative;box-shadow:inset 1px 1px 2px #00000026}.dcg-calculator-api-container .dcg-keypad-control-toggle .dcg-ctrl-toggle-option{text-align:center;display:inline-block;width:50%;font-size:80%}.dcg-calculator-api-container .dcg-keypad-control-toggle .dcg-ctrl-toggle-cover{position:absolute;top:-1px;right:-1px;bottom:-1px;left:50%;border-radius:5px;border:1px solid rgba(0,0,0,.2);transition:transform .2s}.dcg-calculator-api-container .dcg-keypad-control-toggle.dcg-hovered,.dcg-calculator-api-container .dcg-keypad-control-toggle.dcg-hovered .dcg-ctrl-toggle-cover{border-color:#0000004d}.dcg-calculator-api-container .dcg-keypad-control-toggle.dcg-depressed .dcg-ctrl-toggle-cover{border-color:#00000080}.dcg-calculator-api-container .dcg-keypad-control-toggle.dcg-toggled .dcg-ctrl-toggle-cover{transform:translate(-100%)}.dcg-calculator-api-container .dcg-has-background-color .dcg-keypad-control-toggle{background:#ffffff4d}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-keypad-control-toggle{margin-left:5px;margin-right:5px}.dcg-calculator-api-container .dcg-calc-basic-main-wrapper:not(.dcg-narrow) .dcg-projector-mode .dcg-keypad-control-toggle{font-size:150%;min-width:100px;margin:14px 15px 0;height:28px;line-height:26px}.dcg-calculator-api-container .dcg-braille-io-keypad-container{padding-top:4px}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad{color:#666;border-top:1px solid rgba(0,0,0,.2);padding:10px;display:flex}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad a{color:#2f72dc}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad a.dcg-hovered{color:#2253a1}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad a.dcg-depressed{color:#17396e}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-examples-table-container{color:#444;padding:10px 10px 0}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-examples-table-container .dcg-more-examples-link{text-align:center}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-examples-table-container table{margin-bottom:10px;border:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-examples-table-container table th{background:#00000012}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-description{flex:1;display:flex;padding:10px 0 10px 10px}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-description .dcg-braille-title{font-size:130%;color:#333}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-description .dcg-braille-info-text{font-size:95%;margin-bottom:10px;line-height:1.2em}.dcg-calculator-api-container .dcg-braille-io-keypad-container .dcg-braille-io-keypad .dcg-braille-description .dcg-btn-primary{padding:0 12px}.dcg-calculator-api-container .dcg-scientific-calculator .dcg-braille-io-keypad .dcg-braille-description,.dcg-calculator-api-container .dcg-four-function-calculator .dcg-braille-io-keypad .dcg-braille-description{flex-direction:column}.dcg-calculator-api-container .dcg-scientific-calculator .dcg-braille-io-keypad .dcg-braille-description .dcg-braille-title,.dcg-calculator-api-container .dcg-four-function-calculator .dcg-braille-io-keypad .dcg-braille-description .dcg-braille-title{margin-bottom:10px}.dcg-calculator-api-container .dcg-scientific-calculator .dcg-braille-io-keypad .dcg-braille-description .dcg-btn-primary,.dcg-calculator-api-container .dcg-four-function-calculator .dcg-braille-io-keypad .dcg-braille-description .dcg-btn-primary{margin-right:auto}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad{flex-direction:column;text-align:center;align-items:center}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-description{flex-flow:row wrap;justify-content:center;align-items:center;padding:10px}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-description .dcg-braille-title{margin:0 10px}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-description .dcg-btn-primary{order:1;margin-right:0}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-description .dcg-braille-info-text{order:2;width:100%;margin:5px 0 0}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container th,.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container td{padding:2px 5px}.dcg-calculator-api-container .dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container tr:nth-of-type(3){display:none}.dcg-calculator-api-container .dcg-short.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad{height:170px;padding:3px}.dcg-calculator-api-container .dcg-short.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container table{margin-bottom:5px}.dcg-calculator-api-container .dcg-short.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container tr:last-of-type{display:none}.dcg-calculator-api-container .dcg-short.dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad{font-size:90%}.dcg-calculator-api-container .dcg-short.dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-description{padding-bottom:5px}.dcg-calculator-api-container .dcg-short.dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-description .dcg-btn-primary{padding:5px 8px}.dcg-calculator-api-container .dcg-short.dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-more-examples-link{display:none}.dcg-calculator-api-container .dcg-short.dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container{padding-top:0}.dcg-calculator-api-container .dcg-short.dcg-narrow.dcg-calc-basic-main-wrapper .dcg-braille-io-keypad .dcg-braille-examples-table-container td{height:35px}.dcg-calculator-api-container table.dcg-braille-examples-table{border-collapse:collapse}.dcg-calculator-api-container table.dcg-braille-examples-table tr:not(:last-of-type){border-bottom:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container table.dcg-braille-examples-table th{font-family:Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-weight:500}.dcg-calculator-api-container table.dcg-braille-examples-table th,.dcg-calculator-api-container table.dcg-braille-examples-table td{padding:5px 8px}.dcg-calculator-api-container table.dcg-braille-examples-table th:not(:last-of-type),.dcg-calculator-api-container table.dcg-braille-examples-table td:not(:last-of-type){border-right:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container table.dcg-braille-examples-table th:not(:first-of-type),.dcg-calculator-api-container table.dcg-braille-examples-table td:not(:first-of-type){text-align:center}.dcg-calculator-api-container table.dcg-braille-examples-table td{height:45px}.dcg-calculator-api-container table.dcg-braille-examples-table .dcg-braille-font{font-family:Abraham;font-size:110%}.dcg-calculator-api-container table.dcg-braille-examples-table .dcg-key-press{border:1px solid rgba(0,0,0,.2);background:#fff9;border-radius:3px;width:25px;height:25px;line-height:23px;text-align:center;display:inline-block;margin-right:2px;vertical-align:middle}@keyframes dcg-fadePulse{0%{opacity:0;transform:scale(.7)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.dcg-calculator-api-container .dcg-basic-list-container{flex:1;display:flex;flex-direction:column;overflow:auto;border-top:1px solid rgba(0,0,0,.2)}.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list{width:100%}.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list.dcg-projector-mode{font-size:150%}.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list.dcg-projector-mode .dcg-braille-input input,.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list.dcg-projector-mode .dcg-braille-evaluation input{font-size:135%}.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list-placeholder{flex:1;border-right:1px solid rgba(0,0,0,.2);border-left:1px solid rgba(0,0,0,.2);position:relative;overflow:hidden}.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list-placeholder .dcg-answer-hint{transition:opacity 1s;padding:10px 30px 10px 10px;width:200px;opacity:.7;position:absolute;bottom:0;right:0;text-align:right;animation:dcg-fadePulse .3s}.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list-placeholder .dcg-answer-hint i{position:absolute;bottom:10px;right:-5px;font-size:2rem;color:#999}.dcg-calculator-api-container .dcg-inverted-colors .dcg-settings-dropdown .dcg-popover-interior{box-shadow:none}@media screen and (max-height: 350px){.dcg-calculator-api-container .dcg-basic-list-container .dcg-basic-list-placeholder .dcg-answer-hint{width:100%}}@keyframes dcg-delayed-fadeIn{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes dcg-fadeIn{0%{opacity:0}to{opacity:1}}.dcg-calculator-api-container .dcg-container .dcg-basic-expression .dcg-mq-container .dcg-mq-editable-field{width:100%}.dcg-calculator-api-container .dcg-container .dcg-basic-expression .dcg-mq-container .dcg-mq-editable-field:after{position:absolute;top:1px;right:0;bottom:1px}.dcg-calculator-api-container .dcg-basic-expression{min-height:56px;border:1px solid rgba(0,0,0,.2);margin-top:-1px;position:relative;display:flex;align-items:center;width:100%}.dcg-calculator-api-container .dcg-basic-expression:not(:first-of-type){border-top-color:transparent}.dcg-calculator-api-container .dcg-basic-expression.dcg-focused{border-color:#2f72dc;box-shadow:inset 0 0 0 1px #2f72dc;z-index:1}.dcg-calculator-api-container .dcg-basic-expression:first-of-type{margin-top:0}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io{flex-wrap:wrap;padding:2px}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io input{background:transparent}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-mq-math-mode{padding:0}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-input input,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-evaluation input,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error input{border:none;width:100%}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-input input{outline:none}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-evaluation input:focus{outline:1px dotted #000}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error input{border:1px solid transparent}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error input:focus{color:#000;outline:1px dotted #000}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-input input,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-evaluation input{font-family:Abraham,serif;font-size:163%;padding:8px 8px 0}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-basic-expression-error{font-size:140%}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error{position:absolute;top:-.8em;right:0;width:100%}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error textarea{width:100%;text-align:right;color:#666;padding-right:5px;font-size:80%;border:none;resize:none;animation:dcg-delayed-fadeIn 1s}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error textarea:focus{outline:dotted 1px #666;color:#000}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-input,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-evaluation-container,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-mathquill-container,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-output-container{flex:1 1 40%}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-evaluation-container{position:relative}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-evaluation input,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-output-container,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-braille-error{text-align:right}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-mathquill-container{padding:8px}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-mathquill-container,.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-output-container{font-size:90%;color:#666}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-output-container{padding:8px}.dcg-calculator-api-container .dcg-basic-expression.dcg-braille-io .dcg-exp-output-container .dcg-basic-expression-value{padding-right:8px}.dcg-calculator-api-container .dcg-basic-expression .dcg-exp-mathquill-container{flex:1;overflow:hidden;margin-right:1px}.dcg-calculator-api-container .dcg-basic-expression .dcg-exp-mathquill-container .dcg-mq-container{width:100%}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-math-mode{padding:12px 5px 12px 15px;outline:none!important;box-shadow:none!important;border:0}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-error{color:#e66b3c;font-size:130%;cursor:pointer;animation:dcg-delayed-fadeIn 1s;margin-right:15px;height:24px;line-height:24px}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value{animation:dcg-fadeIn .5s;padding-right:5px}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value.dcg-basic-evaluation-gray .dcg-static-mathquill-view{color:#666}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle{font-size:20px;display:inline-block;width:29px;height:29px;border:2px solid #000;opacity:.5;color:#000;text-align:center;border-radius:50%;margin:0 5px}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle i{position:relative;top:2px}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle.dcg-hovered{opacity:.7}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle.dcg-depressed{opacity:.9}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle.dcg-selected{background:#000;opacity:.5;color:#fff}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle.dcg-selected.dcg-hovered{opacity:.7}.dcg-calculator-api-container .dcg-basic-expression .dcg-basic-expression-value .dcg-basic-fraction-toggle.dcg-selected.dcg-depressed{opacity:.9}.dcg-calculator-api-container .dcg-basic-expression .dcg-slider-container{height:40px;width:250px;max-width:100%;padding-right:3px}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-ans{border:2px solid #2f72dc;color:#2f72dc;background-color:#2f72dc26;padding:.2em .4em;display:inline-block;border-radius:4px;margin-right:1px;margin-bottom:2px;min-width:30px;text-align:center;text-overflow:ellipsis;vertical-align:middle;position:relative}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-ans sup{font-size:80%}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-ans:after{box-sizing:border-box;content:\"ans\";position:absolute;bottom:-.5em;left:50%;font-size:60%;width:1.9em;overflow:hidden;text-align:center;margin-left:-.95em;color:#2f72dc;border:1px solid #2f72dc;background:#fff;padding:0;border-radius:3px;height:1em;line-height:.9em}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-ans.dcg-invalid{border-color:#e66b3c;background:#e66b3c1a;color:#e66b3c}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-ans.dcg-invalid i{font-style:normal;font-size:80%}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-ans.dcg-invalid:after{color:#e66b3c;border-color:#e66b3c}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-selection .dcg-mq-ans{background:#2f72dc;color:#fff}.dcg-calculator-api-container .dcg-basic-expression .dcg-mq-selection .dcg-mq-ans.dcg-invalid{background:#e66b3c}.dcg-calculator-api-container .dcg-calc-basic-main.dcg-projector-mode .dcg-mq-ans:after{position:absolute;bottom:-.3em;left:50%;height:.9em;line-height:.8em}.dcg-calculator-api-container .dcg-calc-basic-main.dcg-projector-mode .dcg-basic-expression.dcg-braille-io .dcg-braille-error{font-size:90%}.dcg-calculator-api-container .dcg-api-shared-keypad-root{background-color:#ededed}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-keypad-control-bar{background-color:transparent;border-left-color:transparent;border-right-color:transparent}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-fourfunction-keypad-container .dcg-basic-keypad{max-width:750px}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-fourfunction-keypad-container.dcg-classroom-large-projector-mode .dcg-basic-keypad{max-width:875px}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-scientific-keypad-container.dcg-classroom-large-projector-mode .dcg-basic-keypad{max-width:750px}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-scientific-keypad-container.dcg-classroom-large-projector-mode .dcg-basic-keypad .dcg-keypad-btn,.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-fourfunction-keypad-container.dcg-classroom-large-projector-mode .dcg-basic-keypad .dcg-keypad-btn{position:absolute;top:4px;left:4px;right:4px;bottom:4px}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-basic-keypad,.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-keypad-control-bar-contents{max-width:600px;margin:0 auto}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-keypad-control-btn.dcg-selectable-btn{max-width:70px}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-inline-hide-keypad-button{flex-grow:1;position:relative}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-inline-hide-keypad-button-inner{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;transform:rotate(-90deg);display:flex;justify-content:center;align-items:center}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-hide-keypad-button{height:35px;width:35px;line-height:35px;margin:4px 4px 4px auto;transform:rotate(-90deg)}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-hide-keypad-button .dcg-icon-hide{position:relative;top:2px}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-hide-keypad-button,.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-inline-hide-keypad-button-inner{text-align:center;border-radius:5px;color:#666}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-hide-keypad-button.dcg-hovered,.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-inline-hide-keypad-button-inner.dcg-hovered{color:#000c;background:#0000001a}.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-hide-keypad-button.dcg-depressed,.dcg-calculator-api-container .dcg-api-shared-keypad-root .dcg-inline-hide-keypad-button-inner.dcg-depressed{color:#000;background:#0000002e}\n"; document.getElementsByTagName('head')[0].appendChild(elt); var _Desmos; if ( typeof module === "object" && typeof module.exports === "object" ) { _Desmos = {}; module.exports = _Desmos; } else { _Desmos = (typeof Desmos !== 'undefined') ? Desmos : {}; global.Desmos = _Desmos; } ;(function () { var module = undefined; var exports = undefined; var Desmos = _Desmos; if (!Desmos.config) Desmos.config = {}; if (typeof desmosEnabledFeatures === 'object') Desmos.enabledFeatures = desmosEnabledFeatures; if (typeof desmosLocales === 'object') Desmos.locales = desmosLocales; if (typeof desmosLocaleData === 'object') Desmos.localeData = desmosLocaleData; if (typeof desmosCommit === 'string') Desmos.commit = desmosCommit; if (typeof desmosVersion === 'string') Desmos.version = desmosVersion; (() => { const __dcg_shared_module_source__ = "// shared.js\n (() => {\n const __dcg_chunk_exports__ = {};var u_=Object.create;var Lh=Object.defineProperty;var c_=Object.getOwnPropertyDescriptor;var l_=Object.getOwnPropertyNames;var p_=Object.getPrototypeOf,f_=Object.prototype.hasOwnProperty;var zH=(e=>typeof require!=\"undefined\"?require:typeof Proxy!=\"undefined\"?new Proxy(e,{get:(t,n)=>(typeof require!=\"undefined\"?require:t)[n]}):e)(function(e){if(typeof require!=\"undefined\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var HH=(e,t)=>()=>(e&&(t=e(e=0)),t);var UH=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),No=(e,t)=>{for(var n in t)Lh(e,n,{get:t[n],enumerable:!0})},d_=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of l_(t))!f_.call(e,i)&&i!==n&&Lh(e,i,{get:()=>t[i],enumerable:!(r=c_(t,i))||r.enumerable});return e};var qH=(e,t,n)=>(n=e!=null?u_(p_(e)):{},d_(t||!e||!e.__esModule?Lh(n,\"default\",{value:e,enumerable:!0}):n,e));var $H=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return n=>{for(var r=n.length,i=new Uint8Array((r-(n[r-1]==\"=\")-(n[r-2]==\"=\"))*3/4|0),s=0,o=0;s>4,i[o++]=u<<4|c>>2,i[o++]=c<<6|l}return i}})();var _M=function(){{var e=function(){},t=[\"log\",\"info\",\"warn\",\"error\",\"assert\",\"dir\",\"clear\",\"profile\",\"profileEnd\",\"time\",\"timeEnd\",\"group\",\"groupCollapsed\",\"groupEnd\",\"trace\"],n={},r=function(i){typeof window!=\"undefined\"&&window.console&&window.console[i]?n[i]=function(){Function.prototype.apply.call(window.console[i],window.console,arguments)}:n[i]=e};return t.forEach(r),n}}(),XH=_M,{log:ZH,warn:WH,error:jH,assert:JH,dir:QH,clear:KH,profile:eU,profileEnd:tU,time:nU,timeEnd:rU,group:iU,groupCollapsed:sU,groupEnd:oU,trace:aU}=_M;var jd={};No(jd,{getFrame:()=>PL});function yi(e,t,n){return{input:e,start:t,end:n}}function to(e,t){return yi(e,t,t)}function Kr(e,t){if(e.input!==t.input)throw new Error(\"Programming Error: cannot form a span on different inputs\");return yi(e.input,e.start,t.end)}function Cn(e){return e.input.slice(e.start,e.end)}var aa=()=>({type:\"empty\"}),Xn=()=>m_([-1/0,1/0]),Ao=()=>Xi([-1/0,1/0]),Xi=e=>Ad(e,!0),m_=e=>Ad(e,!1),Ad=(e,t)=>isNaN(e[0])||isNaN(e[1])||e[1]{if(t===0)return e>0?Ao():aa();let n=-e/t,r=t<0?[-1/0,n]:[n,1/0];return Xi(r)},Dn=(e,t)=>{if(gi(e)||gi(t))return aa();let n=[Math.max(e.bounds[0],t.bounds[0]),Math.min(e.bounds[1],t.bounds[1])],r=Yi(e)&&Yi(t);return Ad(n,r)},Dp=(e,t)=>{if(gi(e))return t;if(gi(t))return e;let n=[Math.min(e.bounds[0],t.bounds[0]),Math.max(e.bounds[1],t.bounds[1])],r;return!Yi(e)&&!Yi(t)?r=!1:Yi(e)&&!Yi(t)?r=e.bounds[0]<=t.bounds[0]&&e.bounds[1]>=t.bounds[1]:!Yi(e)&&Yi(t)?r=t.bounds[0]<=e.bounds[0]&&t.bounds[1]>=e.bounds[1]:r=e.bounds[0]<=t.bounds[1]&&t.bounds[0]<=e.bounds[1],Ad(n,r)},wM=(e,t,n)=>{if(gi(e))return n;let r=Dn(e,t);return Yi(e)?(e.bounds[0]>-1/0&&(r=Dp(r,Dn(Xi([-1/0,e.bounds[0]]),n))),e.bounds[1]<1/0&&(r=Dp(r,Dn(Xi([e.bounds[1],1/0]),n)))):r=Dp(r,Dn(n,Xn())),r};var Oe={};No(Oe,{Action:()=>rt,AngleMarker:()=>Ge,Any:()=>Ht,Arc:()=>ce,Bool:()=>ge,Circle:()=>pe,DirectedAngleMarker:()=>Ae,Distribution:()=>St,EmptyList:()=>We,ErrorType:()=>no,Line:()=>fe,ListOfAngleMarker:()=>gn,ListOfAny:()=>sn,ListOfArc:()=>Vn,ListOfBool:()=>Ln,ListOfCircle:()=>Fn,ListOfColor:()=>Zn,ListOfDirectedAngleMarker:()=>hn,ListOfDistribution:()=>wn,ListOfLine:()=>Bn,ListOfMapInterval2DPoint:()=>Or,ListOfMapInterval2DPoint3D:()=>Cr,ListOfMapIntervalPoint:()=>Dr,ListOfMapIntervalPoint3D:()=>Sr,ListOfNumber:()=>se,ListOfPoint:()=>Pt,ListOfPoint3D:()=>Kn,ListOfPolygon:()=>Rn,ListOfRay:()=>Gn,ListOfRestriction:()=>Hr,ListOfSegment:()=>Tn,ListOfSegment3D:()=>er,ListOfSphere3D:()=>yr,ListOfTone:()=>Ur,ListOfTransformation:()=>mr,ListOfTriangle3D:()=>tr,ListOfVector:()=>kn,ListOfVector3D:()=>nr,MapInterval2DPoint:()=>sr,MapInterval2DPoint3D:()=>or,MapIntervalPoint:()=>Wn,MapIntervalPoint3D:()=>jn,Number:()=>T,Point:()=>R,Point3D:()=>V,Polygon:()=>Be,RGBColor:()=>Ut,Ray:()=>Le,Restriction:()=>Vt,SeedType:()=>ot,Segment:()=>Ie,Segment3D:()=>Nt,Sphere3D:()=>Nn,Tone:()=>mn,Transformation:()=>Ue,Triangle3D:()=>In,Vector:()=>he,Vector3D:()=>Se,allListTypes:()=>Zi,allValueTypes:()=>y_,argTypeAtIndex:()=>Uu,assertTypeIsOneOf:()=>Op,broadcastable:()=>ti,broadcastableArg:()=>Hu,commonCoerceableTypeWithBroadcast:()=>ua,elementType:()=>ke,getAllowedTypesForArg:()=>Np,hasListType:()=>ei,hasMapType:()=>Gh,isGeometryType:()=>Sp,isList:()=>W,isMapOrListOfMap:()=>ca,isOneOf:()=>Wc,isSubType:()=>ro,isSubTypeOrCoercible:()=>zr,isTypeOrListOfType:()=>oe,isValidOnLogScales:()=>Zc,listType:()=>ar,mapType:()=>kh,maxArity:()=>Cp,minArity:()=>Ga,prettyPrint:()=>ne,repr:()=>on,straightTypes:()=>_d,summableElementTypes:()=>Vh,typeSatisfiesArgType:()=>zh,typeSatisfiesArgTypeUncoerced:()=>Rp,valueTypes:()=>VM,vectorTypes:()=>Bh});function S(e,t){return{key:e,vars:t}}var Ht=0,T=1,ge=2,R=3,St=4,rt=5,sn=6,se=7,Ln=8,Pt=9,wn=10,We=11,no=12,ot=13,Ut=14,Zn=15,Be=16,Rn=17,Ie=18,Tn=19,pe=20,Fn=21,ce=22,Vn=23,fe=24,Bn=25,Le=26,Gn=27,Ge=28,gn=29,Ae=30,hn=31,Ue=32,mr=33,he=34,kn=35,Vt=36,Hr=37,mn=50,Ur=51,V=100,Kn=101,Nt=102,er=103,In=104,tr=105,Nn=106,yr=107,Se=108,nr=109,Wn=200,jn=201,sr=202,or=203,Dr=204,Sr=205,Or=206,Cr=207,VM={Any:Ht,Number:T,Bool:ge,Point:R,Point3D:V,Distribution:St,Action:rt,ListOfAny:sn,ListOfNumber:se,ListOfBool:Ln,ListOfPoint:Pt,ListOfPoint3D:Kn,ListOfDistribution:wn,EmptyList:We,ErrorType:no,SeedType:ot,RGBColor:Ut,ListOfColor:Zn,Polygon:Be,ListOfPolygon:Rn,Segment:Ie,ListOfSegment:Tn,Circle:pe,ListOfCircle:Fn,Arc:ce,ListOfArc:Vn,Line:fe,ListOfLine:Bn,Ray:Le,ListOfRay:Gn,Vector:he,ListOfVector:kn,Restriction:Vt,ListOfRestriction:Hr,AngleMarker:Ge,ListOfAngleMarker:gn,DirectedAngleMarker:Ae,ListOfDirectedAngleMarker:hn,Transformation:Ue,ListOfTransformation:mr,Segment3D:Nt,ListOfSegment3D:er,Triangle3D:In,ListOfTriangle3D:tr,Sphere3D:Nn,ListOfSphere3D:yr,Vector3D:Se,ListOfVector3D:nr,Tone:mn,ListOfTone:Ur,MapIntervalPoint:Wn,MapIntervalPoint3D:jn,MapInterval2ToPoint:sr,MapInterval2DPoint3D:or,ListOfMapIntervalPoint:Dr,ListOfMapIntervalPoint3D:Sr,ListOfMapInterval2ToPoint:Or,ListOfMapInterval2DPoint3D:Cr},y_=Object.values(VM);function on(e){switch(e){case Ht:return\"Any\";case T:return\"Number\";case ge:return\"Bool\";case R:return\"Point\";case V:return\"Point3D\";case St:return\"Distribution\";case rt:return\"Action\";case sn:return\"ListOfAny\";case se:return\"ListOfNumber\";case Ln:return\"ListOfBool\";case Pt:return\"ListOfPoint\";case Kn:return\"ListOfPoint3D\";case wn:return\"ListOfDistribution\";case We:return\"EmptyList\";case no:return\"ErrorType\";case ot:return\"SeedType\";case Ut:return\"RGBColor\";case Zn:return\"ListOfColor\";case Be:return\"Polygon\";case Rn:return\"ListOfPolygon\";case Ie:return\"Segment\";case Tn:return\"ListOfSegment\";case pe:return\"Circle\";case Fn:return\"ListOfCircle\";case ce:return\"Arc\";case Vn:return\"ListOfArc\";case fe:return\"Line\";case Bn:return\"ListOfLine\";case Le:return\"Ray\";case Gn:return\"ListOfRay\";case he:return\"Vector\";case kn:return\"ListOfVector\";case Vt:return\"Restriction\";case Hr:return\"ListOfRestriction\";case Ge:return\"Angle\";case gn:return\"ListOfAngle\";case Ae:return\"DirectedAngle\";case hn:return\"ListOfDirectedAngle\";case Ue:return\"Transformation\";case mr:return\"ListOfTransformation\";case Nt:return\"Segment3D\";case er:return\"ListOfSegment3D\";case Se:return\"Vector3D\";case nr:return\"ListOfVector3D\";case In:return\"Triangle3D\";case tr:return\"ListOfTriangle3D\";case Nn:return\"Sphere3D\";case yr:return\"ListOfSphere3D\";case mn:return\"Tone\";case Ur:return\"ListOfTone\";case Wn:return\"MapIntervalPoint\";case jn:return\"MapIntervalPoint3D\";case sr:return\"MapInterval2ToPoint\";case or:return\"MapInterval2DPoint3D\";case Dr:return\"ListOfMapIntervalPoint\";case Sr:return\"ListOfMapIntervalPoint3D\";case Or:return\"ListOfMapInterval2ToPoint\";case Cr:return\"ListOfMapInterval2DPoint3D\";default:let t=e;throw new Error(`Invalid type: ${t}`)}}function ne(e){switch(e){case Ht:return S(\"shared-calculator-label-value-type-any\");case T:return S(\"shared-calculator-label-value-type-number\");case ge:return S(\"shared-calculator-label-value-type-bool\");case R:return S(\"shared-calculator-label-value-type-point\");case V:return S(\"shared-calculator-label-value-type-point3d\");case St:return S(\"shared-calculator-label-value-type-distribution\");case rt:return S(\"shared-calculator-label-value-type-action\");case sn:return S(\"shared-calculator-label-value-type-list-of-any\");case se:return S(\"shared-calculator-label-value-type-list-of-numbers\");case Ln:return S(\"shared-calculator-label-value-type-list-of-bool\");case Pt:return S(\"shared-calculator-label-value-type-list-of-points\");case Kn:return S(\"shared-calculator-label-value-type-list-of-3d-points\");case wn:return S(\"shared-calculator-label-value-type-list-of-distributions\");case We:return S(\"shared-calculator-label-value-type-empty-list\");case no:return S(\"shared-calculator-label-value-type-error\");case ot:return S(\"shared-calculator-label-value-type-seed\");case Ut:return S(\"shared-calculator-label-value-type-color\");case Zn:return S(\"shared-calculator-label-value-type-list-of-colors\");case Be:return S(\"shared-calculator-label-value-type-polygon\");case Rn:return S(\"shared-calculator-label-value-type-list-of-polygons\");case Ie:return S(\"shared-calculator-label-value-type-segment\");case Tn:return S(\"shared-calculator-label-value-type-list-of-segments\");case pe:return S(\"shared-calculator-label-value-type-circle\");case Fn:return S(\"shared-calculator-label-value-type-list-of-circles\");case ce:return S(\"shared-calculator-label-value-type-arc\");case Vn:return S(\"shared-calculator-label-value-type-list-of-arcs\");case fe:return S(\"shared-calculator-label-value-type-line\");case Bn:return S(\"shared-calculator-label-value-type-list-of-lines\");case Le:return S(\"shared-calculator-label-value-type-ray\");case Gn:return S(\"shared-calculator-label-value-type-list-of-rays\");case he:return S(\"shared-calculator-label-value-type-vector\");case kn:return S(\"shared-calculator-label-value-type-list-of-vectors\");case Vt:return S(\"shared-calculator-label-value-type-restriction\");case Hr:return S(\"shared-calculator-label-value-type-list-of-restrictions\");case Ge:return S(\"shared-calculator-label-value-type-angle\");case gn:return S(\"shared-calculator-label-value-type-list-of-angles\");case Ae:return S(\"shared-calculator-label-value-type-directed-angle\");case hn:return S(\"shared-calculator-label-value-type-list-of-directed-angles\");case Ue:return S(\"shared-calculator-label-value-type-transformation\");case mr:return S(\"shared-calculator-label-value-type-list-of-transformations\");case Nt:return S(\"shared-calculator-label-value-type-segment3d\");case er:return S(\"shared-calculator-label-value-type-list-of-segment3d\");case Se:return S(\"shared-calculator-label-value-type-vector3d\");case nr:return S(\"shared-calculator-label-value-type-list-of-vector3d\");case In:return S(\"shared-calculator-label-value-type-triangle3d\");case tr:return S(\"shared-calculator-label-value-type-list-of-triangle3d\");case Nn:return S(\"shared-calculator-label-value-type-sphere3d\");case yr:return S(\"shared-calculator-label-value-type-list-of-sphere3d\");case mn:return S(\"shared-calculator-label-value-type-tone\");case Ur:return S(\"shared-calculator-label-value-type-list-of-tone\");case Wn:case sr:return S(\"shared-calculator-label-value-type-lambda-point\");case jn:case or:return S(\"shared-calculator-label-value-type-lambda-point3d\");case Dr:case Or:return S(\"shared-calculator-label-value-type-list-of-lambda-point\");case Sr:case Cr:return S(\"shared-calculator-label-value-type-list-of-lambda-point3d\");default:let t=e;throw new Error(`Invalid type: ${t}`)}}var Zi=[sn,se,Ln,Hr,Pt,Kn,wn,We,Zn,Rn,Tn,Fn,Vn,Bn,Gn,kn,gn,hn,mr,er,nr,tr,yr,Ur,Dr,Sr,Or,Cr],cU={[sn]:Ht,[We]:T,[se]:T,[Ln]:ge,[Hr]:Vt,[Pt]:R,[Kn]:V,[wn]:St,[Zn]:Ut,[Rn]:Be,[Tn]:Ie,[Fn]:pe,[Vn]:ce,[Bn]:fe,[Gn]:Le,[kn]:he,[gn]:Ge,[hn]:Ae,[mr]:Ue,[er]:Nt,[nr]:Se,[tr]:In,[yr]:Nn,[Ur]:mn,[Dr]:Wn,[Sr]:jn,[Or]:sr,[Cr]:or};function W(e){switch(e){case void 0:return!1;case sn:case se:case Ln:case Hr:case Pt:case Kn:case wn:case Zn:case Rn:case Tn:case Fn:case Vn:case Bn:case Gn:case kn:case gn:case hn:case mr:case er:case nr:case tr:case yr:case Ur:case Dr:case Sr:case Or:case Cr:return!0;case We:return!0;case Ht:case T:case ge:case Vt:case R:case V:case St:case no:case ot:case Ut:case rt:case Be:case Ie:case pe:case ce:case fe:case Le:case he:case Ge:case Ae:case Ue:case Nt:case Se:case In:case mn:case Nn:case Wn:case jn:case sr:case or:return!1;default:throw new Error(`Invalid type: ${e}`)}}function ke(e){switch(e){case We:case se:return T;case Ln:return ge;case Hr:return Vt;case Pt:return R;case Kn:return V;case wn:return St;case Zn:return Ut;case Rn:return Be;case er:return Nt;case nr:return Se;case tr:return In;case yr:return Nn;case sn:return Ht;case Tn:return Ie;case Fn:return pe;case Vn:return ce;case Bn:return fe;case Gn:return Le;case kn:return he;case gn:return Ge;case hn:return Ae;case mr:return Ue;case Ur:return mn;case Dr:return Wn;case Sr:return jn;case Or:return sr;case Cr:return or;case Ht:case T:case ge:case R:case V:case St:case no:case ot:case Ut:case rt:case Be:case Ie:case pe:case ce:case fe:case Le:case he:case Vt:case Ge:case Ae:case Ue:case Nt:case Se:case In:case Nn:case mn:case Wn:case jn:case sr:case or:throw new Error(\"Type \"+on(e)+\" does not implement elementType.\");default:let t=e;throw new Error(`Invalid type: ${t}`)}}function ar(e){switch(e){case Ht:return sn;case T:return se;case ge:return Ln;case Vt:return Hr;case R:return Pt;case V:return Kn;case St:return wn;case Ut:return Zn;case Be:return Rn;case Ie:return Tn;case pe:return Fn;case ce:return Vn;case fe:return Bn;case Le:return Gn;case he:return kn;case Ge:return gn;case Ae:return hn;case Ue:return mr;case Nt:return er;case Se:return nr;case In:return tr;case Nn:return yr;case mn:return Ur;case Wn:return Dr;case jn:return Sr;case sr:return Or;case or:return Cr;case We:case se:case Ln:case Hr:case Pt:case Kn:case wn:case Zn:case Rn:case Tn:case Fn:case Vn:case Bn:case Gn:case kn:case gn:case hn:case mr:case er:case nr:case tr:case yr:case sn:case Ur:case no:case ot:case rt:case Dr:case Sr:case Or:case Cr:throw new Error(\"Type \"+on(e)+\" does not implement listType.\");default:let t=e;throw new Error(`Invalid type: ${t}`)}}function ei(e){switch(e){case Ht:case T:case ge:case Vt:case R:case V:case St:case Ut:case Be:case Ie:case pe:case ce:case fe:case Le:case he:case Ge:case Ae:case Ue:case Nt:case Se:case In:case Nn:case mn:case Wn:case jn:case sr:case or:return!0;case We:case se:case Ln:case Hr:case Pt:case Kn:case wn:case Zn:case Rn:case Tn:case Fn:case Vn:case Bn:case Gn:case kn:case gn:case hn:case mr:case er:case nr:case tr:case yr:case sn:case Ur:case Dr:case Sr:case Or:case Cr:case ot:case rt:case no:return!1;default:throw new Error(`Invalid type: ${e}`)}}function Sp(e){if(e===void 0)return!1;switch(e){case R:case Be:case Ie:case pe:case ce:case fe:case Le:case he:case Ge:case Ae:case Ue:return!0;default:return!1}}function Zc(e){switch(e){case T:case Ht:case ge:case Vt:case R:case St:case rt:case sn:case se:case Ln:case Hr:case Pt:case wn:case We:case no:case ot:case Ut:case Zn:case mn:case Ur:return!0;case V:case Kn:case Nt:case er:case Se:case nr:case In:case tr:case Nn:case yr:case Be:case Rn:case Ie:case Tn:case pe:case Fn:case ce:case Vn:case fe:case Bn:case Le:case Gn:case he:case kn:case Ge:case gn:case Ae:case hn:case Ue:case mr:case Wn:case jn:case sr:case or:case Dr:case Sr:case Or:case Cr:return!1;default:let t=e;throw new Error(`Invalid type: ${t}`)}}function Wc(e,t){for(let n of t)if(e===n)return!0;return!1}function ro(e,t){return e===We&&W(t)||t===sn&&W(e)||t===Ht&&!W(e)?!0:e===t}function zr(e,t){return!!(ro(e,t)||t===g_(e))}function g_(e){switch(e){case Ge:case Ae:case Vt:return T;case gn:case hn:case Hr:return se;default:return}}function FM(e){switch(e){case Vt:return T;case Hr:return se;default:return e}}function Fh(e,t){var n,r;if(zr(e,t))return t;if(zr(t,e))return e;if(e=(n=FM(e))!=null?n:e,t=(r=FM(t))!=null?r:t,zr(e,t))return t;if(zr(t,e))return e}function ua(e,t){return W(e)&&ei(t)?Fh(e,ar(t)):ei(e)&&W(t)?Fh(ar(e),t):Fh(e,t)}var Vh=[T,R,V],_d=[fe,Le,Ie,he],Bh={meta:\"union\",types:[he,Se]};function oe(e,t){return e===t?!0:W(e)?e===We?!0:ke(e)===t:!1}function ca(e){return Wc(e,[Wn,jn,sr,or,Dr,Sr,Or,Cr])}var h_={[R]:Wn,[V]:jn},b_={[R]:sr,[V]:or};function Gh(e){return Wc(e,[R,V])}function kh(e,t){if(e!==R&&e!==V)throw new Error(`Unexpected return type for map: ${on(e)}`);return t===1?h_[e]:b_[e]}function Op(e,t){if(!Wc(e,t))throw new Error(`Programming error: expected one of ${t.map(ne)} but found ${e} instead.`)}function Ga(e){return Array.isArray(e)?e.length:e.initial.length}function Cp(e){return Array.isArray(e)?e.length:1/0}function Hu(e){if(typeof e==\"number\")return ei(e)?{meta:\"union\",types:[e,ar(e)]}:e;let t=[];for(let n of e.types){let r=Hu(n);typeof r==\"number\"?t.push(r):t.push(...r.types)}return{meta:\"union\",types:t}}function ti(e){return Array.isArray(e)?e.map(Hu):{type:\"variadic\",initial:e.initial.map(Hu),rest:Hu(e.rest)}}function zh(e,t){return typeof t==\"number\"?zr(e,t):t.types.some(n=>zr(e,n))}function Rp(e,t){return typeof t==\"number\"?ro(e,t):t.types.some(n=>ro(e,n))}function Uu(e,t){return Array.isArray(e)?t>e.length-1?void 0:e[t]:t=r.length)continue;i=BM(r[t])}else i=BM(t-1}getExports(t){var n=this._exports||[];if(this.userData&&\"id\"in this.userData){var r=this.userData.id;n=n.concat([\"idref_\"+r])}return t.ansEnabled()&&(n=n.concat(this.getAnsVariable())),n}getLegalExports(t){return this.getExports(t).filter(function(n){return!t.assignmentForbidden(n)})}exportsSymbol(t){return this._exports.indexOf(t)>-1}exportTo(t,n,r){for(var i=this.getLegalExports(t),s=0;ss!=\"t\"):!i.includes(\"t\")&&(i.includes(\"u\")||i.includes(\"v\"))?i.filter(s=>s!=\"u\"&&s!=\"v\"):i:i.filter(function(s){return!t.validParametricVariable(s)}):i}getCompiledDerivative(){var t=this.getDependencies(),r=this.takeDerivative(t[0]||\"x\");return r.getCompiledFunction()}asValue(){}boundDomain(t){return Xn()}getCursorContext(){}polynomialOrder(t){}getPolynomialCoefficients(t){}asTypedValue(){}substitute(t){}getExpressionType(t,n){}tableInfo(t,n){}analyzeFourFunction(t,n,r){}analyzeScientific(t,n,r){}analyzeSingleExpressionScientific(t,n,r){}getGraphMode(t,n){}};var j=class extends Tt{constructor(t,n){if(!Array.isArray(t))throw new TypeError(\"Argument to expression constructor must be an Array.\");super(),this.args=t,(!n||!n.skipRegisterDependencies)&&this.registerDependencies()}shouldExportAns(){return!0}registerDependencies(){for(var t=0;tt||(r=i,s=o,i=a,o=u,e===n));)e=1/(e-n);return{n:i,d:o}}function GM(e,t,n){if(e=jc(e),n>0){let r=jc(t);return e=0?Math.atan(t/e):Math.atan(t/e)+Math.PI}var as=Math.hypot;function pa(e,t){return e>0==t>0?e+.5*(t-e):.5*(e+t)}function P_(e,t,n,r,i,s){return e*r+t*i+n*s}function Rs(e,t,n,r,i,s,o,a,u){let c=as(o-r,a-i,u-s);return c===0?0:P_((e-r)/c,(t-i)/c,(n-s)/c,(o-r)/c,(a-i)/c,(u-s)/c)}function T_(e,t,n,r,i,s){let o=Rs(e,t,0,n,r,0,i,s,0);return o<=0?[n,r]:o>=1?[i,s]:[n+o*(i-n),r+o*(s-r)]}function I_(e,t,n,r,i,s,o,a,u){let c=Rs(e,t,n,r,i,s,o,a,u);return c<=0?[r,i,s]:c>=1?[o,a,u]:[r+c*(o-r),i+c*(a-i),s+c*(u-s)]}function IU(e,t,n,r,i,s,o,a){let u=Rs(e,t,0,n,r,0,i,s,0);return u<=0&&!o?[n,r]:u>=1&&!a?[i,s]:[n+u*(i-n),r+u*(s-r)]}function kM(e,t,n,r,i,s){let o=T_(e,t,n,r,i,s);return as(e-o[0],t-o[1])}function zM(e,t,n,r,i,s,o,a,u){let c=I_(e,t,n,r,i,s,o,a,u);return as(e-c[0],t-c[1],n-c[2])}function EU(e,t,n,r,i,s,o){var a=Math.atan2(t-r,e-n);if(Ld(a,s,o-s))return[i*Math.cos(a)+n,i*Math.sin(a)+r]}function Li(e,t,n=1){if(e===t)return!0;if(!isFinite(e)||!isFinite(t))return!1;if(n>50)throw new Error(\"Within \"+(52-n)+\" bits isn't really approximate any more\");let r=Math.max(Math.max(Math.abs(e),Math.abs(t)),1),i=n===1?.5:Math.pow(.5,n);return r===r+i*Math.abs(t-e)}function MU(e){return Math.round(e-.5)+.5}function qu(e,t){if(isNaN(e)||isNaN(t))return NaN;if(e=Math.round(e),t=Math.round(t),e<0&&(e=-e),t<0&&(t=-t),t>e){let r=t;t=e,e=r}if(t===0)return e;let n=e%t;for(;n>0;)e=t,t=n,n=e%t;return t}function $u(e,t){if(!isFinite(e)&&t===0)return NaN;if(e>=0||t===Math.floor(t))return Math.pow(e,t);let n=la(t,100);return Li(n.n/n.d,t,2)&&n.d%2===1?(n.n%2===0?1:-1)*Math.pow(-e,t):NaN}function Jc(e,t){return{n:e,d:t}}function En(e){return typeof e==\"object\"&&typeof e.n==\"number\"&&typeof e.d==\"number\"}var Ap=Math.pow(2,53)-1;function Yu(e){let t=e.match(/^(-)?(\\d*)?(?:\\.(\\d*))?$/);if(!t)return NaN;let n=t[1],r=t[2],i=t[3];if(!r&&!i)return NaN;let s=!!n;if(i){let o=i.replace(/0+$/,\"\"),a=o.length,u=Math.pow(10,a),c=parseInt(r||\"0\",10)*u+parseInt(o||\"0\",10);return c>Ap||u>Ap?parseFloat(e):De(s?-c:c,u)}else{let o=parseInt(r,10);return o>Ap?parseFloat(e):De(s?-o:o,1)}}function q(e){return En(e)?e.n/e.d:+e}function Wi(e){return En(e)?!1:isNaN(e)}function De(e,t){if(!isFinite(e)||!isFinite(t)||t===0||Math.floor(e)!==e||Math.floor(t)!==t||Math.abs(e)>Ap||Math.abs(t)>Ap)return e/t;t<0&&(e=-e,t=-t);let n=qu(e,t);return Jc(e/n,t/n)}function hi(e){return En(e)?Jc(-e.n,e.d):-e}function HM(e){return En(e)?Jc(Math.abs(e.n),Math.abs(e.d)):Math.abs(e)}function _p(e){return En(e)?e.n===0?e.d/e.n:Jc(e.n<0?-e.d:e.d,Math.abs(e.n)):1/e}function us(e,t){if(!En(e)||!En(t))return q(e)+q(t);var n=qu(e.d,t.d);return De(e.n*(t.d/n)+t.n*(e.d/n),e.d/n*t.d)}function cs(e,t){if(!En(e)||!En(t))return q(e)*q(t);var n=qu(e.n,t.d),r=qu(t.n,e.d);return De(e.n/n*(t.n/r),e.d/r*(t.d/n))}function ji(e,t){return us(e,hi(t))}function Ji(e,t){return!En(e)||!En(t)?q(e)/q(t):cs(e,_p(t))}function M_(e,t){let n=e,r=t;if(t.n<0&&(r=hi(t),n=_p(e)),!En(n)||!En(r))return $u(q(e),q(t));if(e=n,t=r,t.d===1)return De(Math.pow(e.n,t.n),Math.pow(e.d,t.n));let i=e.n<0;if(i&&t.d%2!==1)return NaN;let o=(i?-1:1)*Math.round(Math.pow(Math.abs(e.n),1/t.d)),a=Math.round(Math.pow(Math.abs(e.d),1/t.d));return Math.pow(o,t.d)!==e.n||Math.pow(a,t.d)!==e.d?$u(q(e),q(t)):De(Math.pow(o,t.n),Math.pow(a,t.n))}function Hh(e,t){if(!En(e)||!En(t))return $u(q(e),q(t));let n=M_(e,t);return En(n)?n:$u(q(e),q(t))}function UM(e){if(!En(e))return Math.sqrt(e);let t=Math.round(Math.sqrt(e.n)),n=Math.round(Math.sqrt(e.d));return t*t!==e.n||n*n!==e.d?Math.sqrt(q(e)):De(t,n)}function wd(e,t){return Hh(e,_p(t))}function qM(e,t){if(!En(e)||!En(t)){let n=q(e),r=q(t);return n-r*Math.floor(n/r)}return ji(e,cs(t,Jc(Math.floor(q(Ji(e,t))),1)))}function $M(e){let t=Jc(0,1);for(let n of e)t=us(t,n);return t}var Zt=class extends j{constructor(n){super([]);this.isConstant=!0;typeof n==\"number\"&&(n=De(n,1)),this._constantValue=n}asValue(){let n=this._constantValue;return typeof n==\"boolean\"?n:q(n)}asCompilerValue(){return this._constantValue}scalarExprString(){return this.asValue()>0?String(this.asValue()):\"(\"+String(this.asValue())+\")\"}getEvaluationInfo(){return[{val:this.asValue()}]}isNaN(){let n=this.asValue();return typeof n==\"number\"&&isNaN(n)}};var da={};No(da,{INCREASED_PRECISION_CONFIG:()=>pL,LEGACY_PRECISION_CONFIG:()=>lL,canDisplayAsFraction:()=>xv,formatSymbol:()=>X,geoParentToLatex:()=>dL,identifierToHTML:()=>mL,identifierToLatex:()=>ur,latexToIdentifier:()=>Lo,numericLabel:()=>qd,point:()=>sL,removeSpaces:()=>yL,trimLatex:()=>wo,truncatedHTMLLabel:()=>fL,truncatedLatexLabel:()=>Qh,truncatedPlainmathLabel:()=>$d,value:()=>jh});var Fd=typeof self==\"object\"&&self.self===self&&self||typeof global==\"object\"&&global.global===global&&global||Function(\"return this\")()||{},Gd=Array.prototype,$h=Object.prototype,YM=typeof Symbol!=\"undefined\"?Symbol.prototype:null,OU=Gd.push,QM=Gd.slice,Vd=$h.toString,v_=$h.hasOwnProperty,D_=Array.isArray,XM=Object.keys,ZM=Object.create,KM=Fd.isNaN,S_=Fd.isFinite,Uh=function(){};function gr(e){if(e instanceof gr)return e;if(!(this instanceof gr))return new gr(e);this._wrapped=e}var CU=gr.VERSION=\"1.10.2\";function kd(e,t,n){if(t===void 0)return e;switch(n==null?3:n){case 1:return function(r){return e.call(t,r)};case 3:return function(r,i,s){return e.call(t,r,i,s)};case 4:return function(r,i,s,o){return e.call(t,r,i,s,o)}}return function(){return e.apply(t,arguments)}}function ev(e,t,n){return e==null?tL:fa(e)?kd(e,t,n):nl(e)&&!tl(e)?nL(e):fv(e)}gr.iteratee=tv;function tv(e,t){return ev(e,t,1/0)}function io(e,t,n){return gr.iteratee!==tv?gr.iteratee(e,t):ev(e,t,n)}function ls(e,t){return t=t==null?e.length-1:+t,function(){for(var n=Math.max(arguments.length-t,0),r=Array(n),i=0;i=0&&t<=C_}function el(e,t,n){t=kd(t,n);var r,i;if(ps(e))for(r=0,i=e.length;r0?0:a-1;for(s||(i=n[o?o[u]:u],u+=e);u>=0&&u=3;return t(n,kd(r,s,4),i,o)}}var RU=iv(1),NU=iv(-1);function R_(e,t,n){var r=[];return t=io(t,n),el(e,function(i,s,o){t(i,s,o)&&r.push(i)}),r}function AU(e,t,n){t=io(t,n);for(var r=!ps(e)&&bi(e),i=(r||e).length,s=0;s=0}var LU=ls(function(e,t,n){var r,i;return fa(t)?i=t:tl(t)&&(r=t.slice(0,-1),t=t[t.length-1]),zd(e,function(s){var o=i;if(!o){if(r&&r.length&&(s=rv(s,r)),s==null)return;o=s[t]}return o==null?o:o.apply(s,n)})});function sv(e,t){return zd(e,fv(t))}function N_(e,t,n){var r=-1/0,i=-1/0,s,o;if(t==null||typeof t==\"number\"&&typeof e[0]!=\"object\"&&e!=null){e=ps(e)?e:Lp(e);for(var a=0,u=e.length;ar&&(r=s)}else t=io(t,n),el(e,function(c,l,p){o=t(c,l,p),(o>i||o===-1/0&&r===-1/0)&&(r=c,i=o)});return r}function wU(e,t,n){var r=1/0,i=1/0,s,o;if(t==null||typeof t==\"number\"&&typeof e[0]!=\"object\"&&e!=null){e=ps(e)?e:Lp(e);for(var a=0,u=e.length;aa||o===void 0)return 1;if(o0?0:i-1;s>=0&&s0?o=s>=0?s:Math.max(s+a,o):a=s>=0?Math.min(s+1,a):s+a+1;else if(n&&s&&a)return s=n(r,i),r[s]===i?s:-1;if(i!==i)return s=t(QM.call(r,o,a),K_),s>=0?s+o:-1;for(s=e>0?o:a-1;s>=0&&st?(r&&(clearTimeout(r),r=null),a=l,o=e.apply(i,s),r||(i=s=null)):!r&&n.trailing!==!1&&(r=setTimeout(u,p)),o};return c.cancel=function(){clearTimeout(r),a=0,r=i=s=null},c}function QU(e,t,n){var r,i,s=function(a,u){r=null,u&&(i=e.apply(a,u))},o=ls(function(a){if(r&&clearTimeout(r),n){var u=!r;r=setTimeout(s,t),u&&(i=e.apply(this,a))}else r=cv(s,t,this,a);return i});return o.cancel=function(){clearTimeout(r),r=null},o}function G_(e){return function(){return!e.apply(this,arguments)}}function k_(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}}var KU=Ud(k_,2),lv=!{toString:null}.propertyIsEnumerable(\"toString\"),WM=[\"valueOf\",\"isPrototypeOf\",\"toString\",\"propertyIsEnumerable\",\"hasOwnProperty\",\"toLocaleString\"];function pv(e,t){var n=WM.length,r=e.constructor,i=fa(r)&&r.prototype||$h,s=\"constructor\";for(Kc(e,s)&&!Qc(t,s)&&t.push(s);n--;)s=WM[n],s in e&&e[s]!==i[s]&&!Qc(t,s)&&t.push(s)}function bi(e){if(!nl(e))return[];if(XM)return XM(e);var t=[];for(var n in e)Kc(e,n)&&t.push(n);return lv&&pv(e,t),t}function Xh(e){if(!nl(e))return[];var t=[];for(var n in e)t.push(n);return lv&&pv(e,t),t}function Lp(e){for(var t=bi(e),n=t.length,r=Array(n),i=0;i1&&(r=kd(r,t[1])),t=Xh(e)):(r=q_,t=Xu(t,!1,!1),e=Object(e));for(var i=0,s=t.length;i1&&(r=t[1])):(t=zd(Xu(t,!1,!1),String),n=function(i,s){return!Qc(t,s)}),$_(e,n,r)}),t8=Zh(Xh,!0);function Y_(e){return nl(e)?tl(e)?e.slice():H_({},e):e}function X_(e,t){var n=bi(t),r=n.length;if(e==null)return!r;for(var i=Object(e),s=0;s\":\">\",'\"':\""\",\"'\":\"'\",\"`\":\"`\"},rL=z_(dv);function mv(e){var t=function(s){return e[s]},n=\"(?:\"+bi(e).join(\"|\")+\")\",r=RegExp(n),i=RegExp(n,\"g\");return function(s){return s=s==null?\"\":\"\"+s,r.test(s)?s.replace(i,t):s}}var yv=mv(dv),p8=mv(rL);var iL=0;function f8(e){var t=++iL+\"\";return e?e+t:t}var d8=gr.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};function gv(e,t){return e._chain?gr(t).chain():t}el([\"pop\",\"push\",\"reverse\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=Gd[e];gr.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e===\"shift\"||e===\"splice\")&&n.length===0&&delete n[0],gv(this,n)}});el([\"concat\",\"join\",\"slice\"],function(e){var t=Gd[e];gr.prototype[e]=function(){return gv(this,t.apply(this._wrapped,arguments))}});gr.prototype.value=function(){return this._wrapped};gr.prototype.valueOf=gr.prototype.toJSON=gr.prototype.value;gr.prototype.toString=function(){return String(this._wrapped)};function jh(e,t,n=e,r=!1){if(isNaN(e)||!isFinite(e))return{string:\"undefined\",latex:\"undefined\",value:e};if(e===0)return{string:\"0\",latex:\"0\",value:e};Math.abs(e)>Math.abs(n)&&(n=e);let i=la(e/Math.PI,24),s,o,a,u,c,l,p=r?cL(n):uL(n);if(p&&Li(i.n/i.d*Math.PI,e,3))return i.n===0?(s=\"0\",u=\"0\"):i.n===1?(s=\"\\u03C0\",u=\"\\\\pi\"):i.n===-1?(s=\"-\\u03C0\",u=\"-\\\\pi\"):(s=i.n.toString()+\"\\u03C0\",u=i.n.toString()+\"\\\\pi\"),i.d===1?(o=\"\",c=\"\"):(o=\"/\"+i.d.toString(),c=i.d.toString()),a=s+o,c===\"\"?l=u:u[0]===\"-\"?l=`-\\\\frac{${u.slice(1)}}{${c}}`:l=`\\\\frac{${u}}{${c}}`,{string:a,latex:l,value:i.n/i.d*Math.PI};if(p)return a=aL(hv(e.toFixed(Wh(n,t)))),{string:a,latex:a,value:parseFloat(a)};{let f=Jh(e.toExponential(Wh(n/e,t))).split(\"e\"),m=f[0]===\"1\"&&r?\"10\":f[0]+\"\\xD710\",g=f[1].replace(\"+\",\"\");return a=Jh(e.toExponential(Wh(n/e,t))).replace(\"+\",\"\"),l=`${f[0]}\\\\times10^{${g}}`,{string:a,latex:l,mantissa:m,superscript:g,value:parseFloat(a)}}}function sL(e,t,n,r,i){let s=jh(e,i,t),o=jh(r(s.value),i,n);return[s,o]}var oL=/\\.?0+$/;function hv(e){return e.indexOf(\".\")===-1?e:e.replace(oL,\"\")}function Jh(e){let t=/\\.?0+e/;return e.replace(t,\"e\")}function aL(e){return e===\"-0\"?\"0\":e}function uL(e){return e=Math.abs(e),1e-41e12)return!1;let{n,d:r}=la(e,t);return r===1?!1:e===e+Math.pow(2,-3)*Math.abs(n/r-e)}function qd(e,t){if(t=t||{},isNaN(e)||!isFinite(e))return{type:\"undefined\"};if(e===0||t.zeroCutoff&&Math.abs(e)=i;if(xv(e)&&t.displayAsFraction){let c=la(e,bv(e));return{type:\"fraction\",numerator:c.n.toString(),denominator:c.d.toString()}}else{if(Math.abs(e)>r||Math.abs(e)\\xD710\"+n.exponent+\"\";case\"fraction\":return n.denominator===\"1\"?n.numerator:`${n.numerator}/${n.denominator}`;default:return n}}function $d(e,t){let n=qd(e,t);switch(n.type){case\"undefined\":return\"undefined\";case\"decimal\":return n.value;case\"scientific\":return n.mantissa+\" * 10^\"+n.exponent;case\"fraction\":return n.denominator===\"1\"?n.numerator:`${n.numerator}/${n.denominator}`;default:return n}}function Qh(e,t){let n=qd(e,t);switch(n.type){case\"undefined\":return\"undefined\";case\"decimal\":return n.value;case\"scientific\":return n.mantissa+\"\\\\times10^{\"+n.exponent+\"}\";case\"fraction\":return n.denominator===\"1\"?n.numerator:n.numerator[0]===\"-\"?`-\\\\frac{${n.numerator.slice(1)}}{${n.denominator}}`:`\\\\frac{${n.numerator}}{${n.denominator}}`;default:return n}}function X(e){if(e.startsWith(\"_base_case\")){let[n,r,i]=e.split(\":\"),s=[];for(let o of i.split(\",\")){let a=parseFloat(o);isNaN(a)?s.push(X(o)):s.push($d(a))}return`${X(r)}(${s.join(\",\")})`}e=e.replace(\"\\\\\",\"\");let t={alpha:\"\\u03B1\",beta:\"\\u03B2\",gamma:\"\\u03B3\",delta:\"\\u03B4\",epsilon:\"\\u03F5\",varepsilon:\"\\u03B5\",zeta:\"\\u03B6\",eta:\"\\u03B7\",theta:\"\\u03B8\",vartheta:\"\\u03D1\",iota:\"\\u03B9\",kappa:\"\\u03BA\",varkappa:\"\\u03F0\",lambda:\"\\u03BB\",mu:\"\\u03BC\",xi:\"\\u03BE\",pi:\"\\u03C0\",varpi:\"\\u03D6\",rho:\"\\u03C1\",varrho:\"\\u03F1\",sigma:\"\\u03C3\",varsigma:\"\\u03C2\",tau:\"\\u03C4\",phi:\"\\u03D5\",varphi:\"\\u03C6\",chi:\"\\u03C7\",psi:\"\\u03C8\",omega:\"\\u03C9\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Theta:\"\\u0398\",Lambda:\"\\u039B\",Xi:\"\\u039E\",Pi:\"\\u03A0\",Sigma:\"\\u03A3\",Phi:\"\\u03A6\",Psi:\"\\u03A8\",Omega:\"\\u03A9\",div:\"\\xF7\",cdot:\"\\u22C5\",times:\"\\xD7\",lt:\"<\",gt:\">\",le:\"\\u2264\",ge:\"\\u2265\",sim:\"\\u223C\",ldots:\"\\u2026\",prime:\"\\u2032\",approx:\"\\u2248\",to:\"\\u2192\",\"->\":\"\\u2192\"};return t.hasOwnProperty(e)?t[e]:e}function dL(e){if(!e)return\"\";let t=ur(e[0]);return e[1]!==void 0&&(t+=\"\\\\left[\"+e[1]+\"\\\\right]\"),t}function ur(e){let t=e.match(/^\\$(\\d+)$/);if(t)return`\\\\token{${t[1]}}`;let n=e.split(\"_\"),r=\"\";return n[0].length>1&&(r+=\"\\\\\"),r+=n[0],n[1]&&(r+=\"_{\"+n[1]+\"}\"),r}function mL(e){if(!e)return\"\";let t=e.split(\"_\");t[0]=X(t[0]);let n=t.map(yv);return n[1]&&(n[1]=\"\"+n[1]+\"\"),n.join(\"\")}function Lo(e){let t=e.match(/\\\\token\\{(\\d+)\\}/);return t?`$${t[1]}`:(e=e.replace(/\\\\operatorname\\{(.*)\\}/,\"$1\"),e.replace(/[{}\\\\]/g,\"\"))}function wo(e){return e.replace(/^(\\\\ |\\s|\\\\space(?![a-zA-Z]))+/,\"\").replace(/(\\\\ |\\s|\\\\space(?![a-zA-Z]))+$/,\"\")}function yL(e){return e.replace(/\\\\ |\\\\space(?![a-zA-Z])/g,\"\")}var ze=class extends j{constructor(t){super([]),this._symbol=Lo(t),this._errorSymbol=this._symbol,this.addDependency(this._symbol)}setInputSpan(t){super.setInputSpan(t),this._errorSymbol=Lo(this.getInputString())}getInputSpan(){return this._inputSpan===void 0?yi(this._symbol,0,this._symbol.length):this._inputSpan}};function gL(e){switch(e){case\"default\":case\"trig\":case\"inverseTrig\":case\"trig2\":case\"never-broadcast\":return[T];case\"reducer\":return[se];case\"doubleReducer\":return[se,se];case\"parameterizedReducer\":return[se,T];case\"color\":return[T,T,T]}}function hL(e){switch(e){case\"default\":case\"trig\":case\"inverseTrig\":case\"trig2\":case\"doubleReducer\":case\"color\":case\"never-broadcast\":return!1;case\"reducer\":case\"parameterizedReducer\":return!0}}function bL(e,t,n){return e===\"reducer\"?1/0:t+n}function _(e,t,n){var m,g,d,y,h;n===void 0&&(n={});let r=(m=n.tag)!=null?m:\"default\",i=(g=n.argumentTypes)!=null?g:gL(r),s=n.defaultArguments?n.defaultArguments.length:0,o=i.length-s,a=bL(r,o,s),u=(d=n.allowDotCall)!=null?d:hL(r),c=(y=n.noPeel)!=null?y:!1,{defaultArguments:l,minArityExampleArgs:p,maxArityExampleArgs:f}=n;return{module:e,symbol:t,argumentTypes:i,defaultArguments:l,returnType:(h=n.returnType)!=null?h:T,tag:r,minArity:o,maxArity:a,allowDotCall:u,noPeel:c,minArityExampleArgs:p,maxArityExampleArgs:f}}function nb(e){if(!En(e))throw new Error(\"Programming Error: numeric constants should be rational\");return{type:1,valueType:T,value:e}}var Zu=nb(De(0,1)),Wu=nb(De(1,1)),Xd=nb(De(1,2));function Ha(e){let t;return e in bn&&(t=bn[e].tag),t===\"trig\"||t===\"trig2\"||t===\"inverseTrig\"?!0:e===\"angle\"||e===\"angles\"||e===\"directedangle\"||e===\"directedangles\"||e===\"rotate\"}var bn={sin:_(\"BuiltIn\",\"sin\",{tag:\"trig\"}),cos:_(\"BuiltIn\",\"cos\",{tag:\"trig\"}),tan:_(\"BuiltIn\",\"tan\",{tag:\"trig\"}),cot:_(\"BuiltIn\",\"cot\",{tag:\"trig\"}),sec:_(\"BuiltIn\",\"sec\",{tag:\"trig\"}),csc:_(\"BuiltIn\",\"csc\",{tag:\"trig\"}),arcsin:_(\"Math\",\"asin\",{tag:\"inverseTrig\"}),arccos:_(\"Math\",\"acos\",{tag:\"inverseTrig\"}),arctan:_(\"Math\",\"atan2\",{argumentTypes:[T,T],defaultArguments:[Wu],tag:\"inverseTrig\"}),arccot:_(\"BuiltIn\",\"acot\",{tag:\"inverseTrig\"}),arcsec:_(\"BuiltIn\",\"asec\",{tag:\"inverseTrig\"}),arccsc:_(\"BuiltIn\",\"acsc\",{tag:\"inverseTrig\"}),sinh:_(\"BuiltIn\",\"sinh\"),cosh:_(\"BuiltIn\",\"cosh\"),tanh:_(\"BuiltIn\",\"tanh\"),coth:_(\"BuiltIn\",\"coth\"),sech:_(\"BuiltIn\",\"sech\"),csch:_(\"BuiltIn\",\"csch\"),arcsinh:_(\"BuiltIn\",\"asinh\"),arccosh:_(\"BuiltIn\",\"acosh\"),arctanh:_(\"BuiltIn\",\"atanh\"),arccoth:_(\"BuiltIn\",\"acoth\"),arcsech:_(\"BuiltIn\",\"asech\"),arccsch:_(\"BuiltIn\",\"acsch\"),sqrt:_(\"Math\",\"sqrt\"),rtxsqpone:_(\"BuiltIn\",\"sqrtxsqp1\"),rtxsqmone:_(\"BuiltIn\",\"sqrtxsqm1\"),nthroot:_(\"BuiltIn\",\"nthroot\",{argumentTypes:[T,T]}),hypot:_(\"BuiltIn\",\"hypot\",{argumentTypes:[T,T]}),log:_(\"BuiltIn\",\"common_log\"),logbase:_(\"BuiltIn\",\"log_base\",{argumentTypes:[T,T]}),ln:_(\"BuiltIn\",\"log\"),exp:_(\"Math\",\"exp\"),floor:_(\"Math\",\"floor\"),ceil:_(\"Math\",\"ceil\"),round:_(\"Math\",\"round\"),abs:_(\"Math\",\"abs\"),sign:_(\"BuiltIn\",\"sign\"),mod:_(\"BuiltIn\",\"mod\",{argumentTypes:[T,T]}),nCr:_(\"BuiltIn\",\"nCr\",{argumentTypes:[T,T]}),nPr:_(\"BuiltIn\",\"nPr\",{argumentTypes:[T,T]}),factorial:_(\"BuiltIn\",\"factorial\"),polyGamma:_(\"BuiltIn\",\"polyGamma\",{argumentTypes:[T,T]}),lcm:_(\"BuiltIn\",\"listLCM\",{tag:\"reducer\"}),gcd:_(\"BuiltIn\",\"listGCD\",{tag:\"reducer\"}),distance:_(\"BuiltIn\",\"distance\",{argumentTypes:[R,R]}),polygon:_(\"BuiltIn\",\"polygon\",{tag:\"reducer\",argumentTypes:[Pt],returnType:Be}),area:_(\"BuiltIn\",\"polygonArea\",{argumentTypes:[Be]}),perimeter:_(\"BuiltIn\",\"polygonPerimeter\",{argumentTypes:[Be]}),pointDet:_(\"BuiltIn\",\"pointDet\",{argumentTypes:[R,R]}),pointDot:_(\"BuiltIn\",\"pointDot\",{argumentTypes:[R,R]}),pointPerp:_(\"BuiltIn\",\"pointPerp\",{argumentTypes:[R],returnType:R}),segment:_(\"BuiltIn\",\"segment\",{argumentTypes:[R,R],returnType:Ie}),line:_(\"BuiltIn\",\"line\",{argumentTypes:[R,R],returnType:fe}),ray:_(\"BuiltIn\",\"ray\",{argumentTypes:[R,R],returnType:Le}),vector:_(\"BuiltIn\",\"vector\",{argumentTypes:[R,R],returnType:he}),vectorThreeD:_(\"BuiltIn\",\"vectorThreeD\",{argumentTypes:[V,V],returnType:Se}),mathVector:_(\"BuiltIn\",\"mathVector\",{argumentTypes:[R,R],returnType:he}),mathVectorThreeD:_(\"BuiltIn\",\"mathVectorThreeD\",{argumentTypes:[V,V],returnType:Se}),vectorDisplacementAsPoint:_(\"BuiltIn\",\"vectorDisplacementAsPoint\",{argumentTypes:[he],returnType:R}),vectorThreeDDisplacementAsPoint:_(\"BuiltIn\",\"vectorThreeDDisplacementAsPoint\",{argumentTypes:[Se],returnType:V}),basePointFromVector:_(\"BuiltIn\",\"basePointFromVector\",{argumentTypes:[he],returnType:R}),basePointFromVectorThreeD:_(\"BuiltIn\",\"basePointFromVectorThreeD\",{argumentTypes:[Se],returnType:V}),circle:_(\"BuiltIn\",\"circle\",{argumentTypes:[R,T],returnType:pe}),center:_(\"BuiltIn\",\"center\",{argumentTypes:[pe],returnType:R,allowDotCall:!0}),radius:_(\"BuiltIn\",\"radius\",{argumentTypes:[pe],returnType:T,allowDotCall:!0}),arc:_(\"BuiltIn\",\"arc\",{argumentTypes:[R,R,R],returnType:ce}),arcCenter:_(\"BuiltIn\",\"arcCenter\",{argumentTypes:[ce],returnType:R}),arcOmega:_(\"BuiltIn\",\"arcOmega\",{argumentTypes:[ce],returnType:T}),undirectedAngleMarker:_(\"BuiltIn\",\"undirectedAngleMarker\",{argumentTypes:[Ae],returnType:Ge}),directedAngleMarker:_(\"BuiltIn\",\"directedAngleMarker\",{argumentTypes:[R,T,T,T],returnType:Ae}),directedCoterminalAngle:_(\"BuiltIn\",\"directedCoterminalAngle\",{argumentTypes:[Ae],returnType:Ae}),undirectedCoterminalAngle:_(\"BuiltIn\",\"undirectedCoterminalAngle\",{argumentTypes:[Ge],returnType:Ge}),supplement:_(\"BuiltIn\",\"supplementAngle\",{argumentTypes:[Ae],returnType:Ae}),directedAngleMarkerRawDelta:_(\"BuiltIn\",\"angleMarkerRawDelta\",{argumentTypes:[Ae],returnType:T}),undirectedAngleMarkerRawDelta:_(\"BuiltIn\",\"angleMarkerRawDelta\",{argumentTypes:[Ge],returnType:T}),directedAngleMarkerMultiplier:_(\"BuiltIn\",\"angleMarkerMultiplier\",{argumentTypes:[Ae],returnType:T}),undirectedAngleMarkerMultiplier:_(\"BuiltIn\",\"angleMarkerMultiplier\",{argumentTypes:[Ge],returnType:T}),polygonInteriorUndirectedAngles:_(\"BuiltIn\",\"polygonInteriorUndirectedAngles\",{argumentTypes:[Be,T],returnType:gn,allowDotCall:!0,tag:\"never-broadcast\"}),polygonInteriorDirectedAngles:_(\"BuiltIn\",\"polygonInteriorDirectedAngles\",{argumentTypes:[Be,T],returnType:hn,allowDotCall:!0,tag:\"never-broadcast\"}),vertices:_(\"BuiltIn\",\"vertices\",{argumentTypes:[Be],returnType:Pt,allowDotCall:!0,tag:\"never-broadcast\"}),segments:_(\"BuiltIn\",\"polygonEdges\",{argumentTypes:[Be],returnType:Tn,allowDotCall:!0,tag:\"never-broadcast\"}),scaleTangentSegment:_(\"BuiltIn\",\"scaleTangentSegment\",{argumentTypes:[Ie,T],returnType:Ie}),scaleTangentLine:_(\"BuiltIn\",\"scaleTangentLine\",{argumentTypes:[fe,T],returnType:fe}),scaleTangentRay:_(\"BuiltIn\",\"scaleTangentRay\",{argumentTypes:[Le,T],returnType:Le}),scaleTangentCircle:_(\"BuiltIn\",\"scaleTangentCircle\",{argumentTypes:[pe,T],returnType:pe}),scaleTangentArc:_(\"BuiltIn\",\"scaleTangentArc\",{argumentTypes:[ce,T],returnType:pe}),scaleTangentDirectedAngleMarker:_(\"BuiltIn\",\"scaleTangentAngle\",{argumentTypes:[Ae,T],returnType:Ae}),scaleTangentUndirectedAngleMarker:_(\"BuiltIn\",\"scaleTangentAngle\",{argumentTypes:[Ge,T],returnType:Ge}),addTangentSegment:_(\"BuiltIn\",\"addTangentSegment\",{argumentTypes:[Ie,Ie],returnType:Ie}),addTangentSegmentThreeD:_(\"BuiltIn\",\"addTangentSegmentThreeD\",{argumentTypes:[Nt,Nt],returnType:Nt}),addTangentLine:_(\"BuiltIn\",\"addTangentLine\",{argumentTypes:[fe,fe],returnType:fe}),addTangentRay:_(\"BuiltIn\",\"addTangentRay\",{argumentTypes:[Le,Le],returnType:Le}),addTangentCircle:_(\"BuiltIn\",\"addTangentCircle\",{argumentTypes:[pe,pe],returnType:pe}),addTangentArc:_(\"BuiltIn\",\"addTangentArc\",{argumentTypes:[ce,ce],returnType:ce}),addTangentDirectedAngleMarker:_(\"BuiltIn\",\"addTangentAngle\",{argumentTypes:[Ae,Ae],returnType:Ae}),addTangentUndirectedAngleMarker:_(\"BuiltIn\",\"addTangentAngle\",{argumentTypes:[Ge,Ge],returnType:Ge}),segmentGlider:_(\"BuiltIn\",\"segmentGlider\",{argumentTypes:[Ie,T],returnType:R}),segmentThreeDGlider:_(\"BuiltIn\",\"segmentThreeDGlider\",{argumentTypes:[Nt,T],returnType:V}),lineGlider:_(\"BuiltIn\",\"lineGlider\",{argumentTypes:[fe,T],returnType:R}),rayGlider:_(\"BuiltIn\",\"rayGlider\",{argumentTypes:[Le,T],returnType:R}),circleGlider:_(\"BuiltIn\",\"circleGlider\",{argumentTypes:[pe,T],returnType:R}),arcGlider:_(\"BuiltIn\",\"arcGlider\",{argumentTypes:[ce,T],returnType:R}),polygonGlider:_(\"BuiltIn\",\"polygonGlider\",{argumentTypes:[Be,T],returnType:R}),chooseNonIncidentPoint:_(\"BuiltIn\",\"chooseNonIncidentPoint\",{argumentTypes:[R,R,R],returnType:R}),circleCircleIntersection:_(\"BuiltIn\",\"circleCircleIntersection\",{argumentTypes:[pe,pe,T],returnType:R}),circleArcIntersection:_(\"BuiltIn\",\"circleArcIntersection\",{argumentTypes:[pe,ce,T],returnType:R}),circleLineIntersection:_(\"BuiltIn\",\"circleLineIntersection\",{argumentTypes:[pe,fe,T],returnType:R}),arcCircleIntersection:_(\"BuiltIn\",\"arcCircleIntersection\",{argumentTypes:[ce,pe,T],returnType:R}),arcArcIntersection:_(\"BuiltIn\",\"arcArcIntersection\",{argumentTypes:[ce,ce,T],returnType:R}),arcLineIntersection:_(\"BuiltIn\",\"arcLineIntersection\",{argumentTypes:[ce,fe,T],returnType:R}),lineCircleIntersection:_(\"BuiltIn\",\"lineCircleIntersection\",{argumentTypes:[fe,pe,T],returnType:R}),lineArcIntersection:_(\"BuiltIn\",\"lineArcIntersection\",{argumentTypes:[fe,ce,T],returnType:R}),lineLineIntersection:_(\"BuiltIn\",\"lineLineIntersection\",{argumentTypes:[fe,fe,T],returnType:R}),lineFromSegment:_(\"BuiltIn\",\"identity\",{argumentTypes:[Ie],returnType:fe}),lineFromRay:_(\"BuiltIn\",\"identity\",{argumentTypes:[Le],returnType:fe}),parallel:_(\"BuiltIn\",\"parallel\",{argumentTypes:[fe,R],returnType:fe}),perpendicular:_(\"BuiltIn\",\"perpendicular\",{argumentTypes:[fe,R],returnType:fe}),translation:_(\"BuiltIn\",\"translation\",{argumentTypes:[R],returnType:Ue}),dilation:_(\"BuiltIn\",\"dilation\",{argumentTypes:[R,T],returnType:Ue}),rotation:_(\"BuiltIn\",\"rotation\",{tag:\"trig2\",argumentTypes:[R,T],returnType:Ue}),reflection:_(\"BuiltIn\",\"reflection\",{argumentTypes:[fe],returnType:Ue}),compose:_(\"BuiltIn\",\"composeTransformation\",{argumentTypes:[Ue,Ue],returnType:Ue}),inverse:_(\"BuiltIn\",\"invertTransformation\",{argumentTypes:[Ue],returnType:Ue}),transformPoint:_(\"BuiltIn\",\"transformPoint\",{argumentTypes:[Ue,R],returnType:R}),transformSegment:_(\"BuiltIn\",\"transformSegment\",{argumentTypes:[Ue,Ie],returnType:Ie}),transformLine:_(\"BuiltIn\",\"transformLine\",{argumentTypes:[Ue,fe],returnType:fe}),transformRay:_(\"BuiltIn\",\"transformRay\",{argumentTypes:[Ue,Le],returnType:Le}),transformVector:_(\"BuiltIn\",\"transformVector\",{argumentTypes:[Ue,he],returnType:he}),transformCircle:_(\"BuiltIn\",\"transformCircle\",{argumentTypes:[Ue,pe],returnType:pe}),transformArc:_(\"BuiltIn\",\"transformArc\",{argumentTypes:[Ue,ce],returnType:ce}),transformPolygon:_(\"BuiltIn\",\"transformPolygon\",{argumentTypes:[Ue,Be],returnType:Be}),transformAngleMarker:_(\"BuiltIn\",\"transformAngleMarker\",{argumentTypes:[Ue,Ge],returnType:Ge}),transformDirectedAngleMarker:_(\"BuiltIn\",\"transformAngleMarker\",{argumentTypes:[Ue,Ae],returnType:Ae}),distanceThreeD:_(\"BuiltIn\",\"distanceThreeD\",{argumentTypes:[V,V]}),segmentThreeD:_(\"BuiltIn\",\"segmentThreeD\",{argumentTypes:[V,V],returnType:Nt}),triangle:_(\"BuiltIn\",\"triangle\",{argumentTypes:[V,V,V],returnType:In}),sphere:_(\"BuiltIn\",\"sphere\",{argumentTypes:[V,T],returnType:Nn,minArityExampleArgs:\"((0,0,0), 1)\",maxArityExampleArgs:\"((0,0,0), 1)\"}),mean:_(\"BuiltIn\",\"mean\",{tag:\"reducer\"}),total:_(\"BuiltIn\",\"total\",{tag:\"reducer\"}),stdev:_(\"BuiltIn\",\"stdev\",{tag:\"reducer\"}),stdevp:_(\"BuiltIn\",\"stdevp\",{tag:\"reducer\"}),mad:_(\"BuiltIn\",\"mad\",{tag:\"reducer\"}),count:_(\"BuiltIn\",\"listLength\",{tag:\"reducer\",argumentTypes:[sn],noPeel:!0}),min:_(\"BuiltIn\",\"listMin\",{tag:\"reducer\"}),max:_(\"BuiltIn\",\"listMax\",{tag:\"reducer\"}),argmin:_(\"BuiltIn\",\"argMin\",{tag:\"reducer\",noPeel:!0}),argmax:_(\"BuiltIn\",\"argMax\",{tag:\"reducer\",noPeel:!0}),median:_(\"BuiltIn\",\"median\",{tag:\"reducer\"}),var:_(\"BuiltIn\",\"variance\",{tag:\"reducer\"}),varp:_(\"BuiltIn\",\"varp\",{tag:\"reducer\"}),cov:_(\"BuiltIn\",\"cov\",{tag:\"doubleReducer\"}),covp:_(\"BuiltIn\",\"covp\",{tag:\"doubleReducer\"}),corr:_(\"BuiltIn\",\"corr\",{tag:\"doubleReducer\"}),spearman:_(\"BuiltIn\",\"spearman\",{tag:\"doubleReducer\"}),quantile:_(\"BuiltIn\",\"quantile\",{tag:\"parameterizedReducer\"}),quartile:_(\"BuiltIn\",\"quartile\",{tag:\"parameterizedReducer\"}),upperQuantileIndex:_(\"BuiltIn\",\"upperQuantileIndex\",{tag:\"parameterizedReducer\"}),lowerQuantileIndex:_(\"BuiltIn\",\"lowerQuantileIndex\",{tag:\"parameterizedReducer\"}),quartileIndex:_(\"BuiltIn\",\"quartileIndex\",{tag:\"parameterizedReducer\"}),upperQuartileIndex:_(\"BuiltIn\",\"upperQuartileIndex\",{tag:\"parameterizedReducer\"}),lowerQuartileIndex:_(\"BuiltIn\",\"lowerQuartileIndex\",{tag:\"parameterizedReducer\"}),normalcdf:_(\"BuiltIn\",\"normalcdf\",{argumentTypes:[T,T,T,T],defaultArguments:[Zu,Wu]}),normalpdf:_(\"BuiltIn\",\"normalpdf\",{argumentTypes:[T,T,T],defaultArguments:[Zu,Wu]}),binomcdf:_(\"BuiltIn\",\"binomcdf\",{argumentTypes:[T,T,T,T],defaultArguments:[Xd]}),binompdf:_(\"BuiltIn\",\"binompdf\",{argumentTypes:[T,T,T],defaultArguments:[Xd]}),poissoncdf:_(\"BuiltIn\",\"poissoncdf\",{argumentTypes:[T,T,T]}),poissonpdf:_(\"BuiltIn\",\"poissonpdf\",{argumentTypes:[T,T,T]}),uniformcdf:_(\"BuiltIn\",\"uniformcdf\",{argumentTypes:[T,T,T,T],defaultArguments:[Zu,Wu]}),uniformpdf:_(\"BuiltIn\",\"uniformpdf\",{argumentTypes:[T,T,T],defaultArguments:[Zu,Wu]}),invT:_(\"BuiltIn\",\"invT\",{argumentTypes:[T,T]}),invPoisson:_(\"BuiltIn\",\"invPoisson\",{argumentTypes:[T,T]}),invBinom:_(\"BuiltIn\",\"invBinom\",{argumentTypes:[T,T,T]}),invUniform:_(\"BuiltIn\",\"invUniform\",{argumentTypes:[T,T,T]}),tpdf:_(\"BuiltIn\",\"tpdf\",{argumentTypes:[T,T]}),tcdf:_(\"BuiltIn\",\"tcdf\",{argumentTypes:[T,T,T]}),erf:_(\"BuiltIn\",\"erf\"),invNorm:_(\"BuiltIn\",\"invNorm\"),tscore:_(\"BuiltIn\",\"tscore\",{tag:\"parameterizedReducer\",defaultArguments:[Zu]}),normalSample:_(\"BuiltIn\",\"normalSample\",{argumentTypes:[ot,T,T]}),uniformSample:_(\"BuiltIn\",\"uniformSample\",{argumentTypes:[ot,T,T]}),tSample:_(\"BuiltIn\",\"tSample\",{argumentTypes:[ot,T]}),poissonSample:_(\"BuiltIn\",\"poissonSample\",{argumentTypes:[ot,T]}),binomSample:_(\"BuiltIn\",\"binomSample\",{argumentTypes:[ot,T,T]}),rgb:_(\"BuiltIn\",\"rgb\",{returnType:Ut,tag:\"color\"}),hsv:_(\"BuiltIn\",\"hsv\",{returnType:Ut,tag:\"color\"}),tone:_(\"BuiltIn\",\"tone\",{argumentTypes:[T,T],returnType:mn,defaultArguments:[Xd],minArityExampleArgs:\"(440)\",maxArityExampleArgs:\"(440, 0.5)\"}),validateRangeLength:_(\"BuiltIn\",\"validateRangeLength\",{returnType:T,argumentTypes:[se,se,T,T],tag:\"never-broadcast\",noPeel:!0}),validateSampleCount:_(\"BuiltIn\",\"validateSampleCount\",{returnType:T,argumentTypes:[T]}),select:_(\"BuiltIn\",\"select\",{argumentTypes:[sn,Ln],returnType:e=>e[0],tag:\"never-broadcast\",noPeel:!0}),shuffle:_(\"BuiltIn\",\"shuffle\",{argumentTypes:[ot,sn],returnType:e=>e[1],tag:\"never-broadcast\"}),sortPerm:_(\"BuiltIn\",\"sortPerm\",{argumentTypes:[se],returnType:se,tag:\"never-broadcast\",noPeel:!0}),elementsAt:_(\"BuiltIn\",\"elementsAt\",{argumentTypes:[sn,se],returnType:e=>e[0],tag:\"never-broadcast\",noPeel:!0}),uniquePerm:_(\"BuiltIn\",\"uniquePerm\",{argumentTypes:[sn],returnType:se,tag:\"never-broadcast\",noPeel:!0}),restriction:_(\"BuiltIn\",\"restriction\",{argumentTypes:[ge],returnType:Vt}),restrictionToBoolean:_(\"BuiltIn\",\"restrictionToBoolean\",{argumentTypes:[Vt],returnType:ge})};function qe(e,t){var m,g,d,y;let n=t==null?void 0:t.defaultArguments,r=1/0,i=0,s=(m=n==null?void 0:n.length)!=null?m:0;t!=null&&t.noBroadcast||(e=e.map(ti));for(let h of e){let b=Ga(h)-s;bi&&(i=x)}let o=(g=t==null?void 0:t.fallthroughUnlessDistribution)!=null?g:!1,a=(d=t==null?void 0:t.allowDotCall)!=null?d:!1,u=(y=t==null?void 0:t.isSeeded)!=null?y:!1,c=t==null?void 0:t.minArityExampleArgs,l=t==null?void 0:t.maxArityExampleArgs,p=t==null?void 0:t.dotMinArityExampleArgs,f=t==null?void 0:t.dotMaxArityExampleArgs;return{minArity:r,argumentTypes:e,maxArity:i,defaultArguments:n,fallthroughUnlessDistribution:o,minArityExampleArgs:c,maxArityExampleArgs:l,dotMinArityExampleArgs:p,dotMaxArityExampleArgs:f,allowDotCall:a,isSeeded:u}}function so(){return qe([{type:\"variadic\",initial:[],rest:Ht}],{})}var Yd={meta:\"union\",types:[Ie,pe,fe,Le,ce]},Kh={meta:\"union\",types:[Ie,fe,Le,he]},rl={meta:\"union\",types:[R,Ie,pe,fe,Le,he,ce,Be,Ge,Ae,Ue]},eb={meta:\"union\",types:[...Zi.filter(e=>e!==wn),St]},oo={midpoint:qe([[R,R],[V,V],[Ie],[Nt]],{allowDotCall:!0}),segment:qe([[R,R],[V,V]]),vector:qe([[R,R],[V,V]]),distance:qe([[R,R],[V,V]]),glider:qe([[{meta:\"union\",types:[Ie,pe,fe,Le,ce,Be]},T]]),circle:qe([[R,Ie],[R,R],[R,T]],{}),center:qe([[pe],[ce]],{allowDotCall:!0}),radius:qe([[pe],[ce]],{allowDotCall:!0}),intersection:qe([[Yd,Yd]]),strictintersection:qe([[Yd,Yd]]),parallel:qe([[Kh,R]]),perpendicular:qe([[Kh,R]]),start:qe([[he],[Se]],{allowDotCall:!0}),end:qe([[he],[Se]],{allowDotCall:!0}),length:qe([[{meta:\"union\",types:Zi}],ti([Nt]),ti([Se]),ti([Ie]),ti([ce]),{type:\"variadic\",initial:[Ht],rest:Ht}],{allowDotCall:!0,noBroadcast:!0}),translate:qe([[rl,he],[rl,R,R]]),dilate:qe([[rl,R,T]]),rotate:qe([[rl,R,T]]),reflect:qe([[rl,Kh]]),apply:qe([[Ue,rl]]),points:qe([]),lines:qe([]),circles:qe([]),arcs:qe([]),polygons:qe([]),rays:qe([]),vectors:qe([]),angle:qe([[R,R,R]]),directedangle:qe([[R,R,R]]),angles:qe([[Be]],{allowDotCall:!0}),directedangles:qe([[Be]],{allowDotCall:!0}),coterminal:qe([[Ge],[Ae]]),round:qe([[T],[T,T]]),sort:qe([[se],[{meta:\"union\",types:Zi},se]],{minArityExampleArgs:\"([3,2,1])\",maxArityExampleArgs:\"([1,2,3],[3,2,1])\",dotMaxArityExampleArgs:\"([3,4])\",allowDotCall:!0}),shuffle:qe([[ot,{meta:\"union\",types:Zi}],[ot,{meta:\"union\",types:Zi},T]],{minArityExampleArgs:\"([1,2,3])\",maxArityExampleArgs:\"([1,2,3],2)\",dotMaxArityExampleArgs:\"(2)\",allowDotCall:!0,isSeeded:!0,noBroadcast:!0}),join:qe([{type:\"variadic\",initial:[Ht,Ht],rest:Ht}],{minArityExampleArgs:\"([1,2],[3,4])\",dotMinArityExampleArgs:\"([3,4])\",allowDotCall:!0}),unique:qe([[{meta:\"union\",types:Zi.filter(e=>e!==wn&&e!==sn)}]],{minArityExampleArgs:\"([1,2,3])\",maxArityExampleArgs:\"([1,2,3])\",allowDotCall:!0}),normaldist:qe([[T,T]],{defaultArguments:[Zu,Wu]}),tdist:qe([[T]]),binomialdist:qe([[T,T]],{defaultArguments:[Xd]}),poissondist:qe([[T]]),uniformdist:qe([[T,T]],{defaultArguments:[Zu,Wu]}),pdf:qe([[St,T]],{allowDotCall:!0}),cdf:qe([[St,T],[St,T,T]],{allowDotCall:!0}),median:qe([[St]],{fallthroughUnlessDistribution:!0,allowDotCall:!0}),stdev:qe([[St]],{fallthroughUnlessDistribution:!0,allowDotCall:!0}),var:qe([[St]],{fallthroughUnlessDistribution:!0,allowDotCall:!0}),quantile:qe([[St,T]],{fallthroughUnlessDistribution:!0,allowDotCall:!0,minArityExampleArgs:\"([1,2,3], 1)\",maxArityExampleArgs:\"([1,2,3], 1)\",dotMinArityExampleArgs:\"(x)\",dotMaxArityExampleArgs:\"(x)\"}),random:qe([[ot],[ot,T],[ot,T,T],[ot,eb],[ot,eb,T],[ot,eb,T,T]],{allowDotCall:!0,isSeeded:!0,noBroadcast:!0}),polygon:qe([{type:\"variadic\",initial:[],rest:R},[Pt],[se,se],[T,se],[se,T]]),total:qe([T,R,V].map(tb),{allowDotCall:!0}),mean:qe([[St],...[T,R,V].map(tb)],{allowDotCall:!0}),histogram:so(),dotplot:so(),boxplot:so(),ttest:so(),ittest:so(),stats:so(),det:so(),inv:so(),transpose:so(),rref:so(),trace:so()};function sl(e){return!!oo[e]}function il(e){return!!bn[e]}function Vp(e){let t=sl(e)?oo[e]:void 0;if(!t&&!il(e))return;let n=[];return t&&(n=[...t.argumentTypes]),il(e)&&(!t||t.fallthroughUnlessDistribution)&&n.push(...rb(e)),n}function tb(e){return ti({type:\"variadic\",initial:[e],rest:e})}function rb(e){let t=[],n=bn[e];switch(n.tag){case\"reducer\":{if(Array.isArray(n.argumentTypes)&&typeof n.argumentTypes[0]==\"number\"&&W(n.argumentTypes[0])){let r=n.argumentTypes[0],i=ke(r);t.push(tb(i))}else throw new Error(`Programming error: declared argumentTypes for built-in function ${e} is not consistent with \"reducer\"`);break}case\"parameterizedReducer\":{t.push(n.argumentTypes),Array.isArray(n.argumentTypes)&&n.argumentTypes.length===2&&t.push([n.argumentTypes[0],Hu(n.argumentTypes[1])]);break}case\"doubleReducer\":case\"never-broadcast\":{t.push(n.argumentTypes);break}default:{t.push(ti(n.argumentTypes));break}}return t}var cn=class extends j{constructor(t,n){super(n,{skipRegisterDependencies:!0}),typeof t==\"string\"&&(t=new ze(t)),this._identifier=t,this._symbol=t._symbol,this._errorSymbol=t._errorSymbol===\"logbase\"?\"log\":t._errorSymbol,this.registerDependencies()}registerDependencies(){this.addDependency(this._symbol),super.registerDependencies(),Ha(this._symbol)&&this.addDependency(\"trigAngleMultiplier\")}};var Qi=class extends j{};var Zd={pi:new Zt(Math.PI),tau:new Zt(2*Math.PI),e:new Zt(Math.E),trigAngleMultiplier:new Zt(De(1,1)),infty:new Zt(1/0),identityTransformation:new cn(\"translation\",[new Qi([new Zt(0),new Zt(0)])])};var Wd=class extends Tt{constructor(){super(...arguments);this.isFunction=!0}},Fo,Ke={};for(Fo in Zd)Zd.hasOwnProperty(Fo)&&(Ke[Fo]=Zd[Fo]);for(Fo in bn)bn.hasOwnProperty(Fo)&&(Ke[Fo]=new Wd);for(Fo in oo)oo.hasOwnProperty(Fo)&&(Ke[Fo]=new Wd);function PL(e){var t={};return e.additionalFunctions&&e.additionalFunctions.indexOf(\"sqrt\")!==-1&&(t.sqrt=Ke.sqrt),e.width&&(t.width=e.width),e.height&&(t.height=e.height),t}var ib={};No(ib,{getFrame:()=>TL});var Pv=[\"pi\",\"e\",\"trigAngleMultiplier\"],Tv=[\"sqrt\",\"nthroot\",\"abs\",\"ln\",\"sin\",\"cos\",\"tan\",\"log\",\"arcsin\",\"arccos\",\"arctan\",\"mean\",\"round\",\"stdev\",\"stdevp\",\"nCr\",\"nPr\",\"exp\",\"factorial\"];function Iv(e,t){for(var n=0;nIL});var Ev=[\"pi\",\"e\",\"trigAngleMultiplier\"],Mv=[\"sqrt\",\"nthroot\",\"abs\",\"ln\",\"sin\",\"cos\",\"tan\",\"log\",\"arcsin\",\"arccos\",\"arctan\",\"exp\",\"factorial\"];function vv(e,t){for(var n=0;nDL});var Dv={segment:!0,line:!0,ray:!0,circle:!0,arc:!0,vector:!0,glider:!0,parallel:!0,perpendicular:!0,center:!0,radius:!0,area:!0,perimeter:!0,start:!0,end:!0,angles:!0,angle:!0,directedangles:!0,directedangle:!0,coterminal:!0,supplement:!0,vertices:!0,segments:!0,intersection:!0,translate:!0,dilate:!0,rotate:!0,reflect:!0,construction:!0,points:!0,lines:!0,circles:!0,arcs:!0,polygons:!0,rays:!0};var Sv={segment:!0,triangle:!0,vector:!0,start:!0,end:!0,sphere:!0};var Ov=[\"csc\",\"sec\",\"cot\",\"arccsc\",\"arcsec\",\"arccot\",\"csch\",\"sech\",\"coth\",\"arccsch\",\"arcsech\",\"arccoth\",\"mad\",\"cov\",\"covp\",\"distance\",\"midpoint\"],Cv=[\"histogram\",\"dotplot\",\"boxplot\"],EL=[...Cv,\"polygon\"],Rv=[\"erf\",\"ttest\",\"tscore\",\"ittest\",\"normaldist\",\"tdist\",\"poissondist\",\"binomialdist\",\"pdf\",\"cdf\",\"random\",...Cv],ML=[\"distance\",\"midpoint\"],vL=[\"det\",\"inv\",\"transpose\",\"rref\",\"trace\"],Nv=Object.keys(Dv).filter(function(e){return e!==\"construction\"});function ob(e,t){for(var n=0;nVs,setInput:()=>UC});function Av(e){let t=function(...i){return new e(...i)};t.prototype=e.prototype;var n=Object.getOwnPropertyNames(e);for(var r of n){let i=e[r];if(typeof i==\"function\")try{t[r]=i}catch(s){}}return t}var C=class extends Tt{constructor(n){super();this.isError=!0;this._msg=n,this.blocksExport=!0}evaluateOnce(n){return this._msg}getError(){return this._msg}setDependencies(n){return this.addDependencies(n),this}setActionValue(n){this.actionValue=n}allowExport(){return this.blocksExport=!1,this}setCursorContext(n){this.cursorContext=n}getCursorContext(){return this.cursorContext}};var Jd=class extends Zt{constructor(){super(...arguments);this.is_mixed_number=!0}};var Qd=class extends ze{};function SL(e){for(var t=1/0,n=0;n\":{inclusive:!1,direction:1},\"<=\":{inclusive:!0,direction:-1},\"=\":{inclusive:!0,direction:0},\">=\":{inclusive:!0,direction:1}};function Qu(e,t){switch(t){case-1:return e?\"<=\":\"<\";case 0:return e?\"=\":\"!=\";case 1:return e?\">=\":\">\";default:throw\"Programming error. Comparators must have a direction of -1, 0, or 1\"}}var Ns=class e extends j{constructor(n,r){super(r);this.operator=n;this._difference=Rr[this.operator].direction===-1?new ni([r[1],r[0]]):new ni([r[0],r[1]])}static create(n){class r extends e{constructor(s){super(n,s)}}return r}asComparator(){return this}isInequality(){return Rr[this.operator].direction!==0}};var qr={\"<\":Ns.create(\"<\"),\">\":Ns.create(\">\"),\"<=\":Ns.create(\"<=\"),\">=\":Ns.create(\">=\"),\"=\":Ns.create(\"=\")};var hr=class extends j{};var nn={};No(nn,{actionMergeFreeVariable:()=>tx,addArgumentsToDefinition:()=>rf,addTypeError:()=>bb,adjacentMixedNumber:()=>hm,adjacentNumbers:()=>vx,andTypeError:()=>Db,ansUndefined:()=>JP,assignmentsUnsupported:()=>lf,badEqualitySlice:()=>Bo,badForInputListDependency:()=>nT,badForIntervalDependency:()=>rT,badImplicitCall:()=>gm,badIntegralBoundDependency:()=>XP,badLogExponent:()=>$x,badProductBoundDependency:()=>BP,badSampleSize:()=>WP,badSumBoundDependency:()=>VP,badSymbolContext:()=>uf,badTrigExponent:()=>qx,badTupleDimensions:()=>Mx,baseCaseCannotDependOnRecursiveParameter:()=>pb,baseCaseTooComplicatedUsePiecewise:()=>Hp,baseCasesMustAllHaveSameReturnType:()=>zp,binaryOperatorMissingOperand:()=>tf,blankExpression:()=>nf,boxplotBreadthInvalid:()=>fx,boxplotOffsetInvalid:()=>px,cannotAssignColor:()=>yP,cannotRedefine:()=>fl,cannotRestrict:()=>mP,cannotRestrictWithEquality:()=>gP,cannotSubscript:()=>Jx,cantCombineSphericalAndCylindrical:()=>vm,cdfMaxInvalid:()=>lP,cdfMaxLessThanMin:()=>pP,cdfMinInvalid:()=>cP,cdfRequiresArguments:()=>mx,cdfTooManyArguments:()=>yx,clickableObjectAlreadyAssigned:()=>VL,clickableObjectAssignmentNotDefined:()=>FL,clickableObjectAssignmentNotIdentifier:()=>BL,clickableObjectInvalidExpression:()=>GL,colonMissingCondition:()=>Zx,colorArity:()=>xx,combineTypeError:()=>fm,comparatorTypeError:()=>vb,complicatedDoubleInequality:()=>Cm,complicatedPolarImplicit:()=>EP,constantUnsupported:()=>ic,cycle:()=>Mm,deeplyNested:()=>sx,dependsOnDeletedGeoObject:()=>lT,derivativeMissingBody:()=>$P,derivativeTypeError:()=>qb,derivativeVariableTypeError:()=>$b,differentialWithSuperscript:()=>zP,distributionAsFunction:()=>Am,divideTypeError:()=>Pb,domainMaxInvalid:()=>aP,domainMaxLessThanMin:()=>uP,domainMinInvalid:()=>oP,dotLHSTypeError:()=>Lb,duplicateFunctionParameter:()=>Wx,duplicateUpdateRules:()=>Qb,eachBaseCaseArgumentMustBeSimple:()=>im,emptyParen:()=>zx,emptyPipe:()=>Ux,emptyRadical:()=>Gx,emptyRadicalIndex:()=>kx,emptySquareBracket:()=>Hx,emptySubscript:()=>bm,emptySuperscript:()=>Lx,equationRequired:()=>Rm,equationsUnsupported:()=>ma,eventHandlerTypeError:()=>jp,expectedArgumentToBeButFound:()=>gb,exponentTypeError:()=>Tb,featureUnavailable:()=>ff,fractionEmpty:()=>_x,fractionMissingDenominator:()=>Ax,fractionMissingNumerator:()=>Nx,fractionsUnavailable:()=>Bm,functionDefinitionsUnsupported:()=>pf,functionFreeVariable:()=>NL,functionNameAsParameter:()=>jx,functionNotDefined:()=>Tm,functionRequiresNumberOfArguments:()=>yb,functionTypeError:()=>Pi,functionUnsupported:()=>ms,geometryLengthTypeError:()=>Ab,getLogInternalErrors:()=>OL,gpuLongProduct:()=>lx,gpuLongSum:()=>cx,gpuMaxListSize:()=>pl,gpuUnsupportedFunction:()=>ll,gpuUnsupportedIntegral:()=>ux,gpuVariableListLength:()=>tc,gpuVariableProduct:()=>mm,gpuVariableSum:()=>dm,heterogeneousList:()=>Jp,identifierAsFunction:()=>Sx,identifierIsNotFunction:()=>Ox,illegalBinWidth:()=>af,illegalDotCall:()=>Wp,implicitsDisabled:()=>IP,incorrectProductLowerBound:()=>FP,incorrectSumLowerBound:()=>wP,indexTypeError:()=>Zp,inequalitiesDisabled:()=>Dm,inequalitiesUnsupported:()=>sc,integralArgumentTypeError:()=>Ub,integralLowerBoundTypeError:()=>zb,integralMissingBody:()=>qP,integralMissingBound:()=>GP,integralMissingDifferential:()=>kP,integralUpperBoundTypeError:()=>Hb,internal:()=>J,invalidDependentFirstTableColumn:()=>RL,invalidDoubleEquality3d:()=>vP,invalidDoubleInequality3d:()=>MP,invalidDoubleInequalityVariables:()=>Sm,invalidFirstTableColumn:()=>OP,invalidFunctionName:()=>Vm,invalidHalfEmptyRange:()=>AP,invalidImplicitVariables:()=>rc,invalidImplicitVariables3d:()=>PP,invalidInequalityVariables:()=>xP,invalidIntervalComprehensionArity:()=>fT,invalidIntervalComprehensionParameter:()=>bl,invalidIntervalComprehensionReturnType:()=>pT,invalidLHS:()=>hP,invalidNestedIntervalComprehension:()=>dT,invalidOperatorName:()=>Fx,invalidRegressionParameter:()=>CP,invalidSubscript:()=>wx,invalidTableEntry:()=>ml,invalidTableHeader:()=>SP,listComprehensionIncorrectInput:()=>tT,listComprehensionInputListTypeError:()=>eT,listTypeError:()=>ec,logScaleBoxPlot:()=>ix,logScaleDotPlot:()=>rx,logScaleHistogram:()=>nx,logScaleTypeError:()=>cl,logbaseUnsupported:()=>QP,malformedList:()=>Ex,malformedPoint:()=>Ix,matrixAddDimensions:()=>zL,matrixAssignment:()=>kL,matrixElementTypeError:()=>YL,matrixFractionalPower:()=>qL,matrixInvalidVariable:()=>XL,matrixMultiplyDimensions:()=>UL,matrixPowerDimensions:()=>$L,matrixSubtractDimensions:()=>HL,maxListSize:()=>Qp,methodRequiresList:()=>As,mismatchedBraces:()=>YP,mismatchedDoubleInequality:()=>Om,mixedComparatorChain:()=>Eb,mixedRestrictionEquation:()=>ax,multipleEqualityRestrictions:()=>ox,multiplyDefined:()=>dl,multiplyDefinedByTables:()=>Qx,multiplyTypeError:()=>qp,multiplyTypeError2D:()=>Yp,multiplyTypeError3D:()=>Xp,multiplyTypeErrorCross:()=>$p,negativeTypeError:()=>Ib,nonArithmeticRange:()=>of,nonListDoubleReducer:()=>sf,nonListParameterizedReducer:()=>NP,nonSquareDeterminant:()=>AL,nonSquareInverse:()=>LL,nonSquareTrace:()=>_L,opaque:()=>Up,optimizationError:()=>RP,orTypeError:()=>Sb,orderedPairAccessTypeError:()=>Cb,parameterAlreadyDefined:()=>Im,parenthesesUnavailable:()=>KP,pdfWrongArity:()=>dx,percentMissingOf:()=>ZP,piecewiseBranchTypeError:()=>Yb,piecewiseConditionTypeError:()=>cm,piecewiseMissingCondition:()=>Yx,piecewisePartMissingCondition:()=>Xx,pointTypeError:()=>Ob,pointsUnsupported:()=>ac,polygonTwoNumbersError:()=>Kp,polygonUnsupportedIn3d:()=>wm,primeWithoutParen:()=>Pm,primedFunctionArity:()=>nc,productArgumentTypeError:()=>kb,productInfiniteBoundError:()=>um,productLowerBoundTypeError:()=>Bb,productMissingBody:()=>UP,productMissingBound:()=>LP,productUpperBoundTypeError:()=>Gb,randomArity:()=>hx,randomFromBroadcastDistribution:()=>bx,recursionCyclicDependency:()=>fb,recursionDoesNotTerminate:()=>db,recursiveDepthExceeded:()=>mb,recursiveFunctionCannotDependOnFreeVariable:()=>lb,recursiveFunctionMissingBaseCase:()=>rm,recursiveFunctionMissingBaseCaseWithMetadata:()=>cb,regressionTypeError:()=>Wb,regressionsUnsupported:()=>oc,selfReferentialFunctions:()=>$a,setLogInternalErrors:()=>ub,shadowedIndex:()=>Em,shadowedIntegrationVariable:()=>_m,shadowedListComprehensionInput:()=>Gm,singleVariableImplicitEquationsDisabled:()=>TP,singularInverse:()=>wL,sliderLimitReferencesExport:()=>tP,sliderMaxInvalid:()=>rP,sliderMaxLessThanMin:()=>iP,sliderMinInvalid:()=>nP,sliderStepInvalid:()=>sP,substitutionAmbiguousComma:()=>Ya,substitutionBodyAction:()=>WL,substitutionBodyDependsOnRegression:()=>uT,substitutionDuplicateSymbol:()=>cT,substitutionFunctionLHS:()=>hl,substitutionIllegalLHS:()=>gl,substitutionInvalidAssignments:()=>mf,substitutionLocalLHS:()=>yf,substitutionNested:()=>km,substitutionRecursiveShadow:()=>gf,substitutionTypeError:()=>ZL,substitutionUnsupportedInterval:()=>zm,subtractTypeError:()=>xb,sumArgumentTypeError:()=>Vb,sumInfiniteBoundError:()=>am,sumLowerBoundTypeError:()=>wb,sumMissingBody:()=>HP,sumMissingBound:()=>_P,sumUpperBoundTypeError:()=>Fb,superscriptWithPrime:()=>Bx,tableCycleWithoutGlobalDefinition:()=>Kx,tableEntryTypeError:()=>Zb,tableHeaderTypeError:()=>Xb,tdistWrongArity:()=>gx,threeDLengthTypeError:()=>_b,tickerMinStepNonNegativeNumber:()=>eP,tokenWithSubscript:()=>Dx,tooManyArguments:()=>ym,tooManyVariables:()=>tn,transformationDefinitionTypeError:()=>Rb,transformationTypeError:()=>Nb,ttestListTooShort:()=>yl,unaryOperatorMissingLeft:()=>Cx,unaryOperatorMissingRight:()=>Rx,unexpectedEquality:()=>hb,unexpectedInequality:()=>om,unexpectedPrime:()=>xm,unexpectedSubscript:()=>Vx,unexpectedSymbol:()=>Nr,unplottableEqualityChain:()=>DP,unplottableLongInequalityChain:()=>Mb,unplottablePolarFunction:()=>bP,unrecognizedSymbol:()=>sm,updateRuleFunctionLHS:()=>lm,updateRuleIllegalLHS:()=>ex,updateRuleLocalLHS:()=>pm,updateRuleNonIdentifierLHS:()=>Jb,updateRuleTypeError:()=>jb,updateRuleUndefinedLHS:()=>Kb,useRForCylindricalCoordinates:()=>dP,useRhoForSphericalCoordinates:()=>fP,variableAsFunction:()=>Nm,variableLengthDistributionList:()=>df,variableLengthIntegralDependsOnIntegrationVariable:()=>aT,variableLengthProductBodyDependsOnIndex:()=>oT,variableLengthSumBodyDependsOnIndex:()=>sT,variableLengthTopLevelList:()=>iT,variableSeed:()=>jP,variableUnsupported:()=>Fm,variablesUnsupported:()=>cf,writeIntegral:()=>Lm,wrongArity:()=>ds,wrongDoubleReducerArity:()=>ef,wrongParameterizedReducerArity:()=>Px,zeroArgReducer:()=>Tx});function kp(e){return{__isLocalizableNumericValue:!0,value:e}}function Mq(e){return e&&e.__isLocalizableNumericValue}var nm=!1;function ub(e){nm=e}function OL(){return nm}function CL(...e){nm&&console.error(...e)}function J(e){if(nm){let t=e instanceof Error?e:new Error(`${e}`);return CL(t.stack),new C(S(\"shared-calculator-error-internal-error\",{msg:t.message}))}return new C(S(\"shared-calculator-error-parse-error\"))}function rm(e){let t=e.length,n=e[0];return new C(S(\"shared-calculator-error-recursion-missing-base-case\",{count:kp(t),lastSymbol:X(n),symbols:e.slice(1).map(r=>X(r)).join(\"', '\")}))}function cb(e,t){let n=rm(e);return n.recursionMetadata=t,n}function lb(e){return new C(S(\"shared-calculator-error-recursion-base-case-free-variable\",{freeVariable:X(e)}))}function pb(e){return new C(S(\"shared-calculator-error-recursion-base-case-free-variable\",{freeVariable:X(e)}))}function zp(){return new C(S(\"shared-calculator-error-recursion-base-case-same-type\")).allowExport()}function Hp(){return new C(S(\"shared-calculator-error-recursion-base-case-too-complicated\"))}function im(){return new C(S(\"shared-calculator-error-recursion-base-case-argument-non-number\"))}function fb(){return new C(S(\"shared-calculator-error-recursion-does-not-terminate\"))}function db(){return new C(S(\"shared-calculator-error-recursion-does-not-terminate\"))}function mb(){return new C(S(\"shared-calculator-error-recursion-depth-limit-exceeded\"))}function yb(e,t){return new C(S(\"shared-calculator-error-recursion-wrong-arity\",{fnSymbol:X(e),count:kp(t)}))}function gb(e,t,n){return new C(S(\"shared-calculator-error-recursion-argument-type\",{index:e+1,expectedType:t,foundType:n})).allowExport()}function Up(){return new C(S(\"shared-calculator-error-parse-error\"))}function sm(e){return e=X(e),new C(S(\"shared-calculator-error-unrecognized-symbol\",{symbol:e}))}function om(){return new C(S(\"shared-calculator-error-unexpected-inequality\"))}function hb(){return new C(S(\"shared-calculator-error-unexpected-equality\"))}function Nr(e){return e=X(e),new C(S(\"shared-calculator-error-unexpected-symbol\",{symbol:e}))}function bb(e){return new C(S(\"shared-calculator-error-add-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function xb(e){return new C(S(\"shared-calculator-error-subtract-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function qp(e){return new C(S(\"shared-calculator-error-multiply-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function $p(e){return new C(S(\"shared-calculator-error-multiply-type-error-cross\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Yp(e){return new C(S(\"shared-calculator-error-multiply-type-error-2d\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Xp(e){return new C(S(\"shared-calculator-error-multiply-type-error-3d\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Pb(e){return new C(S(\"shared-calculator-error-divide-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Tb(e){return new C(S(\"shared-calculator-error-exponent-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Ib(e){return new C(S(\"shared-calculator-error-negative-type-error\",{symbol:e[0]})).allowExport()}function Eb(){return new C(S(\"shared-calculator-error-mixed-comparator-chain\"))}function Mb(){return new C(S(\"shared-calculator-error-unplottable-long-inequality-chain\"))}function vb(e){return new C(S(\"shared-calculator-error-comparator-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Db(e){return new C(S(\"shared-calculator-error-operator-type-error\",{symbol:\"and\",symbol1:e[0],symbol2:e[1]})).allowExport()}function Sb(e){return new C(S(\"shared-calculator-error-operator-type-error\",{symbol:\"or\",symbol1:e[0],symbol2:e[1]})).allowExport()}function ec(e){return new C(S(\"shared-calculator-error-list-type-error\",{symbol1:e[0]})).allowExport()}function Ob(e){return new C(S(\"shared-calculator-error-point-type-error\",{symbol1:e,symbol2:ne(R)})).allowExport()}function Zp(e){return new C(S(\"shared-calculator-error-index-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function Cb(e){return new C(S(\"shared-calculator-error-ordered-pair-access-type-error\",{symbol:e[0]})).allowExport()}function Pi(e,t){switch(t.length){case 1:return new C(S(\"shared-calculator-error-function-type-error-1\",{fn:X(e),arg:t[0]})).allowExport();case 2:return new C(S(\"shared-calculator-error-function-type-error-2\",{fn:X(e),arg1:t[0],arg2:t[1]})).allowExport();default:return new C(S(\"shared-calculator-error-function-type-error-many\",{fn:X(e)})).allowExport()}}var ab={translate:\"translation\",rotate:\"rotation\",dilate:\"dilation\",reflect:\"reflection\"};function Rb(e,t,n){let r=[];if(!Array.isArray(n))return Pi(e,t);for(let s=1;sr.length?\"shared-calculator-error-transformation-definition-expected-types-use-fewer-1\":\"shared-calculator-error-transformation-definition-expected-types-1\",{arg:r[0]});break;case 2:i=S(t.length>r.length?\"shared-calculator-error-transformation-definition-expected-types-use-fewer-2\":\"shared-calculator-error-transformation-definition-expected-types-2\",{arg1:r[0],arg2:r[1]});break}switch(t.length){case 1:return new C(S(t.lengthn.scope===\"free\").map(n=>n.symbol);return new C(S(\"shared-calculator-error-action-merge-free-variable\",{symbol:X(t[0]||\"\")})).setDependencies(t).allowExport()}function jp(e){return new C(S(\"shared-calculator-error-event-handler-type-error\",{example:\"a\\u2192a+1\"}))}function Jp(){return new C(S(\"shared-calculator-error-heterogeneous-list\")).allowExport()}function fm(e){return new C(S(\"shared-calculator-error-combine-type-error\",{symbol1:e[0],symbol2:e[1]})).allowExport()}function cl(e){return new C(S(\"shared-calculator-error-log-scale-type-error\",{symbol:e})).allowExport()}function nx(){return new C(S(\"shared-calculator-error-log-scale-histogram\"))}function rx(){return new C(S(\"shared-calculator-error-log-scale-dot-plot\"))}function ix(){return new C(S(\"shared-calculator-error-log-scale-box-plot\"))}function sx(){return new C(S(\"shared-calculator-error-deeply-nested\")).allowExport()}function ox(){return new C(S(\"shared-calculator-error-3d-multiple-equality-restrictions\")).allowExport()}function ax(){return new C(S(\"shared-calculator-error-3d-mixed-restriction-equation\")).allowExport()}function Bo(){return new C(S(\"shared-calculator-error-3d-bad-equality-slice\")).allowExport()}function tc(e){return new C(S(\"shared-calculator-error-gpu-variable-list-length\",{symbol:X(e.filter(t=>t.symbol!==\"globalRandomSeed\")[0].symbol)}))}function dm(e){return new C(S(\"shared-calculator-error-gpu-variable-sum\",{symbol:X(e[0].symbol)}))}function mm(e){return new C(S(\"shared-calculator-error-gpu-variable-product\",{symbol:X(e[0].symbol)}))}function ll(e){return new C(S(\"shared-calculator-error-gpu-function-unsupported\",{symbol:X(e)}))}function ux(){return new C(S(\"shared-calculator-error-gpu-integral-unsupported\"))}function cx(){return new C(S(\"shared-calculator-error-gpu-long-sum\",{maxTermCount:1e3.toLocaleString()}))}function lx(){return new C(S(\"shared-calculator-error-gpu-long-product\",{maxTermCount:1e3.toLocaleString()}))}function pl(){return new C(S(\"shared-calculator-error-gpu-max-list-size\",{maxListSize:100 .toLocaleString()}))}function Qp(){return new C(S(\"shared-calculator-error-max-list-size\",{maxListSize:1e4.toLocaleString()})).allowExport()}function Kp(){return new C(S(\"shared-calculator-error-two-numbers-error\"))}function px(){return new C(S(\"shared-calculator-error-boxplot-offset-invalid\"))}function fx(){return new C(S(\"shared-calculator-error-boxplot-breadth-invalid\"))}function ym(e,t){return new C(S(\"shared-calculator-error-too-many-arguments\",{symbol:e,max:t}))}function dx(){var e=S(\"shared-calculator-error-pdf-wrong-arity-recommendation\"),t=S(\"shared-calculator-error-pdf-wrong-arity\",{recommendation:e});return new C(t)}function mx(){var e=S(\"shared-calculator-error-cdf-wrong-arity-recommendation\"),t=S(\"shared-calculator-error-cdf-wrong-arity\",{recommendation:e});return new C(t)}function yx(){var e=S(\"shared-calculator-error-cdf-too-many-arguments-recommendation\"),t=S(\"shared-calculator-error-cdf-too-many-arguments\",{recommendation:e});return new C(t)}function gx(){return new C(S(\"shared-calculator-error-tdist-wrong-arity\"))}function hx(){return new C(S(\"shared-calculator-error-random-arity\"))}function bx(){return new C(S(\"shared-calculator-error-random-from-broadcast-distribution\"))}function xx(e){var t=e===\"rgb\"?[150,30,100]:[180,.5,.5],n=S(\"shared-calculator-error-color-arity-recommendation\",{recommendation:X(e)+\"(\"+t.join(\", \")+\")\"}),r=S(\"shared-calculator-error-color-arity\",{symbol:e,recommendation:n});return new C(r)}function ds(e,t,n,r){e=X(e);var i,s;if(t===1)r||(r=e+\"(x)\"),s=S(\"shared-calculator-error-wrong-arity-supplement\",{recommendation:r}),n>1?i=S(\"shared-calculator-error-wrong-arity-single-arg-too-many\",{dependency:e,supplement:s}):i=S(\"shared-calculator-error-wrong-arity-single-arg-too-few\",{dependency:e,supplement:s});else{var o=[];if(!r){for(var a=0;aX(r)).join(\"', '\"),lastSymbol:X(n),count:kp(t)}))}function eP(){return new C(S(\"shared-calculator-error-ticker-min-step-nonnegative\"))}function tP(e){return new C(S(\"shared-calculator-error-slider-limit-references-export\",{symbol:X(e)}))}function nP(){return new C(S(\"shared-calculator-error-slider-min-invalid\"))}function rP(){return new C(S(\"shared-calculator-error-slider-max-invalid\"))}function iP(){return new C(S(\"shared-calculator-error-slider-max-less-than-min\"))}function sP(){return new C(S(\"shared-calculator-error-slider-step-invalid\"))}function oP(){return new C(S(\"shared-calculator-error-domain-min-invalid\"))}function aP(){return new C(S(\"shared-calculator-error-domain-max-invalid\"))}function uP(){return new C(S(\"shared-calculator-error-domain-max-less-than-min\"))}function cP(){return new C(S(\"shared-calculator-error-cdf-min-invalid\"))}function lP(){return new C(S(\"shared-calculator-error-cdf-max-invalid\"))}function pP(){return new C(S(\"shared-calculator-error-cdf-max-less-than-min\"))}function fP(){return new C(S(\"shared-calculator-error-use-rho-for-spherical-coordinates\"))}function dP(){return new C(S(\"shared-calculator-error-use-r-for-cylindrical-coordinates\"))}function vm(){return new C(S(\"shared-calculator-error-cant-combine-spherical-and-cylindrical\"))}function tn(e){if(e=e.map(X),e.length===0)return new C(S(\"shared-calculator-error-too-many-variables-no-symbols\"));var t=e.pop()||\"\";return e.length>0?new C(S(\"shared-calculator-error-too-many-variables-many-symbols\",{variables:e.join(\"', '\"),lastVariable:t})):new C(S(\"shared-calculator-error-too-many-variables-one-symbol\",{variable:t}))}function mP(e){return new C(S(\"shared-calculator-error-cannot-restrict\",{variable:X(e)}))}function yP(e){return new C(S(\"shared-calculator-error-cannot-assign-color\",{variable:X(e)}))}function gP(e){return new C(S(\"shared-calculator-error-cannot-restrict-with-equality\",{variable:X(e)}))}function rf(e,t,n){e=e.map(X),t=X(t),n=n.map(X);var r=t+\"(\"+n.join(\",\")+\",\"+e.join(\",\")+\")\",i=e.pop()||\"\",s={symbols:e.join(\"', '\"),lastSymbol:i,newSignature:r};return e.length?new C(S(\"shared-calculator-error-add-arguments-to-definition-many\",s)):new C(S(\"shared-calculator-error-add-arguments-to-definition-one\",s))}function hP(e){return e=X(e),new C(S(\"shared-calculator-error-invalid-lhs\",{symbol:e}))}function bP(){return new C(S(\"shared-calculator-error-unplottable-polar-function\"))}function xP(){return new C(S(\"shared-calculator-error-invalid-inequality-variables\"))}function rc(){return new C(S(\"shared-calculator-error-invalid-implicit-variables\"))}function PP(){return new C(S(\"shared-calculator-error-invalid-implicit-variables-3d\"))}function TP(){return new C(S(\"shared-calculator-error-single-variable-implicit-equations-disabled\"))}function IP(){return new C(S(\"shared-calculator-error-implicits-disabled\"))}function Dm(){return new C(S(\"shared-calculator-error-inequalities-disabled\"))}function EP(){return new C(S(\"shared-calculator-error-complicated-polar-implicit\"))}function MP(){return new C(S(\"shared-calculator-error-invalid-double-inequality-3d\"))}function vP(){return new C(S(\"shared-calculator-error-invalid-double-equality-3d\"))}function DP(){return new C(S(\"shared-calculator-error-unplottable-chained-equality\"))}function Sm(){return new C(S(\"shared-calculator-error-invalid-double-inequality-variables\"))}function Om(){return new C(S(\"shared-calculator-error-mismatched-double-inequality\",{example:\"1 < y < 2\"}))}function Cm(){return new C(S(\"shared-calculator-error-complicated-double-inequality\"))}function Rm(e){return e?(e=X(e),new C(S(\"shared-calculator-error-equation-required-symbol\",{lhs:e+\"=\"}))):new C(S(\"shared-calculator-error-equation-required\"))}function Nm(e){return e=X(e),new C(S(\"shared-calculator-error-variable-as-function\",{dependency:e}))}function Am(e){return e=X(e),new C(S(\"shared-calculator-error-distribution-as-function\",{symbol:e}))}function SP(e){return new C(S(\"shared-calculator-error-invalid-table-header\",{supplement:e}))}function ml(e){return new C(S(\"shared-calculator-error-invalid-table-entry\",{supplement:e}))}function OP(){return new C(S(\"shared-calculator-error-invalid-first-table-column\",{most:\"'y', 'r',\",last:\"'\\u03B8'\"}))}function RL(){return new C(S(\"shared-calculator-error-invalid-dependent-first-table-column\"))}function CP(e){return new C(S(\"shared-calculator-error-invalid-regression-parameter\",{symbol:X(e)}))}function RP(){return new C(S(\"shared-calculator-error-optimization-error\"))}function sf(e){return new C(S(\"shared-calculator-error-non-list-double-reducer\",{symbol:X(e),recommendation:X(e)+\"([1,2,3], [3,2,1])\"})).allowExport()}function NP(e){return new C(S(\"shared-calculator-error-non-list-parameterized-reducer\",{symbol:X(e),recommendation:X(e)+\"([1,2,3], 1)\"})).allowExport()}function As(e){return new C(S(\"shared-calculator-error-method-requires-list\",{symbol:X(e),recommendation:X(e)+\"([1,2,3])\"})).allowExport()}function NL(e,t){return new C(S(\"shared-calculator-error-variable-function-free-variable\",{functionSymbol:e,variableSymbol:t})).allowExport()}function of(){return new C(S(\"shared-calculator-error-non-arithmetic-range\")).allowExport()}function AP(){return new C(S(\"shared-calculator-error-invalid-half-empty-range\"))}function _P(){return new C(S(\"shared-calculator-error-sum-missing-bound\"))}function LP(){return new C(S(\"shared-calculator-error-product-missing-bound\"))}function wP(){return new C(S(\"shared-calculator-error-incorrect-sum-lower-bound\"))}function FP(){return new C(S(\"shared-calculator-error-incorrect-product-lower-bound\"))}function VP(e){return new C(S(\"shared-calculator-error-bad-sum-bound-dependency\",{symbol:X(e)}))}function BP(e){return new C(S(\"shared-calculator-error-bad-product-bound-dependency\",{symbol:X(e)}))}function GP(){return new C(S(\"shared-calculator-error-integral-missing-bound\"))}function kP(){return new C(S(\"shared-calculator-error-integral-missing-differential\"))}function zP(){return new C(S(\"shared-calculator-error-differential-with-superscript\"))}function HP(){return new C(S(\"shared-calculator-error-sum-missing-body\"))}function UP(){return new C(S(\"shared-calculator-error-product-missing-body\"))}function qP(){return new C(S(\"shared-calculator-error-integral-missing-body\"))}function $P(){return new C(S(\"shared-calculator-error-derivative-missing-body\"))}function YP(e,t){return e=X(e),t=X(t),new C(S(\"shared-calculator-error-mismatched-braces\",{symbol1:e,symbol2:t}))}function _m(e){return new C(S(\"shared-calculator-error-shadowed-integration-variable\",{symbol:X(e)}))}function XP(e){return new C(S(\"shared-calculator-error-bad-integral-bound-dependency\",{symbol:X(e)}))}function ZP(){return new C(S(\"shared-calculator-error-percent-missing-of\"))}function af(e){return e=X(e),new C(S(\"shared-calculator-error-illegal-bin-width\",{symbol:e}))}function yl(e){return e=X(e),new C(S(\"shared-calculator-error-ttest-list-too-short\",{symbol:e}))}function WP(){return new C(S(\"shared-calculator-error-bad-sample-size\"))}function jP(e){return new C(S(\"shared-calculator-error-variable-seed\",{symbol:X(e[0].symbol)})).setDependencies(e.filter(t=>t.scope===\"free\").map(t=>t.symbol)).allowExport()}function uf(e){return new C(S(\"shared-calculator-error-bad-symbol-context\",{symbol:X(e)}))}function Lm(){return new C(S(\"shared-calculator-error-write-integral\",{command:\"integral\",symbol:\"\\u222B\"}))}function JP(){return new C(S(\"shared-calculator-error-ans-undefined\"))}function cf(e){return new C(S(\"shared-calculator-error-variables-unsupported\",{variable:X(e)}))}function wm(){return new C(S(\"shared-calculator-error-polygon-unsupported-in-3d\"))}function ms(e,t=!1){return t&&e===\"polygon\"?wm():new C(S(\"shared-calculator-error-function-unsupported\",{symbol:X(e)}))}function QP(){return new C(S(\"shared-calculator-error-logbase-unsupported\"))}function ic(e){return new C(S(\"shared-calculator-error-constant-unsupported\",{symbol:X(e)}))}function Fm(e){return new C(S(\"shared-calculator-error-variable-unsupported\",{symbol:X(e)}))}function Vm(e){return new C(S(\"shared-calculator-error-variable-invalid-function-name\",{symbol:X(e)}))}function lf(){return new C(S(\"shared-calculator-error-assignments-unsupported\"))}function pf(){return new C(S(\"shared-calculator-error-function-definition-unsupported\"))}function ma(){return new C(S(\"shared-calculator-error-equations-unsupported\"))}function sc(){return new C(S(\"shared-calculator-error-inequalities-unsupported\"))}function oc(){return new C(S(\"shared-calculator-error-regressions-unsupported\"))}function ac(){return new C(S(\"shared-calculator-error-points-unsupported\"))}function ff(){return new C(S(\"shared-calculator-error-feature-unavailable\"))}function Bm(){return new C(S(\"basic-calculator-error-fractions-unavailable\"))}function KP(){return new C(S(\"basic-calculator-error-parentheses-unavailable\"))}function AL(){return new C(S(\"shared-calculator-error-non-square-determinant\"))}function _L(){return new C(S(\"shared-calculator-error-non-square-trace\"))}function LL(){return new C(S(\"shared-calculator-error-non-square-inverse\"))}function wL(){return new C(S(\"shared-calculator-error-non-singular-inverse\"))}function FL(e){return new C(S(\"shared-calculator-error-clickable-object-assignment-not-defined\",{symbol:e}))}function VL(e){return new C(S(\"shared-calculator-error-multiply-defined\",{dependency:e}))}function BL(){return new C(S(\"shared-calculator-error-clickable-object-assignment-not-identifier\"))}function GL(){return new C(S(\"shared-calculator-error-clickable-object-invalid-expression\"))}function kL(){return new C(S(\"shared-calculator-error-matrix-assignment\"))}function zL(){return new C(S(\"shared-calculator-error-matrix-add-dimensions\"))}function HL(){return new C(S(\"shared-calculator-error-matrix-subtract-dimensions\"))}function UL(){return new C(S(\"shared-calculator-error-matrix-multiply-dimensions\"))}function qL(){return new C(S(\"shared-calculator-error-matrix-fractional-power\"))}function $L(){return new C(S(\"shared-calculator-error-matrix-power-dimensions\"))}function YL(e){return new C(S(\"shared-calculator-error-matrix-element-type-error\",{arg:e[0]}))}function XL(e){return new C(S(\"shared-calculator-error-matrix-invalid-variable\",{symbol:X(e)}))}function eT(e,t,n){let r=\"[1...10]\";return n&&!/[\\\\]/.test(n)&&(r=`[${n}]`),new C(S(\"shared-calculator-error-list-comprehension-input-type-error\",{identifier:e,actual:t,example:r})).allowExport()}function tT(){return new C(S(\"shared-calculator-error-incorrect-list-comprehension-input\"))}function Gm(e){return e=X(e),new C(S(\"shared-calculator-error-shadowed-list-comprehension-input\",{symbol:e}))}function nT(e){return e=X(e),new C(S(\"shared-calculator-error-bad-for-input-list-dependency\",{symbol:e}))}function rT(e){return e=X(e),new C(S(\"shared-calculator-error-bad-for-interval-dependency\",{symbol:e}))}function iT(e){let t=e.filter(n=>n.scope===\"free\").map(n=>n.symbol);return new C(S(\"shared-calculator-error-variable-length-top-level-list\",{symbol:X(t[0]||\"\")})).setDependencies(t).allowExport()}function df(e){return new C(S(\"shared-calculator-error-variable-length-distribution-list\",{symbol:e[0].symbol})).setDependencies(e.filter(t=>t.scope===\"free\").map(t=>t.symbol))}function sT(e){return new C(S(\"shared-calculator-error-variable-length-sum-body-depends-on-index\",{symbol:e}))}function oT(e){return new C(S(\"shared-calculator-error-variable-length-product-body-depends-on-index\",{symbol:e}))}function aT(e){return new C(S(\"shared-calculator-error-variable-length-integral-depends-on-integration-var\",{symbol:e}))}function ZL(e,t){return new C(S(\"shared-calculator-error-substitution-type-error\",{actual:ne(e),expected:ne(t)}))}function mf(){return new C(S(\"shared-calculator-error-substitution-invalid-assignments\"))}function yf(e){return new C(S(\"shared-calculator-error-substitution-local-lhs\",{symbol:X(e)}))}function gl(e){return new C(S(\"shared-calculator-error-substitution-illegal-lhs\",{symbol:X(e)}))}function hl(e){return new C(S(\"shared-calculator-error-substitution-function-lhs\",{symbol:X(e)}))}function uT(e,t,n){return new C(S(\"shared-calculator-error-substitution-body-regression-parameter-dependency\",{globalVariable:X(e),regressionParameter:X(t),operator:n}))}function WL(){return new C(S(\"shared-calculator-error-substitution-body-action\"))}function km(){return new C(S(\"shared-calculator-error-substitution-nested\"))}function Ya(e){return new C(S(\"shared-calculator-error-substitution-ambiguous-comma\",{operation:e}))}function cT(e){return new C(S(\"shared-calculator-error-substitution-duplicate-assignment\",{symbol:X(e)}))}function gf(e){return new C(S(\"shared-calculator-error-substitution-recursion-shadow\",{symbol:X(e)}))}function lT(){return new C(S(\"shared-calculator-error-depends-on-deleted-geo-object\"))}function pT(e){return new C(S(\"shared-calculator-error-invalid-interval-comprehension-return-type\",{type:ne(e)}))}function fT(e,t){return new C(S(\"shared-calculator-error-bad-interval-comprehension-arity\",{type:ne(e),count:kp(t)}))}function bl(e){return new C(S(\"shared-calculator-error-invalid-interval-comprehension-invalid-bound\",{identifier:e}))}function dT(){return new C(S(\"shared-calculator-error-nested-interval-comprehension\"))}function zm(){return new C(S(\"shared-calculator-error-substitution-unsupported-interval\"))}function jL(e,t){let n=Rr[e[0]].direction===-1?new ni([t[1],t[0]]):new ni([t[0],t[1]]);switch(e.length){case 0:throw new Error(\"Programming Error: ComparatorChain must have at least one comparator\");case 1:return n;case 2:return new hr([new qr[e[1]](t.slice(1)),n,new Zt(NaN)]);default:return new hr([new Xa(e.slice(1),t.slice(1)),n,new Zt(NaN)])}}var Xa=class extends j{constructor(n,r){super(r);this.symbols=n;if(n.length<1)throw\"Programming Error: ComparatorChain must have at least one comparator.\";if(r.length!==n.length+1)throw\"Programming Error: ComparatorChain must have one more arg than symbols\";if(n.includes(\"=\")&&!n.every(i=>i===\"=\"))throw Eb();this._difference=jL(n,r)}isInequality(){return!this.symbols.includes(\"=\")}};var Hm=class extends Tt{constructor(t){super();let[n,r,i,s,o]=t;this.args=t,this._symbol=i._symbol,this._operators=[r,s],this._expressions=[n,o];var a=Qu(Rr[r].inclusive&&Rr[t[3]].inclusive,Rr[t[1]].direction);this._indicator=new qr[a]([t[0],t[4]]),this.addDependency(this._symbol),this.mergeDependencies(this._expressions[0],this._expressions[1])}isInequality(){return!0}isShadeBetween(){return!0}};var Za=class extends j{constructor(t){super(t,{skipRegisterDependencies:!0}),this._index=t[0],this.registerDependencies()}registerDependencies(){for(let t=1;t<=3;t++)this.mergeDependenciesInScope(this.type,[this._index._symbol],this.args[t])}};var xl=class extends Za{constructor(){super(...arguments);this.in_place_operator=\"+=\";this.starting_value=0}evaluateConstant(n){var r=1+Math.round(n[1])-Math.round(n[0]);return r<=0?this.starting_value:r*n[2]}update(n,r){return n+r}};var Pl=class extends Za{constructor(){super(...arguments);this.in_place_operator=\"*=\";this.starting_value=1}evaluateConstant(n){var r=1+Math.round(n[1])-Math.round(n[0]);return r<=0?this.starting_value:Math.pow(n[2],r)}update(n,r){return n*r}};var Tl=class extends j{constructor(t){super(t,{skipRegisterDependencies:!0}),this._differential=t[0],this.registerDependencies()}registerDependencies(){for(let t=1;t<=3;t++)this.mergeDependenciesInScope(this.type,[this._differential._symbol],this.args[t])}};var Il=class extends j{constructor(t){super(t),this._symbol=t[0]._symbol,this._lhs=t[0],this._rhs=t[1]}};var ya=class extends j{constructor(n,r,i,s,o=[]){super([n,r].concat(i),{skipRegisterDependencies:!0});this.shouldCoerceToList=s;this.parameters=o;this._index=n,this._body=r,this._inputLists=i,this.registerDependencies()}registerDependencies(){var n=[];n.push(this._index._symbol);for(let r of this._inputLists){let i=r._symbol;this.addSubstitutionSymbol(i),n.push(i)}for(let r of this.parameters){let i=r.identifier._symbol;n.push(i),this.addDependency(i)}for(let r of this._inputLists)this.mergeDependenciesInScope(this.type,n,r.args[1]);for(let r of this.parameters)this.mergeDependenciesInScope(this.type,n,r.bounds[0]),this.mergeDependenciesInScope(this.type,n,r.bounds[1]);this.mergeDependenciesInScope(this.type,n,this._body)}};var Wa=class extends cn{constructor(t,n){super(t,n),this.seed=n[0]}};var El=class extends j{registerDependencies(){if(super.registerDependencies(),this.args[0].type===\"Identifier\"){var t=this.args[0]._symbol;Ha(t)&&this.addDependency(\"trigAngleMultiplier\")}}};var Ml=class extends j{registerDependencies(){if(this.addDependency(\"factorial\"),super.registerDependencies(),this.args[0].type===\"Identifier\"){var t=this.args[0]._symbol;Ha(t)&&this.addDependency(\"trigAngleMultiplier\")}}};var uc=class extends j{constructor(t,n){super(n),this.order=t}};var vl=class extends j{};var cc=class extends j{constructor(t,n){super(n),t instanceof ze?this._symbol=t._symbol:this._symbol=new ze(t)._symbol,this.addDependency(this._symbol)}};var Dl=class extends j{constructor(t){super(t,{skipRegisterDependencies:!0}),this._symbol=t[0]._symbol,this._expression=t[1],this.registerDependencies()}registerDependencies(){this.addUpdateSymbol(this._symbol),this.mergeDependencies(this._expression)}};var Go=class extends j{constructor(t,n){super([t].concat(n),{skipRegisterDependencies:!0}),this._body=t,this._assignments=n,this.registerDependencies()}registerDependencies(){for(var t=[],n=0;nr._symbol),this._expression=n,this._concatenatedSymbol=this._symbols.join(\"\"),this.mergeDependencies(n)}asEquation(){let t=new ko(new Qi(this._symbols.map(n=>new ze(n))),this._expression);return t.userData=this.userData,t.metaData=this.metaData,t}};var cr=class extends Tt{constructor(n,r,i,s){super();this.recursionInfo=s;this.externalBaseCases=[];this.isFunction=!0;this._symbol=n._symbol,this._argSymbols=r.map(function(o){return o._symbol});for(let o of this._argSymbols)if(o===this._symbol)throw jx(o);this._exports=[this._symbol],this._expression=i,this.mergeDependenciesInScope(this.type,[this._symbol].concat(this._argSymbols),this._expression,{functionDefinitionSymbol:this._symbol}),this.combinedDependencies=super.getDependencies()}getDependencies(){return this.combinedDependencies}setExternalBaseCases(n){this.externalBaseCases=[...n],this.combinedDependencies=[...super.getDependencies()];for(let r of n){let i=r.getRef();i&&this.combinedDependencies.push(i)}}getExternalBaseCases(){return this.externalBaseCases}getSliderVariables(n,r){var i=this._argSymbols;return super.getSliderVariables(n,r).filter(function(s){return i.indexOf(s)===-1})}asEquation(){var n=this._argSymbols.map(function(i){return new ze(i)}),r=new ko(new cn(new ze(this._symbol),n),this._expression);return r.userData=this.userData,r.metaData=this.metaData,r}};var ja=class extends Tt{constructor(t,n){super(),this._symbol=t._symbol,this.mergeDependencies(t,n),this._lhs=t,this._rhs=n}asComparator(){return new qr[\"=\"]([this._lhs,this._rhs])}};var qm=class extends Tt{constructor(n,r){super();this.isRegression=!0;this._lhs=n,this.isLhsSimple=n instanceof ze,this._logLhs=new cn(\"ln\",[n]),this._rhs=r,this._difference=new ni([n,r]),this._logDifference=new ni([new cn(\"ln\",[n]),new cn(\"ln\",[r])]),this.mergeDependencies(n,r)}exportTo(n,r,i){if(!r.isError){for(var s in r.parameters)r.parameters.hasOwnProperty(s)&&(n.assignmentForbidden(s)||(i[s]=i[s]?dl(s):r.parameters[s]));n.assignmentForbidden(r.residualVariable)||(i[r.residualVariable]=r.residuals)}}getSliderVariables(){return[]}};var $m=class extends Tt{constructor(n,r){super();this.isImage=!0;this.center=n.center,this.radianAngle=n.radianAngle,this.width=n.width,this.height=n.height,this.opacity=n.opacity,this.moveStrategy=r,this.mergeDependencies(this.center,this.radianAngle,this.width,this.height,this.opacity)}};var Ym=class extends Tt{constructor(t){super(),this.handler=t.handler,this.minStep=t.minStep,this.mergeDependencies(this.handler),this.mergeDependencies(this.minStep)}};var Xm=class extends ga{constructor(n,r){super(new ze(n._symbol),n._expression);this.isSlider=!0;this.setInputSpan(n._inputSpan),this.sliderAssignment=n,this.sliderMin=r.sliderMin,this.sliderMax=r.sliderMax,this.sliderSoftMin=r.sliderSoftMin,this.sliderSoftMax=r.sliderSoftMax,this.sliderStep=r.sliderStep,this.sliderIsPlayingOnce=r.sliderIsPlayingOnce,this.sliderMin&&this.mergeDependencies(this.sliderMin),this.sliderMax&&this.mergeDependencies(this.sliderMax),this.sliderStep&&this.mergeDependencies(this.sliderStep)}shouldPromoteToSlider(n){return!1}asAssignment(){return new ga(this._symbol,this._expression)}};var lc=class extends j{constructor(n){let r=new Zt(n);super([r]);this.value=n;this._constantNode=r}asValue(){return this._constantNode.asValue()}asCompilerValue(){return this._constantNode.asCompilerValue()}};var Zm=class extends Tt{constructor(n){super();this.exportPenalty=1;this.isTable=!0;this.columns=n,this.mergeDependencies.apply(this,n)}getExports(n){let r=[];for(var i=0;i0;){r=0;for(let i=t;i>=0;i--){if(!n[i])continue;let s=e.getInstruction(i);if(!be(s))for(let o of e.getDirectDependencies(s))o>i&&!n[o]&&o>r&&(r=o),n[o]=!0}}return n}function wv(e,t){let n=new Array(t);for(let i=0;i0;){r=0;for(let i=t;i>=0;i--){if(!n[i])continue;let s=e.getInstruction(i);if(!be(s))if(s.type===33)n[s.args[1]]=!0,n[s.args[2]]=!0;else for(let o of e.getDirectDependencies(s))o>i&&!n[o]&&(r=o),n[o]=!0}}return n}function Fv(e,t){let n=e.getReturnIndex(),r=new Array(n),i=new Array(n).fill(!1);for(let o=0;o<=n;o++){let a=e.getInstruction(o);ri(a)||Ti(a)||a.type===48||a.type===47&&e.getInstruction(a.args[0]).type!==22||a.type===0||a.type===55?r[o]=2:r[o]=0}r[n]===0&&(r[n]=1,i[n]=!0);let s=0;for(let o=n;o>=0;o--){if(!t[o])continue;let a=e.getInstruction(o);if(a.type===54?s++:a.type===53&&s--,be(a))continue;if(a.type===19||a.type===20||a.type===24||a.type===54||a.type===39||a.type===55)for(let c of a.args){let l=e.getInstruction(c);r[c]===0&&l.type===1&&l.valueType===T?(r[c]=1,i[c]=!0):(r[c]=2,i[c]=!1)}else{for(let c of a.args)switch(r[c]){case 0:r[c]=1,i[c]=!0;break;case 1:case 2:r[c]=2,i[c]=!1;break}s>0&&a.type===33&&(r[o]=2,i[o]=!1)}}return i}function tw(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}var Qm=class{constructor(t,n,r){this.chunk=t;this.referenced=n;this.shouldInline=r;this.thunkSets=[];this.thunkStarts=[];this.thunkEnds=[];this._isThunkEnd=[];this.piecewiseReferencedCount=[];this.dependencyThunkNames=[];this.parentFunctionStart=[];let i=t.getReturnIndex();for(let a=0;a<=t.instructionsLength();a++)this.thunkSets[a]=new Set;let s=t.argNames.length,o;for(let a=s;a<=t.getReturnIndex();a++){let u=t.getInstruction(a);this.parentFunctionStart[a]=o,u.type===53?o=a:u.type===54&&(o=void 0)}this.markThunkSets(s,i,[i],\"always\"),this.markThunks(s,i)}isThunkBegin(t){return this.thunkStarts[t]===t}isThunkEnd(t){return!!this._isThunkEnd[t]}containingThunkName(t){return this.thunkStarts[t]}thunkEnd(t){return this.thunkEnds[t]}isEarlyReturningThunk(t){let n=this.parentFunctionStart[t];return this.isThunkBegin(t)&&n!==void 0}dependencyThunkNamesForPiecewiseBranch(t){return this.dependencyThunkNames[t]}wantToInlineThunk(t){let n=this.thunkSets[t];if(n!==\"always\"&&n.size===1){for(let r of n)if(this.piecewiseReferencedCount[r]!==1)return!1;return!0}return!1}printChunkWithThunkInfo(){for(let t=0;t<=this.chunk.getReturnIndex();t++){let n=this.thunkSets[t],r=n===\"always\"?\"always\":`{${[...n].sort().join(\",\")}}`;if(this.isThunkBegin(t)&&(r+=\" beginThunk\"),this.isThunkEnd(t))r+=\" endThunk\";else{let i=this.containingThunkName(t);i!==void 0&&(r+=` start:${i}`)}this.shouldInline[t]&&(r+=\"\t[inline]\"),this.chunk.comments[t]=r}return this.chunk.print(this.chunk.getReturnIndex())}markThunkSets(t,n,r,i){let{chunk:s,referenced:o,thunkSets:a,piecewiseReferencedCount:u}=this;for(let l of r)a[l]=\"always\";function c(l,p){let f=a[l];if(f!==\"always\"){if(p===\"always\"){a[l]=p;return}for(let m of p)f.add(m)}}for(let l=n;l>=t;l--){if(!o[l])continue;let p=s.getInstruction(l);if(be(p))continue;let f=a[l];if(Ti(p)){let m=p.args[0];this.markThunkSets(m+1,l-1,p.args.slice(1),f),l=m+1;continue}for(let m=0;m0&&p.type===33){let d=a[g];d!==\"always\"&&d.add(g);let y=u[g];u[g]=(y!=null?y:0)+1}else c(g,f)}}}markThunks(t,n){var a,u;let{chunk:r,thunkSets:i}=this,s,o;for(let c=t;c<=n;c=o){let l=r.getInstruction(c),p=nw(this.chunk,l),f,m;if(p){let g=c+1,d=p.innerEndIndex-1;this.markThunks(g,d),m=i[p.innerEndIndex],o=p.outerEndIndex+1,f=this.thunkDecision(s,c,this.referenced[p.innerEndIndex],l.type===21&&this.shouldInline[p.outerEndIndex],m)}else m=i[c],o=c+1,f=this.thunkDecision(s,c,this.referenced[c],this.shouldInline[c],m);if(s!==void 0&&f.shouldEndThunk&&(this.markEndThunk(c-1,s),s=void 0),f.shouldStartThunk&&m!==\"always\"){for(let g of m)(u=(a=this.dependencyThunkNames)[g])!=null||(a[g]=[]),this.dependencyThunkNames[g].push(c);s={start:c,set:m}}if(s!==void 0&&(this.thunkStarts[c]=s.start,p))for(let g=p.innerEndIndex;g<=p.outerEndIndex;g++)this.thunkStarts[g]=s.start}s!==void 0&&this.markEndThunk(n,s)}thunkDecision(t,n,r,i,s){let o=this.chunk.getInstruction(n);if(o.type===33&&(i=!1),i||!r)return{shouldEndThunk:!1,shouldStartThunk:!1};if(s===\"always\")return{shouldEndThunk:t!==void 0,shouldStartThunk:!1};let a=o.type===1||o.type===47,u=s.size>0&&!a,c=t!==void 0&&!tw(s,t.set);return{shouldEndThunk:c,shouldStartThunk:(c||t===void 0)&&u}}markEndThunk(t,n){let{referenced:r}=this;for(;t>=0&&!r[t];)t--;this._isThunkEnd[t]=!0,this.thunkEnds[n.start]=t}};function nw(e,t){if(ri(t)){let n=t.endIndex,r=e.getInstruction(n);if(r===void 0)return;if(Jm(r))return{outerEndIndex:n+r.args.length-1,innerEndIndex:n};if(r.type===54)return{outerEndIndex:n,innerEndIndex:n}}}function eu(e,t){return mc(e,[t],0,e.instructionsLength()-1)}function mc(e,t,n,r){let i=[];for(let o=n;o<=r;o++)i[o]=!1;for(let o of t)i[o]=!0;let s=Math.min(...t);for(let o=0;o<=1;o++){let a=!1;for(let u=s+1;u0\":return{op:\"comparator\",value:ii._neg(e.value),condition:\">=0\"};case\">=0\":return{op:\"comparator\",value:ii._neg(e.value),condition:\">0\"};case\"=0\":return{op:\"comparator\",value:e.value,condition:\"!=0\"};case\"!=0\":return{op:\"comparator\",value:e.value,condition:\"=0\"}}}function mT(e,t){let n=[];return e.op===\"&&\"?n.push(...e.values):n.push(e),t.op===\"&&\"?n.push(...t.values):n.push(t),{op:\"&&\",values:n}}var ii;(c=>{function e(l,p){if(!(l===void 0||p===void 0))return t(l,p)}c.add=e;function t(l,p){let f=[];for(let m=0;m0\"}}case 28:{let[i,s]=n.args,o=ii.sub(this.coeffs(s),this.coeffs(i));return o===void 0?void 0:{op:\"comparator\",value:o,condition:\">=0\"}}case 27:{let[i,s]=n.args,o=ii.sub(this.coeffs(i),this.coeffs(s));return o===void 0?void 0:{op:\"comparator\",value:o,condition:\">0\"}}case 29:{let[i,s]=n.args,o=ii.sub(this.coeffs(i),this.coeffs(s));return o===void 0?void 0:{op:\"comparator\",value:o,condition:\">=0\"}}case 25:{let[i,s]=n.args,o=ii.sub(this.coeffs(i),this.coeffs(s));return o===void 0?void 0:{op:\"comparator\",value:o,condition:\"=0\"}}case 32:{let i=n.args.map(s=>this.condition(s));return i.some(s=>s===void 0)?void 0:{op:\"&&\",values:i}}case 31:{let i=n.args.map(s=>this.condition(s));return i.some(s=>s===void 0)?void 0:{op:\"||\",values:i}}case 8:case 9:case 14:case 10:case 11:case 12:case 13:case 33:case 0:case 23:case 2:case 1:case 15:case 17:case 16:case 18:case 38:case 39:case 40:case 41:case 37:case 42:case 21:case 22:case 19:case 20:case 24:case 48:case 47:case 3:case 44:case 49:case 50:case 51:case 4:case 53:case 54:case 55:return;default:let r=n;throw new Error(`Unexpected opcode ${r.type}`)}}};function Bv(e,t,n,r){let i=e.getInstruction(n.args[0]);if(i.recursionGroup.length>1)return[];let s=i.endIndex,o=e.getInstruction(s),a=new ny(e,r,t,s),u=[];for(let l=1;lt;l--){let p=u[l];if(p===void 0)continue;let f=e.getInstruction(l);if(!be(f))if(f.type===33){u[f.args[0]]=p;let m=a.condition(f.args[0]);m!==void 0&&(u[f.args[1]]=mT(p,m),u[f.args[2]]=mT(p,ty(m)))}else for(let m of f.args)u[m]=p}let c=[];e:for(let l=s-1;l>=t;l--){let p=e.getInstruction(l);if(p.type!==55)continue;let f=e.getInstruction(p.args[0]);if(l>f.endIndex)continue;let m=p.args.slice(1);if(m.length!==f.signature.argTypes.length)throw new Error(\"Programming error: Non-matching arg length\");let g=u[l];if(g!==void 0){if(g.op===\"&&\"&&g.values.length===0)throw new Error(\"Programming error: Recursive call unconditionally executed\");for(let d=0;d1)return!1;let n=t.endIndex,r=e.getInstruction(n);if(r.type!==54)throw new Error(\"Programming Error: end of BeginFunction is not EndFunction\");let[i,...s]=r.args;if(s.length!==1)return!1;let o=e.getInstruction(i);if(o.type!==53)throw new Error(\"Programming Error: start of EndFunction is not BeginFunction\");let a=o.args[0],u={};u[s[0]]=!0;for(let c=n-1;c>=i;c--){let l=e.getInstruction(c);switch(l.type){case 55:if(!u[c])return!1;if(l.args[0]!==a)throw new Error(\"recursionGroup.length == 1 contradicted\");break;case 33:u[c]&&(u[l.args[1]]=!0,u[l.args[2]]=!0);break;default:break}}return!0}function an(e){return`_${e}`}function _l(e){return`_${e}_thunk_computed`}function Ll(e){return`_${e}_thunk_function`}function ry(e){return`_${e}_next`}function yT(e,t){return`_${e}_${t}`}function gT(e){return`_${e}_inner`}function kv(e){return`_${e}_cache`}function zv(e){return`_${e}_key`}function iy(e){return`_${e}_computationMetrics`}function Hv(e){return`_${e}_out`}function Uv(e){return`_${e}_computationMetrics`}function qv(e){return`_${e}_cacheEntry`}function $v(e){return`_${e}_args`}function hf(e,t){return`_${e}_prev_${t}`}function Yv(e){return`_${e}_computationDepth`}function Xv(e){return`_${e}_computationCount`}var wl=class{constructor(t,n){this.chunk=t;this.glsl=n;this.inlinedSource=[];this.inlinedThunks=[];this.recursiveFunctionInfo=[];this.isTailFunction=[];let r=t.getReturnIndex();this.referenced=Yr(t,r),this._shouldInline=Fv(t,this.referenced),!this.glsl&&t.computeNeedsThunking()&&(this.thunks=new Qm(t,this.referenced,this._shouldInline));for(let i=0;i<=r;i++){let s=t.getInstruction(i);if(s.type===4){if(!this.referenced[i])continue;this.isTailFunction[i]=Gv(t,s),s.recursionGroup=s.recursionGroup.filter(o=>this.referenced[o])}}}isThunkBegin(t){return!!this.thunks&&this.thunks.isThunkBegin(t)}isThunkEnd(t){return!!this.thunks&&this.thunks.isThunkEnd(t)}isEarlyReturningThunk(t){return!!this.thunks&&this.thunks.isEarlyReturningThunk(t)&&this.inlinedThunks[t]===void 0}thunkName(t){var n;return(n=this.thunks)==null?void 0:n.containingThunkName(t)}thunkEnd(t){return this.thunks.thunkEnd(t)}shouldInline(t){return this._shouldInline[t]}inlineSource(t,n){this.inlinedSource[t]=n}wantToInlineThunk(t){return!!this.thunks&&this.thunks.wantToInlineThunk(t)}inlineThunk(t,n){this.inlinedThunks[t]=n}referenceArg(t){let n=this.inlinedSource[t];return n!==void 0?n:an(t)}referencePiecewiseBranch(t){var o;let n=this.referenceArg(t),r=(o=this.thunks)==null?void 0:o.dependencyThunkNamesForPiecewiseBranch(t);if(!r||r.length===0)return{expression:n,rawExpression:n,thunkDependencies:[]};let i=[],s=\"\";for(let a of r){let u=this.inlinedThunks[a];if(u!==void 0)s&&(s+=\",\"),s+=u;else{let c=_l(a),l=Ll(a),p=`${c}||${l}()`;s&&(s+=\",\"),s+=`${p}`}i.push(a)}return{expression:\"(\"+s+\",\"+n+\")\",rawExpression:n,thunkDependencies:i}}enterFunction(t,n,r){let i=t.args[0],s=this.chunk.getInstruction(i),o=[];for(let u=0;uon(s)).join(\", \");return`${Ar(n.type)} ${on(n.valueType)} ${n.symbol}(${i}) [group ${n.recursionGroup.join(\" \")}]`}case 8:case 9:case 10:case 11:case 13:case 12:case 14:case 15:case 16:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 32:case 31:case 33:case 38:case 39:case 40:case 41:case 47:case 49:case 51:case 53:case 54:case 55:return`${Ar(n.type)} ${on(n.valueType)} ${n.args.join(\" \")}`;default:let r=n;throw new Error(`Unexpected opcode ${r.type}`)}}function Ar(e){switch(e){case 0:return\"Noop\";case 1:return\"Constant\";case 8:return\"Add\";case 9:return\"Subtract\";case 10:return\"Multiply\";case 11:return\"Divide\";case 12:return\"Exponent\";case 13:return\"RawExponent\";case 14:return\"Negative\";case 15:return\"OrderedPair\";case 17:return\"OrderedPairAccess\";case 16:return\"OrderedTriple\";case 18:return\"OrderedTripleAccess\";case 19:return\"BeginLoop\";case 20:return\"EndLoop\";case 21:return\"BeginIntegral\";case 22:return\"EndIntegral\";case 23:return\"BeginBroadcast\";case 24:return\"EndBroadcast\";case 25:return\"Equal\";case 26:return\"Less\";case 27:return\"Greater\";case 28:return\"LessEqual\";case 29:return\"GreaterEqual\";case 31:return\"Or\";case 32:return\"And\";case 33:return\"Piecewise\";case 38:return\"List\";case 39:return\"ListAccess\";case 40:return\"DeferredListAccess\";case 41:return\"InboundsListAccess\";case 37:return\"NativeFunction\";case 42:return\"Distribution\";case 2:return\"LoadArg\";case 47:return\"BlockVar\";case 48:return\"BroadcastResult\";case 3:return\"SymbolicVar\";case 44:return\"ExtendSeed\";case 49:return\"Action\";case 50:return\"BeginMap\";case 51:return\"EndMap\";case 4:return\"FunctionHeader\";case 53:return\"BeginFunction\";case 54:return\"EndFunction\";case 55:return\"FunctionCall\";default:let t=e;throw new Error(`Unexpected opcode ${t.type}`)}}function hT(e){if(Array.isArray(e))return`[${e.map(hT).join(\",\")}]`;switch(typeof e){case\"string\":return e;case\"boolean\":case\"number\":return e.toString();case\"object\":if(Ja(e)){let t=[];for(let n in e.updateRules)t.push(`\"${n}\": ${hT(e.updateRules[n].value)}`);return`{${t.join(\", \")}}`}else return`${e.n}/${e.d}`;default:throw new Error(\"Unexpected value: \"+e)}}function Zv(e,t){let n=e.toString();return bT(t-n.length)+n}function bT(e){let t=\"\";for(let n=0;n0\":case\">=0\":{let o=`(${jv(e,r.value,i)}${r.condition})`,a=xT(e,r.value,i,n);return`(${o}&&${a})`}case\"!=0\":{let s=jv(e,r.value,i),o=`(${s}>0)`,a=xT(e,r.value,i,n),u=`(${s}<0)`,c=xT(e,ii._neg(r.value),i,n);return`((${o}&&${a})||(${u}&&${c}))`}case\"=0\":return}}function xT(e,t,n,r){let i=[];for(let s=0;s0?i.push(`${u}>=${a}`):o<0&&i.push(`${u}<=${a}`)}return i.length===0?!0:`(${i.join(\"&&\")})`}function jv(e,t,n){let r=\"\";for(let i=0;i(r.Noop=0,r.Inline=1,r.Block=2))(zt||(zt={}));function PT(e){switch(e.type){case zt.Noop:return\"\";case zt.Inline:return e.source+`;\n`;case zt.Block:return e.source}}function bt(e){return e.type===1}function Kv(e){if(!bt(e))throw new Error(`Programming error: expected constant instruction but found ${Ar(e.type)} instead.`)}var IT=class{constructor(t,n){this.chunk=t;this.recursiveFunctionGroup=n;this.referencesFrom={};this.referencesTo={};this.baseCases={};for(let c of Object.values(n))this.referencesFrom[c]=[],this.referencesTo[c]=[],this.baseCases[c]=[];let{dependsOnRecursiveCall:r,iterationParameterIndex:i,recursiveReferences:s}=aw(this.chunk,this.recursiveFunctionGroup);for(let c of s)this.referencesFrom[c.from].push(c),this.referencesTo[c.to].push(c);this.iterationParameterIndex=i;let{baseCases:o,isEveryBranchRecursiveOrBaseCase:a,isUnconditionallyRecursive:u}=ow(t,n,r,i);this.isEveryBranchRecursiveOrBaseCase=a,this.isUnconditionallyRecursive=u;for(let c of o)this.baseCases[c.fn].push(c)}hasRecursiveReferences(){for(let t of Object.values(this.referencesFrom))if(t.length>0)return!0;return!1}getBaseCasesForFunction(t){return this.baseCases[t]}getReferencesFrom(t){return this.referencesFrom[t]}getReferencesTo(t){return this.referencesTo[t]}getAllReferences(){let t=[];for(let n of Object.values(this.referencesFrom))t.push(...n);return t}};function sw(e,t,n){if(t===void 0)return;let r=e.getInstruction(n),i=e.getInstruction(r.args[0]);if(i.type!==25)return;let[s,o]=i.args,a;if(s===t)a=o;else if(o===t)a=s;else return;let u=e.getInstruction(a);if(bt(u)&&u.valueType===T)return u.value}function ow(e,t,n,r){let i=[],s=!0,o=!0;for(let a in t){let u=t[a],l=e.getInstruction(u).endIndex,f=e.getInstruction(l).args[0],m=r!==void 0?f+r+1:void 0,g={[l]:!0};for(let d=l;d>f;d--){if(!g[d])continue;let y=e.getInstruction(d);if(!be(y)){if(y.type===33){let h=y.args[1],b=y.args[2];if(!n[h]||!n[b]){s=!1;let P=sw(e,m,d);P!==void 0&&!n[h]?i.push({fn:u,argValue:P}):o=!1}}for(let h of y.args)g[h]=!0}}}return i.sort((a,u)=>q(a.argValue)-q(u.argValue)),{baseCases:i,isUnconditionallyRecursive:s,isEveryBranchRecursiveOrBaseCase:o}}var TT=Symbol(\"NON_ITERATIVE\");function aw(e,t){let n=new Set(Object.values(t)),r={},i=[],s;for(let o in t){let a=t[o],c=e.getInstruction(a).endIndex,p=e.getInstruction(c).args[0],f=Yr(e,c);for(let m=p;me.getInstruction(o).signature.argTypes.length===1)&&(s=0),{dependsOnRecursiveCall:r,iterationParameterIndex:s===TT?void 0:s,recursiveReferences:i}}function ET(e,t,n){let r=e.getInstruction(t),i,s;for(let o=1;oq(h.argValue));r[p]={min:g,consecutiveCount:d,additional:y}}let i={},s=-1/0,o=1/0;if(n.iterationParameterIndex!==void 0&&n.isEveryBranchRecursiveOrBaseCase){let p=new Map;for(let f of Object.values(n.recursiveFunctionGroup)){let m=e.getInstruction(f).symbol,g=-1/0;for(let d of n.getReferencesTo(f))g=Math.max(g,d.iterationParameterOffset);if(isFinite(g)&&(i[m]=g),g>0){let d=r[e.getInstruction(f).symbol],y=(c=d==null?void 0:d.min)!=null?c:-1/0;p.set(f,{min:y+g,max:y+((l=d==null?void 0:d.consecutiveCount)!=null?l:0)})}}for(let{min:f,max:m}of p.values())s=Math.max(s,f),o=Math.min(o,m)}let a={};for(let p in n.recursiveFunctionGroup){let f=n.recursiveFunctionGroup[p],m=e.getInstruction(f);a[p]=m.parameterSymbols}let u={};for(let p in n.recursiveFunctionGroup){let f=n.recursiveFunctionGroup[p],m=e.getInstruction(f);u[p]=m.signature.argTypes.map((g,d)=>d===n.iterationParameterIndex&&n.isEveryBranchRecursiveOrBaseCase&&!n.isUnconditionallyRecursive?1:0)}if(n.iterationParameterIndex!==void 0&&isFinite(s)&&s<=o){let p=uw(n);return{canIterate:!0,parameterSymbols:a,baseCaseInfo:r,maxRecursiveCallOffsets:i,iterationParameterIndex:n.iterationParameterIndex,domainInfo:u,loopStart:s,order:p}}else return{canIterate:!1,parameterSymbols:a,baseCaseInfo:r,maxRecursiveCallOffsets:i,iterationParameterIndex:n.iterationParameterIndex,domainInfo:u}}function uw(e){if(e.iterationParameterIndex===void 0)throw J(\"Programming error: no recursive parameter\");let n=Object.values(e.recursiveFunctionGroup),r=new Map,i=new Map,s=u=>{let c=new Set;for(let l of e.getReferencesTo(u))l.iterationParameterOffset===0&&c.add(l.from);return[...c]};n.forEach(u=>{let c=s(u);r.set(u,c);for(let l of c)i.set(l,(i.get(l)||0)+1);i.has(u)||i.set(u,0)});let o=[];i.forEach((u,c)=>{u===0&&o.push(c)});let a=[];for(;o.length>0;){let u=o.shift();a.push(u),(r.get(u)||[]).forEach(l=>{let p=l,f=i.get(p)-1;i.set(p,f),f===0&&o.push(p)})}if(a.length!==n.length)throw fb();return a}function sy(e,t){let n;for(let o=t,a=0;o>0;o--){let u=e.getInstruction(o);if(u.type===53&&a===0){n=o;break}u.type===54&&a++,u.type===53&&a--}if(n===void 0)return!1;let r=e.getInstruction(t),i=e.getInstruction(r.args[0]),s=e.getInstruction(n).args[0];return i.recursionGroup.includes(s)}function tD(e,t,n){if(e.glsl)throw J(\"GLSL function not implemented\");let{chunk:r,referenced:i}=e,s=t.args[0],o=r.getInstruction(s),a=o.signature.argTypes;if(e.isTailFunction[s])return{type:zt.Noop,nextIdx:o.endIndex+1};e.enterFunction(t,n,0);let u=\"\";for(let c=0;c0&&(u+=\",\"),u+=yT(s,m);let c=gT(s),l=kv(s),p=zv(s),f=iy(s);return`\n const ${p}=${a.length===1&&o.signature.argTypes[0]===T?\"({fn, args}) => `${fn}:${args[0]}`\":\"({fn, args}) => `${fn}:${JSON.stringify(args)}`\"};\n\n const ${c}=((${l}, ${u}) => {\n ${Fl(e,n+1,o.endIndex-1)}\n const ${f} = {depth: 0, count: 0};\n const cache = ${l};\n ${r}\n `}function nD(e,t,n){let r=n+1,i=t.args[0],o=e.chunk.getInstruction(i).args[0];if(e.isTailFunction[o])throw J(\"Unexpected tail recursive function\");let a=lw(e,t),{referenced:u}=e;return u[n]&&(a+=`${an(n)}=${e.referenceArg(t.args[0])};\n`),e.exitFunction(),{type:zt.Block,source:a,nextIdx:r}}function lw(e,t){let n=t.args[0],r=e.chunk.getInstruction(n),i=r.args[0],s=Hv(i),o=iy(i),a=r.valueType;return`\n${o}.count++;\n${o}.depth++;\nlet ${s};\nif ((${o}.depth > BuiltIn.RECURSIVE_DEPTH_LIMIT) || (${o}.count > BuiltIn.RECURSIVE_COMPUTATION_LIMIT)) {\n ${s}=BuiltIn.handleRecursionLimitExceeded(__meta, ${a});\n} else {\n ${s}=${e.referenceArg(t.args[1])};\n}\nreturn BuiltIn.recursionSuccess(${s},${o});\n});\n`}function bf(e,t){return`{ fn: ${e}, args: ${t} }`}function rD(e,t,n){let r=n+1,{chunk:i}=e,s=t.args[0],o=i.getInstruction(s),u=i.getInstruction(o.endIndex).args[0],c=t.args.slice(1).map(y=>e.referenceArg(y)),l=an(n),p=$v(n),f=Uv(n),m=qv(n),g=i.getInstruction(u),d=i.getInstruction(g.args[0]);if(sy(i,n)){if(e.recursiveFunctionInfo.length<1)throw J(\"Expected recursive function info\");let y=e.recursiveFunctionInfo[e.recursiveFunctionInfo.length-1],h=\"\",b=Jv(e,y,n,t.args.slice(1));if(e.isTailFunction[s]){let I=g.valueType;b&&(h=`\nif (${b}) {\n return BuiltIn.recursionDiverges(__meta, ${I});\n }`);let E=d.signature.argTypes,v=h+`\n`;v+=\"looping=true\";for(let O=0;O ${x}.count) {\n ${x}.count = ${f}.count;\n }\n if (${f}.depth > ${x}.depth) {\n ${x}.depth = ${f}.depth;\n }\n `;return{type:zt.Block,source:M,nextIdx:r}}else{let y=`{${d.recursionGroup.map(P=>`${P}: ${gT(P)}`).join(\",\")}}`,h=e.chunk.getRecursionStructure(g.args[0]);if(e.isTailFunction[s])return pw(e,t,n);if(h.canIterate)return fw(e,t,n,h,{innerFunctionsMap:y});let b=bf(s,`[${c.join(\",\")}]`),x=`${l}=BuiltIn.executeRecursiveFunction(\n __meta,\n ${y},\n ${g.valueType},\n ${b}\n )`;return{type:zt.Inline,source:x,nextIdx:r}}}var iD=Symbol(\"UPDATED_IN_BODY\");function sD(e){let t=\"\";for(let n of e){let r=\"declare\"in n?`let ${n.declare}`:an(n.reference),i=n.initializeRHS;t+=`${r}=${i};\n`}return t}function oD(e){let t=\"\",n=\"\";for(let r of e){let i=\"declare\"in r?r.declare:an(r.reference);r.updateRHS!==iD&&(t&&(t+=\",\",n+=\",\"),t+=`${i}`,n+=`${r.updateRHS}`)}return`[${t}]=[${n}]`}function pw(e,t,n){let r=t.args[0],i=e.chunk.getInstruction(r),s=e.chunk.getInstruction(i.endIndex),o=s.args[0],a=e.chunk.getInstruction(o),u=a.valueType,c=an(n),l=[];e.enterFunction(a,o,2);let p=oy(e,o,i.endIndex).source;e.exitFunction();let f=Yv(n),m=Xv(n);l.push({declare:f,initializeRHS:\"0\",updateRHS:`${f}+1`},{declare:m,initializeRHS:\"0\",updateRHS:`${m}+1`});for(let d=1;d {\n ${Fl(e,o+1,i.endIndex-1)}\n\n let looping = true;\n ${sD(l)}\n while (looping) {\n looping = false;\n\n ${p}\n\n if (looping) {\n ${oD(l)}\n }\n\n if ((${f} > BuiltIn.RECURSIVE_DEPTH_LIMIT) || (${m} > BuiltIn.RECURSIVE_COMPUTATION_LIMIT)) {\n return BuiltIn.handleRecursionLimitExceeded(__meta, ${u});\n };\n }\n\n return ${e.referenceArg(s.args[1])}\n })()`;return{type:zt.Inline,source:g,nextIdx:n+1}}function fw(e,t,n,r,i){let s=t.args[0],o=e.chunk.getInstruction(s),a=e.chunk.getInstruction(o.endIndex),u=a.args[0],c=an(n),l=[],p=\"\",f,{iterationParameterIndex:m,loopStart:g,order:d}=r,y=r.maxRecursiveCallOffsets,h=u+m+1,b=an(h),x=t.args[m+1],P=`(${g})`,M=e.chunk.getInstruction(x),I=(M.type===39||M.type===41)&&e.chunk.getInstruction(M.args[1]).type===23?M.args[0]:void 0,E=`(${e.referenceArg(x)})-${P}`,v,O;if(I!==void 0){let z=e.referenceArg(I);v=`BuiltIn.listMax(\n (${z}).filter(\n x => isFinite(x) &&\n Math.floor(x - ${P}) === (x - ${P})\n )\n )`,O=`BuiltIn.getBroadcastTargetElements(${z}).has(${b})`}else v=`(${e.referenceArg(x)})`,O=\"false\";l.push({reference:h,initializeRHS:`(${P})`,updateRHS:`${b}+1`}),f=\"\";for(let z of d){let G=e.chunk.getInstruction(z),$=G.endIndex,w=e.chunk.getInstruction($),Y=w.args[0],de=e.chunk.getInstruction(Y);for(let ie=1;ieU===m?g-ie:e.referenceArg(Q)),Te=bf(z,`[${Ne.join(\",\")}]`),Me=`BuiltIn.executeRecursiveFunction(\n __meta,\n ${i.innerFunctionsMap},\n ${de.valueType},\n ${Te}\n )`,ve=`(\n broadcastOutputMap\n ? (broadcastOutputMap[BuiltIn.recursionCacheKey(${Te})] = ${Me})\n : ${Me}\n )`;l.push({declare:Z,initializeRHS:ve,updateRHS:Re})}e.enterFunction(de,Y,1),f+=oy(e,Y,G.endIndex).source,e.exitFunction(),f+=`const ${hf(z,0)}=${e.referenceArg(w.args[1])};\n`}let A=t.args.slice(1).map(z=>e.referenceArg(z)),N=t.args.slice(1).map((z,G)=>G===m?b:e.referenceArg(z)),L=`${c}=(() => {\n ${p}\n const broadcastOutputMap = ${I!==void 0?\"__meta.iterativeRecursionOutputs\":\"undefined\"};\n\n ${sD(l)}\n\n const outerStackFrame = ${bf(s,`[${A.join(\",\")}]`)};\n\n if (broadcastOutputMap) {\n const cacheEntry = broadcastOutputMap[BuiltIn.recursionCacheKey(outerStackFrame)];\n if (cacheEntry !== undefined) {\n return cacheEntry;\n }\n }\n\n\n const targetLoopSteps = ${E}\n if (targetLoopSteps < 0 || Math.floor(targetLoopSteps) !== targetLoopSteps) {\n return BuiltIn.executeRecursiveFunction(\n __meta,\n ${i.innerFunctionsMap},\n ${o.valueType},\n outerStackFrame\n );\n }\n\n const loopEnd = ${v};\n\n let result;\n while (true) {\n ${f}\n\n result = ${e.referenceArg(a.args[1])};\n\n if (broadcastOutputMap && ${O}) {\n const key = BuiltIn.recursionCacheKey(${bf(s,`[${N.join(\",\")}]`)});\n broadcastOutputMap[key] = result;\n }\n\n if (${b} < loopEnd) {\n ${oD(l)}\n } else {\n break;\n }\n }\n\n ${I===void 0?\"return result;\":`const cached = broadcastOutputMap[BuiltIn.recursionCacheKey(outerStackFrame)];\n if (cached === undefined) {\n return BuiltIn.recursionDiverges(__meta, ${o.valueType});\n }\n return cached;\n `}\n })()`;return{type:zt.Inline,source:L,nextIdx:n+1}}function ay(e){let{chunk:t}=e,n=Fl(e,t.argNames.length,t.instructionsLength()-1),r=0;for(;r{\n${o}=true;\n\n ${u}${c?\";\":\"\"}\n };\n`;return{type:zt.Block,source:f,nextIdx:p}}else return e.inlineThunk(i,u),{type:zt.Noop,nextIdx:p}}function MT(e,t,n){return e.isThunkBegin(n)?dw(e,n):aD(e,t,n)}function aD(e,t,n){let r=n+1;if(!e.referenced[n])return{type:zt.Noop,nextIdx:r};switch(t.type){case 0:case 47:case 48:case 22:case 49:case 4:return{type:zt.Noop,nextIdx:r};case 21:if(e.glsl)throw ux();return yw(e,t,n);case 2:return e.inlineSource(n,e.chunk.argNames[n]),{type:zt.Noop,nextIdx:r};case 23:return{type:zt.Block,source:gw(e,t,n),nextIdx:r};case 24:return{type:zt.Block,source:hw(e,t,n),nextIdx:r};case 19:return{type:zt.Block,source:bw(e,t,n),nextIdx:r};case 20:return{type:zt.Block,source:xw(e,t,n),nextIdx:r};case 50:return{type:zt.Block,source:Pw(e,t,n),nextIdx:r};case 51:return{type:zt.Block,source:Tw(e,t,n),nextIdx:r};case 53:return tD(e,t,n);case 54:return nD(e,t,n);case 33:{let i=e.referenceArg(t.args[0]),s=e.referencePiecewiseBranch(t.args[1]),o=e.referencePiecewiseBranch(t.args[2]);if(!(s.thunkDependencies.some(p=>e.isEarlyReturningThunk(p))||o.thunkDependencies.some(p=>e.isEarlyReturningThunk(p)))){let p=e.emitTernary(i,s.expression,o.expression,t);return e.shouldInline(n)?(e.inlineSource(n,`(${p})`),{type:zt.Noop,nextIdx:r}):{type:zt.Inline,source:`${an(n)}=${p}`,nextIdx:r}}let u=an(n),c=p=>{if(p.length===0)return\"\";let f=\"\";for(let m of p){let g=e.inlinedThunks[m];if(g!==void 0){let d=`(${g},void 0)`;f!==\"\"?f=`(${f}||${d})`:f=d}else{let d=_l(m),y=Ll(m);f!==\"\"&&(f+=\"||\"),f+=`(${d} ? undefined : ${y}())`}}return f=\"const earlyReturn =\"+f,f+=`;\nif (earlyReturn !== undefined) return earlyReturn;\n`,f},l=`if (${i}) {\n ${c(s.thunkDependencies)}${u} = ${s.rawExpression};\n } else {\n ${c(o.thunkDependencies)}${u} = ${o.rawExpression};\n }`;return{type:zt.Block,source:l,nextIdx:r}}case 55:return rD(e,t,n);default:{let i=Iw(e,t);return e.shouldInline(n)?(e.inlineSource(n,`(${i})`),{type:zt.Noop,nextIdx:r}):{type:zt.Inline,source:`${an(n)}=${i}`,nextIdx:r}}}}function oy(e,t,n){let{chunk:r,referenced:i}=e,s=\"\",o=t+1;for(;o${1e4}) throw ErrorMsg.maxListSize();\n`),c+=`for(${o}=1${r?\".0\":\"\"};${o}<=${u};${o}++){\n`,c}function hw(e,t,n){let{glsl:r,chunk:i,referenced:s}=e,o=\"\";for(let a=1;a=i.instructionsLength()||!s[u]||i.getInstruction(u).type!==48)continue;let c=an(n+a),l=e.referenceArg(t.args[a]);if(r){let p=e.referenceArg(t.args[0]);o+=`${c}[int(${p})-1]=${l};\n`}else o+=`${c}.push(${l});\n`}return o+=`}\n`,o}function bw(e,t,n){let{chunk:r,referenced:i}=e,s=an(n);e.beforeBeginLoop(t);let o=`${e.referenceArg(t.args[0])}`,a=`${e.referenceArg(t.args[1])}`,u=`if(${o}>${a}){\n`;for(let c=2;c=r.instructionsLength()||!i[l]||r.getInstruction(l).type!==47)continue;let p=an(l);u+=`${p}=${e.referenceArg(t.args[c])};\n`}u+=e.checkFiniteBounds(t,o,a),u+=`}else{\n`;for(let c=2;c=r.instructionsLength()||!i[p]||r.getInstruction(p).type!==47)continue;let f=an(p);u+=`${f}=${e.referenceArg(t.args[l])};\n`}return u+=`break;\n`,u+=`}\n}\n`,u+=`}\n`,u}function Pw(e,t,n){let{glsl:r}=e;if(r)throw J(\"GLSL map not implemented yet\");let i=an(t.endIndex+1),s=[];for(let a=0;a {\n`}function Tw(e,t,n){let r=`return ${e.referenceArg(t.args[1])}`;return r+=`}\n`,r}function Iw(e,t){switch(t.type){case 1:return e.emitConstant(t);case 8:case 9:case 10:case 11:case 12:case 13:case 25:case 26:case 27:case 28:case 29:case 31:case 32:return e.emitBinary(t,e.referenceArg(t.args[0]),e.referenceArg(t.args[1]));case 14:{let r=e.referenceArg(t.args[0]);return e.emitNeg(r)}case 15:return e.emitVec2(e.referenceArg(t.args[0]),e.referenceArg(t.args[1]));case 16:return e.emitVec3(e.referenceArg(t.args[0]),e.referenceArg(t.args[1]),e.referenceArg(t.args[2]));case 17:case 18:return e.emitVecAccess(e.referenceArg(t.args[0]),t.index);case 38:return e.emitList(t.args.map(r=>e.referenceArg(r)),t);case 40:case 42:case 3:throw new Error(`Programming Error: expect ${Ar(t.type)} to be removed before emitting code.`);case 39:{let r=t.valueType;return e.emitListAccess(e.referenceArg(t.args[0]),e.referenceArg(t.args[1]),e.printValue($r(r),r),t)}case 41:return e.emitInboundsListAccess(e.referenceArg(t.args[0]),e.referenceArg(t.args[1]));case 37:return e.emitNativeFunction(t.args.map(r=>e.referenceArg(r)),t);case 44:return e.emitExtendSeed(e.referenceArg(t.args[0]),e.referenceArg(t.args[1]),t.tag);case 2:case 0:case 21:case 22:case 19:case 20:case 23:case 24:case 47:case 48:case 49:case 50:case 51:case 53:case 54:case 33:case 55:case 4:throw new Error(`Unexpected opcode ${t.type}`);default:let n=t;throw new Error(`Unexpected opcode ${n.type}`)}}function uy(e){let t=new vT(e),n=ay(t);return t.finish(n)}var vT=class extends wl{constructor(n){super(n,!1);this.constants=[]}finish(n){return{source:n,constants:this.constants}}printValue(n){return uD(n)}beforeBeginLoop(){}checkFiniteBounds(n,r,i){let s=`}else if(!isFinite(${i}-${r})){\n`;for(let o=2;o=this.chunk.instructionsLength()||!this.referenced[a])continue;let u=this.chunk.getInstruction(a);if(u.type!==47)continue;let c=an(a);uo(u.valueType)?s+=`${c}=${this.printValue($r(u.valueType))};\n`:s+=`throw new Error('Cannot set ${c} of type ${on(u.valueType)} to NaN value');\n`}return s}emitConstant(n){return n.valueType===T||n.valueType===ge||n.valueType===R||n.valueType===V?this.printValue(n.value):(this.constants.push(ao(n.value)),`_C[${this.constants.length-1}]`)}emitNeg(n){return`-${n}`}emitTernary(n,r,i){return`${n}?${r}:${i}`}emitVec2(n,r){return`[${n},${r}]`}emitVec3(n,r,i){return`[${n},${r},${i}]`}emitVecAccess(n,r){return`${n}[${r-1}]`}emitBinary(n,r,i){switch(n.type){case 8:return`${r}+${i}`;case 9:return`${r}-${i}`;case 10:return`${r}*${i}`;case 11:return`${r}/${i}`;case 12:return`BuiltIn.pow(${r},${i})`;case 13:return`Math.pow(${r},${i})`;case 25:return`${r}===${i}`;case 26:return`${r}<${i}`;case 28:return`${r}<=${i}`;case 27:return`${r}>${i}`;case 29:return`${r}>=${i}`;case 31:return`${r}||${i}`;case 32:return`${r}&&${i}`;default:throw new Error(\"Programming Error: invalid binary opcode.\")}}emitList(n){return`[${n.join(\",\")}]`}emitListAccess(n,r,i){let s=`${n}.length`,o=`Math.floor(${r})`;return`(${o}>=1&&${o}<=${s})?${n}[${o}-1]:${i}`}emitInboundsListAccess(n,r){return`${n}[${r}-1]`}emitNativeFunction(n,r){let i=bn[r.symbol];return`${i.module}.${i.symbol}(${n.join(\",\")})`}emitExtendSeed(n,r,i){return`${n}+'::${i}'+${r}`}emitVarDeclaration(n,r){let i=r?\",\":\"var \";return i+=an(n),i}emitFunctionCall(n,r,i,s){return`${n}(${r}, ${i}, ${s.join(\",\")})`}};function uD(e){if(Array.isArray(e))return`[${e.map(uD).join(\",\")}]`;switch(typeof e){case\"boolean\":case\"number\":return e.toString();case\"string\":return`${JSON.stringify(e)}`;case\"object\":if(Ja(e))throw new Error(\"Action values cannot be compiled\");return q(e).toString();default:throw new Error(\"Unexpected value: \"+e)}}var fo={};No(fo,{LruCache:()=>ql,RECURSIVE_COMPUTATION_LIMIT:()=>y1,RECURSIVE_DEPTH_LIMIT:()=>Lf,RecursiveFunctionResult:()=>m1,SYMBOL_DIVERGES:()=>d1,TerminationStatus:()=>g1,acosh:()=>c1,acot:()=>dF,acoth:()=>TF,acsc:()=>mF,acsch:()=>PF,addTangentAngle:()=>zV,addTangentArc:()=>kV,addTangentCircle:()=>GV,addTangentLine:()=>VV,addTangentRay:()=>BV,addTangentSegment:()=>bI,addTangentSegmentThreeD:()=>FV,angleMarkerMultiplier:()=>SV,angleMarkerRawDelta:()=>DV,arc:()=>MV,arcArcIntersection:()=>WV,arcCenter:()=>jl,arcCircleIntersection:()=>ZV,arcGlider:()=>Z1,arcLineIntersection:()=>Q1,arcOmega:()=>Jl,argMax:()=>ZF,argMin:()=>XF,asec:()=>yF,asech:()=>xF,asinh:()=>l1,atanh:()=>p1,basePointFromVector:()=>gV,basePointFromVectorThreeD:()=>xV,bernoulliTable:()=>T1,binomSample:()=>LF,binomcdf:()=>FF,binompdf:()=>wy,center:()=>IV,chooseNonIncidentPoint:()=>$V,circle:()=>TV,circleArcIntersection:()=>XV,circleCircleIntersection:()=>Af,circleGlider:()=>UV,circleLineIntersection:()=>II,clamp:()=>rr,common_log:()=>uF,composeTransformation:()=>uB,corr:()=>Vy,cos:()=>xn,cosh:()=>o1,cot:()=>fF,cotDerivative:()=>I1,coth:()=>bF,cov:()=>jF,covp:()=>G1,csc:()=>pF,csch:()=>hF,dilation:()=>sB,directedAngleMarker:()=>Y1,directedCoterminalAngle:()=>X1,distance:()=>Xl,distanceThreeD:()=>eV,elementsAt:()=>xB,erf:()=>GF,erfcx:()=>Ta,executeRecursiveFunction:()=>Qw,expm1:()=>Yw,factorial:()=>$o,frequency:()=>IB,gcd:()=>nI,getArcDetails:()=>By,getBroadcastTargetElements:()=>Ww,getRecursiveDepthLimit:()=>Zw,handleRecursionLimitExceeded:()=>b1,hsv:()=>tV,hypot:()=>po,identity:()=>PV,invBinom:()=>R1,invNorm:()=>uI,invPoisson:()=>C1,invT:()=>N1,invUniform:()=>zF,invertTransformation:()=>cB,isDegenerateArc:()=>gI,itscore:()=>_1,ittest:()=>lI,lcm:()=>P1,line:()=>dV,lineArcIntersection:()=>J1,lineCircleIntersection:()=>TI,lineGlider:()=>xI,lineLineIntersection:()=>j1,listGCD:()=>tF,listLCM:()=>nF,listLength:()=>HF,listMax:()=>w1,listMin:()=>L1,log:()=>aF,log1p:()=>_f,log_base:()=>M1,lowerQuantileIndex:()=>qF,lowerQuartileIndex:()=>YF,mad:()=>WF,mathVector:()=>U1,mathVectorThreeD:()=>q1,md5Spyable:()=>s1,mean:()=>Xo,median:()=>V1,mod:()=>x1,nCr:()=>ou,nPr:()=>vy,normalSample:()=>AF,normalcdf:()=>RF,normalpdf:()=>iI,nthroot:()=>cF,parallel:()=>KV,perpendicular:()=>eB,pointDet:()=>tS,pointDot:()=>tB,pointPerp:()=>nB,poissonSample:()=>wF,poissoncdf:()=>VF,poissonpdf:()=>Yl,polyGamma:()=>E1,polygon:()=>nV,polygonArea:()=>mI,polygonEdges:()=>aV,polygonGlider:()=>qV,polygonInteriorDirectedAngles:()=>fV,polygonInteriorUndirectedAngles:()=>pV,polygonPerimeter:()=>uV,pow:()=>f1,quad:()=>KF,quantile:()=>F1,quartile:()=>Ic,quartileIndex:()=>Fy,radius:()=>EV,random:()=>sI,randomPerm:()=>oI,rank:()=>QT,ray:()=>mV,rayGlider:()=>KT,recursionCacheKey:()=>jT,recursionDiverges:()=>h1,recursionMissingCacheEntry:()=>Jw,recursionSuccess:()=>jw,reflection:()=>aB,restriction:()=>vB,restrictionToBoolean:()=>DB,rgb:()=>k1,rotation:()=>oB,scaleTangentAngle:()=>wV,scaleTangentArc:()=>LV,scaleTangentCircle:()=>_V,scaleTangentLine:()=>NV,scaleTangentRay:()=>AV,scaleTangentSegment:()=>hI,sec:()=>lF,sech:()=>gF,segment:()=>yI,segmentGlider:()=>PI,segmentThreeD:()=>rV,segmentThreeDGlider:()=>HV,select:()=>bB,shuffle:()=>NF,sign:()=>tI,sin:()=>Kt,sinh:()=>a1,sortPerm:()=>Ec,spearman:()=>JF,sphere:()=>sV,sqrtxsqm1:()=>eF,sqrtxsqp1:()=>Kw,stats:()=>pI,stdev:()=>Dy,stdevp:()=>QF,supplementAngle:()=>CV,tSample:()=>_F,tan:()=>D1,tanh:()=>u1,tcdf:()=>Ey,testingOnlySetRecursiveDepthLimit:()=>rI,toFraction:()=>Xw,tone:()=>TB,total:()=>EF,tpdf:()=>Ly,transformAngleMarker:()=>hB,transformArc:()=>yB,transformCircle:()=>mB,transformLine:()=>pB,transformPoint:()=>Yo,transformPolygon:()=>gB,transformRay:()=>fB,transformSegment:()=>Gy,transformVector:()=>dB,transformation:()=>rB,translation:()=>iB,triangle:()=>iV,tscore:()=>A1,ttest:()=>cI,undirectedAngleMarker:()=>vV,undirectedCoterminalAngle:()=>OV,uniformSample:()=>au,uniformcdf:()=>BF,uniformpdf:()=>aI,uniquePerm:()=>PB,upperQuantileIndex:()=>UF,upperQuartileIndex:()=>$F,validateRangeLength:()=>fI,validateSampleCount:()=>dI,variance:()=>B1,varp:()=>wf,vector:()=>H1,vectorDisplacementAsPoint:()=>yV,vectorThreeD:()=>hV,vectorThreeDDisplacementAsPoint:()=>bV,vertices:()=>oV,volume:()=>EB});var cD=function(){\"use strict\";function e(d,y){var h=(d&65535)+(y&65535),b=(d>>16)+(y>>16)+(h>>16);return b<<16|h&65535}function t(d,y){return d<>>32-y}function n(d,y,h,b,x,P){return e(t(e(e(y,d),e(b,P)),x),h)}function r(d,y,h,b,x,P,M){return n(y&h|~y&b,d,y,x,P,M)}function i(d,y,h,b,x,P,M){return n(y&b|h&~b,d,y,x,P,M)}function s(d,y,h,b,x,P,M){return n(y^h^b,d,y,x,P,M)}function o(d,y,h,b,x,P,M){return n(h^(y|~b),d,y,x,P,M)}function a(d,y){d[y>>5]|=128<>>9<<4)+14]=y;var h,b,x,P,M,I=1732584193,E=-271733879,v=-1732584194,O=271733878;for(h=0;h>5]>>>y%32&255);return h}function c(d){var y,h=[];for(h[(d.length>>2)-1]=void 0,y=0;y>5]|=(d.charCodeAt(y/8)&255)<>>4&15)+y.charAt(b&15);return h}function f(d){return unescape(encodeURIComponent(d))}function m(d){return l(f(d))}function g(d){return p(m(d))}return g}();function ha(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function tu(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ho(){}var nu=.7,bc=1/nu,Vl=\"\\\\s*([+-]?\\\\d+)\\\\s*\",xf=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",zo=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Ew=/^#([0-9a-f]{3,8})$/,Mw=new RegExp(`^rgb\\\\(${Vl},${Vl},${Vl}\\\\)$`),vw=new RegExp(`^rgb\\\\(${zo},${zo},${zo}\\\\)$`),Dw=new RegExp(`^rgba\\\\(${Vl},${Vl},${Vl},${xf}\\\\)$`),Sw=new RegExp(`^rgba\\\\(${zo},${zo},${zo},${xf}\\\\)$`),Ow=new RegExp(`^hsl\\\\(${xf},${zo},${zo}\\\\)$`),Cw=new RegExp(`^hsla\\\\(${xf},${zo},${zo},${xf}\\\\)$`),lD={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ha(Ho,Pf,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:pD,formatHex:pD,formatHex8:Rw,formatHsl:Nw,formatRgb:fD,toString:fD});function pD(){return this.rgb().formatHex()}function Rw(){return this.rgb().formatHex8()}function Nw(){return bD(this).formatHsl()}function fD(){return this.rgb().formatRgb()}function Pf(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=Ew.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?dD(t):n===3?new br(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?cy(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?cy(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Mw.exec(e))?new br(t[1],t[2],t[3],1):(t=vw.exec(e))?new br(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Dw.exec(e))?cy(t[1],t[2],t[3],t[4]):(t=Sw.exec(e))?cy(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ow.exec(e))?gD(t[1],t[2]/100,t[3]/100,1):(t=Cw.exec(e))?gD(t[1],t[2]/100,t[3]/100,t[4]):lD.hasOwnProperty(e)?dD(lD[e]):e===\"transparent\"?new br(NaN,NaN,NaN,0):null}function dD(e){return new br(e>>16&255,e>>8&255,e&255,1)}function cy(e,t,n,r){return r<=0&&(e=t=n=NaN),new br(e,t,n,r)}function Tf(e){return e instanceof Ho||(e=Pf(e)),e?(e=e.rgb(),new br(e.r,e.g,e.b,e.opacity)):new br}function xc(e,t,n,r){return arguments.length===1?Tf(e):new br(e,t,n,r==null?1:r)}function br(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}ha(br,xc,tu(Ho,{brighter(e){return e=e==null?bc:Math.pow(bc,e),new br(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?nu:Math.pow(nu,e),new br(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new br(hc(this.r),hc(this.g),hc(this.b),py(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:mD,formatHex:mD,formatHex8:Aw,formatRgb:yD,toString:yD}));function mD(){return`#${gc(this.r)}${gc(this.g)}${gc(this.b)}`}function Aw(){return`#${gc(this.r)}${gc(this.g)}${gc(this.b)}${gc((isNaN(this.opacity)?1:this.opacity)*255)}`}function yD(){let e=py(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${hc(this.r)}, ${hc(this.g)}, ${hc(this.b)}${e===1?\")\":`, ${e})`}`}function py(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function hc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function gc(e){return e=hc(e),(e<16?\"0\":\"\")+e.toString(16)}function gD(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new co(e,t,n,r)}function bD(e){if(e instanceof co)return new co(e.h,e.s,e.l,e.opacity);if(e instanceof Ho||(e=Pf(e)),!e)return new co;if(e instanceof co)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),s=Math.max(t,n,r),o=NaN,a=s-i,u=(s+i)/2;return a?(t===s?o=(n-r)/a+(n0&&u<1?0:o,new co(o,a,u,e.opacity)}function fy(e,t,n,r){return arguments.length===1?bD(e):new co(e,t,n,r==null?1:r)}function co(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}ha(co,fy,tu(Ho,{brighter(e){return e=e==null?bc:Math.pow(bc,e),new co(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?nu:Math.pow(nu,e),new co(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new br(DT(e>=240?e-240:e+120,i,r),DT(e,i,r),DT(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new co(hD(this.h),ly(this.s),ly(this.l),py(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=py(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${hD(this.h)}, ${ly(this.s)*100}%, ${ly(this.l)*100}%${e===1?\")\":`, ${e})`}`}}));function hD(e){return e=(e||0)%360,e<0?e+360:e}function ly(e){return Math.max(0,Math.min(1,e||0))}function DT(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var dy=Math.PI/180,my=180/Math.PI;var yy=18,xD=.96422,PD=1,TD=.82521,ID=4/29,Bl=6/29,ED=3*Bl*Bl,_w=Bl*Bl*Bl;function MD(e){if(e instanceof Uo)return new Uo(e.l,e.a,e.b,e.opacity);if(e instanceof ba)return DD(e);e instanceof br||(e=Tf(e));var t=RT(e.r),n=RT(e.g),r=RT(e.b),i=ST((.2225045*t+.7168786*n+.0606169*r)/PD),s,o;return t===n&&n===r?s=o=i:(s=ST((.4360747*t+.3850649*n+.1430804*r)/xD),o=ST((.0139322*t+.0971045*n+.7141733*r)/TD)),new Uo(116*i-16,500*(s-i),200*(i-o),e.opacity)}function NT(e,t,n,r){return arguments.length===1?MD(e):new Uo(e,t,n,r==null?1:r)}function Uo(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}ha(Uo,NT,tu(Ho,{brighter(e){return new Uo(this.l+yy*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Uo(this.l-yy*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=xD*OT(t),e=PD*OT(e),n=TD*OT(n),new br(CT(3.1338561*t-1.6168667*e-.4906146*n),CT(-.9787684*t+1.9161415*e+.033454*n),CT(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function ST(e){return e>_w?Math.pow(e,1/3):e/ED+ID}function OT(e){return e>Bl?e*e*e:ED*(e-ID)}function CT(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function RT(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Lw(e){if(e instanceof ba)return new ba(e.h,e.c,e.l,e.opacity);if(e instanceof Uo||(e=MD(e)),e.a===0&&e.b===0)return new ba(NaN,00==t>0?n===1?t:e+n*(t-e):e*(1-n)+t*n}function Jn(e,t,n){return[ys(e[0],t[0],n),ys(e[1],t[1],n)]}function gs(e,t,n){return[ys(e[0],t[0],n),ys(e[1],t[1],n),ys(e[2],t[2],n)]}function Ef(e,t){return[e[0]+t[0],e[1]+t[1]]}function ND(e,t){return[e[0]-t[0],e[1]-t[1]]}function wT(e,t){return[e[0]-t[0],e[1]-t[1],e[2]-t[2]]}function FT(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function xa(e,t){return Gl(wT(e,t))}function hy(e,t,n){return[ys(e[0],t[0],n[0]),ys(e[1],t[1],n[1])]}function AD(e,t){return[e[0]*t,e[1]*t]}function Gl(e){let[t,n,r]=e;return t*t+n*n+r*r}function kl(e,t){let n=e[1]*t[2]-e[2]*t[1],r=e[2]*t[0]-e[0]*t[2],i=e[0]*t[1]-e[1]*t[0],s=Math.sqrt(n*n+r*r+i*i);return[n/s,r/s,i/s]}function zl(e,t,n){e=Math.fround(e),t=Math.fround(t),n=Math.fround(n);let r=Math.fround(e*e+t*t+n*n);return isFinite(r)&&r!=0}function qo([e,t,n]){return isFinite(e)&&isFinite(t)&&isFinite(n)}function Ki(e,t){let n;e>t&&(n=e,e=t,t=n);let r=e>0,i=t>0,s=Math.abs(e)>.01,o=Math.abs(t)>.01;if(s||o)return pa(e,t);if(e===0)return t*Math.abs(t);if(t===0)return e*Math.abs(e);if(r!==i)return 0;let a=r?Math.sqrt(e*t):-Math.sqrt(e*t);return a>=e&&t>=a?a:pa(e,t)}function zT(e,t,n,r,i){if(!(isNaN(t)||isNaN(r)||t<0==r<0))for(;;){let s=Ki(e,n),o=i(s);if(!isFinite(o))return;if(s===e||s===n)return Math.abs(t)<=Math.abs(r)?[e,t]:[n,r];if(o===0)return vf(e,t,s,o,n,r,i);t<0!=o<0?(n=s,r=o):(e=s,t=o)}}function HD(e,t,n,r,i){if(!(VT(t)||VT(r))&&BT(t,r))for(;;){let s=Ki(e,n),o=i(s);if(VT(o))return;if(s===e||s===n)return s;if(BT(t,o))n=s,r=o;else if(BT(o,r))e=s,t=o;else return}}function VT(e){for(let t of e)if(isNaN(t))return!0;return!1}function BT(e,t){for(let n=0;n=0||e>=0&&t<=0}function vf(e,t,n,r,i,s,o){let a;if(!isFinite(r))return;isFinite(t)||(a=si(e,t,n,r,o),a!==void 0&&(e=a,t=o(e))),isFinite(s)||(a=si(n,r,i,s,o),a!==void 0&&(i=a,s=o(a)));let u,c;t===r?u=[e,t]:u=_D(e,t,n,r,o,r),s===r?c=[i,s]:c=_D(n,r,i,s,o,r);let l;return u&&c&&(l=Ki(u[0],c[0])),l!==void 0?[l,o(l)]:void 0}function si(e,t,n,r,i){if(isFinite(t)!==isFinite(r))for(;;){let s=Ki(e,n),o=i(s);if(s===e||s===n)return isFinite(t)?e:n;isFinite(o)!==isFinite(t)?(n=s,r=o):(e=s,t=o)}}function by(e,t,n,r,i){if(qo(t)!==qo(r))for(;;){let s=Ki(e,n),o=i(s);if(s===e||s===n)return qo(t)?e:n;qo(o)!==qo(t)?(n=s,r=o):(e=s,t=o)}}function _D(e,t,n,r,i,s){if(t===s!=(r===s))for(;;){let o=Ki(e,n),a=i(o);if(o===e||o===n)return t===s?[e,t]:[n,r];a===s!=(t===s)?(n=o,r=a):(e=o,t=a)}}function UD(e,t,n,r,i,s,o){if(et==r>s)for(;;){let a=Ki(e,n),u=o(a),c=Ki(n,i),l=o(c);if(!isFinite(u)||!isFinite(l))return;if(a===e||a===n||c===n||c===i)return u>r==r>t?[a,u]:l>r==r>t?[c,l]:[n,r];if(u===r||l===r)return vf(e,t,n,r,i,s,o);r>t&&u>t&&u>r||rt&&l>r&&l>s||r=c||l>=p))for(;;){if(Math.abs(u[0]-o[0])1?n*1.00001:n+1e-5;let a=e(n),u=e(o),c=hs(a,t),l=hs(u,t);if(!(!isFinite(c)||!isFinite(l))){if(c===l)return[n,o];for(l>c&&([n,o]=[o,n],[a,u]=[u,a],[c,l]=[l,c]);isFinite(n)&&isFinite(o)&&n!==o;){if(i!==void 0&&o>i)return[i,i];if(r!==void 0&&ol){let g=o>n?LD(n,o,p,t,s,e):LD(p,o,n,t,s,e);return g&&[wD(g[0],r,i),wD(g[1],r,i)]}[n,c,o,l]=[o,l,p,m]}return[n,o]}}function FD(e,t,n,r){return n?r?Math.min(hs(e(r[0]),t),hs(e(r[1]),t))c&&u>l?[e,n]:l>c&&l>u?[i,o]:[n,i]}function Hl(e,t,n,r,i,s,o,a=0){if(!((n-e)*(i-n)<=0)&&!(!isFinite(e)||!isFinite(n)||!isFinite(i))&&!(!isFinite(t)||!isFinite(s))){if(!isFinite(r)){let u=si(e,t,n,r,o),c=si(n,r,i,s,o);return u===void 0||c===void 0?void 0:[u,c]}if(!(Math.abs(r-((i-n)*t+(n-e)*s)/(i-e))Math.abs(s-r)?[e,n]:[n,i];if(u===e||u===n)return VD(e,t,n,r,l,p,i,s);if(l===n||l===i)return VD(e,t,u,c,n,r,i,s);f>g&&f>=m?(i=n,s=r,n=u,r=c):g>f&&g>=m?(e=n,t=r,n=l,r=p):(e=u,t=c,i=l,s=p)}}}var Pa=(Math.sqrt(5)-1)/2;function Mf(e,t){return e>0==t>0?e+Pa*(t-e):(1-Pa)*e+Pa*t}function ru(e,t){let n;e>t&&(n=e,e=t,t=n);let r=e>0,i=t>0,s=Math.abs(e)>.01,o=Math.abs(t)>.01;if(s||o)return Mf(e,t);if(e===0)return t*Math.abs(t);if(t===0)return e*Math.abs(e);if(r!==i)return 0;let a=r?Math.sqrt(e*t):-Math.sqrt(e*t);return a>=e&&t>=a?a:Mf(e,t)}function qD(e,t,n,r,i,s){if(!isFinite(e)||!isFinite(n)||!isFinite(t)||!isFinite(r))return;e>n&&([e,t,n,r]=[n,r,e,t]);let o=ru(e,n),a=i(o);if(Math.abs(a-Mf(t,r))<=s)return;let u=ru(e,o),c=i(u);for(;;){let l=Math.abs(c-Mf(t,a)),p=Math.abs(a-Mf(r,c));if(l<=s&&p<=s)return;if(l>p){if(n=o,r=a,o=u,a=c,u=ru(e,o),c=i(u),u===e||u===o)return GD(e,t,o,a,n,r);if(!isFinite(c))return BD(e,t,u,c,n,r,i)}else{if(e=u,t=c,u=o,c=a,o=ru(n,o),a=i(o),o===n||o===u)return GD(e,t,u,c,n,r);if(!isFinite(a))return BD(e,t,o,a,n,r,i)}}}function BD(e,t,n,r,i,s,o){let a=si(e,t,n,r,o),u=si(n,r,i,s,o);if(!(a===void 0||u===void 0))return[a,u]}function GD(e,t,n,r,i,s){return Math.abs(r-t)>Math.abs(s-r)?[e,n]:[n,i]}function kT(e,t,n){let r=e[0]*(1-Pa)+t[0]*Pa-n[0],i=e[1]*(1-Pa)+t[1]*Pa-n[1],s=e[2]*(1-Pa)+t[2]*Pa-n[2];return r*r+i*i+s*s}function xy(e,t,n,r,i,s,o,a){if(!isFinite(e)||!isFinite(n)||!qo(t)||!qo(r))return;e>n&&([e,t,n,r]=[n,r,e,t]);let u=ru(e,n),c=i(u),l=s*s;if(kT(t,r,c)<=l)return;let p=ru(e,u),f=i(p);for(;;){let m=kT(t,c,f),g=kT(r,f,c);if(m<=l&&g<=l)return n-eg){if(n=u,r=c,u=p,c=f,p=ru(e,u),f=i(p),p===e||u-p<=o)return zD(e,t,u,c,n,r);if(!qo(f))return kD(e,t,p,f,n,r,i)}else{if(e=p,t=f,p=u,f=c,u=ru(n,u),c=i(u),u===n||u-p<=o)return zD(e,t,p,f,n,r);if(!qo(c))return kD(e,t,u,c,n,r,i)}}}function kD(e,t,n,r,i,s,o){let a=by(e,t,n,r,o),u=by(n,r,i,s,o);if(!(a===void 0||u===void 0))return[a,u]}function zD(e,t,n,r,i,s){return xa(r,t)>xa(s,r)?[e,n]:[n,i]}var Bw=Hl,Py=si,Gw=3.154019550531224,$D=Math.pow(2,-13),iu=$D*$D,YD=iu*iu,HT=iu,qT=32,lo=[],su=[];function kw(e,t){for(var n=qT;n>0;n--){var r=Gw/qT*n,i=Math.sinh(r),s=Math.cosh(Math.PI/2*i),o=1/(Math.exp(Math.PI/2*i)*s),a=Math.cosh(r)/(s*s);e.push(o),t.push(a)}}kw(lo,su);var WD=0;for(Ty=0;Ty1.95*i&&i>1.95*s}function UT(e,t,n){var r=Ii(n,t,lo[0]),i=Ii(t,n,lo[0]),s=e(r),o=e(i),a=Ii(t,n,1),u=e(a),c,l;if(isFinite(u)&&!isFinite(s)){if(c=Py(r,s,a,u,e),Math.abs((c-t)/(n-t))>HT)return Df(t,n,NaN,NaN,NaN);t=c,s=e(t)}if(isFinite(u)&&!isFinite(o)){if(l=Py(a,u,i,o,e),Math.abs((l-n)/(n-t))>HT)return Df(t,n,NaN,NaN,NaN);n=l,o=e(n)}if(isFinite(s)&&isFinite(o)&&!isFinite(u)){if(c=Py(r,s,a,u,e),l=Py(a,u,i,o,e),Math.abs((l-c)/(n-t))>HT)return Df(t,n,NaN,NaN,NaN);u=.5*(c+l)}if(XD(e,t,n)||XD(e,n,t))return Df(t,n,NaN,NaN,NaN);for(var p=u,f=0,m=0,g=0,d=0,y=0,h=0,b=0;bt&&(t=o.error,r=s),o.minerror>n&&(n=o.minerror)}return{maxerror:t,maxminerror:n,maxindex:r,totalvalue:i}}function Sf(e,t,n,r=32){if(isNaN(t)||isNaN(n))return NaN;var i=1;if(t>n){var s=t;t=n,n=s,i=-1}if(t===1/0&&n===1/0)return NaN;if(t===-1/0&&n===-1/0)return NaN;if(t===-1/0&&n===1/0)return i*Sf(function(f){return e(f/((1+f)*(1-f)))*(1+f*f)/((1+f)*(1+f)*(1-f)*(1-f))},-1,1,r);if(t===-1/0)return i*Sf(function(f){return-e(n-f/(1-f))/((1-f)*(1-f))},1,0,r);if(n===1/0)return i*Sf(function(f){return e(t+f/(1-f))/((1-f)*(1-f))},0,1,r);for(var o=[UT(e,t,n)],a=ZD(o),u=1;u0;){let r=n-1>>>1;if(this.comparator(this._data[n],this._data[r])<0){let i=this._data[r];this._data[r]=this._data[n],this._data[n]=i,n=r}else break}}dequeue(){let t=this._data[0],n=this._data.pop();if(this._data.length>0&&n!==void 0){this._data[0]=n;let r=0,i=this._data.length-1;for(;;){let s=(r<<1)+1,o=s+1,a=r;if(s<=i&&this.comparator(this._data[s],this._data[a])<0&&(a=s),o<=i&&this.comparator(this._data[o],this._data[a])<0&&(a=o),a!==r){let u=this._data[a];this._data[a]=this._data[r],this._data[r]=u,r=a}else break}}return t}peek(){return this._data[0]}clear(){this._data.length=0}};function Uw(e,t){let n=e.start[1]-e.end[1],r=e.end[0]-e.start[0],i=t.start[1]-t.end[1],s=t.end[0]-t.start[0],o=n*e.end[0]+r*e.end[1],a=i*t.end[0]+s*t.end[1],u=n*s-i*r;if(u!==0)return(n*a-i*o)/u}function qw(e,t,n){if(n.xSlope>=t.xSlope)return;if(t.scanlineX===n.scanlineX)return e;let r=t.start[1]>t.end[1]?t.start:t.end,i=n.start[1]>n.end[1]?n.start:n.end,s=r[1];if(i[1]=1;r--){let i=t[r],s=t[r-1],o={id:n++,index:r-1,end:i,start:s,scanlineX:0,xSlope:1/0,isClockwise:s[1]>i[1],skipIntersectionWith:{}};s[1]>i[1]?(this.events.queue({type:\"+\",y:i[1],edge:o}),this.events.queue({type:\"-\",y:s[1],edge:o}),o.xSlope=(s[0]-i[0])/(s[1]-i[1]),o.scanlineX=i[0]):i[1]>s[1]?(this.events.queue({type:\"+\",y:s[1],edge:o}),this.events.queue({type:\"-\",y:i[1],edge:o}),o.xSlope=(i[0]-s[0])/(i[1]-s[1]),o.scanlineX=s[0]):this.events.queue({type:\"h\",y:s[1],edge:o})}}nextScanline(){var s;let t,n=this.events.peek();if(!n)return;if(n.y<=this.scanlineY)throw new Error(\"Programming error: expected next event to begin a new scanline\");this.scanlineY=n.y,this.updateActiveEdgeScanlineIntersections();let r=YT(this.activeEdges),i=[];for(;t=this.events.dequeue();)if(t.type===\"x\"?this.swapActiveEdges(t):t.type===\"+\"?this.insertActiveEdge(t):t.type===\"-\"&&this.removeActiveEdge(t),i.push(t),((s=this.events.peek())==null?void 0:s.y)!==this.scanlineY)return{y:this.scanlineY,activeEdges:this.activeEdges,lengthBeforeProcessingEvents:r,events:i}}updateActiveEdgeScanlineIntersections(){let t=-1/0;for(let n of this.activeEdges){let r=$T(this.scanlineY,n);r`[${t.index}] ${t.scanlineX}`)}`}};function $w(e){let t=e.slice(0,2),n=e.slice(-2);return t[0]!==n[0]||t[1]!==n[1]?[...e,...t]:e}function F4(e,t){if(!e)return!1;let n=$w(e),[r,i]=t,s=0;for(var o=n.length-1;o>=3;o-=2){let a=n[o-3],u=n[o-2],c=n[o-1],l=n[o];u>i!=l>i&&r<(c-a)*(i-u)/(l-u)+a&&(u>l?s+=1:u0),r;for(;r=t.nextScanline();)for(let f of r.events){let m={};if(f.type===\"h\"){let g=f.edge;m[g.index]={xMin:Math.min(g.end[0],g.start[0]),xMax:Math.max(g.end[0],g.start[0]),dx:g.end[0]-g.start[0]}}else if(f.type===\"x\"){let g=f.edge1,d=f.edge2,y=jD([g.start,g.end],[d.start,d.end]),h=y>0?-1:y<0?1:0;n[g.index]+=h,n[d.index]-=h}for(let g of r.activeEdges){let d=g.end[1]-g.start[1];for(let y in m){let{xMin:h,xMax:b,dx:x}=m[y];if(h0?-1:P<0?1:0;n[y]+=M,n[g.index]-=M}}}}let i=e.slice(0,-1).map(()=>0),s=e[0][1],o=0;for(let f=1;f0?o-1:a-1,c=(o+1)%a,p=jD([e[u],e[o]],[e[o],e[c]])>0?1:0;i[o]=p>0?-1:1;for(let f=0;f0?-1:1}return i}function jD(e,t){let n=e[1][0]-e[0][0],r=e[1][1]-e[0][1],i=t[1][0]-t[0][0],s=t[1][1]-t[0][1];return n*s-r*i}var s1={spy:cD},{cosh:o1,sinh:a1,tanh:u1,acosh:c1,asinh:l1,atanh:p1,expm1:Yw,log1p:_f,sign:tI,hypot:po}=Math,Xw=la,nI=qu,f1=$u,d1=Symbol(\"DIVERGES\"),m1=(n=>(n[n.SUCCESS=0]=\"SUCCESS\",n[n.MISSING_CACHE_ENTRY=1]=\"MISSING_CACHE_ENTRY\",n))(m1||{}),Ry=class Ry{constructor(t=Ry.defaultLimit,n){this.limit=t;this.computeSize=n;this.currentSize=0;this.cache=new Map}get(t){let n=this.cache.get(t);return n&&(this.cache.delete(t),this.cache.set(t,n)),n==null?void 0:n.value}set(t,n){let r=this.computeSize?this.computeSize(n):1;if(this.currentSize+r>=this.limit){let i=this.cache.keys().next().value;this.cache.delete(i)}this.cache.set(t,{size:r,value:n})}};Ry.defaultLimit=1e5;var ql=Ry,Lf=1e4,y1=Lf*2;function Zw(){return Lf}function rI(e){Lf=e}var g1=(n=>(n[n.DoesNotTerminate=0]=\"DoesNotTerminate\",n[n.DepthLimitExceeded=1]=\"DepthLimitExceeded\",n))(g1||{});function h1(e,t){if(uo(t))return e.recursionTerminationStatus=0,$r(t);throw db()}function b1(e,t){if(uo(t))return e.recursionTerminationStatus=1,$r(t);throw mb()}var KD=new WeakMap;function Ww(e){let t=KD.get(e);return t||(t=new Set(e),KD.set(e,t)),t}function jT(e){return`${e.fn}:${JSON.stringify(e.args)}`}function jw(e,t){return{status:0,result:[e,t]}}function Jw(e){return{status:1,stackFrame:e}}function Qw(e,t,n,r){let i=e.recursiveFunctionCache||new ql,s=[];s.push(r);let o=0;for(;s.length>0;){if(s.length>Lf||o++>y1)return b1(e,n);let a=s.pop(),{fn:u,args:c}=a,l=t[u](i,...c);if(l===d1)return h1(e,n);if((l==null?void 0:l.status)===1)s.push({fn:u,args:c}),s.push(l.stackFrame);else{let p=jT(a);i.set(p,l.result)}}return i.get(jT(r))[0]}var Kw=function(e){let t=e*e;return 1+t===1?1:1+t===t?Math.abs(e):Math.sqrt(t+1)},eF=function(e){let t=e*e;return t<1?NaN:t-1===t?Math.abs(e):Math.sqrt(t-1)};function rr(e,t,n){return Math.max(t,Math.min(n,e))}function x1(e,t){let n=e%t;return e*t<0&&n!==0?n+t:n}function P1(e,t){e=Math.round(e),t=Math.round(t);let n=nI(e,t);return Math.abs(e/n*t)}function tF(e){if(e.length===0)return NaN;let t=e[0];for(let n=1;n0&&e-t<0)return n&&r?Math.pow(-1,t)*ou(t-e-1,t):bs(e-t)/bs(e)*ou(-(e-t),t);if(e<0&&t<0&&e-t>0)return n&&r?Math.pow(-1,e-t)*ou(-t-1,e-t):bs(t)/bs(e)*ou(-t,-e);if(e>0&&t<0&&e-t>0){let a=Math.abs(e)>Math.abs(t)?-t:e;return bs(t)/ou(e-t,a)}if(e>0&&t>0&&e-t<0)return bs(e-t)/ou(t,e);if(e<0||t<0||e-t<0||e<15&&t<15&&e-t<15)return vy(e,t)/$o(t);let i=es(e)-es(t)-es(e-t)-(e-t)*_f(-t/e),s=Math.sqrt(e/(2*Math.PI*t*(e-t)))*Math.pow(e/t,t)*Math.exp(i);return n&&r&&e>0&&t>0&&e-t>0?Math.round(s):s}function vy(e,t){if(isNaN(e))return e;if(isNaN(t))return t;if(!isFinite(e)&&!isFinite(t))return NaN;if(t===0)return 1;if(e===0)return 1/$o(-t);if(e===t)return $o(e);let n=isFinite(e)&&e===Math.round(e),r=isFinite(t)&&t===Math.round(t);if(e<0&&e-t<0)return n&&r?Math.pow(-1,t)*vy(t-e-1,t):bs(e-t)/bs(e)*vy(-(e-t),t);if(e<0||e-t<0||e<15&&e-t<15)return $o(e)/$o(e-t);let i=es(e)-es(e-t)-(e-t)*_f(-t/e),s=Math.sqrt(e/(e-t))*Ny(e,t)*Math.exp(i);return n&&r&&e>0&&t>0&&e-t>0?Math.round(s):s}function $o(e){if(e===-1/0)return NaN;let t=Math.round(e)===e;if(e<0)return t?1/0:1/(bs(e)*e1(-e));let n=e1(e);return t?Math.round(n):n}function e1(e){return e>171?1/0:e<14?rF(e):oF(e)}function rF(e){let t=4.077131788261185,n=7.024675027156382,r=6.657107767450176,i=3.766266976716022,s=1.2792371666711133,o=.24304596436338005,a=.020049769312165774,u=4.154347453162709,c=7.270007565107539,l=6.97805297331391,p=3.989651532924167,f=1.367176195613119,m=.26175627691546965,g=.021742722739397567,d=1+e*(t+e*(n+e*(r+e*(i+e*(s+e*(o+e*a)))))),y=1+e*(u+e*(c+e*(l+e*(p+e*(f+e*(m+e*g)))))),h=e+1,b=1-(h-e);return Ny(h,e)*Math.sqrt(h+(2*e+1)*b)*(d/y)}var iF=Math.pow(2,27)+1;function sF(e){let t=iF*e;return t-(t-e)}var XT=.3678794428706169,ZT=-16991745912462731e-25;function Ny(e,t){let n=sF(e),r=e-n,i=e*(XT+ZT);if(i===0)return Math.pow(e/Math.E,t);let s=n*XT-i+n*ZT+r*XT+r*ZT;return Math.pow(i,t)*(1+t*(s/i))}function oF(e){return Ny(e,e)*Math.sqrt(2*Math.PI*e)*Math.exp(S1(e))}var T1=[1/6,-1/30,1/42,-1/30,5/66,-691/2730,7/6,-3617/510,43867/798,-174611/330,854513/138,-236364091/2730,8553103/6,-23749461029/870];function I1(e,t){if(e!==Math.floor(e))return NaN;if(e<0)return NaN;if(e===0)return 1/D1(t);let n=Kt(t);if(e===1)return-1/(n*n);let r=xn(t);if(e===2)return 2*r/(n*n*n);let i=[0,2],s=[];for(let a=3;a<=e;a++){s=[];for(let u=0;u0&&(c=(a-u+1)*i[u-1]),u+2=0;a--)o=s[a]+r*o;return o/Math.pow(n,e+1)}function E1(e,t){if(e<0)return NaN;if(e!==Math.floor(e))return NaN;let n=e%2===0?-1:1;if(t<0)return-n*E1(e,1-t)-Math.pow(Math.PI,e+1)*I1(e,Math.PI*t);let r=$o(e),i=0,s=Math.pow(t,-(e+1));for(;t<10;)i+=s,t++,s=Math.pow(t,-(e+1));i+=e===0?-Math.log(t):s*t/e,i+=.5*s;let o=T1,a=e+1,u=2,c=s*t*a/u,l=1/(t*t);for(let p=1;p<=14;p++)c*=l,i+=c*o[p-1],a++,u++,c*=a/u,a++,u++,c*=a/u;return r*n*i}function aF(e){let t=Math.log(e);return Math.exp(Math.round(t))===e?Math.round(t):t}function M1(e,t){if(t===0)return NaN;let n;return t===Math.E?n=Math.log(e):t===2&&Math.log2?n=Math.log2(e):t===10&&Math.log10?n=Math.log10(e):n=Math.log(e)/Math.log(t),Math.pow(t,Math.round(n))===e?Math.round(n):n}function uF(e){return M1(e,10)}function cF(e,t){return f1(e,1/t)}var v1=1/Math.PI;function Ay(e){return e>1e12?!1:Math.round(v1*e)*Math.PI===e}function _y(e){if(e>1e12)return!1;let t=Math.round(2*v1*e);return t%2===1&&t*Math.PI===2*e}function Kt(e){return Ay(Math.abs(e))?0:Math.sin(e)}function xn(e){return _y(Math.abs(e))?0:Math.cos(e)}function D1(e){let t=Math.abs(e);return Ay(t)?0:_y(t)?1/0:Math.tan(e)}function lF(e){return _y(Math.abs(e))?1/0:1/Math.cos(e)}function pF(e){return Ay(Math.abs(e))?1/0:1/Math.sin(e)}function fF(e){let t=Math.abs(e);return Ay(t)?1/0:_y(t)?0:1/Math.tan(e)}function dF(e){return e>0?Math.atan(1/e):Math.PI/2-Math.atan(e)}function mF(e){return Math.asin(1/e)}function yF(e){return Math.acos(1/e)}function gF(e){return 1/o1(e)}function hF(e){return 1/a1(e)}function bF(e){return 1/u1(e)}function xF(e){return c1(1/e)}function PF(e){return l1(1/e)}function TF(e){return p1(1/e)}function IF(e){if(e===0||isNaN(e))return e;if(!isFinite(e))return NaN;if(e===Math.floor(e))return e>0?0:-0;let t=Math.round(2*e),n=-.5*t+e,r=t&2?-1:1,i=t&1?Math.cos(Math.PI*n):Math.sin(Math.PI*n);return r*i}function bs(e){return e===1/0||e===-1/0?0:e===0?1:IF(e)/(Math.PI*e)}function Xo(e){let t=0;for(let n=0;n50?Math.exp(.5*((1-e)*_f(-1/(e-1))-1)+es(.5*(e-1))-es(.5*(e-2)))*Math.sqrt((1-1/e)/(2*Math.PI)):e/(e+1)*$o((e+1)/2)/($o(e/2)*Math.sqrt(e*Math.PI))}function $l(e,t,n=e-t){if(Math.abs(n)<.1*(e+t)){let r=n/(e+t),i=n*n/(e+t),s=2*e*r;for(let o=1;o<10;o++){s*=r*r;let a=i+s/(2*o+1);if(a==i)return a;i=a}}return e*Math.log(e/t)+t-e}var MF=[0,.08106146679532726,.0413406959554093,.02767792568499834,.020790672103765093,.016644691189821193,.013876128823070748,.01189670994589177,.010411265261972096,.009255462182712733,.00833056343336287,.007573675487951841,.00694284010720953,.006408994188004207,.0059513701127588475,.005554733551962801];function es(e){return e>15?S1(e):e<0?NaN:e===Math.floor(e)?MF[e]:Math.log($o(e)/(Ny(e,e)*Math.sqrt(2*Math.PI*e)))}function S1(e){let t=.08333333333333333,n=.002777777777777778,r=.0007936507936507937,i=.0005952380952380953,s=.0008417508417508417,o=e*e;return(t-(n-(r-(i-s/o)/o)/o)/o)/e}function Ly(e,t){return t<=0?NaN:JT(t)*Math.pow(1+e*e/t,-((t+1)/2))}function Tc(e,t){if(t>0)return 1-Tc(e,-t);if(t===-1/0)return 0;if(t===0)return .5;if(e>=40&&t>-1)return .5+JT(e)*vF(e,t);if(t/e<-1e3){let r=t*t;return JT(e)*Math.pow(e,.5*(e-1))*Math.pow(Math.abs(t),-e)*(1-e*e*(e+1)*(1/(2+e)+e*(e+3)/(4*(4+e)*r))/(2*r))}let n=Math.sqrt(t*t+e);return DF((t+n)/(2*n),e/2,e/2)}function vF(e,t){let n=t*t/e,r=t,i=r;for(let s=1;s<=15;s++)r*=-(2*s-1)/(2*s+1)*(.5*(e+1)+s-1)/s*n,i+=r;return i}function Ey(e,t,n){return n<=0?NaN:e===-1/0?Tc(n,t):e>0&&t>0?Tc(n,-e)-Tc(n,-t):Tc(n,t)-Tc(n,e)}function DF(e,t,n){if(e<0||e>1)throw new RangeError(\"First argument must be between 0 and 1.\");if(t===1&&n===1)return e;if(e===0)return 0;if(e===1)return 1;if(t===0)return 1;if(n===0)return 0;{let r=es(t+n)-es(t)-es(n)-$l(t,(t+n)*e)-$l(n,(t+n)*(1-e),(t+n)*e-t),i=Math.exp(r)*Math.sqrt(t*n/(2*Math.PI*(t+n)));return e<(t+1)/(t+n+2)?i*t1(e,t,n)/t:1-i*t1(1-e,n,t)/n}}function t1(e,t,n){let r=Math.pow(2,-52),i=1e-300,s=t+n,o=t+1,a=t-1,u=1,c=1-s*e/o;Math.abs(c)n);return o}function OF(e,t){let n=Math.pow(2,-52),r=1e-300,i=1,s=t+1-e,o=i/s,a=i/r,u=1/s,c=2,l=0,p=s;do{let f=-(c-1)*(c-e-1);p+=2,u=u*f+p,u===0&&(u=r),a=p+f/a,a===0&&(a=r),u=1/u,l=a*u,o*=l,c+=1}while(c<100&&Math.abs(l-1)>n);return o}function CF(e,t){let n=t/e,r=tI(t-e)*Math.sqrt(2*$l(1,n)),i=[1,-.3333333333333333,.08333333333333333,-.014814814814814815,.0011574074074074073,.0003527336860670194,-.0001787551440329218,3919263178522438e-20,-2185448510679992e-21,-185406221071516e-20,8296711340953087e-22,-17665952736826078e-23,6707853543401498e-24,10261809784240309e-24,-4382036018453353e-24,914769958223679e-24,-25514193994946248e-27,-5830772132550426e-26,24361948020667415e-27,-50276692801141755e-28,11004392031956135e-29,3371763262400985e-28,-1392388722418162e-28,28534893807047445e-30,-5139111834242572e-31,-19752288294349442e-31,8099521156704561e-31],s=i.length-2,o=0,a=0,u=0,c=0;for(;s>=0;s--)u=(s+2)*o/e+i[s+1],c=r*c+u,o=a,a=u;if(c=e/(e+o)*c,t0&&i>0?Rf(-s)-Rf(-i):Rf(i)-Rf(s)}function iI(e,t,n){return 1/Math.sqrt(2*Math.PI*n*n)*Math.exp(-(e-t)*(e-t)/(2*n*n))}function sI(e){let t=s1.spy(e),n=parseInt(t.slice(0,8),16)&2097151,r=parseInt(t.slice(8,16),16);return(n*4294967296+r)/9007199254740992}function O1(e,t){for(let n=t.length-1;n>0;n--){let r=e+\"::sc\"+n,i=Math.floor(sI(r)*(n+1)),s=t[n];t[n]=t[i],t[i]=s}}function NF(e,t){let n=t.slice();return O1(e,n),n}function oI(e,t){let n=[];for(let r=0;r=1||a===0);let u=Math.sqrt(-2*Math.log(a)/a);return t+n*s*u}function _F(e,t){if(t<=0)return NaN;let n=0,r,i,s,o;do r=e+\"::sc\"+n,n+=1,i=au(r,0,1)*2-1,r=e+\"::sc\"+n,n+=1,s=au(r,0,1)*2-1,o=i*i+s*s;while(o>1);let a=i*i/o,u=t*(Math.pow(o,-2/t)-1);return r=e+\"::sc\"+n,n+=1,(au(r,0,1)<.5?-1:1)*Math.sqrt(a*u)}function LF(e,t,n){return t=rr(Math.round(t),0,1/0),t===1/0?NaN:(n=rr(n,0,1),R1(au(e,0,1),t,n))}function wF(e,t){return t<0?NaN:C1(au(e,0,1),t)}function My(e,t,n){return e>=t?1:e<0?0:e0&&(i*=e/(t-e+1)*r,s+i!==s);e--)s+=i;return s}function FF(e,t,n,r){return n=rr(Math.round(n),0,1/0),n===1/0?NaN:(r=rr(r,0,1),t<0?0:(e=Math.ceil(e),t=Math.floor(t),e===-1/0?My(t,n,r):My(t,n,r)-My(e-1,n,r)))}function wy(e,t,n){if(e=Math.round(e),t=rr(Math.round(t),0,1/0),t===1/0)return NaN;if(n=rr(n,0,1),e<0||e>t)return 0;if(n===0)return e===0?1:0;if(n===1)return e===t?1:0;if(e===0)return Math.exp(t*_f(-n));if(e===t)return Math.pow(n,t);let r=es(t)-es(e)-es(t-e)-$l(e,t*n)-$l(t-e,t*(1-n),t*n-e);return Math.exp(r)*Math.sqrt(t/(2*Math.PI*e*(t-e)))}function Yl(e,t){return t<0?NaN:(e=Math.round(e),e<0?0:t===0?e===0?1:0:e===0?Math.exp(-t):Math.exp(-es(e)-$l(e,t))/Math.sqrt(2*Math.PI*e))}function Nf(e,t){if(isNaN(e)||isNaN(t))return NaN;if(e===1/0)return 1;if(e=Math.floor(e),e<0)return 0;if(t===0)return 1;if(e+1>12&&2.35*(e+1)>t&&.3*(e+1)=t){let n=SF(e+1,t);return isFinite(n)?1-t*Yl(e,t)*n:1}else{let n=OF(e+1,t);return isFinite(n)?t*Yl(e,t)*n:0}}function VF(e,t,n){return n<0?NaN:(e=Math.ceil(e),t=Math.floor(t),t<0?0:e===-1/0?Nf(t,n):Nf(t,n)-Nf(e-1,n))}function aI(e,t,n){return n<=t?NaN:en?0:1/(n-t)}function i1(e,t,n){return n<=t?NaN:en?1:(e-t)/(n-t)}function BF(e,t,n,r){return i1(t,n,r)-i1(e,n,r)}function GF(e){let t=-e*e;return t<-750?e>=0?1:-1:e>=.065?1-Math.exp(t)*Ta(e):e<=-.065?Math.exp(t)*Ta(-e)-1:e*(1.1283791670955126+t*(.37612638903183754+t*(.11283791670955126+t*(.026866170645131252+t*.005223977625442188))))}function Ta(e){let t=.9999999999999999,n=2.224574423459406,r=2.444115549920689,i=1.7057986861852539,s=.8257463703357973,o=.28647031042892007,a=.07124513844341643,u=.012296749268608364,c=.001347817214557592,l=7263959403471071e-20,p=1,f=3.352953590554884,m=5.227518529742423,g=5.003720878235473,d=3.266590890998987,y=1.5255421920765353,h=.5185887413188858,b=.12747319185915415,x=.02185979575963238,P=.0023889438122503674,M=.00012875032817508128;if(e<0)return e<-6.1?2*Math.exp(e*e):2*Math.exp(e*e)-Ta(-e);if(e>50){let I=.5641895835477563,E=e*e;return e>5e7?I/e:I*(E*(E+4.5)+2)/(e*(E*(E+5)+3.75))}else{let I=t+e*(n+e*(r+e*(i+e*(s+e*(o+e*(a+e*(u+e*(c+e*l)))))))),E=p+e*(f+e*(m+e*(g+e*(d+e*(y+e*(h+e*(b+e*(x+e*(P+e*M)))))))));return I/E}}function uI(e){let t=-39.6968302866538,n=220.946098424521,r=-275.928510446969,i=138.357751867269,s=-30.6647980661472,o=2.50662827745924,a=-54.4760987982241,u=161.585836858041,c=-155.698979859887,l=66.8013118877197,p=-13.2806815528857,f=-.00778489400243029,m=-.322396458041136,g=-2.40075827716184,d=-2.54973253934373,y=4.37466414146497,h=2.93816398269878,b=.00778469570904146,x=.32246712907004,P=2.445134137143,M=3.75440866190742,I=.02425,E,v,O;return e>.5?-uI(1-e):e===.5?0:e<0?NaN:e===0?-1/0:(e1)return NaN;if(t===0||e===0)return 0;if(e===1)return 1/0;let n=-1,r=Math.ceil(t);for(;Nf(r,t)1)return NaN;if(e<0||e>1)return NaN;if(e===0)return 0;if(e===1)return t;if(t===0)return 0;if(n===1)return t;if(n===0)return 0;let r=-1,i=t,s=Math.floor(r+(i-r)/2);for(;r1)return NaN;if(e===0)return-1/0;if(e===1)return 1/0;if(t===1||t===2||t===4)return WT(t,e);let n,r;if(e===.5)return 0;if(e>.5)n=t>1?uI(e):WT(1,e),r=t>1?WT(1,e):Math.pow(Ly(0,t)*Math.pow(t,(t-1)/2)/(1-e),1/t);else return-N1(1-e,t);return kF(t,e,n,r)}function WT(e,t){let n=4*t*(1-t);switch(e){case 1:return Math.tan(Math.PI*(t-.5));case 2:return 2*(t-.5)*Math.sqrt(2/n);case 4:let r=Math.cos(Math.acos(Math.sqrt(n))/3)/Math.sqrt(n);return tI(t-.5)*2*Math.sqrt(r-1);default:throw new Error(\"_invTSimple() must be called with 1, 2, or 4 df.\")}}function kF(e,t,n,r){if(!isFinite(n)||!isFinite(r))return NaN;let i=n,s=r;for(;;){let o=Ki(i,s),a=Tc(e,o);if(o===i||o===s)return a>t?i:s;a1||n<=t?NaN:e===0?t:e===1?n:t+e*(n-t)}function A1(e,t){let n=Dy(e);return(Xo(e)-t)*Math.sqrt(e.length)/n}function _1(e,t){let n=e.length,r=Xo(e),i=Dy(e),s=t.length,o=Xo(t),a=Dy(t),u=Math.sqrt(((n-1)*i*i+(s-1)*a*a)/(n+s-2));return(r-o)/(u*Math.sqrt(1/n+1/s))}function Ul(e,t,n){return n<0?Ey(-1/0,e,t):n>0?Ey(-1/0,-e,t):2*Ey(-1/0,-Math.abs(e),t)}function cI(e,t){arguments.length===1&&(t=0);let n=A1(e,t),r=e.length-1;return{lessThan:Ul(n,r,-1),greaterThan:Ul(n,r,1),notEqual:Ul(n,r,0)}}function lI(e,t){let n=_1(e,t),r=e.length+t.length-2;return{lessThan:Ul(n,r,-1),greaterThan:Ul(n,r,1),notEqual:Ul(n,r,0)}}function pI(e){return{min:L1(e),q1:Ic(e,1),median:V1(e),q3:Ic(e,3),max:w1(e)}}function HF(e){return e.length}function L1(e){if(e.length<1)return NaN;let t=e[0];if(isNaN(t))return NaN;for(let n=1;n=t&&(t=e[n])}return t}function F1(e,t){if(!isFinite(t)||t<0||t>1)return NaN;if(e.some(isNaN))return NaN;if(e.length===0)return NaN;let n=e.length,r=Ec(e),i=t*(n-1);return Math.floor(i)===i?e[r[i]]:(Math.ceil(i)-i)*e[r[Math.floor(i)]]+(i-Math.floor(i))*e[r[Math.ceil(i)]]}function Ic(e,t){if(!isFinite(t)||t<0||t>4)return NaN;if(e.some(isNaN))return NaN;let n=Ec(e),r=Fy(e,t),i=Math.floor(r),s=Math.ceil(r);return(e[n[i]]+e[n[s]])/2}function Ec(e){let t=e.length,n=[];for(let r=0;r=t){if(isNaN(e[r]))return 0;n=r,t=e[r]}return n+1}function wf(e){let t=Xo(e),n=0;for(let r=0;r1){let[n,r]=e[e.length-1],[i,s]=e[0];t+=as(i-n,s-r)}return t}function cV(e){let t=!1;for(let n=0;n{let i=e[r===0?e.length-1:r-1];return n[0]!==i[0]||n[1]!==i[1]}):e}function lV(e){let[t,n,r,i]=e;return[t,r>=0?n:n+r,r>=0?r:-r,i]}function z1(e,t,n){if(e.length===0)return[];e=cV(e);let r=QD([...e,e[0]]),i=[];for(let s=0;s0?s-1:e.length-1],a=e[s],u=e[s2*Math.PI-1e-9}function $1(e){return Math.abs(e)===Math.PI?Math.PI:x1(e+Math.PI,2*Math.PI)-Math.PI}function Y1(e,t,n,r){return[e,$1(t),n,r]}function vV([e,t,n,r]){return[e,t,n,r]}function DV(e){return e[2]}function SV(e){return e[3]}function X1(e){let[t,n,r,i]=e,s=Math.PI*2,o=r===0?s:r>0?r-s:r+s;return[t,n,o,i]}function OV(e){let[t,n,r,i]=X1(e);return[t,n,r,i]}function CV(e){let[t,n,r,i]=e,s=r>=0?Math.PI-r:-Math.PI-r;return[t,$1(n+r),s,i]}function RV(e,t,n,r,i){let s=e[0]-t[0],o=e[1]-t[1],a=n[0]-t[0],u=n[1]-t[1],c=Math.atan2(o,s),l=Math.atan2(s*u-o*a,s*a+o*u),p=2*Math.PI;return r===\"clockwise\"?l-=l<0?0:p:r===\"counterclockwise\"&&(l+=l<0?p:0),Y1(t,c,l,i)}function hI(e,t){let[[n,r],[i,s]]=e;return[[t*n,t*r],[t*i,t*s]]}var NV=hI,AV=hI;function _V(e,t){let[[n,r],i]=e;return[[t*n,t*r],t*i]}function LV(e,t){let[[n,r],[i,s],[o,a]]=e;return[[t*n,t*r],[t*i,t*s],[t*o,t*a]]}function wV(e,t){let[[n,r],i,s,o]=e;return[[t*n,t*r],t*i,t*s,o]}function bI(e,t){let[[n,r],[i,s]]=e,[[o,a],[u,c]]=t;return[[n+o,r+a],[i+u,s+c]]}function FV(e,t){let[[n,r,i],[s,o,a]]=e,[[u,c,l],[p,f,m]]=t;return[[n+u,r+c,i+l],[s+p,o+f,a+m]]}var VV=bI,BV=bI;function GV(e,t){let[[n,r],i]=e,[[s,o],a]=t;return[[n+s,r+o],i+a]}function kV(e,t){let[[n,r],[i,s],[o,a]]=e,[[u,c],[l,p],[f,m]]=t;return[[n+u,r+c],[i+l,s+p],[o+f,a+m]]}function zV(e,t){let[[n,r],i,s,o]=e,[[a,u],c,l]=t;return[[n+a,r+u],i+c,s+l,o]}function xI(e,t){let[[n,r],[i,s]]=e;return[(1-t)*n+t*i,(1-t)*r+t*s]}function PI(e,t){return xI(e,rr(t,0,1))}function HV(e,t){t=rr(t,0,1);let[[n,r,i],[s,o,a]]=e;return[(1-t)*n+t*s,(1-t)*r+t*o,(1-t)*i+t*a]}function KT(e,t){return xI(e,rr(t,0,1/0))}function UV(e,t){let[[n,r],i]=e,s=Math.min(1,Math.max(0,t));return[n+i*Math.cos(2*Math.PI*s),r+i*Math.sin(2*Math.PI*s)]}function Z1(e,t){let n=By(e);if(!n)return[NaN,NaN];if(n.type===\"segment\")return PI([e[0],e[2]],t);if(n.type===\"rays\")return t<=0?KT([n.start1,n.end1],-t):t>=1?KT([n.start2,n.end2],t-1):[NaN,NaN];t=Math.min(1,Math.max(0,t));let r=jl(e),i=Jl(e),s=Math.atan2(e[0][1]-r[1],e[0][0]-r[0]),o=Xl(r,e[0]),a=s+t*i;return[r[0]+o*Math.cos(a),r[1]+o*Math.sin(a)]}function qV(e,t){if(isNaN(t))return[NaN,NaN];if(t<0||t>=e.length)return e[0];let n=Math.floor(t);return PI([e[n],e[(n+1)%e.length]],t-n)}function By(e){let[t,n,r]=e,[[i,s],[o,a],[u,c]]=[t,n,r];if(isNaN(i)||isNaN(s)||isNaN(o)||isNaN(a)||isNaN(u)||isNaN(c))return;let l=jl([t,n,r]),p=Xl(l,t);if(isFinite(p)&&!gI([t,n,r])){let f=Math.atan2(t[1]-l[1],t[0]-l[0]),m=f+Jl([t,n,r]);return{type:\"arc\",center:l,radius:p,startAngle:f,endAngle:m}}else{let f=Rs(o,a,0,i,s,0,u,c,0);return f<0||f>1?{type:\"rays\",start1:[i,s],end1:[i+(i-u),s+(s-c)],start2:[u,c],end2:[u+(u-i),c+(c-s)]}:{type:\"segment\",start:[i,s],end:[u,c]}}}function $V(e,t,n){let i=Xl(e,t);if(i>1e-9)return t;let s=Xl(e,n);return s>1e-9?n:isNaN(i)&&isNaN(s)?[NaN,NaN]:e}function Af(e,t){let[[n,r],i]=e,[[s,o],a]=t,u=po(s-n,o-r),c=i+a,l=i-a,p=u*u,f=Math.sqrt((u+c)*(-u+c)*(u-l)*(u+l))/4,m=i*i,g=a*a;return[(s+n)/2+(s-n)*(m-g)/(2*p)+-2*(o-r)*f/p,(o+r)/2+(o-r)*(m-g)/(2*p)+2*(s-n)*f/p]}function W1(e,t,n){let[[r,i],s]=e,[[o,a],[u,c]]=t,l=o-r,p=u-r,f=a-i,m=c-i,g=p-l,d=m-f,y=g*g+d*d,h=l*m-p*f,b=s*s*y-h*h;if(b<0)return[NaN,NaN];let x=Math.sqrt(b);return x<0?[NaN,NaN]:[r+(h*d+n*g*x)/y,i+(-h*g+n*d*x)/y]}function YV(e,t){let[[n,r],[i,s]]=e,[[o,a],[u,c]]=t,l=s-r,p=n-i,f=c-a,m=o-u,g=l*n+p*r,d=f*o+m*a,y=l*m-f*p;return y===0?[NaN,NaN]:[(m*g-p*d)/y,(l*d-f*g)/y]}function TI(e,t,n=0){let r=W1(t,e,-1);return Wl(r,e,n,!0)?r:[NaN,NaN]}function II(e,t,n=0){let r=W1(e,t,1);return Wl(r,t,n,!1)?r:[NaN,NaN]}function j1(e,t,n=0){let r=YV(e,t);return!Wl(r,e,n,!0)||!Wl(r,t,n,!1)?[NaN,NaN]:r}function XV(e,t,n=0){let r=K1(t,e,n,-1);return Zl(r,t,n,!1)?r:[NaN,NaN]}function J1(e,t,n=0){let r=eS(t,e,n,-1);return!Wl(r,e,n,!0)||!Zl(r,t,n,!1)?[NaN,NaN]:r}function ZV(e,t,n=0){let r=K1(e,t,n,1);return Zl(r,e,n,!0)?r:[NaN,NaN]}function Q1(e,t,n=0){let r=eS(e,t,n,1);return!Zl(r,e,n,!0)||!Wl(r,t,n,!1)?[NaN,NaN]:r}function WV(e,t,n=0){let r=jV(e,t,n);return!Zl(r,e,n,!0)||!Zl(r,t,n,!1)?[NaN,NaN]:r}function jV(e,t,n){let r=Oy(e);if(Cy(r))return J1(r,t,n);let i=Oy(t);return Cy(i)?Q1(e,i,n):EI(()=>Af(r,i),()=>Af(i,r),s=>MI(-1,Sy(e,s),Sy(t,s)))}function K1(e,t,n,r){let i=Oy(e);return Cy(i)?r>0?II(t,i,n):TI(i,t,n):EI(()=>Af(i,t),()=>Af(t,i),s=>MI(r,Sy(e,s),JV(t,s)))}function eS(e,t,n,r){let i=Oy(e);return Cy(i)?j1(i,t,n):EI(()=>II(i,t,n),()=>TI(t,i,n),s=>MI(r,Sy(e,s),QV(t)))}function EI(e,t,n){let r=e();if(n(r))return r;let i=t();return n(i)?i:[NaN,NaN]}function MI(e,t,n){return e*tS(t,n)>0}function Sy(e,[t,n]){let[r,i]=jl(e);return Jl(e)>0?[i-n,t-r]:[n-i,r-t]}function JV([[e,t]],[n,r]){return[t-r,n-e]}function QV([[e,t],[n,r]]){return[n-e,r-t]}function Oy(e){let t=jl(e),n=Xl(t,Z1(e,0));return isFinite(n)&&!gI(e)?[t,n]:[e[0],e[2]]}function Cy(e){return Array.isArray(e[1])}function Zl([e,t],n,r,i){let[s,o]=jl(n);return(i?(r&3)===0:(r&12)===0)||Ld(Math.atan2(t-o,e-s),Math.atan2(n[0][1]-o,n[0][0]-s),Jl(n))}function Wl([e,t],[[n,r],[i,s]],o,a){let u=Rs(e,t,0,n,r,0,i,s,0),[c,l]=a?[(o&1)===0,(o&2)===0]:[(o&4)===0,(o&8)===0];return!isNaN(u)&&(u>=0||c)&&(u<=1||l)}function KV(e,t){let[[n,r],[i,s]]=e,[o,a]=t;return[[o,a],[o+(i-n),a+(s-r)]]}function eB(e,t){let[[n,r],[i,s]]=e,[o,a]=t;return[[o,a],[o+(s-r),a-(i-n)]]}function tS(e,t){let[n,r]=e,[i,s]=t;return n*s-i*r}function tB(e,t){let[n,r]=e,[i,s]=t;return n*i+r*s}function nB(e){let[t,n]=e;return[-n,t]}function rB(e,t,n){return[e,t,n]}function iB(e){return[[1,0],e,!1]}function sB(e,t){let[n,r]=e;return[[t,0],[(1-t)*n,(1-t)*r],!1]}function oB(e,t){let[n,r]=e,i=Math.cos(t),s=Math.sin(t);return[[i,s],[n*(1-i)+r*s,r*(1-i)-n*s],!1]}function aB(e){let[[t,n],[r,i]]=e,s=r-t,o=i-n,a=s*s+o*o;return[[(s*s-o*o)/a,2*s*o/a],[(1-(s*s-o*o)/a)*t-2*s*o/a*n,(1+(s*s-o*o)/a)*n-2*s*o/a*t],!0]}function uB(e,t){let[[n,r],[i,s],o]=e,[[a,u],[c,l],p]=t;return o&&(u=-u,l=-l,p=!p),[[a*n-u*r,a*r+u*n],[i+n*c-r*l,s+n*l+r*c],p]}function cB(e){let[[t,n],[r,i],s]=e,o=t*t+n*n,a=t/o,u=-n/o,c=-(t/o*r+n/o*i),l=-(t/o*i-n/o*r);return s&&(u=-u,l=-l),[[a,u],[c,l],s]}function Yo(e,t){let[[n,r],[i,s],o]=e,[a,u]=t;return o&&(u=-u),[n*a-r*u+i,n*u+r*a+s]}function lB(e,t){let[n,r,i]=e;return i?-t:t}function Gy(e,t){let[n,r]=t;return[Yo(e,n),Yo(e,r)]}var pB=Gy,fB=Gy;function dB(e,t){let[n,r]=t,i=[r,[r[0]+n[0],r[1]+n[1]]],s=Gy(e,i);return H1(s[0],s[1])}function mB(e,t){let[n,r]=t,[[i,s]]=e;return[Yo(e,n),po(i,s)*r]}function yB(e,t){let[n,r,i]=t;return[Yo(e,n),Yo(e,r),Yo(e,i)]}function gB(e,t){let n=[];for(let r of t)n.push(Yo(e,r));return n}function hB(e,t){let[n,r,i]=t,s=Yo(e,n),[o,a,u]=e,[c,l]=Yo([o,[0,0],u],[Math.cos(r),Math.sin(r)]),p=Math.atan2(l,c),f=lB(e,i);return[s,p,f,t[3]]}function bB(e,t){let n=[];for(let r=0;r=0;i--){if(!r[i])continue;let s=e.getInstruction(i);if(s.type===2)n.push({symbol:e.argNames[i],scope:\"free\"});else if(ri(s))switch(s.type){case 21:n.push({symbol:s.callData.indexSymbol,scope:\"integral\"});break;case 19:n.push({symbol:s.callData.indexSymbol,scope:s.callData.type});break;case 23:if(s.listComprehensionCallData)for(let a of s.listComprehensionCallData.inputListSymbols)n.push({symbol:a,scope:\"comprehension\"});break;case 50:for(let a of s.callData.parameterSymbols)n.push({symbol:a,scope:\"map\"});break;case 53:{let a=e.getInstruction(s.args[0]);for(let u of a.parameterSymbols)n.push({symbol:u,scope:\"recursive-function\"});break}default:let o=s;throw new Error(`Programming Error: unexpected loop instruction ${o.type}`)}else s.type===3&&s.symbol&&n.push({symbol:s.symbol,scope:\"symbolic-var\"});if(!be(s))for(let o of e.getDirectDependencies(s))r[o]=!0}return n.reverse()}function iS(e){if(e.isConstant())return;let t=[];for(let s=0;su.indexOf(\"idref\")!==-1);a&&(this.ref=a)}}static fromCallAssignment(n,r){let i=r._lhs;if(!(i instanceof cn))return;let s=n[i._symbol];if(!s||!(s instanceof cr))return;if(i.args.length!==s._argSymbols.length)return new e(s._symbol,[],{valid:!1,error:yb(s._symbol,s._argSymbols.length)},r._rhs,r);let o,a=[];for(let u=0;u\":ae(qr[\">\"],\"Comparator['>']\"),\"<=\":ae(qr[\"<=\"],\"Comparator['<=']\"),\">=\":ae(qr[\">=\"],\"Comparator['>=']\"),\"=\":ae(qr[\"=\"],\"Comparator['=']\")}},D=RB;var lr={xmin:-5,xmax:5,ymin:-5,ymax:5,zmin:-5,zmax:5};function SI(e,t){let n=Math.round(1e6*e)/1e6;return Math.abs(n-e)e.hardMax&&(n=!1),e.step&&zy({target:e.target,step:e.step,hardMin:t?e.hardMin:void 0,hardMax:n?e.hardMax:void 0})!==e.target&&(r=!1),{min:t,max:n,step:r}}function zy(e){let{target:t,hardMin:n,hardMax:r,step:i}=e,s=1e-10;if(n!==void 0&&r!==void 0&&(s=Math.min(s,Math.abs(r-n)/1e3)),i&&(s=Math.min(s,i/10)),n!==void 0&&(n=SI(n,s)),r!==void 0&&(r=SI(r,s)),e.forceSliderToMax&&r!==void 0&&(t=r),n>r||t<=n)return n;if(t>=r)return r;if(i){let u=n!==void 0?n:0;var o=Math.round((t-u)/i);t=i*o+u}let a=SI(t,s);return(i||n===a||r===a)&&(t=a),t<=n?n:t>=r?r:t}function sS(e){let{storedMax:t,sliderValue:n,hardMin:r,step:i}=e,s=e.is3d?lr.xmax:10;if(t>s&&(s=t),n>s&&(s=n),r>s&&(s=r),i){let o=zy({target:s,hardMin:r,hardMax:void 0,step:i});o>=s?s=o:s=o+i}return s}var CI=D.Constant,AB=D.Identifier;D.Base.prototype.tryGetConcreteTree=function(e,t,n={}){var r;try{r=this.getConcreteTree(e,t,n)}catch(i){i instanceof D.Base?r=i:r=J(i)}return r};D.Base.prototype.getConcreteTree=function(e,t,n={}){var i;var r=this.buildIRExpression(e,t,{selection:(i=this.parseOptions)==null?void 0:i.selection,coerceToNumber:n.coerceToNumber});if(r.isError)throw r;return r};D.DoubleInequality.prototype.getConcreteTree=function(e,t){return new this.constructor([new D.Piecewise([this._indicator,this._expressions[0],new CI(NaN)]).getConcreteTree(e,t),this._operators[0],new AB(this._symbol),this._operators[1],new D.Piecewise([this._indicator,this._expressions[1],new CI(NaN)]).getConcreteTree(e,t)])};D.Error.prototype.getConcreteTree=function(e,t){return this};function Vf(e,t){return e.isError?e:t.indexOf(e.valueType)===-1?Up():e}D.Image.prototype.getConcreteTree=function(e,t){var n=this.center.tryGetConcreteTree(e,t),r=this.radianAngle.tryGetConcreteTree(e,t),i=this.width.tryGetConcreteTree(e,t),s=this.height.tryGetConcreteTree(e,t),o=this.opacity.tryGetConcreteTree(e,t),a=[R,Pt,We],u=[T,se,We];return n=Vf(n,a),r=Vf(r,u),i=Vf(i,u),s=Vf(s,u),o=Vf(o,u),new D.Image({center:n,radianAngle:r,width:i,height:s,opacity:o},this.moveStrategy)};D.Ticker.prototype.getConcreteTree=function(e,t){var n=this.handler.tryGetConcreteTree(e,t);!n.isError&&n.valueType!==rt&&(n=jp(ne(n.valueType)));var r=n.getDependencies().filter(function(i){return!(e.graphingEnabled()&&e.validActionVariable(i))});return r.length&&(n=tn(e.sliderVariables(r)).setDependencies(r)),new D.Ticker({handler:n,minStep:this.minStep.tryGetConcreteTree(e,t)})};function OI(e,t,n){if(!t){n.valids[e]=!0;return}var r=t.getDependencies();if(t.isError)n.errors[e]=!0;else if(r.length>0){n.errors[e]=!0;for(var i=0;io.values.max&&(o.valids.min=!1,o.valids.max=!1,o.errMsg||(o.errMsg=iP()))),n.isConstant){var a=t.initialEvaluation&&t.initialEvaluation.asValue(),u=a&&this.sliderIsPlayingOnce,c=o.values.max,l=+n.asValue(),p=o.values.min,f=o.values.step;if(u&&!isFinite(c)){var m=Hy(this.sliderSoftMax&&this.sliderSoftMax.tryGetConcreteTree(e,t));m&&(c=sS({storedMax:+m.asValue(),sliderValue:l,step:f,hardMin:p,is3d:e.is3dProduct()}))}var g=zy({target:l,hardMin:p,hardMax:c,step:f,forceSliderToMax:!!u}),d=Yu(g.toString()),y=isFinite(q(d))?d:g;n=new CI(y).getConcreteTree(e,t)}return n.sliderInfo=o,n};function oS(e,t){if(!t[this._symbol])throw ms(this._symbol);var n=this.args.map(function(i){return i.getConcreteTree(e,t)});if(n.length>0){if(n.length===1&&n.push(new D.Constant(1).getConcreteTree(e,t)),n[1].getDependencies().length)throw af(this._symbol).setDependencies(n[1].getDependencies());if(n[1].valueType!==T)throw af(this._symbol);var r=n[1].asValue();if(!isFinite(r)||r<=0)throw af(this._symbol)}return this.typeCheck(e,n),new this.constructor(n)}D.Histogram.prototype.getConcreteTree=oS;D.DotPlot.prototype.getConcreteTree=oS;D.BoxPlot.prototype.getConcreteTree=function(e,t){if(!t[this._symbol])throw ms(this._symbol);var n=this.args.map(function(r){return r.getConcreteTree(e,t)});return this.typeCheck(e,n),n.length===1&&(n[0].valueType===se||n[0].valueType===We)?new this.constructor(n):J(\"Failed to copmile BoxPlot\")};function RI(e,t){if(!t[this._symbol])throw ms(this._symbol);var n=this.args.map(function(r){return r.getConcreteTree(e,t)});return this.typeCheck(e,n),new this.constructor(n)}D.TTest.prototype.getConcreteTree=RI;D.IndependentTTest.prototype.getConcreteTree=RI;D.Stats.prototype.getConcreteTree=RI;D.Table.prototype.getConcreteTree=function(e,t){for(var n=[],r=Object.create(t),i=0;i_r(e,c)))]);uq(t)}function HI(e,t){return q(e)<=q(t)}function UI(e,t){return q(e)>=q(t)}function fS(e,t){return e||t}function dS(e,t){return e&&t}function GB(e,t,n){let r=Math.floor(q(n))-1;return!isFinite(r)||r<0||r>=t.length?$r(e):t[r]}function qI(e,t,n){return En(n)&&(n=q(n)),`${t}::${e}${n}`}function $I(e,t){switch(e){case\"mod\":return qM(t[0],t[1]);case\"abs\":return HM(t[0]);case\"sqrt\":return UM(t[0]);case\"nthroot\":return wd(t[0],t[1]);case\"total\":return $M(t[0]);case\"count\":return t[0].length;case\"validateRangeLength\":{let n=t[0],r=t[1],i=t[2],s=t[3],o=fI(n,r,i,s);if(o===0)throw of();return o}case\"validateSampleCount\":{let n=ao(t[0]),r=dI(n);if(r===0&&n!==0)throw WP();return r}case\"select\":case\"elementsAt\":case\"uniquePerm\":case\"sortPerm\":{let n=bn[e];return fo[n.symbol].apply(null,t)}default:{let n=bn[e];return(n.module===\"Math\"?Math:fo)[n.symbol].apply(null,ao(t))}}}function mS(e,t){let n=Array(t+1);return nt(e,t,n)}function yS(e,t,n){let r=Array(t+1);for(let i=0;i=s)return $r(ke(i.valueType));let o=i.args[0],a=t-o,u=e.getInstruction(o),c=u.args[0],l=u.args[a];r[c]=n+1;let p=nt(e,l,r);for(let f=c;f<=o;f++)r[f]=void 0;return p}function kB(e,t,n){let r=e.getInstruction(t),i=r.args[0],s=e.getInstruction(i).args[0];if(HB(e,s+1,i-1)&&Yy(r.valueType)){let u=e.copy(),c=sp(u);return _I(r.valueType,c)}let o=gS(e,r,n),a=[];for(let u=o-1;u>=0;u--)a[u]=hS(e,t,u,n);return a}function bS(e,t,n){let r=nt(e,t.args[1],n),i=t.args[0],s=e.getInstruction(i);if(s.type===48)return hS(e,i,q(r)-1,n);if(s.type===33){let o=nt(e,s.args[0],n);return bS(e,{...t,args:[o?s.args[1]:s.args[2],t.args[1]]},n)}else{let o=nt(e,t.args[0],n);return GB(t.valueType,o,r)}}function nt(e,t,n){let r=n[t];if(r!==void 0)return r;let i=zB(e,t,n);return typeof i==\"number\"&&i===Math.floor(i)&&(i=De(i,1)),n[t]=i,i}function zB(e,t,n){let r=e.getInstruction(t);switch(r.type){case 1:return r.value;case 8:return LI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 9:return wI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 10:return FI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 11:return VI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 12:return kf(nt(e,r.args[0],n),nt(e,r.args[1],n));case 13:return LB(nt(e,r.args[0],n),nt(e,r.args[1],n));case 14:return BI(nt(e,r.args[0],n));case 15:return wB(nt(e,r.args[0],n),nt(e,r.args[1],n));case 16:return VB(nt(e,r.args[0],n),nt(e,r.args[1],n),nt(e,r.args[2],n));case 17:return FB(r.index,nt(e,r.args[0],n));case 18:return BB(r.index,nt(e,r.args[0],n));case 25:return GI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 26:return kI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 27:return zI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 28:return HI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 29:return UI(nt(e,r.args[0],n),nt(e,r.args[1],n));case 31:return nt(e,r.args[0],n)||nt(e,r.args[1],n);case 32:return nt(e,r.args[0],n)&&nt(e,r.args[1],n);case 44:return qI(r.tag,nt(e,r.args[0],n),nt(e,r.args[1],n));case 33:return nt(e,r.args[0],n)?nt(e,r.args[1],n):nt(e,r.args[2],n);case 37:{let s=[];for(let o of r.args)s.push(nt(e,o,n));return $I(r.symbol,s)}case 38:{let s=[];for(let o of r.args)s.push(nt(e,o,n));return s}case 39:case 40:case 41:return bS(e,r,n);case 48:return kB(e,t,n);case 47:{let s=r.args[0],o=t-s,u=e.getInstruction(s).args[o],c=pS(e,{endIndex:s,returnIndex:u,resultIndex:t},n);return sp(c)}case 55:{let s=r.args[0],a=e.getInstruction(s).endIndex,c=e.getInstruction(a).args[0],l=pS(e,{endIndex:a,returnIndex:c,resultIndex:t},n);return sp(l)}case 19:case 20:case 21:case 22:case 23:case 24:case 42:case 0:case 2:case 3:case 49:case 50:case 51:case 4:case 53:case 54:throw new Error(`Programming Error: cannot interpret opcode ${r.type}`);default:let i=r;throw new Error(`Programming Error: unexpected opcode ${i.type}`)}}function pS(e,t,n){let r=t.endIndex,i=t.returnIndex,s=t.resultIndex,o=e.getInstruction(r).args[0],a=[];a[i]=!0;let u=i;e.getInstruction(s).type===55&&(a[s]=!0,u=s);for(let m=u;m>=o;m--){if(!a[m])continue;let g=e.getInstruction(m);if(!be(g))for(let d of g.args)dr?nt(e,d,n):a[d]=!0}let l=e.copy();l.truncate(o);for(let m=0;mm=s?a[p-s]:p);c.type===40?a.push(e.InboundsListAccess(l)):a.push(e.copyInstructionWithArgs(c,l))}}return e.getReturnIndex()}function zf(e,t,n){let r=e.getInstruction(t);if(W(r.valueType)){let i=zn(e,t);if(n=Math.floor(n),isNaN(n)||n<0||i!==void 0&&n>=i){let s=ke(r.valueType);return e.NanOfType(s)}return r.type===38?r.args[n]:r.type===1&&W(r.valueType)?e.ConstantOfType(ke(r.valueType),r.value[n]):i!==void 0?e.InboundsListAccess([t,e.Constant(n+1)]):e.ListAccess([t,e.Constant(n+1)])}else{if(r.valueType===R)return isNaN(n)||n<0||n>2?e.Constant(NaN):r.type===15?r.args[n]:r.type===1?e.Constant(r.value[n]):e.OrderedPairAccess(n+1,[t]);if(r.valueType===V)return isNaN(n)||n<0||n>3?e.Constant(NaN):r.type===16?r.args[n]:r.type===1?e.Constant(r.value[n]):e.OrderedTripleAccess(n+1,[t]);throw new Error(`Cannot access elements of ${ne(r.valueType)}`)}}function Xy(e,t,n){let r=e.getInstruction(t);if(n.length===0)return e.ConstantOfType(r.valueType,[]);if(r.type===1&&W(r.valueType)){let i=[],s=ke(r.valueType);for(let o of n){let a=Math.floor(o);isNaN(a)||a<0||a>=yo(e,t,\"Programming error: expected Constant list instruction to have constant length.\")?i.push($r(s)):i.push(r.value[a])}return e.ConstantOfType(r.valueType,i)}else if(r.type===38){let i=[];for(let s of n){let o=Math.floor(s);if(isNaN(o)||o<0||o>=yo(e,t,\"Programming error: expected List instruction to have constant length.\")){let a=ke(r.valueType);i.push(e.NanOfType(a))}else i.push(r.args[o])}return e.List(i)}else{let i=[],s=!0,o=zn(e,t);for(let u of n){let c=Math.floor(u);i.push(e.Constant(c+1)),(isNaN(c)||c<0||o===void 0||c>=o)&&(s=!1)}let a=[t,e.List(i)];return s?e.InboundsListAccess(a):e.ListAccess(a)}}function TS(e){if(e.instructionsLength()-1!==e.getReturnIndex())throw new Error(\"Programming Error: only the final instruction in a chunk can be constant collapsed\");let t=e.getInstruction(e.getReturnIndex());if(be(t))return e.getReturnIndex();switch(t.type){case 8:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.Constant(LI(r.value,i.value))):r.type===1&&q(r.value)===0?(e.popInstruction(),t.args[1]):i.type===1&&q(i.value)===0?(e.popInstruction(),t.args[0]):e.getReturnIndex()}case 9:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.Constant(wI(r.value,i.value))):r.type===1&&q(r.value)===0?(e.popInstruction(),e.Negative([t.args[1]])):i.type===1&&q(i.value)===0?(e.popInstruction(),t.args[0]):e.getReturnIndex()}case 10:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.Constant(FI(r.value,i.value))):r.type===1&&q(r.value)===1?(e.popInstruction(),t.args[1]):i.type===1&&q(i.value)===1?(e.popInstruction(),t.args[0]):e.getReturnIndex()}case 11:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.Constant(VI(r.value,i.value))):i.type===1&&q(i.value)===1?(e.popInstruction(),t.args[0]):e.getReturnIndex()}case 12:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);if(r.type===1&&i.type===1)return e.popInstruction(),e.Constant(kf(r.value,i.value));if(r.type===1&&r.valueType===T){let s=q(r.value);if(s===Math.E)return e.popInstruction(),e.SyntheticNativeFunction(\"exp\",[t.args[1]]);if(s>0)return e.popInstruction(),e.RawExponent(t.args)}if(i.type===1&&i.valueType===T){let s=q(i.value);if(s===1)return e.popInstruction(),t.args[0];if(s===Math.floor(s))return e.popInstruction(),e.RawExponent(t.args);if(En(i.value)){let{n:o,d:a}=i.value;if(a%2===1){e.popInstruction();let u=e.RawExponent([e.SyntheticNativeFunction(\"abs\",[t.args[0]]),t.args[1]]);return o%2===0?u:e.Multiply([e.SyntheticNativeFunction(\"sign\",[t.args[0]]),u])}}}return e.getReturnIndex()}case 13:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.Constant(kf(r.value,i.value))):i.type===1&&q(i.value)===1?(e.popInstruction(),t.args[0]):e.getReturnIndex()}case 14:{let r=e.getInstruction(t.args[0]);return r.type===1?(e.popInstruction(),e.Constant(BI(r.value))):e.getReturnIndex()}case 25:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,GI(r.value,i.value))):e.getReturnIndex()}case 26:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,kI(r.value,i.value))):e.getReturnIndex()}case 27:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,zI(r.value,i.value))):e.getReturnIndex()}case 28:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,HI(r.value,i.value))):e.getReturnIndex()}case 29:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,UI(r.value,i.value))):e.getReturnIndex()}case 31:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,fS(r.value,i.value))):r.type===1?(e.popInstruction(),r.value?t.args[0]:t.args[1]):i.type===1?(e.popInstruction(),i.value?t.args[1]:t.args[0]):e.getReturnIndex()}case 32:{let r=e.getInstruction(t.args[0]),i=e.getInstruction(t.args[1]);return r.type===1&&i.type===1?(e.popInstruction(),e.ConstantOfType(ge,dS(r.value,i.value))):r.type===1?(e.popInstruction(),r.value?t.args[1]:t.args[0]):i.type===1?(e.popInstruction(),i.value?t.args[0]:t.args[1]):e.getReturnIndex()}case 33:{let r=e.getInstruction(t.args[0]);return r.type===1?(e.popInstruction(),r.value?t.args[1]:t.args[2]):e.getReturnIndex()}case 17:{let r=e.getInstruction(t.args[0]),i=t.index;return r.type===15?(e.popInstruction(),r.args[i-1]):r.type===1&&r.valueType===R?(e.popInstruction(),e.Constant(r.value[i-1])):e.getReturnIndex()}case 18:{let r=e.getInstruction(t.args[0]),i=t.index;return r.type===16?(e.popInstruction(),r.args[i-1]):r.type===1&&r.valueType===V?(e.popInstruction(),e.Constant(r.value[i-1])):e.getReturnIndex()}case 38:{if(xS(e,t.args)){e.popInstruction();let r=[];for(let i of t.args)r.push(e.getInstruction(i).value);return e.ConstantOfType(t.valueType,r)}return e.getReturnIndex()}case 39:case 41:{let r=t.args[0],i=e.getInstruction(r),s=e.getInstruction(t.args[1]);if(i.type===33&&s.type===1){let o=t.type===39?e.ListAccess([i.args[1],t.args[1]]):e.InboundsListAccess([i.args[1],t.args[1]]),a=t.type===39?e.ListAccess([i.args[2],t.args[1]]):e.InboundsListAccess([i.args[2],t.args[1]]);return e.Piecewise([i.args[0],o,a])}if(i.type===48){e.popInstruction();let o=i.args[0],a=r-o,u=e.getInstruction(o),c=u.args[0],l,p;if(t.type===41)l=t.args[1];else{let m=zn(e,r);if(s.type===1&&s.valueType===T&&m!==void 0){let g=q(s.value),d=Math.floor(g);if(d<1||d>m)return e.NanOfType(t.valueType);l=g===d?t.args[1]:e.Constant(d)}else{let g=e.Constant(1),y=e.getInstruction(c).args[0],h=e.SyntheticNativeFunction(\"floor\",[t.args[1]]),b=e.GreaterEqual([h,g]),x=e.LessEqual([h,y]);l=e.Piecewise([b,e.Piecewise([x,h,y]),g]),p={one:g,lengthIndex:y,roundedIndex:h,greaterEqualIndex:b,lessEqualIndex:x}}}if(u.args[a]=c?f[y-c]:y);g.type===40?f.push(e.InboundsListAccess(d)):f.push(e.copyInstructionWithArgs(g,d))}}if(p){let{greaterEqualIndex:m,lessEqualIndex:g,lengthIndex:d,one:y}=p,h=ke(i.valueType),b=e.NanOfType(h),x=f[f.length-1],P=e.And([e.And([m,g]),e.GreaterEqual([d,y])]);return e.Piecewise([P,x,b])}else return f[f.length-1]}else if(s.type===1&&s.valueType===T)if(i.type===38){e.popInstruction();let o=Math.floor(q(s.value))-1;return isNaN(o)||o<0||o>=i.args.length?e.NanOfType(t.valueType):i.args[o]}else if(i.type===1){e.popInstruction();let o=Math.floor(q(s.value))-1;return isNaN(o)||o<0||o>=i.value.length?e.NanOfType(t.valueType):e.ConstantOfType(ke(i.valueType),i.value[o])}else return e.getReturnIndex();else return e.getReturnIndex()}case 47:{let r=e.getInstruction(t.args[0]);if(!Ti(r)||qy(e,e.getReturnIndex(),r.args[0]))return e.getReturnIndex();if(AI(t.valueType)){let i=e.copy(),s=sp(i);return e.popInstruction(),NI(e,t.valueType,s)}else throw new Error(`Constant collapsing a block with return type ${ne(t.valueType)} is not implemented.`)}case 55:{let r=e.dereferenceFunctionHeader(t.args[0]);if(r===void 0||!xS(e,t.args.slice(1))||qy(e,r,t.args[0]))return e.getReturnIndex();if(AI(t.valueType)){let i=e.copy(),s=sp(i);return e.popInstruction(),NI(e,t.valueType,s)}else throw new Error(`Constant collapsing a function call with return type ${ne(t.valueType)} is not implemented.`)}case 37:switch(t.symbol){case\"nthroot\":{let r=PS(e,t.args);if(r!==void 0)return e.Constant(wd(r[0],r[1]));{let i=e.getInstruction(t.args[1]);if(i.type===1&&i.valueType===T)return e.Exponent([t.args[0],e.Constant(_p(i.value))])}return e.getReturnIndex()}case\"count\":{let r=zn(e,t.args[0]);return r!==void 0?(e.popInstruction(),e.Constant(r)):e.getReturnIndex()}case\"select\":{let r=zn(e,t.args[0]);if(r!==void 0&&bt(e.getInstruction(t.args[1]))){e.popInstruction();let i=ln(e,t.args[1]),s=[];for(let o=0;os===i))t.tree={symbol:r,parents:n.args.slice(1).map(Zy)};else if(IS[r])t.tree={symbol:r,parents:n.args.map(Zy)};else{let s=[n._symbol,void 0];t.tree={symbol:\"apply\",parents:[s,...n.args.map(Zy)]}}}else if(n instanceof xi){let r=n.args.map(Zy);r.length===2&&r[1]&&r[1][0]===\"segments\"?t.tree={symbol:\"segment\",parents:[r[0]]}:r.length===2&&r[1]&&r[1][0]===\"start\"?t.tree={symbol:\"start\",parents:[r[0]]}:r.length===2&&r[1]&&r[1][0]===\"end\"&&(t.tree={symbol:\"end\",parents:[r[0]]})}return t}function Hf(e){if(e.length===0)return We;let t=e[0];if(t!==T&&zr(t,T)){let n=!1,r=!0;for(let i of e)if(i===T&&(n=!0),!zr(i,T)){r=!1;break}n&&r&&(t=T)}return ei(t)?ar(t):sn}var vc=_s([[T,T]]),$B=_s([[{meta:\"union\",types:Zi},{meta:\"union\",types:[ge,T]}]]),XI={Negative:_s([[T],[R],[he],[Se],[V]]),Add:_s([[T,T],[R,R],[he,he],[Se,Se],[V,V]]),Subtract:_s([[T,T],[R,R],[he,he],[Se,Se],[V,V]]),Multiply:_s([[T,T],[R,T],[T,R],[T,he],[T,Se],[he,T],[Se,T],[V,T],[T,V],[Vt,{meta:\"union\",types:Qa}],[{meta:\"union\",types:Qa},Vt]]),DotMultiply:_s([[T,T],[R,T],[T,R],[he,he],[Se,Se],[T,he],[he,T],[T,Se],[Se,T],[V,T],[T,V],[V,V],[Vt,{meta:\"union\",types:Qa}],[{meta:\"union\",types:Qa},Vt]]),CrossMultiply:_s([[T,T],[R,T],[T,R],[he,T],[T,he],[Se,T],[T,Se],[Se,Se],[V,V],[Vt,{meta:\"union\",types:Qa}],[{meta:\"union\",types:Qa},Vt]]),Divide:_s([[T,T],[R,T],[he,T],[Se,T],[V,T]]),Exponent:vc,\"Comparator['=']\":vc,\"Comparator['>']\":vc,\"Comparator['<']\":vc,\"Comparator['>=']\":vc,\"Comparator['<=']\":vc,ComparatorChain:_s([{type:\"variadic\",initial:[T,T],rest:T}]),PercentOf:vc,NamedCoordinateAccess:_s([[R],[V]]),Norm:_s([[T],[R],[V],[he],[Se]]),ListAccess:$B};function _s(e){return e.map(ti)}function jy(e,t,n){if(t instanceof Vo){let r=n.filter(s=>s!==void 0);if(r.length===0)return;let i=Hf(r);return W(i)&&i!==sn?Ia([{type:\"variadic\",initial:[],rest:ke(i)}],n):[]}else if(t instanceof cn||t instanceof Wa||t instanceof xi){let r=t instanceof xi?t.args[1]._symbol:t._symbol;if(!r)return;let i=Vp(r);return i?Ia(i,n):void 0}else if(t instanceof hr){let[r,i,s]=n,o=i!==void 0&&s!==void 0?ua(i,s):void 0;!o&&s===T&&t.args[2]instanceof Zt&&t.args[2].isNaN()&&(s=void 0);let a;if(o!==void 0)a=o;else if(i!==void 0)a=i;else if(s!==void 0)a=s;else return;return W(a)&&(a=ke(a)),Ia([ti([ge,a,a])],[n[0],i,s])}else if(e.is3dProduct()&&t instanceof uu){let r=[...XI.DotMultiply,ti([R,R])];return Ia(r,n)}else if(t instanceof Qi){let r=[{type:\"variadic\",initial:[rt],rest:rt},ti([T,T])];return e.is3dProduct()&&r.push(ti([T,T,T])),Ia(r,n)}else if(t instanceof qa){let r=[{type:\"variadic\",initial:[rt],rest:rt}],i=n.filter(s=>s!==void 0&&s!==T);if(i.length>0){let s=Hf(i);W(s)&&s!==sn&&r.push({type:\"variadic\",initial:[],rest:ke(s)})}return Ia(r,n)}else if(t.type in XI&&n.some(r=>r!==void 0)){let r=XI[t.type];return r?Ia(r,n):void 0}}function Ia(e,t){let n=[];for(let r of e)Array.isArray(r)&&r.length{if(i===void 0)return!0;let o=Uu(r,s);return o===void 0?!1:zh(i,o)})&&n.push(r);return n}function ES(e,t,n,r,i){var h,b,x,P;if(!sl(t)&&!il(t)||YI(t))return;let s,o=!1,a=!1,u=0,c=[],l=[],p=r.map(M=>e.getInstruction(M).valueType),f=sl(t)?oo[t]:void 0;if(f&&(o=f.isSeeded,s=void 0,c.push(...f.argumentTypes),u=(b=(h=f.defaultArguments)==null?void 0:h.length)!=null?b:0,l=Jy(c,p,u),a=f.allowDotCall),t===\"mean\"&&l.length===0&&p.length>0&&oe(p[0],St))c=[[St]],u=0,l=[],a=!0;else if(il(t)&&l.length===0&&!(f!=null&&f.fallthroughUnlessDistribution&&p.length>0&&oe(p[0],St))){let M=bn[t];s=M.tag,c.push(...rb(t)),u=(P=(x=M.defaultArguments)==null?void 0:x.length)!=null?P:0,l=Jy(c,p,u),a=a||M.allowDotCall}let m=Math.min(...c.map(Ga)),g=Math.max(...c.map(Cp)),d=r,y=r;if(o&&(y=d=r.slice(1),m-=1,g-=1),i){if(!a)throw Wp(n);let M=e.getInstruction(d[0]).valueType;if(!W(M)&&M!==Nt&&M!==Se&&M!==St&&M!==mn&&(M===R||!Sp(M)))throw Lb(n,ne(M));n=\".\"+n,y=d.slice(1),m-=1,g-=1}if(!(l.length>0))throw YB(e,{symbol:t,errorSymbol:n,providedArgs:y,argsWithoutSeed:d,isDotCall:i,minArity:m,maxArity:g,defaultArgumentCount:u,builtInTag:s})}function YB(e,{symbol:t,errorSymbol:n,providedArgs:r,argsWithoutSeed:i,isDotCall:s,minArity:o,maxArity:a,defaultArgumentCount:u,builtInTag:c}){if(c===\"doubleReducer\"&&r.length===2){if(!W(e.getInstruction(r[0]).valueType)||!W(e.getInstruction(r[1]).valueType))throw sf(t)}else if(c===\"parameterizedReducer\"&&r.length===2&&!W(e.getInstruction(r[0]).valueType))throw NP(t);if(t===\"logbase\"&&r.length!==2)return ds(\"log\",1,r.length-1);if(t===\"random\")return hx();if(r.lengtha){let{dotMinArityExampleArgs:p,dotMaxArityExampleArgs:f,minArityExampleArgs:m,maxArityExampleArgs:g}=XB(t),d,y;if(r.lengtht.length+n>=Ga(r))}function Zo(e,t){let n=[];for(let r of t)n.push(ne(e.getInstruction(r).valueType));return n}function Dc(e,t){let n=[];for(let r of t){let i=e.getInstruction(r).valueType,s=W(i)?ke(i):i;n.push(ne(s))}return n}function Je(e,t,n){return oe(e.getInstruction(t).valueType,n)}function lu(e,t,n,r){var c,l;let i=n.type;if(i===\"FunctionCall\"||i===\"SeededFunctionCall\"||i===\"DotAccess\"){let p,f;if(n instanceof xi&&(n.args[1]instanceof ze||n.args[1]instanceof cn))p=n.args[1]._symbol,f=(c=n.args[1]._errorSymbol)!=null?c:p;else if(n instanceof cn||n instanceof Wa)p=n._symbol,f=(l=n._errorSymbol)!=null?l:p;else return;if(p===\"polygon\"&&t.is3dPolicy())throw wm();ES(e,p,f,r,n instanceof xi);return}let s=r.map(p=>e.getInstruction(p).valueType),o=jy(t,n,s);if(!o)return;let a=Math.min(...o.map(Ga));if(o.length>0&&r.length>=a)return;let u=ZB(i,s);switch(i){case\"Add\":throw bb(u);case\"Subtract\":throw xb(u);case\"CrossMultiply\":throw t.is3dProduct()&&s.length===2&&(oe(s[0],R)&&oe(s[1],R)||oe(s[0],T)&&oe(s[1],V)||oe(s[0],V)&&oe(s[1],T))?$p(u):qp(u);case\"DotMultiply\":throw qp(u);case\"Multiply\":{if(t.is3dProduct()&&s.length===2){if(oe(s[0],V)&&oe(s[1],V))throw Xp(u);if(oe(s[0],R)&&oe(s[1],R))throw Yp(u)}throw qp(u)}case\"Divide\":throw Pb(u);case\"Exponent\":throw Tb(u);case\"Negative\":throw Ib(u);case\"Comparator['=']\":case\"Comparator['>']\":case\"Comparator['<']\":case\"Comparator['>=']\":case\"Comparator['<=']\":case\"ComparatorChain\":throw vb(u);case\"Or\":throw Sb(u);case\"Piecewise\":throw oe(s[0],ge)?Yb([ne(e.getInstruction(r[1]).valueType),ne(e.getInstruction(r[2]).valueType)]):cm(u);case\"Restriction\":throw cm(u);case\"List\":{MS(e,r);break}case\"ListAccess\":throw Zp(u);case\"Norm\":throw Pi(\"abs\",u);case\"ParenSeq\":{let p=s.indexOf(rt)!==-1,f=s.some(g=>g!==rt);if(p&&f)throw fm([ne(s[0]),ne(s[1])]);if(s.length!==2&&(!t.is3dProduct()||s.length!==3)){let g=t.is3dPolicy()?3:2;throw Mx(g)}let m=s.find(g=>!oe(g,T));throw m!==void 0?Ob(ne(m)):J(\"Unexpected error type checking ParenSeq\")}case\"BareSeq\":{if(s.length<2)throw Nr(\",\");let p=s[0],f=s.find(m=>m!==p);if(f)throw fm([ne(p),ne(f)]);if(p===T)throw r.length===2?Ix():Ex();MS(e,r);break}case\"Ans\":case\"Constant\":case\"Assignment\":case\"RecursiveFunctionBaseCase\":case\"MixedNumber\":case\"Identifier\":case\"Construction\":case\"Range\":case\"NamedCoordinateAccess\":case\"Sum\":case\"Product\":case\"Integral\":case\"ListComprehension\":case\"FunctionExponent\":case\"FunctionFactorial\":case\"Prime\":case\"Derivative\":case\"UpdateRule\":case\"Substitution\":case\"CoordinateEquation\":case\"FunctionDefinition\":case\"Slider\":case\"RegressionParameter\":case\"Seed\":case\"ExtendSeed\":case\"PercentOf\":return;default:{let p=i;throw new Error(`Unexpected node type: ${p}`)}}}function MS(e,t){if(t.length===0)return;let n=e.getInstruction(t[0]).valueType;if(!ei(n))throw ec([ne(n)]);for(let r of t){let i=e.getInstruction(r).valueType;if(!ei(i))throw ec([ne(i)]);if(i!==n)throw Jp()}}function ZB(e,t){let n=r=>W(r)?ke(r):r;switch(e){case\"Add\":case\"Subtract\":case\"Multiply\":case\"Divide\":case\"Exponent\":case\"Negative\":case\"Comparator['<']\":case\"Comparator['>']\":case\"Comparator['=']\":case\"Comparator['<=']\":case\"Comparator['>=']\":case\"NamedCoordinateAccess\":return t.map(n).map(ne);case\"ComparatorChain\":{let r=t.map(n);for(let i=0;io.key).join(\", \")}`);return}case 31:case 15:case 16:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 25:case 26:case 27:case 28:case 29:case 38:case 39:case 40:case 41:case 37:case 42:case 33:case 48:case 47:case 23:case 24:case 19:case 20:case 50:case 51:case 53:case 54:case 55:throw J(`Invalid argument types for opcode ${n.type}`);default:{let o=n;throw new Error(`Unexpected opcode: ${o.type}`)}}}function ZI(e,t,n=!1){switch(t.type){case 8:case 9:case 10:case 11:return n&&t.args.length>0&&e.getInstruction(t.args[0]).valueType===R?{expectedTypes:[R,R]}:{expectedTypes:[T,T]};case 12:case 13:case 25:case 26:case 27:case 28:case 29:return{expectedTypes:[T,T]};case 14:return{expectedTypes:[T]};case 31:return{expectedTypes:[ge,ge]};case 32:return{expectedTypes:[ge,ge]};case 33:return{expectedTypes:[ge,t.valueType,t.valueType]};case 15:case 16:return{expectedTypes:t.args.map(()=>T)};case 17:return{expectedTypes:[R]};case 18:return{expectedTypes:[V]};case 21:return{expectedTypes:[T,T]};case 22:{let r=e.getInstruction(t.args[1]).valueType;return r===R||r===V?{expectedTypes:[T,r]}:{expectedTypes:[T,T]}}case 38:{let r=t.valueType,i=ke(r);return{expectedTypes:{type:\"variadic\",initial:[],rest:i}}}case 39:case 40:case 41:return{expectedTypes:[sn,T]};case 37:{let r=t.symbol,i=bn[r],s=i.argumentTypes;if(i.tag===\"reducer\"&&!WB(e,t.args)&&Array.isArray(s)&&typeof s[0]==\"number\"&&W(s[0]))return{isReducerWithNoListArgs:!0,expectedTypes:{type:\"variadic\",initial:[],rest:ke(s[0])}};if(Array.isArray(s))return{expectedTypes:s};{let{initial:o,rest:a}=s,u=t.args.length-o.length,c=[...o];for(let l=0;le.getInstruction(r).valueType)};case 47:return{expectedTypes:t.args.map(r=>e.getInstruction(r).valueType)};case 23:return{expectedTypes:[T]};case 19:return{expectedTypes:t.args.map(r=>{let i=e.getInstruction(r).valueType;return i===ge||t.callData.type===\"sum\"&&(i===R||i===V)?i:T})};case 50:{let r=t.callData.parameterSymbols.length,i=[];for(let s=0;sT)};case 48:case 49:return{expectedTypes:t.args.map(r=>e.getInstruction(r).valueType)};case 53:return{expectedTypes:[t.valueType]};case 54:return{expectedTypes:t.args.map(r=>e.getInstruction(r).valueType)};case 55:return{expectedTypes:t.args.map(r=>e.getInstruction(r).valueType)};default:{let r=t;throw new Error(`Unexpected opcode: ${r.type}`)}}}function WB(e,t){for(let n of t)if(W(e.getInstruction(n).valueType))return!0;return!1}var eg=WI({sin:Pn(\"isinf(x) || isnan(x) ? NaN : dcg_isPiMultiple(abs(x)) ? 0.0 : sin(x)\"),cos:Pn(\"isinf(x) || isnan(x) ? NaN : dcg_isOddHalfPiMultiple(abs(x)) ? 0.0 : cos(x)\"),tan:Vi(Ye`float a=abs(x);\n return isinf(x) || isnan(x) ? NaN\n : dcg_isPiMultiple(a) ? 0.0\n : dcg_isOddHalfPiMultiple(a) ? Infinity\n : tan(x);`),cot:Vi(Ye`float a=abs(x);\n return isinf(x) || isnan(x) ? NaN\n : a < 0.03 ? 1.0/x - x/3.0\n : dcg_isPiMultiple(a) ? Infinity\n : dcg_isOddHalfPiMultiple(a) ? 0.0\n : 1.0 / tan(x);`),sec:Pn(\"isinf(x) || isnan(x) ? NaN : dcg_isOddHalfPiMultiple(abs(x)) ? Infinity: 1.0 / cos(x)\"),csc:Vi(Ye`float a=abs(x);\n return isinf(x) || isnan(x) ? NaN\n : a < 0.03 ? 1.0/x + x/6.0\n : dcg_isPiMultiple(a) ? Infinity\n : 1.0 / sin(x);`),arcsin:Vi(Ye`if (isinf(x) || isnan(x)) { return NaN; }\n if (x == 1.0) { return dcg_PI/2.0; }\n if (x == -1.0) { return -dcg_PI/2.0; }\n if (x > 1.0 || x < -1.0) return NaN;\n float y0 = asin(x);\n return y0 + (x - sin(y0)) / cos(y0);`),arccos:Vi(Ye`if (isinf(x) || isnan(x)) { return NaN; }\n if (x == 1.0) { return 0.0; }\n if (x == -1.0) { return dcg_PI; }\n if (x > 1.0 || x < -1.0) return NaN;\n float y0 = acos(x);\n return y0 + (cos(y0) - x) / sin(y0);`),arctan:Qy(Ye`isnan(x) || isnan(y) ? NaN\n : isinf(x) && isinf(y) ?\n (y > 0.0 ? 0.25 : 0.75) * sign(x) * dcg_PI\n : x == 0.0 && y == 0.0 ? y\n : atan(x, y)\n `),arccot:Pn(\"isnan(x) ? NaN : dcg_PI/2.0 - atan(x)\"),arcsec:Pn(\"isnan(x) ? NaN : dcg_arccos(1.0/x)\"),arccsc:Pn(\"isnan(x) ? NaN : dcg_arcsin(1.0/x)\"),sinh:Pn(\"isinf(x) ? x : isnan(x) ? NaN : sinh(x)\"),cosh:Pn(\"isinf(x) ? Infinity : isnan(x) ? NaN : cosh(x)\"),tanh:Pn(\"abs(x) > 10.0 ? sign(x) : isnan(x) ? NaN : tanh(x)\"),coth:Pn(\"abs(x) > 10.0 ? sign(x) : isnan(x) ? NaN : x == 0.0 ? Infinity : abs(x) < 0.03 ? 1.0/x + x/3.0 : 1.0/tanh(x)\"),sech:Pn(\"isinf(x) ? 0.0 : isnan(x) ? NaN : 1.0/cosh(x)\"),csch:Pn(\"isinf(x) ? 0.0 : isnan(x) ? NaN : x == 0.0 ? Infinity : abs(x) < 0.03 ? 1.0/x - x/6.0 : 1.0/sinh(x)\"),arcsinh:Vi(Ye`float a=abs(x);\n return isnan(x) ? NaN : sign(x) * (\n 1.0 + x * x == 1.0\n ? dcg_log1p(a)\n : log(a + dcg_rtxsqpone(a))\n );`),arccosh:Pn(\"x < 1.0 || isnan(x) ? NaN : log(x + dcg_rtxsqmone(x))\"),arctanh:Vi(Ye`if (isnan(x) || abs(x) > 1.0) { return NaN; }\n if (x == 1.0) { return Infinity; }\n if (x == -1.0) { return -Infinity; }\n float y0 = 0.5*(dcg_log1p(x) - dcg_log1p(-x));\n float c = cosh(y0);\n return y0 + (x - tanh(y0)) * c * c;`),arccoth:Pn(\"isnan(x) ? NaN : abs(x) >= 1.0 ? dcg_arctanh(1.0/x) : NaN\"),arcsech:Pn(\"isnan(x) ? NaN : 0.0 < x && x <= 1.0 ? dcg_arccosh(1.0/x) : x == 0.0 ? Infinity : NaN\"),arccsch:Pn(\"isinf(x) ? 0.0 : isnan(x) ? NaN : dcg_arcsinh(1.0/x)\"),sinpiSeries:Vi(Ye`float xsq = x*x;\n return x*(dcg_PI-xsq*(5.167708-xsq*(2.549761-xsq*0.5890122)));`),sinpi:Vi(Ye`if (isnan(x) || isinf(x)) { return NaN; }\n if (x==0.0) { return x; }\n if (x == floor(x)) { return x > 0.0 ? 0.0 : -0.0; }\n int i = int(dcg_round(2.0*x));\n float t = -0.5 * float(i) + x;\n float s = bool(i & 2) ? -1.0 : 1.0;\n float y = bool(i & 1) ? cos(dcg_PI * t) : dcg_sinpiSeries(t);\n return s*y;`),sincpi:Pn(\"isnan(x) ? NaN : isinf(x) ? 0.0 : x == 0.0 ? 1.0 : dcg_sinpi(x)/(dcg_PI*x);\"),sqrt:Pn(\"isnan(x) ? NaN : x >= 0.0 ? sqrt(x) : NaN\"),rtxsqpone:Pn(\"dcg_hypot(x, 1.0)\"),rtxsqmone:Vi(\"float t = x*x; return isnan(x) || t < 1.0 ? NaN : t - 1.0 == t ? abs(x) : sqrt(t - 1.0);\"),nthroot:Qy(\"isnan(x) || isnan(y) ? NaN : dcg_pow(x, 1.0/y)\"),hypot:AS(Ye`if (isnan(x) || isnan(y)) return NaN;\n if (isinf(x) || isinf(y)) return Infinity;\n x = abs(x);\n y = abs(y);\n float m = max(x,y);\n x /= m;\n y /= m;\n return m == 0.0 ? 0.0 : sqrt(x*x + y*y) * m;`),log:Pn(\"isnan(x) ? NaN : x > 0.0 ? log(x)*0.4342944819 : x == 0.0 ? -Infinity : NaN\"),logbase:Qy(Ye`isnan(x) || isnan(y) ? NaN\n : y == 1.0 ?\n (\n x > 1.0 ? Infinity\n : x == 1.0 ? NaN\n : x < 0.0 ? NaN\n : -Infinity\n )\n : y > 0.0 ?\n (\n x > 0.0 ? log(x)/log(y)\n : x == 0.0 && !isinf(y) ? -Infinity\n : NaN\n )\n : NaN`),ln:Pn(\"isnan(x) ? NaN : x > 0.0 ? log(x) : x == 0.0 ? -Infinity : NaN\"),exp:Pn(\"isnan(x) ? NaN : exp(x)\"),floor:Pn(\"isnan(x) ? NaN : floor(x)\"),ceil:Pn(\"isnan(x) ? NaN : ceil(x)\"),round:Pn(\"isinf(x) || isnan(x) ? x : floor(0.5 + x)\"),abs:Pn(\"isnan(x) ? NaN : abs(x)\"),sign:Pn(\"isnan(x) ? NaN : sign(x)\"),mod:Qy(\"isinf(x) || isinf(y) || isnan(x) || isnan(y) || y == 0.0 ? NaN : mod(x, y)\"),stirlingPrefactor:Ea(\"float\",\"float x, float y\",Ye`if (isnan(x) || isnan(y)) { return NaN; }\n return pow(x/exp(1.0), y);`),stirlerrSeries:Vi(Ye`float S0 = 0.083333336;\n float S1 = 0.0027777778;\n float S2 = 0.0007936508;\n float nn = x*x;\n return (S0-(S1-S2/nn)/nn)/x;`),factorialAsymptotic:Pn(\"dcg_stirlingPrefactor(x,x)*sqrt(2.0*dcg_PI*x)*exp(dcg_stirlerrSeries(x))\"),factorialMinimax:Vi(Ye`float n1 = 2.1618295;\n float n2 = 1.5849807;\n float n3 = 0.4026814;\n float d1 = 2.2390451;\n float d2 = 1.6824219;\n float d3 = 0.43668285;\n\n float n = 1.0 + x*(n1 + x*(n2 + x*n3));\n float d = 1.0 + x*(d1 + x*(d2 + x*d3));\n float xp1 = x+1.0;\n\n return dcg_stirlingPrefactor(xp1,x)*sqrt(xp1)*(n/d);\n `),factorialPositive:Pn(Ye`(x>33.0)?Infinity:(x>8.0)?dcg_factorialAsymptotic(x):dcg_factorialMinimax(x);`),factorial:Vi(Ye`if (isnan(x) || (isinf(x) && x < 0.0)) { return NaN; }\n bool isInteger = x == floor(x);\n if (x < 0.0) {\n if (isInteger) return Infinity;\n return 1.0 / (dcg_sincpi(x) * dcg_factorialPositive(-x));\n }\n float approx = dcg_factorialPositive(x);\n return isInteger ? dcg_round(approx) : approx;`),distance:Ea(\"float\",\"vec2 a, vec2 b\",Ye`\n if (any(isnan(a)) || any(isnan(b))) return NaN;\n vec2 d = a-b;\n return dcg_hypot(d.x, d.y);`),distanceThreeD:Ea(\"float\",\"vec3 a, vec3 b\",Ye`\n if (any(isnan(a)) || any(isnan(b))) return NaN;\n vec3 d = a-b;\n return dcg_hypot(dcg_hypot(d.x, d.y), d.z);`),hsv:Ea(\"vec3\",\"float h, float s, float v\",Ye`if (isnan(h) || isnan(s) || isnan(v)) {discard;}\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n if (isinf(h)) h = 0.0;\n vec3 p = abs(fract(h / 360.0 + K.xyz) * 6.0 - K.www);\n return vec3(clamp(v, 0.0, 1.0) * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), clamp(s, 0.0, 1.0)));`),rgb:Ea(\"vec3\",\"float r, float g, float b\",Ye`if (isnan(r) || isnan(g) || isnan(b)) {discard;}\n return clamp(vec3(r,g,b),0.0,255.0)/255.0;`),erf:Vi(Ye`if (isnan(x)) return NaN;\n float t = abs(x);\n float n = x*x;\n float r = -n;\n return sign(x) * (\n r < -750.0\n ? 1.0\n : t >= 0.065\n ? 1.0 - exp(r) * (\n t > 50000000.0\n ? r / t\n : t > 50.0\n ? (r * (n * (n + 4.5) + 2.0)) / (t * (n * (n + 5.0) + 3.75))\n : ((0.9999999999999999+t*(2.224574423459406+t*(2.444115549920689+\n t*(1.7057986861852539+t*(0.8257463703357973+\n t*(0.28647031042892007+t*(0.07124513844341643+\n t*(0.012296749268608364+t*(0.001347817214557592+\n 0.00007263959403471071*t))))))))\n )/(1.0+t*(3.352953590554884+t*(5.227518529742423+\n t*(5.003720878235473+t*(3.266590890998987+\n t*(1.5255421920765353+t*(0.5185887413188858+\n t*(0.12747319185915415+t*(0.02185979575963238+\n t*(0.0023889438122503674+0.00012875032817508128*t\n ))))))))))\n )\n )\n : t*(1.1283791670955126+r*(0.37612638903183754+\n r*(0.11283791670955126+r*(0.026866170645131252+\n 0.005223977625442188*r))))\n );`),restriction:Ea(\"bool\",\"bool x\",\"return x;\"),restrictionToBoolean:Ea(\"bool\",\"bool x\",\"return x;\")});function Ea(e,t,n){return{type:\"scalar\",value:`${e} dcg_[[name_here]](${t}){ ${n} }`}}function Vi(e){return Ea(\"float\",\"float x\",e)}function Pn(e){return Vi(`return ${e};`)}function AS(e){return Ea(\"float\",\"float x, float y\",e)}function Qy(e){return AS(`return ${e};`)}function Fi(e,{outType:t,deps:n}={}){let r=t!=null?t:()=>\"float\";return{type:\"reducer\",value:i=>`${r(i)} dcg_[[name_here]](float[${i}] L) { ${e(i)} }`,deps:n!=null?n:[]}}function Ky(e,t=()=>\"float\"){return{type:\"double-reducer\",value:(n,r)=>{let i=Math.min(n,r),s=t(i),o=e(i);return`${s} dcg_[[name_here]](float[${n}] X, float[${r}] Y) { ${o} }`}}}var jB=WI({lcm:Fi(e=>Ye`float g = abs(dcg_round(L[0]));\n if (isinf(g)) return Infinity;\n if (isnan(g)) return NaN;\n for (int i=1; i<${e}; i++) {\n float v = abs(dcg_round(L[i]));\n if (isinf(v)) return Infinity;\n if (isnan(v)) return NaN;\n g *= dcg_round(v / dcg_gcd2(g, v));\n }\n return g;`),gcd:Fi(e=>Ye`float g = abs(dcg_round(L[0]));\n if (isnan(g)) return NaN;\n for (int i=1; i<${e}; i++) {\n float x = L[i];\n if (isnan(x)) return NaN;\n g = dcg_gcd2(g, abs(dcg_round(x)));\n }\n return g;`),mean:Fi(e=>Ye`float tot = 0.0;\n for (int i=0; i<${e}; i++) {\n float x = L[i];\n if (isnan(x) || (isinf(x) && x == -tot)) return NaN;\n tot += x;\n }\n return tot / ${e}.0;`),total:Fi(e=>Ye`float tot = 0.0;\n for (int i=0; i<${e}; i++) {\n float x = L[i];\n if (isnan(x) || (isinf(x) && x == -tot)) return NaN;\n tot += x;\n }\n return tot;`),stdev:Fi(e=>SS(e,e-1),{deps:[\"mean\"]}),stdevp:Fi(e=>SS(e,e),{deps:[\"mean\"]}),mad:Fi(e=>Ye`float mean = dcg_mean(L);\n if (isnan(mean) || isinf(mean)) return NaN;\n float tot = 0.0;\n for (int i=0; i<${e}; i++) {\n tot += abs(L[i] - mean);\n }\n return tot / ${e}.0;`,{deps:[\"mean\"]}),min:Fi(e=>OS(e,\"min\")),max:Fi(e=>OS(e,\"max\")),argmin:Fi(e=>CS(e,\"<\")),argmax:Fi(e=>CS(e,\">=\")),median:Fi(e=>e%2===1?`return L[int(dcg_sortPerm(L)[${(e-1)/2}])-1];`:Ye`float[${e}] perm = dcg_sortPerm(L);\n return 0.5*(L[int(perm[${e/2}])-1]+L[int(perm[${e/2-1}])-1]);`,{deps:[\"sortPerm\"]}),varp:Fi(e=>DS(e,e),{deps:[\"mean\"]}),var:Fi(e=>DS(e,e-1),{deps:[\"mean\"]}),sortPerm:Fi(e=>{if(e>100)throw pl();return Ye`int[${e}] perm;\n int[${e}] nextPerm;\n for (int i=0; i<${e}; i++)\n perm[i] = i;\n float lastMin = -Infinity;\n int lastIndex = -1;\n for (int i=0; i<${e}; i++) {\n float currMin = Infinity;\n int currIndex = -1;\n int j;\n for (j=0; j<${e}; j++) {\n float e = L[j];\n if (\n (e > lastMin || (e == lastMin && j > lastIndex))\n && e < currMin\n ) {\n currMin = e;\n currIndex = j;\n }\n }\n perm[i] = currIndex;\n lastMin = currMin;\n lastIndex = currIndex;\n }\n float[${e}] permFloat;\n for (int i=0; i<${e}; i++)\n permFloat[i] = float(perm[i] + 1);\n return permFloat;`},{outType:e=>`float[${e}]`})});function DS(e,t){return t===0?\"return NaN;\":Ye`float mean = dcg_mean(L);\n if (isnan(mean) || isinf(mean)) return NaN;\n float tot = 0.0;\n for (int i=0; i<${e}; i++) {\n float delta = L[i] - mean;\n tot += delta * delta;\n }\n return tot / ${t}.0;`}function SS(e,t){return t===0?\"return NaN;\":Ye`float mean = dcg_mean(L);\n if (isnan(mean) || isinf(mean)) return NaN;\n float tot = 0.0;\n for (int i=0; i<${e}; i++) {\n tot = dcg_hypot(tot, L[i] - mean);\n }\n return tot / ${jI(Math.sqrt(t))};`}function OS(e,t){return Ye`float m = L[0];\n if (isnan(m)) return NaN;\n for (int i=1; i<${e}; i++) {\n float x = L[i];\n if (isnan(x)) return NaN;\n m = ${t}(m, x);\n }\n return m;`}function CS(e,t){return Ye`if (isnan(L[0])) return 0.0;\n int arg = 0;\n float best = L[0];\n for (int i=1; i<${e}; i++) {\n float e = L[i];\n if (isnan(e)) return 0.0;\n if (e ${t} best) {\n arg = i;\n best = e;\n }\n }\n return float(arg + 1);`}var JB=WI({elementsAt:Ky(e=>`float[${e}] outList;\n for (int i=0; i<${e}; i++) {\n float y = Y[i];\n outList[i] = isnan(y) || isinf(y) ? NaN : X[int(y)-1];\n }\n return outList;`,e=>`float[${e}]`),cov:Ky(e=>RS(e,e-1)),covp:Ky(e=>RS(e,e)),corr:Ky(e=>Ye`${_S(e)}\n float t1 = 0.0;\n float t2 = 0.0;\n float tc = 0.0;\n for (int i=0; i<${e}; i++) {\n float d1 = X[i] - m1;\n float d2 = Y[i] - m2;\n t1 = dcg_hypot(t1, d1);\n t2 = dcg_hypot(t2, d2);\n tc += d1 * d2;\n }\n return tc / (t1 * t2);`)}),QB={...eg,...jB,...JB},tg=QB;function KB(e,t){switch(e.type){case\"scalar\":return e.value.replace(\"[[name_here]]\",t);case\"reducer\":{let n=e.value;return r=>n(r).replace(\"[[name_here]]\",t)}case\"double-reducer\":{let n=e.value;return(r,i)=>n(r,i).replace(\"[[name_here]]\",t)}}}function WI(e){for(let[t,n]of Object.entries(e))n.type!==\"omitted\"&&(n.value=KB(n,t));return e}function RS(e,t){return Ye`${_S(e)}\n float tot = 0.0;\n for (int i=0; i<${e}; i++) {\n tot += (X[i] - m1) * (Y[i] - m2);\n }\n return tot / ${t}.0;`}function _S(e){return Ye`float m1 = 0.0;\n for (int i=0; i<${e}; i++) {\n float x = X[i];\n if (isnan(x) || isinf(x)) return NaN;\n m1 += x;\n }\n m1 /= ${e}.0;\n float m2 = 0.0;\n for (int i=0; i<${e}; i++) {\n float y = Y[i];\n if (isnan(y) || isinf(y)) return NaN;\n m2 += y;\n }\n m2 /= ${e}.0;`}var e3=[Ye`float dcg_rawpow(float x, float y) {\n if (isnan(x) || isnan(y)) return NaN;\n if (isinf(y)) {${\"\"}\n float a = abs(x);\n if (a == 1.0) return NaN;\n if (y > 0.0) {\n return a > 1.0 ? Infinity : 0.0;\n } else {\n return a < 1.0 ? Infinity : 0.0;\n }\n }\n if (x > 0.0) return pow(x, y);\n else if (x == 0.0) {\n if (y > 0.0) return 0.0;\n else if (y == 0.0) return 1.0;\n else return Infinity;\n } else {\n float m = mod(y, 2.0);\n if (m == 1.0) return -pow(-x, y);\n else return pow(-x, y);\n }\n }`,Ye`float dcg_pow(float x, float y) {\n if (isnan(x) || isnan(y)) return NaN;\n if (isinf(y)) {\n float a = abs(x);\n if (a == 1.0) return NaN;\n if (y > 0.0) {\n return a > 1.0 ? Infinity : 0.0;\n } else {\n return a < 1.0 ? Infinity : 0.0;\n }\n }\n if (x > 0.0) return pow(x,y);\n else if (x == 0.0) {\n if (y > 0.0) return 0.0;\n if (y == 0.0) return 1.0;\n if (y < 0.0) return Infinity;\n } else {\n float m = mod(y, 2.0);\n if (m == 0.0) return pow(-x, y);\n else if (m == 1.0) return -pow(-x, y);\n else {${\"\"}\n vec2 a0 = vec2(0.0, 1.0);\n vec2 a1 = vec2(1.0, 0.0);\n float approx = y;\n for (int i=0; i<12; i+=1) {\n float whole = floor(approx);\n vec2 a = whole * a1 + a0;\n if (a.y > 100.0) break;\n a0 = a1; a1 = a;\n if (approx == whole) break;\n approx = 1.0 / (approx - whole);\n }${\"\"}\n float r = a1.x / a1.y;\n float m = max(max(abs(y), abs(r)), 1.0);\n if (abs(mod(a1.y, 2.0) - 1.0) < 0.01 && abs((r - y)/y) < 0.00001) {\n return (mod(a1.x, 2.0) == 0.0 ? 1.0 : -1.0) * pow(-x, y);\n } else {\n return NaN;\n }\n }\n }\n }`,Ye`float dcg_add(float x, float y) {\n return isnan(x) || isnan(y) ? NaN\n : isinf(x) && isinf(y) && x != y ? NaN\n : x + y;\n }`,Ye`float dcg_sub(float x, float y) {\n return isnan(x) || isnan(y) ? NaN\n : isinf(x) && isinf(y) && x != -y ? NaN\n : x - y;\n }`,Ye`float dcg_mul(float x, float y) {\n return isnan(x) || isnan(y) ? NaN\n : isinf(x) && y == 0.0 ? NaN\n : x == 0.0 && isinf(y) ? NaN\n : x * y;\n }`,Ye`float dcg_div(float x, float y) {\n return isnan(x) || isnan(y) ? NaN\n : isinf(x) && isinf(y) ? NaN\n : x == 0.0 && y == 0.0 ? NaN\n : x / y;\n }`,Ye`float dcg_neg(float x) {\n return isnan(x) ? NaN : -x;\n }`,Ye`bool dcg_equal(float x, float y) {\n return isnan(x) || isnan(y) ? false : x == y;\n }`,Ye`bool dcg_less(float x, float y) {\n return isnan(x) || isnan(y) ? false : x < y;\n }`,Ye`bool dcg_lessEqual(float x, float y) {\n return isnan(x) || isnan(y) ? false : x <= y;\n }`,Ye`bool dcg_greater(float x, float y) {\n return isnan(x) || isnan(y) ? false : x > y;\n }`,Ye`bool dcg_greaterEqual(float x, float y) {\n return isnan(x) || isnan(y) ? false : x >= y;\n }`,Ye`float dcg_gcd2(float u, float v) {\n if (isinf(u)) return v;\n if (isinf(v)) return u;\n for (int i=0; i<95; i++) {\n if (v == 0.0) break;\n u = mod(u, v);\n if (u == 0.0) break;\n v = mod(v, u);\n }\n return u+v;\n }`,Ye`float dcg_log1p(float x) {\n return x - 0.5 * x * x == x ? x : log(1.0 + x);\n }`,Ye`bool dcg_isPiMultiple(float absx) {\n if (absx > 1.0e5) return false;\n return floor(0.5 + dcg_PI_INV * absx) * dcg_PI == absx;\n }`,Ye`bool dcg_isOddHalfPiMultiple(float absx) {\n if (absx > 1.0e5) return false;\n float n = floor(0.5 + 2.0 * dcg_PI_INV * absx);\n return mod(n, 2.0) == 1.0 && n * dcg_PI == 2.0 * absx;\n }`].join(`\n`),NS=[\"round\",\"hypot\",\"rtxsqpone\",\"rtxsqmone\"],t3=NS.map(e=>eg[e].value).join(`\n`)+Object.keys(eg).filter(e=>NS.indexOf(e)===-1).map(e=>eg[e].value).join(`\n`),F7=Ye`uniform float NaN;\n uniform float Infinity;\n #define dcg_PI 3.141592653589793\n #define dcg_PI_INV 0.3183098861837907\n ${e3}\\n`+t3;function Ye(e,...t){let n=e[0];for(let r=0;rr.match(/^\\s*/)[0].length));return t[0]+`\n`+t.slice(1).map(r=>r.slice(n)).join(`\n`)}function Wo(e,t){let n=new JI(e,t),r=ay(n);return n.finish(r)}var JI=class extends wl{constructor(n,r){super(n,!0);this.maxUniforms=r;this.glsl=!0;this.shaderUniforms=[];this.definitions={}}finish(n){return{source:n,shaderFunctions:r3(this.chunk,this.definitions),shaderUniforms:this.shaderUniforms}}printValue(n,r){if(Array.isArray(n)){if(n.length>100)throw pl();let i=W(r),s=i?ke(r):r,o=n.map(c=>this.printValue(c,s)).join(\",\"),a=ng(r),u=LS({type:a,arity:n.length});return this.definitions[u]=!0,(i?\"buildList\":a)+\"(\"+o+\")\"}switch(typeof n){case\"boolean\":return n.toString();case\"number\":return this.printFloatOrUniformGLSL(n);case\"string\":throw ll(\"random\");case\"object\":if(Ja(n))throw new Error(\"Action values cannot be compiled\");return this.printFloatOrUniformGLSL(q(n));default:throw new Error(\"Unexpected value: \"+n)}}printFloatOrUniformGLSL(n){if(this.shaderUniforms.length>=this.maxUniforms)return jI(n);{let i=\"_DCG_SC_\"+this.shaderUniforms.length;return this.shaderUniforms.push(n),i}}beforeBeginLoop(n){let r=this.chunk.getInstruction(n.args[0]),i=this.chunk.getInstruction(n.args[1]),s=n.callData.type===\"sum\";if(r.type!==1){let u=oi(this.chunk,n.args[0]);throw s?dm(u):mm(u)}if(i.type!==1){let u=oi(this.chunk,n.args[1]);throw s?dm(u):mm(u)}if(r.valueType!==T||i.valueType!==T)throw new Error(\"Programming error: non-number in summation bounds\");let o=q(r.value),a=q(i.value);if(!isFinite(a-o)||a-o>=1e3)throw s?cx():lx()}checkFiniteBounds(){return\"\"}emitConstant(n){return this.printValue(n.value,n.valueType)}emitNeg(n){return`dcg_neg(${n})`}emitTernary(n,r,i,s){return W(s.valueType)?`dcg_ternary(${n},${r},${i})`:`${n}?${r}:${i}`}emitVec2(n,r){return`vec2(${n},${r})`}emitVec3(n,r,i){return`vec3(${n},${r},${i})`}emitVecAccess(n,r){return`${n}.${r===1?\"x\":r===2?\"y\":\"z\"}`}emitBinary(n,r,i){switch(n.type){case 8:return`dcg_add(${r},${i})`;case 9:return`dcg_sub(${r},${i})`;case 10:return`dcg_mul(${r},${i})`;case 11:return`dcg_div(${r},${i})`;case 12:return`dcg_pow(${r},${i})`;case 13:return`dcg_rawpow(${r},${i})`;case 25:return`dcg_equal(${r},${i})`;case 26:return`dcg_less(${r},${i})`;case 28:return`dcg_lessEqual(${r},${i})`;case 27:return`dcg_greater(${r},${i})`;case 29:return`dcg_greaterEqual(${r},${i})`;case 31:return`${r}||${i}`;case 32:return`${r}&&${i}`;default:throw new Error(\"Programming Error: invalid binary opcode.\")}}emitList(n,r){let i=LS({type:ng(r.valueType),arity:r.args.length});return this.definitions[i]=!0,`buildList(${n.join(\",\")})`}emitListAccess(n,r,i,s){let o=zn(this.chunk,s.args[0]);if(o===void 0)throw tc(oi(this.chunk,s.args[0]));let a=`int(${r})`;return`(${a}>=1&&${a}<=${o})?${n}[${a}-1]:${i}`}emitInboundsListAccess(n,r){return`${n}[int(${r})-1]`}emitNativeFunction(n,r){if(!tg[r.symbol])throw ll(r.symbol);return`dcg_${r.symbol}(${n.join(\",\")})`}emitExtendSeed(){throw ll(\"random\")}emitVarDeclaration(n,r){let i=r?\";\":\"\";return i+=wS(this.chunk,n)+\" \"+an(n),i}emitFunctionCall(){throw ll(\"recursion\")}};function LS(e){let{type:t,arity:n}=e,r=t+\"[\"+n+\"]\",i=r+\" buildList(\";for(let s=0;s100)throw pl();return`${ng(n.valueType)}[${r}]`}else return ng(n.valueType)}function fn(e,t,n){switch(t){case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 17:case 18:case 21:case 19:case 23:case 50:return T;case 25:case 26:case 27:case 28:case 29:case 31:case 32:return ge;case 33:{let i=e.getInstruction(n[1]).valueType,s=e.getInstruction(n[2]).valueType,o=ua(i,s);return o===void 0?i:o}case 15:return R;case 16:return V;case 38:return Hf(n.map(i=>e.getInstruction(i).valueType));case 39:case 40:case 41:{let i=e.getInstruction(n[0]).valueType;return W(i)?ke(i):Ht}case 44:return ot;case 49:return rt;case 55:return e.getInstruction(n[0]).valueType;case 1:case 2:case 37:case 42:case 47:case 48:case 3:case 0:case 24:case 22:case 20:case 51:case 4:case 53:case 54:return Ht;default:let r=t;throw new Error(`Unexpected opcode ${r}`)}}function Ls(e,t){return e.pushLeafInstruction(t)}function Mn(e,t,n){switch(t.type){case 8:return e.Add(n);case 9:return e.Subtract(n);case 10:return e.Multiply(n);case 11:return e.Divide(n);case 12:return e.Exponent(n);case 13:return e.RawExponent(n);case 14:return e.Negative(n);case 25:return e.Equal(n);case 26:return e.Less(n);case 27:return e.Greater(n);case 28:return e.LessEqual(n);case 29:return e.GreaterEqual(n);case 31:return e.Or(n);case 32:return e.And(n);case 33:return e.Piecewise(n);case 47:return e.BlockVar(t.valueType,n);case 48:return e.BroadcastResult(t.valueType,n);case 15:return e.OrderedPair(n);case 16:return e.OrderedTriple(n);case 17:return e.OrderedPairAccess(t.index,n);case 18:return e.OrderedTripleAccess(t.index,n);case 37:return e.NativeFunction(t.symbol,t.callData,n);case 42:return e.Distribution(t.symbol,n);case 21:return e.BeginIntegral(t.callData,n);case 22:return e.EndIntegral(n);case 23:return e.BeginBroadcast(n);case 24:return e.EndBroadcast(n);case 19:return e.BeginLoop(t.callData,n);case 20:return e.EndLoop(n);case 38:return e.List(n);case 39:return e.ListAccess(n);case 40:return e.DeferredListAccess(n);case 41:return e.InboundsListAccess(n);case 44:return e.ExtendSeed(t.tag,n);case 49:return e.Action(t.symbols,n);case 50:return e.BeginMap(t.callData,n);case 51:return e.EndMap(n);case 53:return e.BeginFunction(n);case 54:return e.EndFunction(n);case 55:return e.FunctionCall(n);default:let r=t;throw new Error(`Unexpected opcode ${r.type}`)}}function FS(e){if(e.instructionsLength()-1!==e.getReturnIndex())throw new Error(\"Programming Error: only the final instruction in a chunk can be converted to broadcast\");let t=e.getInstruction(e.getReturnIndex());if(be(t))return e.getReturnIndex();switch(t.type){case 8:case 9:case 10:case 11:case 12:case 13:case 25:case 26:case 27:case 28:case 29:case 31:case 32:case 15:case 16:case 14:case 33:case 17:case 18:return Sc(e,t);case 42:return Tr(e,Sc(e,t));case 37:{let r=bn[t.symbol];switch(r.tag){case\"default\":case\"trig\":case\"trig2\":case\"inverseTrig\":case\"color\":return Sc(e,t);case\"never-broadcast\":{let i=[],s=!1;for(let o of t.args){let a=Tr(e,o);a!==o?(s=!0,i.push(a)):i.push(o)}return s?e.copyInstructionWithArgs(t,i):e.getReturnIndex()}case\"reducer\":if(i3(e,t.args))if(t.args.length===1){let i=t.args[0],s=Tr(e,i);return s!==i?e.copyInstructionWithArgs(t,[s]):e.getReturnIndex()}else return Sc(e,t);else return e.getReturnIndex();case\"doubleReducer\":{if(t.args.length!==2)throw new Error(\"Programming error: double reducers must have two arguments\");let i=Tr(e,t.args[0]),s=Tr(e,t.args[1]);return i!==t.args[0]||s!==t.args[1]?e.copyInstructionWithArgs(t,[i,s]):e.getReturnIndex()}case\"parameterizedReducer\":{if(t.args.length!==2)throw new Error(\"Programming error: double reducers must have two arguments\");let i=Tr(e,t.args[0]);return i===t.args[0]?Sc(e,t,[!1,!0]):e.copyInstructionWithArgs(t,[i,t.args[1]])}default:{let i=r.tag;throw new Error(`Programming Error: unexpected tag ${i}`)}}}case 39:case 40:case 41:return Sc(e,t,[!1,!0]);case 55:{let i=e.getInstruction(t.args[0]).signature.argTypes.map(a=>!W(a)),s=[t.args[0]],o=!1;for(let a=1;a=0&&s.indexOf(t.args[2])>=0){let m=Tr(e,t.args[1]),g=Tr(e,t.args[2]);return m!==t.args[1]||g!==t.args[2]?Mn(e,t,[t.args[0],m,g]):e.getReturnIndex()}e.popInstruction();let o=Gf(e,s);if(o===void 0)throw new Error(\"Programming Error: expected minListLength to be defined for \"+s.length+\" lists\");let a=o;if(bt(e.getInstruction(a))&&ln(e,a)===0&&i)return e.ConstantOfType(We,[]);let u=e.BeginBroadcast([a]),c=[];for(let m of s)c.push(Ma(e,m,u));let l=[];for(let m=0;m ${i};`)}return t.push(\"}\"),t.join(`\n`)}function BS(e,t,n){let r=e.argNames.indexOf(t);if(r===-1)return 0;let i=Lr(e,r,n);return en(i,e.getReturnIndex())}function Lr(e,t,{allowRestriction:n,allowClosedBlockReferences:r}){return{chunk:e,argIndex:t,orderTable:[],mask:eu(e,t),allowRestriction:n,allowClosedBlockReferences:r}}function en(e,t){let n=e.orderTable[t];if(n!==void 0)return n;let r=s3(e,t);return e.orderTable[t]=r,r}function s3(e,t){let{chunk:n,mask:r,argIndex:i,allowRestriction:s,allowClosedBlockReferences:o}=e;if(!o&&n.isInClosedBlock(t))return 1/0;if(t===i)return 1;let a=n.getInstruction(t);if(ri(a)||Ti(a))return 1/0;switch(a.type){case 8:case 9:case 26:case 28:case 27:case 29:{let[c,l]=a.args;return Math.max(en(e,c),en(e,l))}case 10:{let[c,l]=a.args;return en(e,c)+en(e,l)}case 14:return en(e,a.args[0]);case 11:{let[c,l]=a.args;return en(e,l)>0?1/0:en(e,c)}case 12:case 13:{let[c,l]=a.args,p=n.getInstruction(l);if(en(e,c)===0&&en(e,l)===0)return 0;if(p.type===1){let f=q(p.value);return f===Math.round(f)&&f>0?en(e,c)*f:1/0}else return 1/0}case 33:{if(!r[t])return 0;let c=n.getInstruction(a.args[2]);return s&&c.type===1&&isNaN(q(c.value))?en(e,a.args[1]):1/0}case 2:case 0:case 1:case 25:case 32:case 31:case 15:case 17:case 16:case 18:case 38:case 39:case 40:case 41:case 37:case 42:case 48:case 47:case 3:case 44:case 49:case 4:case 55:return r[t]?1/0:0;default:let u=a;throw new Error(`Unexpected opcode ${u.type}`)}}function GS(e,t){let n=e.argNames.indexOf(t),r=e.getReturnIndex(),i=ws(Lr(e,n,{allowRestriction:!0,allowClosedBlockReferences:!1}),r);if(en(i.orderCtx,r)>2)throw new Error(\"Programming Error: cannot compute polynomial coefficients for polynomials of order greater than 2\");let s=Hn(i,r),o=!1;for(let a=0;a=0&&r2?f=[l]:f=o3(e,t):f=[o[t]];f.length>1;){let m=n.getInstruction(f[f.length-1]);if(m.type===1&&q(m.value)===0)f.pop();else break}if(f.length===0)throw new Error(\"Programming Error: coefficients cannot be empty\");return i[t]=f,f}function o3(e,t){let n=e.chunk.getInstruction(t),{newChunk:r}=e;switch(n.type){case 8:{let[s,o]=n.args,a=Hn(e,s),u=Hn(e,o),c=a.length-1,l=u.length-1,p=[];for(let f=0;f<=Math.max(c,l);f++)c>=f&&l>=f?p.push(r.Add([a[f],u[f]])):p.push(c>l?a[f]:u[f]);return p}case 9:case 26:case 28:case 27:case 29:{let[s,o]=n.args;(n.type===26||n.type==28)&&([s,o]=[o,s]);let a=Hn(e,s),u=Hn(e,o),c=a.length-1,l=u.length-1,p=[];for(let f=0;f<=Math.max(c,l);f++)c>=f&&l>=f?p.push(r.Subtract([a[f],u[f]])):p.push(c>l?a[f]:r.Negative([u[f]]));return p}case 14:{let s=n.args[0],o=Hn(e,s),a=[];for(let u=0;u2)continue;let g=r.Multiply([a[f],u[m]]),d=p[f+m];d===void 0?p[f+m]=g:p[f+m]=r.Add([d,g])}return p}case 11:{let[s,o]=n.args,a=Hn(e,s),u=Hn(e,o),c=[];for(let l=0;lJe(e,n,he))||t.every(n=>Je(e,n,Se))}function du(e,t){return mu(e,t,\"mathVector\",qf(\"mathVector\",\"mathVectorThreeD\"))}function go(e,t){return mu(e,[t],\"start\",[{match:[he],build:()=>e.SyntheticNativeFunction(\"basePointFromVector\",[t])},{match:[Se],build:()=>e.SyntheticNativeFunction(\"basePointFromVectorThreeD\",[t])}])}function ai(e,t){return mu(e,[t],\"displacement\",[{match:[he],build:()=>e.SyntheticNativeFunction(\"vectorDisplacementAsPoint\",[t])},{match:[Se],build:()=>e.SyntheticNativeFunction(\"vectorThreeDDisplacementAsPoint\",[t])}])}function qf(e,t){return[{match:[R,R],build:(n,r)=>n.SyntheticNativeFunction(e,r)},{match:[V,V],build:(n,r)=>n.SyntheticNativeFunction(t,r)}]}var a3=[\"Sum\",\"Product\",\"Integral\",\"List\",\"Derivative\",\"Piecewise\",\"Restriction\",\"Norm\",\"Exponent\",\"PercentOf\",\"FunctionDefinition\",\"UpdateRule\",\"Substitution\",\"ListComprehension\"],u3={isGeometryEnabled(){return!1},is3dProduct(){return!1},is3dPolicy(){return!1},isBeta3d(){return!1},areAllScalesLinear(){return!0},assignmentForbidden(e){return!0},substitutionForbidden(e){return!0},graphingEnabled(){return!1},isValidSlider(e){return!1},sliderVariables(e){return[]},ansEnabled(){return!1},disabledFeatures(){return a3},dimensionVarsEnabled(){return!1}},zS={...u3,isGeometryEnabled(){return!0},is3dProduct(){return!0},is3dPolicy(){return!0},isBeta3d(){return!0}};function HS(e){return 48<=e&&e<=57}function c3(e){return 97<=e&&e<=122}function l3(e){return 65<=e&&e<=90}function rg(e){return c3(e)||l3(e)}function ig(e){return e===92}function QI(e){return e===39}function US(e){if(9<=e&&e<=13||8192<=e&&e<=8202)return!0;switch(e){case 32:case 160:case 5760:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}function gu(e,t){return Kr(e.token.span,t.prevSpan)}function yu(e,t,n){return{type:e,span:t,val:n}}function p3(e,t,n,r){return{input:e,prevSpan:t,pos:n,token:r}}function qS(e){return $S(e,0,to(e,0))}function $S(e,t,n){for(;US(e.charCodeAt(t));)t+=1;let r=m3(e,t);return p3(e,n,t,r)}function ho(e){return $S(e.input,e.token.span.end,e.token.span)}function Bi(e){return e.token}function Jo(e,t){if(Bi(e).type!==t)throw`Parse Error: expected ${t}.`;return ho(e)}function YS(e,t){return Bi(e).type===t}function sg(e){return e.pos>=e.input.length}var f3={\"\\\\left\":\"Left\",\"\\\\right\":\"Right\",\"\\\\sqrt\":\"Sqrt\",\"\\\\frac\":\"Frac\",\"\\\\operatorname\":\"OperatorName\",\"\\\\token\":\"Token\"},d3={\"[\":\"[\",\"]\":\"]\",\"{\":\"{\",\"}\":\"}\",\"^\":\"^\",_:\"_\"};function m3(e,t){let n=t;if(t>=e.length)return yu(\"End\",to(e,t),\"\");let r=e.charCodeAt(t);if(HS(r)){let i=yi(e,n,t+1);return yu(\"Digit\",i,e.charAt(n))}else if(rg(r)){let i=yi(e,n,t+1);return yu(\"Letter\",i,e.charAt(n))}else if(ig(r))if(t+=1,rg(e.charCodeAt(t))){for(;rg(e.charCodeAt(t));)t+=1;let i=yi(e,n,t),s=Cn(i),o=f3[s]||\"Cmd\";return yu(o,i,s)}else{t+=1;let i=yi(e,n,t),s=Cn(i);return yu(\"EscapedSymbol\",i,s)}else if(QI(r)){for(t+=1;QI(e.charCodeAt(t));)t+=1;if(e.charAt(t)===\"^\"){t+=1;let i=yi(e,n,t),s=Cn(i);return yu(\"Primes^\",i,s)}else{let i=yi(e,n,t),s=Cn(i);return yu(\"Primes\",i,s)}}else{let i=yi(e,n,t+1),s=e.charAt(n),o=d3[s]||\"Symbol\";return yu(o,i,s)}}function KI(e,t){return{type:\"Group\",span:e,args:t}}function XS(e,t,n){return{type:\"Sqrt\",span:e,optArg:t,arg:n}}function ZS(e,t,n){return{type:\"Frac\",span:e,num:t,den:n}}function WS(e,t,n,r){return{type:\"SupSub\",span:e,sup:t,sub:n,nprimes:r}}function jS(e,t,n,r){return{type:\"LeftRight\",span:e,left:t,right:n,arg:r}}function JS(e,t){return{type:\"OperatorName\",span:e,arg:t}}function QS(e,t){return{type:\"TokenNode\",span:e,arg:t}}function KS(e,t){return{type:\"Symbol\",span:e,val:t}}function eO(e){switch(e){case\"Frac\":return 2;case\"^\":case\"_\":case\"Primes^\":case\"Left\":case\"Sqrt\":case\"OperatorName\":case\"Token\":return 1;default:return 0}}function tO(e){let{state:t,tree:n}=og(qS(e),!1);if(!sg(t))throw`Parse error: unexpected ${Cn(Bi(t).span)}.`;return n}function Fs(e,t){return{state:e,tree:t}}function og(e,t){let n=e,r=[];e:for(;!sg(e);){let s=Bi(e);switch(s.type){case\"Cmd\":case\"EscapedSymbol\":case\"Letter\":case\"Digit\":case\"Symbol\":case\"[\":case\"{\":case\"^\":case\"_\":case\"Primes\":case\"Primes^\":case\"Left\":case\"Frac\":case\"Sqrt\":case\"OperatorName\":case\"Token\":case\"]\":{if(s.type===\"]\"&&t)break e;let a;if({state:e,tree:a}=nO(e),a.type===\"Group\")for(let u of a.args)r.push(u);else r.push(a);break}case\"}\":case\"Right\":case\"End\":break e;default:throw`Unexpected token type ${s.type}.`}}let i=gu(n,e);return Fs(e,KI(i,r))}function nO(e){let t=Bi(e);switch(t.type){case\"Cmd\":case\"EscapedSymbol\":case\"Letter\":case\"Digit\":case\"Symbol\":return e=ho(e),Fs(e,t);case\"[\":case\"]\":return e=ho(e),Fs(e,KS(t.span,t.val));case\"{\":{e=ho(e);let r;return{state:e,tree:r}=og(e,!1),e=Jo(e,\"}\"),Fs(e,r)}case\"^\":case\"_\":case\"Primes\":case\"Primes^\":return T3(e);case\"Left\":return P3(e);case\"Frac\":return x3(e);case\"Sqrt\":return b3(e);case\"OperatorName\":return g3(e);case\"Token\":return h3(e);case\"}\":case\"Right\":throw`Parse Error: unexpected ${t.val}.`;case\"End\":throw\"Parse Error: unexpected end.\";default:throw`Unexpected token type ${t.type}.`}}function g3(e){let t=e,n=Bi(e);e=Jo(e,\"OperatorName\");let r;({state:e,tree:r}=hu(e,n));let i=gu(t,e);return Fs(e,JS(i,r))}function h3(e){let t=e,n=Bi(e);e=Jo(e,\"Token\");let r;({state:e,tree:r}=hu(e,n));let i=gu(t,e);return Fs(e,QS(i,r))}function b3(e){let t=e,n=Bi(e);e=Jo(e,\"Sqrt\");let r;YS(e,\"[\")&&({state:e,tree:r}=I3(e));let i;({state:e,tree:i}=hu(e,n));let s=gu(t,e);return Fs(e,XS(s,r,i))}function x3(e){let t=e,n=Bi(e);e=Jo(e,\"Frac\");let r;({state:e,tree:r}=hu(e,n));let i;({state:e,tree:i}=hu(e,n));let s=gu(t,e);return Fs(e,ZS(s,r,i))}function P3(e){let t=e;e=Jo(e,\"Left\");let n=Bi(e);e=ho(e);let r;({state:e,tree:r}=og(e,!1)),e=Jo(e,\"Right\");let i=Bi(e);e=ho(e);let s=gu(t,e);return Fs(e,jS(s,n,i,r))}function T3(e){let t=e,n,r,i=0;e:for(;!sg(e);){let o=Bi(e);switch(o.type){case\"^\":if(e=ho(e),n)throw\"Parse Error: double superscript.\";({state:e,tree:n}=hu(e,o));break;case\"_\":if(e=ho(e),r)throw\"Parse Error: double subscript.\";({state:e,tree:r}=hu(e,o));break;case\"Primes\":if(e=ho(e),i>0)throw\"Parse Error: double primes.\";i=o.val.length;break;case\"Primes^\":if(e=ho(e),i>0)throw\"Parse Error: double primes.\";if(n)throw\"Parse Error: double superscript\";i=o.val.length-1,{state:e,tree:n}=hu(e,o);break;default:break e}}let s=gu(t,e);return Fs(e,WS(s,n,r,i))}function hu(e,t){let n=eO(t.type),r;if(n<=0)throw new Error(\"Programming Error: greediness must be greater than 0.\");let i=eO(Bi(e).type);if(i>0&&i<=n){let s=Cn(t.span);throw`Parse Error: can't use ${Cn(Bi(e).span)} as argument of ${s}. Use {}.`}return{state:e,tree:r}=nO(e),r.type!==\"Group\"&&(r=KI(r.span,[r])),Fs(e,r)}function I3(e){e=Jo(e,\"[\");let t;return{state:e,tree:t}=og(e,!0),e=Jo(e,\"]\"),Fs(e,t)}var E3={mcd:\"gcd\",gcf:\"gcd\",mcm:\"lcm\",signum:\"sign\",sgn:\"sign\",stdDevP:\"stdevp\",stddevp:\"stdevp\",stdDev:\"stdev\",stddev:\"stdev\",variance:\"var\",TTest:\"ttest\",TScore:\"tscore\",IndependentTTest:\"ittest\",iTTest:\"ittest\",inverseCdf:\"quantile\",inversecdf:\"quantile\",arsinh:\"arcsinh\",arcosh:\"arccosh\",artanh:\"arctanh\",arcsch:\"arccsch\",arsech:\"arcsech\",arcoth:\"arccoth\"};function rO(e){let t=0;for(;ig(e.charCodeAt(t));)t+=1;return t>0&&(e=e.slice(t)),E3[e]||e}function iO(e,t,n){return{type:\"Comparator\",span:e,symbol:t,args:n}}function sO(e,t,n){if(t.length<1)throw\"Programming Error: ComparatorChain must have at least one comparator.\";if(n.length!==t.length+1)throw\"Programming Error: ComparatorChain must have one more arg than symbols\";return{type:\"ComparatorChain\",span:e,args:n,symbols:t}}function oO(e,t){return{type:\"Tilde\",span:e,args:t}}function aO(e,t){return{type:\"Pos\",span:e,args:t}}function uO(e,t){return{type:\"Neg\",span:e,args:t}}function cO(e,t){return{type:\"Add\",span:e,args:t}}function lO(e,t){return{type:\"Sub\",span:e,args:t}}function pO(e,t){return{type:\"Mul\",span:e,args:t}}function fO(e,t){return{type:\"DotMul\",span:e,args:t}}function dO(e,t){return{type:\"CrossMul\",span:e,args:t}}function mO(e,t){return{type:\"Div\",span:e,args:t}}function yO(e,t){return{type:\"Bang\",span:e,args:t}}function $f(e,t){return{type:\"Call\",span:e,args:t}}function eE(e,t){return{type:\"ImplicitCall\",span:e,args:t}}function gO(e,t){return{type:\"Index\",span:e,args:t}}function tE(e,t){return{type:\"Paren\",span:e,args:t}}function nE(e,t){return{type:\"List\",span:e,args:t}}function hO(e,t){return{type:\"Pipes\",span:e,args:t}}function rE(e,t){return{type:\"Subscript\",span:e,args:t}}function ag(e,t){return{type:\"Superscript\",span:e,args:t}}function Yf(e,t,n){return{type:\"Prime\",span:e,nprimes:t,args:n}}function ug(e,t){return{type:\"Seq\",span:e,args:t}}function bO(e,t){return{type:\"Sqrt\",span:e,args:t}}function xO(e,t){return{type:\"Nthroot\",span:e,args:t}}function PO(e,t){return{type:\"Frac\",span:e,args:t}}function TO(e,t){return{type:\"Derivative\",span:e,args:t}}function IO(e,t){return{type:\"Integral\",span:e,args:t}}function EO(e,t){return{type:\"EmptyIntegral\",span:e,args:t}}function MO(e,t){return{type:\"Sum\",span:e,args:t}}function vO(e,t){return{type:\"Product\",span:e,args:t}}function DO(e,t){return{type:\"Piecewise\",span:e,args:t}}function SO(e){return{type:\"EmptyPiecewise\",span:e}}function OO(e){return{type:\"EmptyRangeEnd\",span:e}}function CO(e,t){return{type:\"Colon\",span:e,args:t}}function iE(e,t){return{type:\"Ellipsis\",span:e,args:t}}function RO(e,t){return{type:\"For\",span:e,args:t}}function NO(e,t){return{type:\"With\",span:e,args:t}}function AO(e,t){return{type:\"Dot\",span:e,args:t}}function _O(e,t){return{type:\"PercentOf\",span:e,args:t}}function LO(e,t){return{type:\"RightArrow\",span:e,args:t}}function sE(e,t){return{type:\"Juxt\",span:e,args:t}}function wO(e,t){return{type:\"Letter\",span:e,val:t}}function cg(e,t){return{type:\"Decimal\",span:e,val:t}}function Oc(e,t){return{type:\"Cmd\",span:e,val:rO(t)}}function FO(e,t){return{type:\"Alphanumeric\",span:e,val:t}}function VO(e,t,n,r){return{type:\"MixedNumber\",span:e,whole:t,num:n,den:r}}function Un(e){if(e.type===\"Subscript\"){if(e.args[1].type!==\"Alphanumeric\")return!1;e=e.args[0]}switch(e.type){case\"Cmd\":return!0;case\"Letter\":return!0;default:return!1}}function BO(e){return e.type!==\"Superscript\"?!1:Un(e.args[0])}function GO(e,t){if(e.type!==\"Letter\"||e.val!==\"d\"||t.type!==\"Juxt\")return!1;let[n,r]=t.args;return n.type!==\"Letter\"||n.val!==\"d\"?!1:Un(r)}function pr(e){return e.type===\"Seq\"?e.args:[e]}function Ce(e,t){return{type:\"Err\",span:e,error:t}}function oE(){return{type:\"UnexpectedParseError\"}}function kO(){return{type:\"EmptyInput\"}}function zO(){return{type:\"EmptyGroup\"}}function aE(){return{type:\"EmptySubscript\"}}function HO(){return{type:\"EmptySuperscript\"}}function uE(){return{type:\"EmptyRadical\"}}function UO(){return{type:\"EmptySquareBracket\"}}function qO(){return{type:\"EmptyPipe\"}}function $O(){return{type:\"EmptyRadicalIndex\"}}function cE(){return{type:\"UnexpectedEnd\"}}function Cc(e){return{type:\"BinaryOperatorMissingRight\",val:e}}function YO(e){return{type:\"BinaryOperatorMissingLeft\",val:e}}function lE(e){return{type:\"UnaryOperatorMissingRight\",val:e}}function pE(e){return{type:\"UnaryOperatorMissingLeft\",val:e}}function XO(e,t){return{type:\"MissingCloseDelimiter\",open:e,close:t}}function Xf(e,t){return{type:\"UnexpectedCloseDelimiter\",open:e,close:t}}function ZO(){return{type:\"UnexpectedDifferential\"}}function WO(e){return{type:\"UnrecognizedSymbol\",val:e}}function jO(e){return{type:\"InvalidSubscript\",val:e}}function JO(e){return{type:\"UnexpectedSubscript\",base:e}}function fE(e){return{type:\"FunctionMissingArgument\",val:e}}function QO(){return{type:\"PercentMissingOf\"}}function dE(){return{type:\"PrimeWithoutParen\"}}function KO(){return{type:\"SuperscriptWithPrime\"}}function lg(){return{type:\"UnexpectedPrime\"}}function eC(){return{type:\"SumMissingBound\"}}function tC(){return{type:\"ProductMissingBound\"}}function mE(){return{type:\"MissingBound\"}}function nC(){return{type:\"IntegralMissingBound\"}}function rC(){return{type:\"SumMissingBody\"}}function iC(){return{type:\"ProductMissingBody\"}}function sC(){return{type:\"IntegralMissingBody\"}}function oC(){return{type:\"DerivativeMissingBody\"}}function aC(){return{type:\"IntegralMissingDifferential\"}}function uC(){return{type:\"DifferentialWithSuperscript\"}}function cC(){return{type:\"FractionMissingNumerator\"}}function lC(){return{type:\"FractionMissingDenominator\"}}function pC(){return{type:\"FractionEmpty\"}}function yE(e){return{type:\"AdjacentNumbers\",args:e}}function fC(){return{type:\"UnexpectedFor\"}}function dC(){return{type:\"TokenWithSubscript\"}}var D3={\"+\":!0,\"-\":!0,\"*\":!0,\"\\\\cdot\":!0,\"\\\\times\":!0,\"/\":!0,\"!\":!0,\"(\":!0,\")\":!0,\"\\\\{\":!0,\"\\\\}\":!0,\"(|\":!0,\"|)\":!0,\"[\":!0,\"]\":!0,\",\":!0,\"...\":!0,\":\":!0,\"=\":!0,\">\":!0,\"<\":!0,\">=\":!0,\"<=\":!0,\"->\":!0,\"~\":!0,\"%\":!0,\".\":!0,for:!0,with:!0,Letter:!0,Decimal:!0,Cmd:!0,TokenNode:!0,Differential:!0,End:!0,Trig:!0,Ln:!0,Log:!0,Int:!0,Sum:!0,Prod:!0,Err:!0};function k9(e){let t=Sa[e];if(!t)return!0;switch(t){case\"Ln\":case\"Log\":case\"for\":case\"with\":case\"Trig\":return!0;default:return!1}}var Sa={\"\\\\lt\":\"<\",\"\\\\gt\":\">\",\"\\\\le\":\"<=\",\"\\\\ge\":\">=\",\"\\\\leq\":\"<=\",\"\\\\geq\":\">=\",\"\\\\ldots\":\"...\",\"\\\\sim\":\"~\",\"\\\\to\":\"->\",\"\\\\cdot\":\"\\\\cdot\",\"\\\\times\":\"\\\\times\",\"\\\\div\":\"/\",\"\\\\ln\":\"Ln\",\"\\\\log\":\"Log\",\"\\\\int\":\"Int\",\"\\\\sum\":\"Sum\",\"\\\\prod\":\"Prod\",\"\\\\backslash\":\"Err\",\"\\\\for\":\"for\",\"\\\\with\":\"with\"},S3=[\"sin\",\"cos\",\"tan\",\"cot\",\"sec\",\"csc\"];for(let e of S3)Sa[\"\\\\\"+e]=\"Trig\",Sa[\"\\\\\"+e+\"h\"]=\"Trig\",Sa[\"\\\\arc\"+e]=\"Trig\",Sa[\"\\\\arc\"+e+\"h\"]=\"Trig\",Sa[\"\\\\ar\"+e+\"h\"]=\"Trig\";function z9(e){return e===\"\\\\log\"||e===\"\\\\prod\"||e===\"\\\\sum\"||e===\"\\\\int\"}var gE={\"+\":\"+\",\"-\":\"-\",\"*\":\"*\",\"/\":\"/\",\"!\":\"!\",\"(\":\"(\",\")\":\")\",\"[\":\"[\",\"]\":\"]\",\",\":\",\",\"...\":\"...\",\":\":\":\",\"=\":\"=\",\">=\":\">=\",\"<=\":\"<=\",\">\":\">\",\"<\":\"<\",\"~\":\"~\",\".\":\".\"},mC={\"\\\\{\":\"\\\\{\",\"\\\\}\":\"\\\\}\",\"\\\\%\":\"%\"},yC={\"|\":\"(|\",\"\\\\{\":\"\\\\{\",\"[\":\"[\",\"(\":\"(\"},gC={\"|\":\"|)\",\"\\\\}\":\"\\\\}\",\"]\":\"]\",\")\":\")\"},hC=Object.keys(D3);function bC(e,t,n,r,i,s,o,a){return{opts:e,input:t,prevSpan:n,startIndex:r,endIndex:i,token:s,mode:o,parent:a}}function ye(e,t){return Kr(e.token.span,t.prevSpan)}function qn(e,t){return Kr(e,t.prevSpan)}function bE(e){return to(e.token.span.input,e.token.span.start)}function O3(e,t){return{type:\"Differential\",span:e,val:t}}function ui(e,t,n){return{type:e,span:t,val:n}}function Oa(e,t){let n=to(e.span.input,e.span.start);return xE(t,e,0,n,void 0,void 0)}function xE(e,t,n,r,i,s){let o=t.args;if(n>o.length&&s)return xC(s,r);n=Zf(o,n);let{token:a,endIndex:u}=PC(t,n,i);if(a.type===\"End\"&&s){let c=s.input.args[s.startIndex];if(c.type===\"LeftRight\"){let l=c.right,p=gC[l.val]||\"Err\",f=ui(p,l.span,l.val);return bC(e,t,r,n,u,f,i,s)}}else a.type===\"Int\"?i=C3(i):a.type===\"Differential\"&&(i=R3(i));return bC(e,t,r,n,u,a,i,s)}function Ve(e){let t=e.input.args[e.startIndex],n=e.token.span;return t&&t.type===\"LeftRight\"?xE(e.opts,t.arg,0,n,e.mode,e):xC(e,n)}function xC(e,t){let{input:n,endIndex:r,mode:i,parent:s}=e;return xE(e.opts,n,r+1,t,i,s)}function wr(e){return e.token}function C3(e){return{type:\"integral\",parent:e}}function R3(e){if(!e||e.type!==\"integral\")throw new Error(\"Programming Error: expected lexer to be in integral mode.\");return e.parent}function Ir(e,t){return wr(e).type===t}function dg(e){return e.startIndex>=e.input.args.length}function PE(e,t){return t.token.span.start>e.token.span.start}function ir(e,t){return{token:t,endIndex:e}}function PC(e,t,n){let r=e.args;if(t>=r.length){let o=to(e.span.input,e.span.end);return ir(t,ui(\"End\",o,\"\"))}let i=e.args[t];switch(i.type){case\"Sqrt\":case\"Frac\":case\"SupSub\":return ir(t,i);case\"Letter\":{if(!n||n.type!==\"integral\"||i.val!=\"d\")return ir(t,i);let{endIndex:l,token:p}=PC(e,t+1,n);if(p.type===\"Letter\"||p.type===\"Cmd\"){let f=O3(Kr(i.span,p.span),p.val);return ir(l,f)}else return ir(t,i)}case\"LeftRight\":{let l=i.left,p=yC[l.val]||\"Err\";var s=Kr(i.span,l.span);return ir(t,ui(p,s,l.val))}case\"OperatorName\":let o=[];for(let l of i.arg.args){if(l.type!==\"Letter\")return ir(t,ui(\"Err\",i.span,Cn(i.arg.span)));o.push(l.val)}let a=\"\\\\\"+o.join(\"\"),u=Sa[a]||\"Cmd\";return ir(t,ui(u,i.span,a));case\"TokenNode\":{let l=\"$\";if(i.arg.args.length===0)return ir(t,ui(\"Err\",i.span,Cn(i.arg.span)));for(let p of i.arg.args){if(p.type!==\"Digit\")return ir(t,ui(\"Err\",i.span,Cn(i.arg.span)));l+=p.val}return ir(t,ui(\"TokenNode\",i.span,l))}case\"Cmd\":{let l=Sa[i.val]||\"Cmd\";return ir(t,ui(l,i.span,i.val))}case\"EscapedSymbol\":{let l=mC[i.val]||\"Err\";return ir(t,ui(l,i.span,i.val))}case\"Symbol\":return N3(e,t,i);case\"Digit\":return TC(e,t);default:throw`Unexpected atom ${i.type}.`}}function N3(e,t,n){switch(n.val){case\".\":return A3(e,t);case\"-\":{let i=e.args[t+1];if(i&&pg(i,\">\")){let s=ui(\"->\",Kr(n.span,i.span),\"->\");return ir(t+1,s)}break}case\"<\":{let i=e.args[t+1];if(i&&pg(i,\"=\")){let s=ui(\"<=\",Kr(n.span,i.span),\"<=\");return ir(t+1,s)}break}case\">\":{let i=e.args[t+1];if(i&&pg(i,\"=\")){let s=ui(\">=\",Kr(n.span,i.span),\">=\");return ir(t+1,s)}break}}let r=gE[n.val]||\"Err\";return ir(t,ui(r,n.span,n.val))}function A3(e,t){let n=e.args[t];if(n.type!==\"Symbol\"||n.val!==\".\")throw new Error(\"Programming Error: expected '.'\");if(t+2=r.length)break;let l=r[c];if(l.type===\"Digit\")t=c,o=!0,s.push(l.val);else if(!a&&fg(l)){if(c+1=n.length)break;let l=n[c];if(l.type!==\"Digit\")break;t=c,i.push(l.val)}if(t=Zf(n,t),t>=n.length)return;let s=n[t];if(s.type!==\"Frac\")return;let o=[],a=[];for(let c of s.num.args)if(!hE(c)){if(c.type!==\"Digit\")return;o.push(c.val)}for(let c of s.den.args)if(!hE(c)){if(c.type!==\"Digit\")return;a.push(c.val)}let u=Kr(r,s.span);return ir(t,VO(u,i.join(\"\"),o.join(\"\"),a.join(\"\")))}function hE(e){switch(e.type){case\"Sqrt\":case\"Frac\":case\"SupSub\":case\"LeftRight\":case\"OperatorName\":case\"TokenNode\":case\"Symbol\":case\"Letter\":case\"Digit\":return!1;case\"Cmd\":return e.val===\"\\\\space\";case\"EscapedSymbol\":return e.val===\"\\\\ \"||e.val===\"\\\\:\"||e.val===\"\\\\,\"||e.val===\"\\\\;\";default:throw`Unexpected atom ${e.type}.`}}function Zf(e,t){for(;t1&&i.every(Qf)){let f=e.setInput(Qo(e,i[0]),i[0].span);for(let m=1;m\")],[Wf(\"with\")],[Xt(\"=\"),Xt(\">\"),Xt(\"<\"),Xt(\">=\"),Xt(\"<=\"),Xt(\"~\")],[Wf(\"->\")],[Xt(\"+\"),Xt(\"-\")],[Xt(\"*\"),Xt(\"\\\\cdot\"),Xt(\"\\\\times\"),Xt(\"/\"),Xt(\"Decimal\"),Xt(\"MixedNumber\"),Xt(\"Letter\"),Xt(\"Cmd\"),Xt(\"TokenNode\"),Xt(\"%\"),jf(\"(\"),Xt(\"\\\\{\"),Xt(\"(|\"),Xt(\"Frac\"),Xt(\"Sqrt\"),Xt(\"Trig\"),Xt(\"Ln\"),Xt(\"Log\"),ap(\"Int\"),ap(\"Sum\"),ap(\"Prod\")],[op(\"+\"),op(\"-\")],[Xt(\"!\")],[Xt(\"SupSub\")],[Wf(\"[\"),Xt(\".\")],[Wf(\"(\")],[Xt(\"Err\")]],{leftPrec:bg,rightPrec:wC,initialPrec:GC}=EC(Y3),FC={trailingComma:!1};function kC(e,t){let n=t?{...FC,...t}:FC,r=Oa(e,n),i=X3(r);return i.type===\"Err\"&&i.error.type===\"EmptyGroup\"?Ce(i.span,kO()):i}function X3(e){return bu(e,{isToplevel:!0})}function bu(e,{isToplevel:t}={isToplevel:!1}){if(dg(e))return Ce(ye(e,e),zO());let{state:n,tree:r}=Qn(e,0,{isToplevel:t});return r.type!==\"Err\"&&!dg(n)?vE(n).tree:r}function B(e,t){return{state:e,tree:t}}function Qn(e,t,{isToplevel:n}={isToplevel:!1}){let r=e,i;if({state:r,tree:i}=Z3(r),i.type===\"Err\")return B(r,i);if(!PE(e,r))throw new Error(\"Programming Error: parseInitial did not advance state.\");for(;!dg(r);){let s;if(Ir(r,\"(\")&&!J3(i)?s=wC(\"(\"):s=bg(wr(r).type),t>=s)break;let o=r,a=W3(r,i,n)?bg(\"for\")-1:wC(wr(r).type);if({state:r,tree:i}=j3(r,i,a),i.type===\"Err\")return B(r,i);if(!PE(o,r))throw new Error(\"Programming Error: parseSuccessor did not advance state.\")}return B(r,i)}function ns(e){return e.type===\"UnexpectedDifferential\"||e.type===\"UnexpectedCloseDelimiter\"||e.type===\"UnexpectedEnd\"||e.type===\"BinaryOperatorMissingLeft\"}function Z3(e){let t=e,n=wr(e),r=GC(n.type),i;switch(n.type){case\"+\":{if(e=Ve(e),{state:e,tree:i}=Qn(e,r),i.type===\"Err\"){if(!ns(i.error))return B(e,i);let o=ye(t,e),a=Ce(o,lE(n.val));return B(e,a)}return B(e,aO(ye(t,e),[i]))}case\"-\":if(e=Ve(e),{state:e,tree:i}=Qn(e,r),i.type===\"Err\"){if(!ns(i.error))return B(e,i);let o=ye(t,e),a=Ce(o,lE(n.val));return B(e,a)}else return B(e,uO(ye(t,e),[i]));case\"(\":return Kf(e);case\"\\\\{\":return e=Ve(e),Ir(e,\"\\\\}\")?(e=Ve(e),B(e,SO(ye(t,e)))):({state:e,tree:i}=Qn(e,r),{state:e,tree:i}=ed(t,e,i,\"\\\\{\",\"\\\\}\"),i.type===\"Err\"?B(e,i):B(e,DO(ye(t,e),[i])));case\"[\":return e=Ve(e),Ir(e,\"]\")?(e=Ve(e),B(e,nE(ye(t,e),[]))):({state:e,tree:i}=Qn(e,r),{state:e,tree:i}=ed(t,e,i,\"[\",\"]\"),i.type===\"Err\"?B(e,i):B(e,nE(ye(t,e),[i])));case\"(|\":{if(e=Ve(e),Ir(e,\"|)\")){e=Ve(e);let o=ye(t,e);return B(e,Ce(o,qO()))}return{state:e,tree:i}=Qn(e,r),{state:e,tree:i}=ed(t,e,i,\"(|\",\"|)\"),i.type===\"Err\"?B(e,i):B(e,hO(ye(t,e),[i]))}case\"Frac\":{if(e.opts.disallowFrac)throw Bm();e=Ve(e);let o=bu(Oa(n.num,e.opts)),a=bu(Oa(n.den,e.opts));if(o.type===\"Err\"&&o.error.type===\"EmptyGroup\"&&a.type===\"Err\"&&a.error.type===\"EmptyGroup\"){let u=ye(t,e),c=Ce(u,pC());return B(e,c)}if(o.type===\"Err\"&&o.error.type===\"EmptyGroup\"){let u=ye(t,e),c=Ce(u,cC());return B(e,c)}if(a.type===\"Err\"&&a.error.type===\"EmptyGroup\"){let u=ye(t,e),c=Ce(u,lC());return B(e,c)}if(o.type===\"Err\")return B(e,o);if(a.type===\"Err\")return B(e,a);if(GO(o,a)&&a.type===\"Juxt\"){let u=a.args[1],c;if({state:e,tree:c}=Qn(e,bg(\"*\")-1),c.type===\"Err\"){if(ns(c.error)){let l=ye(t,e);return B(e,Ce(l,oC()))}return B(e,c)}return B(e,TO(ye(t,e),[u,c]))}return B(e,PO(ye(t,e),[o,a]))}case\"Sqrt\":if(e=Ve(e),n.optArg){let o=bu(Oa(n.optArg,e.opts));if(o.type===\"Err\")return o.error.type===\"EmptyGroup\"?B(e,Ce(o.span,$O())):B(e,o);let a=bu(Oa(n.arg,e.opts));return a.type===\"Err\"?a.error.type===\"EmptyGroup\"?B(e,Ce(a.span,uE())):B(e,a):B(e,xO(ye(t,e),[o,a]))}else{let o=bu(Oa(n.arg,e.opts));return o.type===\"Err\"?o.error.type===\"EmptyGroup\"?B(e,Ce(o.span,uE())):B(e,o):B(e,bO(ye(t,e),[o]))}case\"Trig\":case\"Ln\":{e=Ve(e);let o=Oc(ye(t,e),n.val),a=0,u=wr(e);if(u.type===\"SupSub\"){if(e=Ve(e),u.sub){let p=ye(t,e),f=Ce(p,JO(o.val));return B(e,f)}let l=xg(u,e.opts);if(l){if(l.type===\"Err\")return B(e,l);o=ag(ye(t,e),[o,l])}a=u.nprimes}let c=Ir(e,\"(\");if(c){if({state:e,tree:i}=Kf(e),i.type===\"Err\")return B(e,i);i=$f(ye(t,e),[o,i.args[0]])}else{if({state:e,tree:i}=Qn(e,r-1),i.type===\"Err\")return ns(i.error)?B(e,Ce(ye(t,e),fE(n.val))):B(e,i);i=eE(ye(t,e),[o,i])}if(a>0){let l=ye(t,e);if(!c){let p=Ce(l,dE());return B(e,p)}i=Yf(l,a,[i])}return B(e,i)}case\"Log\":{e=Ve(e);let o=ye(t,e),a=Oc(o,n.val),u=0,c,l,p=wr(e);if(p.type===\"SupSub\"&&(e=Ve(e),c=zC(p,e.opts),l=xg(p,e.opts),u=p.nprimes),c&&c.type===\"Err\")return B(e,c);if(l&&l.type===\"Err\")return B(e,l);let f=Ir(e,\"(\");if(f){if({state:e,tree:i}=Kf(e),i.type===\"Err\")return B(e,i);i=i.args[0]}else if({state:e,tree:i}=Qn(e,r-1),i.type===\"Err\")return ns(i.error)?B(e,Ce(ye(t,e),fE(n.val))):B(e,i);let m=c?Oc(o,\"\\\\logbase\"):a,g=c?ug(ye(t,e),pr(i).concat(c)):i;if(l&&(m=ag(ye(t,e),[m,l])),f?i=$f(ye(t,e),[m,g]):i=eE(ye(t,e),[m,g]),u>0){let d=ye(t,e);if(!f){let y=Ce(d,dE());return B(e,y)}i=Yf(d,u,[i])}return B(e,i)}case\"Int\":{e=Ve(e);let o=wr(e);e=Ve(e);let a=ME(o,t,e);if(a.type===\"Err\")return a.error.type===\"MissingBound\"?B(e,Ce(a.span,nC())):B(e,a);let{sup:u,sub:c}=a,l;if(Ir(e,\"Differential\"))return{state:e,tree:l}=BC(e),l.type===\"Err\"?B(e,l):B(e,EO(ye(t,e),[l,c,u]));if({state:e,tree:i}=Qn(e,r),i.type===\"Err\")return ns(i.error)?B(e,Ce(i.span,sC())):B(e,i);let p=i;return Ir(e,\"Differential\")?({state:e,tree:l}=BC(e),l.type===\"Err\"?B(e,l):B(e,IO(ye(t,e),[l,c,u,p]))):B(e,Ce(ye(t,e),aC()))}case\"Sum\":{e=Ve(e);let o=wr(e);e=Ve(e);let a=ME(o,t,e);if(a.type===\"Err\")return a.error.type===\"MissingBound\"?B(e,Ce(a.span,eC())):B(e,a);let{sup:u,sub:c}=a;return{state:e,tree:i}=Qn(e,r),i.type===\"Err\"?ns(i.error)?B(e,Ce(i.span,rC())):B(e,i):B(e,MO(ye(t,e),[i,c,u]))}case\"Prod\":{e=Ve(e);let o=wr(e);e=Ve(e);let a=ME(o,t,e);if(a.type===\"Err\")return a.error.type===\"MissingBound\"?B(e,Ce(a.span,tC())):B(e,a);let{sup:u,sub:c}=a;return{state:e,tree:i}=Qn(e,r),i.type===\"Err\"?ns(i.error)?B(e,Ce(i.span,iC())):B(e,i):B(e,vO(ye(t,e),[i,c,u]))}case\"Cmd\":return e=Ve(e),i=Oc(ye(t,e),n.val),B(e,i);case\"TokenNode\":{e=Ve(e);let o=wr(e);return o.type===\"SupSub\"&&o.sub?(e=Ve(e),B(e,Ce(ye(t,e),dC()))):(i=Oc(ye(t,e),n.val),B(e,i))}case\"Letter\":return e=Ve(e),i=wO(ye(t,e),n.val),B(e,i);case\"Decimal\":{e=Ve(e);let o=cg(ye(t,e),n.val),a=e.token;if(a.type===\"Decimal\"||a.type===\"MixedNumber\"){let u=e;e=Ve(e);let c=ye(t,e),l=a.type===\"MixedNumber\"?a:cg(ye(u,e),a.val);return B(e,Ce(c,yE([o,l])))}return B(e,o)}case\"MixedNumber\":{if(e.opts.disallowFrac)throw Bm();e=Ve(e);let o=e.token;if(o.type===\"Decimal\"||o.type===\"MixedNumber\"){let a=e;e=Ve(e);let u=ye(t,e),c=o.type===\"MixedNumber\"?o:cg(ye(a,e),o.val);return B(e,Ce(u,yE([n,c])))}return B(e,n)}case\"*\":case\"\\\\cdot\":case\"\\\\times\":case\"/\":case\",\":case\"=\":case\">\":case\"<\":case\">=\":case\"<=\":case\"->\":case\"~\":case\":\":case\"...\":case\"%\":case\".\":{e=Ve(e);let o=ye(t,e),a=Ce(o,YO(n.val));return B(e,a)}case\"for\":{e=Ve(e);let o=ye(t,e),a=Ce(o,fC());return B(e,a)}case\"with\":{e=Ve(e);let o=ye(t,e),a=Ce(o,oE());return B(e,a)}case\"!\":{e=Ve(e);let o=ye(t,e),a=Ce(o,pE(n.val));return B(e,a)}case\"SupSub\":{e=Ve(e);let o=\"supsub\";n.sub?o=\"subscript\":n.sup?o=\"superscript\":n.nprimes>0&&(o=\"prime\");let a=ye(t,e),u=Ce(a,pE(o));return B(e,u)}case\")\":case\"\\\\}\":case\"]\":case\"|)\":case\"Differential\":return vE(e);case\"Err\":{e=Ve(e);let o=ye(t,e),a=Ce(o,WO(n.val));return B(e,a)}case\"End\":{let o=ye(t,e),a=Ce(o,cE());return B(e,a)}default:throw`Unexpected token type ${n.type}.`}}function W3(e,t,n){return Ir(e,\"=\")&&n&&(RC(t)||EE(t))}function j3(e,t,n){let r=wr(e),i;switch(r.type){case\"+\":case\"-\":case\"*\":case\"\\\\cdot\":case\"\\\\times\":case\"/\":case\"~\":case\":\":case\".\":case\"->\":case\"for\":{if(e=Ve(e),{state:e,tree:i}=Qn(e,n),i.type===\"Err\")if(ns(i.error)){let o=qn(t.span,e),a=Ce(o,Cc(r.val));return B(e,a)}else return B(e,i);return B(e,VC(r.type,qn(t.span,e),[t,i]))}case\"with\":{if(e=Ve(e),{state:e,tree:i}=Qn(e,n),i.type===\"Err\")if(ns(i.error)){let o=qn(t.span,e),a=Ce(o,Cc(r.val));return B(e,a)}else return B(e,i);return B(e,VC(r.type,qn(t.span,e),[t,i]))}case\"%\":{e=Ve(e);let o=wr(e);if(o.type!==\"Cmd\"||o.val!==\"of\"&&o.val!==\"\\\\of\"){let a=Ce(r.span,QO());return B(e,a)}if(e=Ve(e),{state:e,tree:i}=Qn(e,n),i.type===\"Err\")if(ns(i.error)){let a=qn(t.span,e),u=Ce(a,Cc(r.val));return B(e,u)}else return B(e,i);return B(e,_O(qn(t.span,e),[t,i]))}case\"=\":case\">=\":case\"<=\":case\">\":case\"<\":{let o=[t],a=[];for(;;){let c=wr(e).type;if(c!==\"=\"&&c!==\">=\"&&c!==\"<=\"&&c!==\">\"&&c!==\"<\")break;if(a.push(c),e=Ve(e),{state:e,tree:i}=Qn(e,n),i.type===\"Err\")if(ns(i.error)){let l=qn(t.span,e),p=Ce(l,Cc(r.val));return B(e,p)}else return B(e,i);o.push(i)}let u=o[o.length-1];return u.type===\"Comparator\"?(o.pop(),Array.prototype.push.apply(o,u.args),a.push(u.symbol)):u.type===\"ComparatorChain\"&&(o.pop(),Array.prototype.push.apply(o,u.args),Array.prototype.push.apply(a,u.symbols)),o.length===2?B(e,iO(qn(t.span,e),a[0],o)):B(e,sO(qn(t.span,e),a,o))}case\"!\":return e=Ve(e),B(e,yO(qn(t.span,e),[t]));case\"[\":{let o=e;if(e=Ve(e),Ir(e,\"]\")){e=Ve(e);let a=ye(o,e);return B(e,Ce(a,UO()))}return{state:e,tree:i}=Qn(e,n),{state:e,tree:i}=ed(o,e,i,\"[\",\"]\"),i.type===\"Err\"?B(e,i):B(e,gO(qn(t.span,e),[t,i]))}case\"Sqrt\":case\"Frac\":case\"Letter\":case\"Cmd\":case\"TokenNode\":case\"Trig\":case\"Ln\":case\"Log\":case\"Sum\":case\"Int\":case\"Prod\":case\"Decimal\":case\"MixedNumber\":case\"\\\\{\":case\"(|\":return{state:e,tree:i}=Qn(e,n),i.type===\"Err\"?B(e,i):B(e,sE(qn(t.span,e),[t,i]));case\"(\":if(Un(t)){if({state:e,tree:i}=Kf(e),i.type===\"Err\")return B(e,i);let o=qn(t.span,e);return B(e,$f(o,[t,i.args[0]]))}else if(t.type===\"Prime\"&&Un(t.args[0])){if({state:e,tree:i}=Kf(e),i.type===\"Err\")return B(e,i);let o=qn(t.span,e);return B(e,Yf(o,t.nprimes,[$f(o,[t.args[0],i.args[0]])]))}else return{state:e,tree:i}=Qn(e,n),i.type===\"Err\"?B(e,i):B(e,sE(qn(t.span,e),[t,i]));case\"SupSub\":{e=Ve(e);let o=HC(r),a=xg(r,e.opts);if(o&&o.type===\"Err\")return B(e,o);if(a&&a.type===\"Err\")return B(e,a);if(o&&(t=rE(qn(t.span,e),[t,o])),a&&(t=ag(qn(t.span,e),[t,a])),r.nprimes>0){let u=qn(t.span,e);if(!Un(t)){let c=Ce(u,lg());return B(e,c)}t=Yf(u,r.nprimes,[t])}return B(e,t)}case\",\":{let o=[t];for(;Ir(e,\",\")&&(e=Ve(e),!(Ir(e,\"...\")||e.opts.trailingComma&&Q3(e)));){if({state:e,tree:i}=Qn(e,n),i.type===\"Err\")if(ns(i.error)){let a=qn(t.span,e),u=Ce(a,Cc(r.val));return B(e,u)}else return B(e,i);o.push(i)}return B(e,ug(qn(t.span,e),o))}case\"...\":{if(e=Ve(e),Ir(e,\",\")&&(e=Ve(e)),n>=bg(wr(e).type))return B(e,iE(qn(t.span,e),[t,OO(bE(e))]));if({state:e,tree:i}=Qn(e,n),i.type===\"Err\")if(ns(i.error)){let o=qn(t.span,e),a=Ce(o,Cc(r.val));return B(e,a)}else return B(e,i);return B(e,iE(qn(t.span,e),[t,i]))}case\"]\":case\")\":case\"\\\\}\":case\"|)\":case\"Differential\":return vE(e);case\"Err\":return Qn(e,n);case\"End\":{let o=ye(e,e),a=Ce(o,cE());return B(e,a)}default:throw`Unexpected token type ${r.type}.`}}function J3(e){return!!(Un(e)||e.type===\"Prime\"&&Un(e.args[0]))}function VC(e,t,n){switch(e){case\"+\":return cO(t,n);case\"-\":return lO(t,n);case\"*\":return pO(t,n);case\"\\\\cdot\":return fO(t,n);case\"\\\\times\":return dO(t,n);case\"/\":return mO(t,n);case\"~\":return oO(t,n);case\":\":return CO(t,n);case\".\":return AO(t,n);case\"->\":return LO(t,n);case\"for\":return RO(t,n);case\"with\":return NO(t,n);default:throw`Unexpected token type ${e}.`}}function zC(e,t){if(!e.sub)return;let n=e.sub,r=bu(Oa(n,t));return r.type===\"Err\"&&r.error.type===\"EmptyGroup\"?Ce(r.span,aE()):r}function HC(e){if(!e.sub)return;let t=e.sub;if(t.args.length===0)return Ce(t.span,aE());let n=[];for(let r of t.args)if(r.type===\"Digit\"||r.type===\"Letter\")n.push(r.val);else{let i=r.span;return Ce(i,jO(Cn(i)))}return FO(t.span,n.join(\"\"))}function xg(e,t){if(!e.sup)return;let n=bu(Oa(e.sup,t));return n.type===\"Err\"?n.error.type===\"EmptyGroup\"?Ce(n.span,HO()):n:e.nprimes>0?Ce(e.span,KO()):n}function ME(e,t,n){if(e.type!==\"SupSub\"){let s=ye(t,n);return Ce(s,mE())}if(e.nprimes>0){let s=ye(t,n);return Ce(s,lg())}let r=zC(e,n.opts),i=xg(e,n.opts);if(!r||r.type===\"Err\"&&r.error.type===\"EmptySubscript\"||!i||i.type===\"Err\"&&i.error.type===\"EmptySuperscript\"){let s=ye(t,n);return Ce(s,mE())}return r.type===\"Err\"?r:i.type===\"Err\"?i:{type:\"Bounds\",sup:i,sub:r}}function Kf(e){if(e.opts.disableParentheses)throw KP();let t=e,n=wr(e),r=GC(n.type);if(Ir(e,\"(\"))e=Ve(e);else throw new Error(\"Programming Error: expected '(' at start of parseParen.\");if(Ir(e,\")\")){let s=ug(bE(e),[]);e=Ve(e);let o=ye(t,e);return B(e,tE(o,[s]))}let i;return{state:e,tree:i}=Qn(e,r),{state:e,tree:i}=ed(t,e,i,\"(\",\")\"),i.type===\"Err\"?B(e,i):B(e,tE(ye(t,e),[i]))}function BC(e){let t=e,n=wr(e);if(n.type!==\"Differential\")throw new Error(\"Programming Error: expected differential\");e=Ve(e);let r=Oc(n.span,n.val),i=wr(e);if(i.type===\"SupSub\"){e=Ve(e);let s=ye(t,e),o=HC(i);if(o){if(o.type===\"Err\")return B(e,o);r=rE(s,[r,o])}if(i.sup)return B(e,Ce(s,uC()));if(i.nprimes>0)return B(e,Ce(s,lg()))}return B(e,r)}function ed(e,t,n,r,i){if(n.type===\"Err\"&&n.error.type!==\"UnexpectedEnd\")return B(t,n);if(n.type===\"Err\"||!Ir(t,i)){let s=ye(e,t),o=Ce(s,XO(r,i));return B(t,o)}return t=Ve(t),B(t,n)}function vE(e){let t=e;switch(wr(e).type){case\")\":{e=Ve(e);let r=ye(t,e);return B(e,Ce(r,Xf(\"(\",\")\")))}case\"]\":{e=Ve(e);let r=ye(t,e);return B(e,Ce(r,Xf(\"[\",\"]\")))}case\"\\\\}\":{e=Ve(e);let r=ye(t,e);return B(e,Ce(r,Xf(\"\\\\{\",\"\\\\}\")))}case\"|)\":{e=Ve(e);let r=ye(t,e);return B(e,Ce(r,Xf(\"|\",\"|\")))}case\"Differential\":{e=Ve(e);let r=ye(t,e);return B(e,Ce(r,ZO()))}default:{e=Ve(e);let r=ye(t,e);return B(e,Ce(r,oE()))}}}function Q3(e){return Ir(e,\")\")||Ir(e,\"]\")||Ir(e,\"\\\\}\")}function K3(){throw ff()}function UC(e,t){return t&&!e._inputSpan&&e.setInputSpan(t),e}function Vs(e,t={}){let n=typeof e;if(n!==\"string\")throw new Error(`Type Error: parse can only be called with strings, got ${JSON.stringify(e)} of type ${n}`);let r=D;if(t.disabledFeatures){r=Object.create(r);for(let l of t.disabledFeatures){if(!r[l])throw new Error(`Programming Error: ${l} cannot be disabled because it is not a parsenode.`);r[l]=K3}}let i=t.seedPrefix===void 0?\"\":t.seedPrefix,s=0,o=()=>{let l=`${i}::vc${s}`;return s+=1,l},a={nodes:r,currentIndex:t.index,setInput:UC,nextSeed:o,allowDt:!!t.allowDt,allowIndex:!!t.allowIndex,writeIntegral:!!t.writeIntegral,allowIntervalComprehensions:!!t.allowIntervalComprehensions,specializeDoubleInequalities:!!t.specializeDoubleInequalities},u={};t.trailingComma!==void 0&&(u.trailingComma=t.trailingComma),t.disallowFrac&&(u.disallowFrac=!0),t.disableParentheses&&(u.disableParentheses=!0);function c(l){return l.parseOptions=t,l}if(e===\"\")return c(nf());try{let l=tO(e),p=kC(l,u),f=OC(a,p);return f.parseOptions=t,f}catch(l){let p;return l instanceof D.Error?p=l:typeof l==\"string\"?p=new D.Error(l):p=J(l),c(p)}}function Ca(e,t,n,r){return xu({chunk:e,argMap:[t],start:n,unpatchedHeaderMap:new Map,processedHeaders:new Set},r)}function tG(e,t){let{chunk:n}=e,r=n.getInstruction(t),i=[];for(let s of r.recursionGroup){let o=e.unpatchedHeaderMap.get(s);if(o===void 0)throw new Error(\"Programming Error: `substitute` did not include all headers in a recursion group.\");i.push(o)}for(let s of r.recursionGroup)e.unpatchedHeaderMap.delete(s);for(let s of i)n.getInstruction(s).recursionGroup=i}function xu(e,t){let{chunk:n,argMap:r,start:i}=e;if(t0){i=i.slice();for(let u of o)i.indexOf(u)===-1&&i.push(u)}let a=t.getSubstitutionSymbols();if(a.length>0){s=s.slice();for(let u of a)s.indexOf(u)===-1&&s.push(u)}return{freeDependencies:r,updateSymbols:i,substitutionSymbols:s}}}function rG(e,t,n){if(n[t])return n[t];if(Ke[t])return n[t]={freeDependencies:[],updateSymbols:[],substitutionSymbols:[]},n[t];let r=e[t];if(r===Wt)throw new Error(\"Programming error: _getSymbolFreeDependencies called with a symbol that is defined in a local scope\");return r?(n[t]={freeDependencies:[],updateSymbols:[],substitutionSymbols:[]},n[t]=SE(e,r,n),n[t]):(n[t]={freeDependencies:[t],updateSymbols:[],substitutionSymbols:[]},n[t])}function $C(e,t){for(var n={},r=t.getDependencies().slice();r.length;){var i=r.pop();if(!n.hasOwnProperty(i)){var s=e[i];if(s===Wt)return;n[i]=s,s&&s.getDependencies&&Array.prototype.push.apply(r,s.getDependencies())}}return iG(n)}function iG(e){let t=[];for(let n in e)t.push([n,e[n]]);return t}function YC(e,t,n){XC(e,t,n,{})}function XC(e,t,n,r){let i={};for(let s of n.definitions){if(i[s])switch(n.kind){case\"Sum\":case\"Product\":case\"Integral\":throw J(new Error(`${n.kind} scope is not expected to define multiple symbols`));case\"FunctionDefinition\":throw Wx(s);case\"ListComprehension\":throw Gm(s);case\"Substitution\":throw cT(s);default:let o=n.kind;throw J(new Error(`Unexpected scope kind ${o}`))}i[s]=!0}for(let s of n.definitions){let o=t[s];if(o)switch(n.kind){case\"Sum\":case\"Product\":throw Em(s);case\"Integral\":throw _m(s);case\"FunctionDefinition\":if(s===n.functionDefinitionSymbol)break;throw Im(s);case\"ListComprehension\":{if(o!==Wt&&o.type===\"FunctionDefinition\")throw hl(s);if(e.assignmentForbidden(s))throw gl(s);break}case\"Substitution\":break;default:let a=n.kind;throw J(new Error(`Unexpected scope kind ${a}`))}if(r[s])switch(n.kind){case\"Sum\":case\"Product\":throw Em(s);case\"Integral\":throw _m(s);case\"FunctionDefinition\":throw Im(s);case\"ListComprehension\":throw Gm(s);case\"Substitution\":throw yf(s);default:let a=n.kind;throw J(new Error(`Unexpected scope kind ${a}`))}}r=Object.create(r);for(let s of n.definitions)r[s]=!0;for(let s of n.scopes)XC(e,t,s,r)}function lp(e,t,n){let r=e.getInstruction(t);if(!oe(r.valueType,T)&&!oe(r.valueType,R)&&!oe(r.valueType,V))throw qb([ne(r.valueType)]);let i=e.getInstruction(n);if(!oe(i.valueType,T)&&i.type!==0)throw J(`Unexpected derivative var type ${i.valueType}`);let s=e.Constant(0);if(tp&&(l[y]=void 0)}let f=[],m=!1;for(let y=0;y= 0: x_1/x \\\\}\"],log:[\"\\\\{x >= 0: x_1/(x*\\\\ln(10)) \\\\}\"],sqrt:[\"x_1/(2*q)\"],rtxsqpone:[\"x*x_1/q\"],rtxsqmone:[\"x*x_1/q\"],sin:[\"\\\\cos(x)*x_1\"],cos:[\"-\\\\sin(x)*x_1\"],tan:[\"(1+q^2)*x_1\"],arcsin:[\"x_1/\\\\sqrt{1 - x^2}\"],arccos:[\"-x_1/\\\\sqrt{1 - x^2}\"],sinh:[\"\\\\cosh(x)*x_1\"],cosh:[\"\\\\sinh(x)*x_1\"],tanh:[\"(\\\\sech(x))^2*x_1\"],arcsinh:[\"x_1/\\\\rtxsqpone(x)\"],arccosh:[\"\\\\{ x > 0: x_1/\\\\rtxsqmone(x) \\\\}\"],arctanh:[\"\\\\{ \\\\abs(x) < 1: x_1/(1 - x^2) \\\\}\"],csc:[\"-\\\\cot(x)*q*x_1\"],sec:[\"\\\\tan(x)*q*x_1\"],cot:[\"-(1+q^2)*x_1\"],arccsc:[\"-x_1/(\\\\abs(x)*\\\\rtxsqmone(x))\"],arcsec:[\"x_1/(\\\\abs(x)*\\\\rtxsqmone(x))\"],arccot:[\"-x_1/(1+x^2)\"],csch:[\"-\\\\coth(x)*q*x_1\"],sech:[\"-\\\\tanh(x)*q*x_1\"],coth:[\"-(\\\\csch(x))^2*x_1\"],arccsch:[\"-x_1/(\\\\abs(x)*\\\\rtxsqpone(x))\"],arcsech:[\"\\\\{ x >= 0: -x_1/(x*\\\\sqrt{1 - x^2}) \\\\}\"],arccoth:[\"\\\\{ \\\\abs(x) > 1 : x_1/(1 - x^2) \\\\}\"],factorial:[\"q*\\\\polyGamma(0, x + 1)*x_1\"],floor:[\"\\\\{ q=x: 0/0, 0*x_1 \\\\}\"],ceil:[\"\\\\{ q=x: 0/0, 0*x_1 \\\\}\"],round:[\"\\\\{ \\\\abs(\\\\mod(x, 1) - 0.5) > 0: 0*x_1 \\\\}\"],abs:[\"\\\\{ x=0: 0/0, \\\\sign(x)*x_1 \\\\}\"],sign:[\"\\\\{ x=0: 0/0, 0*x_1 \\\\}\"],distance:[\"-((y.x-x.x)*x_1.x+(y.y-x.y)*x_1.y)/q\",\"((y.x-x.x)*x_1.x+(y.y-x.y)*x_1.y)/q\"],distanceThreeD:[\"-((y.x-x.x)*x_1.x+(y.y-x.y)*x_1.y+(y.z-x.z)*x_1.z)/q\",\"((y.x-x.x)*x_1.x+(y.y-x.y)*x_1.y+(y.z-x.z)*x_1.z)/q\"],segmentThreeD:[\"\\\\segmentThreeD(x_1,(0,0,0))\",\"\\\\segmentThreeD((0,0,0),x_1)\"],vectorThreeD:[\"\\\\vectorThreeD(x_1,(0,0,0))\",\"\\\\vectorThreeD((0,0,0),x_1)\"],triangle:[\"\\\\triangle(x_1,(0,0,0),(0,0,0))\",\"\\\\triangle((0,0,0),x_1,(0,0,0))\",\"\\\\triangle((0,0,0),(0,0,0),x_1)\"],sphere:[\"\\\\sphere(x_1,0)\",\"\\\\sphere((0,0,0),x_1)\"],pointDet:[\"\\\\pointDet(x_1,y)\",\"\\\\pointDet(x,x_1)\"],pointDot:[\"\\\\pointDot(x_1,y)\",\"\\\\pointDot(x,x_1)\"],pointPerp:[\"\\\\pointPerp(x_1)\"],segment:[\"\\\\segment(x_1,(0,0))\",\"\\\\segment((0,0),x_1)\"],line:[\"\\\\line(x_1,(0,0))\",\"\\\\line((0,0),x_1)\"],ray:[\"\\\\ray(x_1,(0,0))\",\"\\\\ray((0,0),x_1)\"],vector:[\"\\\\vector(x_1, (0,0))\",\"\\\\vector((0,0), x_1)\"],mathVector:[\"\\\\mathVector(x_1,(0,0))\",\"\\\\mathVector((0,0),x_1)\"],mathVectorThreeD:[\"\\\\mathVectorThreeD(x_1,(0,0,0))\",\"\\\\mathVectorThreeD((0,0,0),x_1)\"],vectorDisplacementAsPoint:[\"\\\\vectorDisplacementAsPoint(x_1)\"],vectorThreeDDisplacementAsPoint:[\"\\\\vectorThreeDDisplacementAsPoint(x_1)\"],basePointFromVector:[\"\\\\basePointFromVector(x_1)\"],basePointFromVectorThreeD:[\"\\\\basePointFromVectorThreeD(x_1)\"],circle:[\"\\\\circle(x_1,0)\",\"\\\\circle((0,0),x_1)\"],arc:[\"\\\\arc(x_1,(0,0),(0,0))\",\"\\\\arc((0,0),x_1,(0,0))\",\"\\\\arc((0,0),(0,0),x_1)\"],arcCenter:[\"(0/0,0/0)\"],arcOmega:[\"0/0\"],center:[\"\\\\center(x_1)\"],radius:[\"\\\\radius(x_1)\"],undirectedAngleMarker:[\"\\\\undirectedAngleMarker(x_1)\"],directedAngleMarker:[\"\\\\directedAngleMarker(x_1,0,0,0)\",\"\\\\directedAngleMarker((0,0),x_1,0,0)\",\"\\\\directedAngleMarker((0,0),0,x_1,0)\",\"\\\\directedAngleMarker((0,0),0,0,x_1)\"],directedCoterminalAngle:[\"\\\\directedCoterminalAngle(x_1)\"],undirectedCoterminalAngle:[\"\\\\undirectedCoterminalAngle(x_1)\"],supplement:[\"\\\\supplement(x_1)\"],directedAngleMarkerMultiplier:[\"\\\\directedAngleMarkerMultiplier(x_1)\"],undirectedAngleMarkerMultiplier:[\"\\\\undirectedAngleMarkerMultiplier(x_1)\"],directedAngleMarkerRawDelta:[\"\\\\directedAngleMarkerRawDelta(x_1)\"],undirectedAngleMarkerRawDelta:[\"\\\\undirectedAngleMarkerRawDelta(x_1)\"],polygonInteriorUndirectedAngles:[\"\\\\polygonInteriorUndirectedAngles(x_1)\"],polygonInteriorDirectedAngles:[\"\\\\polygonInteriorDirectedAngles(x_1)\"],lineFromSegment:[\"x_1\"],lineFromRay:[\"x_1\"],segmentGlider:[\"\\\\segmentGlider(x_1,y)\",\"\\\\{0 0: \\\\frac{x_1}{x*\\\\ln(y)} \\\\}\",\"\\\\frac{-q*x_1}{y*\\\\ln(y)}\"],nthroot:[\"x^{1/y - 1}/y*x_1\",\"-\\\\frac{q*\\\\ln(x)*x_1}{y^2}\"],hypot:[\"x_1*x/q\",\"x_1*y/q\"],polyGamma:[\"0/0\",\"\\\\polyGamma(1 + x, y)*x_1\"],mod:[\"\\\\{ q=0: 0/0, x_1 \\\\}\",\"\\\\{ \\\\mod(x/y, 1) > 0: -\\\\floor(x/y)*x_1 \\\\}\"],cov:[\"\\\\cov(x_1, y)\",\"\\\\cov(x, x_1)\"],covp:[\"\\\\covp(x_1, y)\",\"\\\\covp(x, x_1)\"],corr:[\"(\\\\cov(x_1, y) - (\\\\cov(x, y)*\\\\cov(x, x_1)/\\\\var(x)))/(\\\\stdevp(x)\\\\stdevp(y))\",\"(\\\\cov(x, x_1) - (\\\\cov(x, y)*\\\\cov(y, x_1)/\\\\var(y)))/(\\\\stdevp(x)\\\\stdevp(y))\"],spearman:[\"0/0\",\"0/0\"],quantile:[\"\\\\{ \\\\floor(y*(\\\\count(x)-1)) = y*(\\\\count(x)-1) : x_1[\\\\upperQuantileIndex(x, y)], (\\\\ceil(y*(\\\\count(x)-1)) - y*(\\\\count(x)-1))*x_1[\\\\lowerQuantileIndex(x, y)] + (y*(\\\\count(x)-1) - \\\\floor(y*(\\\\count(x)-1)))*x_1[\\\\upperQuantileIndex(x, y)]\\\\}\",\"\\\\{ \\\\floor(y*(\\\\count(x)-1)) < y*(\\\\count(x)-1) : (\\\\count(x)-1)*(x[\\\\upperQuantileIndex(x, y)] - x[\\\\lowerQuantileIndex(x, y)])*x_1\\\\}\"],quartile:[\"0.5*(x_1[\\\\lowerQuartileIndex(x, y)] + x_1[\\\\upperQuartileIndex(x, y)])\",\"0/0\"],tscore:[\"\\\\frac{\\\\sqrt{\\\\count(x)}(\\\\stdev(x)*\\\\mean(x_1)-(\\\\mean(x)-y)*\\\\frac{\\\\cov(x,x_1)}{\\\\stdev(x)})}{\\\\stdev(x)^2}\",\"-x_1*\\\\sqrt{\\\\count(x)}/\\\\stdev(x)\"],quartileIndex:[\"0/0\",\"0/0\"],upperQuartileIndex:[\"0/0\",\"0/0\"],lowerQuartileIndex:[\"0/0\",\"0/0\"],upperQuantileIndex:[\"0/0\",\"0/0\"],lowerQuantileIndex:[\"0/0\",\"0/0\"],nCr:[\"q*(\\\\polyGamma(0, 1 + x) - \\\\polyGamma(0, 1 + x - y))\",\"q*(\\\\polyGamma(0, 1 + x - y) - \\\\polyGamma(0, 1 + y))\"],nPr:[\"q*(\\\\polyGamma(0, 1 + x) - \\\\polyGamma(0, 1 + x - y))\",\"q*\\\\polyGamma(0, 1 + x - y)\"],arctan:[\"x_1*y/(y^2+x^2)\",\"-x_1*x/(y^2+x^2)\"],poissonpdf:[\"0/0\",\"x_1\\\\frac{\\\\exp(-y)(\\\\floor(x)-y)y^{(\\\\floor(x)-1)}}{(\\\\floor(x))!}\"],invPoisson:[\"0/0\",\"0/0\"],tpdf:[\"x_1*q*\\\\frac{-(y+1)*x}{y+x^2}\",\"x_1*\\\\frac{1}{2}q*( \\\\frac{x^2-1}{y + x^2} + \\\\ln(\\\\frac{y}{y + x^2}) + \\\\polyGamma(0, \\\\frac{1+y}{2}) - \\\\polyGamma(0, y/2))\"],invT:[\"x_1/\\\\pdf(\\\\tdist(y),q)\",\"0/0\"],tcdf:[\"-x_1*\\\\pdf(\\\\tdist(z),x)\",\"x_1*\\\\pdf(\\\\tdist(z),y)\",\"0/0\"],poissoncdf:[\"0/0\",\"0/0\",\"x_1\\\\sum _{n=\\\\max(0,\\\\floor(\\\\min(x,y)))}^{\\\\floor(\\\\max(x,y))}\\\\frac{\\\\exp(-z)(n-z)z^{(n-1)}}{n!}\"],normalpdf:[\"-x_1*\\\\frac{x-y}{z^2} q\",\"x_1*\\\\frac{x-y}{z^2} q\",\"x_1*(\\\\frac{(x-y-z)*(x-y+z)}{z^3}) q\"],binompdf:[\"0/0\",\"0/0\",\"\\\\{0<=z<=1: x_1*q*(\\\\frac{\\\\round(x)}{z}-\\\\frac{\\\\round(y)-\\\\round(x)}{1-z}), 0 \\\\}\"],invBinom:[\"0/0\",\"0/0\",\"0/0\"],uniformpdf:[\"0\",\"\\\\{y<=x: \\\\frac{x_1}{(z-y)^2}, 0\\\\}\",\"\\\\{z>=x: -\\\\frac{x_1}{(z-y)^2}, 0\\\\}\"],invUniform:[\"\\\\{y<=x<=z: x_1*(z-y), 0\\\\}\",\"\\\\{y<=x<=z: x_1*(1-x), 0\\\\}\",\"\\\\{y<=x<=z: x_1*x, 0\\\\}\"],normalcdf:[\"-x_1\\\\pdf(\\\\normaldist(z,u), x)\",\"x_1\\\\pdf(\\\\normaldist(z,u), y)\",\"-x_1*(\\\\pdf(\\\\normaldist(z,u), y) - \\\\pdf(\\\\normaldist(z,u), x))\",\"x_1*( \\\\{\\\\abs(y)=1/0:0,\\\\frac{z-y}{u}\\\\pdf(\\\\normaldist(z,u),y)\\\\} - \\\\{\\\\abs(x)=1/0:0,\\\\frac{z-x}{u}\\\\pdf(\\\\normaldist(z,u),x)\\\\})\"],binomcdf:[\"0/0\",\"0/0\",\"0/0\",\"\\\\{0<=u<=1: x_1*\\\\sum _{n=\\\\max(0,\\\\round(\\\\min(x,y)))}^{\\\\round(\\\\max(x,y))}( \\\\pdf(\\\\binomialdist(z,u),n)*(\\\\frac{n}{u}-\\\\frac{\\\\round(z)-n}{1-u})), 0 \\\\}\"],uniformcdf:[\"\\\\{z>u: 0/0, -x_1\\\\pdf(\\\\uniformdist(z,u), x)\\\\}\",\"\\\\{z>u: 0/0, x_1\\\\pdf(\\\\uniformdist(z,u), y)\\\\}\",\"\\\\{z>u: 0/0, x_1*(\\\\frac{\\\\{zu: 0/0, x_1*(\\\\frac{\\\\{z1)return Dn(Xn(),o);let a=e.coefficientCtx;a===void 0&&(a=ws(i,e.index),e.coefficientCtx=a);let u=a.newChunk,c=Hn(a,t),[l,p]=c;if(!bt(u.getInstruction(l)))return Dn(Xn(),o);let f=ln(u,l);if(isNaN(f))return aa();if(p===void 0)return s.type===28||s.type===29?f>=0?o:aa():f>0?o:aa();{let m=ln(u,p);return Dn(o,Xc(f,m))}}case 37:switch(s.symbol){case\"restriction\":case\"restrictionToBoolean\":return Zr(e,s.args[0]);case\"count\":return Ao();default:{if(bn[s.symbol].noPeel)return Xn();let o=Xn();for(let a of s.args)o=Dn(o,Zr(e,a));return o}}}}function CE(e,t){if(W(e))return t.length===1?CE(ke(e),t[0]):Xn();switch(e){case T:case R:case V:return $y(e,t)?aa():Ao();case ge:return t?Ao():aa();default:return Xn()}}function KC(e){let t=[],n=[];for(let r=0;r=f?a:u}case 33:{let a=t[i.args[0]],u=n[i.args[1]],c=n[i.args[2]];for(var s=[],r=0;r!ro(u,l))&&oe(o[0],T)&&(c=Ac(e,a)),c!==a&&(r=!0),i.push(c)}return r?{didCoerce:r,args:i}:{didCoerce:!1}}function Ac(e,t){let n=e.getInstruction(t);return n.valueType===We?t:oe(n.valueType,Ge)?iR(e,t):oe(n.valueType,Ae)?rR(e,t):oe(n.valueType,Vt)?e.Piecewise([e.SyntheticNativeFunction(\"restrictionToBoolean\",[t]),e.Constant(1),e.Constant(NaN)]):t}function DG(e,t){let n=e.getInstruction(t[0]).valueType;if(!ei(n))return sn;for(let r of t)if(e.getInstruction(r).valueType!==n)return sn;return ar(n)}function Bs(e){var t=e;if(t&&typeof t.toJSON==\"function\"&&(t=t.toJSON()),!t||typeof t!=\"object\")return t;if(Array.isArray(t))return t.map(Bs);var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=Bs(t[r]));return n}function sR(e,t){let n=[],r=[],i=[];for(let o=0;ot.type===\"constant\"?t.variable:\"_implicit\")}getPeeledSlices(){let t=[];for(let n of this.slices)if(n.type===\"constant\"){let r=this.openChunk.getInstruction(n.index);if(bt(r)&&r.valueType===T)t.push({type:\"constant\",variable:n.variable,value:q(r.value)});else if(!(bt(r)&&r.valueType===se))throw Bo()}else if(this.openChunk.getInstruction(n.index).valueType===T){let i=this.openChunk.copy();i.setReturnIndex(n.index),i.fuseBroadcast(),t.push({type:\"implicit\",sliceChunk:i})}else throw Bo();return t}getValueAndRestrictionChunk(){let t=this.getPeeledSlices(),n=this.openChunk.copy();n.setReturnIndex(this.returnIndex),n.fuseBroadcast();let r;return this.restrictionIndex!==void 0&&(r=this.openChunk.copy(),r.setReturnIndex(this.restrictionIndex),r.fuseBroadcast()),{valueChunk:n,restrictionChunk:r,slices:t}}getSlicesAndRestrictionChunk(){let t=this.getPeeledSlices(),n=this.openChunk.copy(),r=n.GreaterEqual([this.returnIndex,n.Constant(0)]);return this.restrictionIndex!==void 0&&(r=n.And([r,this.restrictionIndex])),n.setReturnIndex(r),n.fuseBroadcast(),{restrictionChunk:n,slices:t}}},Eg=class{constructor(t,n,r){this.chunk=t;this.slices=[];this.oldIPtoNewIP=[];this.oldIPToRestriction=[];var i,s;this.produceNumbers=(i=r==null?void 0:r.produceNumbers)!=null?i:!1,this.allowSlices=(s=r==null?void 0:r.allowSlices)!=null?s:!1,this.newChunk=new jo({argNames:t.argNames,argTypes:t.argTypes}),this.startTrue=this.produceNumbers?this.newChunk.Constant(1/0):this.newChunk.ConstantOfType(ge,!0),this.peelable=CG(t),NG(t,this.peelable,n)}selectRestriction(){return!0}},wE=class extends Eg{constructor(n,r,i){super(n,r,i);this.currSelectIndex=0;this.selectIndex=i.selectIndex}selectRestriction(){let n=this.selectIndex===this.currSelectIndex;return this.currSelectIndex++,this.produceNumbers?n:!n}};function Ra(e,t,n){let r=new Eg(e,t,n);FE(r,0,e.instructionsLength()-1);let i=r.oldIPToRestriction[e.getReturnIndex()];return new LE(r.newChunk,r.oldIPtoNewIP[e.getReturnIndex()],r.startTrue===i?void 0:i,r.slices)}function*cR(e,t,n){var i,s;let r=_E(e,n,{produceNumbers:!1,selectIndex:0});if(r===void 0||r.count<=1){yield{value:t,restriction:void 0};return}for(let o=0;oa[p]);for(let p of AG(e,c))e.selectRestriction()&&l.push(p);a[u]=Mg(e,l)}else o[u]=i.copyInstructionWithArgs(c,c.args.map(l=>o[l])),a[u]=Mg(e,c.args.map(l=>a[l]))}}function Mg(e,t){let r=[...new Set(t)].filter(i=>!lR(e,i));return r.length?vg(e,r).reduce((i,s)=>e.produceNumbers?e.newChunk.SyntheticNativeFunction(\"min\",[i,s]):e.newChunk.And([i,s])):e.startTrue}function SG(e,t){let n=[...new Set(t)];return n.some(r=>!lR(e,r))?vg(e,n).reduce((r,i)=>e.produceNumbers?e.newChunk.SyntheticNativeFunction(\"max\",[r,i]):e.newChunk.Or([r,i])):e.startTrue}function vg(e,t){if(!e.produceNumbers)return t;let n=e.newChunk;return t.map(r=>{let i=n.getInstruction(r);if(i.valueType!==ge)return r;switch(i.type){case 27:case 29:return n.Subtract([i.args[0],i.args[1]]);case 26:case 28:return n.Subtract([i.args[1],i.args[0]]);case 25:throw J(\"convertBoolsToNums on an equality.\");case 32:return n.SyntheticNativeFunction(\"min\",vg(e,i.args));case 31:return n.SyntheticNativeFunction(\"max\",vg(e,i.args));case 1:return n.Constant(i.value?1/0:-1/0);default:throw J(\"convertBoolsToNums on a non-opcode condition.\")}})}function lR({newChunk:e},t){let n=e.getInstruction(t);return n.type===1&&(n.valueType===T&&n.value===1/0||n.valueType===ge&&n.value)}function OG(e,t){let{chunk:n,newChunk:r,oldIPtoNewIP:i,oldIPToRestriction:s,startTrue:o}=e,a=n.getInstruction(t),u=a.endIndex,c=n.getInstruction(u),l,p;if(a.type===23)i[t]=r.copyInstructionWithArgs(a,[i[a.args[0]]]),s[t]=o,p=t+1;else{let d=a.args.map(y=>i[y]);d.push(o),i[t]=r.copyInstructionWithArgs(a,d),s[t]=o;for(let y=2;yi[d]),m=e.slices.filter(d=>p<=d.index&&d.index=0;r--){if(!t[r])continue;let i=e.getInstruction(r);if(!be(i))for(let s of RG(e,i))t[s]=!0}return t}function RG(e,t){switch(t.type){case 14:case 8:case 9:case 26:case 28:case 27:case 29:case 10:case 11:case 12:case 13:case 25:case 32:case 15:case 16:case 38:case 47:case 19:case 39:case 40:case 41:case 23:case 24:case 48:case 50:return t.args;case 33:return Pu(e,t)?AE(e,t).concat([t.args[1]]):[];case 37:{let r=bn[t.symbol];return r.noPeel?[]:r.tag===\"reducer\"||r.tag===\"doubleReducer\"||r.tag===\"never-broadcast\"||r.tag===\"parameterizedReducer\"?t.args.filter(i=>e.getInstruction(i).type!==48):t.args}case 20:return t.args.slice(1);case 51:return[];case 31:return[];case 17:case 18:case 42:case 21:case 22:case 44:case 49:case 53:case 54:case 55:return[];default:let n=t;throw new Error(`Unexpected opcode ${n.type}`)}}function NG(e,t,n){let r=[];for(let i=0;ie.oldIPtoNewIP[r]);if(e.allowSlices&&n.length===1){let r=uR(e.newChunk,n[0]);if(r)return e.slices.push(r),[]}if(n.some(r=>aR(e.newChunk,r)))throw Bo();if(n.length===1){let r=n[0];return[...Ig(e.newChunk,r)]}return[SG(e,n)]}var jo=class e{constructor(t){this.derivativeMaps={};if(this.instructions=[],this.blockMask=[],this.comments=[],t.argNames.length!==t.argTypes.length)throw new Error(\"Programming Error: length of argNames must match length of argTypes\");this.argNames=t.argNames,this.argTypes=t.argTypes;for(let n=0;n=0;t--)if(this.instructions[t].type===55)return!0;return!1}setError(t){this.error=t}getError(){return this.error}getReturnIndex(){return this.returnIndex}setReturnIndex(t){if(!(0<=t&&t=t?delete this.derivativeMaps[n]:jC(this.derivativeMaps[n],t);this.setReturnIndex(this.instructions.length-1)}dereferenceFunctionHeader(t){let n=this.getInstruction(t);return n.endIndex===-1?void 0:n.endIndex}getDirectDependencies(t){if(t.type===55){let n=t.args,r=this.dereferenceFunctionHeader(n[0]);if(r!==void 0)return n.concat(r)}return t.args}getRecursionStructure(t){let n=this.getInstruction(t);if(n.endIndex===-1)throw J(\"Programming error: cannot get recursion structure before function is closed\");if(!n.__cachedRecursionStructure){let r={};for(let i of n.recursionGroup){let s=this.getInstruction(i);r[s.symbol]=i}n.__cachedRecursionStructure=eD(this,r)}return n.__cachedRecursionStructure}getRecursiveFunctionMetadata(t){let n=this.getRecursionStructure(t),r=this.getInstruction(t);return{type:n.canIterate?\"iterative\":\"general\",recursionGroup:r.recursionGroup.map(i=>this.getInstruction(i).symbol),returnType:r.valueType,signature:r.signature,recursiveStructure:n}}pushInstructionChecked(t){if(this.instructions.length>=32768)throw sx();this.instructions.push(t),this.setReturnIndex(this.instructions.length-1)}pushLeafInstruction(t){return this.pushInstructionChecked(t),this.getReturnIndex()}pushInstruction(t){return this.checkInstructionArguments(t),this.pushInstructionChecked(t),this.setReturnIndex(FS(this)),this.setReturnIndex(kS(this)),this.setReturnIndex(nR(this)),vS(this,this.getReturnIndex()),this.returnIndex===this.instructions.length-1&&this.setReturnIndex(TS(this)),this.getReturnIndex()}checkInstructionArguments(t){for(let n of t.args)if(this.blockMask[n])throw new Error(\"Programming Error: cannot reference an instruction in a closed block\")}markClosedBlock(t,n){for(let r=t;r1e4)throw Qp();return this.pushLeafInstruction({type:1,valueType:t,value:n})}NanOfType(t){if(t===St){let n=this.Constant(NaN);return this.Distribution(\"uniformdist\",[n,n])}else return this.ConstantOfType(t,$r(t))}Add(t){let n=8,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Subtract(t){let n=9,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Multiply(t){let n=10,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Divide(t){let n=11,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Exponent(t){let n=12,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}RawExponent(t){let n=13,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Negative(t){let n=14,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Equal(t){let n=25,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Less(t){let n=26,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Greater(t){let n=27,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}LessEqual(t){let n=28,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}GreaterEqual(t){let n=29,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Comparator(t,n){switch(t){case\"=\":return this.Equal(n);case\">\":return this.Greater(n);case\"<\":return this.Less(n);case\"<=\":return this.LessEqual(n);case\">=\":return this.GreaterEqual(n);default:{let r=t;throw new Error(`Unexpected comparator symbol: ${r}`)}}}Or(t){let n=31,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}And(t){let n=32,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}Piecewise(t){let n=33,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}OrderedPair(t){let n=15,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}OrderedPairAccess(t,n){let r=17,i=fn(this,r,n);return this.pushInstruction({type:r,valueType:i,index:t,args:n})}OrderedTriple(t){let n=16,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}OrderedTripleAccess(t,n){let r=18,i=fn(this,r,n);return this.pushInstruction({type:r,valueType:i,index:t,args:n})}List(t){let n=38,r=fn(this,n,t);if(t.length>1e4)throw Qp();return this.pushInstruction({type:n,valueType:r,args:t})}ListAccess(t){let n=39,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}DeferredListAccess(t){let n=40,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}InboundsListAccess(t){let n=41,r=fn(this,n,t);return this.pushInstruction({type:n,valueType:r,args:t})}NativeFunction(t,n,r){let i=37,s=bn[t].returnType,o=typeof s==\"function\"?s(r.map(a=>this.getInstruction(a).valueType)):s;return this.pushInstruction({type:i,valueType:o,args:r,symbol:t,callData:n})}SyntheticNativeFunction(t,n){let r=37,i=bn[t].returnType,s=typeof i==\"function\"?i(n.map(a=>this.getInstruction(a).valueType)):i,o={errorSymbol:t,providedArity:n.length,isDotCall:!1};return this.pushInstruction({type:r,valueType:s,args:n,symbol:t,callData:o})}Distribution(t,n){let r=42,i=St;return this.pushInstruction({type:r,valueType:i,args:n,symbol:t})}BeginIntegral(t,n){let r=21,i=fn(this,r,[]);return this.pushInstruction({type:r,valueType:i,args:n,endIndex:-1,callData:t})}EndIntegral(t){let n=22,r=fn(this,n,t),i=t[0],s=this.getInstruction(i);this.instructions[i]={type:s.type,valueType:s.valueType,args:s.args,endIndex:this.instructionsLength(),callData:s.callData};let o=this.pushInstruction({type:n,valueType:r,args:t});return this.markClosedBlock(i,o),o}BeginBroadcast(t,n){let r=23,i=fn(this,r,[]),s=this.getInstruction(t[0]);if(bt(s)&&ln(this,t[0])>1e4)throw Qp();return this.pushInstruction({type:r,valueType:i,endIndex:-1,args:t,listComprehensionCallData:n})}EndBroadcast(t){let n=24,r=fn(this,n,t),i=t[0],s=this.getInstruction(i),o={type:s.type,valueType:s.valueType,args:s.args,endIndex:this.instructionsLength()};this.instructions[i]=o;let a=this.pushInstruction({type:n,valueType:r,args:t});return this.markClosedBlock(i,a),a}BeginLoop(t,n){let r=19,i=fn(this,r,n);return this.pushInstruction({type:r,valueType:i,args:n,endIndex:-1,callData:t})}EndLoop(t){let n=20,r=fn(this,n,t),i=t[0],s=this.getInstruction(i);this.instructions[i]={type:s.type,valueType:s.valueType,args:s.args,endIndex:this.instructionsLength(),callData:s.callData};let o=this.pushInstruction({type:n,valueType:r,args:t});return this.markClosedBlock(i,o),o}BeginMap(t,n){let r=50,i=fn(this,r,n);return this.pushInstruction({type:r,valueType:i,args:n,endIndex:-1,callData:t})}EndMap(t){let n=51,r=fn(this,n,t),i=t[0],s=this.getInstruction(i);this.instructions[i]={type:s.type,valueType:s.valueType,args:s.args,endIndex:this.instructionsLength(),callData:s.callData};let o=this.pushInstruction({type:n,valueType:r,args:t});return this.markClosedBlock(i,o),o}FunctionHeader(t,n,r,i){let s=4;return this.pushLeafInstruction({type:s,valueType:n,endIndex:-1,symbol:t,signature:r,parameterSymbols:i,recursionGroup:[]})}BeginFunction(t){let n=53,r=this.getInstruction(t[0]);return this.pushInstruction({type:n,valueType:r.valueType,endIndex:-1,args:t})}EndFunction(t){let n=54,r=t[0],i=this.getInstruction(r);this.instructions[r]={type:i.type,valueType:i.valueType,args:i.args,endIndex:this.instructionsLength()};let s=i.args[0],o=this.getInstruction(i.args[0]);this.instructions[s]={type:o.type,valueType:o.valueType,endIndex:this.instructionsLength(),symbol:o.symbol,signature:o.signature,parameterSymbols:o.parameterSymbols,recursionGroup:o.recursionGroup};let a=this.pushInstruction({type:n,valueType:Ht,args:t});return this.markClosedBlock(r,a),a}FunctionCall(t){let n=55;return this.pushInstruction({type:n,valueType:fn(this,n,t),args:t})}ExtendSeed(t,n){let r=44,i=ot;return this.pushInstruction({type:r,valueType:i,args:n,tag:t})}Noop(){let t=0,n=Ht;return this.pushLeafInstruction({type:t,valueType:n})}Action(t,n){return this.pushInstruction({type:49,valueType:rt,args:n,symbols:t})}replaceInstructionWithConstant(t,n){this.instructions[t]=n,this.blockMask[t]=void 0}replaceInstructionWithBlockVarOrFunctionCall(t,n){this.instructions[t]=n}reopenFinalBlock(){let t=this.getInstruction(this.getReturnIndex());if(t.type!==48)return this;let n=t.args[0],i=this.getInstruction(n).args[0];for(let s=i;st.includes(r));return n.length===0?!1:this.findLinearSubset(n).every(Boolean)}isImplicitPlane(){let t=n=>n===\"x\"||n===\"y\"||n===\"z\";return this.isLinearIn([\"x\",\"y\",\"z\"])&&this.argNames.every(t)}print(t,n=this.comments){let r;return t===void 0?(t=this.instructionsLength()-1,r={printUnreferencedInstructions:!0,comments:n}):r={printUnreferencedInstructions:!1,comments:n},Wv(this,t,r)}printInstruction(t){return yc(this,t)}toDot(){return VS(this)}getLiveArgNames(){let t=Yr(this,this.getReturnIndex()),n=[];for(let r=0;ru.some(p=>VE(l,p))&&!!e.lookup(l[0]));for(let l of a)hR(e,l,r)&&c.every(p=>!VE(l,p))&&c.push(l);for(let l of u)hR(e,l,t)&&c.every(p=>!VE(l,p))&&c.push(l);if(c.length===1)return c[0]}function VE(e,t){return e[0]===t[0]&&e[1]===t[1]}function hR(e,[t,n],r){let i=e.lookup(t),s=i&&e.getGeometryTree(i);return((s==null?void 0:s.symbol)===\"glider\"||(s==null?void 0:s.symbol)===\"intersection\"||(s==null?void 0:s.symbol)===\"strictintersection\"||(s==null?void 0:s.symbol)===\"midpoint\")&&(s==null?void 0:s.parents.some(o=>o&&e.resolvesTo(o[0],r)&&(n===void 0||o[1]===void 0||o[1]===n)))}function bR(e,t,n){var s;let r=[],i=((s=e.getGeometryTree(t))==null?void 0:s.parents)||[];for(let o=0;o{if(!(p===void 0||e.getInstruction(p).type===2))return p});let u=[];for(let p of a)u.push(p===void 0?void 0:e.getInstruction(p).valueType);let c=jy(t,r,u),l=c&&Np(c,o);if(s.positionWithinArg===\"empty-list\"){let p=l==null?void 0:l.filter(W).map(ke);return(p==null?void 0:p.length)===0?void 0:{type:\"expression-arguments\",expressionType:\"List\",argIndex:0,argCount:0,isLastValidArg:!1,positionWithinArg:\"start-to-end\",allowedTypesForInsertedArg:p!=null?p:[Ht]}}else{if((l==null?void 0:l.length)===0)return;let p=!1;if(c){let g=0;for(let d of c){let y=Array.isArray(d)?d.length-1:1/0;g=Math.max(g,y)}p=s.positionWithinArg===\"end\"&&s.argIndex===g-1||s.positionWithinArg===\"start-to-end\"&&s.argIndex===g}let f=r.args.length;if(r instanceof hr&&r.args.length===3){let g=r.args[2];g instanceof Zt&&g.isNaN()&&(f=2)}let m={type:\"expression-arguments\",expressionType:r.type,argIndex:s.argIndex,argCount:f,isLastValidArg:p,positionWithinArg:s.positionWithinArg,allowedTypesForInsertedArg:l!=null?l:[Ht]};if(r instanceof cn&&(m.functionSymbol=r._symbol,m.isDotCall=s.isDotCall,r instanceof cn&&r._symbol===\"polygon\")){let g=r.args.filter(d=>!(d instanceof ze&&d._symbol===\"cursor\"));if(g.length>0){let d=g[0].getInputSpan(),y=g[g.length-1].getInputSpan();m.polygonVertices=d&&y?{firstLatex:Cn(d),lastLatex:Cn(y)}:void 0}}return m}}function TR(e){return e.type===\"FunctionDefinition\"}function Dg(e){return e.type===\"Identifier\"}function Gs(e){return e.type===\"Table\"}function rd(e){return e.type===\"Image\"}function xo(e){return e.type===\"Error\"}function fp(e){return e.type===\"Regression\"}function LG(e){let t=Bf({},{},-1);for(let n=0;n']\":case\"Comparator['<']\":case\"Comparator['>=']\":case\"Comparator['<=']\":return i.Comparator(t.operator,ks(e,t,t.args));case\"ComparatorChain\":{let d=Tu(e,t,t.args),y=i.Comparator(t.symbols[0],[d[0],d[1]]);for(let h=1;h0)return Xr(t.args),i.List(Tu(e,t,t.args));if(t.args.length===0)return pp(i,n,a,t,[]),i.ConstantOfType(We,[]);{let d=i.instructionsLength(),y=[],h,b;Xr(t.args);for(let P of t.args){let M=Ee(e,P),I=i.getInstruction(M);if(h===void 0){if(h=I.valueType,!ei(h))throw ec([ne(h)]);b=ar(h)}else if(I.valueType!==h){if(zr(I.valueType,h)||zr(h,I.valueType))return i.truncate(d),i.List(Tu(e,t,t.args));throw Jp()}if(I.type!==1)throw new Error(\"Programming error: expected list with no dependencies to constant collapse.\");y.push(I.value),i.truncate(d)}let x=kE(e.selection,t);if(e.selection&&x!==void 0&&b!==void 0&&x.positionWithinArg!==\"empty-list\"){let P=ke(b);i.setCursorContext({type:\"expression-arguments\",expressionType:\"List\",argIndex:x.argIndex,argCount:t.args.length,isLastValidArg:!1,positionWithinArg:x.positionWithinArg,allowedTypesForInsertedArg:[P]})}return i.ConstantOfType(b,y)}}case\"ListAccess\":{let d=Ee(e,t.args[0]),y=i.getInstruction(d);if(t.args[1].type===\"Range\"&&t.args[1].args[1].length===0){if(!W(y.valueType))throw Zp([ne(y.valueType),ne(T)]);let h=_r(i,d),b=qE(e,Ee(e,t.args[1].args[0]),i.List([h]),{stepMustBePositive:!0});return i.ListAccess([d,b])}else{let h=Ee(e,t.args[1]),b=i.getInstruction(h);if(lu(i,n,t,[d,h]),b.valueType===Ln)return i.SyntheticNativeFunction(\"select\",[d,h]);if(b.valueType===ge&&W(y.valueType)){let x=i.ConstantOfType(y.valueType,[]);return i.Piecewise([h,d,x])}return i.ListAccess([d,h])}}case\"Range\":{let[d,y]=ks(e,t,t.args);return qE(e,d,y,{stepMustBePositive:!1})}case\"ListComprehension\":return ZG(e,t);case\"Piecewise\":{let d=zG(e,t,t.args),y=i.getInstruction(d[0]),h=i.getInstruction(d[1]),b=i.getInstruction(d[2]),x=ro(h.valueType,b.valueType)||ro(b.valueType,h.valueType);if(y.type===1&&y.valueType===ge&&x){let I=d[y.value?1:2],E=i.getInstruction(I),v=h.valueType!==We?h.valueType:b.valueType;return E.valueType===We&&v!==We?i.ConstantOfType(v,[]):I}let P=h.valueType,M=W(P)?ke(P):P;if(!x&&bt(b)&&b.valueType===T&&Wi(b.value)&&uo(M)){if(oe(h.valueType,Vt))return i.SyntheticNativeFunction(\"restriction\",[i.And([d[0],i.SyntheticNativeFunction(\"restrictionToBoolean\",[d[1]])])]);let I=i.NanOfType(M);d=[d[0],d[1],I]}return i.Piecewise(d)}case\"Restriction\":return i.SyntheticNativeFunction(\"restriction\",Sg(e,t,t.args));case\"Ans\":case\"Identifier\":{let d=t._symbol,y=t._errorSymbol;if(t.type===\"Ans\"&&i.argNames.indexOf(d)!==-1)throw JP();let h=Uy(s,d),b=r[d];if(h!==void 0&&(s.symbolMap.hasOwnProperty(d)||b===void 0||b===Wt))return h;if(b===void 0){if(Ke[d]){let P=e.policy.is3dPolicy();throw Ke[d].isFunction?ms(y,P):ic(y)}throw new Error(`Programming Error: reached undefined symbol ${d}`)}if(b!==Wt&&xo(b))throw b;if(b===Wt||b.isFunction)throw Sx(y);if(b.type===\"RegressionParameter\"){let P=o.getRegressionDependencyError(y);if(P)throw P}let x=Ee(e,b);return xr(s,d,x,b),x}case\"FunctionCall\":case\"SeededFunctionCall\":{Xr(t.args);let d=Tu(e,t,t.args);return Xr(d),Og(e,t._symbol,t._errorSymbol,d,t.args)}case\"Substitution\":return e2(e,t);case\"FunctionExponent\":{let d=t.args[0]._symbol,y=r[d];return y!==Wt&&(y!=null&&y.isFunction)?Ee(e,new D.Exponent([new D.FunctionCall(d,[t.args[1]]),t.args[2]])):Ee(e,new D.Multiply([t.args[0],new D.Exponent([t.args[1],t.args[2]])]))}case\"FunctionFactorial\":{let d=t.args[0]._symbol,y=r[d];return y!==Wt&&(y!=null&&y.isFunction)?Ee(e,new D.FunctionCall(\"\\\\factorial\",[new D.FunctionCall(d,[t.args[1]])])):Ee(e,new D.Multiply([t.args[0],new D.FunctionCall(\"\\\\factorial\",[t.args[1]])]))}case\"DotAccess\":{let d=t.args[0],y=t.args[1],h=r[y._symbol];if(d.type===\"Identifier\"&&d._symbol===\"construction\")return t2(e,y);if((y.type===\"Identifier\"||y.type===\"FunctionCall\")&&h!==Wt&&(h!=null&&h.isFunction)){let b=y._symbol,x=y._errorSymbol,P=y.type===\"Identifier\"?[d]:[d].concat(y.args),M=Tu(e,t,P);return Og(e,b,x,M,P,{dotLHSIndex:M[0]})}else if(y.type===\"SeededFunctionCall\"){let b=y._symbol,x=y._errorSymbol,P=[y.seed,d].concat(y.args.slice(1)),M=Tu(e,t,P);return Og(e,b,x,M,P,{dotLHSIndex:M[1]})}else throw Nr(\".\")}case\"Seed\":return i.ConstantOfType(ot,t._stringValue);case\"ExtendSeed\":return i.ExtendSeed(t.tag,ks(e,t,t.args));case\"Integral\":{let d=t._differential._symbol,y=Object.create(r);y[d]=XP(d);let h=ts(s),b=zs(e,y,h),x=Ee(b,t.args[1]),P=Ee(b,t.args[2]),M=i.getInstruction(x),I=i.getInstruction(P),E=i.SymbolicVar(T,d),v=ts(s);xr(v,d,E);let O=Object.create(r);O[d]=Wt;let A=Ee(zs(e,O,v),t.args[3]);if(!nd(i,A,E))return i.Multiply([A,i.Subtract([P,x])]);let N=Gf(i,[x,P,A]);if(N!==void 0&&nd(i,N,E))throw aT(d);let L=N!==void 0?i.BeginBroadcast([N]):void 0,z=x;L!==void 0&&W(M.valueType)&&(z=Ma(i,x,L));let G=P;L!==void 0&&W(I.valueType)&&(G=Ma(i,P,L));let $=i.getInstruction(A).valueType,w=W($)?ke($):$,Y;if(w===R||w===V){let de=[],re=w===R?2:3;for(let ie=0;iezr($,K));if(Y===void 0){let K=Dc(i,[z]);throw y?Vb(K):kb(K)}if(!nd(i,z,A)){let K=i.Add([i.Subtract([E,I]),i.Constant(1)]);K=i.SyntheticNativeFunction(\"max\",[K,i.Constant(0)]);let _e=y?i.Multiply([z,K]):i.Exponent([z,K]);return i.Piecewise([i.Less([K,i.Constant(1/0)]),_e,i.NanOfType(Y)])}let de=Gf(i,[I,E,z]);if(de!==void 0&&nd(i,de,A))throw y?sT(d):oT(d);let re=de!==void 0?i.BeginBroadcast([de]):void 0,ie=I;re!==void 0&&W(v.valueType)&&(ie=Ma(i,I,re));let Z=E;re!=null&&W(O.valueType)&&(Z=Ma(i,E,re));let Re=i.Constant(y?0:1),Ne=Y===R?i.OrderedPair([Re,Re]):Y===V?i.OrderedTriple([Re,Re,Re]):Re,Te=i.BeginLoop({type:y?\"sum\":\"product\",indexSymbol:d},[ie,Z,Ne]),Me=i.BlockVar(Y,[Te]),ve=Ca(i,Te,A,z),Q=i.getInstruction(ve);re!==void 0&&W(Q.valueType)&&(ve=Ma(i,ve,re));let U=y?i.Add([Me,ve]):i.Multiply([Me,ve]),xe=i.EndLoop([Te,U]),le=i.BlockVar(Y,[xe]);if(re!==void 0){let K=i.EndBroadcast([re,le]);return i.BroadcastResult(ar(Y),[K])}else return le}case\"Derivative\":{let d=t._symbol,y=Ee(e,new D.Identifier(d));if(!Je(i,y,T))throw $b(d,Dc(i,[y]));let h=i.getInstruction(y),b,x,P=!1;if((h.type===2||h.type===3)&&h.valueType===T)b=e,x=y;else{let v=ts(s);x=i.SymbolicVar(h.valueType),xr(v,d,x),P=!0;let O=Object.create(r);O[d]=Wt,b=zs(e,O,v)}let M=1;for(;t.args[0].type===\"Derivative\"&&t.args[0]._symbol===t._symbol;)M+=1,t=t.args[0];let E=Tr(i,Ee(b,t.args[0]));for(let v=0;va.getInstruction(g).valueType));let f=c.definitions[t];if(f instanceof C)throw f;let m=VR(e,c,f,r);return a.SymbolicVar(m.returnType)}let l=Uy(u,t);if(l!==void 0){let f=a.getInstruction(l);if(f.type===4){if(f.signature.argTypes.length!==r.length)throw ds(t,f.signature.argTypes.length,r.length);for(let m=0;m=1){let m=r.length===1?r[0]:Ee(e,new D.ParenSeq(i));return a.Multiply([l,m])}else throw f.type===2?Tm(n):f.valueType===St?Am(n):Nm(n)}let p=o[t];if(p!==Wt&&(p!=null&&p.isError))throw p;if(p===void 0||p===Wt||!p.isFunction){if(Ke[t]&&Ke[t].isFunction){if(t===\"logbase\"&&o.ln&&o.log)throw QP();let f=e.policy.is3dPolicy();throw ms(n,f)}if(p&&p!==Wt){let f=Ee(e,p);if(a.getInstruction(f).valueType===St)throw Am(n);if(oe(a.getInstruction(f).valueType,Ue))return Ng(e.chunk,[f,...r],n,!0)}if(r.length>=1){let f=r.length===1?r[0]:Ee(e,new D.ParenSeq(i));return a.Multiply([Ee(e,new D.Identifier(t)),f])}throw p?Nm(n):new Error(`Programming Error: reached undefined symbol ${t}`)}if(TR(p)){if(s&&s.dotLHSIndex!==void 0)throw Wp(n);if(r.length!==p._argSymbols.length)throw ds(n,p._argSymbols.length,r.length);let f=ts(u),m=Object.create(o);for(let d=0;dl||ue.getInstruction(s).valueType),0).length>0}function mu(e,t,n,r){let i=r.find(s=>UG(e,t,s));if(!i){if(typeof n==\"string\")throw Pi(n,Zo(e,t));return n(e,t)}return i.build(e,t)}function MR(e,t){if(t.length!==2)throw J(\"Can only take the midpoint of two points\");let n=e.Constant(De(1,2));return e.Multiply([n,e.Add(t)])}function qG(e,t,n,r,i,s){let{chunk:o,policy:a}=e,u=oo[t];if(u.fallthroughUnlessDistribution&&u.fallthroughUnlessDistribution&&!SR(o,r))return Cg(e,t,n,r,s);let{minArity:c,maxArity:l}=u,p=r.length;if(pl)throw new Error(\"Programming Error: unexpected arity mismatch\");let f;if(t===\"cdf\")p===2?f=[r[0],o.Constant(-1/0),r[1]]:f=r;else if(t===\"random\")if(p===1||p<4&&!W(o.getInstruction(r[1]).valueType)&&o.getInstruction(r[1]).valueType!==St){let d=o.Distribution(\"uniformdist\",[o.Constant(0),o.Constant(1)]);f=[r[0],d].concat(r.slice(1))}else f=r;else f=RR(o,r,u);let m=Vp(t);if(m){let d=NE(o,f,m);d.didCoerce&&(f=d.args)}function g(d,y=n){return mu(o,f,y,d)}switch(t){case\"length\":if(a.isGeometryEnabled()||a.is3dPolicy()){let d=f[0],y=a.is3dPolicy()?_b:Ab;return g([{match:[We],build:()=>{throw y(n,Zo(o,f)[0])}},{match:[Nt],build:()=>{let h=o.Constant(0),b=o.Constant(1);return o.SyntheticNativeFunction(\"distanceThreeD\",[o.SyntheticNativeFunction(\"segmentThreeDGlider\",[d,h]),o.SyntheticNativeFunction(\"segmentThreeDGlider\",[d,b])])}},{match:[Ie],build:()=>{let h=o.Constant(0),b=o.Constant(1);return o.SyntheticNativeFunction(\"distance\",[o.SyntheticNativeFunction(\"segmentGlider\",[d,h]),o.SyntheticNativeFunction(\"segmentGlider\",[d,b])])}},{match:[ce],build:()=>{let h=o.SyntheticNativeFunction(\"abs\",[o.SyntheticNativeFunction(\"arcOmega\",[f[0]])]),{radius:b,startPoint:x}=LR(o,f[0]),P=o.SyntheticNativeFunction(\"arcGlider\",[f[0],o.Constant(1)]);return o.Piecewise([o.Equal([h,o.Constant(0)]),o.SyntheticNativeFunction(\"distance\",[x,P]),o.Multiply([b,h])])}},{match:[Bh],build:()=>UE(e,ai(o,d))},{match:[sn],noBroadcast:!0,build:()=>{throw y(n,Zo(o,f)[0])}}])}else return o.SyntheticNativeFunction(\"count\",f);case\"round\":return g([{match:[T],build:()=>o.SyntheticNativeFunction(\"round\",f)},{match:[T,T],build:()=>{let d=o.SyntheticNativeFunction(\"round\",[f[1]]),y=o.RawExponent([o.Constant(10),d]);return o.Divide([o.SyntheticNativeFunction(\"round\",[o.Multiply([f[0],y])]),y])}}]);case\"midpoint\":return g([{match:[Ie],build:()=>{let d=o.Constant(De(1,2));return o.SyntheticNativeFunction(\"segmentGlider\",[f[0],d])}},{match:[Nt],build:()=>{let d=o.Constant(De(1,2));return o.SyntheticNativeFunction(\"segmentThreeDGlider\",[f[0],d])}},{match:[R,R],build:MR},{match:[V,V],build:MR}]);case\"circle\":return g([{match:[R,Ie],build:()=>{let d=o.Constant(0),y=o.Constant(1);return o.SyntheticNativeFunction(\"circle\",[f[0],o.SyntheticNativeFunction(\"distance\",[o.SyntheticNativeFunction(\"segmentGlider\",[f[1],d]),o.SyntheticNativeFunction(\"segmentGlider\",[f[1],y])])])}},{match:[R,R],build:()=>o.SyntheticNativeFunction(\"circle\",[f[0],o.SyntheticNativeFunction(\"distance\",f)])},{match:[R,T],build:()=>o.SyntheticNativeFunction(\"circle\",f)}]);case\"segment\":return g(qf(\"segment\",\"segmentThreeD\"));case\"vector\":return g(qf(\"vector\",\"vectorThreeD\"));case\"distance\":return g(qf(\"distance\",\"distanceThreeD\"));case\"center\":case\"radius\":return g([{match:[{meta:\"union\",types:[pe,ce]}],build:()=>{let d=WG(o,f[0]);return o.SyntheticNativeFunction(t,[d])}}]);case\"glider\":return NR(e.chunk,f);case\"intersection\":case\"strictintersection\":{let d=0;t===\"strictintersection\"&&((Je(o,f[0],Ie)||Je(o,f[0],ce))&&(d+=3),(Je(o,f[1],Ie)||Je(o,f[1],ce))&&(d+=12)),Je(o,f[0],Le)&&(d+=1),Je(o,f[1],Le)&&(d+=4);let y=KG(e,i,f);if(!y)return zE(o,f,d);let h=Ee(e,new D.Identifier(y[0]));return y[1]!==void 0&&(h=o.ListAccess([h,o.Constant(y[1])])),o.SyntheticNativeFunction(\"chooseNonIncidentPoint\",[h,zE(o,[f[0],f[1]],d),zE(o,[f[1],f[0]],d<<2&12|d>>2&3)])}case\"parallel\":case\"perpendicular\":return g([{match:[{meta:\"union\",types:_d},R],build:()=>{let y=[Rg(o,f[0]),f[1]];return o.SyntheticNativeFunction(t,y)}}]);case\"start\":return go(o,f[0]);case\"end\":return o.Add([go(o,f[0]),ai(o,f[0])]);case\"translate\":case\"reflect\":case\"rotate\":case\"dilate\":return jG(e,t,f);case\"apply\":return Ng(o,f,n,!1);case\"normaldist\":case\"tdist\":case\"poissondist\":case\"binomialdist\":case\"uniformdist\":return o.Distribution(t,f);case\"pdf\":case\"cdf\":case\"median\":case\"stdev\":case\"var\":case\"quantile\":return DR(o,f,t);case\"total\":case\"mean\":return t===\"mean\"&&SR(o,r)?DR(o,f,t):g([{match:{type:\"variadic\",initial:[],rest:We},build:()=>Cg(e,t,n,f,s)},{match:{type:\"variadic\",initial:[R],rest:R},build:()=>{let y=h=>o.SyntheticNativeFunction(t,f.map(b=>o.OrderedPairAccess(h,[b])));return o.OrderedPair([y(1),y(2)])}},{match:{type:\"variadic\",initial:[V],rest:V},build:()=>{let y=h=>o.SyntheticNativeFunction(t,f.map(b=>o.OrderedTripleAccess(h,[b])));return o.OrderedTriple([y(1),y(2),y(3)])}}],()=>Cg(e,t,n,f,s));case\"random\":{let d=f[0],y=f[1],h=o.getInstruction(f[0]),b=o.getInstruction(y);if(h.valueType!==ot)throw J(`Unexpected value type for seed arg: ${h.valueType}`);if(b.valueType===wn)throw bx();let x;if(W(b.valueType))x=pR;else{if(b.type!==42||b.valueType!==St)throw J('Expected distribution argument to \"random\"');x=Ko[b.symbol][t]}if(f.length>2){let P=f[2],M=o.getInstruction(P);if(M.valueType!==T)throw J(`Expected numSamples argument to random() to be a number but got ${M.valueType}`);if(f.length===4){if(o.getInstruction(f[3]).valueType!==T)throw J(`Expected userSeed argument to random() to be a number but got ${M.valueType}`);d=o.ExtendSeed(\"us\",[d,f[3]])}let I=o.Constant(1),E=o.SyntheticNativeFunction(\"round\",[o.SyntheticNativeFunction(\"validateSampleCount\",[P])]),v=o.BeginBroadcast([E]);d=o.ExtendSeed(\"lc\",[d,o.Subtract([v,I])]);let O=x(o,y,[d]),A=o.EndBroadcast([v,O]);return o.BroadcastResult(ar(o.getInstruction(O).valueType),[A])}return x(o,y,[d])}case\"shuffle\":{let d=f[0],y=f[1],h=f[2];if(!W(o.getInstruction(y).valueType)||h!==void 0&&o.getInstruction(h).valueType!==T)throw J(`Unexpected args for \"${t}\"`);return h!==void 0&&(d=o.ExtendSeed(\"us\",[d,h])),o.SyntheticNativeFunction(\"shuffle\",[d,y])}case\"sort\":return g([{match:[se],noBroadcast:!0,build:()=>vR(e,f[0],f[0])},{match:[{meta:\"union\",types:Zi},se],noBroadcast:!0,build:()=>vR(e,f[0],f[1])}]);case\"join\":{let d=[],y=!0;for(let N of f){let L=o.getInstruction(N);bt(L)||(y=!1);let z=L.valueType;if(z!==We)if(W(z))d.push({isList:!0,index:N,elementType:ke(z)});else if(ei(z))d.push({isList:!1,index:N,elementType:z});else throw Pi(n,Zo(o,r))}if(d.length===0)return o.ConstantOfType(We,[]);for(let N of d)if(N.elementType!==d[0].elementType)throw Pi(n,Zo(o,r));if(y){let N=[];for(let L of d){let z=o.getInstruction(Tr(o,L.index));Kv(z),L.isList?N.push(...z.value):N.push(z.value)}return o.ConstantOfType(ar(d[0].elementType),N)}let h=o.Constant(0),b=o.Constant(1),x={};for(let N of d)N.isList&&x[N.index]===void 0&&(x[N.index]=_r(o,N.index));let P=o.SyntheticNativeFunction(\"total\",d.map(N=>N.isList?x[N.index]:b)),M=o.BeginBroadcast([P]),I=h,E=[],v=[];for(let N of d){let L=N.isList?o.ListAccess([N.index,o.Subtract([M,I])]):N.index;if(v.push(L),N!==d[d.length-1]){let z=N.isList?x[N.index]:b;I=o.Add([I,z]),E.push(o.LessEqual([M,I]))}}let O=v[v.length-1];for(let N=v.length-2;N>=0;N--)O=o.Piecewise([E[N],v[N],O]);let A=o.EndBroadcast([M,O]);return o.BroadcastResult(ar(d[0].elementType),[A])}case\"unique\":{let d=f[0],y=o.getInstruction(d);if(!W(y.valueType)||y.valueType===wn)throw J(`Unexpected types for ${t}`);return o.SyntheticNativeFunction(\"elementsAt\",[d,o.SyntheticNativeFunction(\"uniquePerm\",[d])])}case\"polygon\":return g([{match:[],build:()=>{let d=o.ConstantOfType(Pt,[]);return o.SyntheticNativeFunction(\"polygon\",[d])}},{match:[T,T],noBroadcast:!0,build:()=>{throw Kp()}},{match:[T,T],build:()=>{let d=o.OrderedPair(f);return o.SyntheticNativeFunction(\"polygon\",[d])}},{match:{type:\"variadic\",initial:[],rest:R},build:()=>o.SyntheticNativeFunction(\"polygon\",f)}]);case\"directedangle\":return OR(e,f,n);case\"angle\":return o.SyntheticNativeFunction(\"undirectedAngleMarker\",[OR(e,f,n)]);case\"angles\":return o.SyntheticNativeFunction(\"polygonInteriorUndirectedAngles\",[f[0],Ee(e,new D.Identifier(\"trigAngleMultiplier\"))]);case\"directedangles\":return o.SyntheticNativeFunction(\"polygonInteriorDirectedAngles\",[f[0],Ee(e,new D.Identifier(\"trigAngleMultiplier\"))]);case\"coterminal\":{if(Je(o,f[0],Ae))return o.SyntheticNativeFunction(\"directedCoterminalAngle\",f);if(Je(o,f[0],Ge))return o.SyntheticNativeFunction(\"undirectedCoterminalAngle\",f);throw J(`Unexpected types for ${t}`)}case\"histogram\":case\"dotplot\":case\"boxplot\":case\"ttest\":case\"ittest\":case\"stats\":case\"det\":case\"inv\":case\"transpose\":case\"rref\":case\"trace\":case\"points\":case\"lines\":case\"circles\":case\"polygons\":case\"rays\":case\"arcs\":case\"vectors\":throw Nr(n);default:{let d=t;throw new Error(`Programming Error: unexpected compiler function ${d}`)}}}function NR(e,t){return mu(e,t,\"glider\",[{match:[Ie,T],build:()=>e.SyntheticNativeFunction(\"segmentGlider\",t)},{match:[fe,T],build:()=>e.SyntheticNativeFunction(\"lineGlider\",t)},{match:[Le,T],build:()=>e.SyntheticNativeFunction(\"rayGlider\",t)},{match:[pe,T],build:()=>e.SyntheticNativeFunction(\"circleGlider\",t)},{match:[ce,T],build:()=>e.SyntheticNativeFunction(\"arcGlider\",t)},{match:[Be,T],build:()=>e.SyntheticNativeFunction(\"polygonGlider\",t)}])}function vR(e,t,n){let{chunk:r}=e;if(zn(r,n)===0)return n;let s=r.SyntheticNativeFunction(\"min\",[_r(r,t),_r(r,n)]);return n=r.ListAccess([n,qE(e,r.List([r.Constant(1)]),r.List([s]),{stepMustBePositive:!0})]),r.SyntheticNativeFunction(\"elementsAt\",[t,r.SyntheticNativeFunction(\"sortPerm\",[n])])}function DR(e,t,n){let r=t[0],i=e.getInstruction(r);if(!oe(i.valueType,St))throw J(`Unexpected args for \"${n}\"`);let s=t.slice(1);for(let o of s)if(!oe(e.getInstruction(o).valueType,T))throw J(`Unexpected args for \"${n}\"`);if(W(i.valueType)){let o=[],a=1/0;for(let c of t){let l=Tr(e,c);o.push(l);let p=e.getInstruction(l);if(W(p.valueType)){let f=zn(e,l);if(f===void 0)throw df(oi(e,l));a=Math.min(a,f)}}let u=[];for(let c=0;c0?tx(s):J(`Unexpected opcode for action: ${a.type}`)}}}return n.Action(r,i)}function _R(e,t){var n=e.frame[t];return n===Wt?pm(t):e.policy.assignmentForbidden(t)?ex(t):n&&n.type===\"FunctionDefinition\"?lm(t):Kb(t).allowExport()}function XG(e,t){switch(e.getInstruction(t).valueType){case Ie:case pe:case ce:return[e.Constant(0),e.Constant(1)];case fe:return[e.Constant(-1/0),e.Constant(1/0)];case Le:return[e.Constant(0),e.Constant(1/0)];case Be:return[e.Constant(0),e.SyntheticNativeFunction(\"count\",[e.SyntheticNativeFunction(\"vertices\",[t])])];default:return}}function ZG(e,t){let{policy:n,frame:r,chunk:i,scope:s,selection:o,recursiveFunctionContext:a}=e;if(!(t instanceof ya))throw new Error(\"Programming error: expected a ListComprehension node but got \"+t.type);let u=t._body,c=[],l=[],p=i.Constant(1),f=Object.create(r);Xr(t._inputLists);for(let{_symbol:I}of t._inputLists){let E=I;if(a&&r[E])throw gf(E);f[E]=nT(E)}for(let I of t.parameters){let E=I.identifier._symbol;if(a&&r[E])throw gf(E);f[E]=rT(E)}let m=ts(s),g=zs(e,f,m);for(let I=t._inputLists.length-1;I>=0;I--){let E=t._inputLists[I],v=E._symbol,O=Ee(g,E.args[1]);PR(i,o,E);let A=i.getInstruction(O);if(!W(A.valueType)){let L=XG(i,O);if(L){c.push({symbol:v,object:O,gliderBounds:L});continue}let z;if(ei(A.valueType)){let G=E.args[1].getInputSpan();G&&(z=Cn(G))}throw eT(v,ne(A.valueType),z)}let N=_r(i,O);l.push({symbol:v,assignedList:O,lengthIndex:N}),p=i.Multiply([p,N])}let d=Object.create(r),y=ts(s),h=[],b;if(l.length>0){let I=i.Constant(1);b=i.BeginBroadcast([p],{inputListSymbols:l.map(v=>v.symbol)}),xr(y,t._index._symbol,b);let E=I;for(let v=l.length-1;v>=0;v--){let{symbol:O,assignedList:A,lengthIndex:N}=l[v],L;if(l.length===1)L=b;else{let z=i.SyntheticNativeFunction(\"floor\",[i.Divide([i.Subtract([b,I]),E])]);L=i.Add([i.SyntheticNativeFunction(\"mod\",[z,N]),I]),v>0&&(E=i.Multiply([E,N]))}xr(y,O,i.ListAccess([A,L])),h.push(O)}}let x;if(t.parameters.length>0||c.length>0){let I=[],E=[];for(let v of t.parameters)I.push(v.identifier._symbol),E.push(Ee(g,v.bounds[0]),Ee(g,v.bounds[1]));for(let v of c)I.push(v.symbol),E.push(v.gliderBounds[0],v.gliderBounds[1]);x=i.BeginMap({parameterSymbols:I},E);for(let v=0;vv)throw fT(E,t.parameters.length);let O=kh(E,t.parameters.length+c.length);M=i.BlockVar(O,[I])}if(b!==void 0){let I=i.getInstruction(M);if(!ei(I.valueType))throw ec([ne(I.valueType)]);let E=i.EndBroadcast([b,M]);M=i.BroadcastResult(ar(I.valueType),[E])}else t.shouldCoerceToList&&(M=i.List([M]));return M}function qE(e,t,n,r){let{stepMustBePositive:i}=r,{chunk:s}=e;t=Ac(s,t),n=Ac(s,n);let o=s.getInstruction(t),a=s.getInstruction(n),u=yo(s,t,\"Programming error: expected range start list to have constant length.\"),c=yo(s,n,\"Programming error: expected range start list to have constant length.\");if(o.valueType!==se||a.valueType!==se)throw of();let l=s.Constant(1),p=s.Constant(0),f=s.ListAccess([t,l]),m=s.ListAccess([t,s.Constant(2)]),g=s.ListAccess([n,s.Constant(c)]),d=s.Subtract([g,f]),y=u>1?s.Subtract([m,f]):s.Piecewise([s.GreaterEqual([d,p]),l,s.Constant(-1)]),h=s.Add([l,s.SyntheticNativeFunction(\"round\",[s.Divide([d,y])])]),b=s.SyntheticNativeFunction(\"validateRangeLength\",[t,n,y,h]);i&&(b=s.Piecewise([s.GreaterEqual([y,p]),b,p]));let x=s.BeginBroadcast([b]),P=s.Add([f,s.Multiply([y,s.Subtract([x,l])])]),M=s.EndBroadcast([x,P]);return s.addComments({[f]:\"start\",[m]:\"second\",[g]:\"last\",[h]:\"proposedLength\",[y]:\"step\",[P]:\"body\"}),s.BroadcastResult(ar(s.getInstruction(P).valueType),[M])}function Rg(e,t){return Je(e,t,Ie)?e.SyntheticNativeFunction(\"lineFromSegment\",[t]):Je(e,t,he)?e.SyntheticNativeFunction(\"lineFromSegment\",[HG(e,t)]):Je(e,t,Le)?e.SyntheticNativeFunction(\"lineFromRay\",[t]):t}function WG(e,t){if(Je(e,t,ce)){let{center:n,radius:r}=LR(e,t);return e.SyntheticNativeFunction(\"circle\",[n,r])}return t}function LR(e,t){let n=e.SyntheticNativeFunction(\"arcCenter\",[t]),r=e.SyntheticNativeFunction(\"arcGlider\",[t,e.Constant(0)]),i=e.SyntheticNativeFunction(\"distance\",[n,r]);return{center:n,radius:i,startPoint:r}}function OR(e,t,n){let{chunk:r}=e;if(t.length===3&&Je(r,t[0],R)&&Je(r,t[1],R)&&Je(r,t[2],R)){let i=t[0],s=t[1],o=t[2],a=r.Subtract([i,s]),u=r.Subtract([o,s]),c=r.OrderedPairAccess(1,[a]),l=r.OrderedPairAccess(2,[a]),p=r.OrderedPairAccess(1,[u]),f=r.OrderedPairAccess(2,[u]),m=r.SyntheticNativeFunction(\"arctan\",[l,c]),g=r.Subtract([r.Multiply([c,f]),r.Multiply([l,p])]),d=r.Add([r.Multiply([c,p]),r.Multiply([l,f])]),y=r.SyntheticNativeFunction(\"arctan\",[g,d]),h=r.SyntheticNativeFunction(\"abs\",[y]),b=r.Constant(Math.PI),x=r.Constant(Math.PI*2);y=r.Piecewise([r.Equal([h,b]),b,r.Piecewise([r.Less([h,b]),y,r.Multiply([r.Multiply([r.SyntheticNativeFunction(\"sign\",[y]),r.Constant(-1)]),r.Subtract([x,h])])])]);let P=r.SyntheticNativeFunction(\"directedAngleMarker\",[s,m,y,Ee(e,new D.Identifier(\"trigAngleMultiplier\"))]),M=r.Constant(0),I=r.And([r.Equal([g,M]),r.Equal([d,M])]);return r.Piecewise([I,r.NanOfType(Ae),P])}else throw J(`Unexpected types for ${n}`)}function rR(e,t){return e.Divide([e.SyntheticNativeFunction(\"directedAngleMarkerRawDelta\",[t]),e.SyntheticNativeFunction(\"directedAngleMarkerMultiplier\",[t])])}function iR(e,t){return e.SyntheticNativeFunction(\"abs\",[e.Divide([e.SyntheticNativeFunction(\"undirectedAngleMarkerRawDelta\",[t]),e.SyntheticNativeFunction(\"undirectedAngleMarkerMultiplier\",[t])])])}function jG(e,t,n){let{chunk:r}=e,i=n.slice(1),s=Vp(t);if(!s)throw new Error(`Unexpected transformation type: ${t}`);let o=s.map(c=>{let l=0;for(let p=1;pl.matchedArgsCount!==c.matchedArgsCount?l.matchedArgsCount-c.matchedArgsCount:c.signatureArgsCount-l.signatureArgsCount),a;switch(t){case\"translate\":{a=[{match:[he],build:()=>r.SyntheticNativeFunction(\"translation\",[r.SyntheticNativeFunction(\"vectorDisplacementAsPoint\",i)])},{match:[R,R],build:()=>r.SyntheticNativeFunction(\"translation\",[r.Subtract([i[1],i[0]])])}];break}case\"reflect\":{a=[{match:[{meta:\"union\",types:_d}],build:()=>{let c=Rg(r,i[0]);return r.SyntheticNativeFunction(\"reflection\",[c])}}];break}case\"rotate\":{a=[{match:[R,T],build:()=>{let c=Ee(e,new D.Identifier(\"trigAngleMultiplier\"));return r.SyntheticNativeFunction(\"rotation\",[i[0],r.Multiply([i[1],c])])}}];break}case\"dilate\":{a=[{match:[R,T],build:()=>r.SyntheticNativeFunction(\"dilation\",i)}];break}default:{let c=t;throw new Error(`Programming error: exhaustive check failed: ${c}`)}}let u=mu(r,i,()=>{throw Rb(t,Zo(r,i),o[0].signature)},a);return Ng(r,[u,n[0]],t,!0)}function JG(e,t){let{match:n}=e;return{...e,match:Array.isArray(n)?[t,...n]:{...n,initial:[t,...n.initial]}}}function QG(e){return e.map(([t,n])=>({match:[t],build:(r,i)=>r.SyntheticNativeFunction(n,i)}))}function Ng(e,t,n,r){let s=QG([[Ue,\"compose\"],[R,\"transformPoint\"],[Ie,\"transformSegment\"],[fe,\"transformLine\"],[Le,\"transformRay\"],[he,\"transformVector\"],[pe,\"transformCircle\"],[ce,\"transformArc\"],[Be,\"transformPolygon\"],[Ge,\"transformAngleMarker\"],[Ae,\"transformDirectedAngleMarker\"]]).map(a=>JG(a,Ue));function o(){throw r?Nb(n,Dc(e,t.slice(1))):Pi(n,Dc(e,t))}return mu(e,t,o,s)}function zE(e,t,n){let r=Rg(e,t[0]),i=Rg(e,t[1]),s=[r,i,e.ConstantOfType(T,n)];if(Je(e,r,pe)){if(Je(e,i,pe))return e.SyntheticNativeFunction(\"circleCircleIntersection\",s);if(Je(e,i,ce))return e.SyntheticNativeFunction(\"circleArcIntersection\",s);if(Je(e,i,fe))return e.SyntheticNativeFunction(\"circleLineIntersection\",s)}if(Je(e,r,ce)){if(Je(e,i,pe))return e.SyntheticNativeFunction(\"arcCircleIntersection\",s);if(Je(e,i,ce))return e.SyntheticNativeFunction(\"arcArcIntersection\",s);if(Je(e,i,fe))return e.SyntheticNativeFunction(\"arcLineIntersection\",s)}if(Je(e,r,fe)){if(Je(e,i,pe))return e.SyntheticNativeFunction(\"lineCircleIntersection\",s);if(Je(e,i,ce))return e.SyntheticNativeFunction(\"lineArcIntersection\",s);if(Je(e,i,fe))return e.SyntheticNativeFunction(\"lineLineIntersection\",s)}throw J(\"Invalid intersection types\")}function KG(e,[t,n],[r,i]){let{chunk:s,frame:o}=e,a=s.getInstruction(r).valueType,u=s.getInstruction(i).valueType,c=f=>{let m=o[f];return m&&m!==Wt?m:aS(e.scope,f)},l=Dg(t)?c(t._symbol):t,p=Dg(n)?c(n._symbol):n;if(!(!l||!p))return xR({getGeometryTree:f=>Wy(f).tree,lookup:c,isPointOrListOfPoints:f=>{if(f.isFunction)return!1;let m=Ee(e,f);return oe(s.getInstruction(m).valueType,R)},resolvesTo:(f,m)=>o[f]===m},l,a,p,u)}function e2(e,t){let{policy:n,frame:r,scope:i,recursiveFunctionContext:s}=e,o=t._body,a=ts(i),u=Object.create(r),c=[];for(let p=0;pUy(s,h)===void 0&&i[h]===void 0),c=t._argSymbols.map(h=>u.includes(h)?r.SymbolicVar(T,h):Ee(e,new ze(h))),l=new HE(o,n.baseCases);try{VR(e,l,t,c)}catch(h){throw l.isUnconditionallyRecursive&&h instanceof C&&!h.blocksExport?a.length>1||FR(t,t._expression)?$a(a):rm(a):h}let p={},f={},m={},g=ts(s),d=Object.create(i);for(let h of a){let b=l.returnTypes[h];if(b===void 0)throw J(`Could not infer the return type for recursive function ${h}.`);let x=l.argTypes[h];if(x===void 0)throw J(`Could not infer the argument types for recursive function ${h}.`);f[h]={argTypes:x},p[h]=b,m[h]=r.FunctionHeader(h,b,f[h],o[h]._argSymbols),xr(g,h,m[h]),d[h]=Wt}let y=[];for(let h of a)y.push(m[h]);for(let h of y)r.getInstruction(h).recursionGroup=y;for(let h of a){let b=ts(g),x=Object.create(d),P=o[h],M=m[h],I=r.BeginFunction([M]);for(let O=0;Ob.maxRecursiveCallOffsets[x]===0)?$a(a):cb(a,{type:\"missing-non-recursive-branch\",recursionGroup:a,recursiveStructure:b})}return r.FunctionCall([m[t._symbol],...c])}function FR(e,t){return t instanceof cn&&t._symbol===e._symbol?t.args.every((n,r)=>n instanceof ze&&n._symbol===e._argSymbols[r]):t.args.every(n=>FR(e,n))}function VR(e,t,n,r){let{chunk:i,scope:s,frame:o}=e,a=t.returnTypes[n._symbol],u=t.argTypes[n._symbol];if(a!==void 0&&u!==void 0)return{returnType:a,argTypes:u};let c=n._argSymbols.length,l=r.length;if(c!==l)throw ds(n._symbol,c,l);let p=r.map(I=>i.getInstruction(I).valueType),f=`${n._symbol}:${p.join(\",\")}:${Object.keys(t.returnTypes).join(\",\")}`;if(t.stack.includes(f))return t.isUnconditionallyRecursive=!0,{returnType:T,argTypes:p};t.stack.push(f);let m=i.instructionsLength(),g=i.getReturnIndex(),d;{let I=id(n._expression,t),E=n._symbol,v=t.baseCases[E],O=ts(s),A=Object.create(o),N={...zs(e,A,O),recursiveFunctionContext:t},L=[];for(let G=0;G=0;p--){let f=u[p-n];if(f===0)continue;let m=e.getInstruction(p);if(!be(m)){if(m.type===24?i.push(p):m.type===23&&i.pop(),(m.type===48||m.type===24)&&(u[m.args[0]-n]|=f),m.type===39||m.type===41||m.type===40)for(let g of i){let y=e.getInstruction(g).args[0];if(m.args[1]===y){u[m.args[0]-n]|=f;break}}if(i.length>0){let g=i[i.length-1],y=e.getInstruction(g).args[0];for(let h of m.args)h>=y&&(u[h-n]|=f);m.type===33&&m.args[0]>=y&&(u[m.args[0]-n]|=2)}}}}let c=[],l=!1;for(let p=0;ps[0]===\"$\")?lT():(i=r.getError())!=null?i:new pn(r)};C.prototype.buildIRExpression=function(e,t,n){return this};var GR=Wc;function $E(e){for(var t=[],n=0;n2)throw ym(this._symbol,2)}D.Histogram.prototype.typeCheck=kR;D.DotPlot.prototype.typeCheck=kR;D.BoxPlot.prototype.typeCheck=function(e,t){var n=t.length,r=t[0];if(n===0)throw As(this._symbol);if(!GR(r.valueType,[se,We]))throw As(this._symbol);if(n>1)throw As(this._symbol)};D.TTest.prototype.typeCheck=function(e,t){var n=this._symbol;if(t.length===0)throw As(n);if(t[0].valueType===We)throw yl(n);if(t[0].valueType!==se)throw As(n);if(t.length>2)throw ym(n,2);if(t[0].length<2)throw yl(n);if(t[1]&&t[1].valueType!==T)throw Pi(n,$E(t))};D.IndependentTTest.prototype.typeCheck=function(e,t){var n=this._symbol;if(t.length!==2)throw ef(n);if(!W(t[0].valueType)||!W(t[1].valueType))throw sf(n);if(t[0].valueType===We||t[1].valueType===We)throw yl(\"ittest\");if(t[0].valueType!==se||t[1].valueType!==se)throw Pi(n,$E(t));if(t[0].length<2||t[1].length<2)throw yl(\"ittest\")},D.Stats.prototype.typeCheck=function(e,t){var n=t.length,r=t[0];if(n===0)throw As(this._symbol);if(r.valueType===We)throw Pi(this._symbol,$E(t));if(r.valueType!==se)throw As(this._symbol);if(n>1)throw As(this._symbol)};var Iu=function(e,t,n){n=n||0;var r=Array(n+1).join(\" \"),i=r+\" \";return`[\n`+i+e.map(function(s){return s.repr(t,n+1)}).join(`,\n`+i)+`\n`+r+\"]\"},fr=function(e,t){return t=t||\"\",\"\"+t+e};D.Expression.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+Iu(this.args,e,t)+\")\"};D.IRExpression.prototype.repr=function(e,t){t=t||0;var n=Array(t+1).join(\" \"),r=n+\" \",i=this._chunk.print().split(`\n`);return i.pop(),fr(this.type,e)+\"(`\\n\"+r+i.join(`\n`+r)+`\n`+n+\"`)\"};D.DoubleInequality.prototype.repr=function(e,t){t=t||0;var n=Array(t+1).join(\" \"),r=n+\" \";return fr(this.type,e)+`([\n`+r+this.args[0].repr(e,t+1)+`,\n`+r+\"'\"+this.args[1]+`',\n`+r+this.args[2].repr(e,t+1)+`,\n`+r+\"'\"+this.args[3]+`',\n`+r+this.args[4].repr(e,t+1)+`\n`+n+\"])\"};D.ComparatorChain.prototype.repr=function(e,t){return t=t||0,fr(this.type,e)+\"([\"+this.symbols.map(n=>`'${n}'`).join(\",\")+`],\n`+Iu(this.args,e,t)+\")\"};D.Identifier.prototype.repr=function(e){return fr(this.type,e)+\"('\"+this._symbol+\"')\"};D.Constant.prototype.repr=function(e){return fr(this.type,e)+\"(\"+this.asValue()+\")\"};D.ExtendSeed.prototype.repr=function(e,t){return fr(this.type,e)+\"('\"+this.tag+\"', \"+Iu(this.args,e,t)+\")\"};D.Seed.prototype.repr=function(e){return fr(this.type,e)+\"(\"+this.asValue()+\")\"};D.FunctionCall.prototype.repr=function(e,t){return fr(this.type,e)+\"('\"+this._symbol+\"', \"+Iu(this.args,e,t)+\")\"};D.RecursiveFunctionBaseCase.prototype.repr=function(e,t){return this.originalNode.repr(e,t)};D.Assignment.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+new D.Identifier(this._symbol).repr(e,t)+\", \"+this._expression.repr(e,t)+\")\"};D.CoordinateEquation.prototype.repr=function(e,t){return this.asEquation().repr(e,t)};D.Regression.prototype.repr=D.Equation.prototype.repr=D.CallAssignment.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+this._lhs.repr(e,t)+\", \"+this._rhs.repr(e,t)+\")\"};D.FunctionDefinition.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+new D.Identifier(this._symbol).repr(e,t)+\", \"+Iu(this._argSymbols.map(function(n){return new D.Identifier(n)}),e,t)+\", \"+this._expression.repr(e,t)+\")\"};D.Error.prototype.repr=function(e,t){return fr(this.type,e)+\"('\"+this._msg+\"')\"};D.Derivative.prototype.repr=function(e,t){return fr(this.type,e)+\"('\"+this._symbol+\"', \"+Iu(this.args,e,t)+\")\"};D.SolvedEquation.prototype.repr=function(e,t){return fr(this.type,e)+\"('\"+this._symbol+\"', \"+this._expression.repr(e,t)+\")\"};D.OptimizedRegression.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+JSON.stringify(this.parameters)+\", \"+JSON.stringify(this.residuals)+\", \"+JSON.stringify(this.statistics)+\", \"+this.model.repr(e,t+1)+\", \"+JSON.stringify({isModelValid:this.isModelValid,residualVariable:this.residualVariable,residualSuggestionId:this.residualSuggestionId,shouldSuggestLogMode:this.shouldSuggestLogMode,isLinear:this.isLinear,parameterWarning:this.parameterWarning})+\")\"};D.Table.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+Iu(this.columns,e,t)+\")\"};D.TableColumn.prototype.repr=function(e,t){return fr(this.type,e)+\"(\"+this.header.repr(e,t)+\", \"+this.length+\", \"+Iu(this.values,e,t)+\")\"};D.Image.prototype.repr=function(e,t){var n=Array(t+1).join(\" \"),r=n+\" \";return fr(this.type,e)+`({\n`+r+\"center: \"+this.center.repr(e,t+1)+`,\n`+r+\"radianAngle: \"+this.radianAngle.repr(e,t+1)+`,\n`+r+\"width: \"+this.width.repr(e,t+1)+`,\n`+r+\"height: \"+this.height.repr(e,t+1)+`},\n`+r+\"opacity: \"+this.opacity.repr(e,t+1)+`,\n`+r+JSON.stringify(this.moveStrategy)+`\n`+n+\"})\"};D.Ticker.prototype.repr=function(e,t){var n=Array(t+1).join(\" \"),r=n+\" \";return fr(this.type,e)+`({\n`+r+\"handler: \"+this.handler.repr(e,t+1)+`,\n`+r+\"minStep: \"+this.minStep.repr(e,t+1)+`\n`+n+\"})\"};D.Slider.prototype.repr=function(e,t){var n=Array(t+1).join(\" \"),r=n+\" \";return fr(this.type,e)+`({\n`+r+\"sliderAssignment: \"+this.sliderAssignment.repr(e,t+1)+`,\n`+r+\"sliderMin: \"+(this.sliderMin&&this.sliderMin.repr(e,t+1))+`,\n`+r+\"sliderMax: \"+(this.sliderMax&&this.sliderMax.repr(e,t+1))+`,\n`+r+\"sliderStep: \"+(this.sliderStep&&this.sliderStep.repr(e,t+1))+`},\n`+n+\")\"};var _g=function(e,t){return e.map(function(n){return n.substitute(t)})};D.Identifier.prototype.substitute=function(e){return e[this._symbol]?e[this._symbol]:this};D.FunctionCall.prototype.substitute=function(e){var t=e[this._symbol];if(t){if(t.type===\"Identifier\")return new D.FunctionCall(t,_g(this.args,e));if(t.type===\"Constant\")return new D.Multiply([t,this.args.length===1?this.args[0].substitute(e):new D.Constant(NaN)])}return D.Expression.prototype.substitute.call(this,e)};D.Constant.prototype.substitute=function(e){return this};D.Expression.prototype.substitute=function(e){return this.copyWithArgs(_g(this.args,e))};D.Derivative.prototype.substitute=function(e){var t=e[this._symbol];if(t){if(t.type===\"Identifier\")return new D.Derivative(t,_g(this.args,e));throw new Error(\"Cannot substitute for a derivative variable with a non-Identifier\")}return new D.Derivative(this._symbol,_g(this.args,e))};D.Expression.prototype.simpleFunctionExpression=function(){return this};D.Assignment.prototype.simpleFunctionExpression=function(){return this._expression};D.CoordinateEquation.prototype.simpleFunctionExpression=function(){return this.asEquation().simpleFunctionExpression()};D.FunctionDefinition.prototype.simpleFunctionExpression=function(){return this._expression};D.RecursiveFunctionBaseCase.prototype.simpleFunctionExpression=function(){return this._expression};D.Equation.prototype.simpleFunctionExpression=D.CallAssignment.prototype.simpleFunctionExpression=function(){return this.asComparator().simpleFunctionExpression()};function ea(e){return e>=100}function zR(e,t){switch(e){case 106:return 200;case 107:return 201;case 108:return 202;case 103:return 214;case 130:return 215;case 112:return 209;case 113:return 210;case 110:switch(t){case\"z\":return 206;case\"theta\":return 205;case\"x\":case\"y\":case\"r\":case\"_implicit\":return 211;default:return 10}case 109:switch(t){case\"r\":return 203;case\"theta\":return 204;case\"x\":case\"y\":case\"z\":case\"_implicit\":return 213;default:return 10}case 111:switch(t){case\"theta\":return 207;case\"phi\":return 208;case\"x\":case\"y\":case\"z\":case\"rho\":case\"_implicit\":return 212;default:return 10}default:return 10}}function YE(e){switch(e){case 123:case 122:case 121:case 120:case 124:case 126:case 127:return!0;default:return!1}}var Lg={normaldist:{type:\"distribution\",symbol:\"normaldist\",params:[\"mean\",\"stdev\"],defaults:[\"0\",\"1\"],discrete:!1},tdist:{type:\"distribution\",symbol:\"tdist\",params:[\"dof\"],defaults:[void 0],discrete:!1},binomialdist:{type:\"distribution\",symbol:\"binomialdist\",params:[\"trials\",\"probsuccess\"],defaults:[void 0,\"0.5\"],discrete:!0},poissondist:{type:\"distribution\",symbol:\"poissondist\",params:[\"mean\"],defaults:[void 0],discrete:!0},uniformdist:{type:\"distribution\",symbol:\"uniformdist\",params:[\"min\",\"max\"],defaults:[\"0\",\"1\"],discrete:!1}},r2={Histogram:{type:\"visualization\",symbol:\"histogram\",params:[\"data\",\"binwidth\"],defaults:[void 0,\"1\"]},DotPlot:{type:\"visualization\",symbol:\"dotplot\",params:[\"data\",\"binwidth\"],defaults:[void 0,\"1\"]},BoxPlot:{type:\"visualization\",symbol:\"boxplot\",params:[\"data\"],defaults:[void 0]}};function HR(e){let t=Vs(e,{trailingComma:!0});return Aa(t)}function Aa(e){let t=e,n=r2[t.type];if(!n)switch(t.type===\"Assignment\"&&(t=t._expression),t.type){case\"FunctionCall\":{n=Lg[t._symbol];break}default:return}if(!n)return;let r={},i=n.params,s=t.args;for(let o=0;o(this.dimensions||2)&&this.segments.push(this.segment),this.segment=[]}getSegments(){return this.breakSegment(),this.segments}finish(){return{segments:this.getSegments(),resolved:!0}}};var XR=5,a2=Math.pow(2,14),{abs:Hs}=Math;function ud(e,t){let n=u2(e,t);return{segments:n.contours.strokeSegments,fillSegments:n.contours.fillSegments,resolved:n.quadTree.resolved}}function u2(e,t){let n=Math.pow(2,-XR),r=YR(t,n),i=YR(t,2*n),s=c2(e,r,i),o=g2(s.root,e,r),a=T2(o,e,r);return{paddedDomain:r,rootDomain:i,quadTree:s,triangles:o,contours:a}}function gp(e,t,n){return{x:e,y:t,z:n}}function Eu(e,t,n){return{x:e,y:t,isZero:n}}function wg(e,t,n){return{vertices:[e,t,n],visited:!1,next:void 0}}function YR(e,t){let{mathToPixels:n}=e,r=n.interpolateX(e.xmin,e.xmax,-t),i=n.interpolateX(e.xmax,e.xmin,-t),s=n.interpolateY(e.ymin,e.ymax,-t),o=n.interpolateY(e.ymax,e.ymin,-t);return{...e,xmin:r,ymin:s,xmax:i,ymax:o}}function sd(e,t){return{depth:e,vertices:t,children:void 0,center:void 0}}function JE(e,t,n){e.center=ZR(e.vertices[0],e.vertices[1],e.vertices[2],e.vertices[3],t,n)}function c2(e,t,n){let r=l2(e,n),i=[],s=[];s.push(r);let o=1,a=!0;e:for(;s.length;){let u=i;i=s,s=u;let c;for(;c=i.pop();)if(f2(c,e,t)){if(p2(c,e,t),!c.children){a=!1;break e}if(s.push(c.children[0]),s.push(c.children[1]),s.push(c.children[2]),s.push(c.children[3]),o+=3,o>=a2){a=!1;break e}}else JE(c,e,t)}for(let u=0;u0==t.z>0&&t.z>0==n.z>0)return!1;let s=0;isFinite(e.z)&&(s=Math.max(s,Math.abs(e.z))),isFinite(t.z)&&(s=Math.max(s,Math.abs(t.z))),isFinite(n.z)&&(s=Math.max(s,Math.abs(n.z)));let o=32*Number.EPSILON*s,a,u,c,l;if(e.z>0==t.z>0){if(a=ci(e,t,r,i),a.z>0!=e.z>0)return!0;u=na(e,n,r,i,o),c=na(t,n,r,i,o),l=na(a,n,r,i,o)}else if(t.z>0==n.z>0){if(a=ci(t,n,r,i),a.z>0!=t.z>0)return!0;u=na(t,e,r,i,o),c=na(n,e,r,i,o),l=na(a,e,r,i,o)}else{if(a=ci(n,e,r,i),a.z>0!=n.z>0)return!0;u=na(n,t,r,i,o),c=na(e,t,r,i,o),l=na(a,t,r,i,o)}let{mathToPixels:p,map3d:f}=i;if(f){let g=f(l.x,l.y),d=f(u.x,u.y),y=f(c.x,c.y);var m=zM(g[0],g[1],g[2],d[0],d[1],d[2],y[0],y[1],y[2]);return m>i.tolerance}else{let[g,d]=p.mapCoordinatePair([l.x,l.y]),[y,h]=p.mapCoordinatePair([u.x,u.y]),[b,x]=p.mapCoordinatePair([c.x,c.y]);return kM(g,d,y,h,b,x)>i.tolerance}}function vu(e,t,n,r){if(isNaN(e.z)&&isNaN(t.z))return!1;if(isNaN(e.z)||isNaN(t.z))return e.z>0||t.z>0;let s=4*ci(e,t,n,r).z-t.z-3*e.z,o=1e-4,a=(n((1-o)*e.x+o*t.x,(1-o)*e.y+o*t.y)-e.z)/o,u=Math.max(Math.abs(e.z),Math.abs(t.z));return Math.abs(s-a)>.125*u}function d2(e,t){let{mathToPixels:n,map3d:r,tolerance:i}=t;if(r)return!1;{let[s,o]=n.mapCoordinatePair([e.vertices[1].x,e.vertices[1].y]),[a,u]=n.mapCoordinatePair([e.vertices[0].x,e.vertices[0].y]),[c,l]=n.mapCoordinatePair([e.vertices[3].x,e.vertices[3].y]);if(Hs(s-a)<10*i||Hs(u-l)<10*i)return!0}return!1}function m2(e,t){return e.vertices[0].xt.ymax||e.vertices[2].x>t.xmax||e.vertices[2].yt.xmax||e.yt.ymax}function yp(e,t,n){return gp(e,t,n(e,t))}function ci(e,t,n,r){let{mathToPixels:i}=r;return yp(i.interpolateX(e.x,t.x,.5),i.interpolateY(e.y,t.y,.5),n)}function ra(e,t,n,r){if(hp(e,r)||hp(t,r))return ci(e,t,n,r);if(isNaN(e.z)||isNaN(t.z))return y2(e,t,n,r);if(e.z>0!=t.z>0)return ci(e,t,n,r);let i=.01,s=n((1-i)*e.x+i*t.x,(1-i)*e.y+i*t.y)-e.z,o=t.z-n(i*e.x+(1-i)*t.x,i*e.y+(1-i)*t.y);return isNaN(s)||isNaN(o)||s>0==o>0?ci(e,t,n,r):WR(gp(e.x,e.y,s),gp(t.x,t.y,o),n,r)}function ZR(e,t,n,r,i,s){let o=ra(e,n,i,s);return e.z>0==n.z>0&&o.z>0!=e.z>0||(o=ra(t,r,i,s),t.z>0==r.z>0&&o.z>0!=t.z>0)?o:ci(e,n,i,s)}function WR(e,t,n,r){if(isNaN(e.z))return t;if(isNaN(t.z))return e;if(!isFinite(e.z)&&!isFinite(t.z))return ci(e,t,n,r);if(isFinite(e.z))if(isFinite(t.z)){let i=1-e.z/t.z,s=1-t.z/e.z;return yp(e.x/i+t.x/s,e.y/i+t.y/s,n)}else return e;else return t}function na(e,t,n,r,i){let{mathToPixels:s,map3d:o}=r,a=e.x,u=t.x,c=e.y,l=t.y,p=e.z,f=t.z;if(hp(e,r)||hp(t,r)){let m=ci(e,t,n,r);return Eu(m.x,m.y,!1)}if(o){let[m,g,d]=o(a,c),[y,h,b]=o(u,l);for(;Hs(m-y)>r.tolerance||Hs(g-h)>r.tolerance||Hs(d-b)>r.tolerance;){let x=.5*(a+u),P=.5*(c+l),M=n(x,P);if(M>0==p>0?(a=x,c=P,p=M):(u=x,l=P,f=M),(x===a||x===u)&&(P===c||P===l))break;[m,g,d]=o(a,c),[y,h,b]=o(u,l)}}else{let[m,g]=s.mapCoordinatePair([a,c]),[d,y]=s.mapCoordinatePair([u,l]);for(;Hs(m-d)>r.tolerance||Hs(g-y)>r.tolerance;){let h=.5*(a+u),b=.5*(c+l),x=n(h,b);x>0==p>0?(a=h,c=b,p=x):(u=h,l=b,f=x),[m,g]=s.mapCoordinatePair([a,c]),[d,y]=s.mapCoordinatePair([u,l])}}if(isNaN(p))return Eu(u,l,!1);if(isNaN(f))return Eu(a,c,!1);{let m=Math.abs(p),g=Math.abs(f);if(m100*i)return 1/m>=g?Eu(a,c,!0):Eu(u,l,!1);if(g100*i)return 1/g>=m?Eu(u,l,!0):Eu(a,c,!1);let d=WR(gp(a,c,p),gp(u,l,f),n,r),y=p===0||f===0||d.z===0||d.z>=p==f>=d.z&&Math.abs(d.z)<1e250;return Eu(d.x,d.y,y)}}function y2(e,t,n,r){let{mathToPixels:i,map3d:s}=r;if(isNaN(e.z)===isNaN(t.z))return ci(e,t,n,r);if(isNaN(e.z)){let p=e;e=t,t=p}let o=e.x,a=t.x,u=e.y,c=t.y,l=e.z;if(s){let[p,f,m]=s(o,u),[g,d,y]=s(a,c);for(;Hs(p-g)>r.tolerance||Hs(f-d)>r.tolerance||Hs(m-y)>r.tolerance||isNaN(p)||isNaN(g);){let h=.5*(o+a),b=.5*(u+c),x=n(h,b);if(isNaN(x)===isNaN(l)?(o=h,u=b,l=x):(a=h,c=b),(h===o||h===a)&&(b===u||b===c))break;[p,f,m]=s(o,u),[g,d,y]=s(a,c)}}else{let[p,f]=i.mapCoordinatePair([o,u]),[m,g]=i.mapCoordinatePair([a,c]);for(;Hs(p-m)>r.tolerance||Hs(f-g)>r.tolerance;){let d=.5*(o+a),y=.5*(u+c),h=n(d,y);isNaN(h)===isNaN(l)?(o=d,u=y,l=h):(a=d,c=y),[p,f]=i.mapCoordinatePair([o,u]),[m,g]=i.mapCoordinatePair([a,c])}}return gp(o,u,l)}function g2(e,t,n){let r={triangles:[],edgeCache:{},domain:n,fn:t};return od(e,r),r.triangles}function od(e,t){e.children&&(od(e.children[0],t),od(e.children[1],t),od(e.children[2],t),od(e.children[3],t),Du(e.children[0],e.children[1],t),Du(e.children[3],e.children[2],t),Su(e.children[1],e.children[2],t),Su(e.children[0],e.children[3],t))}function Du(e,t,n){e.children&&t.children?(Du(e.children[1],t.children[0],n),Du(e.children[2],t.children[3],n)):e.children?(Du(e.children[1],t,n),Du(e.children[2],t,n)):t.children?(Du(e,t.children[0],n),Du(e,t.children[3],n)):h2(e,t,n)}function Su(e,t,n){e.children&&t.children?(Su(e.children[2],t.children[1],n),Su(e.children[3],t.children[0],n)):e.children?(Su(e.children[2],t,n),Su(e.children[3],t,n)):t.children?(Su(e,t.children[1],n),Su(e,t.children[0],n)):b2(e,t,n)}function h2(e,t,n){if(!e.center||!t.center)return;let r,i;e.depth>=t.depth?(r=ra(e.vertices[1],e.vertices[2],n.fn,n.domain),i=Bg(e.vertices[1],t.center,e.vertices[2],e.center,r)):(r=ra(t.vertices[0],t.vertices[3],n.fn,n.domain),i=Bg(t.vertices[0],t.center,t.vertices[3],e.center,r)),jR(i,n.edgeCache,n.domain);for(let s=0;s<4;s++)n.triangles.push(i[s])}function b2(e,t,n){if(!e.center||!t.center)return;let r,i;e.depth>=t.depth?(r=ra(e.vertices[3],e.vertices[2],n.fn,n.domain),i=Bg(e.vertices[2],t.center,e.vertices[3],e.center,r)):(r=ra(t.vertices[1],t.vertices[0],n.fn,n.domain),i=Bg(t.vertices[1],t.center,t.vertices[0],e.center,r)),jR(i,n.edgeCache,n.domain);for(let s=0;s<4;s++)n.triangles.push(i[s])}function Bg(e,t,n,r,i){return[wg(e,i,t),wg(t,i,n),wg(n,i,r),wg(r,i,e)]}function ad(e,t,n){return e.z>0&&!hp(e,n)&&(!(t.z>0)||hp(t,n))}function Fg(e,t){return\"\"+e.x+\",\"+e.y+\",\"+t.x+\",\"+t.y}function jR(e,t,n){Vg(e[0],e[1],e[2],Fg(e[1].vertices[2],e[1].vertices[0]),t,n),Vg(e[1],e[2],e[3],Fg(e[2].vertices[0],e[2].vertices[2]),t,n),Vg(e[2],e[3],e[0],Fg(e[3].vertices[2],e[3].vertices[0]),t,n),Vg(e[3],e[0],e[1],Fg(e[0].vertices[0],e[0].vertices[2]),t,n)}function Vg(e,t,n,r,i,s){let o=t.vertices[0],a=t.vertices[1],u=t.vertices[2];ad(a,u,s)&&(t.next=n),ad(o,a,s)&&(t.next=e),ad(u,o,s)&&P2(t,r,i),ad(o,u,s)&&x2(t,r,i)}function x2(e,t,n){n[t]?n[t].next=e:n[t]=e}function P2(e,t,n){n[t]?e.next=n[t]:n[t]=e}function T2(e,t,n){let{tolerance:r,mathToPixels:i,map3d:s}=n,o;if(s){let a={tolerance:r,map:u=>s(u[0],u[1])};o={fillAccumulator:new xs(a),strokeAccumulator:new xs(a),fn:t,domain:n}}else{let a={tolerance:r,map:u=>i.mapCoordinatePair(u)};o={fillAccumulator:new xs(a),strokeAccumulator:new xs(a),fn:t,domain:n}}for(let a=0;as.mapCoordinatePair(o)}),this.fn=n,this.mappedFn=o=>s.mapY(n(o)),this.derivative=r,this.poiData={zeros:{x:[],y:[]},intercept:{x:[],y:[]},extrema:{x:[],y:[]}},this.zeroBuffer=[],this.extremumBuffer=[]}getPOI(){return rs.pointsOfInterest?(this.poiData.intercept=this.findIntercept(this.fn),this.poiData):{zeros:{x:[],y:[]},intercept:{x:[],y:[]},extrema:{x:[],y:[]}}}addPoint(t){this.segment.length===0&&KE(t[1])&&(this.poiData.zeros.x.push(t[0]),this.poiData.zeros.y.push(t[1])),this.updateZeroBuffer(t),this.updateExtremumBuffer(t),super.addPoint(t)}updateZeroBuffer(t){let[n,r]=this.map?this.map(t):t;if(!isFinite(n)||!isFinite(r)){this.zeroBuffer.length=0;return}switch(this.zeroBuffer.length){case 0:{if(KE(t[1]))return;this.zeroBuffer.push(t);return}case 1:if(t[1]===0){this.zeroBuffer.push(t);return}else if(t[1]>0!=this.zeroBuffer[0][1]>0){let i=zT(this.zeroBuffer[0][0],this.zeroBuffer[0][1],t[0],t[1],this.fn);i&&(this.poiData.zeros.x.push(i[0]),this.poiData.zeros.y.push(i[1])),this.zeroBuffer.length=0,this.zeroBuffer.push(t);return}else{this.zeroBuffer.length=0,this.zeroBuffer.push(t);return}case 2:{if(t[1]===0)return;if(t[1]>0!=this.zeroBuffer[0][1]>0){let i=vf(this.zeroBuffer[0][0],this.zeroBuffer[0][1],this.zeroBuffer[1][0],this.zeroBuffer[1][1],t[0],t[1],this.fn);i&&(this.poiData.zeros.x.push(i[0]),this.poiData.zeros.y.push(i[1])),this.zeroBuffer.length=0,this.zeroBuffer.push(t);return}else{this.zeroBuffer.length=0,this.zeroBuffer.push(t);return}}}}updateExtremumBuffer(t){let[n,r]=this.map?this.map(t):t;if(!isFinite(n)||!isFinite(r)){this.extremumBuffer.length=0;return}switch(this.extremumBuffer.length){case 0:{this.extremumBuffer.push(t);return}case 1:{t[1]===this.extremumBuffer[0][1]&&(this.extremumBuffer.length=0),this.extremumBuffer.push(t);return}case 2:if(t[1]===this.extremumBuffer[1][1]){this.extremumBuffer.push(t);return}else if(t[1]>this.extremumBuffer[1][1]!=this.extremumBuffer[1][1]>this.extremumBuffer[0][1]){let i=this.bisectExtremumUsingDerivative(this.extremumBuffer[0][0],this.extremumBuffer[0][1],this.extremumBuffer[1][0],this.extremumBuffer[1][1],t[0],t[1]);i&&(this.poiData.extrema.x.push(i[0]),this.poiData.extrema.y.push(i[1]),!Hl(this.extremumBuffer[0][0],this.mappedFn(this.extremumBuffer[0][0]),i[0],this.mappedFn(i[0]),t[0],this.mappedFn(t[0]),this.mappedFn,this.ytolerance)&&i[0]>this.segment[this.segment.length-2]&&(this.pendingPoint=i)),this.extremumBuffer.shift(),this.extremumBuffer.push(t);return}else{this.extremumBuffer.shift(),this.extremumBuffer.push(t);return}case 3:{if(t[1]===this.extremumBuffer[1][1])return;if(t[1]>this.extremumBuffer[1][1]!=this.extremumBuffer[1][1]>this.extremumBuffer[0][1]){let i,s=.5*(this.extremumBuffer[1][0]+this.extremumBuffer[2][0]),o=this.fn(s);o===this.extremumBuffer[1][1]?i=vf(this.extremumBuffer[0][0],this.extremumBuffer[0][1],this.extremumBuffer[1][0],this.extremumBuffer[1][1],t[0],t[1],this.fn):i=this.bisectExtremumUsingDerivative(this.extremumBuffer[1][0],this.extremumBuffer[1][1],s,o,this.extremumBuffer[2][0],this.extremumBuffer[2][1]),i&&(this.poiData.extrema.x.push(i[0]),this.poiData.extrema.y.push(i[1])),this.extremumBuffer.shift(),this.extremumBuffer.shift(),this.extremumBuffer.push(t);return}else{this.extremumBuffer.shift(),this.extremumBuffer.shift(),this.extremumBuffer.push(t);return}}}}bisectExtremumUsingDerivative(t,n,r,i,s,o){let a;if(this.derivative){let u=this.derivative(t),c=this.derivative(s);if(!isNaN(u)&&!isNaN(c)&&(i>n&&u>0&&c<0||i0)){let l=zT(t,u,s,c,this.derivative);l&&(a=[l[0],this.fn(l[0])])}}return a||(a=UD(t,n,r,i,s,o,this.fn)),a}breakSegment(){this.zeroBuffer.length=0,this.extremumBuffer.length=0,this.flushPending(),this.segment.length>2&&(this.segments.push(this.segment),KE(this.segment[this.segment.length-1])&&(this.poiData.zeros.x.push(this.segment[this.segment.length-2]),this.poiData.zeros.y.push(this.segment[this.segment.length-1]))),this.segment=[]}findIntercept(t){if(!t)return{x:[],y:[]};let n=t(0);return isFinite(n)?{x:[0],y:[t(0)]}:{x:[],y:[]}}finish(){return{segments:this.getSegments(),resolved:!0,poi:this.getPOI()}}};var E2=e=>{for(var t=[],n=[],r=e.length,i=0;i0){n=o,i=a;break}else return{posNeg:t0(e,o,t,a,r,s),posNaN:S2(e,o,n,s)};if(s*=.5,s<1){let u=gs(t,n,.5);return r>0?{posNaN:u}:{}}}return{posNeg:e0(e,t,n,r,i,s)}}function e0(e,t,n,r,i,s){return r>0?t0(e,t,n,r,i,s):t0(e,n,t,i,r,s)}function t0(e,t,n,r,i,s){let o=r-i;for(;;){let a=gs(t,n,.5),u=e(...a);if(u<0)n=a,i=u;else if(u>0)t=a,r=u;else return u===0?a:void 0;if(s*=.5,s<1){if(r-i<.1*o)return gs(t,n,.5);if(s<1e-6)return}}}function S2(e,t,n,r){for(;;){let i=gs(t,n,.5),s=e(...i);if(!isFinite(s))n=i;else if(s>=0)t=i;else return;if(r*=.5,r<1)return gs(t,n,.5)}}function bp(e,t,n,r,i,s,o){let[a,u,c]=[new Qe,new Qe,new Qe],[l,p,f]=[new Qe,new Qe,new Qe],[m,g]=[new Qe,new Qe];for(let y=0;yo&&p.dot(d)>o&&f.dot(d)>o)||l.dot(p)<0||l.dot(f)<0||p.dot(f)<0){let M=t.length/3;e[3*y]=M,e[3*y+1]=M+1,e[3*y+2]=M+2,t.push(a.x,a.y,a.z),t.push(u.x,u.y,u.z),t.push(c.x,c.y,c.z),n.push(d.x,d.y,d.z),n.push(d.x,d.y,d.z),n.push(d.x,d.y,d.z),r.push(r[2*h],r[2*h+1]),r.push(r[2*b],r[2*b+1]),r.push(r[2*x],r[2*x+1]);let I=i;if(i>0){for(let E=0;E250)throw new Error(\"Programming Error: resolution should be clamped well below 250.\");this.size=new Qe(this.x.width/s,this.y.width/s,this.z.width/s)}loopOverUnitCubes(t){let n=this.gridsize,r=n+1,i=new kg(this.x.min,this.y.min,this.z.min,this.size.x,this.size.y,this.size.z,n+1,n+1,n+1),s=new kg(this.x.min+this.size.x/2,this.y.min+this.size.y/2,this.z.min+this.size.z/2,this.size.x,this.size.y,this.size.z,n,n,n),o=i.setupArray(this.PAConstructor),a=i.setupArray(this.PAConstructor),u=s.setupArray(this.PAConstructor);this.evaluateArray(a,i,0);for(let c=0;c0&&i>0||r<0&&i<0)&&(isFinite(r)||isFinite(i))&&(this.edgesMaybeCross|=1<0&&(this.cubeEdge[0]=o.edge0,this.cubeEdge[1]=o.edge1,this.cubeEdge[2]=o.edge2,this.cubeEdge[3]=u.edge2,this.cubeEdge[4]=a.edge0,c|=31),r>0&&(this.cubeEdge[5]=this.strip[n].edge0,this.cubeEdge[6]=this.strip[n].edge1,this.cubeEdge[7]=this.strip[n+1].edge0,this.cubeEdge[8]=this.strip[n].edge2,c|=480,i==0&&(this.cubeEdge[2]=o.edge2,c|=4)),n>0&&(this.cubeEdge[9]=this.face.edge0,this.cubeEdge[10]=this.face.edge1,this.cubeEdge[11]=this.face.edge2,c|=3584,i==0&&(this.cubeEdge[0]=o.edge0,c|=1),r==0&&(this.cubeEdge[5]=this.strip[n].edge0,c|=32));for(let l=0;l<26;l++){if(~this.edgesMaybeCross>>l&1){this.cubeEdge[l]=fd;continue}if(c>>l&1){!this.cubeHasCrossing&&(this.cubeEdge[l].posNeg||this.cubeEdge[l].posNaN)&&(this.cubeHasCrossing=!0);continue}let p=this.findSurfaceCrossingEDI(Er[l*2],Er[l*2+1]);this.cubeEdge[l]=p,_2(p)&&(this.cubeHasCrossing=!0)}}saveEdges(){let{i:n,j:r,k:i,gridsize:s}=this;ia&&isFinite(c)&&(a=c);let l=o[1],p=Math.abs(this.cubeVertexValue.get(l));p>a&&isFinite(p)&&(a=p);let f=o[2],m=Math.abs(this.cubeVertexValue.get(f));m>a&&isFinite(m)&&(a=m);let g=o[3],d=Math.abs(this.cubeVertexValue.get(g));d>a&&isFinite(d)&&(a=d);let y=a*Number.EPSILON*32;if(c<=y){s|=35;let b=this.pushPositionWithGradient(...this.cubeVertex[u]);b!==void 0&&i.push(b)}if(p<=y){s|=21;let b=this.pushPositionWithGradient(...this.cubeVertex[l]);b!==void 0&&i.push(b)}if(m<=y){s|=14;let b=this.pushPositionWithGradient(...this.cubeVertex[f]);b!==void 0&&i.push(b)}if(d<=y){s|=56;let b=this.pushPositionWithGradient(...this.cubeVertex[g]);b!==void 0&&i.push(b)}if(i.length===4)continue;let h;for(let b=0;b<4;b++){let x=o[b];if(this.cubeVertexValue.get(x)>y){h=this.cubeVertex[x];break}}if(h===void 0&&this.isInequality)for(let b=0;b<6;b++){if(s>>b&1)continue;let{posNeg:x,posNaN:P}=this.cubeEdge[r[b]];if(Lc(x)&&Lc(P)){h=gs(this.positions.slice((x-1)*3,x*3),this.positions.slice((P-1)*3,P*3),.5);break}}if(h===void 0)for(let b=0;b<4;b++){let x=o[b];if(!isFinite(this.cubeVertexValue.get(x))){h=this.cubeVertex[x];break}}if(h===void 0&&s&&i.length>0){let b;for(let x=0;x<4;x++){let P=o[x];if(this.cubeVertexValue.get(P)<-y){b=this.cubeVertex[P];break}}if(b){let x=i[0],P=this.positions.slice((x-1)*3,x*3);h=gs(b,P,2)}}if(h!==void 0){if(this.isInequality){let b=[],x=[],P=!1;for(let M=0;M<6;M++){if(s>>M&1)continue;let{posNeg:I,posNaN:E}=this.cubeEdge[r[M]],v=Lc(I),O=Lc(E);v&&b.push(I),O&&x.push(E),v&&O&&(P=!0)}if(P){b.push(...i),this.pushTriangleFromCorners(x,h),this.pushTriangleFromCorners(b,h);continue}}for(let b=0;b<6;b++){if(s>>b&1)continue;let{posNeg:x,posNaN:P}=this.cubeEdge[r[b]],M=x||P;Lc(M)&&i.push(M)}this.pushTriangleFromCorners(i,h)}}}pushTriangleFromCorners(n,r){if(n.length>=3){let i=n[0]-1,s=n[1]-1,o=n[2]-1;this.pushTriangle(i,s,o,r)}if(n.length==4){let i=n[0]-1,s=n[2]-1,o=n[3]-1;this.pushTriangle(i,s,o,r)}}pushTriangle(n,r,i,s){this.allNormalsFromGradient||this.fixBadNormals(n,r,i,s),this.checkWindingOrder(n,r,i)&&([r,i]=[i,r]),this.triangles.push(n,r,i)}fixBadNormals(n,r,i,s){let o=!this.normalFromGradient[n],a=!this.normalFromGradient[r],u=!this.normalFromGradient[i];if(!(o||a||u))return;let c=this.positions,l=this.normals,p=new Qe(c[3*n],c[3*n+1],c[3*n+2]),f=new Qe(c[3*r],c[3*r+1],c[3*r+2]),m=new Qe(c[3*i],c[3*i+1],c[3*i+2]),g=new Qe().subVectors(m,p),d=new Qe().subVectors(p,f);var y=g.cross(d);let h=new Qe().subVectors(p,new Qe(...s));y.dot(h)<0&&y.multiply(-1),y.isFinite()&&(o&&(l[3*n+0]+=y.x,l[3*n+1]+=y.y,l[3*n+2]+=y.z),a&&(l[3*r+0]+=y.x,l[3*r+1]+=y.y,l[3*r+2]+=y.z),u&&(l[3*i+0]+=y.x,l[3*i+1]+=y.y,l[3*i+2]+=y.z))}checkWindingOrder(n,r,i){let s=this.positions,o=this.normals,a=s[3*i]-s[3*n],u=s[3*i+1]-s[3*n+1],c=s[3*i+2]-s[3*n+2],l=s[3*n]-s[3*r],p=s[3*n+1]-s[3*r+1],f=s[3*n+2]-s[3*r+2],m=u*f-c*p,g=c*l-a*f,d=a*p-u*l,y=o[3*n],h=o[3*n+1],b=o[3*n+2];return m*y+g*h+d*b<0}};function qg(e){let{triangles:t,normalDirHints:n}=e.triangulate(),{extraAttrCount:r}=e,i=e.getVertexCount(),s=new Array(i),o=new Array(i*3),a=[],u=!1,c=new Array(i*3),l=new Array(i*2),p=new Array(i*r),f=[],m=0;function g(y){let h=e.getVertex(y);if(!h)return null;let b=n[y],x=b?e.hintedNormal(y,b):e.getNormal(y);x?(c[3*m]=x[0],c[3*m+1]=x[1],c[3*m+2]=x[2]):(a[m]=!0,u=!0,c[3*m]=0,c[3*m+1]=0,c[3*m+2]=0),o[3*m]=h[0],o[3*m+1]=h[1],o[3*m+2]=h[2];let P=e.getUV(y);if(l[2*m]=P[0],l[2*m+1]=P[1],r>0)for(let M=0;Mn){let u=t;t=n,n=u,r=1}let i=n*n+t,s=this.edgeVertices.get(i);if(s===null)return;if(s!==void 0)return[s[r],s[1-r]];let o=this.findJumpBetweenTwoSamples(t,n);if(o===void 0){this.edgeVertices.set(i,null);return}let a=[this.addVertex(o[0]),this.addVertex(o[1])];return this.edgeVertices.set(i,a),[a[r],a[1-r]]}edgeNormalFeature(t,n){let r=0;if(t>n){let u=t;t=n,n=u,r=1}let i=n*n+t,s=this.edgeNormalVertices.get(i);if(s!==void 0)return this.flipEdgeNormalFeature(s,r);let o=this.findCreaseBetweenTwoSamples(t,n),a=o===null?null:o.type===\"high-curvature\"?{type:\"high-curvature\",pos:this.addVertex(o.pos)}:{type:\"crease\",left:this.addVertex(o.left),right:this.addVertex(o.right)};return this.edgeNormalVertices.set(i,a),this.flipEdgeNormalFeature(a,r)}flipEdgeNormalFeature(t,n){return(t==null?void 0:t.type)===\"crease\"?{type:\"crease\",left:n===0?t.left:t.right,right:n===0?t.right:t.left}:t}findCreaseBetweenTwoSamples(t,n){let s=this.getUV(t),o=this.getUV(n),a=this.getNormal(t),u=this.getNormal(n),c=b=>{var P;let x=Jn(s,o,b);return(P=this.fn(x).normal)!=null?P:[NaN,NaN,NaN]};if(!a||!u)return null;let l=o[0]-s[0],p=o[1]-s[1],f=this.du,m=this.dv,g=(Math.abs(f*l)+Math.abs(m*p))/(l*l+p*p),d=xy(0,a,1,u,c,.01,2*g,.9);if(d===void 0)return null;if(typeof d==\"number\")return d1-g?null:{type:\"high-curvature\",pos:this.fn(Jn(s,o,d))};let y=d[0],h=d[1];return y1-g?null:(y-=g,h+=g,y<=1e-8&&(y=1e-8),h>=1-1e-8&&(h=1-1e-8),{type:\"crease\",left:this.fn(Jn(s,o,y)),right:this.fn(Jn(s,o,h))})}isVertexAtCrease(t){let n=this.isVertexAtCreaseCache[t];if(n!==void 0)return n;let r=this._isVertexAtCrease(t);return this.isVertexAtCreaseCache[t]=r,r}finiteAlongEdge(t,n){if(t>n){let a=t;t=n,n=a}let r=n*n+t,i=this.finiteVertices.get(r);if(i!==void 0)return i;let s=this.findFiniteBetweenTwoSamples(t,n);if(s===void 0)return;let o=this.addVertex(s);return this.finiteVertices.set(r,o),o}pushTriangle(t,n,r){this.isDegenerate(t,n,r)||this.triangles.push(t,n,r)}getTriangles(){return this.triangles}},L2=1e-4,w2=.99,Tp=.9999;function a0(e,t){return!e||!t?!0:e[0]*t[0]+e[1]*t[1]+e[2]*t[2]{let r=this._fn(n),i=this.tangentInForced(n,[this.du,0],r),s=this.tangentInForced(n,[0,this.dv],r),o=kl(i,s);return{uv:n,f:r,normal:o,dfEast:i,dfNorth:s}};this._fn=l=>n(l[0],l[1]),this.xmin=r.xmin*6-r.xmax*5,this.xmax=r.xmax*6-r.xmin*5,this.ymin=r.ymin*6-r.ymax*5,this.ymax=r.ymax*6-r.ymin*5,this.zmin=r.zmin*6-r.zmax*5,this.zmax=r.zmax*6-r.zmin*5,this.distThresh=((r.xmax-r.xmin)*1e-6)**2}getVertexCount(){return this.vertices.length}getUV(n){return this.vertices[n].uv}getNormal(n){return this.vertices[n].normal}_addVertex(n){return this.vertices.push(n)-1}copyVertex(n){return this.addVertex(this.vertices[n])}getF(n){return this.vertices[n].f}getDfNorth(n){return this.vertices[n].dfNorth}getDfEast(n){return this.vertices[n].dfEast}insidePaddedDomain(n){return this.zmin<=n[2]&&n[2]<=this.zmax&&this.ymin<=n[1]&&n[1]<=this.ymax&&this.xmin<=n[0]&&n[0]<=this.xmax}tangentInForced(n,r,i){let s=Ef(n,r);return wT(this._fn(s),i)}_isVertexAtCrease(n){let r=this.getUV(n),i=this.getDfEast(n),s=this.getDfNorth(n),o=this.getF(n),a=this.tangentInForced(r,[-this.du,0],o);if(FT(a,i)/Math.sqrt(Gl(a)*Gl(i))>-Tp)return!0;let c=this.tangentInForced(r,[0,-this.dv],o);return FT(s,c)/Math.sqrt(Gl(s)*Gl(c))>-Tp}hintedNormal(n,r){let i=this.getUV(n),s=this.getF(n),o=kl(this.tangentInForced(i,r[0],s),this.tangentInForced(i,r[1],s));return zl(...o)?o:this.getNormal(n)}getVertex(n){if(this.allowVertex(n))return this.getF(n)}getExtraAttr(n,r){return this.vertices[n].f[3+r]}findJumpBetweenTwoSamples(n,r){let i=this.getUV(n),s=this.getF(n),o=0,a=this.getUV(r),u=this.getF(r),c=1,l=m=>this._fn(Jn(i,a,m));if(!isFinite(s[0])||!isFinite(s[1])||!isFinite(s[2])||!isFinite(u[0])||!isFinite(u[1])||!isFinite(u[2]))return;let f=xy(o,s,c,u,l,(this.xmax-this.xmin)*1e-6,0,0);if(f)return[this.fn(Jn(i,a,ys(f[0],0,1e-5))),this.fn(Jn(i,a,ys(f[1],1,1e-5)))]}clip(n){return this.insidePaddedDomain(n)?n:[NaN,NaN,NaN]}findFiniteBetweenTwoSamples(n,r){let i=this.getUV(n),s=this.getF(n),o=this.getUV(r),a=this.getF(r),u=l=>this.clip(this._fn(Jn(i,o,l))),c=by(0,this.clip(s),1,this.clip(a),u);if(c!==void 0)return this.fn(Jn(i,o,c))}allowVertex(n){return this.insidePaddedDomain(this.getF(n))}isDegenerate(n,r,i){let s=this.getF(n),o=this.getF(r);if(xa(s,o)p});return d0(l.segments)}function $g(e,t,n,r){let i=r.degreeMode?Math.PI/180:1;return Fc(s=>{let o=e(s),a=o[0],u=o[1],c=o[2];return[a*xn(u*i),a*Kt(u*i),c]},t,n,r)}function m0(e,t,n,r){let i=r.degreeMode?Math.PI/180:1;return Fc(s=>{let o=e(s),a=o[0],u=o[1],c=o[2];return[a*Kt(c*i)*xn(u*i),a*Kt(c*i)*Kt(u*i),a*xn(c*i)]},t,n,r)}function g0(e,t){return{type:\"linear\",s:e,t}}function oN(e,t){return{type:\"logarithmic\",s:e,t}}function aN(e,t){return{type:\"exponential\",s:e,t}}function h0(){return g0(1,0)}function G2([e,t],[n,r]){let i=(r-n)/(t-e),s=(n+r)/2-i*(t+e)/2;return g0(i,s)}function k2([e,t],[n,r]){let i=(r-n)/(Math.log(t)-Math.log(e)),s=(Math.log(t)*n-Math.log(e)*r)/(Math.log(t)-Math.log(e));return oN(i,s)}function z2([e,t],[n,r]){let i=(Math.log(r)-Math.log(n))/(t-e),s=(t*Math.log(n)-e*Math.log(r))/(t-e);return aN(i,s)}function b0(e,t,n){switch(e){case\"linear\":return G2(t,n);case\"logarithmic\":return k2(t,n);case\"exponential\":return z2(t,n);default:{let r=e;throw new Error(\"Unexpected scale type: \"+r)}}}function x0({type:e,s:t,t:n},r){switch(e){case\"linear\":return t*r+n;case\"logarithmic\":return t*Math.log(r)+n;case\"exponential\":return Math.exp(t*r+n);default:let i=e;throw new Error(\"Unexpected scale type: \"+i)}}function P0(e,t,n,r){switch(e){case\"linear\":return H2(t,n,r);case\"logarithmic\":return Math.pow(t,1-r)*Math.pow(n,r);case\"exponential\":return r===0?t:r===1?n:Math.log((1-r)*Math.exp(t)+r*Math.exp(n));default:let i=e;throw new Error(\"Unexpected scale type: \"+i)}}function H2(e,t,n){return(1-n)*e+n*t}function T0({type:e,s:t,t:n}){switch(e){case\"linear\":return g0(1/t,-n/t);case\"logarithmic\":return aN(1/t,-n/t);case\"exponential\":return oN(1/t,-n/t);default:let r=e;throw new Error(\"Unexpected scale type: \"+r)}}function I0(e){switch(e){case\"linear\":return\"linear\";case\"logarithmic\":return\"exponential\";case\"exponential\":return\"logarithmic\";default:let t=e;throw new Error(\"Unexpected scale type: \"+t)}}function Xg({width:e,height:t}){return{left:0,right:e,top:0,bottom:t}}function Zg({xmin:e,xmax:t,ymin:n,ymax:r}){return{left:e,right:t,bottom:n,top:r}}var Ou=class e{constructor(t,n){this.xScale=t,this.yScale=n}static fromRects(t,n,{xAxisScale:r,yAxisScale:i}){return new e(b0(r,[t.left,t.right],[n.left,n.right]),b0(i,[t.bottom,t.top],[n.bottom,n.top]))}static fromRectsInverse(t,n,{xAxisScale:r,yAxisScale:i}){return e.fromRects(n,t,{xAxisScale:I0(r),yAxisScale:I0(i)})}inverse(){return new e(T0(this.xScale),T0(this.yScale))}mapX(t){return x0(this.xScale,t)}mapY(t){return x0(this.yScale,t)}mapPoint({x:t,y:n}){return{x:this.mapX(t),y:this.mapY(n)}}mapCoordinatePair([t,n]){return[this.mapX(t),this.mapY(n)]}mapRect({top:t,bottom:n,left:r,right:i}){return{left:this.mapX(r),right:this.mapX(i),bottom:this.mapY(n),top:this.mapY(t)}}interpolateX(t,n,r){return P0(this.xScale.type,t,n,r)}interpolateY(t,n,r){return P0(this.yScale.type,t,n,r)}dangerouslyGetXScaleFactor(){if(this.xScale.type!==\"linear\")throw new Error(`Cannot get scale factor a '${this.xScale.type}' scale`);return this.xScale.s}dangerouslyGetYScaleFactor(){if(this.yScale.type!==\"linear\")throw new Error(`Cannot get scale factor a '${this.yScale.type}' scale`);return this.yScale.s}};var E0=class extends Pp{constructor(n,r,i,s,o,a=[0,1,2]){let u=r.width/1e8,c=i.width/1e8;super({resolution:o,uRange:r,vRange:i,du:u,dv:c,extraAttrCount:0});this.vertices=[];this.fn=n=>{let r=this._fn(n),i=this.tangentInForcedDf(n,[this.du,0],r),s=this.tangentInForcedDf(n,[0,this.dv],r),o=kl([this.du,0,i],[0,this.dv,s]);return{uv:n,f:r,normal:[o[this.perm0],o[this.perm1],o[this.perm2]],dfEast:i,dfNorth:s}};this._fn=l=>n(l[0],l[1]),this.paddedOutputDomain=new ee(s.min-5*s.width,s.max+5*s.width),this.jumpTolerance=s.width/1e3,this.perm0=a[0],this.perm1=a[1],this.perm2=a[2]}getVertexCount(){return this.vertices.length}getUV(n){return this.vertices[n].uv}getNormal(n){return this.vertices[n].normal}_addVertex(n){return this.vertices.push(n)-1}copyVertex(n){return this.addVertex(this.vertices[n])}getF(n){return this.vertices[n].f}getDfNorth(n){return this.vertices[n].dfNorth}getDfEast(n){return this.vertices[n].dfEast}tangentInForcedDf(n,r,i){let s=Ef(n,r);return this._fn(s)-i}tangentInForced(n,r,i){let s=Ef(n,r);return[r[0],r[1],this._fn(s)-i]}getExtraAttr(){throw new Error(\"Unexpected getExtraAttr call in explicit-surface.ts\")}_isVertexAtCrease(n){let r=this.getUV(n),i=this.getDfEast(n),s=this.getDfNorth(n),o=this.getF(n),a=this.tangentInForcedDf(r,[-this.du,0],o);if((-this.duSquared+a*i)/Math.sqrt((this.duSquared+a*a)*(this.duSquared+i*i))>-Tp)return!0;let l=this.tangentInForcedDf(r,[0,-this.dv],o);return(-this.dvSquared+s*l)/Math.sqrt((this.dvSquared+s*s)*(this.dvSquared+l*l))>-Tp}hintedNormal(n,r){let i=this.getUV(n),s=this.getF(n),o=kl(this.tangentInForced(i,r[0],s),this.tangentInForced(i,r[1],s));return zl(...o)?[o[this.perm0],o[this.perm1],o[this.perm2]]:this.getNormal(n)}getVertex(n){if(!this.allowVertex(n))return;let r=this.getF(n),i=this.getUV(n);return[this.perm0===2?r:i[this.perm0],this.perm1===2?r:i[this.perm1],this.perm2===2?r:i[this.perm2]]}findJumpBetweenTwoSamples(n,r){let i=this.getUV(n),s=this.getF(n),o=0,a=this.getUV(r),u=this.getF(r),c=1,l=f=>this._fn(Jn(i,a,f));if(!isFinite(s)||!isFinite(u))return;let p=qD(o,s,c,u,l,this.jumpTolerance);if(p)return[this.fn(Jn(i,a,ys(p[0],0,1e-5))),this.fn(Jn(i,a,ys(p[1],1,1e-5)))]}findFiniteBetweenTwoSamples(n,r){let i=this.getUV(n),s=this.getF(n),o=this.getUV(r),a=this.getF(r),u=p=>{let f=this._fn(p);return fthis.paddedOutputDomain.max?NaN:f},c=p=>u(Jn(i,o,p)),l=si(0,this.paddedOutputDomain.min0&&a>0||s<0&&a<0)&&(isFinite(s)||isFinite(a))&&(this.edgesMaybeCrossF|=1<0&&u>0||o<0&&u<0)&&(isFinite(o)||isFinite(u))&&(this.edgesMaybeCrossG|=1<n&&isFinite(c)&&(n=c),l>r&&isFinite(c)&&(r=l)}let i=this.threshF=n*Number.EPSILON*32,s=this.threshG=r*Number.EPSILON*32;for(let o=0;o<9;o++){let a=this.cubeVertexValue.getX(o),u=this.cubeVertexValue.getY(o),c=Math.abs(a),l=Math.abs(u);if(this.vertexZeroF[o]=c<=i,this.vertexZeroG[o]=l<=s,c<=i&&l<=s){let p=this.cubeVertex[o],f=this.createFGZ(rN(this.cubeID,o),p);this.vertexFGZs[o]=f}else this.vertexFGZs[o]=void 0}}getEdgeCrossings(n){let r=this.edgesMaybeCrossF>>n&1,i=this.edgesMaybeCrossG>>n&1;if(!r&&!i)return $2;let s=pd(this.cubeID,n),o=this.edgeCrossings.get(s);if(o!==void 0)return o;let a=this.getEdgeCrossingsUncached(n,r,i);return this.edgeCrossings.set(s,a),a}getEdgeCrossingsUncached(n,r,i){let s=Er[n*2],o=Er[n*2+1],a=this.cubeVertexValue.getX(s),u=this.cubeVertexValue.getY(s),c=this.cubeVertexValue.getX(o),l=this.cubeVertexValue.getY(o),p=this.cubeVertex[s],f=this.cubeVertex[o],m=!r||a===0||c===0?void 0:ld(this.f,p,f,a,c),g=!i||u===0||l===0?void 0:ld(this.g,p,f,u,l),d=this.threshF;!m&&g&&Math.abs(a)<=d&&Math.abs(c)<=d&&Math.abs(this.f(g[0],g[1],g[2]))<=d&&(m=g);let y=this.threshG;return!g&&m&&Math.abs(u)<=y&&Math.abs(l)<=y&&Math.abs(this.g(m[0],m[1],m[2]))<=y&&(g=m),{f:m,g}}getTriangleCrossing(n){let r=i0(this.cubeID,n),i=this.allFGZs.get(r);if(i!==void 0)return i;let s=this.getTriangleCrossingUncached(n);return this.allFGZs.set(r,s),s}createFGZ(n,r){let i=this.allFGZs.get(n);if(i)return i;let s={id:n,pos:r,connections:[],visited:!1};return this.allFGZs.set(n,s),s}getTriangleCrossingUncached(n){let r=[],i=[],s=r0[n];for(let a=0;a<3;a++){let u=s[a];if(this.vertexFGZs[u])return null;this.vertexZeroF[u]&&r.push(this.cubeVertex[u]),this.vertexZeroG[u]&&i.push(this.cubeVertex[u])}let o=n0[n];for(let a=0;a<3;a++){let u=o[a],c=this.tetEdgeCrossings[u];if(this.edgeFGZs[u]||!c)continue;let l=c.f,p=c.g,f=Er[2*u],m=Er[2*u+1];l&&!this.vertexZeroF[f]&&!this.vertexZeroF[m]&&r.push(l),p&&!this.vertexZeroG[f]&&!this.vertexZeroG[m]&&i.push(p)}if(r.length===2&&i.length===2){let a=Y2(r[0],r[1],i[0],i[1]);return a?{id:i0(this.cubeID,n),pos:a,connections:[],visited:!1}:null}else return null}setEdgeCrossings(){for(let n=0;n<26;n++){let r=this.getEdgeCrossings(n),i=r.f,s=r.g,o=Er[n*2],a=Er[n*2+1];if(this.vertexFGZs[o]||this.vertexFGZs[a])this.tetEdgeCrossings[n]=void 0,this.edgeFGZs[n]=void 0;else if(i&&this.vertexZeroG[o]&&this.vertexZeroG[a]){let u=this.createFGZ(pd(this.cubeID,n),i);this.edgeFGZs[n]=u,this.tetEdgeCrossings[n]=void 0}else if(s&&this.vertexZeroF[o]&&this.vertexZeroF[a]){let u=this.createFGZ(pd(this.cubeID,n),s);this.edgeFGZs[n]=u,this.tetEdgeCrossings[n]=void 0}else if(i&&s&&xa(i,s)<1e-8){let u=this.createFGZ(pd(this.cubeID,n),i);this.edgeFGZs[n]=u,this.tetEdgeCrossings[n]=void 0}else this.edgeFGZs[n]=void 0,this.tetEdgeCrossings[n]=r}}insertCurveSegmentsFromCube(){for(let n=0;n<12;n++)this.insertCurveSegmentsFromTetrahedron(n)}insertCurveSegmentsFromTetrahedron(n){let r=[],i=tN[n];for(let l=0;l<4;l++){let p=this.getTriangleCrossing(i[l]);p&&r.push(p)}let s=[],o=Gg[n];for(let l=0;l<6;l++){let p=this.edgeFGZs[o[l]];p&&s.push(p)}let a=[],u=[Er[o[0]*2],Er[o[0]*2+1],Er[o[3]*2],Er[o[3]*2+1]];for(let l of u){let p=this.vertexFGZs[l];p&&a.push(p)}let c=[...a,...s,...r];switch(c.length){case 0:case 1:break;case 2:this.connectCrossings(c[0],c[1]);break;case 3:r.length===2&&this.connectCrossings(r[0],r[1]);break;case 4:r.length===4&&(this.connectCrossings(r[0],r[1]),this.connectCrossings(r[2],r[3]));break;default:throw new Error(\"Programming error: 5 is impossible.\")}}connectCrossings(n,r){n.connections.some(i=>i.id===r.id)||r.connections.some(i=>i.id===n.id)||n.connections.length>=2||r.connections.length>=2||(n.connections.push(r),r.connections.push(n))}traceCurves(){let n={xtolerance:this.size.x*.1,ytolerance:this.size.y*.1,ztolerance:this.size.z*.1,map:i=>i},r=new xs(n);for(let i of this.allFGZs.values())i&&!i.visited&&i.connections.length===1&&this.traceCurve(r,i);for(let i of this.allFGZs.values())i&&!i.visited&&this.traceCurve(r,i);return r.finish().segments}traceCurve(n,r){let i=r;for(;;){n.addPoint(r.pos),r.visited=!0;let s;for(let o of r.connections)o.visited||(s=o);if(!s)break;r=s}i.connections.length===2&&n.addPoint(i.pos),n.breakSegment()}},[jg,uN,M0]=[new Qe,new Qe,new Qe],cN=new Qe,[v0,D0,lN]=[new Qe,new Qe,new Qe],[Jg,pN,Qg]=[new Qe,new Qe,new Qe];function Y2(e,t,n,r){jg.set(e[0],e[1],e[2]),uN.set(t[0],t[1],t[2]),M0.set(n[0],n[1],n[2]),cN.set(r[0],r[1],r[2]),v0.subVectors(uN,jg),D0.subVectors(cN,M0),lN.subVectors(M0,jg),Jg.crossVectors(v0,D0),pN.crossVectors(lN,D0);let i=Jg.dot(pN)/Jg.dot(Jg);return 0<=i&&i<=1?(Qg.addVectors(jg,v0.multiply(i)),[Qg.x,Qg.y,Qg.z]):null}function Kg(e,t,n,r){let i=[],s=[],o=[],a=[],{xmin:u,xmax:c,ymin:l,ymax:p,zmin:f,zmax:m}=n,g,d,y;switch(r){case\"z\":g={xmin:u,xmax:c,ymin:l,ymax:p},d=(P,M)=>[P[M],P[M+1],f,P[M],P[M+1],m],y=(P,M)=>e(P,M,0);break;case\"y\":g={xmin:u,xmax:c,ymin:f,ymax:m},d=(P,M)=>[P[M],l,P[M+1],P[M],p,P[M+1]],y=(P,M)=>e(P,0,M);break;case\"x\":g={xmin:f,xmax:m,ymin:l,ymax:p},d=(P,M)=>[u,P[M+1],P[M],c,P[M+1],P[M]],y=(P,M)=>e(0,M,P);break}let h=Xg({width:500,height:500}),b={...g,mathToPixels:Ou.fromRects(Zg(g),h,{xAxisScale:\"linear\",yAxisScale:\"linear\"}),tolerance:Xs},x=ud(y,b);for(let P of x.segments)for(let M=0;M0){let L=i.length/3-4;a.push(L,L+1,L+2),a.push(L+2,L+1,L+3)}}return bp(a,i,s,o,0,[],.7),{positions:i,normals:s,faces:a,uvs:o,resolved:x.resolved,extraAttrs:[]}}var{floor:dN}=Math,mN=1e4,eh=5,yN=(e,t,n)=>({x:e,y:t,z:n}),gN=(e,t,n)=>({x:n,y:e,z:t}),hN=(e,t,n)=>({x:e,y:n,z:t}),th=class{constructor(){this.xmin=lr.xmin;this.xmax=lr.xmax;this.ymin=lr.ymin;this.ymax=lr.ymax;this.zmin=lr.zmin;this.zmax=lr.zmax}},X2=0;function fi(){return\"result_\"+X2++}function Z2(){return{zeros:{x:[],y:[]},extrema:{x:[],y:[]},intercept:{x:[],y:[]}}}function IN(e){return{graphMode:15,error:e,segments:[]}}function C0(e,t){let n=e[0]+t.min*e[1],r=e[0]+t.max*e[1],i={zeros:{x:[],y:[]},intercept:{x:[],y:[]},extrema:{x:[],y:[]}};if(!isFinite(n)||!isFinite(r))return{segments:[],poi:i,resolved:!0};let s=[[t.min,n,t.max,r]],o=-e[0]/e[1];return!isNaN(o)&&o>=t.min&&o<=t.max&&(i.zeros.x.push(o),i.zeros.y.push(0)),0>=t.min&&0<=t.max&&(i.intercept.x.push(0),i.intercept.y.push(e[0])),{segments:s,poi:i,resolved:!0}}function W2(e,t){let n=C0(e[0],t),r=C0(e[1],t);return n.segments.length&&r.segments.length&&n.segments[0].length===4&&r.segments[0].length===4?{segments:[[n.segments[0][1],r.segments[0][1],n.segments[0][3],r.segments[0][3]]],resolved:!0}:{segments:[],resolved:!0}}function j2(e,t){let n=e(t);return{segments:[[...n,...n]],resolved:!0}}function bN(e,t,n){let{mappedFn:r,jumpTolerance:i,screen:s}=n,[o,a]=e,[u,c]=t,l=pa(o,u),p=r(l),f=s.height;if(!(a<0&&c<0&&(a>=p||c>=p))&&!(a>f&&c>f&&(a<=p||c<=p)))return Hl(o,a,l,p,u,c,r,i)}var O0=(e,t,n)=>{let{fn:r,mappedFn:i,jumpTolerance:s,accumulator:o}=n;if(!isFinite(s)||s<=0)return;let a=bN(e,t,n);if(!a)return;let u=(t[0]-e[0])/10,c=[-u,u],l;for(let p=0;pn.mathToPixels.mapY(t(s));this.derivative=r,this.accumulator=new cd(n,t,r),this.fn=t,this.mathToPixels=n.mathToPixels,this.mappedFn=i,this.jumpTolerance=n.tolerance||0,this.screen=n.screen}};function xN(e,t,n,r){let i=n,s=e(i),o=t.mapY(s);return r>0&&!isFinite(o)&&(i=n+r,s=e(i),o=t.mapY(s)),r>0&&!isFinite(o)&&(i=n-r,s=e(i),o=t.mapY(s)),[i,s,o]}function A0(e,t,n){let r=new R0(e,t,n),{mathToPixels:i,mappedFn:s}=r,o=t.nInitialSamples,[a,u,c]=xN(e,i,t.min,0);isFinite(c)&&r.accumulator.addPoint([a,u]);for(var l=1;lmN&&(s=i+(mN-1),o=!1);let a=[];for(let u=i;u<=s;u++){let c=t(u);!isFinite(u)||!isFinite(c)||a.push([u,c])}return{segments:a,resolved:o}}function Q2(e,t,n,r){let i=t.min,s=t.max-t.min,o=t.rtoleranceMath,a=Math.floor(s/(Math.PI/n)),u,c,l;function p(f,m){let g=m%2===0?1:-1;if(!r&&g===-1)return!1;let d=m*(Math.PI/n),y=[i,i+1,i+2,i+3],h=!1;for(let b=0,x=y.length;bo)return!1}return!!h}for(u=1;u<=a;u++)if(p(e,u)){for(l=u,c=2;c*u<=a;c++)p(e,c*u)||(l=void 0);if(l)break}return l?l*(Math.PI/n):null}function EN(e){return[e[1]*Math.cos(e[0]),e[1]*Math.sin(e[0])]}function Yg(e,t){if(t.maxf(p(m))}let{xtolerance:n,ytolerance:r,ztolerance:i,map:s}=t,o=new xs({xtolerance:n,ytolerance:r,ztolerance:i,map:s}),a=10,u=t.min,c=e(u);isFinite(c[0])&&isFinite(c[1])&&o.addPoint(c);let l=t.nInitialSamples;for(let p=1;p.2&&M<.8&&Math.abs(y[0]-(g[0]+M*(d[0]-g[0])))<=u&&Math.abs(y[1]-(g[1]+M*(d[1]-g[1])))<=c&&(g.length===2||Math.abs(y[2]-(g[2]+M*(d[2]-g[2])))<=l);if(P||I||a&&ek(g,y,d,a)){o.addPoint(i);return}}md(e,t,n,f,m,s-1,o,a),md(e,f,m,r,i,s-1,o,a)}}function ek(e,t,n,{width:r,height:i}){return e[0]<0&&n[0]<0&&(e[0]>=t[0]||n[0]>=t[0])||e[0]>r&&n[0]>r&&(e[0]<=t[0]||n[0]<=t[0])||e[1]<0&&n[1]<0&&(e[1]>=t[1]||n[1]>=t[1])||e[1]>i&&n[1]>i&&(e[1]<=t[1]||n[1]<=t[1])}function tk(){return qi({positions:[],normals:[],faces:[],uvs:[],resolved:!0,extraAttrs:[]})}function _0(e,t,n,r,i,{isInequality:s}){let o=e.fn,a;return t&&!t.includes(\"z\")?a=Kg(o,n,r,\"z\"):t&&!t.includes(\"x\")?a=Kg(o,n,r,\"x\"):t&&!t.includes(\"y\")?a=Kg(o,n,r,\"y\"):a=iN(o,n,r,i,{isInequality:s}),qi(a)}function PN(e,t,n,r,i){let s=wc(e,t,n,r,i,0);return qi(s)}function nk(e,t,n,r,i,s){let o=s?Math.PI/180:1,a=e.fn,u=wc((c,l)=>{let[p,f,m]=a(c,l);return[p*xn(f*o),p*Kt(f*o),m,p,f]},t,n,r,i,2);return qi(u)}function rk(e,t,n,r,i,s){let o=s?Math.PI/180:1,a=e.fn,u=wc((c,l)=>{let[p,f,m]=a(c,l);return[p*Kt(m*o)*xn(f*o),p*Kt(m*o)*Kt(f*o),p*xn(m*o),p,f,m]},t,n,r,i,3);return qi(u)}function ik(e,t,n){let r=e.fn,i=Wg((s,o)=>r(s,o),new ee(t.xmin,t.xmax),new ee(t.ymin,t.ymax),new ee(t.zmin,t.zmax),n);return qi(i)}function sk(e,t,n){let r=e.fn,i=Wg((s,o)=>r(s,o),new ee(t.ymin,t.ymax),new ee(t.zmin,t.zmax),new ee(t.xmin,t.xmax),n,[2,0,1]);return qi(i)}function ok(e,t,n){let r=e.fn,i=Wg((s,o)=>r(o,s),new ee(t.zmin,t.zmax),new ee(t.xmin,t.xmax),new ee(t.ymin,t.ymax),n,[1,2,0]);return qi(i)}function ak(e,t,n,r,i,s){let o=s?Math.PI/180:1,a=e.fn,u=wc((c,l)=>[c*xn(l*o),c*Kt(l*o),a(c,l)],t,n,r,i,0);return qi(u)}function uk(e,t,n,r,i,s){let o=s?Math.PI/180:1,a=e.fn,u=wc((c,l)=>{let p=a(c,l);return[p*xn(c*o),p*Kt(c*o),l,p]},t,n,r,i,1);return qi(u)}function ck(e,t,n,r,i,s){let o=s?Math.PI/180:1,a=e.fn,u=wc((c,l)=>{let p=a(c,l);return[p*Kt(l*o)*xn(c*o),p*Kt(l*o)*Kt(c*o),p*xn(l*o),p]},t,n,r,i,1);return qi(u)}function qi(e){let{positions:t,normals:n,faces:r,uvs:i,extraAttrs:s,resolved:o}=e;return{guid:fi(),positions:new Float32Array(t),normals:new Float32Array(n),faces:new Uint32Array(r),uvs:new Float32Array(i),resolved:o,extraAttrs:new Float32Array(s)}}function TN(e){for(let t of e)if(t!==0)return!1;return!0}function MN(e,t){let{min:n,max:r,mathToPixels:i,nInitialSamples:s}=t,o=i.interpolateX(n,r,0),a=e(o),u=TN(a),c=!1,l=[];for(var p=1;p3){let Re=t.willConvertTo3D?200:e.screen.width;var M=P*(l-c)/Re;let Ne=t.willConvertTo3D?200:e.screen.height;var I=P*(f-p)/Ne;c-=M,l+=M,p-=I,f+=I}let v=1/4,O=t.domainBound,A,N=Ou.fromRects(Zg(r),Xg(i),{xAxisScale:s,yAxisScale:o}),L={xmin:c,xmax:l,ymin:p,ymax:f,zmin:m,zmax:g};switch(t.graphMode){case 1:switch(A=Dn(Xi([p,f]),O),A.type){case\"empty\":return!1;case\"interval\":p=A.bounds[0],f=A.bounds[1]}let Re=Math.max(eh,1+Math.ceil(Math.abs(N.mapY(f)-N.mapY(p))/v)),Ne=new Ou(N.yScale,N.xScale);return{min:p,max:f,tolerance:v,nInitialSamples:Re,mathToPixels:Ne,screen:{width:i.height,height:i.width}};case 2:{switch(A=Dn(Xi([c,l]),O),A.type){case\"empty\":return!1;case\"interval\":c=A.bounds[0],l=A.bounds[1]}let Te=Math.max(eh,1+Math.ceil(Math.abs(N.mapX(l)-N.mapX(c))/v));return{min:c,max:l,tolerance:v,nInitialSamples:Te,mathToPixels:N,screen:i}}case 6:{let Te=e.degreeMode?Math.PI/180:1;if(((Y=t.domain)==null?void 0:Y.type)!==\"1d\")throw new Error(\"Expected polar graph to have domain\");let{min:Me,max:ve}=t.domain;switch(A=Dn(Xi([Me,ve]),O),A.type){case\"empty\":return!1;case\"interval\":Me=A.bounds[0],ve=A.bounds[1]}let Q=Math.max(eh,1+Math.min(Math.ceil(Te*Math.abs(ve-Me)/(2*Math.PI)*1e3),12e3)),U=Math.abs(N.mapX(l)-N.mapX(c)),xe=Math.abs(N.mapY(f)-N.mapY(p)),le=Math.hypot(U,xe),_e=Math.hypot(l-c,f-p)/le,Ze={min:Me,max:ve,screen:i,nInitialSamples:Q,xtolerance:v,ytolerance:v,rtoleranceMath:_e,map:([me,te])=>N.mapCoordinatePair(EN([me,te]))};if(!t.domain.isExplicit){let me=Q2(n,Ze,Te,t.operator===\"=\");me&&(Ze.max=Ze.min+me,Ze.nInitialSamples=Math.max(eh,1+Math.min(Math.ceil(Te*Math.abs(Ze.max-Ze.min)/(2*Math.PI)*1e3),12e3)))}return Ze}case 5:case 100:case 101:case 102:{let Te={min:0,max:1},{min:Me,max:ve}=((de=t.domain)==null?void 0:de.type)===\"1d\"?t.domain:Te;switch(A=Dn(Xi([Me,ve]),O),A.type){case\"empty\":return!1;case\"interval\":Me=A.bounds[0],ve=A.bounds[1]}let Q;return(!isFinite(Me)||!isFinite(ve))&&(Q=DN,Me=nh(Me),ve=nh(ve)),{min:Me,max:ve,screen:i,nInitialSamples:y0(Me,ve),xtolerance:v,ytolerance:v,ztolerance:v,parameterTransform:Q,map:([U,xe])=>N.mapCoordinatePair([U,xe])}}case 8:return{xmin:c,xmax:l,ymin:p,ymax:f,mathToPixels:N,tolerance:v};case 106:return{...L,u:new ee(c,l),v:new ee(p,f)};case 120:case 122:case 107:return{...L,u:new ee(p,f),v:new ee(m,g)};case 121:case 123:case 108:return{...L,u:new ee(c,l),v:new ee(m,g)};case 109:return{...L,u:new ee(y,d?h:lr.xmax),v:new ee(b,d?x:2*Math.PI)};case 124:case 110:{let{min:Te,max:Me}=((re=t.domain)==null?void 0:re.type)===\"1d\"?t.domain:{min:0,max:2*Math.PI};return{...L,u:new ee(Te,Me),v:new ee(m,g)}}case 211:{let{min:Te,max:Me}=((ie=t.domain)==null?void 0:ie.type)===\"1d\"?t.domain:{min:0,max:2*Math.PI/u};return{...{xmin:Te,xmax:Me,ymin:m,ymax:g},u:new ee(Te,Me),v:new ee(m,g),mathToPixels:Cu,tolerance:Xs}}case 212:{let Te=d?h:2*Math.PI/u,Me=d?x:Math.PI/u;return{...{xmin:y,xmax:Te,ymin:b,ymax:Me},u:new ee(y,Te),v:new ee(b,Me),mathToPixels:Cu,tolerance:Xs}}case 215:case 214:return{...{xmin:y,xmax:h,ymin:b,ymax:x},u:new ee(y,h),v:new ee(b,b),mathToPixels:Cu,tolerance:Xs};case 213:{let Te=d?h:lr.xmax,Me=d?x:2*Math.PI/u;return{...{xmin:y,xmax:Te,ymin:b,ymax:Me},u:new ee(y,Te),v:new ee(b,Me),mathToPixels:Cu,tolerance:Xs}}case 111:return{...L,u:new ee(y,d?h:2*Math.PI/u),v:new ee(b,d?x:Math.PI/u)};case 117:case 118:case 119:case 129:case 130:case 103:case 104:case 105:case 112:case 126:case 113:case 127:case 210:case 114:case 115:case 116:return{...L,u:new ee(y,h),v:new ee(b,x)};case 200:case 201:case 202:case 206:case 205:case 203:case 204:case 207:case 208:{if(t.graphMode===200&&(t.slice_coordinate===\"z\"||t.slice_coordinate===\"_implicit\"))return{xmin:c,xmax:l,ymin:p,ymax:f,mathToPixels:N,tolerance:Xs};if(t.graphMode===201&&(t.slice_coordinate===\"x\"||t.slice_coordinate===\"_implicit\"))return{...{xmin:p,xmax:f,ymin:m,ymax:g},mathToPixels:Cu,tolerance:Xs};if(t.graphMode===202&&(t.slice_coordinate===\"y\"||t.slice_coordinate===\"_implicit\"))return{...{xmin:c,xmax:l,ymin:m,ymax:g},mathToPixels:Cu,tolerance:Xs};let{min:Te,max:Me}=((Z=t.domain)==null?void 0:Z.type)===\"1d\"?t.domain:{min:0,max:2*Math.PI};return{x:new ee(c,l),y:new ee(p,f),z:new ee(m,g),t:new ee(Te,Me),u:new ee(y,h),v:new ee(b,x)}}case 209:return t.slice_coordinate===\"z\"?{xmin:c,xmax:l,ymin:p,ymax:f,mathToPixels:N,tolerance:Xs}:t.slice_coordinate===\"x\"?{...{xmin:p,xmax:f,ymin:m,ymax:g},mathToPixels:Cu,tolerance:Xs}:t.slice_coordinate===\"y\"?{...{xmin:c,xmax:l,ymin:m,ymax:g},mathToPixels:Cu,tolerance:Xs}:t.slice_coordinate===\"_implicit\"?{...L,u:new ee(c,l),v:new ee(p,f)}:!1;default:return!1}}function DN(e){return Math.sinh(10*e)/(1-e*e)}function nh(e){if(e===1/0)return 1;if(e===-1/0)return-1;let t=Math.asinh(e);return 2*t/(10+Math.sqrt(100+4*t*t))}function rh(e){let{viewState:t,graphInfo:n,compiled:r,maxOverride:i,showPoint:s}=e,o=r.fn,a=Ip(t,n,o),u;if(!a)u={segments:[],resolved:!0};else{let{min:p,max:f}=a;u=J2({fn:o,min:Math.max(p,0),max:i!==void 0?Math.min(i,f):f})}let{points:c,droppedIndices:l}=yd(u.segments);return{segments:[c],droppedIndices:l,graphMode:3,color:n.color,style:n.pointStyle,poi:Us(u.segments),resolved:u.resolved,showPoint:s}}function lk(e){switch(e){case 120:case 122:return 107;case 121:case 123:return 108;case 124:return 110;case 126:return 112;case 127:return 113;default:return e}}function SN(e,t,n){let r=n?Math.PI/180:1;switch(e){case 114:return t;case 115:{let[i,s,o]=t;return[i*xn(s*r),i*Kt(s*r),o]}case 116:{let[i,s,o]=t;return[i*Kt(o*r)*xn(s*r),i*Kt(o*r)*Kt(s*r),i*xn(o*r)]}default:return[0,0,0]}}function _a(e){var d,y,h,b,x,P,M,I,E;let{viewState:t,graphInfo:n,compiled:r,derivative:i}=e,s=r.fn,{degreeMode:o}=t,a=o?Math.PI/180:1,u=Ip(t,n,s),c,l,p,f=lk(n.graphMode),m=t.xAxisScale===\"linear\"&&t.yAxisScale===\"linear\";if(!u)c={segments:[],resolved:!0};else{switch(f){case 1:case 2:let v=i?i.fn:void 0;c=n.isLinear&&m&&mo(n.linearCoefficients)?C0(n.linearCoefficients,u):A0(s,u,v);break;case 6:c=Yg(G=>[G,s(G)],u);break;case 8:c=ud(s,u);break;case 5:u.max===u.min?c=j2(s,u.min):c=n.isLinear&&m&&mo(n.linearCoefficients)?W2(n.linearCoefficients,u):Yg(s,u);break;case 100:case 101:case 102:let O=r.fn,{min:A,max:N}=((d=n.domain)==null?void 0:d.type)===\"1d\"?n.domain:{min:0,max:1};if(!isFinite(A)||!isFinite(N)){A=nh(A),N=nh(N);let G=O;O=$=>G(DN($))}let L=new ee(A,N),z=[];switch(f){case 100:z=Fc(O,L,n.resolution,t);break;case 101:z=$g(O,L,n.resolution,t);break;case 102:z=m0(O,L,n.resolution,t);break}return{graphMode:100,guid:fi(),points:z,color:n.color,thickness:n.lineWidth};case 112:case 113:case 130:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:{let G=u,{u:$,v:w}=G,Y=f===112||f===113,de=n.graphMode===122||n.graphMode===123,re=Y?dd:de?2:sN,{resolution:ie}=n,Z=ie===void 0||isNaN(ie)?re:rr(dN(ie),2,100),Re=Xi([$.min,$.max]).type!==\"empty\"&&Xi([w.min,w.max]).type!==\"empty\",Ne;switch(Re&&f){case 103:{let ve=r.fn;Ne=PN(ve,G,$,w,Z);break}case 130:{Ne=PN((Q,U)=>{let[xe,le]=r.fn(Q,U);return[xe,le,0]},G,$,w,Z);break}case 104:Ne=nk(r,G,$,w,Z,o);break;case 105:Ne=rk(r,G,$,w,Z,o);break;case 106:Ne=ik(r,G,Z);break;case 107:Ne=sk(r,G,Z);break;case 108:Ne=ok(r,G,Z);break;case 109:Ne=ak(r,G,$,w,Z,o);break;case 110:Ne=uk(r,G,$,w,Z,o);break;case 111:Ne=ck(r,G,$,w,Z,o);break;case 112:case 113:Ne=_0(r,e.dependencies,e.gradient,u,Z,{isInequality:(y=e.isImplicit3dInequality)!=null?y:!1});break;case!1:Ne=tk();break}let Te=n.graphMode===113||n.graphMode===127;return{meshData:Ne,resolved:Ne.resolved,color:n.color,fillOpacity:Te?1:(h=n.fillOpacity)!=null?h:1,uvRange:[$,w],uvArgs:(b=ss[n.graphMode])!=null?b:[],extraMeshArgs:(x=Vc[n.graphMode])!=null?x:[],graphMode:f,compiled:r,restrictionShader:e.restrictionShader3d}}case 200:case 201:case 202:case 211:case 206:case 205:case 203:case 204:case 213:case 207:case 208:case 212:case 214:case 215:case 209:{let G=(Q,U,xe)=>{let le=(Rd,Nd)=>{let Yc=xe(Rd,Nd);return isNaN(Yc[0])||isNaN(Yc[1])||isNaN(Yc[2])?NaN:Q(Rd,Nd)},K=t.viewport,{xmin:_e,xmax:Ze,ymin:me,ymax:te,zmin:pt,zmax:Ro}=K,Ba=(_e+Ze)/2,ku=(me+te)/2,$c=(pt+Ro)/2,Od=Ze-_e,Cd=te-me,Ah=Ro-pt,RM=ud(le,{...U,map3d:(Rd,Nd)=>{let[Yc,NM,AM]=xe(Rd,Nd);return isNaN(Yc)||isNaN(NM)||isNaN(AM)?[NaN,NaN,NaN]:[(Yc-Ba)/Od,(NM-ku)/Cd,(AM-$c)/Ah]}});return{segments:RM.segments,resolved:RM.resolved,graphMode:8,color:n.color,lineWidth:n.lineWidth,lineOpacity:n.lineOpacity,listIndex:n.listIndex,operator:n.operator,compiled:r,poi:{}}},$=r.fn,w=(P=n.slice_value)!=null?P:0,Y=(M=n.slice_coordinate)!=null?M:\"\",de=u,re,ie,Z,Re=!0,Ne=(Q,U)=>{let le=G(Q,u,(me,te)=>{let{x:pt,y:Ro,z:Ba}=U(me,te,Q(me,te));return[pt,Ro,Ba]}),K=n.lineWidth,_e=oh(le,t,K,w),Ze=_e.points;for(let me=0;me{let xe=[];for(let _e=0;_e{var le;let xe=G(Q,Me,U);return Re=(le=xe.resolved)!=null?le:!0,Te(xe,U)};switch(f){case 200:{if(Y===\"z\")return Ne((U,xe)=>$(U,xe)-w,yN);if(Y===\"_implicit\"){let U=n.slice_function.fn;Z=ve((K,_e)=>U(K,_e,$(K,_e)),(K,_e)=>[K,_e,$(K,_e)]);break}let Q=Y===\"x\";re=Q?de.y:de.x,ie=Q?U=>[w,U,$(w,U)]:U=>[U,w,$(U,w)],Z=Fc(ie,re,n.resolution,t);break}case 201:{if(Y===\"x\")return Ne((U,xe)=>$(U,xe)-w,gN);if(Y===\"_implicit\"){let U=n.slice_function.fn;Z=ve((K,_e)=>U($(K,_e),K,_e),(K,_e)=>[$(K,_e),K,_e]);break}let Q=Y===\"y\";re=Q?de.z:de.y,ie=Q?U=>[$(w,U),w,U]:U=>[$(U,w),U,w],Z=Fc(ie,re,n.resolution,t);break}case 202:{if(Y===\"y\")return Ne((U,xe)=>$(U,xe)-w,hN);if(Y===\"_implicit\"){let U=n.slice_function.fn;Z=ve((K,_e)=>U(K,$(K,_e),_e),(K,_e)=>[K,$(K,_e),_e]);break}let Q=Y===\"x\";re=Q?de.z:de.x,ie=Q?U=>[w,$(w,U),U]:U=>[U,$(U,w),w],Z=Fc(ie,re,n.resolution,t);break}case 209:{let Q=r.fn;if(Y===\"x\")return Ne((U,xe)=>Q(w,U,xe),gN);if(Y===\"y\")return Ne((U,xe)=>Q(U,w,xe),hN);if(Y===\"z\")return Ne((U,xe)=>Q(U,xe,w),yN);if(Y===\"_implicit\"){let{resolution:U}=n,xe=U===void 0||isNaN(U)?dd:rr(dN(U),2,100);Z=fN(r.fn,n.slice_function.fn,u,xe);break}else throw new Error(\"Programming Error: unexpected slice coordinate\")}case 206:case 205:{let Q=Y===\"z\";re=Q?de.t:de.z,ie=Q?U=>[$(U,w),U,w]:U=>[$(w,U),w,U],Z=$g(ie,re,n.resolution,t);break}case 211:{let Q=r.fn,U;switch(Y){case\"x\":U=(me,te)=>Q(me,te)*xn(me*a)-w;break;case\"y\":U=(me,te)=>Q(me,te)*Kt(me*a)-w;break;case\"r\":U=(me,te)=>Q(me,te)-w;break;case\"_implicit\":let Ze=n.slice_function.fn;U=(me,te)=>Ze(Q(me,te)*xn(me*a),Q(me,te)*Kt(me*a),te,Q(me,te),me);break;default:throw new Error(\"Programming Error: bad slice\")}let xe=Y===\"x\",le=Y===\"y\",K=(Ze,me)=>[xe?w:Q(Ze,me)*xn(Ze*a),le?w:Q(Ze,me)*Kt(Ze*a),me],_e=G(U,Me,K);Z=Te(_e,K),Re=(I=_e.resolved)!=null?I:!0;break}case 213:{let Q=Y===\"x\",U=Y===\"y\",xe=Y===\"z\",le=r.fn,K;switch(Y){case\"x\":K=(te,pt)=>te*xn(pt*a)-w;break;case\"y\":K=(te,pt)=>te*Kt(pt*a)-w;break;case\"z\":K=(te,pt)=>le(te,pt)-w;break;case\"_implicit\":let me=n.slice_function.fn;K=(te,pt)=>me(te*xn(pt*a),te*Kt(pt*a),le(te,pt),te,pt);break;default:throw new Error(\"Programming Error: bad slice\")}let _e=(me,te)=>[Q?w:me*xn(te*a),U?w:me*Kt(te*a),xe?w:le(me,te)],Ze=G(K,Me,_e);Z=Te(Ze,_e);break}case 212:{let Q=Y===\"x\",U=Y===\"y\",xe=Y===\"z\",le=r.fn,K;switch(Y){case\"x\":K=(te,pt)=>le(te,pt)*Kt(pt*a)*xn(te*a)-w;break;case\"y\":K=(te,pt)=>le(te,pt)*Kt(pt*a)*Kt(te*a)-w;break;case\"z\":K=(te,pt)=>le(te,pt)*xn(pt*a)-w;break;case\"rho\":K=(te,pt)=>le(te,pt)-w;break;case\"_implicit\":let me=n.slice_function.fn;K=(te,pt)=>me(le(te,pt)*Kt(pt*a)*Kt(te*a),le(te,pt)*Kt(pt*a)*xn(te*a),le(te,pt)*xn(pt*a),le(te,pt),te,pt);break;default:throw new Error(\"Programming Error: bad slice\")}let _e=(me,te)=>[Q?w:le(me,te)*Kt(te*a)*xn(me*a),U?w:le(me,te)*Kt(te*a)*Kt(me*a),xe?w:le(me,te)*xn(te*a)],Ze=G(K,Me,_e);Z=Te(Ze,_e),Re=(E=Ze.resolved)!=null?E:!0;break}case 215:case 214:{let Q=f===214?r.fn:(xe,le)=>{let[K,_e]=r.fn(xe,le);return[K,_e,0]},U;switch(Y){case\"x\":U=(le,K)=>Q(le,K)[0]-w;break;case\"y\":U=(le,K)=>Q(le,K)[1]-w;break;case\"z\":U=(le,K)=>Q(le,K)[2]-w;break;case\"u\":U=(le,K)=>le-w;break;case\"v\":U=(le,K)=>K-w;break;case\"_implicit\":let xe=n.slice_function.fn;U=(le,K)=>{let[_e,Ze,me]=Q(le,K);return xe(_e,Ze,me,le,K)};break;default:throw new Error(\"Programming Error: bad slice\")}Z=ve(U,Q);break}case 203:case 204:{let Q=Y===\"r\";re=Q?de.v:de.u,ie=Q?U=>[w,U,$(w,U)]:U=>[U,w,$(U,w)],Z=$g(ie,re,n.resolution,t);break}case 207:case 208:{let Q=Y===\"theta\";re=Q?de.v:de.u,ie=Q?U=>[$(w,U),w,U]:U=>[$(U,w),U,w],Z=m0(ie,re,n.resolution,t);break}}return{graphMode:100,guid:fi(),points:Z,resolved:Re,color:n.color,thickness:n.lineWidth}}default:throw new Error(\"Programming Error: unexpected graphmode \"+f)}p=c.poi}if((!p||p.zeros.x.length+p.extrema.x.length+p.intercept.x.length>250)&&(p=Z2()),f===1)for(let v in p){if(!p.hasOwnProperty(v))continue;let O=v;l=p[O].y,p[O].y=p[O].x,p[O].x=l}let g={segments:c.segments,resolved:c.resolved,graphMode:f,color:n.color,style:n.lineStyle,lineWidth:n.lineWidth,lineOpacity:n.lineOpacity,listIndex:n.listIndex,operator:n.operator,poi:p,compiled:r};if(f===6){let v=u;g.sampledDomain={min:v.min,max:v.max}}return c.fillSegments&&(g.fillSegments=c.fillSegments),g}function pk(e,t,n){let r,i,s,o,a=[],u=null;switch(n){case 6:u=EN;break;case 1:u=function(c){return[c[1],c[0]]};break}for(r=0;r=0;r--)for(o=t[r],i=o.length-2;i>=0;i-=2)s=[o[i],o[i+1]],u&&(s=u(s)),a.push(s[0],s[1]);return a}function ih(e,t,n){let r=l=>l[l.length-2],i=[],s=0,o=0,a=[],u=[],c=-1/0;for(;;){for(;o=2);)o+=1;for(;s=2);)s+=1;(o>=e.length||e[o][0]>c)&&(s>=t.length||t[s][0]>c)&&(a.length>0&&u.length>0&&i.push(pk(a,u,n)),a=[],u=[],c=Math.max(c,o{let n=e.segments[0],r=t.segments[0],i=[[...n,...r]];return{...e,segments:i}};function mk(e){let{viewState:t,graphInfo:n,compiled:r,derivative:i,bounds:s}=e,o=Bs(n),a=Dn(n.domainBound,Xi(s));if(!gi(a))return o.domainBound=a,o.lineStyle=\"SOLID\",_a({graphInfo:o,viewState:t,compiled:r,derivative:i})}function Ru(e){let{viewState:t,graphInfo:n,compiled:r,bounds:i,included:s,showPoint:o}=e,a=Bs(n),u=Dn(n.domainBound,Xi(i));if(!gi(u))return a.domainBound=u,a.pointStyle=s?\"POINT\":\"OPEN\",rh({graphInfo:a,viewState:t,compiled:r,showPoint:o,maxOverride:void 0})}function NN(e){let{viewState:t,graphInfo:n,compiled:r,bounds:i,maxOverride:s,showPoint:o}=e,[a,u]=i,c=[],l;a=Math.ceil(a),u=Math.floor(u);let p=s!==void 0?s:1/0;if(a===-1/0&&u>=p)l=Ru({bounds:[a,p],included:!0,viewState:t,graphInfo:n,compiled:r,showPoint:o}),c.push(l);else if(a===-1/0&&u<1/0)l=Ru({bounds:[a,u],included:!0,viewState:t,graphInfo:n,compiled:r,showPoint:o}),c.push(l),c.push(Ru({bounds:[u+1,p],included:!1,viewState:t,graphInfo:n,compiled:r,showPoint:o}));else if(a>-1/0&&u>=p)l=Ru({bounds:[a,p],included:!0,viewState:t,graphInfo:n,compiled:r,showPoint:o}),c.push(Ru({bounds:[-1/0,a-1],included:!1,viewState:t,graphInfo:n,compiled:r,showPoint:o})),c.push(l);else{l=Ru({bounds:[a,u],included:!0,viewState:t,graphInfo:n,compiled:r,showPoint:o});let f=Ru({bounds:[-1/0,a-1],included:!1,viewState:t,graphInfo:n,compiled:r,showPoint:o}),m=Ru({bounds:[u+1,p],included:!1,viewState:t,graphInfo:n,compiled:r,showPoint:o});c.push(l);let g;f&&m&&(g=dk(f,m),c.push(g))}return{cdfTopBranch:l,topBranches:c}}var AN=e=>{let{viewState:t,graphInfo:n,compiled:r,derivative:i,bounds:s}=e,[o,a]=s,u=mk({bounds:[o,a],viewState:t,graphInfo:n,compiled:r,derivative:i}),c=[_a({viewState:t,graphInfo:n,compiled:r,derivative:i})];return{cdfTopBranch:u,topBranches:c}};function yte(e){switch(e){case\"LOOP_FORWARD\":return\"dcg-icon-arrow-one-way\";case\"LOOP_FORWARD_REVERSE\":return\"dcg-icon-arrow-two-way\";case\"PLAY_ONCE\":return\"dcg-icon-arrow-once\";case\"PLAY_INDEFINITELY\":return\"dcg-icon-arrow-infinite\"}}function gd(e,t){let n={};for(let r in t)t.hasOwnProperty(r)&&(_o(e[r],t[r])||(n[r]=t[r]));return n}function uh(e,t){let n,r={};for(let i in t)t.hasOwnProperty(i)&&(_o(e[i],t[i])||(r[i]=t[i],n=r));return n}function xte(e,t){t||(t={});let n={};for(let r in e)e.hasOwnProperty(r)&&!t.hasOwnProperty(r)&&(n[r]=Bs(e[r]));for(let r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);return n}function Tte({from:e,to:t,props:n}){for(var r in n)n[r]&&e.hasOwnProperty(r)&&(t[r]=Bs(e[r]))}function Ite(e,t){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])}function LN(e,t){let n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=e[r]);return n}function Ete(e){let t={};for(let n in e)e.hasOwnProperty(n)&&(t[n]=!0);return t}var yk=(r=>(r.NONE=\"NONE\",r.POSITIVE=\"POSITIVE\",r.BOTH=\"BOTH\",r))(yk||{});var wN={collapsed:!1,hidden:!1,secret:!1,readonly:!1,title:\"\"};function Dte(e){return{...wN,...e}}function Ste(e){return gd(wN,e)}var FN=\"**dcg_geo_folder**\";var w0={show:!1,min:\"\",max:\"\"},F0={breadth:\"\",axisOffset:\"\",alignedAxis:\"x\",showBoxplotOutliers:!0,binAlignment:\"center\",dotplotXMode:\"exact\",histogramMode:\"\"},V0={enabled:!1,latex:\"\"};var VN=4e3,ch={polarDomain:{min:\"\",max:\"\"},parametricDomain:{min:\"\",max:\"\"},parametricDomain3Du:{min:\"\",max:\"\"},parametricDomain3Dv:{min:\"\",max:\"\"},parametricDomain3Dr:{min:\"\",max:\"\"},parametricDomain3Dphi:{min:\"\",max:\"\"},cdf:w0,colorLatex:\"\",description:\"\",fillOpacity:\"\",lineOpacity:\"\",pointOpacity:\"\",pointSize:\"\",movablePointSize:\"\",lineWidth:\"\",resolution:\"\",labelAngle:\"\",vizProps:F0,clickableInfo:V0},BN={folderId:\"\",latex:\"\",color:\"\",showLabel:!1,showAngleLabel:!0,label:\"\",hidden:!1,secret:!1,readonly:!1,disableGraphInteractions:!1,dragMode:\"AUTO\",labelSize:\"\",labelOrientation:\"default\",suppressTextOutline:!1,interactiveLabel:!1,editableLabelMode:\"NONE\",residualVariable:\"\",isLogModeRegression:!1,pointStyle:\"POINT\",lineStyle:\"SOLID\",arrowMode:\"DEFAULT\",regressionParameters:{},displayEvaluationAsFraction:!1,slider:{},strictIntersection:!1,extendTo3D:!1,...ch,points:void 0,lines:void 0,fill:void 0},GN={hardMin:!1,hardMax:!1,animationPeriod:VN,loopMode:\"LOOP_FORWARD_REVERSE\",playDirection:1,isPlaying:!1,min:\"-10\",max:\"10\",step:\"\"},kN={hardMin:!1,hardMax:!1,animationPeriod:VN,loopMode:\"LOOP_FORWARD_REVERSE\",playDirection:1,isPlaying:!1,min:`${lr.xmin}`,max:`${lr.xmax}`,step:\"\"};function kte(e,t){return{...BN,isLogModeRegression:t.defaultLogModeRegressions,...e,slider:{...t.is3d?kN:GN,...e.slider},cdf:{...w0,...e.cdf},vizProps:{...F0,...e.vizProps},clickableInfo:{...V0,...e.clickableInfo}}}function zte(e,t){var n=gd(BN,{...e,slider:gd(t.is3d?kN:GN,e.slider)}),r=uh(w0,e.cdf);r===void 0?delete n.cdf:n.cdf=r;var i=uh(F0,e.vizProps);i===void 0?delete n.vizProps:n.vizProps=i;var s=uh(V0,e.clickableInfo);return s===void 0?delete n.clickableInfo:n.clickableInfo=s,n}function gk(e){return LN(e,ch)}function Hte(e,t){for(var n in ch)if(ch.hasOwnProperty(n)&&e[n]!==t[n])return!1;return!0}function Ute(e){return{type:\"statement\",id:e.id,latex:e.latex,label:e.label,color:e.color,fill:e.fill,points:e.points,lines:e.lines,extendTo3D:e.extendTo3D,pointStyle:e.pointStyle,lineStyle:e.lineStyle,arrowMode:e.arrowMode,dragMode:e.dragMode,labelSize:e.labelSize,labelOrientation:e.labelOrientation,suppressTextOutline:e.suppressTextOutline,interactiveLabel:e.interactiveLabel,editableLabelMode:e.editableLabelMode,residualVariable:e.residualVariable,regressionParameters:e.regressionParameters,isLogModeRegression:e.isLogModeRegression,showLabel:e.showLabel,showAngleLabel:e.showAngleLabel,shouldGraph:e.hidden,slider:{min:e.slider.hardMin?e.slider.min:\"\",max:e.slider.hardMax?e.slider.max:\"\",softMin:e.slider.hardMin?\"\":e.slider.min,softMax:e.slider.hardMax?\"\":e.slider.max,step:e.slider.step,isPlayingOnce:e.slider.isPlaying&&e.slider.loopMode===\"PLAY_ONCE\"},strictIntersection:e.strictIntersection,isInConstructionsFolder:e.folderId===FN,...gk(e)}}var Ik={};No(Ik,{LinearToSRGB:()=>Pk,SRGBToLinear:()=>lh,colorString:()=>UN,colors:()=>Bc,colors3d:()=>Tk,convertColorStringToLinearRGB:()=>G0,getDisplayColor:()=>sa,invertColor:()=>bk,isValidHexColor:()=>ph,mutateOpacity:()=>xk,normalizeColor:()=>B0,parseHex:()=>qN,shadeColor:()=>hk});function B0(e){return ph(e)?(e.match(/^#([A-Fa-f0-9]{3})$/g)&&(e=\"#\"+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),e.toLowerCase()):e}function ph(e){return typeof e==\"string\"&&(e.match(/^#([A-Fa-f0-9]{3})$/g)||e.match(/^#([A-Fa-f0-9]{6})$/g))}function hk(e,t){if(e=B0(e),!ph(e))return e;t>1&&(t=1),t<-1&&(t=-1);var n=parseInt(e.slice(1),16),r=t<0?0:255,i=t<0?t*-1:t,s=n>>16,o=n>>8&255,a=n&255;return UN(Math.round((r-s)*i)+s,Math.round((r-o)*i)+o,Math.round((r-a)*i)+a)}function UN(e,t,n){return\"#\"+(16777216+Math.round(e)*65536+Math.round(t)*256+Math.round(n)).toString(16).slice(1)}function bk(e){if(e=B0(e),!ph(e))return e;let t=\"0123456789abcdef\";return\"#\"+e.slice(1).split(\"\").map(n=>t[15-t.indexOf(n)]).join(\"\")}function qN(e){if(e=e.replace(/#/,\"\"),e.length===3)var t=parseInt(e.slice(0,1)+e.slice(0,1),16),n=parseInt(e.slice(1,2)+e.slice(1,2),16),r=parseInt(e.slice(2,3)+e.slice(2,3),16);else if(e.length===6)var t=parseInt(e.slice(0,2),16),n=parseInt(e.slice(2,4),16),r=parseInt(e.slice(4,6),16);else var t=0,n=0,r=0;return{r:t,g:n,b:r}}function xk(e,t){let n=/(rgba\\([\\d]+\\,\\ ?[\\d]+\\,\\ ?[\\d]+\\,\\ ?)[\\d.]+(\\))/;return e.match(n)?e.replace(n,`$1${t}$2`):e}function sa(e,t){if(t&&t.colorLatexValue){var n=t.colorLatexValue;return Array.isArray(n)?n[0]:n}return e.color}function lh(e){return e<.04045?e*.0773993808:Math.pow(e*.9478672986+.0521327014,2.4)}function Pk(e){return e<.0031308?e*12.92:1.055*Math.pow(e,.41666)-.055}function G0(e){let t=qN(e);return[lh(t.r/255),lh(t.g/255),lh(t.b/255)]}var Bc={RED:\"#c74440\",BLUE:\"#2d70b3\",GREEN:\"#388c46\",PURPLE:\"#6042a6\",ORANGE:\"#fa7e19\",BLACK:\"#000000\",GRAY:\"#aaaaaa\",FOCUS_OUTLINE:\"#6a93d2\"},Tk={RED:Bc.RED,BLUE:Bc.BLUE,GREEN:Bc.GREEN,ORANGE:Bc.ORANGE,PURPLE:Bc.PURPLE,GRAY:Bc.GRAY};function k0(e,t){let n;switch(t){case\"solvedEquation\":n=2;break;case\"baseComparator\":n=4;break;default:n=1;break}return Math.floor(e/n)}function Yte(e){return 2*Ek(e*.5)}function Ek(e){return e<=8?3*e:e>=16?2*e:e+16}function YN(e){let t=[];for(let r=0;r=0;r--){if(!t[r])continue;let i=e.getInstruction(r);if(i.type===2&&n.push(e.argNames[r]),be(i))continue;let s=Pu(e,i)?[i.args[1]]:i.args;for(let o of s)t[o]=!0}return n}var Ep=class{constructor({enableGeometry:t,enable3d:n,beta3d:r,scales:i}){this._isGeometry=!1;this._is3dProduct=!1;this._isBeta3d=!1;this._isGeometry=t,this._is3dProduct=n,this._isBeta3d=r,this._scales=i}isGeometryEnabled(){return this._isGeometry}is3dProduct(){return this._is3dProduct}is3dPolicy(){return!1}isBeta3d(){return this._isBeta3d}areAllScalesLinear(){return this._scales?this._scales.xAxisScale===\"linear\"&&this._scales.yAxisScale===\"linear\":!0}assignmentForbidden(t){return t===\"x\"||t===\"y\"||t===\"theta\"||this.substitutionForbidden(t)}substitutionForbidden(t){return t===\"index\"||t===\"dt\"||t.slice(0,3)===\"tmp\"||Ke.hasOwnProperty(t)}isValidSlider(t){return t===\"x\"||t===\"y\"?!0:!(t.slice(0,3)===\"ans\"||t.slice(0,6)===\"idref_\"||this.assignmentForbidden(t))}sliderVariables(t){return t.indexOf(\"theta\")!==-1&&(t=t.filter(function(n){return n!==\"r\"})),t.filter(n=>!(this.assignmentForbidden(n)||n.slice(0,3)===\"ans\"||n.slice(0,6)===\"idref_\"||n[0]===\"_\"||this.isGeometryEnabled()&&n[0]===\"$\"))}tooManySliderVariables(t,n,r){return r?t.length>=1:t.length>=2&&n.length>=1}graphingEnabled(){return!0}ansEnabled(){return!1}dimensionVarsEnabled(){return!0}validRegressionParameter(t){return t!==\"x\"&&t!==\"y\"}validLHS(t){return t!==\"theta\"&&t.slice(0,6)!==\"idref_\"}unplottablePolarFunction(t,n){return t!==\"theta\"?!1:n.indexOf(\"r\")!==-1}validDoubleInequalitySymbol(t){return t===\"x\"||t===\"y\"}validDoubleInequalityVariables(t){return t.length>2?!1:t.every(this.validDoubleInequalitySymbol)}validExpressionVariables(t){return t.length===1&&t[0]===\"x\"}validSolvedVariable(t){return t===\"x\"||t===\"y\"||t===\"r\"}validImplicitVariables(t){switch(t.length){case 0:return!0;case 1:return t[0]===\"x\"||t[0]===\"y\"||t[0]===\"r\";case 2:return t[0]===\"x\"&&t[1]===\"y\"||t[0]===\"y\"&&t[1]===\"x\"||t[0]===\"r\"&&t[1]===\"theta\"||t[0]===\"theta\"&&t[1]===\"r\";default:return!1}}graphableListVariables(t,n){return t===\"x\"||t===\"y\"||t===\"r\"||n===\"x\"||n===\"y\"}validParametricVariable(t){return t===\"t\"}validParametricVariables(t){return t.length===1&&this.validParametricVariable(t[0])}validInequalityVariables(t){switch(t.length){case 1:return t[0]===\"x\"||t[0]===\"y\"||t[0]===\"r\";case 2:return this.validImplicitVariables(t);default:return!1}}validFirstColumnVariable(t){return t!==\"y\"&&t!==\"r\"&&t!==\"theta\"&&!t.match(/y_(\\d+)/)}validActionVariable(t){return t===\"dt\"||t===\"index\"}validCoordinateEquationSymbol(t){return!1}complicatedPolarImplicit(t,n){return t===\"theta\"||t===\"r\"&&n!==1}graphMode(t,n,r){if(n.length===0)return t===\"x\"?1:t===\"r\"?6:t===\"y\"?2:10;let i=n[0];return i===\"y\"?1:t===\"x\"?1:t===\"r\"&&i===\"theta\"?6:2}functionDefinitionGraphMode(t,n){return this.graphMode(t,n)}tableableAsConstant(t){return!(t===\"x\"||t===\"r\"||t===\"theta\")}implicitIndependent(t){return\"x\"}implicitDependency(t){return t.length!==1?\"y\":t[0]===\"y\"?\"x\":t[0]===\"theta\"?\"r\":\"y\"}disabledFeatures(){return[]}};function Gc(){return new Ep({enableGeometry:!1,enable3d:!0,beta3d:!1,scales:{xAxisScale:\"linear\",yAxisScale:\"linear\"}})}var fh=class{constructor(t){this._isBeta3d=!1;this._isBeta3d=t}isGeometryEnabled(){return!1}is3dProduct(){return!0}is3dPolicy(){return!0}isBeta3d(){return this._isBeta3d}areAllScalesLinear(){return!0}graphingEnabled(){return!0}ansEnabled(){return!1}dimensionVarsEnabled(){return!1}substitutionForbidden(t){return Gc().substitutionForbidden(t)}validInequalityVariables(t){return this.validImplicitVariables(t)}validFirstColumnVariable(t){return Gc().validFirstColumnVariable(t)}validActionVariable(t){return Gc().validActionVariable(t)}tableableAsConstant(t){return Gc().tableableAsConstant(t)}implicitIndependent(t){return Gc().implicitIndependent(t)}validRegressionParameter(t){return Gc().validRegressionParameter(t)}assignmentForbidden(t){return t===\"x\"||t===\"y\"||t===\"z\"||t===\"r\"||t===\"rho\"||t===\"theta\"||t===\"phi\"||this.substitutionForbidden(t)}sliderVariables(t){return t.filter(n=>!(this.assignmentForbidden(n)||n.slice(0,3)===\"ans\"||n.slice(0,6)===\"idref_\"||n[0]===\"_\"))}tooManySliderVariables(t,n,r){return r?this.isBeta3d()?n.length>=1:t.length>=1:n.length>=1}isValidSlider(t){return!(t.slice(0,3)===\"ans\"||t.slice(0,6)===\"idref_\"||this.assignmentForbidden(t))}validLHS(t){return t!==\"phi\"&&Gc().validLHS(t)}unplottablePolarFunction(t,n){return!1}complicatedPolarImplicit(t,n){return!1}validDoubleInequalitySymbol(t){return hd(t)}validDoubleInequalityVariables(t){return t.every(hd)}validExpressionVariables(t){return t.length===2&&t.every(n=>n==\"x\"||n==\"y\")}validSolvedVariable(t){return hd(t)||t===\"r\"||t===\"rho\"}validImplicitVariables(t){return t.every(hd)}graphableListVariables(t,n){return t===\"x\"||t===\"y\"||t===\"z\"||t===\"r\"||t===\"rho\"||n===\"x\"||n===\"y\"}validParametricVariable(t){return t===\"t\"||t===\"u\"||t===\"v\"}validParametricVariables(t){return t.length===1&&this.validParametricVariable(t[0])||t.length===2&&t.every(bd)}validCoordinateEquationSymbol(t){return this.isBeta3d()?t===\"rhothetaphi\"||t===\"rthetaz\":!1}functionDefinitionGraphMode(t,n){if(n.length===1)switch(n[0]){case\"x\":return 121;case\"y\":return 120;default:return 10}else if(n.length===2&&n.every(r=>r==\"x\"||r==\"y\"))return 106;return 10}graphMode(t,n,r){if(r!=null||(r=n),n.length===0)switch(t){case\"z\":return r.some(i=>i===\"r\"||i===\"theta\")?109:106;case\"y\":return r.includes(\"z\")?108:123;case\"x\":return r.includes(\"z\")?107:122;case\"r\":return r.indexOf(\"r\")>-1?10:XN(r);case\"rho\":return 111;case\"rthetaz\":return this.isBeta3d()?115:10;case\"rhothetaphi\":return this.isBeta3d()?116:10;default:return 10}switch(t){case\"z\":return n.every(i=>i==\"x\"||i==\"y\")?106:n.every(i=>i==\"r\"||i==\"theta\")?109:10;case\"y\":return n.every(i=>i==\"x\")?r.some(i=>i===\"z\")?108:121:n.every(i=>i==\"x\"||i==\"z\")?108:10;case\"x\":return n.every(i=>i==\"y\")?r.some(i=>i===\"z\")?107:120:n.every(i=>i==\"y\"||i==\"z\")?107:10;case\"r\":return n.every(i=>i==\"theta\")?XN(r):n.every(i=>i==\"theta\"||i==\"z\")?110:10;case\"rho\":return n.every(i=>i==\"theta\"||i==\"phi\")?111:10;case\"rthetaz\":return this.isBeta3d()?n.length===1&&n[0]===\"t\"?101:n.every(bd)?104:10:10;case\"rhothetaphi\":return this.isBeta3d()?n.length===1&&n[0]===\"t\"?102:n.every(bd)?105:10:10;default:return 10}}implicitDependency(t){if(t.length!==2)return\"z\";let n=t[0]e===\"x\"||e===\"y\"||e===\"z\",bd=e=>e===\"u\"||e===\"v\";function XN(e){return e.some(n=>hd(n)||n===\"r\")?110:124}D.Base.prototype.getGraphMode=function(e,t){return 10};D.Base.prototype.graphmodeDependencies=Cs;function Cs(e,t){let n=t.getDependencies();if(e.is3dProduct()&&t instanceof pn){let r=new Set(YN(t._chunk));return n.filter(i=>r.has(i))}else return n}function Mk(e,t){var n;return e&&e.hasOwnProperty(\"dragMode\")?e.dragMode===\"AUTO\"?n=t.defaultDragMode:n=e.dragMode:n=t.defaultDragMode,ON(n,t.moveStrategy)}function ZN(e,t){let n=e.is3dPolicy();if(t.isMovablePoint&&!n&&Mk(this.userData,t)!==\"NONE\")return 4;var r=Cs(e,t);switch(t.valueType){case Kn:case V:if(n){if(r.length===0)return 114;if(e.validParametricVariables(r))return r.length==1?100:La(103,t)}return 10;case R:case Pt:return r.length===0?3:n&&e.validParametricVariables(r)?r.length===1?5:r.every(bd)?La(130,t):10:e.validParametricVariables(r)?5:10;case T:case se:return!e.is3dPolicy()&&r.length===1?2:n&&r.length===2&&r.indexOf(\"x\")>-1&&r.indexOf(\"y\")>-1?La(106,t):10}if(r.length>0)return 10;switch(t.valueType){case Wn:case Dr:return 5;case jn:case Sr:return n?100:10;case sr:case Or:return n?La(130,t):10;case or:case Cr:return n?La(103,t):10;case Nt:case er:return n?119:10;case Se:case nr:return n?129:10;case In:case tr:return n?117:10;case Nn:case yr:return n?118:10;case Be:case Rn:return 16;case pe:case Fn:return 20;case ce:case Vn:return 21;case Ie:case Tn:return 17;case fe:case Bn:return 18;case Le:case Gn:return 19;case he:case kn:return this instanceof ze&&this.getDependencies().length===1?10:24;case Ge:case gn:case Ae:case hn:return 23;default:return 10}}D.Expression.prototype.getGraphMode=ZN;function WN(e,t){var n=t._expression.getDependencies();if(n.length>1)return 10;if(t._expression.isList&&t._expression.length===0)return 10;var r=t._symbol;let i=t.getDependencies();return e.graphMode(r,n,i)}D.Equation.prototype.getGraphMode=D.CallAssignment.prototype.getGraphMode=D.BaseComparator.prototype.getGraphMode=D.ComparatorChain.prototype.getGraphMode=function(e,t){if(t.isError)return 10;var n=Cs(e,t);let r=t.getDependencies();if(e.is3dPolicy()){let i=10,s=this.type===\"Equation\"||this.type===\"ComparatorChain\"&&this.symbols.includes(\"=\");return n.length>0&&(r.includes(\"z\")?i=s?112:113:i=s?126:127),La(i,t)}return t.isConstant?10:t instanceof D.SolvedEquation?WN(e,t):n.length===1||n.length===2?8:10};function q0(e){var t;return e===106||e===200||e===107||e===201||e===108||e===202?[\"x\",\"y\",\"z\",\"_implicit\"]:e===110||e===211?[\"x\",\"y\",\"z\",\"r\",\"theta\",\"_implicit\"]:e===111||e===212?[\"x\",\"y\",\"z\",\"rho\",\"theta\",\"phi\",\"_implicit\"]:e===109||e===213?[\"x\",\"y\",\"z\",\"r\",\"theta\",\"_implicit\"]:e===103||e===214||e===130||e===215?[\"x\",\"y\",\"z\",\"u\",\"v\",\"_implicit\"]:e===113||e===210||e===112||e===209?[\"x\",\"y\",\"z\",\"_implicit\"]:(t=ss[e])!=null?t:[]}function La(e,t){let n=q0(e),r=t._chunk;try{let s=Ra(r,n,{allowSlices:!0}).getSliceVariablesOrImplicit();if(s.length!==1)return e;let o=s[0];return n.indexOf(o)<0?10:zR(e,o)}catch(i){return 10}}D.DoubleInequality.prototype.getGraphMode=function(e,t){let n=t.getDependencies();return e.graphMode(t._symbol,[],n)};D.Assignment.prototype.getGraphMode=function(e,t){if(t instanceof D.SolvedEquation)return WN(e,t);if(this.isEquation(e,t))return this.asEquation().getGraphMode(e,t);let n=Cs(e,t),r=this._symbol,i=t.getDependencies();switch(t.valueType){case T:case se:case We:switch(n.length){case 0:{let o=e.graphMode(r,[],i);return e.is3dPolicy()?La(o,t):o}case 1:if(t.valueType===se&&!e.graphableListVariables(r,n[0]))return 10;if(this.isSlider)return 10;let s=e.graphMode(r,n,i);return e.is3dPolicy()?La(s,t):s;default:return e.is3dPolicy()?La(e.graphMode(r,n,i),t):10}case V:if(e.assignmentForbidden(r)||n.length>0&&!e.validParametricVariables(n))return 10;switch(n.length){case 0:return 114;case 1:return 100;case 2:return 103;default:return 10}default:return ZN.call(this,e,t)}};D.CoordinateEquation.prototype.getGraphMode=function(e,t){var n=Cs(e,t);let r=this._concatenatedSymbol;if(t.valueType!==V)return 10;if(n.length>0&&!e.validParametricVariables(n))return 10;switch(n.length){case 0:switch(r){case\"rhothetaphi\":return 116;case\"rthetaz\":return 115;default:return 10}case 1:switch(r){case\"rhothetaphi\":return 102;case\"rthetaz\":return 101;default:return 10}case 2:switch(r){case\"rhothetaphi\":return 105;case\"rthetaz\":return 104;default:return 10}default:return 10}};D.FunctionDefinition.prototype.getGraphMode=function(e,t){let n=e.is3dPolicy();if(this._argSymbols.length!==1&&!n)return 10;if(this.recursionInfo){let s=t instanceof pn?t.getRecursiveFunctionMetadata():void 0;if((s==null?void 0:s.type)===\"missing-non-recursive-branch\")return 10;if((s==null?void 0:s.recursiveStructure.domainInfo[this._symbol][0])===1)return 10}var r=e.functionDefinitionGraphMode(this._symbol,this._argSymbols),i=Cs(e,t);switch(t.valueType){case T:case se:if(n)return r;switch(i.length){case 0:return r;case 1:return i[0]!==this._argSymbols[0]?10:r;default:return 10}break;default:return 10}};D.Regression.prototype.getGraphMode=function(e,t){return this.isLhsSimple?t.isModelValid?t.model.getDependencies().length!==1?10:2:10:10};function $0(e,t){return t.isError?10:11}D.Histogram.prototype.getGraphMode=$0;D.DotPlot.prototype.getGraphMode=$0;D.BoxPlot.prototype.getGraphMode=$0;D.Image.prototype.getGraphMode=function(e,t){return this.userData.showPoints?this.center.isError||this.radianAngle.isError||this.width.isError||this.height.isError||this.opacity.isError?10:3:10};function jN(e){let t=0,n=0,r=[],i=Yr(e,e.getReturnIndex());for(let s=0;sf.indexOf(d)<0);if(g.length)return mP(g[0]).allowExport().setDependencies(g)}function i(){let f=mh(o),m=Dk(e,n);return r(f,m)}function s(){let f=JN(o),m=Sk(e,n,o);return r(f,m)}let o=t.getGraphMode(e,n),a=n._chunk,{numRestrictions:u,numEqualityRestrictions:c}=jN(a);if(c!==0)if(c===1){if(u!==c&&!t.isInequality())return ax();let g=Ra(a,[],{allowSlices:!0}).getSliceVariablesOrImplicit();if(g.length!==1)return Bo();let d=q0(o),y=g[0];if(d.indexOf(y)<0)return y===\"_implicit\"?Bo().allowExport():gP(y).allowExport().setDependencies([y])}else return ox();return(p=(l=i())!=null?l:s())!=null?p:n}function Dk(e,t){let n=Cs(e,t);return t.getDependencies().filter(i=>n.indexOf(i)<0)}function Sk(e,t,n){let r=Cs(e,t),i=new Set;if(t instanceof pn){let o=t.getRestrictedFunctionForGLSL(mh(n),Nu).concrete;for(let a of o.getDependencies())r.indexOf(a)>-1||i.add(a)}return[...i]}function mh(e){var n;if(!ea(e))return[];let t=Ok(e)?[\"x\",\"y\",\"z\"]:[];return e===211&&t.push(\"r\"),e===212&&t.push(\"rho\"),t.push(...(n=Vc[e])!=null?n:[]),t.push(...JN(e).filter(r=>t.indexOf(r)<0)),t}function Ok(e){return Ck(e)||e==200||e==201||e==202||e==211||e==212||e==213||e==214||e==215}function Ck(e){if(!ea(e))return!1;switch(e){case 106:case 107:case 108:case 110:case 111:case 109:case 122:case 123:case 112:case 113:case 127:case 130:case 103:case 104:case 105:case 210:return!0;case 124:case 120:case 121:case 126:case 114:case 115:case 116:case 117:case 118:case 119:case 129:case 128:case 100:case 101:case 102:case 200:case 201:case 202:case 206:case 205:case 211:case 203:case 204:case 213:case 207:case 208:case 212:case 214:case 215:case 209:return!1;default:return!1}}function JN(e){var t;return ea(e)?(t=ss[e])!=null?t:[]:[]}function QN(e=void 0){let{xmin:t,xmax:n,ymin:r,ymax:i,zmin:s,zmax:o}=e!=null?e:new th,a=[t,r,o,t,i,o,n,i,o,n,r,o,t,r,s,t,i,s,n,i,s,n,r,s,t,r,s,t,r,o,t,i,o,t,i,s,n,r,s,n,r,o,n,i,o,n,i,s,n,r,s,n,r,o,t,r,o,t,r,s,n,i,s,n,i,o,t,i,o,t,i,s],u=[0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0],c=[0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,1,1,0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,1,1,1,1,0,1,0,1],l=[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23];return{positions:new Float32Array(a),normals:new Float32Array(u),faces:new Uint16Array(l),uvs:new Float32Array(c)}}function KN(e,t){let{mappedArgIndex:n,mappedReturnIndex:r,solutionIndex:i}=t,s=[],o=eu(e,n),a=Nk(e,o,r),u=i,c=e.NanOfType(e.getReturnType());for(let l=0;l<=r;l++){let p=e.getInstruction(l);if(l===n){s.push(i);continue}if(!o[l]&&!e.isInClosedBlock(l)){s.push(l);continue}if(be(p))s.push(e.copyInstruction(p));else{let f=Rk(s,p.args);s.push(e.copyInstructionWithArgs(p,f)),p.type===33&&a[l]&&(u=e.Piecewise([f[0],u,c]))}}return u}function Rk(e,t){let n=[];for(let r of t)n.push(e[r]);return n}function Nk(e,t,n){let r=[];for(let i=0;i=0;i--){if(!r[i]||!t[i])continue;let s=e.getInstruction(i);if(s.type===33)r[s.args[1]]=!0;else if(!be(s))for(let o of s.args)r[o]=!0}return r}function eA(e,t){try{return Ak(e,t)}catch(n){return n instanceof D.Base?n:J(n)}}function Y0(e,t){try{let n=new pn(t),r=Nc({},n),i=[];for(let o=0;o1)){let h=tn([y]);throw h.silent=!0,h}}let i=n.asComparator(),s=Nc(t,i),o=[];for(let d=0;d\":u.Greater([p,f]);break;case\"<=\":u.LessEqual([p,f]);break;case\">=\":u.GreaterEqual([p,f]);break;case\"=\":u.Equal([p,f]);break}if(u.fuseBroadcast(),u.isConstant())return new pn(u);let g=u.getInstruction(p).type!==2||Nc(t,i.args[1]).indexOf(u.argNames[p])!==-1;if(!rs.plotImplicits&&g)throw IP();return Rr[c].direction===-1?u.Subtract([f,p]):u.Subtract([p,f]),u.fuseBroadcast(),tA({policy:e,ctx:a,isInequality:l,allowSolvingIn3D:!1,maybeBaseCase:r},u)}function tA({policy:e,ctx:t,isInequality:n,allowSolvingIn3D:r,maybeBaseCase:i},s){let o=s.getLiveArgNames();if(o.length===0)throw J(`Unexpected: non-constant node with dependencies: ${o}`);if(o.length===1&&!n&&!rs.plotSingleVariableImplicitEquations)return TP();let a=g=>g===\"x\"||g===\"y\"||g===\"z\";if(e.is3dPolicy()?!o.every(a):o.length>2)return tn(e.sliderVariables(o)).setDependencies(o);if(n&&!e.validInequalityVariables(o))return xP().setDependencies(o);let{localFrames:u,effectiveOrder:c,variableOfInterest:l}=_k(t,n);if(e.complicatedPolarImplicit(l,c))return EP().setDependencies(o);if(!e.validImplicitVariables(o)){let g=rc();return i&&(g.silent=!0),g}if(e.is3dPolicy()&&r&&c!==1)return Bo();if(c>2||e.is3dPolicy()&&!r)return new pn(s);let p=[],f=[],m=1;for(let g=0;g1&&!r.validSolvedVariable(u);o[a]={localFrames:[],effectiveOrder:0,variableOfInterest:u};let l=!t;if(c){o[a].effectiveOrder=1/0;continue}let p=s?n.getConstantListLength():1;if(p==null)throw new Error(\"Programming error: cannot solve a variable-length list expression\");for(let f=0;f2){o[a].effectiveOrder=1/0;continue e}let d=m.getPolynomialCoefficients(u);o[a].localFrames.push(d),o[a].effectiveOrder=Math.max(o[a].effectiveOrder,d.coefficients.length-1)}}if(i.length===1)return o[0];if(i.length===2&&!i.includes(\"z\"))return i[0]===\"y\"&&(o=[o[1],o[0]]),o[0].effectiveOrder===0?o[1]:o[1].effectiveOrder===0?o[0]:o[o[0].effectiveOrderc.effectiveOrder===1);if(a.length>0)return a[0];let u=o.filter(c=>c.effectiveOrder===2);return u.length>0?u[0]:o[0]}}function Lk(e,t){return t?Fk(e):wk(e)}function wk({chunk:e,coefficients:t}){let[n,r,i]=t,s=e.Constant(De(0,1)),o=e.Constant(NaN);if(i===void 0){r===void 0&&(r=s);let a=e.Negative([e.Divide([n,r])]),u=e.Equal([r,s]);return[e.Piecewise([u,o,a])]}else{let a=e.Constant(De(2,1)),u=e.Multiply([a,i]),c=e.Negative([r]),l=e.Subtract([e.Multiply([r,r]),e.Multiply([a,e.Multiply([u,n])])]),p=e.Equal([i,s]),f=e.getInstruction(l);if(f.type===1&&q(f.value)===0)return[e.Piecewise([p,o,e.Divide([c,u])])];{let m=e.SyntheticNativeFunction(\"sqrt\",[l]),g=e.Less([r,s]),d=e.Greater([r,s]),y=e.Divide([e.Add([c,m]),u]),h=e.Divide([e.Subtract([c,m]),u]),b=e.Negative([e.Divide([n,r])]);return[e.Piecewise([p,e.Piecewise([g,b,o]),h]),e.Piecewise([p,e.Piecewise([d,b,o]),y])]}}}function Fk({chunk:e,coefficients:t}){let[n,r,i]=t,s=e.Constant(De(0,1));i===void 0&&(i=s),r===void 0&&(r=s),n===void 0&&(n=s);let o=e.Constant(De(2,1)),a=e.Constant(NaN),u=e.Constant(De(1e305,1)),c=e.Negative([u]),l=e.Multiply([o,i]),p=e.Negative([r]),f=e.Subtract([e.Multiply([r,r]),e.Multiply([o,e.Multiply([l,n])])]),m=e.SyntheticNativeFunction(\"sqrt\",[f]),g=e.Divide([e.Add([p,m]),l]),d=e.Divide([e.Subtract([p,m]),l]),y=e.Negative([e.Divide([n,r])]),h=e.Equal([i,s]),b=e.Greater([i,s]),x=e.Equal([r,s]),P=e.Greater([r,s]),M=e.Less([r,s]),I=e.Greater([n,s]),E=e.Less([f,s]);return[e.Piecewise([h,e.Piecewise([M,y,a]),e.Piecewise([b,d,a])]),e.Piecewise([h,e.Piecewise([x,e.Piecewise([I,c,a]),a]),e.Piecewise([b,e.Piecewise([E,c,a]),g])]),e.Piecewise([h,e.Piecewise([x,e.Piecewise([I,u,a]),a]),e.Piecewise([b,e.Piecewise([E,u,a]),d])]),e.Piecewise([h,e.Piecewise([P,y,a]),e.Piecewise([b,g,a])])]}var{abs:Au,min:X0,max:Z0}=Math;function W0(e,t){let{xmin:n,xmax:r,ymin:i,ymax:s,zmin:o,zmax:a}=t,u=[[n,i,a],[n,s,a],[r,s,a],[r,i,a],[n,i,o],[n,s,o],[r,s,o],[r,i,o]],c=[[0,1],[1,2],[2,3],[3,0],[4,5],[5,6],[6,7],[7,4],[0,4],[1,5],[2,6],[3,7]],l=[];for(let[v,O]of c){let A=u[v],N=u[O],L=e(...A),z=e(...N),G=L/(L-z);0<=G&&G<=1&&l.push(gs(A,N,G))}if(l.length<3)return;let p=X0(...l.map(v=>v[0])),f=Z0(...l.map(v=>v[0])),m=X0(...l.map(v=>v[1])),g=Z0(...l.map(v=>v[1])),d=X0(...l.map(v=>v[2])),y=Z0(...l.map(v=>v[2])),h=e(n,i,o),b=(e(r,i,o)-h)/(r-n),x=(e(n,s,o)-h)/(s-i),P=(e(n,i,a)-h)/(a-o),M,I,E;return Au(P)>=Au(b)&&Au(P)>=Au(x)?(M=(v,O)=>[v,O,o-(h+b*(v-n)+x*(O-i))/P],I=new ee(p,f),E=new ee(m,g)):Au(x)>=Au(P)&&Au(x)>=Au(b)?(M=(v,O)=>[v,i-(h+b*(v-n)+P*(O-o))/x,O],I=new ee(p,f),E=new ee(d,y)):(M=(v,O)=>[n-(h+x*(v-i)+P*(O-o))/b,v,O],I=new ee(m,g),E=new ee(d,y)),{explicitPlane:M,u:I,v:E}}function yh(e,t){let n=[],r=[],i=[],s=[],o=W0(e,t);if(o){let{explicitPlane:a,u,v:c}=o;n.push(...a(u.min,c.min),...a(u.max,c.min),...a(u.min,c.max),...a(u.max,c.max));let l=new Qe(n[0],n[1],n[2]),p=new Qe(n[3],n[4],n[5]),f=new Qe(n[6],n[7],n[8]),m=new Qe().subVectors(f,l),g=new Qe().subVectors(l,p),d=m.cross(g).normalize();r.push(d.x,d.y,d.z,d.x,d.y,d.z,d.x,d.y,d.z,d.x,d.y,d.z),i.push(0,0,0,1,1,0,1,1),s.push(0,1,2,3,2,1)}return{positions:n,normals:r,faces:s,uvs:i,resolved:!0,extraAttrs:[]}}var Bk=!1,Nu=256,bh=D.List;function dr(){return{}}function Uc(e,t,n){let r=1/0;for(let s of t){let o=e[s];Array.isArray(o)&&o.length{let b=Uc(this.metaData,Object.keys(y).map(P=>l[P]),s),x=[];return bh.wrap(t).eachElement((P,M)=>{if(M>=b)return;let I=this.getGraphInfo(e,P);I.graphMode=r.graphMode;let E=_u(this,M,s);I.listIndex=E.listIndex,I.style=E.style,\"lineWidth\"in y&&(I.lineWidth=E.lineWidth),\"lineOpacity\"in y&&(I.lineOpacity=E.lineOpacity),\"fillOpacity\"in y&&(I.fillOpacity=E.fillOpacity),\"color\"in y&&(I.color=a(this.userData,E.color)),\"resolution\"in y&&(I.resolution=E.resolution),x.push(...h(P,I))}),x},f=r.graphMode;switch(f){case 4:{let{points:b,droppedIndices:x}=yd([t.asValue()]),P=this.userData.shouldGraph&&c.points,M=this.userData.showLabel&&!P;return P?[{segments:[b],graphMode:f,droppedIndices:x,color:sa(this.userData,this.metaData),style:this.userData.pointStyle,showLabel:!!this.userData.showLabel,labelSize:this.metaData.computedLabelSize,labelAngle:this.metaData.computedLabelAngle,labelOrientation:this.userData.labelOrientation,pointOpacity:this.metaData.computedPointOpacity,pointSize:this.metaData.computedMovablePointSize,suppressTextOutline:this.userData.suppressTextOutline,editableLabel:o(this.userData),labels:this.computedLabels||[],poi:Us(b),movablePointInfo:[]}]:M?[{segments:[b],graphMode:3,color:sa(this.userData,this.metaData),style:this.userData.pointStyle,showLabel:!!this.userData.showLabel,nakedLabel:!0,labelSize:this.metaData.computedLabelSize,labelAngle:this.metaData.computedLabelAngle,labelOrientation:this.userData.labelOrientation,pointOpacity:this.metaData.computedPointOpacity,suppressTextOutline:this.userData.suppressTextOutline,editableLabel:o(this.userData),labels:this.computedLabels||[],poi:Us(b),showPoint:!1}]:[]}case 3:{let b=[],x=this.userData.shouldGraph&&c.points,P=this.userData.shouldGraph&&c.lines,M=[\"colorLatexValue\"];x&&M.push(\"computedPointOpacity\",\"computedPointSize\"),(this.userData.showLabel||x)&&M.push(\"computedLabelSize\",\"computedLabelAngle\");let I=Uc(this.metaData,M,s),E=bh.wrap(t).asValue();Xr(E),E.length>I&&(E.length=I);let v=this.userData.showLabel&&!x&&!P,O=yd(E);if(this.userData.showLabel||x){let A={segments:[O.points],graphMode:f,droppedIndices:O.droppedIndices,color:this.metaData.colorLatexValue||this.userData.color,style:this.userData.pointStyle,showLabel:!!this.userData.showLabel,showPoint:x,labelSize:this.metaData.computedLabelSize,labelAngle:this.metaData.computedLabelAngle,labelOrientation:this.userData.labelOrientation,pointSize:this.metaData.computedPointSize,pointOpacity:this.metaData.computedPointOpacity,suppressTextOutline:this.userData.suppressTextOutline,interactiveLabel:!!this.userData.interactiveLabel,editableLabel:o(this.userData),nakedLabel:v,labels:this.computedLabels||[],poi:Us(E)};e.is3dPolicy()?b.push(...Xk(A)):b.push(A)}if(P){let A=this.metaData.computedLineWidth,N={segments:aA(E),graphMode:5,color:sa(this.userData,this.metaData),style:this.userData.lineStyle,lineWidth:A,lineOpacity:this.metaData.computedLineOpacity,poi:dr()};b.push(rA(e,N,n,A))}return b}case 114:case 115:case 116:{let b=[],x=this.userData.shouldGraph&&c.points,P=this.userData.shouldGraph&&c.lines,M=[\"colorLatexValue\"];x&&M.push(\"computedPointOpacity\",\"computedPointSize\");let I=bh.wrap(t).asValue();Xr(I);let{degreeMode:E}=n,v=I.map(N=>SN(f,N,E)),O=Uc(this.metaData,M,s),A=Math.min(v.length,O);if(x)for(let N=0;N{if(L.set(Y,de,re),z.set(ie,Z,Re),G.set(Ne,Te,Me),!L.isFinite()||!z.isFinite()||!G.isFinite())return;let ve=P.length/3;P.push(L.x,L.y,L.z,z.x,z.y,z.z,G.x,G.y,G.z),O.subVectors(L,G),A.subVectors(z,L),N.crossVectors(O,A),M.push(N.x,N.y,N.z,N.x,N.y,N.z,N.x,N.y,N.z),I.push(ve,ve+1,ve+2),E.push(0,0,0,1,1,0)},w=()=>{let Y={guid:fi(),resolved:!0,positions:new Float32Array(P),normals:new Float32Array(M),faces:new Uint32Array(I),uvs:new Float32Array(E),extraAttrs:new Float32Array([])};return v.length&&(Y.colors=new Float32Array(v)),Y};if(t.valueType===tr&&!Array.isArray(x)){let Y=this.metaData.computedFillOpacity,de=\"\";if(b){let re=(m=this.metaData.colorLatexValue)!=null?m:this.userData.color;de=a(this.userData,re)}return p({color:!0},(re,ie)=>{if(re.valueType===In){let[[Z,Re,Ne],[Te,Me,ve],[Q,U,xe]]=re.asValue();if($(Z,Re,Ne,Te,Me,ve,Q,U,xe),!b){let[le,K,_e]=G0(ie.color);v.push(le,K,_e,le,K,_e,le,K,_e)}}return[]}),[{meshData:w(),color:de,fillOpacity:Y!=null?Y:1,graphMode:117}]}return p({color:!0,fillOpacity:!0},(Y,de)=>{var U;let[[re,ie,Z],[Re,Ne,Te],[Me,ve,Q]]=Y.asValue();return P=[],M=[],I=[],E=[],$(re,ie,Z,Re,Ne,Te,Me,ve,Q),[{meshData:w(),color:a(this.userData,de.color),fillOpacity:(U=de.fillOpacity)!=null?U:1,graphMode:117}]})}case 119:{let b=this.metaData.colorLatexValue?!Array.isArray(this.metaData.colorLatexValue):!0;if(t.valueType===er&&b&&!Array.isArray(this.metaData.computedLineWidth)){let x=(g=this.metaData.colorLatexValue)!=null?g:this.userData.color,P=this.metaData.computedLineWidth,M=[];return p({color:!0},I=>{if(I.valueType===Nt){let[[E,v,O],[A,N,L]]=I.asValue();M.push(E,v,O,A,N,L,NaN,NaN,NaN)}return[]}),[{graphMode:119,guid:fi(),points:M,color:x,thickness:P!=null?P:1}]}return p({color:!0,lineWidth:!0},(x,P)=>{let{lineWidth:M,color:I}=P,E=x.asValue(),[[v,O,A],[N,L,z]]=E;return uA(v,O,A,N,L,z)?[]:[{graphMode:119,guid:fi(),points:[v,O,A,N,L,z],color:I,thickness:M}]})}case 129:let y=this.metaData.colorLatexValue?!Array.isArray(this.metaData.colorLatexValue):!0;if(t.valueType===nr&&y&&!Array.isArray(this.metaData.computedLineWidth)){let b=(d=this.metaData.colorLatexValue)!=null?d:this.userData.color,x=this.metaData.computedLineWidth,P=[];return p({color:!0},M=>{if(M.valueType===Se){let[[I,E,v],[O,A,N]]=M.asValue();P.push(O,A,N,I+O,E+A,v+N)}return[]}),[{graphMode:129,guid:fi(),points:P,color:b,thickness:x!=null?x:1}]}return p({color:!0,lineWidth:!0},(b,x)=>{let{lineWidth:P,color:M}=x,I=b.asValue(),[[E,v,O],[A,N,L]]=I;return uA(E,v,O,A,N,L)?[]:[{graphMode:129,guid:fi(),points:[A,N,L,E+A,v+N,O+L],color:M,thickness:P}]});case 118:return p({color:!0,resolution:!0,fillOpacity:!0},(b,x)=>{let{color:P,fillOpacity:M}=x,I=b.asValue(),[[E,v,O],A]=I,N=Math.abs(A);return isNaN(E)||isNaN(v)||isNaN(O)||isNaN(A)?[]:[{graphMode:118,position:[E,v,O],radius:[N,N,N],guid:fi(),color:P,fillOpacity:M!=null?M:1}]});case 5:case 100:case 101:case 102:{let b=this.userData,x=this.metaData,P=[],M=p({color:!0,lineOpacity:!0,lineWidth:!0,resolution:!0},(E,v)=>{var A;let O=E.getDependencies();if(O.length===0&&!ca(E.valueType)){let{points:N,droppedIndices:L}=yd([E.asValue()]);return[{segments:[N],graphMode:3,droppedIndices:L,color:sa(b,x),style:b.lineStyle,showPoint:!1,poi:Us(N)}]}else{let N=E.getCompiledFunction(O);v.domain=(A=N.domain)!=null?A:{type:\"1d\",min:this.metaData.evaluatedDomainMin,max:this.metaData.evaluatedDomainMax};let L=_a({viewState:n,graphInfo:v,compiled:N});return[rA(e,L,n,v.lineWidth)]}}),I=[];for(let E of M)E&&I.push(E);if(c.fill)if(I.forEach((E,v)=>{let{color:O,fillOpacity:A,listIndex:N}=_u(this,v,s);P.push({segments:E.segments,color:O,fillOpacity:A,listIndex:N,graphMode:7,poi:dr()})}),c.lines)I=I.concat(P);else return P;return I}case 20:return p({lineOpacity:!0,lineWidth:!0,color:!0},(b,x)=>{let[[P,M],I]=b.asValue();return isNaN(P)||isNaN(M)||isNaN(I)?[]:[{segments:[[P,M,I]],resolved:!0,graphMode:x.graphMode,color:x.color,style:x.lineStyle,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:x.operator,poi:dr()}]});case 21:return p({color:!0,lineWidth:!0,lineOpacity:!0},(b,x)=>{let P=By(b.asValue());if(!P)return[];let M=[];return P.type===\"arc\"?M.push({graphMode:f,segments:[[P.center[0],P.center[1],P.radius,P.startAngle,P.endAngle]],color:x.color,style:x.lineStyle,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:r.operator,poi:dr()}):P.type===\"rays\"?M.push({graphMode:19,segments:[[P.start1[0],P.start1[1],P.end1[0],P.end1[1]]],color:x.color,style:x.lineStyle,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:r.operator,poi:dr()},{graphMode:19,segments:[[P.start2[0],P.start2[1],P.end2[0],P.end2[1]]],color:x.color,style:x.lineStyle,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:r.operator,poi:dr()}):M.push({graphMode:17,segments:[[P.start[0],P.start[1],P.end[0],P.end[1]]],color:x.color,style:x.lineStyle,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:r.operator,poi:dr()}),[...M,...sA(M,i)]});case 17:case 18:case 19:return p({color:!0,lineWidth:!0,lineOpacity:!0},(b,x)=>{let[[P,M],[I,E]]=b.asValue();if(isNaN(P)||isNaN(M)||isNaN(I)||isNaN(E))return[];let v=[],O={segments:[[P,M,I,E]],resolved:!0,graphMode:x.graphMode,color:x.color,style:x.lineStyle,arrowMode:x.arrowMode,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:r.operator,poi:dr()};if(v.push(iA(e,O,n)),v.push(...sA([O],i)),this.userData.showLabel&&r.graphMode===17){let A=x.listIndex,N=this.computedLabels&&this.computedLabels[A||0];v.push({graphMode:22,objectType:17,segments:[[P,M,I,E]],color:x.color,listIndex:A,showLabel:!0,labelSize:this.metaData.computedLabelSize,labelAngle:this.metaData.computedLabelAngle,labelOrientation:this.userData.labelOrientation,labels:N?[N]:[Gk(as(I-P,E-M),n)]})}return v});case 24:return p({lineOpacity:!0,lineWidth:!0,color:!0},(b,x)=>{let[P,M]=b.asValue(),[[I,E],[v,O]]=[M,[M[0]+P[0],M[1]+P[1]]];if(isNaN(v)||isNaN(O)||isNaN(I)||isNaN(E))return[];let A={segments:[[I,E,v,O]],resolved:!0,graphMode:x.graphMode,color:x.color,style:x.lineStyle,arrowMode:x.arrowMode,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:x.listIndex,operator:r.operator,poi:dr()};return[iA(e,A,n)]});case 23:return p({lineOpacity:!0,lineWidth:!0,color:!0},(b,x)=>{let{value:P,valueType:M}=b.asTypedValue(),[[I,E],v,O]=P;if(isNaN(I)||isNaN(E)||isNaN(v)||isNaN(O))return[];let A=x.listIndex,N=M===Ae,L=N?O:Math.abs(O),z=[];if(z.push({graphMode:23,segments:[[I,E,v,O,N?1:0]],color:x.color,style:x.lineStyle,lineWidth:x.lineWidth,lineOpacity:x.lineOpacity,listIndex:A,operator:r.operator,poi:dr()}),this.userData.showAngleLabel){let G=this.computedLabels&&this.computedLabels[A||0];z.push({graphMode:22,objectType:23,segments:[[I,E,v,O]],color:x.color,listIndex:A,showLabel:!0,labelSize:this.metaData.computedLabelSize,labelAngle:this.metaData.computedLabelAngle,labelOrientation:this.userData.labelOrientation,labels:G?[G]:[zk(L,n)]})}return z});case 1:case 2:case 8:case 112:case 126:case 113:case 127:case 6:case 130:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 120:case 121:case 122:case 123:case 124:{let b=t.valueType===T;return p({lineOpacity:!0,lineWidth:!0,resolution:!0,fillOpacity:!0,color:!0},(x,P)=>{var w,Y,de,re,ie,Z,Re,Ne,Te,Me,ve;(r.graphMode===6||r.graphMode===110||r.graphMode===124)&&(P.domain={type:\"1d\",min:this.metaData.evaluatedDomainMin,max:this.metaData.evaluatedDomainMax,isExplicit:this.metaData.isExplicitDomain});let M=(w=ss[r.graphMode])!=null?w:[],I=x.getCompiledFunction(M);(r.graphMode==130||r.graphMode==103||r.graphMode==104||r.graphMode==105||r.graphMode==111||r.graphMode==109)&&(P.domain=(Y=I.domain)!=null?Y:{type:\"2d\",uMin:this.metaData.evaluatedDomain3DMin1,uMax:this.metaData.evaluatedDomain3DMax1,vMin:this.metaData.evaluatedDomain3DMin2,vMax:this.metaData.evaluatedDomain3DMax2});let E=[],v;try{v=x.getCompiledDerivative()}catch(Q){}let O=$k(this,x,I,n,P,v,b);if(O)return O;let A=YE(P.graphMode),N=(de=this.userData.extendTo3D)!=null?de:!1,L=A&&!N,z=!e.is3dPolicy()||L,G=(re=this.userData.lines)!=null?re:z,$=(ie=this.userData.lines)!=null?ie:!L;if(P.graphMode===127&&!N&&((Z=this.userData.lines)==null||Z)){let Q=(Re=ss[P.graphMode])!=null?Re:[],U=x._chunk.copy();U.GreaterEqual([U.getReturnIndex(),U.Constant(0)]);let xe=x.getCompiledFunction(Q),le=0,K=n.viewport,{xmin:_e,xmax:Ze,ymin:me,ymax:te}=K,pt=new ee(_e,Ze),Ro=new ee(me,te),ku=yh((Cd,Ah,_h)=>_h-le,K);return[{meshData:qi(ku),color:P.color,fillOpacity:(Ne=P.fillOpacity)!=null?Ne:1,uvRange:[pt,Ro],uvArgs:(Te=ss[P.graphMode])!=null?Te:[],extraMeshArgs:(Me=Vc[P.graphMode])!=null?Me:[],graphMode:106,compiled:xe,restrictionShader:Wo(U,Nu)}]}if(A&&(this.userData.lines===!0?(G=L,$=!L):this.userData.lines===!1&&(G=!1,$=!1)),$&&ea(P.graphMode)){let Q=mh(P.graphMode);if(P.graphMode===113||P.graphMode===127){let{positions:U,normals:xe,faces:le,uvs:K}=QN(),_e={guid:fi(),isDomainCube:!0,resolved:!0,positions:U,normals:xe,faces:le,uvs:K,extraAttrs:new Float32Array([])},Ze=x.toImplicitBool();E.push({meshData:_e,graphMode:113,color:P.color,fillOpacity:1,uvRange:[new ee(0,1),new ee(0,1)],uvArgs:[],extraMeshArgs:[],compiled:I,restrictionShader:Wo(Ze._chunk,Nu)});let me=cR(Ze._chunk,x._chunk,Q);for(let te of me){let pt=nA(P,{concrete:new pn(te.value),restriction:te.restriction&&Wo(te.restriction,Nu)},n);E.push(pt)}}else{let U=x.getRestrictedFunctionForGLSL(Q,Nu),xe=nA(P,U,n);E.push(xe)}}if(G&&Uk(this,P),!ea(P.graphMode)){let Q=_a({viewState:n,graphInfo:P,compiled:I,derivative:v}),U=dA(Aa(this),x);if(U&&(Q.boundingBox=U),e.is3dPolicy()&&G&&Q0(Q.graphMode)){let xe=(ve=P.lineWidth)!=null?ve:1;E.push(oh(Q,n,xe))}else if(Q.fillSegments){let{fillSegments:xe,...le}=Q;G||(le.lineWidth=0),E.push(le)}else G||(Q.lineWidth=0),(G||!ea(r.graphMode))&&E.push(Q);P.graphMode===8&&P.operator!==\"=\"&&E.push({graphMode:7,segments:Q.fillSegments,poi:dr(),listIndex:P.listIndex,color:P.color,fillOpacity:P.fillOpacity})}return E})}case 200:case 201:case 202:case 206:case 205:case 211:case 203:case 204:case 213:case 207:case 208:case 212:case 214:case 215:case 209:return p({color:!0,lineWidth:!0,lineOpacity:!0,resolution:!0},(b,x)=>{var w;switch(f){case 206:case 211:x.domain={type:\"1d\",min:this.metaData.evaluatedDomainMin,max:this.metaData.evaluatedDomainMax,isExplicit:this.metaData.isExplicitDomain};break;case 203:case 204:case 213:case 207:case 208:case 212:case 214:case 215:x.domain={type:\"2d\",uMin:this.metaData.evaluatedDomain3DMin1,uMax:this.metaData.evaluatedDomain3DMax1,vMin:this.metaData.evaluatedDomain3DMin2,vMax:this.metaData.evaluatedDomain3DMax2};break}let P=(w=ss[f])!=null?w:[],M={allowSlices:!0},I=Ra(b._chunk,P,M),{valueChunk:E,slices:v}=I.getValueAndRestrictionChunk(),O=E.getCompiledFunction(P),A=v[0],N=A.type===\"implicit\",L=N?NaN:A.value,z=N?\"_implicit\":A.variable,G,$=Y=>_a({viewState:n,graphInfo:{...x,slice_coordinate:z,slice_value:L,slice_function:Y},compiled:O});if(N){let Y=[\"x\",\"y\",\"z\"],de=[\"x\",\"y\",\"z\",\"r\",\"theta\"],re=[\"x\",\"y\",\"z\",\"rho\",\"theta\",\"phi\"],ie=[\"x\",\"y\",\"z\",\"u\",\"v\"],Z=A.sliceChunk;switch(f){case 200:case 201:case 202:G=Z.getCompiledFunction(Y);break;case 211:case 213:G=Z.getCompiledFunction(de);break;case 212:G=Z.getCompiledFunction(re);break;case 215:case 214:G=Z.getCompiledFunction(ie);break;case 209:{let Re=(Me,ve)=>{let Q=ve.getCompiledFunction(Y),U=Me._symbol,xe=Me._expression.args,le=[];for(let K of xe){if(!(K instanceof pn))throw J(\"Programming Error: bad type\");if(U===\"x\")O=K._chunk.getCompiledFunction([\"y\",\"z\"]),x.graphMode=201;else if(U===\"y\")O=K._chunk.getCompiledFunction([\"x\",\"z\"]),x.graphMode=202;else if(U===\"z\")O=K._chunk.getCompiledFunction([\"x\",\"y\"]),x.graphMode=200;else throw J(\"Programming Error: bad lhs\");le.push($(Q))}return le},Ne=(Me,ve)=>{let Q=n.viewport,U=ve.getCompiledFunction(Y),xe=Me.getCompiledFunction(Y).fn,le=W0(xe,Q);if(le){let{explicitPlane:K,u:_e,v:Ze}=le;return x.graphMode=214,O={args:[\"u\",\"v\"],source:\"\",constants:[],fn:K,executionMetadata:{}},x.domain={type:\"2d\",uMin:_e.min,uMax:_e.max,vMin:Ze.min,vMax:Ze.max},[$(U)]}else return[]};if(Z.isImplicitPlane())return Ne(Z,E);if(E.isImplicitPlane())return Ne(E,Z);let Te=Y0(e,E);return Te instanceof D.SolvedEquation&&!Te.isError?Re(Te,Z):(Te=Y0(e,Z),Te instanceof D.SolvedEquation&&!Te.isError?Re(Te,E):[$(Z.getCompiledFunction(Y))])}}}return[$(G)]});case 210:return p({color:!0,fillOpacity:!0,resolution:!0},(b,x)=>{var Me,ve,Q,U,xe,le,K,_e;let P=(Me=ss[f])!=null?Me:[],M={allowSlices:!0},I=Ra(b._chunk,P,M),{restrictionChunk:E,slices:v}=I.getSlicesAndRestrictionChunk(),O=E.getCompiledFunction(P);if(v[0].type===\"implicit\"){let Ze=v[0].sliceChunk,me;try{me=Ze.copy().gradient([\"x\",\"y\",\"z\"]).getCompiledFunction([\"x\",\"y\",\"z\"]).fn}catch(_h){}let te=(ve=x.resolution)!=null?ve:NaN;isNaN(te)&&(te=dd),te=rr(te,0,100);let pt=_0(Ze.getCompiledFunction(P),void 0,me,n.viewport,te,{isInequality:!1}),{xmin:Ro,xmax:Ba,ymin:ku,ymax:$c}=n.viewport,Od=new ee(Ro,Ba),Cd=new ee(ku,$c);return[{meshData:pt,color:x.color,fillOpacity:(Q=x.fillOpacity)!=null?Q:1,uvRange:[Od,Cd],uvArgs:(U=ss[x.graphMode])!=null?U:[],extraMeshArgs:(xe=Vc[x.graphMode])!=null?xe:[],graphMode:f,compiled:O,restrictionShader:Wo(E,Nu)}]}let A=v[0].value,N=v[0].variable,L=n.viewport,{xmin:z,xmax:G,ymin:$,ymax:w,zmin:Y,zmax:de}=L,re,ie,Z;switch(N){case\"x\":re=new ee($,w),ie=new ee(Y,de),Z=(Ze,me,te)=>Ze-A;break;case\"y\":re=new ee(z,G),ie=new ee(Y,de),Z=(Ze,me,te)=>me-A;break;case\"z\":re=new ee(z,G),ie=new ee($,w),Z=(Ze,me,te)=>te-A;break;default:return[]}let Re=yh(Z,L);return[{meshData:qi(Re),color:x.color,fillOpacity:(le=x.fillOpacity)!=null?le:1,uvRange:[re,ie],uvArgs:(K=ss[x.graphMode])!=null?K:[],extraMeshArgs:(_e=Vc[x.graphMode])!=null?_e:[],graphMode:f,compiled:O,restrictionShader:Wo(E,Nu)}]});case 16:{let b=[],x=this.userData.lines===void 0?!0:this.userData.lines,P=this.userData.fill===void 0?!0:this.userData.fill;if(!P&&!x)return b;let M=Uc(this.metaData,[\"computedLineOpacity\",\"computedLineWidth\",\"colorLatexValue\",\"fillOpacity\"],s),I=t.asValue();W(t.valueType)||(I=[I]);for(let E=0;EM-1)continue;let v=I[E];if(!v.length)continue;let O=this.getGraphInfo(e,t),{listIndex:A,lineWidth:N,lineOpacity:L,fillOpacity:z,color:G}=_u(this,E,s);this.userData.shouldOmitLastPolygonSegment||(v=[...v,v[0]]),Xr(v);let $=aA(v);if($.length&&(P&&b.push({segments:$,graphMode:7,poi:dr(),color:G,fillOpacity:z,style:O.style,listIndex:A}),x&&b.push({segments:$,graphMode:5,poi:dr(),color:G,style:this.userData.lineStyle,lineWidth:N,lineOpacity:L,listIndex:A}),Bk&&this.userData.showLabel)){let w=this.computedLabels&&this.computedLabels[A||0];b.push({graphMode:22,objectType:16,segments:$,color:G,listIndex:A,showLabel:!0,labelSize:this.metaData.computedLabelSize,labelAngle:this.metaData.computedLabelAngle,labelOrientation:this.userData.labelOrientation,labels:w?[w]:[kk(mI(v),n)]})}}return b}case 7:case 11:case 10:case 15:case 22:case 128:return!1;default:let h=f;throw new Error(`Unexpected graphMode: ${h}`)}}function nA(e,t,n){var c,l,p;let r=(c=ss[e.graphMode])!=null?c:[],i=t.concrete.getCompiledFunction(r),s,o,a=!1;if(e.graphMode===112||e.graphMode===126||e.graphMode===113){e.operator!==\"=\"&&(a=!0);try{s=t.concrete.gradient([\"x\",\"y\",\"z\"])._chunk,o=s.getCompiledFunction([\"x\",\"y\",\"z\"]).fn}catch(f){}}if(e.graphMode===112&&o&&s){let f=qk(i.fn,o,s,n.viewport);if(f)return{graphMode:118,position:f.center,radius:f.radii,guid:fi(),color:e.color,restrictionShader:t.restriction,fillOpacity:(l=e.fillOpacity)!=null?l:1}}let u=e.graphMode;if((u===112||u===113||u===127||u===106||u===107||u===108)&&t.concrete._chunk.isLinearIn([\"x\",\"y\",\"z\"])){let f=n.viewport,m,g,d;switch(u){case 106:m=(b,x,P)=>P-i.fn(b,x),g=new ee(f.xmin,f.xmax),d=new ee(f.ymin,f.ymax);break;case 107:m=(b,x,P)=>b-i.fn(x,P),g=new ee(f.ymin,f.ymax),d=new ee(f.zmin,f.zmax);break;case 108:m=(b,x,P)=>x-i.fn(b,P),g=new ee(f.xmin,f.xmax),d=new ee(f.zmin,f.zmax);break;case 112:case 113:case 127:m=i.fn,g=new ee(f.xmin,f.xmax),d=new ee(f.ymin,f.ymax);break}let y=qi(yh(m,f)),h=u===113||u===127;return u===127&&(u=113),{meshData:y,color:e.color,fillOpacity:h?1:(p=e.fillOpacity)!=null?p:1,uvRange:[g,d],uvArgs:[],extraMeshArgs:[],graphMode:u,compiled:i,restrictionShader:t.restriction}}return _a({viewState:n,graphInfo:e,compiled:i,restrictionShader3d:t.restriction,isImplicit3dInequality:a,gradient:o,dependencies:t.concrete._dependencies})}function Uk(e,t){var r,i,s;if(YE(t.graphMode))switch(t.graphMode){case 121:case 123:{t.graphMode=2,t.willConvertTo3D=!0,(r=t.lineWidth)!=null||(t.lineWidth=1);break}case 120:case 122:{t.graphMode=1,t.willConvertTo3D=!0,(i=t.lineWidth)!=null||(t.lineWidth=1);break}case 124:let{min:o,max:a}=((s=t.domain)==null?void 0:s.type)===\"1d\"?t.domain:{min:0,max:2*Math.PI};t.graphMode=6,t.domain={type:\"1d\",min:o,max:a,isExplicit:e.metaData.isExplicitDomain};break;case 126:t.graphMode=8;break}}function qk(e,t,n,r){if(r.zmin===void 0||r.zmax===void 0)return;let i=n.argNames.indexOf(\"x\"),s=n.argNames.indexOf(\"y\"),o=n.argNames.indexOf(\"z\");if(i===-1||s===-1||o===-1)return;let a=n.getInstruction(n.getReturnIndex());if(a.type!==38||a.args.length!==3)return;let[u,c,l]=a.args,p=Lr(n,i,{allowRestriction:!1,allowClosedBlockReferences:!1}),f=Lr(n,s,{allowRestriction:!1,allowClosedBlockReferences:!1}),m=Lr(n,o,{allowRestriction:!1,allowClosedBlockReferences:!1});if(en(p,u)!==1||en(f,c)!==1||en(m,l)!==1||en(f,u)!==0||en(m,u)!==0||en(p,c)!==0||en(m,c)!==0||en(p,l)!==0||en(f,l)!==0)return;let{xmin:g,ymin:d,zmin:y,xmax:h,ymax:b,zmax:x}=r,P=t(g,d,y),M=t(h,b,x),I=.5*(M[0]-P[0])/(h-g),E=.5*(M[1]-P[1])/(b-d),v=.5*(M[2]-P[2])/(x-y),O=(g*M[0]-h*P[0])/(M[0]-P[0]),A=(d*M[1]-b*P[1])/(M[1]-P[1]),N=(y*M[2]-x*P[2])/(M[2]-P[2]),L=-e(O,A,N),z=Math.sqrt(L/I),G=Math.sqrt(L/E),$=Math.sqrt(L/v);if(!(!isFinite(O)||!isFinite(A)||!isFinite(N)||!isFinite(z)||!isFinite(G)||!isFinite($)||z===0||G===0||$===0))return{center:[O,A,N],radii:[z,G,$]}}function $k(e,t,n,r,i,s,o){let a=e.metaData.evaluatedCDFMin,u=e.metaData.evaluatedCDFMax,c=Aa(e),l=dA(c,t),p=c&&c.discrete;if(a!==void 0&&u!==void 0&&!isNaN(a)&&!isNaN(u)&&o){let f=[];if(p){let m={viewState:r,graphInfo:i,compiled:n,bounds:[a,u],maxOverride:oA(c,t),showPoint:e.userData.shouldGraph},g=NN(m),d=g.cdfTopBranch,y=g.topBranches;if(y.forEach(function(h){!h||!l||(h.boundingBox=l)}),y.every(h=>h!==void 0)&&(f=y,d&&d.segments[0].length)){let h=[];d.segments[0].forEach(function(b){!isNaN(b[0])&&!isNaN(b[1])&&h.push([b[0],0,b[0],b[1]])}),f.push({graphMode:5,segments:h,boundingBox:l,poi:dr(),color:i.color})}}else{let g=AN({viewState:r,graphInfo:i,compiled:n,derivative:s,bounds:[a,u]}),d=g.cdfTopBranch,y=g.topBranches;if(y.forEach(function(h){!h||!l||(h.boundingBox=l)}),f=y,d&&d.segments.length){let h,b;for(let x=0;x=4){h=P[0];break}}for(let x=d.segments.length-1;x>=0;x--){let P=d.segments[x];if(P.length>=4){b=P[P.length-2];break}}if(h!==void 0&&b!==void 0&&isFinite(h)&&isFinite(b)){let x=ih(d.segments,[[h,0,b,0]],d.graphMode);f.push({graphMode:7,segments:x,poi:dr(),color:i.color})}}}return f}else if(p){let f=rh({viewState:r,graphInfo:i,compiled:n,showPoint:e.userData.shouldGraph,maxOverride:oA(c,t)});return l&&(f.boundingBox=l),[f]}else return}function cA(e){return Yk(e)||Q0(e)||lA(e)}function Yk(e){return e===3}function j0(e,t){let n=t!=null?t:{};if(!Array.isArray(e))return()=>e;let r=Object.keys(n).length===0?e:e.filter((i,s)=>!n[s]);return i=>r[i]}function Xk(e){var s,o;let t=e.droppedIndices,n=j0((s=e.pointSize)!=null?s:1,t),r=j0(e.color,t),i=j0((o=e.pointOpacity)!=null?o:1,t);return e.segments[0].map(([a,u],c)=>({graphMode:114,position:[a,u,0],radius:.02*n(c),guid:fi(),color:r(c),fillOpacity:i(c)}))}function rA(e,t,n,r){return e.is3dPolicy()&&Q0(t.graphMode)?oh(t,n,r!=null?r:1):t}function Q0(e){switch(e){case 1:case 2:case 6:case 8:case 5:return!0;default:return!1}}function oh(e,t,n,r=0){var o;let i=pA(e,t,r),s=ah(i,t.viewport,n);return{graphMode:128,guid:fi(),points:s,resolved:e.resolved,color:e.color,thickness:(o=e.lineWidth)!=null?o:1}}function iA(e,t,n){return e.is3dPolicy()&&lA(t.graphMode)?Zk(t,n):t}function lA(e){switch(e){case 17:case 24:return!0;default:return!1}}function Zk(e,t){var r;let n=pA(e,t);return{graphMode:e.graphMode===17?119:e.graphMode===24?129:128,guid:fi(),points:Wk(n),color:e.color,thickness:(r=e.lineWidth)!=null?r:1}}function Wk(e){let t=[];for(let[n,r,i]of e)t.push(n,r,i);return t}function pA(e,t,n=0){function r(s,o){if(e.graphMode===1)return[o,s];if(e.graphMode===6){let a=t.degreeMode?s*Math.PI/180:s;return[o*Math.cos(a),o*Math.sin(a)]}else return[s,o]}let i=[];for(let s=0;sf&&Z>f){let Ne=.5*(f/ie),Te=.5*(f/Z),Me=Ks(v,x,1-Ne),ve=Ks(O,P,1-Ne),Q=Ks(A,M,1-Ne),U=Ks(x,N,Te),xe=Ks(P,L,Te),le=Ks(M,z,Te);d.push(Me,ve,Q),d.push(Ks(Me,x,.5),Ks(ve,P,.5),Ks(Q,M,.5)),d.push(x,P,M),d.push(Ks(x,U,.5),Ks(P,xe,.5),Ks(M,le,.5)),d.push(U,xe,le)}else d.push(x,P,M)}else d.push(x,P,M)}return d}function Ks(e,t,n){return(1-n)*e+n*t}function jk(e){return e.startsWith(\"shader:\")}function hh(e,t,n){return{resolved:!0,graphMode:t,segments:n,operator:e.operator,poi:dr(),color:e.color,style:\"DASHED\",lineWidth:1,lineOpacity:.5,isIntersectionExtension:!0}}function sA(e,t){var r,i;if(!t)return[];let n=[];for(let s of e)if(s.graphMode===17){let o=t[(r=s.listIndex)!=null?r:0];if(!o)continue;let a=0,u,c=1,l,[p,f,m,g]=s.segments[0];for(let d=0;dc&&(c=b,l=d)}u!==void 0&&n.push(hh(s,17,[[p,f,o[u][0],o[u][1]]])),l!==void 0&&n.push(hh(s,17,[[m,g,o[l][0],o[l][1]]]))}else if(s.graphMode===21){let o=t[(i=s.listIndex)!=null?i:0];if(!o)continue;let[a,u,c,l,p]=s.segments[0],f=p-l+(pg)&&(g=x,d=b)}let y=m[d],h=m[d+1];y>0&&n.push(hh(s,21,[[a,u,c,l,l+y*f]])),h<1&&n.push(hh(s,21,[[a,u,c,p,p-(1-h)*f]]))}}return n}function Jk(){throw new Error(\"Programming error: this function is not expected to be called\")}function fA(e,t,n,r){let i=[];for(let s=0;s0?i:!1}D.Base.prototype.tryGraph=function(e,t,n,r){var i,s;try{let o=this.graph(e,t,n,r);if(Array.isArray(o))for(let a of o)\"compiled\"in a&&((i=a.compiled)!=null&&i.executionMetadata.recursionTerminationStatus)&&(a.recursionTerminationStatus=(s=a.compiled)==null?void 0:s.executionMetadata.recursionTerminationStatus);return o}catch(o){let a=o instanceof D.Error?o.getError():J(o).getError();return[IN(a)]}};D.Base.prototype.graph=function(e,t,n,r){let i=this.getGraphInfo(e,t);return this._graph(e,t,n,i,r)};D.BaseComparator.prototype.graph=function(e,t,n){let r=this.getGraphInfo(e,t),i=r.graphMode,s=\"baseComparator\",o=this.userData.lines===void 0?!0:this.userData.lines;if(i===8||i===112||i===113||i===127||i===210)return this._graph(e,t,n,r);if(i===10||!(t instanceof D.SolvedEquation))return!1;let a=this.getOperator(),u=[],c=[],l=!0;t._expression.eachElement(function(y){u.push(y.getCompiledFunction());try{c.push(y.getCompiledDerivative())}catch(h){l=!1}}),l||(c=void 0);let p=[],f=[-1,0,0,1],m=Uc(this.metaData,[\"computedLineWidth\",\"computedLineOpacity\",\"computedFillOpacity\",\"colorLatexValue\"],s),g=Math.min(u.length,m);for(let y=0;y{let d=g;if(d>=p)return;m[0].userData=m[1].userData=a,m[0].metaData=m[1].metaData=u;let y=void 0,{color:h,lineWidth:b,lineOpacity:x,fillOpacity:P}=_u(this,d,y),M=this._graph(e,m[0],n,r)[0];M.listIndex=d,M.operator=s,M.color=h,M.lineWidth=b,M.lineOpacity=x,i.push(M);let I=this._graph(e,m[1],n,r)[0];I.listIndex=d,I.operator=o,I.color=h,I.lineWidth=b,I.lineOpacity=x,i.push(I);let E=M.segments,v=I.segments;Xr(E),Xr(v);let O=ih(E,v,M.graphMode);c||(M.lineWidth=0,I.lineWidth=0),i.push({graphMode:7,listIndex:M.listIndex,segments:O,lineOpacity:x,fillOpacity:P,poi:dr(),color:h})}),i};D.Regression.prototype.graph=function(e,t,n){let r=this.getGraphInfo(e,t);return this._graph(e,t.model,n,r)};function K0(e,t){let n=1/0,r=-1/0,i=1/0,s=-1/0;for(let a of t)for(var o=0;or&&(r=u),cs&&(s=c)}if(isFinite(n)&&isFinite(i))return{type:e,xmin:n,ymin:i,xmax:r,ymax:s}}function dA(e,t){if(!e||!(t instanceof pn))return;let n=t._chunk,r=n.getInstruction(n.getReturnIndex());if(r.type!==37)return;let i=e.discrete?\"discreteDistribution\":\"continuousDistribution\";if(e.symbol===\"binomialdist\"&&r.symbol===\"binompdf\"){let s=ln(n,r.args[1]),o=ln(n,r.args[2]),a=wy(o*s,s,o);return{type:i,xmin:0,xmax:s,ymin:0,ymax:a}}if(e.symbol===\"poissondist\"&&r.symbol===\"poissonpdf\"){let s=ln(n,r.args[1]),o=Math.max(Yl(Math.floor(s),s),Yl(Math.ceil(s),s));return{type:i,xmin:0,xmax:2.5*s,ymin:0,ymax:o}}if(e.symbol===\"normaldist\"&&r.symbol===\"normalpdf\"){let s=ln(n,r.args[1]),o=ln(n,r.args[2]),a=iI(s,s,o);return{type:i,xmin:s-2*Math.abs(o),xmax:s+2*Math.abs(o),ymin:0,ymax:a}}if(e.symbol===\"uniformdist\"&&r.symbol===\"uniformpdf\"){let s=ln(n,r.args[1]),o=ln(n,r.args[2]),a=(s+o)/2,u=o-s,c=aI(a,s,o);return{type:i,xmin:s-u/3,xmax:o+u/3,ymin:0,ymax:c}}if(e.symbol===\"tdist\"&&r.symbol===\"tpdf\"){let s=ln(n,r.args[1]),o=Ly(0,s);return{type:i,xmin:-3,xmax:3,ymin:0,ymax:o}}}function oA(e,t){if(e===void 0||e.symbol!==\"binomialdist\"||!(t instanceof pn))return;let n=t._chunk,r=n.getInstruction(n.getReturnIndex());if(r.type===37&&r.symbol===\"binompdf\")return ln(n,r.args[1])}function mA(e,t,n){let r={};n-=.5*t;for(var i=e.length-1;i>=0;i--){let s=e[i],o=Math.floor((s-n)/t);r[o]?r[o].data.push(s):r[o]={id:o,data:[s],min:o*t+n,max:o*t+n+t,center:o*t+n+t/2}}return r}D.Histogram.prototype.graph=function(e,t,n){let r=this.getGraphInfo(e,t),i=t.args[0].asValue(),s=t.args[1].asValue(),o=this.userData.vizProps&&this.userData.vizProps.binAlignment===\"left\"?s/2:0;Xr(i);let a=mA(i,s,o),u=1;this.userData.vizProps&&this.userData.vizProps.histogramMode===\"density\"?u=1/(i.length*s):this.userData.vizProps&&this.userData.vizProps.histogramMode===\"relative\"&&(u=1/i.length);let c=[],l=[];for(let f in a){let m=a[f],g=m.data.length;l.push([m.min,0*u,m.min,g*u,m.max,g*u,m.max,0*u]);let d=0;a[m.id+1]&&(d=a[m.id+1].data.length);let y=[m.min,0*u,m.min,g*u,m.max,g*u];d=0;p--)b.center!==b.data[p]&&(u=!0)}if(this.userData.vizProps&&this.userData.vizProps.dotplotXMode===\"exact\")for(let h in a){c=a[h].data,c.reverse();for(let x=0;xI)&&y.push([E,f])})}let h=[[c,m,p,m,p,g,c,g,c,m],[l,m,l,g],[c,f,a,f],[p,f,u,f],[a,f-d,a,f+d],[u,f-d,u,f+d]];if(this.userData.vizProps&&this.userData.vizProps.alignedAxis===\"y\"){for(let P of h)for(var b=0;b1&&P.push(M),M=[]);continue}let $=z.asValue(),w=G.asValue();if(g){if(L>=l)continue;let Y=f&&this.isValueDraggable(t,0,L),de=m&&this.isValueDraggable(t,o,L);Y||de?(b.push([$,w]),x.push({index:L,dragX:Y,dragY:de})):h.push([$,w])}d&&M.push([$,w]),$E&&(E=$),wO&&(O=w)}let N={type:\"table\",xmin:I,xmax:E,ymin:v,ymax:O};b.length&&y.push({graphMode:4,segments:[b],color:c.colorLatexValue||u.color,tableId:u.tableId,poi:Us(b),movablePointInfo:x,boundingBox:N,pointOpacity:c.computedPointOpacity,pointSize:c.computedMovablePointSize}),h.length&&y.push({segments:[h],droppedIndices:A,graphMode:3,showPoint:!0,poi:Us(h),color:c.colorLatexValue||u.color,pointSize:c.computedPointSize,pointOpacity:c.computedPointOpacity,style:u.pointStyle,tableId:u.tableId,boundingBox:N}),(P.length||M.length)&&(P.push(M),y.push({segments:P.map(Qk),graphMode:5,poi:dr(),color:sa(u,c),style:u.lineStyle,lineWidth:Array.isArray(c.computedLineWidth)?c.computedLineWidth[0]:c.computedLineWidth,lineOpacity:Array.isArray(c.computedLineOpacity)?c.computedLineOpacity[0]:c.computedLineOpacity,tableId:u.tableId,boundingBox:N})),y.length&&(r[u.id]=y)}return r};function Kk(e,t,n){return e?t===0&&n===0?e[2].type!==\"none\"||e[3].type!==\"none\":t!==0&&n!==0?e[0].type!==\"none\"&&e[1].type!==\"none\":t!==0?e[0].type!==\"none\":n!==0?e[1].type!==\"none\":!1:!1}D.Image.prototype.graph=function(e,t,n){let r=[];if(t.center.valueType!==R||t.center.getDependencies().length!==0||!t.radianAngle.isConstant||!t.width.isConstant||!t.height.isConstant||!t.opacity.isConstant)return r;let i=[],s=[],o=t.width.asValue()/2,a=t.height.asValue()/2,u=t.radianAngle.asValue();for(var c=-1;c<=1;c++)for(var l=-1;l<=1;l++){let[p,f]=t.center.asValue(),m=[p+c*o*Math.cos(u)+l*a*Math.sin(u),f-c*o*Math.sin(u)+l*a*Math.cos(u)];Kk(t.moveStrategy,c,l)&&(i.push(m),s.push([c,l]))}return r.push({segments:[i],scaleFactors:[s],graphMode:4,color:sa(this.userData,this.metaData),style:this.userData.style,poi:Us(i),movablePointInfo:[],pointOpacity:1}),r};function aA(e){let t=[],n=[];for(let[r,i]of e)!isNaN(r)&&!isNaN(i)?t.push(r,i):(t.length>=4&&n.push(t),t=[]);return t.length>=4&&n.push(t),n}function uA(...e){return e.some(t=>isNaN(t))}function ez(e){return e.isError?e.getError():e.asValue()===void 0?\"\":+e.asValue()}function tz(e,t,n){let r=[];for(var i=0;i0)return r.variables=t.getSliderVariables(e,n),r;r.dimensions.x=[],r.dimensions.y=[],r.dimensions.radianAngle=[],r.dimensions.width=[],r.dimensions.height=[],r.dimensions.opacity=[];let i=[n.center,n.radianAngle,n.width,n.height,n.opacity];return i.some(o=>o&&o.valueType&&W(o.valueType))&&(r.is_concrete_list=!0),D.List.eachArgs(i,function(o){let a=o[0].asValue(),u=+o[1].asValue(),c=Math.atan2(Math.sin(u),Math.cos(u));r.dimensions.x.push(+a[0]),r.dimensions.y.push(+a[1]),r.dimensions.radianAngle.push(c),r.dimensions.width.push(+o[2].asValue()),r.dimensions.height.push(+o[3].asValue()),r.dimensions.opacity.push(Math.max(0,Math.min(1,+o[4].asValue())))}),(e.graphingEnabled()?t.getGraphMode(e,n):10)!==10&&(r.is_graphable=!0),n.moveStrategy&&(r.move_strategy=n.moveStrategy),t.center&&(t.center.type===\"Identifier\"?(r.center_reference_id=t.center.referencedStatementId,r.center_reference_symbol=t.center._symbol):t.center.type===\"ParenSeq\"&&n.center.valueType===R&&(r.center_is_point_literal=!0)),r}function rz(e,t,n){let r=n.handler,i=n.minStep,s={},o={};for(let p of r.getDependencies())e.validActionVariable(p)||(s[p]=!0);for(let p of i.getDependencies())o[p]=!0;let a;if(xo(i))a={status:\"error\",error:i.getError()};else{let p=i.asValue();typeof p==\"number\"&&!isNaN(p)&&p>=0?a={status:\"valid\",value:p}:a={status:\"error\",error:eP().getError()}}let u=Object.keys(s);u.length>0&&(r=tn(u).setDependencies(r.getDependencies()));let c;r.isError&&!nM(e,r)?c={status:\"error\",error:r.getError()}:r.isEmptyAction?c={status:\"empty\"}:c={status:\"maybe-valid\"};let l={handler:c,minStep:a,variables:[]};return Fu(l,e,{...s,...o}),l}function iz(){return{operator:\"=\",variables:[]}}function yA(e,t,n,r){var c;if(Gs(n))return tz(e,n,r);if(rd(n))return nz(e,n,r);let i=iz();if(n instanceof D.Ticker)return e.graphingEnabled()?rz(e,n,r):(i.error=J(\"Ticker without graphing\").getError(),i);if(e.is3dProduct()){let l=e,p=n.getGraphMode(l,r);if((p===100||p===101||p===102||p===5)&&r.getDependencies().length===1){let f=r.getDependencies()[0];(f===\"u\"||f===\"v\"||f===\"t\")&&(i.internal_domain_dependency=f)}}if((c=n.parseOptions)!=null&&c.selection){let l=r.getCursorContext();if(l)i.cursor_context={...l,selection:n.parseOptions.selection};else if(xo(r)){let p=oz(e,t,n);p&&(i.cursor_context={...p,selection:n.parseOptions.selection})}}if(n instanceof cr&&r instanceof pn?i.recursion=r.getRecursiveFunctionMetadata():n instanceof cr&&r instanceof C&&r.recursionMetadata&&(i.recursion=r.recursionMetadata),n instanceof wi&&(i.recursion_base_case={symbol:n._symbol,argValue:n.specifiedArg.valid?n.specifiedArg.argValue:void 0}),r.isError&&!(n instanceof D.FunctionDefinition&&!r.blocksExport)&&!r.silent){i.error=r.getError(),i.variables=n.getSliderVariables(e,r),i.is_single_identifier=n instanceof D.Identifier,r.actionValue&&(i.action_value=WE(r.actionValue));let l=eM(e,t,n,r);return Object.keys(l).length>0&&(i.geometry=eM(e,t,n,r)),i}if(r.valueType===Ut&&r.getDependencies().length===0){let l=r.asValue();i.rgb_value=xc(l[0],l[1],l[2]).formatHex()}r.valueType===rt&&r.getDependencies().length===0&&(i.action_value=WE(r.asValue())),r.moveStrategy&&(i.move_strategy=r.moveStrategy,i.default_drag_mode=r.defaultDragMode),n.isInequality()&&(i.is_inequality=!0),i.operator=n.getOperator(),r instanceof D.SolvedEquation?r._expression.asValue()!==!0&&r._expression.asValue()!==!1&&(i.assignment=r._symbol):n instanceof D.Assignment&&(n._symbol.startsWith(\"_\")||(i.assignment=n._symbol)),n instanceof D.FunctionDefinition&&(i.function_definition=n._symbol);let s=e.graphingEnabled()?n.getGraphMode(e,r):10;if(e.graphingEnabled()&&e.is3dPolicy()&&!ea(s)&&!cA(s)&&(s=10),s!==10&&(i.is_graphable=!0,i.expression_type=n.getExpressionType(s,r.valueType),e.is3dPolicy()&&(i.expression_type===\"SINGLE_POINT\"?i.expression_type=\"POINT3D\":i.expression_type===\"POINT_LIST\"&&(i.expression_type=\"POINT3D_LIST\")),r.valueType&&ca(r.valueType)&&(i.map_type=r.valueType),r.isShadeBetween()&&(i.is_shade_between=!0),i.expression_type!==\"POINT3D\"&&i.expression_type!==\"POINT3D_LIST\")){let l=n.tableInfo(e,r);l&&(i.is_tableable=!0,i.table_info=l)}if(r.valueType!==void 0&&W(r.valueType)&&(i.is_concrete_list=!0,r.valueType===Zn&&r.getDependencies().length===0)){let l=r.asValue();l&&(i.rgb_value=l.map(p=>xc(p[0],p[1],p[2]).formatHex()))}if(i.variables=i.is_graphable?[]:n.getSliderVariables(e,r),i.is_single_identifier=n instanceof D.Identifier,r.isTypedConstant){let l=r.asTypedValue();i.typed_constant_value=l,(l.valueType===T||l.valueType===ge)&&(i.constant_value=l.value),sz(l.valueType)&&(i.geometry=eM(e,t,n,r))}let o=r.getEvaluationInfo();if(o&&i.operator===\"=\"&&!n.isConstant&&!n.isFunction&&!(n instanceof D.RecursiveFunctionBaseCase)&&r.valueType!==ge&&r.valueType!==Ln&&!(n instanceof D.Equation)&&!(n instanceof D.ComparatorChain)&&(i.is_evaluable=!0,i.zero_values=o),r instanceof D.OptimizedRegression){let l=r,p={};for(var a in l.parameters)l.parameters.hasOwnProperty(a)&&(p[ur(a)]=+l.parameters[a].asValue());i.is_regression=!0,i.regression={parameters:p,residualVariable:ur(l.residualVariable),residualSuggestionId:l.residualSuggestionId,shouldSuggestLogMode:l.shouldSuggestLogMode,isLinear:l.isLinear,statistics:l.statistics,parameterWarning:l.parameterWarning}}let u=Aa(n);return u&&u.discrete&&(i.is_discrete_distribution=!0),i}function sz(e){switch(e){case R:case Pt:case fe:case Bn:case Ie:case Tn:case Le:case Gn:case he:case kn:case pe:case Fn:case ce:case Vn:case Be:case Rn:case Ge:case gn:case Ae:case hn:case Ue:case mr:return!0;default:return!1}}function eM(e,t,n,r){let i={};r.valueType!==void 0&&(i.valueType=r.valueType),i.valueType&&oe(i.valueType,R)&&e.graphingEnabled()&&n.getGraphMode(e,r)===4&&(i.isMovablePoint=!0);let{identifier:s,listAccess:o,assignmentRhsReference:a,tree:u}=Wy(n);if(s&&(i.identifier=s),o&&(i.listAccess=o),a&&(i.assignmentRhsReference=a),u&&(i.call=u,r.valueType&&oe(r.valueType,Ue)&&n instanceof cr)){let l=n._expression;i.transformation_preview_info={type:u.symbol,args:l.args.slice(1).map(p=>p.tryGetConcreteTree(e,t).asTypedValue())}}let c=r.moveStrategy&&r.moveStrategy[0];return c&&\"initialValue\"in c&&c.initialValue!==void 0&&(i.gliderParameter=c.initialValue),i}function oz(e,t,n){let r=n.parseOptions;if(!(r!=null&&r.selection))return;let{start:i,end:s,input:o}=r.selection;if(o.trim()===\"\")return{type:\"empty\",allowedTypes:[Ht]};let a=\"\\\\cursor\",u=o.slice(0,i)+a+\" \"+o.slice(s),c={input:u,start:i,end:i+a.length},l=Vs(u,{...n.parseOptions,selection:c});return l.isError?l.getCursorContext():mp({policy:e,frame:t,selection:c},l).getCursorContext()}function Fu(e,t,n){let r=e.variables;if(r&&r.length){let i={};for(let s of r)i[s]=!0;for(let s in n)i[s]=!0;n=i}e.variables=t.sliderVariables(Object.keys(n))}function nM(e,t){if(t.blocksExport)return!1;let n=t.getDependencies();if(n.length===0)return!1;for(let r of n)if(!e.validActionVariable(r))return!1;return!0}var k=class{constructor(t,n,r,i){this.policy=t,this.rawTree=r,this.concreteTree=i,this.evaluationState=yA(t,n,r,i)}exportTo(t,n){this.rawTree.exportTo(t,this.concreteTree,n)}graph(t,n){return this.rawTree.tryGraph(this.policy,this.concreteTree,t,n)}getGraphMode(){return this.policy.graphingEnabled()?this.rawTree.getGraphMode(this.policy,this.concreteTree):10}getGraphInfo(){return this.rawTree.getGraphInfo(this.policy,this.concreteTree)}shouldIntersect(){if(!this.evaluationState.is_graphable||!this.rawTree.userData.shouldGraph||!rs.pointsOfInterest)return!1;var t=this.getGraphMode();return t===1||t===2}};var F=function(){};F.version=\"1.2.6\";F._myIndexOf=function(t){var n=this.length,r;for(r=0;r=0;i--) ret[i] = arguments.callee(`+t.join(\",\")+`,_s,_k+1);\n return ret;\n}\n`+r+`\nfor(i=_n-1;i!==-1;--i) {\n `+n+`\n}\nreturn ret;`,F.compile.apply(null,i)};F.pointwise2=function(t,n,r){typeof r==\"undefined\"&&(r=\"\");var i=[],s,o=/\\[i\\]$/,a,u=\"\",c=!1;for(s=0;s=0;o--)e(typeof t==\"object\"?t[o]:t,typeof n==\"object\"?n[o]:n,r,i+1,s)};F._biforeach2=function e(t,n,r,i,s){if(i===r.length-1)return s(t,n);var o,a=r[i],u=Array(a);for(o=a-1;o>=0;--o)u[o]=e(typeof t==\"object\"?t[o]:t,typeof n==\"object\"?n[o]:n,r,i+1,s);return u};F._foreach=function e(t,n,r,i){if(r===n.length-1){i(t);return}var s,o=n[r];for(s=o-1;s>=0;s--)e(t[s],n,r+1,i)};F._foreach2=function e(t,n,r,i){if(r===n.length-1)return i(t);var s,o=n[r],a=Array(o);for(s=o-1;s>=0;s--)a[s]=e(t[s],n,r+1,i);return a};F.ops2={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};F.opseq={addeq:\"+=\",subeq:\"-=\",muleq:\"*=\",diveq:\"/=\",modeq:\"%=\",lshifteq:\"<<=\",rshifteq:\">>=\",rrshifteq:\">>>=\",bandeq:\"&=\",boreq:\"|=\",bxoreq:\"^=\"};F.mathfuns=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\",\"isNaN\",\"isFinite\"];F.mathfuns2=[\"atan2\",\"pow\",\"max\",\"min\"];F.ops1={neg:\"-\",not:\"!\",bnot:\"~\",clone:\"\"};F.mapreducers={any:[\"if(xi) return true;\",\"var accum = false;\"],all:[\"if(!xi) return false;\",\"var accum = true;\"],sum:[\"accum += xi;\",\"var accum = 0;\"],prod:[\"accum *= xi;\",\"var accum = 1;\"],norm2Squared:[\"accum += xi*xi;\",\"var accum = 0;\"],norminf:[\"accum = max(accum,abs(xi));\",\"var accum = 0, max = Math.max, abs = Math.abs;\"],norm1:[\"accum += abs(xi);\",\"var accum = 0, abs = Math.abs;\"],sup:[\"accum = max(accum,xi);\",\"var accum = -Infinity, max = Math.max;\"],inf:[\"accum = min(accum,xi);\",\"var accum = Infinity, min = Math.min;\"]};(function(){var e,t;for(e=0;eh&&(y=f,h=g);for(u=o[y],o[y]=o[m],o[m]=u,p=c[y],c[y]=c[m],c[m]=p,d=u[m],g=m;g!==s;++g)u[g]/=d;for(g=s-1;g!==-1;--g)p[g]/=d;for(f=i-1;f!==-1;--f)if(f!==m){for(a=o[f],l=c[f],d=a[m],g=m+1;g!==s;++g)a[g]-=u[g]*d;for(g=s-1;g>0;--g)l[g]-=p[g]*d,--g,l[g]-=p[g]*d;g===0&&(l[0]-=p[0]*d)}}return c};F.det=function(t){var n=F.dim(t);if(n.length!==2||n[0]!==n[1])throw new Error(\"numeric: det() only works on square matrices\");var r=n[0],i=1,s,o,a,u=F.clone(t),c,l,p,f,m,g,d;for(o=0;oMath.abs(u[a][o])&&(a=s);for(a!==o&&(f=u[a],u[a]=u[o],u[o]=f,i*=-1),c=u[o],s=o+1;s=1;n-=2){for(u=t[n],a=t[n-1],r=s-1;r>=1;--r)c=o[r],c[n]=u[r],c[n-1]=a[r],--r,c=o[r],c[n]=u[r],c[n-1]=a[r];r===0&&(c=o[0],c[n]=u[0],c[n-1]=a[0])}if(n===0){for(a=t[0],r=s-1;r>=1;--r)o[r][0]=a[r],--r,o[r][0]=a[r];r===0&&(o[0][0]=a[0])}return o};F.negtranspose=function(t){var n,r,i=t.length,s=t[0].length,o=Array(s),a,u,c;for(r=0;r=1;n-=2){for(u=t[n],a=t[n-1],r=s-1;r>=1;--r)c=o[r],c[n]=-u[r],c[n-1]=-a[r],--r,c=o[r],c[n]=-u[r],c[n-1]=-a[r];r===0&&(c=o[0],c[n]=-u[0],c[n-1]=-a[0])}if(n===0){for(a=t[0],r=s-1;r>=1;--r)o[r][0]=-a[r],--r,o[r][0]=-a[r];r===0&&(o[0][0]=-a[0])}return o};F.norm2=function(t){return Math.sqrt(F.norm2Squared(t))};F.linspace=function(t,n,r){if(typeof r==\"undefined\"&&(r=Math.max(Math.round(n-t)+1,1)),r<2)return r===1?[t]:[];var i,s=Array(r);for(r--,i=r;i>=0;i--)s[i]=(i*n+(r-i)*t)/r;return s};F.getBlock=function(t,n,r){var i=F.dim(t);function s(o,a){var u,c=n[a],l=r[a]-c,p=Array(l);if(a===i.length-1){for(u=l;u>=0;u--)p[u]=o[u+c];return p}for(u=l;u>=0;u--)p[u]=s(o[u+c],a+1);return p}return s(t,0)};F.setBlock=function(t,n,r,i){var s=F.dim(t);function o(a,u,c){var l,p=n[c],f=r[c]-p;if(c===s.length-1)for(l=f;l>=0;l--)a[l+p]=u[l];for(l=f;l>=0;l--)o(a[l+p],u[l],c+1)}return o(t,i,0),t};F.getRange=function(t,n,r){var i=n.length,s=r.length,o,a,u=Array(i),c,l;for(o=i-1;o!==-1;--o)for(u[o]=Array(s),c=u[o],l=t[n[o]],a=s-1;a!==-1;--a)c[a]=l[r[a]];return u};F.blockMatrix=function(t){var n=F.dim(t);if(n.length<4)return F.blockMatrix([t]);var r=n[0],i=n[1],s,o,a,u,c;for(s=0,o=0,a=0;a=0;c--){for(u=Array(o),p=t[c],l=o-1;l>=3;--l)u[l]=p*n[l],--l,u[l]=p*n[l],--l,u[l]=p*n[l],--l,u[l]=p*n[l];for(;l>=0;)u[l]=p*n[l],--l;a[c]=u}return a};F.epsilon=2220446049250313e-31;F.LU=function(e,t){t=t||!1;var n=Math.abs,r,i,s,o,a,u,c,l,p,f=e.length,m=f-1,g=new Array(f);for(t||(e=F.clone(e)),s=0;s=0;--r){for(l=s[r],i=r+1;io&&(o=l,a=c)}if(r[s]=a,a!==s)for(let c=0;c=0;c--){let l=i[c];if(Math.abs(l[c])<=u)o[c]=0;else{for(let p=c+1;p=0;c--)if(s[c]!==c){let l=o[c];o[c]=o[s[c]],o[s[c]]=l}return o}function pz(e,t,n){let r=Array(e.r[0].length);for(let s=0;s0?e[0].length:0;return{numRows:t,numCols:n}}function yz(){throw new Error(\"Matrix dimension mismatch\")}function rM(e,t){let n=Ph(e),r=Ph(t);n.numCols!==r.numRows&&yz();let i=[];for(let s=0;st&&(t=i)}return t}function bA(e){for(let t=0;tc)&&(c=f,u=p)}if(!isFinite(c))return bA(e),{determinant:NaN,rank:0};if(c===0){s=De(0,1),a+=1;continue}if(!En(e[u][a])&&cMath.abs(u)<1e-6?0:u),r=t.solution.map(()=>0),i=Bu(e,n),s=Vu(e,n),o=Vu(e,r),a=0;for(let u=0;u1){Fa(e,f,g,y);break}let b=g&&g.length>0?g[0]:lM(e),[x,P]=h.args,M=b.isLazy?x:b.valueMap[x],I=b.isLazy?P:b.valueMap[P],E=b.chunk.getInstruction(M),v=b.chunk.getInstruction(I),O,A,N;if(E.type===37)O=x,N=E,A=P;else if(v.type===37)O=P,N=v,A=x;else{Fa(e,f,g,y);break}let L=pM(m,O);if(L===void 0||SA(m,A)){Fa(e,f,g,y);break}let{listAccessIndex:z,listStatistics:G}=L;if(N.symbol===\"exp\"){let $=Dz(b,y,A,O,z,G);if($){g=$;break}}else if(OA(N)){let $=Mz(b,y,A,O,z);if($){g=[$];break}}Fa(e,f,g,y);break;default:{Fa(e,f,g,y);break}}}if(g===void 0||g.length===0)return;let d=[];for(let y of g)d.push({chunk:y.chunk,forwardParameterMap:y.forwardParameterMap,reverseParameterMap:y.reverseParameterMap});return d}function Fa(e,t,n,r){if(n===void 0)return;let i=e.getInstruction(r);if(be(i))for(let s of n)s.valueMap[r]=r;else for(let s of n){let{chunk:o,valueMap:a}=s,u=[],c=0;for(let l of i.args){if(a[l]!==l){if(c+=1,c>1){n.length=0;return}}else{let p=t[l];for(let f=0;f0?Mn(o,i,u):r}}function pM(e,t){let{listAccessDependencyTable:n,listAccesses:r,listStatisticsTable:i}=e,s,o=n[t];for(let a=0;a0){let b=vh(e),{chunk:x,valueMap:P}=b,M=x.Multiply([x.SyntheticNativeFunction(\"ln\",[P[o]]),P[a]]);return P[a]=M,P[t]=x.SyntheticNativeFunction(\"exp\",[M]),Td(b,t,a,n,r)||b}let c=fM(i,o);if(c===void 0)return;let l=dM(e,o,c);if(l===void 0)return;let{chunk:p,valueMap:f}=l,m=p.Multiply([f[o],f[a]]);f[a]=m,f[t]=p.SyntheticNativeFunction(\"exp\",[m]);function g(b){let x=l.forwardParameterMap(b),P=x[c],M=Math.log(P);return x[c]=M,x}function d(b){let x=b.slice(),P=x[c],M=Math.exp(P);return x[c]=M,l.reverseParameterMap(x)}let y=l.replacementMask.slice();y[c]=!0;let h={chunk:p,forwardParameterMap:g,reverseParameterMap:d,isLazy:!1,valueMap:f,replacementMask:y};return Td(h,t,a,n,r)||h}function Dz(e,t,n,r,i,s){if(!e.isLazy&&e.didShiftScale)return;let o=e.isLazy?e:DA(e),a=e.chunk,u=fM(a,n);if(u===void 0)return;let c=dM(e,n,u);if(c===void 0)return;let{chunk:l,valueMap:p}=c,f=l.getInstruction(p[r]).args[0],m=l.Add([f,p[n]]);p[n]=m,p[t]=l.SyntheticNativeFunction(\"exp\",[m]);function g(I){let E=c.forwardParameterMap(I),v=E[u],O=Math.log(v);return E[u]=O,E}function d(I){let E=I.slice(),v=E[u],O=Math.exp(v);return E[u]=O,c.reverseParameterMap(E)}function y(I){let E=c.forwardParameterMap(I),v=E[u],O=Math.log(-v);return E[u]=O,E}function h(I){let E=I.slice(),v=E[u],O=-Math.exp(v);return E[u]=O,c.reverseParameterMap(E)}let b=c.replacementMask.slice();b[u]=!0;let x=vh(o);x.valueMap[t]=x.chunk.Multiply([x.valueMap[n],x.valueMap[r]]);let P={chunk:l,forwardParameterMap:g,reverseParameterMap:d,isLazy:!1,valueMap:p,replacementMask:b},M=DA(P);return M.forwardParameterMap=y,M.reverseParameterMap=h,P=Td(P,t,n,i,s)||P,M=Td(M,t,n,i,s)||M,M.valueMap[t]=M.chunk.Negative([M.valueMap[t]]),[x,P,M]}function Td(e,t,n,r,i){let s=Sz(e,n,r,i);if(s!==void 0)return s.valueMap[t]=s.chunk.SyntheticNativeFunction(\"exp\",[s.valueMap[n]]),s}function Sz(e,t,n,r){let i=RA(e,t,n);if(i===void 0)return;let{chunk:s,valueMap:o}=i,a=s.getInstruction(o[t]);if(a.type!==8)return;let u=a.args[1],c=s.getInstruction(a.args[0]);if(c.type!==10)return;let[l,p]=c.args,{min:f,max:m}=r,g=m-f,d=.5*(m+f),y=s.Divide([s.Subtract([p,s.Constant(d)]),s.Constant(g)]),h=s.Add([s.Multiply([l,y]),u]);o[t]=h;function b(P){let M=i.forwardParameterMap(P),I=M[l],E=M[u],v=I*g,O=E+d*I;return M[l]=v,M[u]=O,M}function x(P){let M=P.slice(),I=P[l],E=P[u],v=I/g,O=E-v*d;return M[l]=v,M[u]=O,i.reverseParameterMap(M)}return{chunk:s,forwardParameterMap:b,reverseParameterMap:x,isLazy:!1,valueMap:o,replacementMask:i.replacementMask,didShiftScale:!0}}function dM(e,t,n){let r=e.chunk,i=Lr(r,n,{allowRestriction:!1,allowClosedBlockReferences:!1});if(en(i,t)!==1)return;let s=ws(i,t),[o,a]=Hn(s,t);if(a===void 0)return;let u=s.newChunk.getInstruction(o);if(u.type!==1||u.valueType!==T)return;let c=s.newChunk.getInstruction(a);if(c.type!==1||c.valueType!==T)return;let l=vh(e),{chunk:p,valueMap:f}=l,m=q(u.value),g=q(c.value);f[t]=n;function d(b){let x=l.forwardParameterMap(b),P=x[n],M=m+g*P;return x[n]=M,x}function y(b){let x=b.slice(),M=(x[n]-m)/g;return x[n]=M,l.reverseParameterMap(x)}let h=l.replacementMask.slice();return h[n]=!0,{chunk:p,forwardParameterMap:d,reverseParameterMap:y,isLazy:!1,valueMap:f,replacementMask:h}}function RA(e,t,n){let r=e.chunk,i=e.isLazy?t:e.valueMap[t],s=Lr(r,n,{allowRestriction:!1,allowClosedBlockReferences:!0});if(en(s,i)!==1)return;e.isLazy&&(s=Lr(r.copy().reopenFinalBlock(),n,{allowRestriction:!1,allowClosedBlockReferences:!1}));let o=ws(s,i),[a,u]=Hn(o,i);if(u===void 0)return;let c=o.newChunk,l=Math.max(u,a),p=[];for(let Z=0;Z<=l;Z++)if(c.getInstruction(Z).type===2){let Ne=vp(c.argNames.length);Ne[Z]=!0,p.push(Ne)}else p.push(Mh(c,p,c.argNames.length,Z));let f,m;for(let Z=0;Zs[0]!==\"_\"),r;for(let s of n){let o=s.match(/_(.*)/);if(o&&(r=\"e_\"+o[1],!t[r]))return r}let i=1;for(;;){if(r=\"e_\"+i,!t[r])return r;i++}}function NA({policy:e,frame:t},n,r){let i=n._rhs.getDependencies(),s,o;for(let p of i){if(r.hasOwnProperty(p))continue;let f=t[p];if(!f||(f.type===\"Assignment\"&&(f=f._expression),!f.buildIRExpression))continue;let m=f.buildIRExpression(e,t,{coerceToNumber:!0});if(!m.isError&&m.valueType===se){if(s!==void 0){s=void 0,o=void 0;break}m.getDependencies().length===0&&(s=p,o=m)}}let a=Object.create(t);s!==void 0&&(a[s]=void 0);let u=n._rhs.buildIRExpression(e,a,{coerceToNumber:!0}),c=Object.create(a);for(let p in r)c[p]=r[p];let l=n._rhs.buildIRExpression(e,c,{coerceToNumber:!0});return o?{node:u,substituted:l,listNode:o,isValid:!0}:{node:u,substituted:l,listNode:o,isValid:!1}}function Nz(e,t,n){let r=[];t||(t={}),n||(n={});for(let i of e){let s=ur(i);n[i]&&isFinite(n[i].asValue())?r.push(+n[i].asValue()):t.hasOwnProperty(s)&&isFinite(+t[s])?r.push(+t[s]):r.push(1)}return r}function AA(e,t){let n=t.getDependencies(),r=t.getCompiledFunction(n).fn;if(n.length){let i=t.findLinearSubset(n),s=i.every(a=>a),o=[];for(let a of n)o.push(t.takeDerivative(a).getCompiledFunction(n).fn);if(s){let a=n.map(()=>De(0,1)),u=t.interpretWithParameters(a),c=[];for(let m of n)c.push(t.takeDerivative(m).interpretWithParameters(a));let l=uM(u,c);if(l){let m=t.interpretWithParameters(l);return{solution:l,residuals:m,MSE:yM(m),isLinear:s}}let{solution:p,MSE:f}=aM(r,cM(r,o));return{solution:p,residuals:r.apply(void 0,p),MSE:f,isLinear:s}}else{let a=[];for(let p of n)a.push(t.boundDomain(p));let u={linearSubset:i,bounds:a,preferredInitialGuess:e},{solution:c,MSE:l}=aM(r,MA(r,o,u));return{solution:c,residuals:r.apply(void 0,c),MSE:l,isLinear:s}}}else return{solution:[],residuals:t.interpretWithParameters([]),MSE:Bu(r,[]),isLinear:!0}}function _A(e,t){let n={},r=t.getDependencies();for(let i=0;i0)return{RMSE:Math.sqrt(o)};let a=W(t.valueType)?wf(t.asValue()):0;if(t.getDependencies().length||!isFinite(a)||a<=0||!e.isLhsSimple)return{RMSE:Math.sqrt(o)};{let u=1-o/a;if(n.isValid){let c=[],l=[],p=i&&(s===di.LINLOG||s===di.LOGLOG);D.List.eachArgs([n.listNode,t],function(m){let g=m[0].isConstant?m[0].asCompilerValue():NaN,d=m[1].isConstant?m[1].asCompilerValue():NaN;c.push(p?Math.log(q(g)):g),l.push(d)});let f=Vy(c.map(m=>q(m)),l.map(m=>q(m)));if(Li(Az(c,l).MSE,o,8))return{r:f,rsquared:f*f}}return{Rsquared:u}}}function Az(e,t){let n=t,r=[e.map(a=>hi(a)),e.map(()=>De(-1,1))],i=uM(n,r);if(i){let[a,u]=i,c=[];for(let l=0;l+f.asValue());if(a.length<3)return di.NONE;a.sort(function(f,m){return f-m});let u=a.map(s),c=u.map(Math.log),l=a.map(Math.log),p=!0;return D.List.wrap(t).eachElement(f=>{isFinite(Math.log(+f.asValue()))||(p=!1)}),mM(a,c)&&p?di.LOGLIN:mM(l,c)&&p?di.LOGLOG:mM(l,u)?di.LINLOG:di.NONE}function wA({policy:e,frame:t},n,r){let i=Object.create(t);for(let a in r)r.hasOwnProperty(a)&&(i[a]=r[a]);let s=mp({policy:e,frame:i,wrapInList:!0},n),o=s.getError();if(o)throw o;return s.asCompilerValue()}function yM(e){let t=0;for(let n of e){let r=q(n);t+=r*r}return t/e.length}function FA(e,t){let n,r,i=t._chunk;if(i&&(r=CA(i)),!r||r.length===0)return t=t.deriveRegressionRestrictions(),n=AA(e,t),{parameters:_A(n.solution,t),residuals:n.residuals,isLinear:n.isLinear,parameterWarning:!1};let s=t.getDependencies(),o=t.getCompiledFunction(s).fn,a=1/0,u={},c,l=!1;for(let p of r){let f=new pn(p.chunk);if(f=f.deriveRegressionRestrictions(),n=AA(p.forwardParameterMap(e),f),n.MSEq(d))),g=Bu(o,m);if(u&&(!isFinite(g)||g>=a)){isFinite(g)||(l=!0);continue}a=n.MSE,u=_A(m,t),c=o.apply(void 0,m)}}return{parameters:u,residuals:c,isLinear:!1,parameterWarning:l}}D.Base.prototype.analyze=function(e,t){return Gr(this)?kr(e,t,this):new k(e,t,this,this.tryGetConcreteTree(e,t))};function Dh(e,t,n,r){if(r.isError)return new k(e,t,n,r);if(!e.areAllScalesLinear()&&!Zc(r.valueType)){let u=cl(ne(r.valueType));return u.setCursorContext(r.getCursorContext()),new k(e,t,n,u)}var i=Cs(e,r),s=r.getDependencies();let o;switch(r.valueType){case St:case wn:case We:{o=r;break}case Ut:case Zn:case Ie:case Tn:case pe:case Fn:case ce:case Vn:case fe:case Bn:case Le:case Gn:case he:case kn:case Ge:case gn:case Ae:case hn:case Ue:case mr:case rt:case Be:case Rn:case Nt:case er:case Se:case nr:case In:case tr:case Nn:case yr:case mn:case Ur:i.length?o=tn(n.getSliderVariables(e,r)).setDependencies(i):o=r;break;case R:case V:case Pt:case Kn:if(i.length)if(e.validParametricVariables(i))o=r;else{var a=n.getSliderVariables(e,r);o=tn(a).setDependencies(a)}else o=r;break;case Wn:case sr:case jn:case or:case Dr:case Or:case Sr:case Cr:{i.length===0?o=r:o=tn(n.getSliderVariables(e,r)).setDependencies(i);break}case T:case se:i.length===0?o=r:i.length<=(e.is3dPolicy()?2:1)?e.is3dPolicy()&&s.length>i.length&&!e.validImplicitVariables(s)?o=tn(n.getSliderVariables(e,r)).setDependencies(s):e.validExpressionVariables(i)?o=r:o=Rm(e.implicitDependency(i)).setDependencies(i):e.validImplicitVariables(i)?o=Rm().setDependencies(i):o=tn(n.getSliderVariables(e,r)).setDependencies(s);break;default:o=J(`Programming error: unexpected value type ${r.valueType}`)}return xo(o)&&o.setCursorContext(r.getCursorContext()),o=Hc(e,n,o),new k(e,t,n,o)}function BA(e){return new D.FunctionCall(\"pdf\",[e,new D.Identifier(\"x\")])}D.Identifier.prototype.analyze=function(e,t){let n=this.tryGetConcreteTree(e,t,{coerceToNumber:!0}),r=Dh(e,t,this,n);return Gr(this)&&!hM(r)?kr(e,t,this):r};D.FunctionCall.prototype.analyze=function(e,t,n){var r;Lg[this._symbol]&&Nc(t,this).length===0&&!e.is3dPolicy()?r=BA(this).tryGetConcreteTree(e,t):r=this.tryGetConcreteTree(e,t);var i=Dh(e,t,this,r);if(Gr(this)&&!hM(i))return kr(e,t,this);var s=this.getMoveStrategy(e,t,r,n);if(s){var o=this.getDefaultDragMode(s),a=r.asCompilerValue(),u=[new D.Constant(a[0]),new D.Constant(a[1])];return new k(e,t,this,new D.MovablePoint(u,s,o))}return i};D.Expression.prototype.analyze=function(e,t){var n=Dh(e,t,this,this.tryGetConcreteTree(e,t));return Gr(this)&&!hM(n)?kr(e,t,this):n};D.FunctionDefinition.prototype.analyze=function(e,t){if(Gr(this))return kr(e,t,this);if(Ke[this._symbol])return this.asEquation().analyze(e,t);var n=this._symbol.split(\"_\")[0];if(Ke[n]&&Ke[n].isFunction)return new k(e,t,this,fl(this._symbol,n));let r=this.tryGetConcreteTree(e,t);if(r instanceof D.Error&&!r.blocksExport&&this._argSymbols.length===1){let u=Object.create(t);u[this._argSymbols[0]]=new ze(\"identityTransformation\");let c=this._expression.tryGetConcreteTree(e,u);if(!(c instanceof D.Error))return new k(e,t,this,c)}if(r.isError)return new k(e,t,this,r);var i=this._argSymbols,s=r.getDependencies();if(s.indexOf(this._symbol)!==-1)return new k(e,t,this,$a([this._symbol]));var o=s.filter(function(u){return i.indexOf(u)===-1});if(e.unplottablePolarFunction(this._symbol,s))return new k(e,t,this,bP());if(e.is3dPolicy()&&e.assignmentForbidden(this._symbol))return new k(e,t,this,Vm(this._symbol));if(o.some(function(u){return e.assignmentForbidden(u)}))return new k(e,t,this,rf(o,this._symbol,i).setDependencies(s));if(o.length){var a=this.getSliderVariables(e,r);return new k(e,t,this,tn(a).setDependencies(a))}return!e.areAllScalesLinear()&&!Zc(r.valueType)?new k(e,t,this,cl(ne(r.valueType))):(r=Hc(e,this,r),new k(e,t,this,r))};D.Assignment.prototype.analyze=function(e,t,n){if(Gr(this))return kr(e,t,this);var r=this._symbol;if(!e.validLHS(r))return new k(e,t,this,hP(r));if(Ke[r])return this.asEquation().analyze(e,t);var i;if(this._expression instanceof D.FunctionCall&&Lg[this._expression._symbol]&&Nc(t,this).length===0&&!e.is3dPolicy())i=BA(this._expression).tryGetConcreteTree(e,t);else{var s=Object.create(t);s[r]=e.validSolvedVariable(r)?void 0:rc(),i=this.tryGetConcreteTree(e,s)}if(i.isError)return new k(e,t,this,i);if(!e.areAllScalesLinear()&&!Zc(i.valueType))return new k(e,t,this,cl(ne(i.valueType)));if(this.isEquation(e,i))return this.asEquation().analyze(e,t);let o=i.valueType===Ut||i.valueType===Zn;if(e.assignmentForbidden(r)&&o){let g=yP(r).allowExport().setDependencies([r]);return new k(e,t,this,g)}let a=i.getDependencies(),u=Cs(e,i),c=u.includes(\"x\")||u.includes(\"y\"),l=u.includes(\"r\")||u.includes(\"theta\");if(r===\"r\"&&a.includes(\"phi\")){let g=u.includes(\"z\")?vm():fP();return new k(e,t,this,g)}if(r===\"rho\"&&u.includes(\"z\")){let g=a.includes(\"phi\")?vm():dP();return new k(e,t,this,g)}let p=this.getSliderVariables(e,i,a);if(e.tooManySliderVariables(a,p,o)||c&&l){let g=tn(p).allowExport().setDependencies(p);return new k(e,t,this,g)}var f=this.getMoveStrategy(e,t,i,n);if(f){var m=this.getDefaultDragMode(f);return i=new D.MovablePoint([i.elementAt(0),i.elementAt(1)],f,m),new k(e,t,this,i)}return i=Hc(e,this,i),new k(e,t,this,i)};D.RecursiveFunctionBaseCase.prototype.analyze=function(e,t){if(Gr(this))return kr(e,t,this);if(!this.specifiedArg.valid)return new k(e,t,this,this.specifiedArg.error);let n=this.tryGetConcreteTree(e,t);if(n.isError)return new k(e,t,this,n);var r=this._argSymbols,i=n.getDependencies();if(e.is3dPolicy()&&e.assignmentForbidden(this._symbol))return new k(e,t,this,Vm(this._symbol));var s=i.filter(function(a){return r.indexOf(a)===-1});if(s.includes(this.specifiedArg.argSymbol))return new k(e,t,this,pb(this.specifiedArg.argSymbol));for(let a of s)if(e.assignmentForbidden(a))return new k(e,t,this,lb(a));if(s.length){var o=this.getSliderVariables(e,n);return new k(e,t,this,tn(o).setDependencies(o))}return!e.areAllScalesLinear()&&!Zc(n.valueType)?new k(e,t,this,cl(ne(n.valueType))):new k(e,t,this,n)};D.CoordinateEquation.prototype.analyze=function(e,t){if(!e.validCoordinateEquationSymbol(this._concatenatedSymbol))return this.asEquation().analyze(e,t);if(Gr(this))return kr(e,t,this);let n=this.tryGetConcreteTree(e,t);return n=Hc(e,this,n),new k(e,t,this,n)};D.Regression.prototype.analyze=function(e,t,n,r,i){if(Gr(this))return kr(e,t,this);var s={policy:e,frame:t,exportFrame:n,lastExportFrame:r,priorAnalysis:i};return new k(e,t,this,VA(s,this))};function gM(e,t){var n=this.tryGetConcreteTree(e,t),r=n.getDependencies();return r.length?new k(e,t,this,tn(this.getSliderVariables(e,n)).setDependencies(r)):new k(e,t,this,this.tryGetConcreteTree(e,t))}D.Histogram.prototype.analyze=function(e,t){return Gr(this)?kr(e,t,this):e.areAllScalesLinear()?gM.call(this,e,t):new k(e,t,this,nx())};D.DotPlot.prototype.analyze=function(e,t){return Gr(this)?kr(e,t,this):e.areAllScalesLinear()?gM.call(this,e,t):new k(e,t,this,rx())};D.BoxPlot.prototype.analyze=function(e,t){return Gr(this)?kr(e,t,this):e.areAllScalesLinear()?gM.call(this,e,t):new k(e,t,this,ix())};function GA(e){return function(t,n){if(Gr(this))return kr(t,n,this);var r=this.tryGetConcreteTree(t,n),i=r.getDependencies();if(i.length)return new k(t,n,this,tn(this.getSliderVariables(t,r)).setDependencies(i));var s=new k(t,n,this,this.tryGetConcreteTree(t,n));if(!r.isError){s.evaluationState.expression_type=\"TTEST\";var o=r.args.map(function(a){return a.asValue()});s.evaluationState.ttest_results=e.apply(null,o)}return s}}D.TTest.prototype.analyze=GA(cI);D.IndependentTTest.prototype.analyze=GA(lI);D.Stats.prototype.analyze=function(e,t){if(Gr(this))return kr(e,t,this);var n=this.tryGetConcreteTree(e,t),r=n.getDependencies();if(r.length)return new k(e,t,this,tn(this.getSliderVariables(e,n)).setDependencies(r));var i=new k(e,t,this,this.tryGetConcreteTree(e,t));if(!n.isError){i.evaluationState.expression_type=\"STATS\";var s=n.args.map(function(o){return o.asValue()});i.evaluationState.stats_results=pI.apply(null,s)}return i};D.Equation.prototype.analyze=D.CallAssignment.prototype.analyze=D.BaseComparator.prototype.analyze=wz;function wz(e,t){if(Gr(this))return kr(e,t,this);var n=this.getOperator()!==\"=\";if(n&&!rs.plotInequalities)return new k(e,t,this,Dm());var r=eA({policy:e,frame:t},this);if(r.isError)return new k(e,t,this,r);let i=Cs(e,r);if(r instanceof D.SolvedEquation&&i.length){var s=i.concat(r._symbol);if(!e.validImplicitVariables(s))return new k(e,t,this,rc().setDependencies(s))}return this.getGraphMode(e,r)===8&&!e.validImplicitVariables(i)?new k(e,t,this,rc().setDependencies(i)):(r=Hc(e,this,r),new k(e,t,this,r))}D.DoubleInequality.prototype.analyze=function(e,t){if(Gr(this))return kr(e,t,this);if(!rs.plotInequalities)return new k(e,t,this,Dm());var n=this.tryGetConcreteTree(e,t);if(n.isError)return new k(e,t,this,n);var r=n.getDependencies();return Rr[this._operators[0]].direction!==Rr[this._operators[1]].direction?new k(e,t,this,Om()):e.validDoubleInequalitySymbol(n._symbol)?e.validDoubleInequalityVariables(r)?r.length>2?new k(e,t,this,tn(this.getSliderVariables(e,n)).setDependencies(r)):n._expressions[0].getDependencies().indexOf(n._symbol)!==-1||n._expressions[1].getDependencies().indexOf(n._symbol)!==-1?new k(e,t,this,Cm().setDependencies(r)):new k(e,t,this,n):new k(e,t,this,Sm().setDependencies(r)):new k(e,t,this,Sm().setDependencies(r))};D.ComparatorChain.prototype.analyze=function(e,t){if(Gr(this))return kr(e,t,this);var n=this.tryGetConcreteTree(e,t);if(n.isError)return new k(e,t,this,n);var r=n.getDependencies();if(r.length)if(e.is3dPolicy()){if(!e.validImplicitVariables(r))return new k(e,t,this,(this.symbols.includes(\"=\")?PP():MP()).setDependencies(r));if(!(this.symbols.every(s=>s===\"<\"||s===\"<=\")||this.symbols.every(s=>s===\">\"||s===\">=\")||this.symbols.every(s=>s===\"=\")))return new k(e,t,this,Om().setDependencies(r));if(this.symbols.includes(\"=\")&&!r.includes(\"z\"))return new k(e,t,this,vP().setDependencies(r));let i=this._difference.tryGetConcreteTree(e,t);return i=Hc(e,this,i),new k(e,t,this,i)}else return this.symbols.includes(\"=\")?new k(e,t,this,DP()):this.symbols.length>2?new k(e,t,this,Mb()):e.validDoubleInequalityVariables(r)?new k(e,t,this,Cm()):new k(e,t,this,tn(this.getSliderVariables(e,n)).setDependencies(r));return new k(e,t,this,n)};D.ParenSeq.prototype.analyze=function(e,t,n){if(Gr(this))return kr(e,t,this);var r=this.tryGetConcreteTree(e,t);if(r.isError)return new k(e,t,this,r);var i=this.getMoveStrategy(e,t,r,n);if(i){var s=this.getDefaultDragMode(i),o=r.asCompilerValue(),a=[new D.Constant(o[0]),new D.Constant(o[1])];return new k(e,t,this,new D.MovablePoint(a,i,s))}return Dh(e,t,this,r)};function Fz(e,t){return e.filter(function(n){return!t[n]})}function Vz(e){for(var t={},n=0;n1;u&&u.isError&&(u.isTableCycleWithoutGlobalDefinition||u.isMultiplyDefinedByTables&&!c)&&(n[a]=void 0)}var l=o.analyze(e,n);if(s===0&&l.concreteTree.isIndependent){var p=l.concreteTree.getDependencies()[0];e.validFirstColumnVariable(p)||(l=new k(e,t,o,OP()))}if(l.concreteTree.isIndependent)l.rawTree.exportToLocal(e,l.concreteTree,n);else if(!l.concreteTree.isError){var f=l.concreteTree.header.getDependencies(),m=Fz(f,n);m.length&&(l=new k(e,t,o,tn(m).setDependencies(m)))}r.push(l.concreteTree)}var g=1;for(s=0;s0){var i=r[0],s,o=Ke[i];return o?s=o.isFunction?ms(i):ic(i):s=cf(i),new k(e,t,this,s)}return new k(e,t,this,n)};D.Assignment.prototype.analyzeFourFunction=function(e,t){return new k(e,t,this,lf())};D.FunctionDefinition.prototype.analyzeFourFunction=function(e,t){return new k(e,t,this,pf())};function kA(e,t){return new k(e,t,this,ma())}D.Equation.prototype.analyzeFourFunction=kA;D.CallAssignment.prototype.analyzeFourFunction=kA;function bM(e,t){return new k(e,t,this,sc())}D.DoubleInequality.prototype.analyzeFourFunction=bM;D.ComparatorChain.prototype.analyzeFourFunction=bM;D.BaseComparator.prototype.analyzeFourFunction=bM;D.Regression.prototype.analyzeFourFunction=function(e,t){return new k(e,t,this,oc())};D.ParenSeq.prototype.analyzeFourFunction=function(e,t){return new k(e,t,this,ac())};D.Base.prototype.analyzeScientific=function(e,t){var n=this.tryGetConcreteTree(e,t);return n.isError?new k(e,t,this,n):new k(e,t,this,J(`Unexpected node type ${this.type}`))};D.Expression.prototype.analyzeScientific=function(e,t){var n=this.tryGetConcreteTree(e,t);if(n.isError)return new k(e,t,this,n);var r=n.getDependencies();return r.length>0?new k(e,t,this,tn(r)):new k(e,t,this,n)};D.Assignment.prototype.analyzeScientific=function(e,t){var n=this._symbol;if(Ke[n])return new k(e,t,this,fl(n));var r=Object.create(t);r[n]=ma();var i=this.tryGetConcreteTree(e,r);if(i.isError)return new k(e,t,this,i);var s=i.getDependencies();return this.isEquation(e,i)?new k(e,t,this,ma()):s.length>0?new k(e,t,this,tn(s)):new k(e,t,this,i)};D.FunctionDefinition.prototype.analyzeScientific=function(e,t){if(Ke[this._symbol])return new k(e,t,this,fl(this._symbol));var n=this.tryGetConcreteTree(e,t);if(n.isError)return new k(e,t,this,n);var r=this._argSymbols,i=n.getDependencies();if(i.indexOf(this._symbol)!==-1)return new k(e,t,this,$a([this._symbol]));var s=i.filter(function(o){return r.indexOf(o)===-1});return s.length?new k(e,t,this,rf(s,this._symbol,r)):new k(e,t,this,n)};function zA(e,t){return new k(e,t,this,ma())}D.Equation.prototype.analyzeScientific=zA;D.CallAssignment.prototype.analyzeScientific=zA;function xM(e,t){return new k(e,t,this,sc())}D.DoubleInequality.prototype.analyzeScientific=xM;D.ComparatorChain.prototype.analyzeScientific=xM;D.BaseComparator.prototype.analyzeScientific=xM;D.Regression.prototype.analyzeScientific=function(e,t){return new k(e,t,this,oc())};D.ParenSeq.prototype.analyzeScientific=function(e,t){return new k(e,t,this,ac())};D.Base.prototype.analyzeSingleExpressionScientific=function(e,t){var n=this.tryGetConcreteTree(e,t);return n.isError?new k(e,t,this,n):new k(e,t,this,J(`Unexpected node type ${this.type}`))};D.Expression.prototype.analyzeSingleExpressionScientific=function(e,t){var n=this.tryGetConcreteTree(e,t);if(n.isError)return new k(e,t,this,n);var r=n.getDependencies();if(r.length>0){var i=r[0],s,o=Ke[i];return o?s=o.isFunction?ms(i):ic(i):s=cf(i),new k(e,t,this,s)}return new k(e,t,this,n)};D.Assignment.prototype.analyzeSingleExpressionScientific=function(e,t){return new k(e,t,this,lf())};D.FunctionDefinition.prototype.analyzeSingleExpressionScientific=function(e,t){return new k(e,t,this,pf())};function HA(e,t){return new k(e,t,this,ma())}D.Equation.prototype.analyzeSingleExpressionScientific=HA;D.CallAssignment.prototype.analyzeSingleExpressionScientific=HA;function PM(e,t){return new k(e,t,this,sc())}D.DoubleInequality.prototype.analyzeSingleExpressionScientific=PM;D.ComparatorChain.prototype.analyzeSingleExpressionScientific=PM;D.BaseComparator.prototype.analyzeSingleExpressionScientific=PM;D.Regression.prototype.analyzeSingleExpressionScientific=function(e,t){return new k(e,t,this,oc())};D.ParenSeq.prototype.analyzeSingleExpressionScientific=function(e,t){return new k(e,t,this,ac())};D.Base.prototype.getGraphInfo=function(e,t){var n=t.getDependencies(),r,i;switch(n.length){case 0:r=UA(t),i=t.boundDomain(\"x\");break;case 1:i=t.boundDomain(n[0]),Yi(i)&&!gi(i)&&(r=UA(t));break;default:i=Xn();break}return{graphMode:this.getGraphMode(e,t),color:sa(this.userData,this.metaData),pointStyle:this.userData.pointStyle,lineStyle:this.userData.lineStyle,arrowMode:this.userData.arrowMode,operator:this.getOperator(),isLinear:!!r,linearCoefficients:r,domainBound:i}};function UA(e){switch(e.valueType){case T:return TM(e);case R:{var t=TM(e.elementAt(0)),n=TM(e.elementAt(1));return!t||!n?void 0:[t,n]}default:return}}function TM(e){var t=e.getDependencies();switch(t.length){case 0:return[+e.asValue(),0];case 1:if(e.polynomialOrder(t[0])>1)return;var n=e.getPolynomialCoefficients(t[0]);return[n[0]?+n[0].asValue():0,n[1]?+n[1].asValue():0];default:return}}var qA=new D.Constant(De(0,1));D.Base.prototype.getMoveStrategy=function(){};D.Assignment.prototype.getMoveStrategy=function(e,t,n,r){return this._expression.getMoveStrategy(e,t,n,r)};function Bz(e){return{type:\"updateSliderNonlinear\",id:e.id,initialValue:e.initialValue,min:e.min,max:e.max,compiled:e.compiled,movesOn:e.movesOn,hasLinearComponent:e.hasLinearComponent}}function Gz(e){return{type:\"updateGliderParameter\",span:e.span,movesOn:e.movesOn}}function kz(e){return{type:\"updateSliderForGlider\",id:e.sliderId,movesOn:e.movesOn,min:e.min,max:e.max}}function $A(e,t,n,r,i,s){var o=t.getDependencies();for(let y of o)if(i[y])return;for(var a=o.length-1;a>=0;a--){var u=o[a];if(!s[u]){var c=r[u];if(c!==void 0){var l=n[u];if(l.order===1){var p=l.tree,f=p.getPolynomialCoefficients(u),m=f[1]||qA,g=f[0]||qA;if(!(!g.isConstant||!m.isConstant)&&!(!isFinite(g.asValue())||!isFinite(m.asValue()))&&m.asValue()!==0){var d=[-g.asValue()/m.asValue(),1/m.asValue()];return{symbol:u,id:c,coefficients:d}}}}}}}function zz(e,t){for(var n in t){var r=t[n].evaluationState,i=r.assignment;if(i===e)return n}}function Hz(e){for(var t={},n=0;n1)return!1;let r;if(n.length===0){if(!e.tableableAsConstant(this._symbol))return!1;r=e.implicitIndependent(this._symbol)}else r=n[0];if(!e.validFirstColumnVariable(r))return!1;let i=e.assignmentForbidden(this._symbol)?wo(this.getInputString().replace(/[^=]*=/,\"\")):wo(this.getInputString().split(\"=\")[0]);return{independent_variable:r,dependent_column:i,by_reference:!e.assignmentForbidden(this._symbol)}};D.FunctionDefinition.prototype.tableInfo=function(e,t){if(this._argSymbols.length!==1||!this.getInputString().length)return!1;var n=t.getDependencies();if(n.length>1)return!1;var r=this._argSymbols[0];if(!e.validFirstColumnVariable(r))return!1;var i=e.assignmentForbidden(this._symbol),s=i?wo(this.getInputString().replace(/[^=]*=/,\"\")):wo(this.getInputString().split(\"=\")[0]);return{independent_variable:r,dependent_column:s,by_reference:!i}};D.BaseComparator.prototype.tableInfo=function(e,t){return!1};D.ComparatorChain.prototype.tableInfo=function(e,t){return!1};D.DoubleInequality.prototype.tableInfo=function(e,t){return!1};D.Equation.prototype.tableInfo=function(e,t){return!1};D.Base.prototype.tableError=function(){return this.isInequality()?S(\"shared-calculator-error-table-inequality-supplement\"):!(this instanceof D.Expression)&&!(this instanceof D.IRExpression)?S(\"shared-calculator-error-table-generic-supplement\"):!1};D.List.prototype.tableError=function(){return S(\"shared-calculator-error-table-list-supplement\")};D.Equation.prototype.tableError=D.Assignment.prototype.tableError=function(){return S(\"shared-calculator-error-table-equation-supplement\")};D.ComparatorChain.prototype.tableError=function(){return this.symbols.includes(\"=\")?S(\"shared-calculator-error-table-equation-supplement\"):S(\"shared-calculator-error-table-inequality-supplement\")};D.FunctionDefinition.prototype.tableError=function(){return S(\"shared-calculator-error-table-function-definition-supplement\")};D.Regression.prototype.tableError=function(){return S(\"shared-calculator-error-table-regression-supplement\")};D.List.prototype.elementAt=function(e){return e=Math.floor(e),e>=0&&ethis.args.length-1?new D.Constant(NaN):this.args[e]};function qz(){return ur(this._symbol)+\" \"}D.Identifier.prototype.printLatex=qz;D.Constant.prototype.printLatex=function(){return ta(this.asValue())};D.Ticker.prototype.printLatex=function(){return\"\\\\ticker\\\\left(\"+this.args.map(mi).join(\", \")+\"\\\\right)\"};D.Negative.prototype.printLatex=function(){return\"-\\\\left(\"+this.args[0].printLatex()+\"\\\\right)\"};D.Add.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)+\\\\left(\"+this.args[1].printLatex()+\"\\\\right)\"};D.PercentOf.prototype.printLatex=function(){return this.args[0].printLatex()+\" \\\\% \\\\operatorname{of} \"+this.args[1].printLatex()};D.Subtract.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)-\\\\left(\"+this.args[1].printLatex()+\"\\\\right)\"};D.Multiply.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)*\\\\left(\"+this.args[1].printLatex()+\"\\\\right)\"};D.DotMultiply.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)\\\\cdot\\\\left(\"+this.args[1].printLatex()+\"\\\\right)\"};D.CrossMultiply.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)\\\\times\\\\left(\"+this.args[1].printLatex()+\"\\\\right)\"};D.Divide.prototype.printLatex=function(){return\"\\\\frac{\"+this.args[0].printLatex()+\"}{\"+this.args[1].printLatex()+\"}\"};D.Exponent.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)^{\"+this.args[1].printLatex()+\"}\"};D.Assignment.prototype.printLatex=function(){return ur(this._symbol)+\"=\"+this._expression.printLatex()};D.CoordinateEquation.prototype.printLatex=function(){return\"\\\\left(\"+this._symbols.map(e=>ur(e)).join(\",\")+\"\\\\right)=\"+this._expression.printLatex()};D.Equation.prototype.printLatex=D.CallAssignment.prototype.printLatex=function(){return this._lhs.printLatex()+\"=\"+this._rhs.printLatex()};function Sh(e){switch(e){case\">\":return\">\";case\"<\":return\"<\";case\">=\":return\"\\\\ge \";case\"<=\":return\"\\\\le \";case\"=\":return\"=\"}return\"\"}D.BaseComparator.prototype.printLatex=function(){return\"\\\\left(\"+this.args[0].printLatex()+\"\\\\right)\"+Sh(this.operator)+\"\\\\left(\"+this.args[1].printLatex()+\"\\\\right)\"};D.ComparatorChain.prototype.printLatex=function(){let e=\"\";for(let t=0;t1&&(!s[N]&&O&&(o[N]=!0),s[N]=!0))}for(let I in M)o[I]||(i[I]=M[I])}for(let P of n)m.hasOwnProperty(P)||h(P);function h(P){m[P]=m[P]||{};let M=m[P],I;M.id=P,M.index=g,M.lowlink=g,d.push(M),M.instack=!0,g++;let E=t[P].getDependencies();for(let v of E){if(!i.hasOwnProperty(v))continue;let O=i[v];for(let A of O)m.hasOwnProperty(A)?(I=m[A],I.instack&&(M.lowlink=Math.min(M.lowlink,I.index))):(h(A),I=m[A],M.lowlink=Math.min(M.lowlink,I.lowlink))}if(M.lowlink===M.index)if(I=d.pop(),I.instack=!1,I===M)b(M);else{let v=[I];for(;I=d.pop(),I.instack=!1,v.push(I),I!==M;);x(v)}}function b(P){y.push(P.id);let M=t[P.id];M instanceof cr&&M._expression.getDependencies().indexOf(M._symbol)!==-1&&(p[P.id]={[P.id]:M},f.add(M._symbol))}function x(P){let M=[],I=!0,E={},v=new Set;for(let O=P.length-1;O>=0;O--){let A=P[O],N=t[A.id],L=N.getLegalExports(e);Array.prototype.push.apply(M,L),M.push(L[0]),v.add(A.id),y.push(A.id),N instanceof cr&&!s[L[0]]?E[A.id]=N:I=!1,N instanceof wi&&l.add(A.id)}if(M=wp(M),M.sort(),I){for(let O of[...v])p[O]=E;for(let O of M)f.add(O)}for(let O of M)c[O]=M}return{resolved:y,globallyDefined:a,tableDefined:u,multiplyDefined:s,multiplyDefinedByTables:o,cyclicallyDefined:c,recursiveFunctionGroups:p,recursiveFunctionSymbols:f,recursiveFunctionBaseCasesWithCycles:l}}var Wz=100;function Rh(e){for(var t=[],n=0;nWz)return Rh(o.functions.length);Qz(b,p.id),Kz(b,s),eH(a[f],b)}}}return a}function nH(e){if(e.length<2)return\"text\";let t=e.split(\"`\").length-1;return t<2?\"text\":t===2&&e[0]===\"`\"&&e[e.length-1]===\"`\"?\"latex\":\"mixed\"}function rH(e){if(e.length===0)return[\"\"];let t=[],n=e.split(/(`)/),r=!1,i=\"\";for(let s=0;ss&&i.push(e.substr(s,o-s));let u=a[0],c=u.replace(/[{}\\$]/g,\"\").replace(/^([a-zA-Z])([0-9]+)$/,\"$1_$2\");i.push({symbol:c,str:u}),s=a.index+u.length}return ssH(i,t,n,r)).join(\"\")}function sH(e,t,n,r){let i=[],s=nH(e.raw)===\"latex\";for(let o of e.parts)if(typeof o==\"string\")i.push(o);else{let a=new D.Identifier(o.symbol).tryGetConcreteTree(t,n);if(a.valueType===T&&a.getDependencies().length===0){let u=a.asValue();if(typeof u==\"number\"){i.push(JA(u,s));continue}}else if(a.valueType===se&&r0?t[u]=i:e[u]=i;let a=[];for(let u of s.getDependencies())a.push(u);n[i]=Yh(a,s.getDummyDependencies(),o)}break}}}for(let i of r){let s=this.statements[i],o=Lo(s.userData.residualVariable);o&&(t[o]=i);let a=s.getDependencies().slice(),u={},c;for(;c=a.pop();){if(u[c])continue;u[c]=!0;let l=e[c]||t[c];if(l){a.push(...n[l]),n[i].push(c);continue}t[c]=i}}return{exportMap:e,weakExportMap:t,dependencyMap:n}}var Ed=class{constructor(){this.data={}}getChildIntersections(t){return this.data[t]||{count:0}}addListParent(t,n,r){if(Op(r.valueType,[R,Pt]),n!==void 0)r.valueType===Pt?this.addPoint(t,n,r.value[n]):this.addPoint(t,n,r.value);else{Op(r.valueType,[Pt]);for(let i=0;ip instanceof ze&&p._symbol===s);if(o===-1)break;let a=r.args[1-o];if(!(a instanceof Zt))break;let u=a.asValue(),c=t._argSymbols.filter((p,f)=>f!==this.recursiveParameterIndex).map(p=>new ze(p)),l=new wi(t._symbol,c,{valid:!0,argIndex:this.recursiveParameterIndex,argValue:u,functionDefArgSymbols:t._argSymbols,argSymbol:t._argSymbols[this.recursiveParameterIndex]},i,i);this.baseCaseExports.push(l),this.addBaseCase(l)}else break;n=n.args[2]}while(n instanceof hr)}else if(t._expression instanceof Go){let r=[];for(let i of t._expression._assignments){let s=wi.fromCallAssignment(this.recursiveFunctionGroup,i);if((s==null?void 0:s.specifiedArg.valid)===!1)throw s.specifiedArg.error;s&&t._symbol===s._symbol?(this.baseCaseExports.push(s),this.addBaseCase(s)):r.push(i)}r.length>0?n=new Go(t._expression._body,r):n=t._expression._body}else n=t._expression;this.analyzedFunctions[t._symbol]={recursiveExpression:n}}addBaseCase(t){this.baseCases[t._symbol].push(t)}getBaseCases(){return this.baseCases}getBaseCaseExports(){return this.baseCaseExports}getFunctionAnalysis(t){return this.analyzedFunctions[t]}};function lH(e,t,n){let r=e.getFunctionAnalysis(t._symbol);if(!r){n.definitions[t._symbol]=t;return}let i=new cr(new ze(t._symbol),t._argSymbols.map(s=>new ze(s)),r.recursiveExpression,n);i.setExternalBaseCases(t.getExternalBaseCases()),n.definitions[t._symbol]=i}var Va=typeof performance!=\"undefined\"?()=>performance.now():()=>Date.now(),{Constant:eo,Seed:t_,FunctionCall:gH,Image:hH,Slider:bH,Table:xH,TableColumn:PH,Construction:TH}=D;function IH(e,t,n,r){switch(e){case\"fourFunction\":return new Md({singleExpression:!1});case\"singleExpressionFourFunction\":return new Md({singleExpression:!0});case\"scientific\":return new vd({singleExpression:!1});case\"singleExpressionScientific\":return new vd({singleExpression:!0});case\"graphing\":return new Ep({enableGeometry:!1,enable3d:t,beta3d:n,scales:r});case\"geometry\":return new Ep({enableGeometry:!0,enable3d:!1,beta3d:!1,scales:r});case\"graphing_3d\":return new fh(n)}}var EH={fourFunction:jd,singleExpressionFourFunction:jd,scientific:ib,singleExpressionScientific:sb,graphing:Bp,graphing_3d:Bp,geometry:Bp},Co=\"**geo_construction_statement_id**\";function _i(e,t){var n=Vs(e,t);return n.isError||n instanceof D.Expression?n:Up()}function MH(e){let t=e.rawTree.userData,n=e.rawTree.metaData;return!!(t.cdf&&t.cdf.show&&n.distributionSpec)}function vH(e){let t=e.evaluationState.expression_type,n=e.rawTree.userData;return!n.clickableInfo||!n.clickableInfo.enabled?!1:rd(e.rawTree)?!0:e.getGraphMode()===4?!1:ZE(t)}function un(e,t){let n=\"id\"+e;for(let[r,i]of t||[])n+=\"::\"+r+i;return n}var DH=new eo(De(0,1)),SH=new eo(De(1,1)),OH=new eo(NaN);function $i(e,t){return e?e===\"0\"?DH:e===\"1\"?SH:_i(e,t):OH}function Gu(e,t){if(e)return _i(e,t)}function CH(e){return e.slice(0,3)!==\"ans\"}function RH(e){return e.slice(0,6)!==\"idref_\"}function n_(e,t,n){let{multiplyDefined:r,multiplyDefinedByTables:i,cyclicallyDefined:s,recursiveFunctionSymbols:o}=e;for(let a in s){if(!s.hasOwnProperty(a)||n&&o.has(a))continue;let u=e.tableDefined[a]&&!e.globallyDefined[a],c=s[a].filter(CH).filter(RH);t[a]=u?Kx(c):Mm(c)}for(let a in r)r.hasOwnProperty(a)&&(t[a]=i[a]?Qx(a):dl(a))}function Sd(e,t,n){for(let r of n)e[r]||(e[r]=[]),e[r].push(t)}function r_(e,t,n){if(n.extraDepNodes)for(let r of n.extraDepNodes)r&&Sd(e,t,r.getDependencies());n.clickHandler&&Sd(e,t,n.clickHandler.getDependencies())}function NH(e,t,n){let r=e.evaluationState,i=e.rawTree,s=i.metaData.cdfMin,o=i.metaData.cdfMax,a={},u=i.type===\"Assignment\"?i._expression:i,c=u&&u.metaData&&u.metaData.distributionSpec,l=oa(t,n,s,a,-1/0),p=oa(t,n,o,a,1/0),f=!0,m=!0;if(isNaN(l)&&(f=!1,l=NaN),isNaN(p)&&(m=!1,p=NaN),f?m?l>p&&(f=!1,m=!1,r.error=pP().getError()):r.error=lP().getError():r.error=cP().getError(),f&&m){let y=new gH(\"cdf\",[u,new eo(l),new eo(p)]);r.cdf_evaluation=+y.tryGetConcreteTree(t,n).asValue()}let g=-1/0,d=1/0;if(c&&(c.discrete&&(g=0),c.symbol===\"binomialdist\"&&u.args&&u.args[0])){let y=+u.args[0].asValue();isFinite(y)&&(d=y)}i.metaData.evaluatedCDFMin=l,i.metaData.evaluatedCDFMax=p,r.cdf_min_valid=f,r.cdf_max_valid=m,r.cdf_min_default=g,r.cdf_max_default=d,r.is_single_identifier=!1,Fu(r,t,a)}function AH(e,t,n,r,i){let s={},o=!0,a=NaN,u,c=!1;if(n){let l=n.tryGetConcreteTree(e,t);u=l.getDependencies().length===0?l.asValue():NaN,c=Array.isArray(u),a=c?u:+u;for(let p of l.getDependencies())s[p]=!0}if(c){for(let l of a)if(!isFinite(+l)){o=!1,a=NaN;break}}else isFinite(+a)?i!==void 0&&a>i&&(a=i):(o=!1,a=NaN);return n||(o=!0,r!==void 0&&(a=r)),{value:a,valid:o,missingVarsMap:s}}var Dd={lineWidth:{parseNode:\"lineWidth\",valueOutputProp:\"computedLineWidth\",formulaOutputProp:\"\",validOutputProp:\"line_width_valid\",default:(e,t,n,r)=>{let i=n.isGeometryEnabled(),s=n.is3dPolicy(),o=r!==void 0&&oe(r,Be);return i&&o?1.5:s?1:2.5},transform:void 0,shouldEvaluate:void 0,seed:\"lw\"},resolution:{parseNode:\"resolution\",valueOutputProp:\"computedResolution\",formulaOutputProp:\"\",validOutputProp:\"resolution_valid\",default:()=>{},transform:void 0,shouldEvaluate:void 0,seed:\"re\"},lineOpacity:{parseNode:\"lineOpacity\",valueOutputProp:\"computedLineOpacity\",formulaOutputProp:\"\",validOutputProp:\"line_opacity_valid\",default:()=>1,transform:void 0,shouldEvaluate:void 0,seed:\"lo\"},pointOpacity:{parseNode:\"pointOpacity\",valueOutputProp:\"computedPointOpacity\",formulaOutputProp:\"\",validOutputProp:\"point_opacity_valid\",default:()=>1,transform:void 0,shouldEvaluate:void 0,seed:\"po\"},pointSize:{parseNode:\"pointSize\",valueOutputProp:\"computedPointSize\",formulaOutputProp:\"\",validOutputProp:\"point_size_valid\",default:(e,t,n)=>n.is3dProduct()?3:8,shouldEvaluate:void 0,transform:void 0,seed:\"ps\"},movablePointSize:{parseNode:\"movablePointSize\",valueOutputProp:\"computedMovablePointSize\",formulaOutputProp:\"\",validOutputProp:\"movable_point_size_valid\",default:()=>8,shouldEvaluate:void 0,transform:void 0,seed:\"ps\"},fillOpacity:{parseNode:\"fillOpacity\",valueOutputProp:\"computedFillOpacity\",formulaOutputProp:\"\",validOutputProp:\"fill_opacity_valid\",default:(e,t,n,r)=>n.is3dProduct()?1:.4,transform:void 0,shouldEvaluate:e=>{if(!e)return!1;let{expression_type:t,is_inequality:n}=e.evaluationState;return!!(t===\"POLYGON\"||t===\"PARAMETRIC\"||t===\"CURVE3D_xyz_t\"||t===\"SURFACE\"||t===\"SPHERE3D\"||t===\"SURFACE_AMBIGUOUS\"||t===\"SURFACE_CONSTANT_AMBIGUOUS\"||t===\"IMPLICIT_SURFACE\"||t===\"IMPLICIT_SURFACE_AMBIGUOUS\"||t===\"SURFACE_xyz_uv\"||t===\"SURFACE_z_r\\u03B8\"||t===\"SURFACE_r_\\u03B8z\"||t===\"SURFACE_r_\\u03B8\\u03C6\"||t===\"SURFACE_r_\\u03B8z_AMBIGUOUS\"||t===\"TRIANGLE3D\"||n)},seed:\"fo\"},labelSize:{parseNode:\"labelSize\",valueOutputProp:\"computedLabelSize\",formulaOutputProp:\"\",validOutputProp:\"label_size_valid\",transform:void 0,default:()=>1,shouldEvaluate:void 0,seed:\"ls\"},labelAngle:{parseNode:\"labelAngle\",valueOutputProp:\"computedLabelAngle\",formulaOutputProp:\"label_angle_value\",validOutputProp:\"label_angle_valid\",default:()=>0,transform:e=>`-\\\\trigAngleMultiplier*(${e})`,shouldEvaluate:void 0,seed:\"la\"}};function i_(e,t,n,r,i,s,o){let a=Dd[s],u;e&&(u=e.tryGetConcreteTree(r,i));let c=a.default&&a.default(e,u,r,o),l=[\"lineWidth\",\"pointSize\",\"movablePointSize\"].indexOf(s)>=0,p=AH(r,i,n[a.parseNode],c,l?1e4:void 0);n[a.valueOutputProp]=p.value,a.formulaOutputProp&&(t[a.formulaOutputProp]=p.value),t[a.validOutputProp]=p.valid,Fu(t,r,p.missingVarsMap)}function _H(e,t,n,r){let i,s,o;if(Gs(e.rawTree)&&e.evaluationState.column_data&&e.rawTree.columns)for(let a=0;a0?void 0:o.asValue(),{valueType:u}=o;if(s=!!(a&&(u===Ut||u===Zn)),s){let c=o&&o.valueType===Ut?s_(a):a.map(s_);t.colorLatexValue=c,n.color_latex_value=c}else delete t.colorLatexValue,delete n.color_latex_value}else s=!0;n.color_latex_valid=s}function LH(e,t,n){let r,i,s;if(Gs(e.rawTree)&&e.evaluationState.column_data&&e.rawTree.columns)for(let o=0;o0){let t=e.concreteTree._chunk;try{e.evaluationState.shader=Wo(t,0)}catch(n){e.evaluationState.error=n instanceof D.Error?n.getError():J(n).getError()}}}function FH(e,t,n){let r=e.evaluationState,i=e.rawTree,s={},o=i.metaData.clickHandler;if(!o)return;let a=o.tryGetConcreteTree(t,n);!a.isError&&a.valueType!==rt&&(a=jp(ne(a.valueType)));for(let c of a.getDependencies())t.validActionVariable(c)||(s[c]=!0);let u=Object.keys(s);u.length>0&&(a=tn(u).setDependencies(a.getDependencies())),a.isError&&!nM(t,a)?r.click_handler={status:\"error\",error:a.getError()}:a.isEmptyAction?r.click_handler={status:\"empty\"}:r.click_handler={status:\"maybe-valid\"},Fu(r,t,s)}function VH(e,t,n){let r,i=e.evaluationState,s=e.rawTree,o,a;i.internal_domain_dependency?(r=i.internal_domain_dependency,r===\"u\"?(o=s.metaData.parametricDomain3DuMin,a=s.metaData.parametricDomain3DuMax):r===\"v\"?(o=s.metaData.parametricDomain3DvMin,a=s.metaData.parametricDomain3DvMax):(o=s.metaData.parametricDomainMin,a=s.metaData.parametricDomainMax)):i.expression_type===\"POLAR\"||$R(i.expression_type)?(o=s.metaData.polarDomainMin,a=s.metaData.polarDomainMax,r=\"theta\"):(o=s.metaData.parametricDomainMin,a=s.metaData.parametricDomainMax,r=\"t\");let u={},c=!!(o||a),l=oa(t,n,o,u,0),p=NaN;a?p=oa(t,n,a,u,NaN):i.expression_type===\"PARAMETRIC\"||i.expression_type===\"CURVE3D_xyz_t\"?p=1:i.expression_type===\"POLAR\"?p=Math.PI*12/+n.trigAngleMultiplier.asValue():(i.expression_type===\"SURFACE_r_\\u03B8z\"||i.expression_type===\"SURFACE_r_\\u03B8z_AMBIGUOUS\"||i.expression_type===\"SLICE_r\\u03B8z_at_z\")&&(p=Math.PI*2/+n.trigAngleMultiplier.asValue());let f=CM(l,p,i);({min:l,max:p}=f),s.metaData.evaluatedDomainMin=l,s.metaData.evaluatedDomainMax=p,(i.expression_type===\"POLAR\"||i.expression_type===\"SURFACE_r_\\u03B8z\"||i.expression_type===\"SURFACE_r_\\u03B8z_AMBIGUOUS\"||i.expression_type===\"SLICE_r\\u03B8z_at_z\")&&(s.metaData.isExplicitDomain=c),i.domains=[{variable:r,minNumber:l,maxNumber:p,minValid:f.minValid,maxValid:f.maxValid}],i.expression_type===\"PARAMETRIC\"&&delete u.t,i.expression_type===\"CURVE3D_xyz_t\"&&(delete u.t,delete u.u,delete u.v),Fu(i,t,u)}function BH(e,t,n){let r=e.evaluationState,i=r.expression_type,s=e.rawTree,o,a,u,c,l={},p=0,f=1,m=0,g=1;var d,y;UR(i)?(d=\"theta\",y=\"phi\",o=s.metaData.polarDomainMin,a=s.metaData.polarDomainMax,u=s.metaData.parametricDomain3DphiMin,c=s.metaData.parametricDomain3DphiMax,f=2*Math.PI/+n.trigAngleMultiplier.asValue(),g=Math.PI/+n.trigAngleMultiplier.asValue()):qR(i)?(d=\"r\",y=\"theta\",o=s.metaData.parametricDomain3DrMin,a=s.metaData.parametricDomain3DrMax,u=s.metaData.polarDomainMin,c=s.metaData.polarDomainMax,f=lr.xmax,g=2*Math.PI/+n.trigAngleMultiplier.asValue()):(d=\"u\",y=\"v\",o=s.metaData.parametricDomain3DuMin,a=s.metaData.parametricDomain3DuMax,u=s.metaData.parametricDomain3DvMin,c=s.metaData.parametricDomain3DvMax),p=oa(t,n,o,l,p),f=oa(t,n,a,l,f),m=oa(t,n,u,l,m),g=oa(t,n,c,l,g);let h=CM(p,f,r);({min:p,max:f}=h);let b=CM(m,g,r);({min:m,max:g}=b),s.metaData.evaluatedDomain3DMin1=p,s.metaData.evaluatedDomain3DMax1=f,s.metaData.evaluatedDomain3DMin2=m,s.metaData.evaluatedDomain3DMax2=g,r.domains=[{variable:d,minNumber:p,minValid:h.minValid,maxNumber:f,maxValid:h.maxValid},{variable:y,minNumber:m,minValid:b.minValid,maxNumber:g,maxValid:b.maxValid}],(r.expression_type===\"SURFACE_xyz_uv\"||r.expression_type===\"SLICE_xyz_uv\")&&(delete l.u,delete l.v),Fu(r,t,l)}function oa(e,t,n,r,i){if(n){let s=n.tryGetConcreteTree(e,t);for(let o of s.getDependencies())r[o]=!0;return s.isConstant?+s.asValue():NaN}else return i}function CM(e,t,n){let r=!0,i=!0;return isFinite(e)||(r=!1,e=NaN),isFinite(t)||(i=!1,t=NaN),r?i?e>t&&(r=!1,i=!1,n.error=uP().getError()):n.error=aP().getError():n.error=oP().getError(),{min:e,max:t,minValid:r,maxValid:i}}function GH(e,t,n){let r=e.evaluationState,i=e.rawTree,s=i.metaData.vizAxisOffset,o=i.metaData.vizBreadth,a={},u=oa(t,n,s,a,1),c=oa(t,n,o,a,1),l=!0,p=!0;isFinite(u)||(l=!1,u=NaN),isFinite(c)||(p=!1,c=NaN),l?p||(r.error=fx().getError()):r.error=px().getError(),i.metaData.evaluatedAxisOffset=u,i.metaData.evaluatedBreadth=c,r.viz_values={axisOffset:u,breadth:c},r.viz_valids={axisOffset:l,breadth:p},Fu(r,t,a)}function kH(e){return e.globalRandomSeed||[]}function SM(e,t,n,r,i){let s={},o={},a=[],u=[];for(let c in r)r[c]&&(o[c]=!0,a.push(c));for(let c in i)i[c]&&(s[c]=!0,u.push(c));for(;a.length||u.length;){for(;a.length;){let c=a.pop(),l=t[c];if(l)for(let p of l.getLegalExports(e))s[p]||(s[p]=!0,u.push(p))}for(;u.length;){let c=u.pop(),l=n[c];if(l)for(let p of l)o[p]||(o[p]=!0,a.push(p))}}return{ids:o,symbols:s}}function OM(e,t,n){if(e.isError||e.getDependencies().length||e.valueType!==rt)return;let r=e.asValue();if(r)for(let i in r.updateRules){t[i]=jE(r,i);let{value:s,valueType:o}=r.updateRules[i];n[i]=new D.Assignment(i,xt(o,s))}}var Nh=class{constructor(){this.childIntersections=new Ed;this.getCLSymbolMap=QA;this.statements={},this.analysis={},this.currentStatus={},this.currentLabel={},this.unpublishedIds={},this.dimensions={width:0,height:0},this.intersectId=void 0,this.dirtyExportedSymbolRoots={},this.dirtyStatementRoots={},this.markedRegressionDirty=!1,this.use_degrees=!1,this.initialEvaluation=!1,this.globalEventCount=0,this.actions=!0,this.substitutions=!0,this.intervalComprehensions=!1,this.recursion=!1,this.setEvaluationMode(\"graphing\"),this.setProduct(\"graphing\"),this.setBeta3d(!1),this.setRestrictedFunctions(!1),this.setForceEnableGeometryFunctions(!1),this.setFunctionDefinition(!0),this.setReplaceRoundWithReciprocal(!1),this.setDistributions(!0),this.invalidate()}invalidate(){delete this.statements[Co];for(let n in this.statements)this.statements.hasOwnProperty(n)&&this.markAsDirtyRoot(n);this.currentStatus={},this.analysis={};let t=this.viewState?{xAxisScale:this.viewState.xAxisScale,yAxisScale:this.viewState.yAxisScale}:void 0;this.policy=IH(this.evaluationMode,this.product===\"graphing-3d\",this.beta3d,t),this.parent_frame=EH[this.evaluationMode].getFrame({restrictedFunctions:this.restrictedFunctions,forceEnableGeometryFunctions:this.forceEnableGeometryFunctions,isGeometryCalculator:this.evaluationMode===\"geometry\",is3DCalculator:this.product===\"graphing-3d\",replaceRoundWithReciprocal:this.replaceRoundWithReciprocal,distributions:this.distributions,additionalFunctions:this.additionalFunctions,disableParentheses:this.disableParentheses,trigAngleMultiplier:new eo(this.use_degrees?Math.PI/180:De(1,1)),initialEvaluation:new eo(this.initialEvaluation?1:0),globalEventCount:new eo(0),globalRandomSeed:new t_(this.globalRandomSeedString||\"\"),width:this.policy.dimensionVarsEnabled()?new eo(De(this.dimensions.width,1)):Fm(\"width\"),height:this.policy.dimensionVarsEnabled()?new eo(De(this.dimensions.height,1)):Fm(\"height\")}),this.frame=Object.create(this.parent_frame),this.lastFrame=Object.create(this.parent_frame),this.regressionFrame=Object.create(this.parent_frame),this.lastClockTickTime=void 0}getAllActionUpdateSymbols(){var n;let t=new Set;for(let r in this.statements){let i=this.statements[r];i.getUpdateSymbols().forEach(o=>t.add(o)),i instanceof D.Ticker&&i.handler.getUpdateSymbols().forEach(o=>t.add(o));let s=this.analysis[r];(rd(i)||s&&s.getGraphMode()!==4&&ZE(s.evaluationState.expression_type))&&((n=i.metaData.clickHandler)==null||n.getUpdateSymbols().forEach(o=>t.add(o)))}return[...new Set(t)]}processChangeSet(t){let n=Va(),r={cacheWrites:0,cacheReads:0,cacheHits:0,cacheMisses:0};fR(r);let i={intersections:{},graphs:{}};t.isCompleteState&&(this.invalidate(),this.statements={},this.currentLabel={});let s=!!t.isCompleteState&&!t.isUndoRedoState;s!==this.initialEvaluation&&(this.initialEvaluation=s,this.parent_frame.initialEvaluation=new eo(s?1:0)),t.hasOwnProperty(\"logInternalErrors\")&&ub(t.logInternalErrors),t.viewState&&this.setViewState(t.viewState),t.hasOwnProperty(\"degreeMode\")&&this.setDegreeMode(t.degreeMode),t.hasOwnProperty(\"globalRandomSeed\")&&this.setGlobalRandomSeed(t.globalRandomSeed),t.hasOwnProperty(\"evaluationMode\")&&this.setEvaluationMode(t.evaluationMode),t.hasOwnProperty(\"additionalFunctions\")&&this.setAdditionalFunctions(t.additionalFunctions),t.hasOwnProperty(\"disableParentheses\")&&this.setDisableParentheses(t.disableParentheses),t.hasOwnProperty(\"restrictedFunctions\")&&this.setRestrictedFunctions(t.restrictedFunctions),t.hasOwnProperty(\"forceEnableGeometryFunctions\")&&this.setForceEnableGeometryFunctions(t.forceEnableGeometryFunctions),t.hasOwnProperty(\"distributions\")&&this.setDistributions(t.distributions),t.hasOwnProperty(\"functionDefinition\")&&this.setFunctionDefinition(t.functionDefinition),t.hasOwnProperty(\"replaceRoundWithReciprocal\")&&this.setReplaceRoundWithReciprocal(t.replaceRoundWithReciprocal),t.hasOwnProperty(\"pointsOfInterest\")&&this.setWorkerConfigProperty(\"pointsOfInterest\",t.pointsOfInterest),t.hasOwnProperty(\"plotSingleVariableImplicitEquations\")&&this.setWorkerConfigProperty(\"plotSingleVariableImplicitEquations\",t.plotSingleVariableImplicitEquations),t.hasOwnProperty(\"plotImplicits\")&&this.setWorkerConfigProperty(\"plotImplicits\",t.plotImplicits),t.hasOwnProperty(\"plotInequalities\")&&this.setWorkerConfigProperty(\"plotInequalities\",t.plotInequalities),t.hasOwnProperty(\"sliders\")&&this.setWorkerConfigProperty(\"sliders\",t.sliders),t.hasOwnProperty(\"actions\")&&this.setActions(!!t.actions),t.hasOwnProperty(\"substitutions\")&&this.setSubstitutions(!!t.substitutions),t.hasOwnProperty(\"intervalComprehensions\")&&this.setIntervalComprehensions(!!t.intervalComprehensions),t.hasOwnProperty(\"recursion\")&&this.setRecursion(!!t.recursion);let o=t.recursionDepthLimit;o!==void 0&&o>0&&o<=10**6&&rI(o),t.hasOwnProperty(\"beta3d\")&&this.setBeta3d(!!t.beta3d),t.hasOwnProperty(\"product\")&&this.setProduct(t.product);let a;if(t.hasOwnProperty(\"selectedIds\")){let f=t.selectedIds||{};(this.intersectId===void 0||!f[this.intersectId])&&([a]=Object.keys(f),this.intersectId=a)}t.hasOwnProperty(\"dimensions\")&&this.setDimensions(t.dimensions);let u=Va();this.processStatements(t,i);let c=Va();r.processStatements=c-u,u=c,this.updateAnalysis(),c=Va(),r.updateAnalysis=c-u,u=c,a!==void 0&&this._updateIntersections(a,i),c=Va(),r.updateIntersections=c-u,u=c;let l=this._publishAllStatuses();c=Va(),r.publishAllStatuses=c-u,u=c,this._computeAllLabels(),c=Va(),r.computeAllLabels=c-u,u=c,this._computeAriaDescriptions(),c=Va(),r.computeAriaDescriptions=c-u,u=c,this._graphAllChanged(i),c=Va(),r.graphAllChanges=c-u;let p=this.processEvents(t.events);return this.unpublishedIds={},r.timeInWorker=c-n,{syncId:t.syncId,isCompleteState:t.isCompleteState,intersectionChanges:i.intersections,statusChanges:l,graphChanges:i.graphs,timingData:r,eventUpdates:p}}processStatements(t,n){if(t.removes)for(let r in t.removes){let i;if(!t.isCompleteState&&this.statements.hasOwnProperty(r)&&(i=this.statements[r].getAllIds()),this.removeStatement(r,n),!t.isCompleteState&&i)for(let s of i)n.graphs[s]=void 0}if(t.statements)for(let r in t.statements){let i=t.statements[r];i===null||this.addStatement(i,n)}}setViewState(t){if(_o(t,this.viewState))return;let n=!!(this.viewState&&t.xAxisScale===this.viewState.xAxisScale&&t.yAxisScale===this.viewState.yAxisScale);if(this.viewState=t,n)for(let r in this.statements)this.statements.hasOwnProperty(r)&&(this.unpublishedIds[r]=!0);else this.invalidate()}getViewState(){return this.viewState}setDegreeMode(t){this.use_degrees=t,this.invalidate()}setDimensions(t){t!==void 0&&(this.dimensions=t,this.invalidate())}setGlobalRandomSeed(t){this.globalRandomSeedString=t,this.parent_frame.globalRandomSeed=new t_(t),this.dirtyExportedSymbolRoots.globalRandomSeed=!0}setEvaluationMode(t){this.evaluationMode=t,this.invalidate()}setProduct(t){this.product=t,this.invalidate()}setBeta3d(t){this.beta3d=t,this.invalidate()}setAdditionalFunctions(t){this.additionalFunctions=t,this.invalidate()}setDisableParentheses(t){this.disableParentheses=t,this.invalidate()}setRestrictedFunctions(t){this.restrictedFunctions=t,this.invalidate()}setForceEnableGeometryFunctions(t){this.forceEnableGeometryFunctions=t,this.invalidate()}setDistributions(t){this.distributions=t,this.invalidate()}setFunctionDefinition(t){this.functionDefinition=t,this.invalidate()}setReplaceRoundWithReciprocal(t){this.replaceRoundWithReciprocal=t,this.invalidate()}setActions(t){t!==this.actions&&(this.actions=t,this.invalidate())}setSubstitutions(t){t!==this.substitutions&&(this.substitutions=t,this.invalidate())}setIntervalComprehensions(t){t!==this.intervalComprehensions&&(this.intervalComprehensions=t,this.invalidate())}setRecursion(t){t!==this.recursion&&(this.recursion=t,this.invalidate())}setWorkerConfigProperty(t,n){n!==rs[t]&&(rs[t]=n,this.invalidate())}_publishAllStatuses(){let t={},n=this.currentStatus;this.currentStatus={};for(let r in this.unpublishedIds){if(!this.analysis.hasOwnProperty(r))continue;let i=this.analysis[r].evaluationState;_o(i,n[r])||(t[r]=i),this.currentStatus[r]=i}return t}_computeAllLabels(){for(let t in this.currentLabel){let n=this.statements[t];if(!n)continue;let r=n.tryGetConcreteTree(this.policy,this.frame),i=1;(r.valueType===Pt||r.valueType===Tn||r.valueType===Rn||r.valueType===gn||r.valueType===hn)&&(i=r.length);let s=[],o=this.currentLabel[t];if(mo(o))for(let a=0;a!(r===\"Exponent\"&&n.indexOf(\"exponent\")!==-1||r===\"PercentOf\"&&n.indexOf(\"percent\")!==-1)),t}areFractionsDisallowed(){let{evaluationMode:t}=this;return t!==\"fourFunction\"&&t!==\"singleExpressionFourFunction\"?!1:!this.additionalFunctions||this.additionalFunctions.indexOf(\"fraction\")===-1}addStatement(t,n){if(!t)return;let r=t.id;this.markExportsDirty(r),this.markAsDirtyRoot(r);let i;if(t.type===\"statement\"){let c=t.latexSelection;i=c&&{input:t.latex,start:c.start,end:c.end}}let s={index:this.policy.ansEnabled()?t.index:void 0,disabledFeatures:this.getDisabledFeatures(),disallowFrac:this.areFractionsDisallowed(),disableParentheses:!!this.disableParentheses,allowIntervalComprehensions:!!this.intervalComprehensions,seedPrefix:un(r),writeIntegral:this.evaluationMode===\"geometry\",selection:i,specializeDoubleInequalities:!this.policy.is3dProduct()},o={extraDepNodes:[]};switch(t.type){case\"table\":let c=[];this.statements.hasOwnProperty(r)&&(c=this.statements[r].getAllIds()),t.shouldGraph=!0;let l=t.columns,p=[],f=I=>!I.replace(/\\\\space|\\\\ /g,\"\").match(/\\S/);for(let I=0;I{m.indexOf(I)===-1&&this._notifyGraphRemoved(I,n)});break;case\"image\":let g=\"-\\\\trigAngleMultiplier*(\"+t.angle+\")\",d=_i(t.center,{...s,seedPrefix:un(r,[[\"ic\",r]])}),y=_i(g,{...s,seedPrefix:un(r,[[\"ia\",r]])}),h=_i(t.width,{...s,seedPrefix:un(r,[[\"iw\",r]])}),b=_i(t.height,{...s,seedPrefix:un(r,[[\"ih\",r]])}),x=_i(t.opacity,{...s,seedPrefix:un(r,[[\"io\",r]])});this.statements[r]=new hH({center:d,radianAngle:y,width:h,height:b,opacity:x},void 0);break;case\"ticker\":{this.statements[r]=new D.Ticker({handler:_i(t.handlerLatex,{...s,allowDt:!0}),minStep:_i(t.minStepLatex||\"0\",s)});break}case\"geometry-toolbar-predicate\":{this.statements[r]=_i(`\\\\{${t.latex}:1,0\\\\}`,{...s});break}default:t=t;let P,M=wo(t.latex);M.slice(-1)===\"=\"?P=M.substring(0,M.length-1):P=t.latex,this.statements[r]=Vs(P,s);for(let I in Dd){let E=I;if(t[E]){let v=Dd[E],O=t[E];v.transform&&(O=v.transform(O));let A=$i(O,{...s,seedPrefix:un(r,[[v.seed,r]])});o[E]=A,o.extraDepNodes.push(A)}}if(t.colorLatex){let I=Gu(t.colorLatex,{...s,seedPrefix:un(r,[[\"ac\",r]])});o.colorLatex=I,o.extraDepNodes.push(I)}if(t.polarDomain&&t.polarDomain.min&&(o.polarDomainMin=$i(t.polarDomain.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.polarDomainMin)),t.polarDomain&&t.polarDomain.max&&(o.polarDomainMax=$i(t.polarDomain.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.polarDomainMax)),t.parametricDomain&&t.parametricDomain.min&&(o.parametricDomainMin=$i(t.parametricDomain.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.parametricDomainMin)),t.parametricDomain&&t.parametricDomain.max&&(o.parametricDomainMax=$i(t.parametricDomain.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.parametricDomainMax)),t.parametricDomain3Du&&t.parametricDomain3Du.min&&(o.parametricDomain3DuMin=$i(t.parametricDomain3Du.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.parametricDomain3DuMin)),t.parametricDomain3Du&&t.parametricDomain3Du.max&&(o.parametricDomain3DuMax=$i(t.parametricDomain3Du.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.parametricDomain3DuMax)),t.parametricDomain3Dv&&t.parametricDomain3Dv.min&&(o.parametricDomain3DvMin=$i(t.parametricDomain3Dv.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.parametricDomain3DvMin)),t.parametricDomain3Dv&&t.parametricDomain3Dv.max&&(o.parametricDomain3DvMax=$i(t.parametricDomain3Dv.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.parametricDomain3DvMax)),t.parametricDomain3Dr&&t.parametricDomain3Dr.min&&(o.parametricDomain3DrMin=$i(t.parametricDomain3Dr.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.parametricDomain3DrMin)),t.parametricDomain3Dr&&t.parametricDomain3Dr.max&&(o.parametricDomain3DrMax=$i(t.parametricDomain3Dr.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.parametricDomain3DrMax)),t.parametricDomain3Dphi&&t.parametricDomain3Dphi.min&&(o.parametricDomain3DphiMin=$i(t.parametricDomain3Dphi.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.parametricDomain3DphiMin)),t.parametricDomain3Dphi&&t.parametricDomain3Dphi.max&&(o.parametricDomain3DphiMax=$i(t.parametricDomain3Dphi.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.parametricDomain3DphiMax)),t.vizProps&&(t.vizProps.axisOffset&&(o.vizAxisOffset=$i(t.vizProps.axisOffset,{...s,seedPrefix:un(r,[[\"vo\",r]])}),o.extraDepNodes.push(o.vizAxisOffset)),t.vizProps.breadth&&(o.vizBreadth=$i(t.vizProps.breadth,{...s,seedPrefix:un(r,[[\"vb\",r]])}),o.extraDepNodes.push(o.vizBreadth))),t.cdf&&t.cdf.show){let I=HR(t.latex);I&&I.type===\"distribution\"&&(o.distributionSpec=I,o.cdfMin=Gu(t.cdf.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),o.extraDepNodes.push(o.cdfMin),o.cdfMax=Gu(t.cdf.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),o.extraDepNodes.push(o.cdfMax))}if(this.statements[r].shouldPromoteToSlider(this.policy)){let I=t.slider,E=!!(I&&I.isPlayingOnce),v=Gu(I&&I.softMin,s),O=Gu(I&&I.softMax,s),A=Gu(I&&I.min,{...s,seedPrefix:un(r,[[\"lm\",r]])}),N=Gu(I&&I.max,{...s,seedPrefix:un(r,[[\"lM\",r]])}),L=Gu(I&&I.step,{...s,seedPrefix:un(r,[[\"ls\",r]])});this.statements[r]=new bH(this.statements[r],{sliderMin:A,sliderMax:N,sliderStep:L,sliderIsPlayingOnce:E,sliderSoftMin:v,sliderSoftMax:O})}}let a=t.clickableInfo;a&&a.enabled&&a.latex&&(o.clickHandler=_i(a.latex,{...s,allowIndex:!0})),this.statements[r].userData=t,this.statements[r].metaData=o;let u=t.label;if(u){let c=this.currentLabel[r];(!c||c.raw!==u)&&(this.currentLabel[r]=MM(u))}else delete this.currentLabel[r]}removeStatement(t,n){let r=this.statements[t];if(r){if(this.markExportsDirty(t),Gs(r)){let i=this;r.getAllIds().forEach(function(s){i._notifyGraphRemoved(s,n)})}else this._notifyGraphRemoved(t,n);delete this.currentLabel[t],delete this.statements[t],delete this.analysis[t],delete this.currentStatus[t]}}markExportsDirty(t){if(this.statements[t]){fp(this.statements[t])&&(this.markedRegressionDirty=!0);for(let n of this.statements[t].getLegalExports(this.policy))this.dirtyExportedSymbolRoots[n]=!0}}markAsDirtyRoot(t){this.dirtyStatementRoots[t]=!0}getFrame(){return this.updateAnalysis(),this.frame}getAnalysis(){return this.updateAnalysis(),this.analysis}getEvaluationState(t){if(this.updateAnalysis(),!!this.analysis[t])return this.analysis[t].evaluationState}_updateRegressions(t){let n=this.frame,r=this.lastFrame,i=this.regressionFrame;if(!this.policy.graphingEnabled())return;let s=[];for(let l in t)t.hasOwnProperty(l)&&fp(t[l])&&s.push(l);let o=this;s.sort(function(l,p){let f=o.statements[l].userData&&o.statements[l].userData.residualVariable,m=o.statements[p].userData&&o.statements[p].userData.residualVariable;return f&&!m?-1:m&&!f?1:0});let a=Id(this.policy,t,s);n_(a,i,this.recursion);let u=a.resolved,c={};for(let l of u)if(l!==Co)if(fp(this.statements[l]))this.analysis[l]=t[l].analyze(this.policy,i,n,r,c),this.analysis[l].exportTo(this.policy,n),delete t[l];else{let p=t[l].tryGetConcreteTree(this.policy,i);t[l].exportTo(this.policy,p,i),c[l]={rawTree:t[l],concreteTree:p}}}buildSymbolToExpressionDirtyMap(){let t={};for(let n in this.statements){if(!this.statements.hasOwnProperty(n))continue;let r=this.statements[n],i=r.metaData;if(Sd(t,n,r.getDependencies()),Sd(t,n,r.getLegalExports(this.policy)),fp(r)&&r.userData&&r.userData.residualVariable&&Sd(t,n,[Lo(r.userData.residualVariable)]),r_(t,n,i),Gs(r)&&r.columns)for(let s=0;sp!==c)),this.statements[u]=c.originalNode}}}}updateAnalysis(){var m;this.updateConstruction(),this.analyzeExternalRecursiveBaseCases();let t=this.buildSymbolToExpressionDirtyMap(),n=SM(this.policy,this.statements,t,this.dirtyStatementRoots,this.dirtyExportedSymbolRoots),r=this.markedRegressionDirty;for(let g in n.ids)this.statements[g]&&fp(this.statements[g])&&(r=!0);let i={};if(r){for(let g in this.statements)this.statements[g]&&(i[g]=this.statements[g]);this.frame=Object.create(this.parent_frame),this.regressionFrame=Object.create(this.parent_frame)}else{let g=n.ids;for(let y in g)this.statements[y]&&(i[y]=this.statements[y]);let d=n.symbols;for(let y in d)d[y]&&(delete this.frame[y],delete this.regressionFrame[y])}for(let g in i)i[g]&&(this.unpublishedIds[g]=!0);this.markedRegressionDirty=!1,this.dirtyExportedSymbolRoots={},this.dirtyStatementRoots={};let s=this.analysis,o=this.frame;(this.evaluationMode===\"graphing\"||this.evaluationMode===\"geometry\"||this.evaluationMode===\"graphing_3d\")&&this._updateRegressions(i);let a=Id(this.policy,i);n_(a,o,this.recursion);let u=a.resolved,c=new Set;for(let g of u)if(g!==Co)switch(this.evaluationMode){case\"fourFunction\":case\"singleExpressionFourFunction\":s[g]=this.statements[g].analyzeFourFunction(this.policy,o,s),s[g].exportTo(this.policy,o);break;case\"scientific\":s[g]=this.statements[g].analyzeScientific(this.policy,o,s),s[g].exportTo(this.policy,o);break;case\"singleExpressionScientific\":s[g]=this.statements[g].analyzeSingleExpressionScientific(this.policy,o,s),s[g].exportTo(this.policy,o);break;case\"graphing\":case\"graphing_3d\":case\"geometry\":if(!this.policy.graphingEnabled())break;if(c.has(g))continue;let d=a.recursiveFunctionGroups[g];if(o.r){let y=Object.create(o);if(y.r=void 0,s[g]=this.statements[g].analyze(this.policy,y,s),s[g].getGraphMode()===6){s[g].exportTo(this.policy,o);continue}}if(d&&this.recursion){KA(this.policy,o,s,d);for(let y in d)c.add(y)}else s[g]=this.statements[g].analyze(this.policy,o,s),s[g].exportTo(this.policy,o);break}if(this.policy.graphingEnabled()){for(let g of u){if(g===Co)continue;let d=s[g],y=d.evaluationState.expression_type;for(let h in Dd){let b=h;var l=Dd[b];this.evaluationMode!==\"graphing_3d\"&&b===\"resolution\"||(!l.shouldEvaluate||l.shouldEvaluate(d))&&_H(d,this.policy,o,b)}LH(d,this.policy,o),this.product===\"graphing-3d\"&&wH(d),this.actions&&vH(d)&&FH(d,this.policy,o),y===\"PARAMETRIC\"||y===\"CURVE3D_xyz_t\"||y===\"POLAR\"||y===\"SURFACE_r_\\u03B8z\"||y===\"SURFACE_r_\\u03B8z_AMBIGUOUS\"||y===\"SLICE_r\\u03B8z_at_z\"?VH(d,this.policy,o):y===\"SURFACE_xyz_uv\"||y===\"SLICE_xyz_uv\"||y===\"SURFACE_r_\\u03B8\\u03C6\"||y===\"SURFACE_z_r\\u03B8\"||y===\"SLICE_zr\\u03B8_at_r\"||y===\"SLICE_zr\\u03B8_at_\\u03B8\"||y===\"SLICE_zr\\u03B8_at_xyz\"||y===\"SLICE_r\\u03B8\\u03C6_at_\\u03B8\"||y===\"SLICE_r\\u03B8\\u03C6_at_\\u03C6\"||y===\"SLICE_r\\u03B8\\u03C6_at_xyz\"?BH(d,this.policy,o):y===\"BOXPLOT\"?GH(d,this.policy,o):MH(d)&&NH(d,this.policy,o)}this.childIntersections=this.buildChildIntersectionMap()}kH(t).forEach(function(g){s[g].evaluationState.depends_on_random_seed=!0});let p=SM(this.policy,this.statements,t,{[Co]:!0},{construction:!0});for(let g in p.ids){if(g===Co)continue;let d=s[g].evaluationState;d.geometry&&(d.geometry.unconstructable=!0)}let f;for(let g in this.statements)if((m=this.statements[g].parseOptions)!=null&&m.selection){f=g;break}if(f){let g=SM(this.policy,this.statements,t,{[f]:!0},{[`idref_${f}`]:!0});for(let d in g.ids){if(d===Co)continue;let y=s[d].evaluationState;y.geometry&&(y.geometry.depends_on_selected=!0)}}this.lastFrame=Object.create(this.parent_frame);for(let g in o)o.hasOwnProperty(g)&&(this.lastFrame[g]=o[g])}processEvents(t){if(!t||!this.actions)return;let n=Object.create(this.frame),r={},i=!1,s=!1,o;for(let c of t)switch(this.globalEventCount+=1,n.globalEventCount=new D.Constant(this.globalEventCount),c.type){case\"step\":{let p=this.statements[c.expressionId];if(!p)continue;let f=p.tryGetConcreteTree(this.policy,n);s=!0,OM(f,r,n);break}case\"click\":{let p=this.statements[c.expressionId];if(!p||!p.metaData.clickHandler)continue;n.index=new D.Constant(c.indexVar+1);let f=p.metaData.clickHandler.tryGetConcreteTree(this.policy,n);s=!0,i=!0,OM(f,r,n);break}case\"clock-tick\":{(o===void 0||c.isFirstTick&&!o.isFirstTick)&&(o=c);break}default:return c}if(o){let c=this.statements[o.id];if(c&&c instanceof D.Ticker){var a=c.minStep.tryGetConcreteTree(this.policy,n).asValue(),u=typeof a==\"number\"&&a>=0&&isFinite(a);if(u){let l=this.lastClockTickTime;if(this.lastClockTickTime=Date.now(),!o.isFirstTick&&l!==void 0){n.dt=new D.Constant(this.lastClockTickTime-l);let p=c.handler.tryGetConcreteTree(this.policy,n);OM(p,r,n)}}}}return{objectClicked:i,userAction:s,updates:r}}};var a_=class{constructor(t){this.context=new Nh,this.sendMessage=t}processChangeSet(t){var n=this.context.processChangeSet(t);this.sendMessage(\"processChangeSet\",n)}};Object.defineProperty(__dcg_chunk_exports__, 'a', { get: () => zH });\nObject.defineProperty(__dcg_chunk_exports__, 'b', { get: () => HH });\nObject.defineProperty(__dcg_chunk_exports__, 'c', { get: () => UH });\nObject.defineProperty(__dcg_chunk_exports__, 'd', { get: () => No });\nObject.defineProperty(__dcg_chunk_exports__, 'e', { get: () => qH });\nObject.defineProperty(__dcg_chunk_exports__, 'f', { get: () => $H });\nObject.defineProperty(__dcg_chunk_exports__, 'g', { get: () => Dv });\nObject.defineProperty(__dcg_chunk_exports__, 'h', { get: () => Sv });\nObject.defineProperty(__dcg_chunk_exports__, 'i', { get: () => Bs });\nObject.defineProperty(__dcg_chunk_exports__, 'j', { get: () => ON });\nObject.defineProperty(__dcg_chunk_exports__, 'k', { get: () => yte });\nObject.defineProperty(__dcg_chunk_exports__, 'l', { get: () => yi });\nObject.defineProperty(__dcg_chunk_exports__, 'm', { get: () => Cn });\nObject.defineProperty(__dcg_chunk_exports__, 'n', { get: () => Ht });\nObject.defineProperty(__dcg_chunk_exports__, 'o', { get: () => T });\nObject.defineProperty(__dcg_chunk_exports__, 'p', { get: () => R });\nObject.defineProperty(__dcg_chunk_exports__, 'q', { get: () => sn });\nObject.defineProperty(__dcg_chunk_exports__, 'r', { get: () => se });\nObject.defineProperty(__dcg_chunk_exports__, 's', { get: () => Ln });\nObject.defineProperty(__dcg_chunk_exports__, 't', { get: () => Pt });\nObject.defineProperty(__dcg_chunk_exports__, 'u', { get: () => wn });\nObject.defineProperty(__dcg_chunk_exports__, 'v', { get: () => We });\nObject.defineProperty(__dcg_chunk_exports__, 'w', { get: () => Zn });\nObject.defineProperty(__dcg_chunk_exports__, 'x', { get: () => Be });\nObject.defineProperty(__dcg_chunk_exports__, 'y', { get: () => Rn });\nObject.defineProperty(__dcg_chunk_exports__, 'z', { get: () => Ie });\nObject.defineProperty(__dcg_chunk_exports__, 'A', { get: () => Tn });\nObject.defineProperty(__dcg_chunk_exports__, 'B', { get: () => pe });\nObject.defineProperty(__dcg_chunk_exports__, 'C', { get: () => Fn });\nObject.defineProperty(__dcg_chunk_exports__, 'D', { get: () => ce });\nObject.defineProperty(__dcg_chunk_exports__, 'E', { get: () => Vn });\nObject.defineProperty(__dcg_chunk_exports__, 'F', { get: () => fe });\nObject.defineProperty(__dcg_chunk_exports__, 'G', { get: () => Bn });\nObject.defineProperty(__dcg_chunk_exports__, 'H', { get: () => Le });\nObject.defineProperty(__dcg_chunk_exports__, 'I', { get: () => Gn });\nObject.defineProperty(__dcg_chunk_exports__, 'J', { get: () => Ge });\nObject.defineProperty(__dcg_chunk_exports__, 'K', { get: () => gn });\nObject.defineProperty(__dcg_chunk_exports__, 'L', { get: () => Ae });\nObject.defineProperty(__dcg_chunk_exports__, 'M', { get: () => hn });\nObject.defineProperty(__dcg_chunk_exports__, 'N', { get: () => Ue });\nObject.defineProperty(__dcg_chunk_exports__, 'O', { get: () => mr });\nObject.defineProperty(__dcg_chunk_exports__, 'P', { get: () => he });\nObject.defineProperty(__dcg_chunk_exports__, 'Q', { get: () => kn });\nObject.defineProperty(__dcg_chunk_exports__, 'R', { get: () => Hr });\nObject.defineProperty(__dcg_chunk_exports__, 'S', { get: () => mn });\nObject.defineProperty(__dcg_chunk_exports__, 'T', { get: () => Ur });\nObject.defineProperty(__dcg_chunk_exports__, 'U', { get: () => V });\nObject.defineProperty(__dcg_chunk_exports__, 'V', { get: () => VM });\nObject.defineProperty(__dcg_chunk_exports__, 'W', { get: () => y_ });\nObject.defineProperty(__dcg_chunk_exports__, 'X', { get: () => on });\nObject.defineProperty(__dcg_chunk_exports__, 'Y', { get: () => ne });\nObject.defineProperty(__dcg_chunk_exports__, 'Z', { get: () => W });\nObject.defineProperty(__dcg_chunk_exports__, '_', { get: () => ke });\nObject.defineProperty(__dcg_chunk_exports__, '$', { get: () => Sp });\nObject.defineProperty(__dcg_chunk_exports__, 'aa', { get: () => zr });\nObject.defineProperty(__dcg_chunk_exports__, 'ba', { get: () => _d });\nObject.defineProperty(__dcg_chunk_exports__, 'ca', { get: () => oe });\nObject.defineProperty(__dcg_chunk_exports__, 'da', { get: () => ca });\nObject.defineProperty(__dcg_chunk_exports__, 'ea', { get: () => Oe });\nObject.defineProperty(__dcg_chunk_exports__, 'fa', { get: () => GM });\nObject.defineProperty(__dcg_chunk_exports__, 'ga', { get: () => Ld });\nObject.defineProperty(__dcg_chunk_exports__, 'ha', { get: () => PU });\nObject.defineProperty(__dcg_chunk_exports__, 'ia', { get: () => as });\nObject.defineProperty(__dcg_chunk_exports__, 'ja', { get: () => pa });\nObject.defineProperty(__dcg_chunk_exports__, 'ka', { get: () => Rs });\nObject.defineProperty(__dcg_chunk_exports__, 'la', { get: () => T_ });\nObject.defineProperty(__dcg_chunk_exports__, 'ma', { get: () => IU });\nObject.defineProperty(__dcg_chunk_exports__, 'na', { get: () => EU });\nObject.defineProperty(__dcg_chunk_exports__, 'oa', { get: () => Li });\nObject.defineProperty(__dcg_chunk_exports__, 'pa', { get: () => MU });\nObject.defineProperty(__dcg_chunk_exports__, 'qa', { get: () => Zt });\nObject.defineProperty(__dcg_chunk_exports__, 'ra', { get: () => el });\nObject.defineProperty(__dcg_chunk_exports__, 'sa', { get: () => zd });\nObject.defineProperty(__dcg_chunk_exports__, 'ta', { get: () => R_ });\nObject.defineProperty(__dcg_chunk_exports__, 'ua', { get: () => AU });\nObject.defineProperty(__dcg_chunk_exports__, 'va', { get: () => _U });\nObject.defineProperty(__dcg_chunk_exports__, 'wa', { get: () => Qc });\nObject.defineProperty(__dcg_chunk_exports__, 'xa', { get: () => sv });\nObject.defineProperty(__dcg_chunk_exports__, 'ya', { get: () => N_ });\nObject.defineProperty(__dcg_chunk_exports__, 'za', { get: () => wU });\nObject.defineProperty(__dcg_chunk_exports__, 'Aa', { get: () => FU });\nObject.defineProperty(__dcg_chunk_exports__, 'Ba', { get: () => VU });\nObject.defineProperty(__dcg_chunk_exports__, 'Ca', { get: () => kU });\nObject.defineProperty(__dcg_chunk_exports__, 'Da', { get: () => zU });\nObject.defineProperty(__dcg_chunk_exports__, 'Ea', { get: () => UU });\nObject.defineProperty(__dcg_chunk_exports__, 'Fa', { get: () => qU });\nObject.defineProperty(__dcg_chunk_exports__, 'Ga', { get: () => L_ });\nObject.defineProperty(__dcg_chunk_exports__, 'Ha', { get: () => V_ });\nObject.defineProperty(__dcg_chunk_exports__, 'Ia', { get: () => ZU });\nObject.defineProperty(__dcg_chunk_exports__, 'Ja', { get: () => JU });\nObject.defineProperty(__dcg_chunk_exports__, 'Ka', { get: () => QU });\nObject.defineProperty(__dcg_chunk_exports__, 'La', { get: () => bi });\nObject.defineProperty(__dcg_chunk_exports__, 'Ma', { get: () => Lp });\nObject.defineProperty(__dcg_chunk_exports__, 'Na', { get: () => Y_ });\nObject.defineProperty(__dcg_chunk_exports__, 'Oa', { get: () => _o });\nObject.defineProperty(__dcg_chunk_exports__, 'Pa', { get: () => n8 });\nObject.defineProperty(__dcg_chunk_exports__, 'Qa', { get: () => tl });\nObject.defineProperty(__dcg_chunk_exports__, 'Ra', { get: () => nl });\nObject.defineProperty(__dcg_chunk_exports__, 'Sa', { get: () => j_ });\nObject.defineProperty(__dcg_chunk_exports__, 'Ta', { get: () => l8 });\nObject.defineProperty(__dcg_chunk_exports__, 'Ua', { get: () => f8 });\nObject.defineProperty(__dcg_chunk_exports__, 'Va', { get: () => jh });\nObject.defineProperty(__dcg_chunk_exports__, 'Wa', { get: () => sL });\nObject.defineProperty(__dcg_chunk_exports__, 'Xa', { get: () => lL });\nObject.defineProperty(__dcg_chunk_exports__, 'Ya', { get: () => pL });\nObject.defineProperty(__dcg_chunk_exports__, 'Za', { get: () => xv });\nObject.defineProperty(__dcg_chunk_exports__, '_a', { get: () => qd });\nObject.defineProperty(__dcg_chunk_exports__, '$a', { get: () => fL });\nObject.defineProperty(__dcg_chunk_exports__, 'ab', { get: () => Qh });\nObject.defineProperty(__dcg_chunk_exports__, 'bb', { get: () => ur });\nObject.defineProperty(__dcg_chunk_exports__, 'cb', { get: () => Lo });\nObject.defineProperty(__dcg_chunk_exports__, 'db', { get: () => wo });\nObject.defineProperty(__dcg_chunk_exports__, 'eb', { get: () => yL });\nObject.defineProperty(__dcg_chunk_exports__, 'fb', { get: () => da });\nObject.defineProperty(__dcg_chunk_exports__, 'gb', { get: () => Ke });\nObject.defineProperty(__dcg_chunk_exports__, 'hb', { get: () => u3 });\nObject.defineProperty(__dcg_chunk_exports__, 'ib', { get: () => Rr });\nObject.defineProperty(__dcg_chunk_exports__, 'jb', { get: () => kp });\nObject.defineProperty(__dcg_chunk_exports__, 'kb', { get: () => Mq });\nObject.defineProperty(__dcg_chunk_exports__, 'lb', { get: () => ko });\nObject.defineProperty(__dcg_chunk_exports__, 'mb', { get: () => $r });\nObject.defineProperty(__dcg_chunk_exports__, 'nb', { get: () => cD });\nObject.defineProperty(__dcg_chunk_exports__, 'ob', { get: () => Pf });\nObject.defineProperty(__dcg_chunk_exports__, 'pb', { get: () => fy });\nObject.defineProperty(__dcg_chunk_exports__, 'qb', { get: () => Ki });\nObject.defineProperty(__dcg_chunk_exports__, 'rb', { get: () => wD });\nObject.defineProperty(__dcg_chunk_exports__, 'sb', { get: () => N4 });\nObject.defineProperty(__dcg_chunk_exports__, 'tb', { get: () => F4 });\nObject.defineProperty(__dcg_chunk_exports__, 'ub', { get: () => po });\nObject.defineProperty(__dcg_chunk_exports__, 'vb', { get: () => Xw });\nObject.defineProperty(__dcg_chunk_exports__, 'wb', { get: () => rr });\nObject.defineProperty(__dcg_chunk_exports__, 'xb', { get: () => P1 });\nObject.defineProperty(__dcg_chunk_exports__, 'yb', { get: () => Xl });\nObject.defineProperty(__dcg_chunk_exports__, 'zb', { get: () => jl });\nObject.defineProperty(__dcg_chunk_exports__, 'Ab', { get: () => Jl });\nObject.defineProperty(__dcg_chunk_exports__, 'Bb', { get: () => xI });\nObject.defineProperty(__dcg_chunk_exports__, 'Cb', { get: () => PI });\nObject.defineProperty(__dcg_chunk_exports__, 'Db', { get: () => KT });\nObject.defineProperty(__dcg_chunk_exports__, 'Eb', { get: () => UV });\nObject.defineProperty(__dcg_chunk_exports__, 'Fb', { get: () => Z1 });\nObject.defineProperty(__dcg_chunk_exports__, 'Gb', { get: () => qV });\nObject.defineProperty(__dcg_chunk_exports__, 'Hb', { get: () => By });\nObject.defineProperty(__dcg_chunk_exports__, 'Ib', { get: () => Af });\nObject.defineProperty(__dcg_chunk_exports__, 'Jb', { get: () => TI });\nObject.defineProperty(__dcg_chunk_exports__, 'Kb', { get: () => II });\nObject.defineProperty(__dcg_chunk_exports__, 'Lb', { get: () => j1 });\nObject.defineProperty(__dcg_chunk_exports__, 'Mb', { get: () => XV });\nObject.defineProperty(__dcg_chunk_exports__, 'Nb', { get: () => J1 });\nObject.defineProperty(__dcg_chunk_exports__, 'Ob', { get: () => ZV });\nObject.defineProperty(__dcg_chunk_exports__, 'Pb', { get: () => Q1 });\nObject.defineProperty(__dcg_chunk_exports__, 'Qb', { get: () => WV });\nObject.defineProperty(__dcg_chunk_exports__, 'Rb', { get: () => sB });\nObject.defineProperty(__dcg_chunk_exports__, 'Sb', { get: () => uB });\nObject.defineProperty(__dcg_chunk_exports__, 'Tb', { get: () => cB });\nObject.defineProperty(__dcg_chunk_exports__, 'Ub', { get: () => Yo });\nObject.defineProperty(__dcg_chunk_exports__, 'Vb', { get: () => mo });\nObject.defineProperty(__dcg_chunk_exports__, 'Wb', { get: () => Z4 });\nObject.defineProperty(__dcg_chunk_exports__, 'Xb', { get: () => SB });\nObject.defineProperty(__dcg_chunk_exports__, 'Yb', { get: () => D });\nObject.defineProperty(__dcg_chunk_exports__, 'Zb', { get: () => lr });\nObject.defineProperty(__dcg_chunk_exports__, '_b', { get: () => c6 });\nObject.defineProperty(__dcg_chunk_exports__, '$b', { get: () => zy });\nObject.defineProperty(__dcg_chunk_exports__, 'ac', { get: () => sS });\nObject.defineProperty(__dcg_chunk_exports__, 'bc', { get: () => YI });\nObject.defineProperty(__dcg_chunk_exports__, 'cc', { get: () => qS });\nObject.defineProperty(__dcg_chunk_exports__, 'dc', { get: () => ho });\nObject.defineProperty(__dcg_chunk_exports__, 'ec', { get: () => sg });\nObject.defineProperty(__dcg_chunk_exports__, 'fc', { get: () => tO });\nObject.defineProperty(__dcg_chunk_exports__, 'gc', { get: () => Un });\nObject.defineProperty(__dcg_chunk_exports__, 'hc', { get: () => Ce });\nObject.defineProperty(__dcg_chunk_exports__, 'ic', { get: () => oE });\nObject.defineProperty(__dcg_chunk_exports__, 'jc', { get: () => k9 });\nObject.defineProperty(__dcg_chunk_exports__, 'kc', { get: () => z9 });\nObject.defineProperty(__dcg_chunk_exports__, 'lc', { get: () => RC });\nObject.defineProperty(__dcg_chunk_exports__, 'mc', { get: () => kC });\nObject.defineProperty(__dcg_chunk_exports__, 'nc', { get: () => Vs });\nObject.defineProperty(__dcg_chunk_exports__, 'oc', { get: () => xR });\nObject.defineProperty(__dcg_chunk_exports__, 'pc', { get: () => ea });\nObject.defineProperty(__dcg_chunk_exports__, 'qc', { get: () => HR });\nObject.defineProperty(__dcg_chunk_exports__, 'rc', { get: () => XE });\nObject.defineProperty(__dcg_chunk_exports__, 'sc', { get: () => ZE });\nObject.defineProperty(__dcg_chunk_exports__, 'tc', { get: () => UR });\nObject.defineProperty(__dcg_chunk_exports__, 'uc', { get: () => qR });\nObject.defineProperty(__dcg_chunk_exports__, 'vc', { get: () => $R });\nObject.defineProperty(__dcg_chunk_exports__, 'wc', { get: () => ta });\nObject.defineProperty(__dcg_chunk_exports__, 'xc', { get: () => o2 });\nObject.defineProperty(__dcg_chunk_exports__, 'yc', { get: () => NQ });\nObject.defineProperty(__dcg_chunk_exports__, 'zc', { get: () => dd });\nObject.defineProperty(__dcg_chunk_exports__, 'Ac', { get: () => sN });\nObject.defineProperty(__dcg_chunk_exports__, 'Bc', { get: () => b0 });\nObject.defineProperty(__dcg_chunk_exports__, 'Cc', { get: () => x0 });\nObject.defineProperty(__dcg_chunk_exports__, 'Dc', { get: () => P0 });\nObject.defineProperty(__dcg_chunk_exports__, 'Ec', { get: () => Xg });\nObject.defineProperty(__dcg_chunk_exports__, 'Fc', { get: () => Zg });\nObject.defineProperty(__dcg_chunk_exports__, 'Gc', { get: () => Ou });\nObject.defineProperty(__dcg_chunk_exports__, 'Hc', { get: () => gd });\nObject.defineProperty(__dcg_chunk_exports__, 'Ic', { get: () => uh });\nObject.defineProperty(__dcg_chunk_exports__, 'Jc', { get: () => xte });\nObject.defineProperty(__dcg_chunk_exports__, 'Kc', { get: () => Tte });\nObject.defineProperty(__dcg_chunk_exports__, 'Lc', { get: () => Ite });\nObject.defineProperty(__dcg_chunk_exports__, 'Mc', { get: () => LN });\nObject.defineProperty(__dcg_chunk_exports__, 'Nc', { get: () => Ete });\nObject.defineProperty(__dcg_chunk_exports__, 'Oc', { get: () => yk });\nObject.defineProperty(__dcg_chunk_exports__, 'Pc', { get: () => Dte });\nObject.defineProperty(__dcg_chunk_exports__, 'Qc', { get: () => Ste });\nObject.defineProperty(__dcg_chunk_exports__, 'Rc', { get: () => FN });\nObject.defineProperty(__dcg_chunk_exports__, 'Sc', { get: () => VN });\nObject.defineProperty(__dcg_chunk_exports__, 'Tc', { get: () => ch });\nObject.defineProperty(__dcg_chunk_exports__, 'Uc', { get: () => BN });\nObject.defineProperty(__dcg_chunk_exports__, 'Vc', { get: () => GN });\nObject.defineProperty(__dcg_chunk_exports__, 'Wc', { get: () => kN });\nObject.defineProperty(__dcg_chunk_exports__, 'Xc', { get: () => kte });\nObject.defineProperty(__dcg_chunk_exports__, 'Yc', { get: () => zte });\nObject.defineProperty(__dcg_chunk_exports__, 'Zc', { get: () => gk });\nObject.defineProperty(__dcg_chunk_exports__, '_c', { get: () => Hte });\nObject.defineProperty(__dcg_chunk_exports__, '$c', { get: () => Ute });\nObject.defineProperty(__dcg_chunk_exports__, 'ad', { get: () => B0 });\nObject.defineProperty(__dcg_chunk_exports__, 'bd', { get: () => ph });\nObject.defineProperty(__dcg_chunk_exports__, 'cd', { get: () => hk });\nObject.defineProperty(__dcg_chunk_exports__, 'dd', { get: () => bk });\nObject.defineProperty(__dcg_chunk_exports__, 'ed', { get: () => qN });\nObject.defineProperty(__dcg_chunk_exports__, 'fd', { get: () => lh });\nObject.defineProperty(__dcg_chunk_exports__, 'gd', { get: () => Pk });\nObject.defineProperty(__dcg_chunk_exports__, 'hd', { get: () => Bc });\nObject.defineProperty(__dcg_chunk_exports__, 'id', { get: () => Tk });\nObject.defineProperty(__dcg_chunk_exports__, 'jd', { get: () => Ik });\nObject.defineProperty(__dcg_chunk_exports__, 'kd', { get: () => Yte });\nObject.defineProperty(__dcg_chunk_exports__, 'ld', { get: () => Ek });\nObject.defineProperty(__dcg_chunk_exports__, 'md', { get: () => Ep });\nObject.defineProperty(__dcg_chunk_exports__, 'nd', { get: () => iz });\nObject.defineProperty(__dcg_chunk_exports__, 'od', { get: () => ZA });\nObject.defineProperty(__dcg_chunk_exports__, 'pd', { get: () => XH });\nObject.defineProperty(__dcg_chunk_exports__, 'qd', { get: () => nH });\nObject.defineProperty(__dcg_chunk_exports__, 'rd', { get: () => rH });\nObject.defineProperty(__dcg_chunk_exports__, 'sd', { get: () => Md });\nObject.defineProperty(__dcg_chunk_exports__, 'td', { get: () => vd });\nObject.defineProperty(__dcg_chunk_exports__, 'ud', { get: () => Nh });\nObject.defineProperty(__dcg_chunk_exports__, 'vd', { get: () => a_ });\n\n return __dcg_chunk_exports__;\n })();" const __dcg_shared_module_exports__ = eval(__dcg_shared_module_source__); const __dcg_worker_source_exports__ = (function () { // worker.js const __dcg_worker_source__ = ` // store the code for the worker module as a function that takes the shared module exports as an argument const __dcg_worker_module__ = (__dcg_shared_module_exports__) => { ` + "var o={};__dcg_shared_module_exports__['pd'].log=function(e){self.postMessage({log:JSON.stringify(e)})};var a=self;a.window=a;a.onmessage=function(e){var n=e.data&&e.data.connectionId;if(n)if(e.data.originalMessage.type===\"destroy\")delete o[n];else{var s=o[n];s||(s=new __dcg_shared_module_exports__['vd'](function(g,c){a.postMessage({connectionId:n,originalMessage:{type:g,payload:c}})}),o[n]=s),s.processChangeSet(e.data.originalMessage)}};a.loadMessageQueue&&(a.loadMessageQueue.forEach(function(e){a.onmessage(e)}),delete a.loadMessageQueue);\n" + ` }; // execute the shared module store its exports const __dcg_worker_shared_module_exports__ = ${__dcg_shared_module_source__}; // call the worker module, passing in the shared module exports __dcg_worker_module__(__dcg_worker_shared_module_exports__);` let createWorker; if (typeof Blob !== 'undefined' && URL && typeof URL.createObjectURL === 'function') { createWorker = () => { const workerURL = URL.createObjectURL(new Blob([__dcg_worker_source__], { type: 'application/javascript' })) const worker = new Worker(workerURL); worker.revokeObjectURL = () => { URL.revokeObjectURL(workerURL); } return worker; } } else { // Just for testing in Node createWorker = () => { (new Function(__dcg_worker_source__))(); } } return {createWorker, default: {createWorker}}; })(); var YV=__dcg_shared_module_exports__['c'](Uf=>{var Ne=Uf&&Uf.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,o){i.__proto__=o}||function(i,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(i[n]=o[n])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}(),qw=Uf&&Uf.__assign||function(){return qw=Object.assign||function(r){for(var e,t=1,i=arguments.length;tthis.options.maxDepth:!1},f.prototype.selectionChanged=function(){},f}(q),se=function(w){Ne(f,w);function f(p,m,y){var T=w.call(this,p,m,y)||this;return T._el=c("span",{class:"dcg-mq-selection"}),T.getDOMFragFromEnds().wrapAll(T._el),T}return f.prototype.isCleared=function(){return this._el===void 0},f.prototype.domFrag=function(){return this.isCleared()?this.getDOMFragFromEnds():P(this._el)},f.prototype.setEnds=function(p){a("Selection ends are never empty",p[r]&&p[e]),this.ends=p},f.prototype.getEnd=function(p){return this.ends[p]},f.prototype.adopt=function(p,m,y){return this.clear(),w.prototype.adopt.call(this,p,m,y)},f.prototype.clear=function(){var p=this.getDOMFragFromEnds();return this.domFrag().replaceWith(p),this._el=void 0,this},f.prototype.join=function(p,m){return m===void 0&&(m=""),this.fold("",function(y,T){return y+m+T[p]()})},f}(v),re=function(){function w(f,p,m){this.textareaEventListeners={},this.id=f.id,this.data={},this.root=f,this.container=p,this.options=m,this.aria=new V(this.getControllerSelf()),this.ariaLabel="Math Input",this.ariaPostLabel="",f.controller=this.getControllerSelf(),this.cursor=f.cursor=new De(f,m,this.getControllerSelf())}return w.prototype.getControllerSelf=function(){return this},w.prototype.handle=function(f,p){var m,y=this.options.handlers,T=(m=this.options.handlers)===null||m===void 0?void 0:m.fns[f];if(T){var L=y==null?void 0:y.APIClasses[this.KIND_OF_MQ];a("APIClass is defined",L);var F=new L(this);p===r||p===e?T(p,F):T(F)}},w.onNotify=function(f){w.notifyees.push(f)},w.prototype.notify=function(f){for(var p=0;p 2 do not depend on JQuery",this.version<=2),a("JQuery is set for interface v < 3",this.jQuery),this.jQuery},w}(),Be=function(){function w(){}return w}(),Xe=function(){window.console&&console.warn(`You are using the MathQuill API without specifying an interface version, which will fail in v1.0.0. Easiest fix is to do the following before doing anything else: MathQuill = MathQuill.getInterface(1); // now MathQuill.MathField() works like it used to See also the "\`dev\` branch (2014\u20132015) \u2192 v0.10.0 Migration Guide" at https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide`)},_t;function je(w){return Xe(),_t||(_t=xe(1)),_t(w)}je.prototype=Be.prototype,je.VERSION="vv1.9",je.interfaceVersion=function(w){if(w!==1)throw"Only interface version 1 supported. You specified: "+w;return Xe=function(){window.console&&console.warn(`You called MathQuill.interfaceVersion(1); to specify the interface version, which will fail in v1.0.0. You can fix this easily by doing this before doing anything else: MathQuill = MathQuill.getInterface(1); // now MathQuill.MathField() works like it used to See also the "\`dev\` branch (2014\u20132015) \u2192 v0.10.0 Migration Guide" at https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide`)},Xe(),je},je.getInterface=xe;var Kr=xe.MIN=1,Dt=xe.MAX=3;function xe(w){if(w!==1&&w!==2&&w!==3)throw"Only interface versions between "+Kr+" and "+Dt+" supported. You specified: "+w;var f=w;if(f<3){var p=window.jQuery;if(!p)throw"MathQuill interface version ".concat(f," requires jQuery 1.5.2+ to be loaded first");Me.prototype.jQuery=p}var m=qw(qw({},be),{handlers:function(pe){return{fns:pe||{},APIClasses:N}}});function y(pe,ae){for(var Te in ae)if(ae.hasOwnProperty(Te)){if(Te==="substituteKeyboardEvents"&&f>=3)throw new Error(["As of interface version 3, the 'substituteKeyboardEvents'","option is no longer supported. Use 'overrideTypedText' and","'overrideKeystroke' instead."].join(" "));var Ie=ae[Te],Oe=m[Te];pe[Te]=Oe?Oe(Ie):Ie}}var T=f<3?Me:function(pe){Ne(ae,pe);function ae(){return pe!==null&&pe.apply(this,arguments)||this}return ae}(Me),L=function(pe){Ne(ae,pe);function ae(Te){var Ie=pe.call(this)||this;return Ie.__controller=Te,Ie.__options=Te.options,Ie.id=Te.id,Ie.data=Te.data,Ie}return ae.prototype.mathquillify=function(Te){var Ie=this.__controller,Oe=Ie.root,ze=Ie.container;Ie.createTextarea();var rt=P(ze).addClass(Te).children().detach();Oe.setDOM(P(c("span",{class:"dcg-mq-root-block","aria-hidden":!0})).appendTo(ze).oneElement()),z.linkElementByBlockNode(Oe.domFrag().oneElement(),Oe),this.latex(rt.text()),this.revert=function(){return Ie.removeMouseEventListener(),P(ze).removeClass("dcg-mq-editable-field dcg-mq-math-mode dcg-mq-text-mode").empty().append(rt),f<3?this.__options.assertJquery()(ze):ze}},ae.prototype.setAriaLabel=function(Te){return this.__controller.setAriaLabel(Te),this},ae.prototype.getAriaLabel=function(){return this.__controller.getAriaLabel()},ae.prototype.config=function(Te){return y(this.__options,Te),this},ae.prototype.el=function(){return this.__controller.container},ae.prototype.text=function(){return this.__controller.exportText()},ae.prototype.mathspeak=function(){return this.__controller.exportMathSpeak()},ae.prototype.latex=function(Te){if(arguments.length>0){this.__controller.renderLatexMath(Te);var Ie=this.__controller.cursor;return this.__controller.blurred&&Ie.hide().parent.blur(Ie),this}return this.__controller.exportLatex()},ae.prototype.selection=function(){return this.__controller.exportLatexSelection()},ae.prototype.html=function(){return this.__controller.root.domFrag().oneElement().innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/ mathquill-(?:command|block)-id="?\d+"?/g,"").replace(/.?<\/span>/i,"").replace(/ dcg-mq-hasCursor|dcg-mq-hasCursor ?/,"").replace(/ class=(""|(?= |>))/g,"")},ae.prototype.reflow=function(){return this.__controller.root.postOrder(function(Te){Te.reflow()}),this},ae}(Be),F=function(pe){Ne(ae,pe);function ae(){return pe!==null&&pe.apply(this,arguments)||this}return ae.prototype.mathquillify=function(Te){return pe.prototype.mathquillify.call(this,Te),this.__controller.editable=!0,this.__controller.addMouseEventListener(),this.__controller.editablesTextareaEvents(),this},ae.prototype.focus=function(){return this.__controller.getTextareaOrThrow().focus(),this.__controller.scrollHoriz(),this},ae.prototype.blur=function(){return this.__controller.getTextareaOrThrow().blur(),this},ae.prototype.write=function(Te){this.__controller.writeLatex(Te),this.__controller.scrollHoriz();var Ie=this.__controller.cursor;return this.__controller.blurred&&Ie.hide().parent.blur(Ie),this},ae.prototype.empty=function(){var Te,Ie=this.__controller.root,Oe=this.__controller.cursor;return Ie.setEnds((Te={},Te[r]=0,Te[e]=0,Te)),Ie.domFrag().empty(),delete Oe.selection,Oe.insAtRightEnd(Ie),this},ae.prototype.cmd=function(Te){var Ie=this.__controller.notify(void 0),Oe=Ie.cursor;if(/^\\[a-z]+$/i.test(Te)&&!Oe.isTooDeep()){Te=Te.slice(1);var ze=D[Te],rt;ze&&(ze.constructor?rt=new ze(Te):rt=ze(Te),Oe.selection&&rt.replaces(Oe.replaceSelection()),rt.createLeftOf(Oe.show()))}else Oe.parent.write(Oe,Te);return Ie.scrollHoriz(),Ie.blurred&&Oe.hide().parent.blur(Oe),this},ae.prototype.select=function(){return this.__controller.selectAll(),this},ae.prototype.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},ae.prototype.moveToDirEnd=function(Te){return this.__controller.notify("move").cursor.insAtDirEnd(Te,this.__controller.root),this},ae.prototype.moveToLeftEnd=function(){return this.moveToDirEnd(r)},ae.prototype.moveToRightEnd=function(){return this.moveToDirEnd(e)},ae.prototype.keystroke=function(Te,Ie){for(var Oe=Te.replace(/^\s+|\s+$/g,"").split(/\s+/),ze=0;ze="a"&&L<="z"}function y(L){var F;if(L.key===void 0){var N=L.which||L.keyCode;return w[N]||String.fromCharCode(N)}return m(L.key)?L.key.toUpperCase():(F=f[L.key])!==null&&F!==void 0?F:L.key}function T(L){var F=y(L),N=[];return L.ctrlKey&&N.push("Ctrl"),L.metaKey&&N.push("Meta"),L.altKey&&N.push("Alt"),L.shiftKey&&N.push("Shift"),N.length?(F!=="Alt"&&F!=="Control"&&F!=="Meta"&&F!=="Shift"&&N.push(F),N.join("-")):F}return function(F,N){var Z=null,ye=null,pe=new Re;function ae(){try{F instanceof HTMLTextAreaElement&&F.select()}catch(sr){}}function Te(sr){pe.trigger(),pe.clearListener(),F instanceof HTMLTextAreaElement&&(F.value=sr),sr&&ae(),Ie=!!sr}var Ie=!1;function Oe(){return!("selectionStart"in F)||!(F instanceof HTMLTextAreaElement)?!1:F.selectionStart!==F.selectionEnd}function ze(){N.options&&N.options.overrideKeystroke?N.options.overrideKeystroke(T(Z),Z):N.keystroke(T(Z),Z)}function rt(sr){pe.trigger(sr),sr.target===F&&(Z=sr,ye=null,Ie&&pe.listenOnce(function(kd){kd&&kd.type==="focusout"||ae()}),ze())}function Zt(sr){pe.trigger(sr),sr.target===F&&(Z&&ye&&ze(),ye=sr,p(sr)?pe.listenOnce(Ki):pe.listen(ar))}function ki(sr){pe.trigger(sr),sr.target===F&&Z&&!ye&&(p(sr)?pe.listenOnce(Ki):pe.listen(ar))}function ar(){if(!Oe()&&F instanceof HTMLTextAreaElement){var sr=F.value;Z&&!Z.altKey&&Z.ctrlKey&&!Z.metaKey&&Z.shiftKey&&(Z.key==="U"||Z.key==="Unidentified"||Z.key==="Process")||(sr.length===1?(F.value="",N.options&&N.options.overrideTypedText?N.options.overrideTypedText(sr):N.typedText(sr)):Ki())}}function Ki(){F instanceof HTMLTextAreaElement&&F.value.length>1&&ae()}function Ga(){Z=null,ye=null,pe.clearListener(),F instanceof HTMLTextAreaElement&&(F.value="")}function is(sr){pe.trigger(),sr.target===F&&(document.activeElement!==F&&F.focus(),pe.listen(function(){if(F instanceof HTMLTextAreaElement){var Cl=F.value;F.value="",Cl&&N.paste(Cl)}}))}function Bp(sr){pe.trigger(sr)}return N.options&&N.options.disableCopyPaste?N.addTextareaEventListeners({keydown:rt,keypress:Zt,keyup:ki,focusout:Ga,copy:function(sr){sr.preventDefault()},cut:function(sr){sr.preventDefault()},paste:function(sr){pe.trigger(),sr.preventDefault()},input:Bp}):N.addTextareaEventListeners({keydown:rt,keypress:Zt,keyup:ki,focusout:Ga,cut:function(){pe.listenOnce(function(){N.cut()})},copy:function(){pe.listenOnce(function(){N.copy()})},paste:is,input:Bp}),{select:Te}}}(),Je=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.exportText=function(){return this.root.foldChildren("",function(p,m){return p+m.text()})},f}(re);re.onNotify(function(w,f){if(f==="edit"||f==="replace"||f===void 0){var p=w.controller;if(!p||!p.options.enableDigitGrouping||p.blurred!==!1)return;p.disableGroupingForSeconds(1)}});var le=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.handleTextareaFocusEditable=function(){var m=p.cursor;p.updateMathspeak(),p.blurred=!1,clearTimeout(p.blurTimeout),P(p.container).addClass("dcg-mq-focused"),m.parent||m.insAtRightEnd(p.root),m.selection?(m.selection.domFrag().removeClass("dcg-mq-blur"),p.selectionChanged()):m.show(),p.setOverflowClasses()},p.handleTextareaBlurEditable=function(){p.textareaSelectionTimeout&&(clearTimeout(p.textareaSelectionTimeout),p.textareaSelectionTimeout=0),p.disableGroupingForSeconds(0),p.blurred=!0,p.blurTimeout=setTimeout(function(){p.root.postOrder(function(m){m.intentionalBlur()}),p.cursor.clearSelection().endSelection(),p.blur(),p.updateMathspeak(),p.scrollHoriz()}),window.addEventListener("blur",p.handleWindowBlur)},p.handleTextareaFocusStatic=function(){p.blurred=!1},p.handleTextareaBlurStatic=function(){p.cursor.selection&&p.cursor.selection.clear(),setTimeout(function(){P(p.getTextareaSpanOrThrow()).detach(),p.blurred=!0})},p.handleWindowBlur=function(){clearTimeout(p.blurTimeout),p.cursor.selection&&p.cursor.selection.domFrag().addClass("dcg-mq-blur"),p.blurWithoutResettingCursor(),p.updateMathspeak()},p}return f.prototype.disableGroupingForSeconds=function(p){var m=this;clearTimeout(this.__disableGroupingTimeout),p===0?this.root.domFrag().removeClass("dcg-mq-suppress-grouping"):(this.root.domFrag().addClass("dcg-mq-suppress-grouping"),this.__disableGroupingTimeout=setTimeout(function(){m.root.domFrag().removeClass("dcg-mq-suppress-grouping")},p*1e3))},f.prototype.blur=function(){this.blurWithoutResettingCursor(),this.options&&this.options.resetCursorOnBlur&&this.cursor.resetToEnd(this)},f.prototype.blurWithoutResettingCursor=function(){this.cursor.hide().parent.blur(this.cursor),P(this.container).removeClass("dcg-mq-focused"),window.removeEventListener("blur",this.handleWindowBlur)},f.prototype.addEditableFocusBlurListeners=function(){var p=this,m=p.cursor;this.addTextareaEventListeners({focus:this.handleTextareaFocusEditable,blur:this.handleTextareaBlurEditable}),p.blurred=!0,m.hide().parent.blur(m)},f.prototype.addStaticFocusBlurListeners=function(){this.addTextareaEventListeners({focus:this.handleTextareaFocusStatic,blur:this.handleTextareaBlurStatic})},f}(Je),Ft=!1,we=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.keystroke=function(p,m,y){var T=y.cursor;switch(p){case"Ctrl-Shift-Backspace":case"Ctrl-Backspace":y.ctrlDeleteDir(r);break;case"Shift-Backspace":case"Backspace":y.backspace();break;case"Esc":case"Tab":y.escapeDir(e,p,m);return;case"Shift-Tab":case"Shift-Esc":y.escapeDir(r,p,m);return;case"End":y.notify("move").cursor.insAtRightEnd(T.parent),y.aria.queue("end of").queue(T.parent,!0);break;case"Ctrl-End":y.notify("move").cursor.insAtRightEnd(y.root),y.aria.queue("end of").queue(y.ariaLabel).queue(y.root).queue(y.ariaPostLabel);break;case"Shift-End":y.selectToBlockEndInDir(e);break;case"Ctrl-Shift-End":y.selectToRootEndInDir(e);break;case"Home":y.notify("move").cursor.insAtLeftEnd(T.parent),y.aria.queue("beginning of").queue(T.parent,!0);break;case"Ctrl-Home":y.notify("move").cursor.insAtLeftEnd(y.root),y.aria.queue("beginning of").queue(y.ariaLabel).queue(y.root).queue(y.ariaPostLabel);break;case"Shift-Home":y.selectToBlockEndInDir(r);break;case"Ctrl-Shift-Home":y.selectToRootEndInDir(r);break;case"Left":y.moveLeft();break;case"Shift-Left":y.selectLeft();break;case"Ctrl-Left":break;case"Right":y.moveRight();break;case"Shift-Right":y.selectRight();break;case"Ctrl-Right":break;case"Up":y.moveUp();break;case"Down":y.moveDown();break;case"Shift-Up":y.withIncrementalSelection(function(L){if(T[r])for(;T[r];)L(r);else L(r)});break;case"Shift-Down":y.withIncrementalSelection(function(L){if(T[e])for(;T[e];)L(e);else L(e)});break;case"Ctrl-Up":break;case"Ctrl-Down":break;case"Ctrl-Shift-Del":case"Ctrl-Del":y.ctrlDeleteDir(e);break;case"Shift-Del":case"Del":y.deleteForward();break;case"Meta-A":case"Ctrl-A":y.selectAll();break;case"Ctrl-Alt-Up":T.parent.parent&&T.parent.parent instanceof f?y.aria.queue(T.parent.parent):y.aria.queue("nothing above");break;case"Ctrl-Alt-Down":T.parent&&T.parent instanceof f?y.aria.queue(T.parent):y.aria.queue("block is empty");break;case"Ctrl-Alt-Left":T.parent.parent&&T.parent.parent.getEnd(r)?y.aria.queue(T.parent.parent.getEnd(r)):y.aria.queue("nothing to the left");break;case"Ctrl-Alt-Right":T.parent.parent&&T.parent.parent.getEnd(e)?y.aria.queue(T.parent.parent.getEnd(e)):y.aria.queue("nothing to the right");break;case"Ctrl-Alt-Shift-Down":T.selection?y.aria.queue(T.selection.join("mathspeak"," ").trim()+" selected"):y.aria.queue("nothing selected");break;case"Ctrl-Alt-=":case"Ctrl-Alt-Shift-Right":y.ariaPostLabel.length?y.aria.queue(y.ariaPostLabel):y.aria.queue("no answer");break;default:return}y.aria.alert(),m==null||m.preventDefault(),y.scrollHoriz()},f.prototype.moveOutOf=function(p,m,y){a("overridden or never called on this node",!1)},f.prototype.moveTowards=function(p,m,y){a("overridden or never called on this node",!1)},f.prototype.deleteOutOf=function(p,m){a("overridden or never called on this node",!1)},f.prototype.deleteTowards=function(p,m){a("overridden or never called on this node",!1)},f.prototype.unselectInto=function(p,m){a("overridden or never called on this node",!1)},f.prototype.selectOutOf=function(p,m){a("overridden or never called on this node",!1)},f.prototype.selectTowards=function(p,m){a("overridden or never called on this node",!1)},f}(z);re.onNotify(function(w,f){(f==="move"||f==="upDown")&&w.show().clearSelection()}),be.leftRightIntoCmdGoes=function(w){if(w&&w!=="up"&&w!=="down")throw'"up" or "down" required for leftRightIntoCmdGoes option, got "'+w+'"';return w},re.onNotify(function(w,f){f!=="upDown"&&(w.upDownCache={})}),re.onNotify(function(w,f){f==="edit"&&w.show().deleteSelection()}),re.onNotify(function(w,f){f!=="select"&&w.endSelection()});var Yr=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.keystroke=function(p,m){this.cursor.parent.keystroke(p,m,this.getControllerSelf())},f.prototype.escapeDir=function(p,m,y){s(p);var T=this.cursor;if(T.parent!==this.root&&(y==null||y.preventDefault()),T.parent!==this.root)return T.clearSelection(),T.parent.moveOutOf(p,T),T.controller.aria.alert(),this.notify("move")},f.prototype.moveDir=function(p){s(p);var m=this.cursor,y=m.options.leftRightIntoCmdGoes,T=m[p];return m.selection?m.insDirOf(p,m.selection.getEnd(p)):T?T.moveTowards(p,m,y):m.parent.moveOutOf(p,m,y),this.notify("move")},f.prototype.moveLeft=function(){return this.moveDir(r)},f.prototype.moveRight=function(){return this.moveDir(e)},f.prototype.moveUp=function(){return this.moveUpDown("up")},f.prototype.moveDown=function(){return this.moveUpDown("down")},f.prototype.moveUpDown=function(p){var m=this,y=m.notify("upDown").cursor,T,L;p==="up"?(T="upInto",L="upOutOf"):(T="downInto",L="downOutOf");var F=y[r],N=y[e],Z=N&&N[T],ye=F&&F[T];return Z?y.insAtLeftEnd(Z):ye?y.insAtRightEnd(ye):y.parent.bubble(function(pe){var ae=pe[L];if(ae&&(typeof ae=="function"&&(ae=ae.call(pe,y)),ae instanceof we&&y.jumpUpDown(pe,ae),ae!==!0))return!1}),m},f.prototype.deleteDir=function(p){s(p);var m=this.cursor,y=m[p],T=m.parent.parent,L=m.controller;if(y&&y instanceof we)y.sides?L.aria.queue(y.parent.chToCmd(y.sides[-p].ch).mathspeak({createdLeftOf:m})):!y.blocks&&y.parent.ctrlSeq!=="\\text"&&L.aria.queue(y);else if(T&&T instanceof we)if(T.sides)L.aria.queue(T.parent.chToCmd(T.sides[p].ch).mathspeak({createdLeftOf:m}));else if(T.blocks&&T.mathspeakTemplate)if(T.upInto&&T.downInto)L.aria.queue(T.mathspeakTemplate[1]);else{var F=T.mathspeakTemplate,N=p===r?F[0]:F[F.length-1];L.aria.queue(N)}else L.aria.queue(T);var Z=m.selection;if(this.notify("edit"),!Z){var ye=m[p];ye?ye.deleteTowards(p,m):m.parent.deleteOutOf(p,m)}var pe=m[r],ae=m[e];return pe.siblingDeleted&&pe.siblingDeleted(m.options,e),ae.siblingDeleted&&ae.siblingDeleted(m.options,r),m.parent.bubble(function(Te){Te.reflow()}),this},f.prototype.ctrlDeleteDir=function(p){s(p);var m=this.cursor;if(!m[p]||m.selection)return this.deleteDir(p);this.notify("edit");var y;p===r?y=new v(m.parent.getEnd(r),m[r]):y=new v(m[e],m.parent.getEnd(e)),m.controller.aria.queue(y),y.remove(),m.insAtDirEnd(p,m.parent);var T=m[r],L=m[e];return T&&T.siblingDeleted(m.options,e),L&&L.siblingDeleted(m.options,r),m.parent.bubble(function(F){F.reflow()}),this},f.prototype.backspace=function(){return this.deleteDir(r)},f.prototype.deleteForward=function(){return this.deleteDir(e)},f.prototype.startIncrementalSelection=function(){a("Multiple selections can't be simultaneously open",!Ft),Ft=!0,this.notify("select");var p=this.cursor;p.anticursor||p.startSelection()},f.prototype.selectDirIncremental=function(p){a("A selection is open",Ft),Ft=!0;var m=this.cursor,y=m.selection;s(p);var T=m[p];T?y&&y.getEnd(p)===T&&m.anticursor[-p]!==T?T.unselectInto(p,m):T.selectTowards(p,m):m.parent.selectOutOf(p,m)},f.prototype.finishIncrementalSelection=function(){a("A selection is open",Ft);var p=this.cursor;p.clearSelection(),p.select()||p.show();var m=p.selection;m&&p.controller.aria.clear().queue(m.join("mathspeak"," ").trim()+" selected"),Ft=!1},f.prototype.withIncrementalSelection=function(p){var m=this;try{this.startIncrementalSelection();try{p(function(y){return m.selectDirIncremental(y)})}finally{this.finishIncrementalSelection()}}finally{Ft=!1}},f.prototype.selectDir=function(p){this.withIncrementalSelection(function(m){return m(p)})},f.prototype.selectLeft=function(){return this.selectDir(r)},f.prototype.selectRight=function(){return this.selectDir(e)},f.prototype.selectAll=function(){this.notify("move");var p=this.cursor;p.insAtRightEnd(this.root),this.withIncrementalSelection(function(m){for(;p[r];)m(r)})},f.prototype.selectToBlockEndInDir=function(p){var m=this.cursor;this.withIncrementalSelection(function(y){for(;m[p];)y(p)})},f.prototype.selectToRootEndInDir=function(p){var m=this,y=this.cursor;this.withIncrementalSelection(function(T){for(;y[p]||y.parent!==m.root;)T(p)})},f}(le),he=function(w){Ne(f,w);function f(p){return w.call(this)||this}return f}(we),Ue=function(){function w(ar){var Ki=new Ar;return ar.adopt(Ki,0,0),Ki}function f(ar){for(var Ki=ar[0]||new Ar,Ga=1;Ga=0;rt--){if(!Oe||Oe.ctrlSeq!==pe[rt]||Oe.parent!==N)return!1;ze.unshift(Oe),Oe=Oe[r]}if(Te&&!Ie){var Zt=Oe;if(!Zt||Zt.ctrlSeq!=="-"||Zt[e]!==ze[0]||Zt.parent!==N)return!1;var ki=Zt[r];if(ki&&ki.parent!==N)return!1;ze[0][r]=Zt[r],N.getEnd(r)===Zt&&N.setEnds((y={},y[r]=ze[0],y[e]=N.getEnd(e),y)),ki&&(ki[e]=ze[0]),Zt.domFrag().remove()}if(!Te&&Ie){var ar=new Tf("-"),Ki=document.createElement("span");Ki.textContent="-",ar.setDOM(Ki);var Ga=ze[0][r];Ga&&(Ga[e]=ar),N.getEnd(r)===ze[0]&&N.setEnds((T={},T[r]=ar,T[e]=N.getEnd(e),T)),ar.parent=N,ar[r]=ze[0][r],ar[e]=ze[0],ze[0][r]=ar,ar.contactWeld(this.cursor),ar.domFrag().insertBefore(ze[0].domFrag())}var is=Math.min(pe.length,ae.length);for(rt=0;rtae.length)for(Oe=ze[ae.length-1],N.setEnds((L={},L[r]=N.getEnd(r),L[e]=Oe,L)),Oe[e]=0,rt=pe.length-1;rt>=is;rt--)ze[rt].domFrag().remove();if(ae.length>pe.length){var sr=document.createDocumentFragment();for(rt=is;rtT+F,y=F>0}p.classList.contains("dcg-mq-editing-overflow-right")!==m&&p.classList.toggle("dcg-mq-editing-overflow-right"),p.classList.contains("dcg-mq-editing-overflow-left")!==y&&p.classList.toggle("dcg-mq-editing-overflow-left")},f.prototype.scrollHoriz=function(){var p=this,m=this.cursor,y=m.selection,T=I(this.root.domFrag().oneElement());if(m.domFrag().isEmpty()&&!y){this.cancelScrollHoriz&&(this.cancelScrollHoriz(),this.cancelScrollHoriz=void 0);var L=this.root.domFrag().oneElement(),F=L.scrollLeft;A(this.getScrollAnimationDuration(),function(ze,rt,Zt){ze>=1?(p.cancelScrollHoriz=void 0,L.scrollLeft=0,p.setOverflowClasses()):(p.cancelScrollHoriz=Zt,rt(),L.scrollLeft=Math.round((1-ze)*F))});return}else if(y){var ye=I(y.domFrag().oneElement()),pe=ye.left-(T.left+20),ae=ye.right-(T.right-20);if(y.getEnd(r)===m[e])if(pe<0)var Z=pe;else if(ae>0)if(ye.left-ae0)var Z=ae;else if(pe<0)if(ye.right-pe>T.right-20)var Z=ae;else var Z=pe;else return}else{var N=I(m.domFrag().oneElement()).left;if(N>T.right-20)var Z=N-(T.right-20);else if(N0&&Te.scrollWidth<=Te.scrollLeft+T.width)){this.cancelScrollHoriz&&(this.cancelScrollHoriz(),this.cancelScrollHoriz=void 0);var Ie=this.root.domFrag().oneElement(),Oe=Ie.scrollLeft;A(this.getScrollAnimationDuration(),function(ze,rt,Zt){ze>=1?(p.cancelScrollHoriz=void 0,Ie.scrollLeft=Math.round(Oe+Z),p.setOverflowClasses()):(p.cancelScrollHoriz=Zt,rt(),Ie.scrollLeft=Math.round(Oe+ze*Z))})}},f.prototype.getScrollAnimationDuration=function(){var p;return(p=this.options.scrollAnimationDuration)!==null&&p!==void 0?p:100},f}(qe);Me.prototype.substituteTextarea=function(){return c("textarea",{autocapitalize:"off",autocomplete:"off",autocorrect:"off",spellcheck:!1,"x-palm-disable-ste-all":!0})};function nt(w,f){return Qe(w[0],f)}Me.prototype.substituteKeyboardEvents=nt;var Un=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.selectFn=o,p}return f.prototype.createTextarea=function(){this.textareaSpan=c("span",{class:"dcg-mq-textarea"});var p=this.options.substituteTextarea();if(!p.nodeType)throw"substituteTextarea() must return a DOM element, got "+p;this.textarea=P(p).appendTo(this.textareaSpan).oneElement();var m=this;m.cursor.selectionChanged=function(){m.selectionChanged()}},f.prototype.selectionChanged=function(){var p=this;p.textareaSelectionTimeout||(p.textareaSelectionTimeout=setTimeout(function(){p.setTextareaSelection()}))},f.prototype.setTextareaSelection=function(){this.textareaSelectionTimeout=0;var p="";this.cursor.selection&&(p=this.cleanLatex(this.cursor.selection.join("latex")),this.options.statelessClipboard&&(p="$"+p+"$")),this.selectFn(p)},f.prototype.staticMathTextareaEvents=function(){var p=this;this.removeTextareaEventListener("cut"),this.removeTextareaEventListener("paste"),p.options.disableCopyPaste?this.removeTextareaEventListener("copy"):this.addTextareaEventListeners({copy:function(){p.setTextareaSelection()}}),this.addStaticFocusBlurListeners(),p.selectFn=function(m){var y=p.getTextareaOrThrow();y instanceof HTMLTextAreaElement&&(y.value=m,m&&y.select())}},f.prototype.editablesTextareaEvents=function(){var p=this,m=p.getTextareaOrThrow(),y=p.getTextareaSpanOrThrow();if(this.options.version<3){var T=this.options.assertJquery(),L=this.options.substituteKeyboardEvents(T(m),this);this.selectFn=function(N){L.select(N)}}else{var F=Qe(m,this).select;this.selectFn=F}P(this.container).prepend(P(y)),this.addEditableFocusBlurListeners(),this.updateMathspeak()},f.prototype.unbindEditablesEvents=function(){var p=this,m=p.getTextareaOrThrow(),y=p.getTextareaSpanOrThrow();this.selectFn=function(T){m instanceof HTMLTextAreaElement&&(m.value=T,T&&m.select())},P(y).remove(),this.removeTextareaEventListener("focus"),this.removeTextareaEventListener("blur"),p.blurred=!0,this.removeTextareaEventListener("cut"),this.removeTextareaEventListener("paste")},f.prototype.typedText=function(p){if(p===` `)return this.handle("enter");var m=this.notify(void 0).cursor;m.parent.write(m,p),this.scrollHoriz()},f.prototype.cut=function(){var p=this,m=p.cursor;m.selection&&setTimeout(function(){p.notify("edit"),m.parent.bubble(function(y){y.reflow()}),p.options&&p.options.onCut&&p.options.onCut()})},f.prototype.copy=function(){this.setTextareaSelection()},f.prototype.paste=function(p){this.options.statelessClipboard&&(p.slice(0,1)==="$"&&p.slice(-1)==="$"?p=p.slice(1,-1):p="\\text{"+p+"}"),this.writeLatex(p).cursor.show(),this.scrollHoriz(),this.options&&this.options.onPaste&&this.options.onPaste()},f.prototype.setupStaticField=function(){this.mathspeakSpan=c("span",{class:"dcg-mq-mathspeak"}),P(this.container).prepend(P(this.mathspeakSpan)),this.updateMathspeak(),this.blurred=!0,this.cursor.hide().parent.blur(this.cursor)},f.prototype.updateMathspeak=function(){var p=this,m=p.getAriaLabel(),y=/[A-Za-z0-9]$/.test(m)?m+":":m,T=p.root.mathspeak().trim();this.aria.clear();var L=p.getTextareaOrThrow();p.mathspeakSpan?(L.setAttribute("aria-label",""),p.mathspeakSpan.textContent=(y+" "+T).trim()):L.setAttribute("aria-label",(y+" "+T+" "+p.ariaPostLabel).trim())},f}(Cc),Sc=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.finalizeInsert=function(p,m){var y=this;y.postOrder(function(F){F.finalizeTree(p)}),y.postOrder(function(F){F.contactWeld(m)}),y.postOrder(function(F){F.blur(m)}),y.postOrder(function(F){F.reflow()});var T=y[e],L=y[r];T&&T.siblingCreated(p,r),L&&L.siblingCreated(p,e),y.bubble(function(F){F.reflow()})},f.prototype.prepareInsertionAt=function(p){var m=p.options.maxDepth;if(m!==void 0){var y=p.depth();if(y>m)return!1;this.removeNodesDeeperThan(m-y)}return!0},f.prototype.removeNodesDeeperThan=function(p){for(var m=0,y=[[this,m]],T;T=y.shift();){var L=T;L[0].children().each(function(F){var N=F instanceof Ar?1:0;m=L[1]+N,m<=p?y.push([F,m]):(N?F.children():F).remove()})}},f}(we),si=function(){function w(f,p){this.childCount=f,this.render=p}return w}(),Bi=function(w){Ne(f,w);function f(p,m,y){var T=w.call(this)||this;return T.textTemplate=[""],T.mathspeakTemplate=[""],T.setCtrlSeqHtmlAndText(p,m,y),T}return f.prototype.setEnds=function(p){a("MathCommand ends are never empty",p[r]&&p[e]),this.ends=p},f.prototype.getEnd=function(p){return this.ends[p]},f.prototype.setCtrlSeqHtmlAndText=function(p,m,y){this.ctrlSeq||(this.ctrlSeq=p),m&&(this.domView=m),y&&(this.textTemplate=y)},f.prototype.replaces=function(p){p.disown(),this.replacedFragment=p},f.prototype.isEmpty=function(){return this.foldChildren(!0,function(p,m){return p&&m.isEmpty()})},f.prototype.parser=function(){var p=this,m=Ue.block;return m.times(this.numBlocks()).map(function(y){p.blocks=y;for(var T=0;TL[e])return m.insRightOf(T);var F=L[r];T.eachChild(function(N){var Z=y(N);if(pZ[e]){N[e]?F=Z[e]:L[e]-p0){var L=m[p.toLowerCase()];typeof L=="string"&&(p=L)}y.push(p+" "),p=""}var F=T.mathspeak(),N=T.ctrlSeq;isNaN(N)&&N!=="."&&(!T.parent||!T.parent.parent||!T.parent.parent.isTextBlock())&&(F=" "+F+" "),y.push(F)}return y}).join("").replace(/ +(?= )/g,"").replace(/(\.)([0-9]+)/g,function(y,T,L){return T+L.split("").join(" ").trim()})},f.prototype.keystroke=function(p,m,y){if(y.options.spaceBehavesLikeTab&&(p==="Spacebar"||p==="Shift-Spacebar")){m==null||m.preventDefault(),y.escapeDir(p==="Shift-Spacebar"?r:e,p,m);return}return w.prototype.keystroke.call(this,p,m,y)},f.prototype.moveOutOf=function(p,m,y){var T;if(y==="up"?T=this.parent.upInto:y==="down"&&(T=this.parent.downInto),!T&&this[p]){var L=-p;m.insAtDirEnd(L,this[p]),m.controller.aria.queueDirEndOf(L).queue(m.parent,!0)}else m.insDirOf(p,this.parent),m.controller.aria.queueDirOf(p).queue(this.parent)},f.prototype.selectOutOf=function(p,m){m.insDirOf(p,this.parent)},f.prototype.deleteOutOf=function(p,m){m.unwrapGramp()},f.prototype.seek=function(p,m){var y=this.getEnd(e);if(!y)return m.insAtRightEnd(this);var T=y.domFrag().oneElement(),L=I(T).left;if(L+T.offsetWidth0){var L=this.innerFields=[];this.__controller.root.postOrder(function(F){F.registerInnerField(L,w.InnerMathField)}),this.__controller.updateMathspeak()}return T},m.prototype.setAriaLabel=function(y){return this.__controller.setAriaLabel(y),this},m.prototype.getAriaLabel=function(){return this.__controller.getAriaLabel()},m}(w.AbstractMathQuill),f.RootBlock=Ar,f};var kf=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f}(Ar);Zi(kf.prototype),j.MathField=function(w){var f;return f=function(p){Ne(m,p);function m(){return p!==null&&p.apply(this,arguments)||this}return m.prototype.__mathquillify=function(y,T){return this.config(y),T>1&&(this.__controller.root.reflow=o),p.prototype.mathquillify.call(this,"dcg-mq-editable-field dcg-mq-math-mode"),delete this.__controller.root.reflow,this},m}(w.EditableField),f.RootBlock=kf,f},j.InnerMathField=function(w){return a("MathField class is defined",w.MathField),function(f){Ne(p,f);function p(){return f!==null&&f.apply(this,arguments)||this}return p.prototype.makeStatic=function(){this.__controller.editable=!1,this.__controller.root.blur(),this.__controller.unbindEditablesEvents(),P(this.__controller.container).removeClass("dcg-mq-editable-field")},p.prototype.makeEditable=function(){this.__controller.editable=!0,this.__controller.editablesTextareaEvents(),this.__controller.cursor.insAtRightEnd(this.__controller.root),P(this.__controller.container).addClass("dcg-mq-editable-field")},p}(w.MathField)};var Cd=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.finalizeTree=function(p,m){this.sharedSiblingMethod(p,m)},f.prototype.siblingDeleted=function(p,m){this.sharedSiblingMethod(p,m)},f.prototype.siblingCreated=function(p,m){this.sharedSiblingMethod(p,m)},f.prototype.sharedSiblingMethod=function(p,m){m!==r&&this[e]instanceof f||this.fixDigitGrouping(p)},f.prototype.fixDigitGrouping=function(p){if(p.enableDigitGrouping){var m=this,y=this,T=0,L=[],F="\\ ",N=".",Z=m;do if(/^[0-9]$/.test(Z.ctrlSeq))m=Z;else if(Z.ctrlSeq===F)m=Z,T+=1;else if(Z.ctrlSeq===N)m=Z,L.push(Z);else break;while(Z=m[r]);for(;Z=y[e];)if(/^[0-9]$/.test(Z.ctrlSeq))y=Z;else if(Z.ctrlSeq===F)y=Z,T+=1;else if(Z.ctrlSeq===N)y=Z,L.push(Z);else break;for(;y!==m&&m&&m.ctrlSeq===F;)m=m[e],T-=1;for(;y!==m&&y&&y.ctrlSeq===F;)y=y[r],T-=1;if(!(m===y&&m&&m.ctrlSeq===F)){var ye=T>0||L.length>1;ye?this.removeGroupingBetween(m,y):L[0]?(L[0]!==m&&this.addGroupingBetween(L[0][r],m),L[0]!==y&&this.removeGroupingBetween(L[0][e],y)):this.addGroupingBetween(y,m)}}},f.prototype.removeGroupingBetween=function(p,m){var y=p;do if(y instanceof f&&y.setGroupingClass(void 0),!y||y===m)break;while(y=y[e])},f.prototype.addGroupingBetween=function(p,m){for(var F=p,y=0,T=0,F=p;F&&(T+=1,F!==m);)F=F[r];var L=T%3;L===0&&(L=3);for(var F=p;F;){y+=1;var N=void 0;if(T>=4&&(y===T?N="dcg-mq-group-leading-"+L:y%3===0&&y!==T&&(N="dcg-mq-group-start"),N||(N="dcg-mq-group-other")),F instanceof f&&F.setGroupingClass(N),F===m)break;F=F[r]}},f.prototype.setGroupingClass=function(p){this._groupingClass!==p&&(this._groupingClass&&this.domFrag().removeClass(this._groupingClass),p&&this.domFrag().addClass(p),this._groupingClass=p)},f}(Xo),Aa=function(w){Ne(f,w);function f(p,m){return w.call(this,p,c("span",{class:"dcg-mq-digit"},[c.text(p)]),void 0,m)||this}return f.prototype.createLeftOf=function(p){var m=p[r],y=m&&m[r],T=p.parent.parent instanceof Ks?p.parent.parent.sub:void 0;p.options.autoSubscriptNumerals&&p.parent!==T&&(m instanceof jr&&m.isItalic!==!1||m instanceof Ks&&y instanceof jr&&y.isItalic!==!1)?(new Y1().createLeftOf(p),w.prototype.createLeftOf.call(this,p),p.insRightOf(p.parent.parent)):w.prototype.createLeftOf.call(this,p)},f.prototype.mathspeak=function(p){if(p&&p.createdLeftOf){var m=p.createdLeftOf,y=m[r],T=y&&y[r],L=m.parent.parent instanceof Ks?m.parent.parent.sub:void 0;if(m.options.autoSubscriptNumerals&&m.parent!==L&&(y instanceof jr&&y.isItalic!==!1||m[r]instanceof Ks&&T instanceof jr&&T.isItalic!==!1))return"Subscript "+w.prototype.mathspeak.call(this)+" Baseline"}return w.prototype.mathspeak.call(this)},f}(Cd),jr=function(w){Ne(f,w);function f(p,m){return w.call(this,p,c("var",{},[m||c.text(p)]))||this}return f.prototype.text=function(){var p=this.ctrlSeq||"";return this.isPartOfOperator?p[0]=="\\"?p=p.slice(1,p.length):p[p.length-1]==" "&&(p=p.slice(0,-1)):(this[r]&&!(this[r]instanceof f)&&!(this[r]instanceof bi)&&this[r].ctrlSeq!=="\\ "&&(p="*"+p),this[e]&&!(this[e]instanceof bi)&&!(this[e]instanceof Ks)&&(p+="*")),p},f.prototype.mathspeak=function(){var p=this.ctrlSeq||"";return this.isPartOfOperator||p.length>1||this.parent&&this.parent.parent&&this.parent.parent.isTextBlock()?w.prototype.mathspeak.call(this):'"'+p+'"'},f}(Xo);function li(w,f,p){return function(){return new jr(w,c.entityText(f))}}Me.prototype.autoCommands={_maxLength:0},be.autoCommands=function(w){if(typeof w!="string"||!/^[a-z]+(?: [a-z]+)*$/i.test(w))throw'"'+w+'" not a space-delimited list of only letters';for(var f=w.split(" "),p={},m=0,y=0;y0)for(var L=(m=ts(this,T))!==null&&m!==void 0?m:"";L.length;){if(y.hasOwnProperty(L)){for(var F=this,N=1;F&&N0;ae-=1){var Te=y.slice(ye,ye+ae),Ie=void 0;if(m.hasOwnProperty(Te)){for(var Oe=0,ze=pe;Oe2)throw'"'+T+'" has more than 1 mathspeak delimiter';if(L[0].length<2)throw'"'+T[0]+'" not minimum length of 2';p[L[0]]=L[1].replace(/-/g," "),m=i(m,L[0].length)}}return p._maxLength=m,p},Me.prototype.infixOperatorNames={},be.infixOperatorNames=function(w){if(typeof w!="string")throw'"'+w+'" not a space-delimited list';if(!/^[a-z]+(?: [a-z]+)*$/i.test(w))throw'"'+w+'" not a space-delimited list of letters';for(var f=w.split(" "),p={},m=0;m",htmlEntityStrict:">",textStrict:">",mathspeakStrict:"greater than"},AU=function(w){Ne(f,w);function f(){return w.call(this,q1,!0)||this}return f.prototype.createLeftOf=function(p){var m=p[r];if(m instanceof bi&&m.ctrlSeq==="-"){var y=m;p[r]=y[r],y.remove(),new K1().createLeftOf(p),p[r].bubble(function(T){T.reflow()});return}w.prototype.createLeftOf.call(this,p)},f}(If);D["<"]=D.lt=function(){return new If(U1,!0)},D[">"]=D.gt=AU,D["\u2264"]=D.le=D.leq=function(){return new If(U1,!1)},D["\u2265"]=D.ge=D.geq=function(){return new If(q1,!1)},D["\u221E"]=D.infty=D.infin=D.infinity=xt("\\infty ","∞","infinity"),D["\u2260"]=D.ne=D.neq=Dn("\\ne ","≠","not equal");var H1=function(w){Ne(f,w);function f(){return w.call(this,"=",c.text("="),"=","equals")||this}return f.prototype.createLeftOf=function(p){var m=p[r];if(m instanceof If&&m.strict){m.swap(!1),m.bubble(function(y){y.reflow()});return}w.prototype.createLeftOf.call(this,p)},f}(bi);D["="]=H1,D["\xD7"]=D.times=D.cross=Dn("\\times ","×","[x]","times"),D["\xF7"]=D.div=D.divide=D.divides=Dn("\\div ","÷","[/]","over");var W1=function(w){Ne(f,w);function f(){return w.call(this,"\\sim ",c.text("~"),"~","tilde")||this}return f.prototype.createLeftOf=function(p){if(p[r]instanceof f){var m=p[r];p[r]=m[r],m.remove(),new $1().createLeftOf(p),p[r].bubble(function(y){y.reflow()});return}w.prototype.createLeftOf.call(this,p)},f}(bi),$1=function(w){Ne(f,w);function f(){return w.call(this,"\\approx ",c.entityText("≈"),"\u2248","approximately equal")||this}return f.prototype.deleteTowards=function(p,m){if(p===r){var y=m[r];new v(y,this).remove(),m[r]=y[r],new W1().createLeftOf(m),m[r].bubble(function(T){T.reflow()});return}w.prototype.deleteTowards.call(this,p,m)},f}(bi);D.tildeNbsp=xt("~",u," "),D.sim=W1,D["\u2248"]=D.approx=$1,_["~"]=D.sim,D["~"]=D.tildeNbsp,be.interpretTildeAsSim=function(w){var f=!!w;return f?D["~"]=D.sim:D["~"]=D.tildeNbsp,f};var Mf={sqrt:{width:"",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 32 54"},[c("path",{d:"M0 33 L7 27 L12.5 47 L13 47 L30 0 L32 0 L13 54 L11 54 L4.5 31 L0 33"})])}},"|":{width:".4em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 10 54"},[c("path",{d:"M4.4 0 L4.4 54 L5.6 54 L5.6 0"})])}},"[":{width:".55em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 11 24"},[c("path",{d:"M8 0 L3 0 L3 24 L8 24 L8 23 L4 23 L4 1 L8 1"})])}},"]":{width:".55em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 11 24"},[c("path",{d:"M3 0 L8 0 L8 24 L3 24 L3 23 L7 23 L7 1 L3 1"})])}},"(":{width:".55em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"3 0 106 186"},[c("path",{d:"M85 0 A61 101 0 0 0 85 186 L75 186 A75 101 0 0 1 75 0"})])}},")":{width:".55em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"3 0 106 186"},[c("path",{d:"M24 0 A61 101 0 0 1 24 186 L34 186 A75 101 0 0 0 34 0"})])}},"{":{width:".7em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"10 0 210 350"},[c("path",{d:"M170 0 L170 6 A47 52 0 0 0 123 60 L123 127 A35 48 0 0 1 88 175 A35 48 0 0 1 123 223 L123 290 A47 52 0 0 0 170 344 L170 350 L160 350 A58 49 0 0 1 102 301 L103 220 A45 40 0 0 0 58 180 L58 170 A45 40 0 0 0 103 130 L103 49 A58 49 0 0 1 161 0"})])}},"}":{width:".7em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"10 0 210 350"},[c("path",{d:"M60 0 L60 6 A47 52 0 0 1 107 60 L107 127 A35 48 0 0 0 142 175 A35 48 0 0 0 107 223 L107 290 A47 52 0 0 1 60 344 L60 350 L70 350 A58 49 0 0 0 128 301 L127 220 A45 40 0 0 1 172 180 L172 170 A45 40 0 0 1 127 130 L127 49 A58 49 0 0 0 70 0"})])}},"∥":{width:".7em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 10 54"},[c("path",{d:"M3.2 0 L3.2 54 L4 54 L4 0 M6.8 0 L6.8 54 L6 54 L6 0"})])}},"⟨":{width:".55em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 10 54"},[c("path",{d:"M6.8 0 L3.2 27 L6.8 54 L7.8 54 L4.2 27 L7.8 0"})])}},"⟩":{width:".55em",html:function(){return c("svg",{preserveAspectRatio:"none",viewBox:"0 0 10 54"},[c("path",{d:"M3.2 0 L6.8 27 L3.2 54 L2.2 54 L5.8 27 L2.2 0"})])}}},zs=function(w){Ne(f,w);function f(p,m,y,T,L){var F=w.call(this,p,new si(1,function(N){return c.block(m,y,N[0])}))||this;return F.ariaLabel=T||p.replace(/^\\/,""),F.mathspeakTemplate=["Start"+F.ariaLabel+",","End"+F.ariaLabel],F.shouldNotSpeakDelimiters=L&&L.shouldNotSpeakDelimiters,F}return f.prototype.mathspeak=function(p){return!this.shouldNotSpeakDelimiters||p&&p.ignoreShorthand?w.prototype.mathspeak.call(this):this.foldChildren("",function(m,y){return m+" "+y.mathspeak(p)}).trim()},f}(Bi);D.mathrm=function(w){Ne(f,w);function f(){return w.call(this,"\\mathrm","span",{class:"dcg-mq-roman dcg-mq-font"},"Roman Font",{shouldNotSpeakDelimiters:!0})||this}return f.prototype.isTextBlock=function(){return!0},f}(zs),D.mathit=function(){return new zs("\\mathit","i",{class:"dcg-mq-font"},"Italic Font")},D.mathbf=function(){return new zs("\\mathbf","b",{class:"dcg-mq-font"},"Bold Font")},D.mathsf=function(){return new zs("\\mathsf","span",{class:"dcg-mq-sans-serif dcg-mq-font"},"Serif Font")},D.mathtt=function(){return new zs("\\mathtt","span",{class:"dcg-mq-monospace dcg-mq-font"},"Math Text")},D.underline=function(){return new zs("\\underline","span",{class:"dcg-mq-non-leaf dcg-mq-underline"},"Underline")},D.overline=D.bar=function(){return new zs("\\overline","span",{class:"dcg-mq-non-leaf dcg-mq-overline"},"Overline")},D.overrightarrow=function(){return new zs("\\overrightarrow","span",{class:"dcg-mq-non-leaf dcg-mq-overarrow dcg-mq-arrow-right"},"Over Right Arrow")},D.overleftarrow=function(){return new zs("\\overleftarrow","span",{class:"dcg-mq-non-leaf dcg-mq-overarrow dcg-mq-arrow-left"},"Over Left Arrow")},D.overleftrightarrow=function(){return new zs("\\overleftrightarrow ","span",{class:"dcg-mq-non-leaf dcg-mq-overarrow dcg-mq-arrow-leftright"},"Over Left and Right Arrow")},D.overarc=function(){return new zs("\\overarc","span",{class:"dcg-mq-non-leaf dcg-mq-overarc"},"Over Arc")},D.dot=function(){return new Bi("\\dot",new si(1,function(w){return c("span",{class:"dcg-mq-non-leaf"},[c("span",{class:"dcg-mq-dot-recurring-inner"},[c("span",{class:"dcg-mq-dot-recurring"},[c.text(g)]),c.block("span",{class:"dcg-mq-empty-box"},w[0])])])}))},D.textcolor=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.setColor=function(p){this.color=p,this.domView=new si(1,function(m){return c.block("span",{class:"dcg-mq-textcolor",style:"color:"+p},m[0])}),this.ariaLabel=p.replace(/^\\/,""),this.mathspeakTemplate=["Start "+this.ariaLabel+",","End "+this.ariaLabel]},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p);var m=this.blocks[0];p.latex+="\\textcolor{"+this.color+"}{",m.latexRecursive(p),p.latex+="}",this.checkCursorContextClose(p)},f.prototype.parser=function(){var p=this,m=tt.optWhitespace,y=tt.string,T=tt.regex;return m.then(y("{")).then(T(/^[#\w\s.,()%-]*/)).skip(y("}")).then(function(L){return p.setColor(L),w.prototype.parser.call(p)})},f.prototype.isStyleBlock=function(){return!0},f}(Bi);var aQ=D.class=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.parser=function(){var p=this,m=tt.string,y=tt.regex;return tt.optWhitespace.then(m("{")).then(y(/^[-\w\s\\\xA0-\xFF]*/)).skip(m("}")).then(function(T){return p.cls=T||"",p.domView=new si(1,function(L){return c.block("span",{class:"dcg-mq-class ".concat(T)},L[0])}),p.ariaLabel=T+" class",p.mathspeakTemplate=["Start "+p.ariaLabel+",","End "+p.ariaLabel],w.prototype.parser.call(p)})},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p);var m=this.blocks[0];p.latex+="\\class{"+this.cls+"}{",m.latexRecursive(p),p.latex+="}",this.checkCursorContextClose(p)},f.prototype.isStyleBlock=function(){return!0},f}(Bi),fw=/^[\+\-]?[\d]+$/;function fk(w){if(!w)return"";var f="";return w.eachChild(function(p){p.ctrlSeq!==void 0&&(f+=p.ctrlSeq)}),f}Me.prototype.charsThatBreakOutOfSupSub="";var Ks=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.ctrlSeq="_{...}^{...}",p}return f.prototype.setEnds=function(p){a("SupSub ends must be MathBlocks",p[r]instanceof Ar&&p[e]instanceof Ar),this.ends=p},f.prototype.getEnd=function(p){return this.ends[p]},f.prototype.createLeftOf=function(p){if(!(!this.replacedFragment&&!p[r]&&p.options.supSubsRequireOperand))return w.prototype.createLeftOf.call(this,p)},f.prototype.contactWeld=function(p){for(var m=r;m;m=m===r?e:!1){var y=this[m],T=void 0;if(y instanceof f){for(var L="sub";L;L=L==="sub"?"sup":!1){var F=this[L],N=y[L];if(F){if(!N)y.addBlock(F.disown());else if(F.isEmpty())T=new q(N,0,N.getEnd(r));else{F.domFrag().children().insAtDirEnd(-m,N.domFrag().oneElement());var Z=F.children().disown();T=new q(N,Z.getEnd(e),N.getEnd(r)),m===r?Z.adopt(N,N.getEnd(e),0):Z.adopt(N,0,N.getEnd(r))}this.placeCursor=function(ye,pe){return function(ae){ae.insAtDirEnd(-m,ye||pe)}}(N,F)}}this.remove(),p&&p[r]===this&&(m===e&&T?T[r]?p.insRightOf(T[r]):p.insAtLeftEnd(T.parent):p.insRightOf(y));break}}},f.prototype.finalizeTree=function(){var p=this.getEnd(r);p.write=function(m,y){if(m.options.autoSubscriptNumerals&&this===this.parent.sub&&"0123456789".indexOf(y)>=0){var T=this.chToCmd(y,m.options);T instanceof Xo?m.deleteSelection():m.clearSelection().insRightOf(this.parent),T.createLeftOf(m.show()),m.controller.aria.queue("Baseline").alert(T.mathspeak({createdLeftOf:m}));return}m[r]&&!m[e]&&!m.selection&&m.options.charsThatBreakOutOfSupSub.indexOf(y)>-1&&(m.insRightOf(this.parent),m.controller.aria.queue("Baseline")),Ar.prototype.write.call(this,m,y)}},f.prototype.moveTowards=function(p,m,y){m.options.autoSubscriptNumerals&&!this.sup?m.insDirOf(p,this):w.prototype.moveTowards.call(this,p,m,y)},f.prototype.deleteTowards=function(p,m){if(m.options.autoSubscriptNumerals&&this.sub){var y=this.sub.getEnd(-p);y instanceof Xo?y.remove():y&&y.deleteTowards(p,m.insAtDirEnd(-p,this.sub)),this.sub.isEmpty()&&(this.sub.deleteOutOf(r,m.insAtLeftEnd(this.sub)),this.sup&&m.insDirOf(-p,this))}else w.prototype.deleteTowards.call(this,p,m)},f.prototype.latexRecursive=function(p){if(this.checkCursorContextOpen(p),this.sub){p.latex+="_{";var m=p.latex.length;this.sub.latexRecursive(p);var y=p.latex.length;m===y&&(p.latex+=" "),p.latex+="}"}if(this.sup){p.latex+="^{";var m=p.latex.length;this.sup.latexRecursive(p);var y=p.latex.length;m===y&&(p.latex+=" "),p.latex+="}"}this.checkCursorContextClose(p)},f.prototype.text=function(){function p(m,y){var T=y&&y.text()||"";return y?m+(T.length===1?T:"("+(T||" ")+")"):""}return p("_",this.sub)+p("^",this.sup)},f.prototype.addBlock=function(p){this.supsub==="sub"?(this.sup=this.upInto=this.sub.upOutOf=p,p.adopt(this,this.sub,0).downOutOf=this.sub,p.setDOM(P(c("span",{class:"dcg-mq-sup"})).append(p.domFrag().children()).prependTo(this.domFrag().oneElement()).oneElement()),z.linkElementByBlockNode(p.domFrag().oneElement(),p)):(this.sub=this.downInto=this.sup.downOutOf=p,p.adopt(this,0,this.sup).upOutOf=this.sup,this.domFrag().removeClass("dcg-mq-sup-only"),p.setDOM(P(c("span",{class:"dcg-mq-sub"})).append(p.domFrag().children()).appendTo(this.domFrag().oneElement()).oneElement()),z.linkElementByBlockNode(p.domFrag().oneElement(),p),this.domFrag().append(P(c("span",{style:"display:inline-block;width:0"},[c.text(h)]))));for(var m=0;m<2;m+=1)(function(y,T,L,F){var N=y[T];N.deleteOutOf=function(Z,ye){if(ye.insDirOf(this[Z]?-Z:Z,this.parent),!this.isEmpty()){var pe=this.getEnd(Z);this.children().disown().withDirAdopt(Z,ye.parent,ye[Z],ye[-Z]).domFrag().insDirOf(-Z,ye.domFrag()),ye[-Z]=pe}y.supsub=L,delete y[T],delete y["".concat(F,"Into")];var ae=y[L];ae["".concat(F,"OutOf")]=bk,delete ae.deleteOutOf,T==="sub"&&y.domFrag().addClass("dcg-mq-sup-only").children().last().remove(),this.remove()}})(this,"sub sup".split(" ")[m],"sup sub".split(" ")[m],"down up".split(" ")[m])},f}(Bi);function bk(w){var f=this.parent,p=w;do{if(p[e])return w.insLeftOf(f);p=p.parent.parent}while(p!==f);w.insRightOf(f)}var Y1=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.supsub="sub",p.domView=new si(1,function(m){return c("span",{class:"dcg-mq-supsub dcg-mq-non-leaf"},[c.block("span",{class:"dcg-mq-sub"},m[0]),c("span",{style:"display:inline-block;width:0"},[c.text(h)])])}),p.textTemplate=["_"],p.mathspeakTemplate=["Subscript,",", Baseline"],p.ariaLabel="subscript",p}return f.prototype.finalizeTree=function(){this.downInto=this.sub=this.getEnd(r),this.sub.upOutOf=bk,w.prototype.finalizeTree.call(this)},f}(Ks);D.subscript=D._=Y1,D.superscript=D.supscript=D["^"]=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.supsub="sup",p.domView=new si(1,function(m){return c("span",{class:"dcg-mq-supsub dcg-mq-non-leaf dcg-mq-sup-only"},[c.block("span",{class:"dcg-mq-sup"},m[0])])}),p.textTemplate=["^(",")"],p.ariaLabel="superscript",p.mathspeakTemplate=["Superscript,",", Baseline"],p}return f.prototype.mathspeak=function(p){var m=this.upInto;if(m!==void 0){var y=fk(m);if((!p||!p.ignoreShorthand)&&fw.test(y)){if(y==="0")return"to the 0 power";if(y==="2")return"squared";if(y==="3")return"cubed";var T="";/^[+-]?\d{1,3}$/.test(y)&&(/(11|12|13|4|5|6|7|8|9|0)$/.test(y)?T="th":/1$/.test(y)?T="st":/2$/.test(y)?T="nd":/3$/.test(y)&&(T="rd"));var L=typeof m=="object"?m.mathspeak():y;return"to the "+L+T+" power"}}return w.prototype.mathspeak.call(this)},f.prototype.finalizeTree=function(){this.upInto=this.sup=this.getEnd(e),this.sup.downOutOf=bk,w.prototype.finalizeTree.call(this)},f}(Ks);var Np=function(w){Ne(f,w);function f(p,m,y){var T=w.call(this)||this;T.ariaLabel=y||p.replace(/^\\/,"");var L=new si(2,function(F){return c("span",{class:"dcg-mq-large-operator dcg-mq-non-leaf"},[c("span",{class:"dcg-mq-to"},[c.block("span",{},F[1])]),c("big",{},[c.text(m)]),c("span",{class:"dcg-mq-from"},[c.block("span",{},F[0])])])});return Xo.prototype.setCtrlSeqHtmlTextAndMathspeak.call(T,p,L),T}return f.prototype.createLeftOf=function(p){w.prototype.createLeftOf.call(this,p),p.options.sumStartsWithNEquals&&(new Jr("n").createLeftOf(p),new H1().createLeftOf(p))},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p),p.latex+=this.ctrlSeq+"_{";var m=p.latex.length;this.getEnd(r).latexRecursive(p);var y=p.latex.length;y===m&&(p.latex+=" "),p.latex+="}^{",m=p.latex.length,this.getEnd(e).latexRecursive(p),y=p.latex.length,m===y&&(p.latex+=" "),p.latex+="}",this.checkCursorContextClose(p)},f.prototype.mathspeak=function(){return"Start "+this.ariaLabel+" from "+this.getEnd(r).mathspeak()+" to "+this.getEnd(e).mathspeak()+", end "+this.ariaLabel+", "},f.prototype.parser=function(){for(var p=tt.string,m=tt.optWhitespace,y=tt.succeed,T=Ue.block,L=this,F=L.blocks=[new Ar,new Ar],N=0;N1?this.mathspeakTemplate=["StartNestedFraction,","NestedOver",", EndNestedFraction"]:this.mathspeakTemplate=["StartFraction,","Over",", EndFraction"]},f.prototype.mathspeak=function(p){if(p&&p.createdLeftOf){var m=p.createdLeftOf;return m.parent.mathspeak()}var y=fk(this.getEnd(r)),T=fk(this.getEnd(e));if((!p||!p.ignoreShorthand)&&fw.test(y)&&fw.test(T)){var L=y==="1"||y==="-1",F="";if(T==="2"?F=L?"half":"halves":T==="3"?F=L?"third":"thirds":T==="4"?F=L?"quarter":"quarters":T==="5"?F=L?"fifth":"fifths":T==="6"?F=L?"sixth":"sixths":T==="7"?F=L?"seventh":"sevenths":T==="8"?F=L?"eighth":"eighths":T==="9"&&(F=L?"ninth":"ninths"),F!==""){for(var N="",Z=!1,ye=this[r];ye&&ye[r]!==void 0;ye=ye[r])if(ye.ctrlSeq!=="\\ ")if(fw.test(ye.ctrlSeq||""))Z=!0;else{Z=!1;break}return Z&&(N+="and "),N+=this.getEnd(r).mathspeak()+" "+F,N}}return w.prototype.mathspeak.call(this)},f.prototype.getFracDepth=function(){var p=0,m=function(y,T){return y instanceof we&&y.ctrlSeq&&y.ctrlSeq.toLowerCase().search("frac")>=0&&(T+=1),y&&y.parent?m(y.parent,T):T};return m(this,p)},f}(Bi),GU=D.over=_["/"]=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.createLeftOf=function(p){if(!this.replacedFragment){var m=p[r],y=p.options.typingSlashCreatesNewFraction&&this instanceof j1;if(!y)for(;m&&!(m instanceof bi||m instanceof Jr&&m.endsWord&&p.options.infixOperatorNames[m.endsWord]||m instanceof(D.text||o)||m instanceof Np||m.ctrlSeq==="\\ "||/^[,;:]$/.test(m.ctrlSeq));)m=m[r];if(m instanceof Np&&m[e]instanceof Ks){m=m[e];var T=m[e];T instanceof Ks&&T.ctrlSeq!=m.ctrlSeq&&(m=m[e])}if(m!==p[r]&&!p.isTooDeep(1)){var T=m[e],L=p[r];this.replaces(new v(T||p.parent.getEnd(r),L)),p[r]=m}}w.prototype.createLeftOf.call(this,p)},f}(j1),J1=function(){return new Xo("\\operatorname{ans}",c("span",{class:"dcg-mq-ans"},[c.text("ans")]),"ans")};D.ans=J1;var X1=function(){return new Xo("\\%\\operatorname{of}",c("span",{class:"dcg-mq-nonSymbola dcg-mq-operator-name"},[c.text("% of ")]),"percent of")};D.percent=D.percentof=X1;var VU=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.tokenId="",p.ctrlSeq="\\token",p.textTemplate=["token(",")"],p.mathspeakTemplate=["StartToken,",", EndToken"],p.ariaLabel="token",p}return f.prototype.html=function(){var p=c("span",{class:"dcg-mq-token dcg-mq-ignore-mousedown","data-dcg-mq-token":this.tokenId});return this.setDOM(p),z.linkElementByCmdNode(p,this),p},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p),p.latex+="\\token{"+this.tokenId+"}",this.checkCursorContextClose(p)},f.prototype.mathspeak=function(){var p=[];return this.domFrag().children().eachElement(function(m){var y=m.getAttribute("aria-label");typeof y=="string"&&y!==""&&p.push(y)}),p.length>0?p.join(" ").trim():"token "+this.tokenId},f.prototype.parser=function(){var p=this;return Ue.block.map(function(m){var y=m.getEnd(r);if(y)for(p.tokenId+=y.ctrlSeq;y=y[e];)p.tokenId+=y.ctrlSeq;return p})},f}(Xo);D.token=VU;var Q1=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.ctrlSeq="\\sqrt",p.domView=new si(1,function(m){return c("span",{class:"dcg-mq-non-leaf dcg-mq-sqrt-container"},[c("span",{class:"dcg-mq-scaled dcg-mq-sqrt-prefix"},[Mf.sqrt.html()]),c.block("span",{class:"dcg-mq-non-leaf dcg-mq-sqrt-stem"},m[0])])}),p.textTemplate=["sqrt(",")"],p.mathspeakTemplate=["StartRoot,",", EndRoot"],p.ariaLabel="root",p}return f.prototype.parser=function(){return Ue.optBlock.then(function(p){return Ue.block.map(function(m){var y=new yk;return y.blocks=[p,m],p.adopt(y,0,0),m.adopt(y,p,0),y})}).or(w.prototype.parser.call(this))},f.prototype.deleteTowards=function(p,m){if(!this.isEmpty()&&p===1){this.moveTowards(e,m),m.parent.deleteOutOf(r,m);return}w.prototype.deleteTowards.call(this,p,m)},f}(Bi);D.sqrt=Q1,D.hat=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.ctrlSeq="\\hat",p.domView=new si(1,function(m){return c("span",{class:"dcg-mq-non-leaf"},[c("span",{class:"dcg-mq-hat-prefix"},[c.text("^")]),c.block("span",{class:"dcg-mq-hat-stem"},m[0])])}),p.textTemplate=["hat(",")"],p}return f}(Bi);var yk=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.domView=new si(2,function(m){return c("span",{class:"dcg-mq-nthroot-container dcg-mq-non-leaf"},[c.block("sup",{class:"dcg-mq-nthroot dcg-mq-non-leaf"},m[0]),c("span",{class:"dcg-mq-scaled dcg-mq-sqrt-container"},[c("span",{class:"dcg-mq-sqrt-prefix dcg-mq-scaled"},[Mf.sqrt.html()]),c.block("span",{class:"dcg-mq-sqrt-stem dcg-mq-non-leaf"},m[1])])])}),p.textTemplate=["sqrt[","](",")"],p}return f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p),p.latex+="\\sqrt[",this.getEnd(r).latexRecursive(p),p.latex+="]{",this.getEnd(e).latexRecursive(p),p.latex+="}",this.checkCursorContextClose(p)},f.prototype.mathspeak=function(){var p=this.getEnd(r).mathspeak(),m=this.getEnd(e).mathspeak();return this.getEnd(r).ariaLabel="Index",this.getEnd(e).ariaLabel="Radicand",p==="3"?"Start Cube Root, "+m+", End Cube Root":"Root Index "+p+", Start Root, "+m+", End Root"},f.prototype.deleteTowards=function(p,m){Bi.prototype.deleteTowards.call(this,p,m)},f}(Q1);D.nthroot=yk,D.cbrt=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.createLeftOf=function(p){w.prototype.createLeftOf.call(this,p),new Aa("3").createLeftOf(p),p.controller.moveRight()},f}(yk);var Z1=function(w){Ne(f,w);function f(p,m,y){var T=new si(1,function(L){return c("span",{class:"dcg-mq-non-leaf"},[c("span",{class:"dcg-mq-diacritic-above"},[m]),c.block("span",{class:"dcg-mq-diacritic-stem"},L[0])])});return w.call(this,p,T,y)||this}return f}(Bi);D.vec=function(){return new Z1("\\vec",c.entityText("→"),["vec(",")"])},D.tilde=function(){return new Z1("\\tilde",c.text("~"),["tilde(",")"])};var eG=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.setDOM=function(p){var m;w.prototype.setDOM.call(this,p);var y=this.domFrag().children();return y.isEmpty()||(this.delimFrags=(m={},m[r]=y.first(),m[e]=y.last(),m)),this},f}(Bi),Us=function(w){Ne(f,w);function f(p,m,y,T,L){var F,N=w.call(this,"\\left"+T,void 0,[m,y])||this;return N.side=p,N.sides=(F={},F[r]={ch:m,ctrlSeq:T},F[e]={ch:y,ctrlSeq:L},F),N}return f.prototype.numBlocks=function(){return 1},f.prototype.html=function(){var p=this,m=this.getSymbol(r),y=this.getSymbol(e);return this.domView=new si(1,function(T){return c("span",{class:"dcg-mq-non-leaf dcg-mq-bracket-container"},[c("span",{style:"width:"+m.width,class:"dcg-mq-scaled dcg-mq-bracket-l dcg-mq-paren"+(p.side===e?" dcg-mq-ghost":"")},[m.html()]),c.block("span",{style:"margin-left:"+m.width+";margin-right:"+y.width,class:"dcg-mq-bracket-middle dcg-mq-non-leaf"},T[0]),c("span",{style:"width:"+y.width,class:"dcg-mq-scaled dcg-mq-bracket-r dcg-mq-paren"+(p.side===r?" dcg-mq-ghost":"")},[y.html()])])}),w.prototype.html.call(this)},f.prototype.getSymbol=function(p){var m=this.sides[p||e].ch;return Mf[m]||{width:"0",html:""}},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p),p.latex+="\\left"+this.sides[r].ctrlSeq,this.getEnd(r).latexRecursive(p),p.latex+="\\right"+this.sides[e].ctrlSeq,this.checkCursorContextClose(p)},f.prototype.mathspeak=function(p){var m=this.sides[r].ch,y=this.sides[e].ch;if(m==="|"&&y==="|")this.mathspeakTemplate=["StartAbsoluteValue,",", EndAbsoluteValue"],this.ariaLabel="absolute value";else if(p&&p.createdLeftOf&&this.side){var T="";return this.side===r?T=this.textTemplate[0]:this.side===e&&(T=this.textTemplate[1]),(this.side===r?"left ":"right ")+Eh[T]}else this.mathspeakTemplate=["left "+Eh[m]+",",", right "+Eh[y]],this.ariaLabel=Eh[m]+" block";return w.prototype.mathspeak.call(this)},f.prototype.matchBrack=function(p,m,y){return y instanceof f&&y.side&&y.side!==-m&&(!p.restrictMismatchedBrackets||Af[this.sides[this.side].ch]===y.sides[y.side].ch||p.restrictMismatchedBrackets!=="none"&&{"(":"]","[":")"}[this.sides[r].ch]===y.sides[e].ch)&&y},f.prototype.closeOpposing=function(p){p.side=0,p.sides[this.side]=this.sides[this.side];var m=p.delimFrags[this.side===r?r:e].removeClass("dcg-mq-ghost");this.replaceBracket(m,this.side)},f.prototype.createLeftOf=function(p){var m;if(!this.replacedFragment){var y=p.options;this.sides[r].ch==="|"?m=this.matchBrack(y,e,p[e])||this.matchBrack(y,r,p[r])||this.matchBrack(y,0,p.parent.parent):m=this.matchBrack(y,-this.side,p[-this.side])||this.matchBrack(y,-this.side,p.parent.parent)}if(m){var T=this.side=-m.side;this.closeOpposing(m),m===p.parent.parent&&p[T]&&new v(p[T],p.parent.getEnd(T),-T).disown().withDirAdopt(-T,m.parent,m,m[T]).domFrag().insDirOf(T,m.domFrag()),m.bubble(function(L){L.reflow()})}else m=this,T=m.side,m.replacedFragment?m.side=0:p[-T]&&(m.replaces(new v(p[-T],p.parent.getEnd(-T),T)),p[-T]=0),w.prototype.createLeftOf.call(this,p);T===r?p.insAtLeftEnd(m.getEnd(r)):p.insRightOf(m)},f.prototype.placeCursor=function(){},f.prototype.unwrap=function(){this.getEnd(r).children().disown().adopt(this.parent,this,this[e]).domFrag().insertAfter(this.domFrag()),this.remove()},f.prototype.deleteSide=function(p,m,y){var T=this.parent,L=this[p],F=T.getEnd(p);if(p===this.side){this.unwrap(),L?y.insDirOf(-p,L):y.insAtDirEnd(p,T);return}var N=y.options,Z=!this.side;if(this.side=-p,this.matchBrack(N,p,this.getEnd(r).getEnd(this.side))){this.closeOpposing(this.getEnd(r).getEnd(this.side));var ye=this.getEnd(r).getEnd(p);this.unwrap(),ye&&ye.siblingCreated(y.options,p),L?y.insDirOf(-p,L):y.insAtDirEnd(p,T)}else{if(this.matchBrack(N,p,this.parent.parent))this.parent.parent.closeOpposing(this),this.parent.parent.unwrap();else if(m&&Z){this.unwrap(),L?y.insDirOf(-p,L):y.insAtDirEnd(p,T);return}else{this.sides[p]=PU(this),this.delimFrags[r].removeClass("dcg-mq-ghost"),this.delimFrags[e].removeClass("dcg-mq-ghost");var pe=this.delimFrags[p].addClass("dcg-mq-ghost");this.replaceBracket(pe,p)}if(L){var ae=this.getEnd(r),ye=ae.getEnd(p);ae.domFrag().removeClass("dcg-mq-empty"),new v(L,F,-p).disown().withDirAdopt(-p,ae,ye,0).domFrag().insAtDirEnd(p,ae.domFrag().oneElement()),ye&&ye.siblingCreated(y.options,p),y.insDirOf(-p,L)}else m?y.insDirOf(p,this):y.insAtDirEnd(p,this.getEnd(r))}},f.prototype.replaceBracket=function(p,m){var y=this.getSymbol(m);if(p.children().replaceWith(P(y.html())),p.oneElement().style.width=y.width,m===r){var T=p.next();T.isEmpty()||(T.oneElement().style.marginLeft=y.width)}else{var L=p.prev();L.isEmpty()||(L.oneElement().style.marginRight=y.width)}},f.prototype.deleteTowards=function(p,m){this.deleteSide(-p,!1,m)},f.prototype.finalizeTree=function(){this.getEnd(r).deleteOutOf=function(p,m){this.parent.deleteSide(p,!0,m)},this.finalizeTree=this.intentionalBlur=function(){this.delimFrags[this.side===r?e:r].removeClass("dcg-mq-ghost"),this.side=0}},f.prototype.siblingCreated=function(p,m){m===-this.side&&this.finalizeTree()},f}(eG);function PU(w){var f=w.side,p=w.sides[f];return{ch:Af[p.ch],ctrlSeq:Af[p.ctrlSeq]}}var Af={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{","\\{":"\\}","\\}":"\\{","⟨":"⟩","⟩":"⟨","\\langle ":"\\rangle ","\\rangle ":"\\langle ","|":"|","\\lVert ":"\\rVert ","\\rVert ":"\\lVert "},Eh={"⟨":"angle-bracket","⟩":"angle-bracket","|":"pipe"};function xk(w,m,p){var m=m||w,y=Af[w],T=Af[m];_[w]=function(){return new Us(r,w,y,m,T)},_[y]=function(){return new Us(e,w,y,m,T)},Eh[w]=Eh[y]=p}xk("(","","parenthesis"),xk("[","","bracket"),xk("{","\\{","brace"),D.langle=function(){return new Us(r,"⟨","⟩","\\langle ","\\rangle ")},D.rangle=function(){return new Us(e,"⟨","⟩","\\langle ","\\rangle ")},_["|"]=function(){return new Us(r,"|","|","|","|")},D.lVert=function(){return new Us(r,"∥","∥","\\lVert ","\\rVert ")},D.rVert=function(){return new Us(e,"∥","∥","\\lVert ","\\rVert ")},D.left=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.parser=function(){var p=tt.regex,m=tt.string,y=tt.optWhitespace;return y.then(p(/^(?:[([|]|\\\{|\\langle(?![a-zA-Z])|\\lVert(?![a-zA-Z]))/)).then(function(T){var L=T.replace(/^\\/,"");return T=="\\langle"&&(L="⟨",T=T+" "),T=="\\lVert"&&(L="∥",T=T+" "),Ue.then(function(F){return m("\\right").skip(y).then(p(/^(?:[\])|]|\\\}|\\rangle(?![a-zA-Z])|\\rVert(?![a-zA-Z]))/)).map(function(N){var Z=N.replace(/^\\/,"");N=="\\rangle"&&(Z="⟩",N=N+" "),N=="\\rVert"&&(Z="∥",N=N+" ");var ye=new Us(0,L,Z,T,N);return ye.blocks=[F],F.adopt(ye,0,0),ye})})})},f}(Bi),D.right=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.parser=function(){return tt.fail("unmatched \\right")},f}(Bi);var wk=Mf["("],vk=Mf[")"],tG=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.ctrlSeq="\\binom",p.domView=new si(2,function(m){return c("span",{class:"dcg-mq-non-leaf dcg-mq-bracket-container"},[c("span",{style:"width:"+wk.width,class:"dcg-mq-paren dcg-mq-bracket-l dcg-mq-scaled"},[wk.html()]),c("span",{style:"margin-left:"+wk.width+"; margin-right:"+vk.width,class:"dcg-mq-non-leaf dcg-mq-bracket-middle"},[c("span",{class:"dcg-mq-array dcg-mq-non-leaf"},[c.block("span",{},m[0]),c.block("span",{},m[1])])]),c("span",{style:"width:"+vk.width,class:"dcg-mq-paren dcg-mq-bracket-r dcg-mq-scaled"},[vk.html()])])}),p.textTemplate=["choose(",",",")"],p.mathspeakTemplate=["StartBinomial,","Choose",", EndBinomial"],p.ariaLabel="binomial",p}return f.prototype.finalizeTree=function(){var p=this.getEnd(r),m=this.getEnd(e);this.upInto=m.upOutOf=p,this.downInto=p.downOutOf=m,p.ariaLabel="upper index",m.ariaLabel="lower index"},f}(eG);D.binom=D.binomial=tG,D.choose=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.createLeftOf=function(p){GU.prototype.createLeftOf.call(this,p)},f}(tG);var LU=function(w){Ne(f,w);function f(){var p=w!==null&&w.apply(this,arguments)||this;return p.ctrlSeq="\\MathQuillMathField",p.domView=new si(1,function(m){return c("span",{class:"dcg-mq-editable-field"},[c.block("span",{class:"dcg-mq-root-block","aria-hidden":"true"},m[0])])}),p}return f.prototype.parser=function(){var p=this,m=tt.string,y=tt.regex,T=tt.succeed;return m("[").then(y(/^[a-z][a-z0-9]*/i)).skip(m("]")).map(function(L){p.name=L}).or(T(void 0)).then(w.prototype.parser.call(this))},f.prototype.finalizeTree=function(p){var m=new Un(this.getEnd(r),this.domFrag().oneElement(),p);m.KIND_OF_MQ="MathField",m.editable=!0,m.createTextarea(),m.editablesTextareaEvents(),m.cursor.insAtRightEnd(m.root),Zi(m.root);function y(T){if(T.parentNode&&!P(T).hasClass("dcg-mq-root-block")&&y(T.parentNode),T.nodeType===Node.ELEMENT_NODE){var L=T;L.getAttribute("aria-hidden")==="true"&&(L.removeAttribute("aria-hidden"),P(T).children().eachElement(function(F){F.setAttribute("aria-hidden","true")}))}}y(this.domFrag().parent().oneElement()),this.domFrag().oneElement().removeAttribute("aria-hidden")},f.prototype.registerInnerField=function(p,m){var y=this.getEnd(r).controller,T=new m(y);p[this.name]=T,p.push(T)},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p),this.getEnd(r).latexRecursive(p),this.checkCursorContextClose(p)},f.prototype.text=function(){return this.getEnd(r).text()},f}(Bi);D.editable=D.MathQuillMathField=LU;var rG=function(w){Ne(f,w);function f(){return w!==null&&w.apply(this,arguments)||this}return f.prototype.setOptions=function(p){function m(){return""}return this.text=p.text||m,this.domView=new si(0,function(){return c("span",{},[l(p.htmlString||"")])}),this.latex=p.latex||m,this},f.prototype.latexRecursive=function(p){this.checkCursorContextOpen(p),p.latex+=this.latex(),this.checkCursorContextClose(p)},f.prototype.parser=function(){var p=this,m=tt.string,y=tt.regex,T=tt.succeed;return m("{").then(y(/^[a-z][a-z0-9]*/i)).skip(m("}")).then(function(L){return m("[").then(y(/^[-\w\s]*/)).skip(m("]")).or(T(void 0)).map(function(F){return p.setOptions(X[L](F))})})},f}(Xo);if(D.embed=rG,window.jQuery){_t=xe(1);for(var iG in _t)(function(w,f){typeof f=="function"?(je[w]=function(){return Xe(),f.apply(this,arguments)},je[w].prototype=f.prototype):je[w]=f})(iG,_t[iG])}})()});var Ao,Pc=__dcg_shared_module_exports__['b'](()=>{Ao=()=>(typeof location!="undefined"?location.search.slice(1):"").split("&").reduce((e,t)=>{let[i,o]=t.split("=");return e[i]=o?decodeURIComponent(o):!0,e},{})});function ev(r){return r==null?r+"":typeof r=="object"||typeof r=="function"?Zw[hP.call(r)]||"object":typeof r}function Fk(r){var e=!!r&&"length"in r&&r.length,t=ev(r);return Rc(r)||Uh(r)?!1:t==="array"||e===0||typeof e=="number"&&e>0&&e-1 in r}function Nh(r,e){return r.nodeName&&r.nodeName.toLowerCase()===e.toLowerCase()}function HU(r,e){return e.toUpperCase()}function Oc(r){return r.replace(UU,"ms-").replace(qU,HU)}function $f(){this.expando=Y.expando+$f.uid++}function YU(r){return r==="true"?!0:r==="false"?!1:r==="null"?null:r===+r+""?+r:WU.test(r)?JSON.parse(r):r}function rP(r,e,t){var i;if(t===void 0&&r.nodeType===1)if(i="data-"+e.replace($U,"-$&").toLowerCase(),t=r.getAttribute(i),typeof t=="string"){try{t=YU(t)}catch(o){}_c.set(r,e,t)}else t=void 0;return t}function JU(r,e,t,i){var o,n,a=20,s=i?function(){return i.cur()}:function(){return Y.css(r,e,"")},l=s(),c=t&&t[3]||(Y.cssNumber[e]?"":"px"),d=r.nodeType&&(Y.cssNumber[e]||c!=="px"&&+l)&&tv.exec(Y.css(r,e));if(d&&d[3]!==c){for(l=l/2,c=c||d[3],d=+l||1;a--;)Y.style(r,e,d+c),(1-n)*(1-(n=s()/l||.5))<=0&&(a=0),d=d/n;d=d*2,Y.style(r,e,d+c),t=t||[]}return t&&(d=+d||+l||0,o=t[1]?d+(t[1]+1)*t[2]:+t[2],i&&(i.unit=c,i.start=d,i.end=o)),o}function zh(){return!0}function Kh(){return!1}function XU(r,e){return r===QU()==(e==="focus")}function QU(){try{return Go.activeElement}catch(r){}}function Bk(r,e,t,i,o,n){var a,s;if(typeof e=="object"){typeof t!="string"&&(i=i||t,t=void 0);for(s in e)Bk(r,s,t,i,e[s],n);return r}if(i==null&&o==null?(o=t,i=t=void 0):o==null&&(typeof t=="string"?(o=i,i=void 0):(o=i,i=t,t=void 0)),o===!1)o=Kh;else if(!o)return r;return n===1&&(a=o,o=function(l){return Y().off(l),a.apply(this,arguments)},o.guid=a.guid||(a.guid=Y.guid++)),r.each(function(){Y.event.add(this,e,o,i,t)})}function Qw(r,e,t){if(!t){wi.get(r,e)===void 0&&Y.event.add(r,e,zh);return}wi.set(r,e,!1),Y.event.add(r,e,{namespace:!1,handler:function(i){var o,n,a=wi.get(this,e);if(i.isTrigger&1&&this[e]){if(a.length)(Y.event.special[e]||{}).delegateType&&i.stopPropagation();else if(a=jw.call(arguments),wi.set(this,e,a),o=t(this,e),this[e](),n=wi.get(this,e),a!==n||o?wi.set(this,e,!1):n={},a!==n)return i.stopImmediatePropagation(),i.preventDefault(),n&&n.value}else a.length&&(wi.set(this,e,{value:Y.event.trigger(Y.extend(a[0],Y.Event.prototype),a.slice(1),this)}),i.stopImmediatePropagation())}})}function Hf(r,e,t){var i,o,n,a,s=r.style;return t=t||rv(r),t&&(a=t.getPropertyValue(e)||t[e],a===""&&!yP(r)&&(a=Y.style(r,e)),!Vo.pixelBoxStyles()&&Uk.test(a)&&ZU.test(e)&&(i=s.width,o=s.minWidth,n=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=t.width,s.width=i,s.minWidth=o,s.maxWidth=n)),a!==void 0?a+"":a}function wP(r,e){return{get:function(){if(r()){delete this.get;return}return(this.get=e).apply(this,arguments)}}}function e4(r){for(var e=r[0].toUpperCase()+r.slice(1),t=oP.length;t--;)if(r=oP[t]+e,r in vP)return r}function aP(r){var e=Y.cssProps[r]||nP[r];return e||(r in vP?r:nP[r]=e4(r)||r)}function CP(r,e,t){var i=tv.exec(e);return i?Math.max(0,i[2]-(t||0))+(i[3]||"px"):e}function zk(r,e,t,i,o,n){var a=e==="width"?1:0,s=0,l=0;if(t===(i?"border":"content"))return 0;for(;a<4;a+=2)t==="margin"&&(l+=Y.css(r,t+Vd[a],!0,o)),i?(t==="content"&&(l-=Y.css(r,"padding"+Vd[a],!0,o)),t!=="margin"&&(l-=Y.css(r,"border"+Vd[a]+"Width",!0,o))):(l+=Y.css(r,"padding"+Vd[a],!0,o),t!=="padding"?l+=Y.css(r,"border"+Vd[a]+"Width",!0,o):s+=Y.css(r,"border"+Vd[a]+"Width",!0,o));return!i&&n>=0&&(l+=Math.max(0,Math.ceil(r["offset"+e[0].toUpperCase()+e.slice(1)]-n-l-s-.5))||0),l}function cP(r,e,t){var i=rv(r),o=!Vo.boxSizingReliable()||t,n=o&&Y.css(r,"boxSizing",!1,i)==="border-box",a=n,s=Hf(r,e,i),l="offset"+e[0].toUpperCase()+e.slice(1);if(Uk.test(s)){if(!t)return s;s="auto"}return(!Vo.boxSizingReliable()&&n||!Vo.reliableTrDimensions()&&Nh(r,"tr")||s==="auto"||!parseFloat(s)&&Y.css(r,"display",!1,i)==="inline")&&r.getClientRects().length&&(n=Y.css(r,"boxSizing",!1,i)==="border-box",a=l in r,a&&(s=r[l])),s=parseFloat(s)||0,s+zk(r,e,t||(n?"border":"content"),a,i,s)+"px"}function Kk(r,e,t,i){var o;if(Array.isArray(e))Y.each(e,function(n,a){t||i4.test(r)?i(r,a):Kk(r+"["+(typeof a=="object"&&a!=null?n:"")+"]",a,t,i)});else if(!t&&ev(e)==="object")for(o in e)Kk(r+"["+o+"]",e[o],t,i);else i(r,e)}var Fc,FU,jw,RU,uP,NU,Zw,hP,Jw,gP,BU,Vo,Rc,Uh,Go,mP,Y,zU,fP,KU,Nk,Wf,UU,qU,Xw,wi,_c,WU,$U,bP,tv,Vd,Bh,yP,jU,Rk,iP,Uk,rv,xP,ZU,oP,vP,nP,t4,sP,r4,lP,dP,pP,i4,o4,n4,a4,W,kt=__dcg_shared_module_exports__['b'](()=>{"use strict";Fc=[],FU=Object.getPrototypeOf,jw=Fc.slice,RU=Fc.flat?function(r){return Fc.flat.call(r)}:function(r){return Fc.concat.apply([],r)},uP=Fc.push,NU=Fc.indexOf,Zw={},hP=Zw.toString,Jw=Zw.hasOwnProperty,gP=Jw.toString,BU=gP.call(Object),Vo={},Rc=function(e){return typeof e=="function"&&typeof e.nodeType!="number"&&typeof e.item!="function"},Uh=function(e){return e!=null&&e===e.window},Go=window.document;mP="3.6.0",Y=function(r,e){return new Y.fn.init(r,e)};Y.fn=Y.prototype={jquery:mP,constructor:Y,length:0,toArray:function(){return jw.call(this)},get:function(r){return r==null?jw.call(this):r<0?this[r+this.length]:this[r]},pushStack:function(r){var e=Y.merge(this.constructor(),r);return e.prevObject=this,e},each:function(r){return Y.each(this,r)},map:function(r){return this.pushStack(Y.map(this,function(e,t){return r.call(e,t,e)}))},slice:function(){return this.pushStack(jw.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(Y.grep(this,function(r,e){return(e+1)%2}))},odd:function(){return this.pushStack(Y.grep(this,function(r,e){return e%2}))},eq:function(r){var e=this.length,t=+r+(r<0?e:0);return this.pushStack(t>=0&&t1,null,!0)},removeData:function(r){return this.each(function(){_c.remove(this,r)})}});bP=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,tv=new RegExp("^(?:([+-])=|)("+bP+")([a-z%]*)$","i"),Vd=["Top","Right","Bottom","Left"],Bh=Go.documentElement,yP=function(r){return Y.contains(r.ownerDocument,r)},jU={composed:!0};Bh.getRootNode&&(yP=function(r){return Y.contains(r.ownerDocument,r)||r.getRootNode(jU)===r.ownerDocument});Rk=/^(?:checkbox|radio)$/i;(function(){var r=Go.createDocumentFragment(),e=r.appendChild(Go.createElement("div")),t=Go.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),Vo.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",Vo.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,e.innerHTML="",Vo.option=!!e.lastChild})();iP=/^([^.]*)(?:\.(.+)|)/;Y.event={global:{},add:function(r,e,t,i,o){var n,a,s,l,c,d,u,h,g,b,C,S=wi.get(r);if(Xw(r)){if(t.handler&&(n=t,t=n.handler,o=n.selector),o)throw new Error("Support for event delegation has been removed");for(t.guid||(t.guid=Y.guid++),(l=S.events)||(l=S.events=Object.create(null)),(a=S.handle)||(a=S.handle=function(k){return typeof Y!="undefined"&&Y.event.triggered!==k.type?Y.event.dispatch.apply(r,arguments):void 0}),e=(e||"").match(Nk)||[""],c=e.length;c--;)if(s=iP.exec(e[c])||[],g=C=s[1],b=(s[2]||"").split(".").sort(),!!g){if(u=Y.event.special[g]||{},g=(o?u.delegateType:u.bindType)||g,u=Y.event.special[g]||{},d=Y.extend({type:g,origType:C,data:i,handler:t,guid:t.guid,selector:o,namespace:b.join(".")},n),(h=l[g])||(h=l[g]=[],h.delegateCount=0,(!u.setup||u.setup.call(r,i,b,a)===!1)&&r.addEventListener&&r.addEventListener(g,a)),u.add&&(u.add.call(r,d),d.handler.guid||(d.handler.guid=t.guid)),o)throw new Error("Support for event delegation has been removed");h.push(d),Y.event.global[g]=!0}}},remove:function(r,e,t,i,o){var n,a,s,l,c,d,u,h,g,b,C,S=wi.hasData(r)&&wi.get(r);if(!(!S||!(l=S.events))){for(e=(e||"").match(Nk)||[""],c=e.length;c--;){if(s=iP.exec(e[c])||[],g=C=s[1],b=(s[2]||"").split(".").sort(),!g){for(g in l)Y.event.remove(r,g+e[c],t,i,!0);continue}for(u=Y.event.special[g]||{},g=(i?u.delegateType:u.bindType)||g,h=l[g]||[],s=s[2]&&new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=n=h.length;n--;)d=h[n],(o||C===d.origType)&&(!t||t.guid===d.guid)&&(!s||s.test(d.namespace))&&(!i||i===d.selector||i==="**"&&d.selector)&&(h.splice(n,1),d.selector&&h.delegateCount--,u.remove&&u.remove.call(r,d));a&&!h.length&&((!u.teardown||u.teardown.call(r,b,S.handle)===!1)&&Y.removeEvent(r,g,S.handle),delete l[g])}Y.isEmptyObject(l)&&wi.remove(r,"handle events")}},dispatch:function(r){var e,t,i,o,n,a,s=new Array(arguments.length),l=Y.event.fix(r),c=(wi.get(this,"events")||Object.create(null))[l.type]||[],d=Y.event.special[l.type]||{};for(s[0]=l,e=1;e1)}});(function(){var r=Go.createElement("input"),e=Go.createElement("select"),t=e.appendChild(Go.createElement("option"));r.type="checkbox",Vo.checkOn=r.value!=="",Vo.optSelected=t.selected,r=Go.createElement("input"),r.value="t",r.type="radio",Vo.radioValue=r.value==="t"})();Vo.focusin="onfocusin"in window;dP=/^(?:focusinfocus|focusoutblur)$/,pP=function(r){r.stopPropagation()};Y.extend(Y.event,{trigger:function(r,e,t,i){var o,n,a,s,l,c,d,u,h=[t||Go],g=Jw.call(r,"type")?r.type:r,b=Jw.call(r,"namespace")?r.namespace.split("."):[];if(n=u=a=t=t||Go,!(t.nodeType===3||t.nodeType===8)&&!dP.test(g+Y.event.triggered)&&(g.indexOf(".")>-1&&(b=g.split("."),g=b.shift(),b.sort()),l=g.indexOf(":")<0&&"on"+g,r=r[Y.expando]?r:new Y.Event(g,typeof r=="object"&&r),r.isTrigger=i?2:3,r.namespace=b.join("."),r.rnamespace=r.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,r.result=void 0,r.target||(r.target=t),e=e==null?[r]:Y.makeArray(e,[r]),d=Y.event.special[g]||{},!(!i&&d.trigger&&d.trigger.apply(t,e)===!1))){if(!i&&!d.noBubble&&!Uh(t)){for(s=d.delegateType||g,dP.test(s+g)||(n=n.parentNode);n;n=n.parentNode)h.push(n),a=n;a===(t.ownerDocument||Go)&&h.push(a.defaultView||a.parentWindow||window)}for(o=0;(n=h[o++])&&!r.isPropagationStopped();)u=n,r.type=o>1?s:d.bindType||g,c=(wi.get(n,"events")||Object.create(null))[r.type]&&wi.get(n,"handle"),c&&c.apply(n,e),c=l&&n[l],c&&c.apply&&Xw(n)&&(r.result=c.apply(n,e),r.result===!1&&r.preventDefault());return r.type=g,!i&&!r.isDefaultPrevented()&&(!d._default||d._default.apply(h.pop(),e)===!1)&&Xw(t)&&l&&Rc(t[g])&&!Uh(t)&&(a=t[l],a&&(t[l]=null),Y.event.triggered=g,r.isPropagationStopped()&&u.addEventListener(g,pP),t[g](),r.isPropagationStopped()&&u.removeEventListener(g,pP),Y.event.triggered=void 0,a&&(t[l]=a)),r.result}},simulate:function(r,e,t){var i=Y.extend(new Y.Event,t,{type:r,isSimulated:!0});Y.event.trigger(i,null,e)}});Y.fn.extend({trigger:function(r,e){return this.each(function(){Y.event.trigger(r,e,this)})},triggerHandler:function(r,e){var t=this[0];if(t)return Y.event.trigger(r,e,t,!0)}});Vo.focusin||Y.each({focus:"focusin",blur:"focusout"},function(r,e){var t=function(i){Y.event.simulate(e,i.target,Y.event.fix(i))};Y.event.special[e]={setup:function(){var i=this.ownerDocument||this.document||this,o=wi.access(i,e);o||i.addEventListener(r,t,!0),wi.access(i,e,(o||0)+1)},teardown:function(){var i=this.ownerDocument||this.document||this,o=wi.access(i,e)-1;o?wi.access(i,e,o):(i.removeEventListener(r,t,!0),wi.remove(i,e))}}});i4=/\[\]$/;Y.param=function(r,e){var t,i=[],o=function(n,a){var s=Rc(a)?a():a;i[i.length]=encodeURIComponent(n)+"="+encodeURIComponent(s==null?"":s)};if(r==null)return"";if(Array.isArray(r)||r.jquery&&!Y.isPlainObject(r))Y.each(r,function(){o(this.name,this.value)});else for(t in r)Kk(t,r[t],e,o);return i.join("&")};Y.offset={setOffset:function(r,e,t){var i,o,n,a,s,l,c,d=Y.css(r,"position"),u=Y(r),h={};d==="static"&&(r.style.position="relative"),s=u.offset(),n=Y.css(r,"top"),l=Y.css(r,"left"),c=(d==="absolute"||d==="fixed")&&(n+l).indexOf("auto")>-1,c?(i=u.position(),a=i.top,o=i.left):(a=parseFloat(n)||0,o=parseFloat(l)||0),Rc(e)&&(e=e.call(r,t,Y.extend({},s))),e.top!=null&&(h.top=e.top-s.top+a),e.left!=null&&(h.left=e.left-s.left+o),"using"in e?e.using.call(r,h):u.css(h)}};Y.fn.extend({offset:function(r){if(arguments.length)return r===void 0?this:this.each(function(o){Y.offset.setOffset(this,r,o)});var e,t,i=this[0];if(i)return i.getClientRects().length?(e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView,{top:e.top+t.pageYOffset,left:e.left+t.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var r,e,t,i=this[0],o={top:0,left:0};if(Y.css(i,"position")==="fixed")e=i.getBoundingClientRect();else{for(e=this.offset(),t=i.ownerDocument,r=i.offsetParent||t.documentElement;r&&(r===t.body||r===t.documentElement)&&Y.css(r,"position")==="static";)r=r.parentNode;r&&r!==i&&r.nodeType===1&&(o=Y(r).offset(),o.top+=Y.css(r,"borderTopWidth",!0),o.left+=Y.css(r,"borderLeftWidth",!0))}return{top:e.top-o.top-Y.css(i,"marginTop",!0),left:e.left-o.left-Y.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var r=this.offsetParent;r&&Y.css(r,"position")==="static";)r=r.offsetParent;return r||Bh})}});Y.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(r,e){var t=e==="pageYOffset";Y.fn[r]=function(i){return Wf(this,function(o,n,a){var s;if(Uh(o)?s=o:o.nodeType===9&&(s=o.defaultView),a===void 0)return s?s[e]:o[n];s?s.scrollTo(t?s.pageXOffset:a,t?a:s.pageYOffset):o[n]=a},r,i,arguments.length)}});Y.each(["top","left"],function(r,e){Y.cssHooks[e]=wP(Vo.pixelPosition,function(t,i){if(i)return i=Hf(t,e),Uk.test(i)?Y(t).position()[e]+"px":i})});Y.each({Height:"height",Width:"width"},function(r,e){Y.each({padding:"inner"+r,content:e,"":"outer"+r},function(t,i){Y.fn[i]=function(o,n){var a=arguments.length&&(t||typeof o!="boolean"),s=t||(o===!0||n===!0?"margin":"border");return Wf(this,function(l,c,d){var u;return Uh(l)?i.indexOf("outer")===0?l["inner"+r]:l.document.documentElement["client"+r]:l.nodeType===9?(u=l.documentElement,Math.max(l.body["scroll"+r],u["scroll"+r],l.body["offset"+r],u["offset"+r],u["client"+r])):d===void 0?Y.css(l,c,s):Y.style(l,c,d,s)},e,a?o:void 0,a)}})});Y.fn.extend({bind:function(r,e,t){return this.on(r,null,e,t)},unbind:function(r,e){return this.off(r,null,e)},delegate:function(r,e,t,i){return this.on(e,r,t,i)},undelegate:function(r,e,t){return arguments.length===1?this.off(r,"**"):this.off(e,r||"**",t)},hover:function(r,e){return this.mouseenter(r).mouseleave(e||r)}});Y.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(r,e){Y.fn[e]=function(t,i){return arguments.length>0?this.on(e,null,t,i):this.trigger(e)}});o4=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;Y.isArray=Array.isArray;Y.parseJSON=JSON.parse;Y.nodeName=Nh;Y.isFunction=Rc;Y.isWindow=Uh;Y.camelCase=Oc;Y.type=ev;Y.now=Date.now;Y.isNumeric=function(r){var e=Y.type(r);return(e==="number"||e==="string")&&!isNaN(r-parseFloat(r))};Y.trim=function(r){return r==null?"":(r+"").replace(o4,"")};n4=window.jQuery,a4=window.$;Y.noConflict=function(r){return window.$===Y&&(window.$=a4),r&&window.jQuery===Y&&(window.jQuery=n4),Y};typeof noGlobal=="undefined"&&(window.jQuery=window.$=Y);W=Y});function Mi(r,e){wg==null||wg.notify(r,e)}function bb(r,e,t){wg==null||wg.leaveBreadcrumb(r,e,t)}var wg,Fa=__dcg_shared_module_exports__['b'](()=>{});function DF(r,e){if(e!=null){if(typeof r!="string")throw new Error("Must pass a string for an EventHandler name");if(typeof e!="function")throw new Error("Must pass a function for an EventHandler callback");return{bindings:{onMount:t=>{t[r.toLowerCase()]=(i,...o)=>{i&&e.apply(t,[i,...o])}}}}}}var kF=__dcg_shared_module_exports__['b'](()=>{});function nS(r){let e=()=>r;return e.isDCGViewConst=!0,e}function tn(r){return typeof r=="function"&&r.isDCGViewConst}var js=__dcg_shared_module_exports__['b'](()=>{});function aS(r,e,t){return t===void 0?r.removeAttribute(e):r.setAttribute(e,`${t}`)}var kI=__dcg_shared_module_exports__['b'](()=>{});function TF(r,e){let t=e(),i;return tn(e)||(i={onUpdate:o=>{let n=e();n!==t&&(t=n,aS(o,r,n))}}),{value:t,bindings:i}}var IF=__dcg_shared_module_exports__['b'](()=>{js();kI()});function MF(r){return r.startsWith("on")&&r[2]===r[2].toUpperCase()}var AF=__dcg_shared_module_exports__['b'](()=>{});function GF(r,e){TI[r]=e}function VF(r){return TI.hasOwnProperty(r)}function PF(r,e){let t=TI[r];return t(e)}var TI,II=__dcg_shared_module_exports__['b'](()=>{TI={}});function sS(r,e,t){let i=r._bindings[e];r._bindings[e]=i?[...i,t]:[t]}function Js(r,e){var i;((i=r._bindings[e])!=null?i:[]).forEach(o=>o())}var Ob=__dcg_shared_module_exports__['b'](()=>{});function LF(r){_b.push(r)}function OF(r){let e=_b.filter(t=>t!==r);_b.length=0,_b.push(...e)}function jd(r,e){try{if(e&&e._isDCGView){r+=` [${e._viewName}]`;let t=e.traceViewHierarchy();t.ancestors.length>0&&(r+=` View Hierarchy: ${t.formatted}`)}throw new Error(r)}catch(t){console.warn(t),_b.forEach(i=>i(t))}}var _b,Fb=__dcg_shared_module_exports__['b'](()=>{_b=[]});function J6(r,e,t){let i=!1;return(...o)=>{if(i){jd(`${r} is a one-time binding but was called multiple times`,t);return}i=!0,e(...o)}}function X6(r,e,t){let{bindings:i}=t;i&&Object.keys(i).forEach(o=>{let n=i[o];Y6[o]&&(n=n.bind(null,e)),j6[o]&&(n=J6(o,n,r)),sS(r,o,n)})}function Q6(r,e){if(typeof e!="function")throw new Error(`The "${r}" attr must be a function. It is: ${JSON.stringify(e)}`);return VF(r)?PF(r,e):MF(r)?DF(r,e):TF(r,e)}function _F(r,e,t){e&&Object.keys(e).forEach(i=>{let o=Q6(i,e[i]);if(!o)return;let{value:n}=o;n!==void 0&&t.setAttribute(i,n),o.bindings&&X6(r,t,o)})}var Y6,j6,FF=__dcg_shared_module_exports__['b'](()=>{kF();IF();AF();II();Ob();Fb();Y6={onMount:!0,didMount:!0,willUnmount:!0,willUpdate:!0,onUpdate:!0,didUpdate:!0},j6={willMount:!0,onMount:!0,didMount:!0,willUnmount:!0,onUnmount:!0,didUnmount:!0}});function NF(){RF=!0}function BF(r,e,t){var n;if(typeof t!="function")throw new Error("bindText expects a function");let i=(n=t())!=null?n:"",o=document.createTextNode(i);if(RF){let a=document.createElement("span");a.appendChild(o),e.appendChild(a)}else e.appendChild(o);sS(r,"onUpdate",()=>{var s;let a=(s=t())!=null?s:"";i!==a&&(o.nodeValue=a,i=a)})}var RF,MI=__dcg_shared_module_exports__['b'](()=>{Ob();RF=!1});var zF,lS,KF=__dcg_shared_module_exports__['b'](()=>{FF();MI();js();Fb();zF=(r,e)=>{let t=document.createTextNode(e);r.appendChild(t)},lS=class{constructor(e,t,i){this._isDCGElement=!0,this.tagName=e,this.attrs=t,this.children=i,Array.isArray(this.children)&&this.children.forEach(o=>{let n=typeof o;(n==="object"||n==="function")&&(o._parentElement=this)})}renderToDocFrag(e,t){if(this._domNode)throw new Error("Cannot remount a DCGElement");let i=document.createElement(this.tagName);this._domNode=i,_F(t,this.attrs,i),e.appendChild(i),this.children.forEach(o=>{o._isDCGElement?o.renderToDocFrag(i,t):tn(o)?zF(i,o()):typeof o=="function"?BF(t,i,o):(jd("Text should be a const or a getter: "+JSON.stringify(o),t),zF(i,o))})}}});function UF(r,e){r!=null&&(Array.isArray(r)?r.forEach(t=>UF(t,e)):e.push(r))}function va(r,e,...t){let i=[];if(t.forEach(o=>UF(o,i)),typeof r=="string")return new lS(r,e,i);if(r&&r._isDCGViewClass)return new r(e,i)._construct();throw new Error("createElement expects a String or DCGViewClass")}var Ng=__dcg_shared_module_exports__['b'](()=>{KF()});function qF(){let r=this._element;for(;r._isDCGView;)r=r._element;return r._domNode}function HF(r,e){if(e&&e._childViews.push(this),this.__generatedHTMLBefore)throw new Error("Cannot remount a DCGView");this.__generatedHTMLBefore=!0,this._element.renderToDocFrag(r,this),Array.isArray(this._siblingElements)&&this._siblingElements.forEach(t=>t.renderToDocFrag(r,this))}function WF(r,e,t){if(!r||!r._isDCGViewClass)throw new Error("Must pass a DCGView class to be mounted");if(!e||e.nodeType!==1)throw new Error("Must pass an HTMLElement for the node");if(e._mountedDCGView)throw new Error("This node is already mounted by a view");let i=new r(t)._construct(),o=document.createDocumentFragment();return i.renderToDocFrag(o),e.innerHTML="",fs(i),e._mountedDCGView=i,e.appendChild(o),bs(i),ys(i),i}function $F(r){let e=r._mountedDCGView;if(!e)throw new Error("This node is not mounted by a DCGView");xs(e),r.innerHTML="",delete r._mountedDCGView,ws(e),vs(e)}function fs(r){r.willMount&&r.willMount(),Js(r,"willMount"),r._childViews.forEach(fs)}function bs(r){r._isMounted=!0,r.onMount&&r.onMount(),Js(r,"onMount"),r._childViews.forEach(bs)}function ys(r){r.didMount&&r.didMount(),Js(r,"didMount"),r._childViews.forEach(ys)}function xs(r){r.willUnmount&&r.willUnmount(),Js(r,"willUnmount"),r._childViews.forEach(xs)}function ws(r){r._isMounted=!1,r._childViews.forEach(ws),Js(r,"onUnmount"),r.onUnmount&&r.onUnmount()}function vs(r){r._childViews.forEach(vs),Js(r,"didUnmount"),r.didUnmount&&r.didUnmount()}function Wl(r,e){let t=document.createDocumentFragment();return r.renderToDocFrag(t,e),t.firstChild}var Jd=__dcg_shared_module_exports__['b'](()=>{Ob()});function YF(){if(!this._isMounted)return jd("Trying to update view that is not mounted. Ignoring update.",this);this.shouldUpdate&&!this.shouldUpdate()||(this.willUpdate&&this.willUpdate(),Js(this,"willUpdate"),Js(this,"onUpdate"),this.onUpdate&&this.onUpdate(),this.overrideChildUpdates?this.overrideChildUpdates():this._childViews.forEach(r=>r.update()),Js(this,"didUpdate"),this.didUpdate&&this.didUpdate())}var jF=__dcg_shared_module_exports__['b'](()=>{Ob();Fb()});var cS,AI=__dcg_shared_module_exports__['b'](()=>{cS=(r,...e)=>Object.assign(r,...e)});function Hr(r){if(!r)throw new Error("must pass a spec to DCGView.createClass");if(typeof r.template!="function")throw new Error("must pass a template function to DCGView.createClass");function e(t,i){var o,n;this._isDCGView=!0,this._isDCGElement=!0,this._viewName=r.viewName||((n=(o=this.constructor)==null?void 0:o.name)!=null?n:"Anonymous DCGView"),Object.entries(t!=null?t:{}).forEach(([a,s])=>{if(typeof s!="function"&&s!==void 0)throw new Error(`The "${a}" prop must be a function. It is: ${JSON.stringify(s)}`)}),this.props=t!=null?t:{},this.children=i,this._childViews=[],this._bindings={}}e.prototype._construct=function(){var t;if((t=this.init)==null||t.call(this),this._element=this.template(),!this._element||!this._element._isDCGElement)throw new Error("template() must return a DCGElement");return this._element._parentElement=this,this},e.prototype.bindFn=function(t){return t.bind(this)},e.prototype.bindIfMounted=function(t){return this.bindFn(function(...i){if(this._isMounted)return t.apply(this,i)})},e.prototype.traceViewHierarchy=function(){let t=[],i=this._parentElement;for(;i;)t.unshift(i),i=i._parentElement;let o=a=>a._isDCGView&&!(a._isDCGSwitch&&a._parentElement&&a._parentElement._isDCGIf)&&!a._isDCGIfDefinedWrapper&&!a._isDCGSwitchWrapper&&!a._isDCGSwitchUnionWrapper,n=[...t,this].filter(o).map((a,s)=>" ".repeat(s)+"<"+a._viewName+">").join(` `);return{ancestors:t,formatted:n}},e.prototype.findRootNode=qF,e.prototype.renderToDocFrag=HF,e.prototype.const=nS,e.prototype.spread=cS,e.prototype.createElement=va,e.prototype.update=YF;for(let t in r)if(r.hasOwnProperty(t)){if(e.prototype.hasOwnProperty(t))throw new Error("Cannot override the "+t+"() method");e.prototype[t]=r[t]}return e._isDCGViewClass=!0,e}var Cs=__dcg_shared_module_exports__['b'](()=>{Ng();Jd();jF();js();AI()});function JF(r){let e=r(),t=typeof e;if(t==="string")return e;if(!t||t!=="object")throw new Error(`Unsupported type returned from style getter: ${t}`);return Object.entries(e).filter(([i,o])=>e.hasOwnProperty(i)&&o!==null&&o!==void 0).map(([i,o])=>`${i}:${o}`).join(";")}function XF(r){let e=JF(r),t=tn(r)?void 0:{onUpdate:i=>{let o=JF(r);e!==o&&(aS(i,"style",o),e=o)}};return{value:e,bindings:t}}var QF=__dcg_shared_module_exports__['b'](()=>{js();kI()});function ZF(r){let e=r(),t=typeof e;if(t==="string")return e;if(!t||t!=="object")throw new Error(`Unsupported type returned from class getter: ${t}`);return Object.keys(e).filter(i=>e.hasOwnProperty(i)&&e[i]).join(" ")}function Z6(r,e,t){let i=r.className.replace(eR,"").split(tR),n=e.replace(eR,"").split(tR).reduce((s,l)=>(s[l]=!0,s),{}),a=i.filter(s=>!n.hasOwnProperty(s));return t?`${t} ${a.join(" ")}`.trim():a.join(" ")}function rR(r){let e=ZF(r),t=tn(r)?void 0:{onUpdate:i=>{let o=ZF(r);e!==o&&(i.className=i.className===e?o:Z6(i,e,o),e=o)}};return{value:e,bindings:t}}var eR,tR,iR=__dcg_shared_module_exports__['b'](()=>{js();eR=/^\s+|\s+$/g,tR=/\s+/});function oR(r){return e=>{if(typeof e!="function")throw new Error(`The ${r} attribute expects a function for the value`);if(tn(e))throw new Error(`The ${r} attribute does not expect a const for the value`);return{bindings:{[r]:e}}}}var nR=__dcg_shared_module_exports__['b'](()=>{js()});var aR,sR=__dcg_shared_module_exports__['b'](()=>{aR=r=>{let e=r.length,t=new Array(e),i=new Array(e+1),o=0,n;for(let l=0;lo&&(o=n)}let a=new Array(o),s=i[o];for(let l=o-1;l>=0;l--)a[l]=r[s],s=t[s];return a}});function dS(r,e){let t=e.reduce((l,c,d)=>(l[c]=d,l),{}),i=r.filter(l=>t[l]===void 0),o=r.map(l=>t[l]).filter(l=>l!==void 0),a=aR(o).reduce((l,c)=>(l[e[c]]=!0,l),{}),s=e.reduceRight((l,c,d)=>(a[c]||l.push({key:c,beforeKey:e[d+1]}),l),[]);return{removes:i,inserts:s}}var GI=__dcg_shared_module_exports__['b'](()=>{sR()});function lR(r,e){return va(rH,{items:r,keyFunction:e.key,viewFunction:e.item})}var eH,tH,rH,cR=__dcg_shared_module_exports__['b'](()=>{Cs();GI();Ng();Jd();eH=Hr({viewName:"EachPlaceholder",_isDCGEachPlaceholder:!0,template(){return this.createElement("div",{style:this.const("display: none")})}}),tH=Hr({viewName:"EachWrapper",_isDCGEachWrapper:!0,template(){return this.children[0]}}),rH=Hr({viewName:"Each",_isDCGEach:!0,getKeys(){this._keyToItem={};let r=this.props.items(),e=this.props.keyFunction?r.map(this.props.keyFunction):[...r];if(!this._chosenKeyType&&e.length&&(this._chosenKeyType=typeof e[0],this._chosenKeyType!=="string"&&this._chosenKeyType!=="number"))throw new Error(`The key: ${JSON.stringify(e[0])} is not a string or number`);return e.forEach((t,i)=>{if(typeof t!==this._chosenKeyType)throw new Error(`Keys must be the same type. ${JSON.stringify(t)} is not a ${this._chosenKeyType}`);if(this._keyToItem[t])throw new Error(`The key: ${JSON.stringify(t)} is not unique`);this._keyToItem[t]=r[i]}),e},createViewForKey(r){let e=this._keyToItem[r],t=this.props.viewFunction(e,r),i=t;return i._isDCGView||(i=va(tH,null,t)),this._keyToView[r]=i,i},template(){return this._keyToView={},this._keys=this.getKeys(),this._element=va(eH,null),this._siblingElements=this._keys.map(r=>{let e=this.createViewForKey(r);return e._parentElement=this._element._parentElement,e}),this._element},detachAllRemovedViews(){let r=this._childViews,e=0;for(let t=0;t=0;a--){let s=i.removes[a],l=this._keyToView[s];xs(l),delete this._keyToView[s],l._will_be_unmounted_=!0,t.removeChild(l.findRootNode()),o.push(l)}o.length>0&&(this.detachAllRemovedViews(),o.forEach(ws),o.forEach(vs));let n=[];for(let a=i.inserts.length-1;a>=0;a--){let s=i.inserts[a].key;if(s in this._keyToView)continue;let l=this.createViewForKey(s);Wl(l,this),n.push(l)}n.forEach(fs),i.inserts.forEach(a=>{let s=this._keyToView[a.key].findRootNode(),l=a.beforeKey!==void 0?this._keyToView[a.beforeKey].findRootNode():null;t.insertBefore(s,l)}),n.forEach(bs),n.forEach(ys);for(let a=0;a{Cs();GI();js();Jd();iH=Hr({viewName:"ForWrapper",template:function(){return this.children[0]}}),dR=Hr({viewName:"For",_isDCGFor:!0,getKeys(){this._keyToItem={};let r=this.props.each();if(!Array.isArray(r))throw new Error(" must return an array");let e=this.props.key?r.map(this.props.key):[...r];if(!this._chosenKeyType&&e.length&&(this._chosenKeyType=typeof e[0],this._chosenKeyType!=="string"&&this._chosenKeyType!=="number"))throw new Error(`The key: ${JSON.stringify(e[0])} is not a string or number`);return e.forEach((t,i)=>{if(typeof t!==this._chosenKeyType)throw new Error(`Keys must be the same type. ${JSON.stringify(t)} is not a ${this._chosenKeyType}`);if(t in this._keyToItem)throw new Error(`The key: ${JSON.stringify(t)} is not unique`);this._keyToItem[t]=r[i]}),e},createViewForKey(r){let e=this._keyToItem[r],t=this._viewFunction.call(this,e,r),i=t;return i._isDCGView||(i=this.createElement(iH,null,t)),this._keyToView[r]=i,i},template(){if(this._keyToView={},typeof this.props.each!="function")throw new Error(" must be a function");if(this.children.length!==1)throw new Error(` expects a single child. You passed ${this.children.length}`);let r=this.children[0];if(!r||!r._isDCGElement)throw new Error(` expects the root node to be a DCGElement. You passed ${JSON.stringify(r)}`);if(r._isDCGView)throw new Error(" expects the root node to not be a DCGView. Pass in something like
or ");if(r.children.length!==1)throw new Error(` expects a root node with a single child. You passed ${r.children.length}`);if(this._viewFunction=r.children[0],this._viewFunction&&this._viewFunction._isDCGElement)throw new Error(" expects a function that constructs a DCGElement. You passed a DCGElement directly");if(typeof this._viewFunction!="function"){let t=JSON.stringify(this._viewFunction);throw new Error(` expects a function that constructs a DCGElement. You passed ${t}`)}if(tn(this._viewFunction))throw new Error(" expects a function that constructs a DCGElement. You passed a constant");this._keys=this.getKeys();let e=this._keys.map(t=>{let i=this.createViewForKey(t);return i._parentElement=this,i});return r.children=e,r},detachAllRemovedViews(){let r=this._childViews,e=0;for(let t=0;t=0;a--){let s=i.removes[a],l=this._keyToView[s];xs(l),delete this._keyToView[s],l._will_be_unmounted_=!0,t.removeChild(l.findRootNode()),o.push(l)}o.length>0&&(this.detachAllRemovedViews(),o.forEach(ws),o.forEach(vs));let n=[];for(let a=i.inserts.length-1;a>=0;a--){let s=i.inserts[a].key;if(s in this._keyToView)continue;let l=this.createViewForKey(s);Wl(l,this),n.push(l)}n.forEach(fs),i.inserts.forEach(a=>{let s=this._keyToView[a.key].findRootNode(),l=a.beforeKey!==void 0?this._keyToView[a.beforeKey].findRootNode():null;t.insertBefore(s,l)}),n.forEach(bs),n.forEach(ys);for(let a=0;a{Cs();js();Jd();oH=Hr({viewName:"SwitchWrapper",_isDCGSwitchWrapper:!0,template(){return this.children[0]}}),pS=Hr({viewName:"Switch",_isDCGSwitch:!0,updateKey(){this._key=this.props.key()},createView(){let r=this._viewFunction(this._key);r=r!=null?r:this.createElement("div",{style:this.const("display: none")});let e=this.createElement(oH,null,r);return e._parentElement=this,e},template(){if(this._key=void 0,typeof this.props.key!="function")throw new Error(" must be a function");if(this.children.length!==1)throw new Error(" expects a single child. You passed "+this.children.length);if(this._viewFunction=this.children[0],this._viewFunction&&this._viewFunction._isDCGElement)throw new Error(" expects a function that constructs a DCGElement. You passed a DCGElement directly");if(typeof this._viewFunction!="function"){let r=JSON.stringify(this._viewFunction);throw new Error(" expects a function that constructs a DCGElement. You passed "+r)}if(tn(this._viewFunction))throw new Error(" expects a function that constructs a DCGElement. You passed a constant");return this.updateKey(),this.createView()},overrideChildUpdates(){let r=this._key;this.updateKey();let e=this._key;if(r===e){this._element.update();return}let t=this.findRootNode(),i=document.createTextNode("");t.parentNode.insertBefore(i,t),xs(this._element),this._childViews=[],t.parentNode.removeChild(t),ws(this._element),vs(this._element),this._element=this.createView();let o=Wl(this._element,this);fs(this._element),i.parentNode.insertBefore(o,i),i.parentNode.removeChild(i),bs(this._element),ys(this._element)}})});function uS(r,e){return typeof r=="string"?uR.bind(this,r,e):uR(void 0,r,e)}var nH,aH,uR,PI=__dcg_shared_module_exports__['b'](()=>{Cs();Jd();Ng();nH=Hr({viewName:"SwitchUnionWrapper",_isDCGSwitchUnionWrapper:!0,template(){return this.children[0]}}),aH=Hr({viewName:"SwitchUnion",_isDCGSwitchUnion:!0,updateCase(){this._case=this.props.getCase()},createView(){let r=this.props.buildChildView(this._case);r=r!=null?r:va("div",{style:this.const("display: none")});let e=va(nH,null,r);return e._parentElement=this,e},template(){return this._case=void 0,this.updateCase(),this.createView()},overrideChildUpdates(){let r=this._case;this.updateCase();let e=this._case;if(r===e){this._element.update();return}let t=this.findRootNode(),i=document.createTextNode("");t.parentNode.insertBefore(i,t),xs(this._element),this._childViews=[],t.parentNode.removeChild(t),ws(this._element),vs(this._element),this._element=this.createView();let o=Wl(this._element,this);fs(this._element),i.parentNode.insertBefore(o,i),i.parentNode.removeChild(i),bs(this._element),ys(this._element)}}),uR=(r,e,t)=>va(aH,{getCase(){let i=e();return r?i&&i[r]:i},buildChildView(i){let o=t[i];return o?o(e):void 0}})});var hR,gR=__dcg_shared_module_exports__['b'](()=>{Cs();js();VI();hR=Hr({viewName:"If",_isDCGIf:!0,template(){let{predicate:r}=this.props;if(typeof r!="function")throw new Error(" must be a function");if(this.children.length!==1)throw new Error(` expects a single child. You passed ${this.children.length}`);let e=this.children[0];if(e&&e._isDCGElement)throw new Error(" expects a function that constructs a DCGElement. You passed a DCGElement directly");if(typeof e!="function"){let o=JSON.stringify(e);throw new Error(` expects a function that constructs a DCGElement. You passed ${o}`)}if(tn(e))throw new Error(" expects a function that constructs a DCGElement. You passed a constant");let t=()=>!!r(),i=o=>o?e():void 0;return this.createElement(pS,{key:t},i)}})});function mR(r,e){return va(lH,{isDefined(){let t=r();return t!=null},buildChildView(){return e(r)}})}var sH,lH,fR=__dcg_shared_module_exports__['b'](()=>{Cs();Jd();Ng();sH=Hr({viewName:"IfDefinedWrapper",_isDCGIfDefinedWrapper:!0,template(){return this.children[0]}}),lH=Hr({viewName:"IfDefined",_isDCGIfDefined:!0,updateIsDefined(){this._isDefined=this.props.isDefined()},createView(){let r=this._isDefined?this.props.buildChildView():null;r=r!=null?r:this.createElement("div",{style:this.const("display: none")});let e=this.createElement(sH,null,r);return e._parentElement=this,e},template(){return this._isDefined=void 0,this.updateIsDefined(),this.createView()},overrideChildUpdates(){let r=this._isDefined;this.updateIsDefined();let e=this._isDefined;if(r===e){this._element.update();return}let t=this.findRootNode(),i=document.createTextNode("");t.parentNode.insertBefore(i,t),xs(this._element),this._childViews=[],t.parentNode.removeChild(t),ws(this._element),vs(this._element),this._element=this.createView();let o=Wl(this._element,this);fs(this._element),i.parentNode.insertBefore(o,i),i.parentNode.removeChild(i),bs(this._element),ys(this._element)}})});function bR(r,e){let t=uS(()=>r()?"true":"false",e);return t._viewName="IfElse",t}var yR=__dcg_shared_module_exports__['b'](()=>{PI()});var xR,wR=__dcg_shared_module_exports__['b'](()=>{Cs();xR=Hr({viewName:"Textarea",computeValue(){let r=this.props.value();return r==null?"":`${r}`},template(){let{value:r,onInput:e,disabled:t}=this.props;if(!r)throw new Error('