;(function () { var desmosEnabledFeatures = {"GraphingCalculator":true,"FourFunctionCalculator":true,"ScientificCalculator":true,"GeometryCalculator":true,"Calculator3D":true}; 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,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) 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,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) 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,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) 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('