{"id":1443,"date":"2025-10-02T16:30:42","date_gmt":"2025-10-02T16:30:42","guid":{"rendered":"https:\/\/www.mathros.net.ua\/ru\/?page_id=1443"},"modified":"2026-08-29T13:42:11","modified_gmt":"2026-08-29T13:42:11","slug":"kalkuljator-proizvodnyh","status":"publish","type":"page","link":"https:\/\/www.mathros.net.ua\/ru\/kalkuljator-proizvodnyh","title":{"rendered":"<center>\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445: \u041f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/center>"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1443\" class=\"elementor elementor-1443\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8ea597d e-flex e-con-boxed e-con e-parent\" data-id=\"8ea597d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3359b47 elementor-widget elementor-widget-html\" data-id=\"3359b47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2\r\n  id=\"derivative-calculator-title\"\r\n  class=\"derivative-calculator-title\"\r\n>\r\n  \u041d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0447\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u043d\u0430\u0439\u0448\u043b\u0438 \u043f\u043e\u0445\u0456\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457? \u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0456\u044e \u0443 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u0456 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u044c\u0442\u0435 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u0435 \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437!\r\n<\/h2>\r\n\r\n<style>\r\n\/* =========================================================\r\n   Derivative Calculator Title\r\n========================================================= *\/\r\n\r\n.derivative-calculator-title {\r\n  width: min(860px, calc(100% - 32px));\r\n  max-width: 860px;\r\n\r\n  margin: 10px auto 16px;\r\n  padding: 0;\r\n\r\n  font-family:\r\n    system-ui,\r\n    -apple-system,\r\n    \"Segoe UI\",\r\n    Roboto,\r\n    \"Helvetica Neue\",\r\n    Arial,\r\n    \"Noto Sans\",\r\n    \"Liberation Sans\",\r\n    sans-serif;\r\n\r\n  font-size: clamp(\r\n    1.15rem,\r\n    1rem + .8vw,\r\n    1.5rem\r\n  );\r\n\r\n  font-weight: 650;\r\n  line-height: 1.35;\r\n  letter-spacing: .002em;\r\n\r\n  color: #334155;\r\n\r\n  text-align: center;\r\n  text-wrap: balance;\r\n\r\n  hyphens: auto;\r\n  word-break: normal;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Dark mode\r\n========================================================= *\/\r\n\r\n@media (prefers-color-scheme: dark) {\r\n\r\n  .derivative-calculator-title {\r\n    color: #cbd5e1;\r\n  }\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Tablet\r\n========================================================= *\/\r\n\r\n@media (max-width: 768px) {\r\n\r\n  .derivative-calculator-title {\r\n    width: calc(100% - 32px);\r\n    margin: 8px auto 14px;\r\n  }\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Mobile\r\n========================================================= *\/\r\n\r\n@media (max-width: 480px) {\r\n\r\n  .derivative-calculator-title {\r\n    width: calc(100% - 24px);\r\n\r\n    font-size: clamp(\r\n      1.05rem,\r\n      .95rem + 1.5vw,\r\n      1.25rem\r\n    );\r\n\r\n    line-height: 1.4;\r\n\r\n    margin: 6px auto 12px;\r\n  }\r\n\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n\r\n  'use strict';\r\n\r\n\r\n  \/* =====================================================\r\n     Translations\r\n  ===================================================== *\/\r\n\r\n  const translations = {\r\n\r\n    uk:\r\n      '\u041d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0447\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u043d\u0430\u0439\u0448\u043b\u0438 \u043f\u043e\u0445\u0456\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457? \u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0456\u044e \u0443 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u0456 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u044c\u0442\u0435 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u0435 \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437!',\r\n\r\n    en:\r\n      'Not sure whether you calculated the derivative correctly? Enter the function into the calculator and see the step-by-step solution right away!',\r\n\r\n    ru:\r\n      '\u041d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043b\u0438 \u0432\u044b \u043d\u0430\u0448\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438? \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441!'\r\n\r\n  };\r\n\r\n\r\n  \/* =====================================================\r\n     Language normalization\r\n  ===================================================== *\/\r\n\r\n  function normalizeLanguage(value) {\r\n\r\n    const language = String(value || '')\r\n      .trim()\r\n      .toLowerCase()\r\n      .replace('_', '-');\r\n\r\n\r\n    if (\r\n      language === 'ua' ||\r\n      language === 'uk' ||\r\n      language.startsWith('uk-') ||\r\n      language.startsWith('ua-')\r\n    ) {\r\n      return 'uk';\r\n    }\r\n\r\n\r\n    if (\r\n      language === 'en' ||\r\n      language.startsWith('en-')\r\n    ) {\r\n      return 'en';\r\n    }\r\n\r\n\r\n    if (\r\n      language === 'ru' ||\r\n      language.startsWith('ru-')\r\n    ) {\r\n      return 'ru';\r\n    }\r\n\r\n\r\n    return '';\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     Language detection\r\n  ===================================================== *\/\r\n\r\n  function detectLanguage() {\r\n\r\n    \/*\r\n     * 1. \u042f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u0430 \u043c\u043e\u0432\u0430 \u0434\u043b\u044f \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u0430:\r\n     *\r\n     * window.DCalcProLang = 'uk';\r\n     * window.DCalcProLang = 'en';\r\n     * window.DCalcProLang = 'ru';\r\n     *\/\r\n\r\n    const windowLanguage =\r\n      normalizeLanguage(\r\n        window.DCalcProLang\r\n      );\r\n\r\n\r\n    if (windowLanguage) {\r\n      return windowLanguage;\r\n    }\r\n\r\n\r\n    \/*\r\n     * 2. \u041c\u043e\u0432\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430:\r\n     *\r\n     * <html lang=\"uk\">\r\n     * <html lang=\"en\">\r\n     * <html lang=\"ru\">\r\n     *\/\r\n\r\n    const htmlLanguage =\r\n      normalizeLanguage(\r\n        document.documentElement.getAttribute('lang')\r\n      );\r\n\r\n\r\n    if (htmlLanguage) {\r\n      return htmlLanguage;\r\n    }\r\n\r\n\r\n    \/*\r\n     * 3. \u041f\u0435\u0440\u0448\u0430 \u0447\u0430\u0441\u0442\u0438\u043d\u0430 URL:\r\n     *\r\n     * \/uk\/...\r\n     * \/en\/...\r\n     * \/ru\/...\r\n     *\/\r\n\r\n    const pathParts =\r\n      String(window.location.pathname || '')\r\n        .split('\/')\r\n        .filter(Boolean);\r\n\r\n\r\n    if (pathParts.length > 0) {\r\n\r\n      const pathLanguage =\r\n        normalizeLanguage(\r\n          pathParts[0]\r\n        );\r\n\r\n\r\n      if (pathLanguage) {\r\n        return pathLanguage;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/*\r\n     * 4. \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430 \u043c\u043e\u0432\u0430\r\n     *\/\r\n\r\n    return 'uk';\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     Set title\r\n  ===================================================== *\/\r\n\r\n  function setCalculatorTitle() {\r\n\r\n    const title =\r\n      document.getElementById(\r\n        'derivative-calculator-title'\r\n      );\r\n\r\n\r\n    if (!title) {\r\n      return;\r\n    }\r\n\r\n\r\n    const language =\r\n      detectLanguage();\r\n\r\n\r\n    title.textContent =\r\n      translations[language] ||\r\n      translations.uk;\r\n\r\n\r\n    \/*\r\n     * \u0412\u043a\u0430\u0437\u0443\u0454\u043c\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u043d\u0443 \u043c\u043e\u0432\u0443 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430.\r\n     * \u0426\u0435 \u0442\u0430\u043a\u043e\u0436 \u043a\u043e\u0440\u0438\u0441\u043d\u043e \u0434\u043b\u044f screen reader.\r\n     *\/\r\n\r\n    const languageCodes = {\r\n      uk: 'uk',\r\n      en: 'en',\r\n      ru: 'ru'\r\n    };\r\n\r\n\r\n    title.setAttribute(\r\n      'lang',\r\n      languageCodes[language] || 'uk'\r\n    );\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     Init\r\n  ===================================================== *\/\r\n\r\n  function init() {\r\n    setCalculatorTitle();\r\n  }\r\n\r\n\r\n  if (\r\n    document.readyState === 'loading'\r\n  ) {\r\n\r\n    document.addEventListener(\r\n      'DOMContentLoaded',\r\n      init,\r\n      { once: true }\r\n    );\r\n\r\n  } else {\r\n\r\n    init();\r\n\r\n  }\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-521cb7f elementor-widget elementor-widget-html\" data-id=\"521cb7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\n     DERIVATIVE CALCULATOR UI \u2014 v1 MATH-FIRST \/ MINIMAL\n     Languages: uk \/ en \/ ru\n     AJAX action: calculate_derivative_function\n\n     Language detection priority:\n     1) window.DCalcProLang = 'uk' | 'en' | 'ru'\n     2) data-lang on #derivative-calculator-app\n     3) <html lang=\"...\">\n     4) URL first segment (\/uk\/, \/en\/, \/ru\/)\n     5) fallback: uk\n========================================================= -->\n\n<!-- MathJax v2. \u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0443\u0454\u043c\u043e \u043b\u0438\u0448\u0435 \u044f\u043a\u0449\u043e MathJax \u0449\u0435 \u043d\u0435\u043c\u0430\u0454 \u043d\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u0446\u0456 -->\n<script>\n(function () {\n    if (!window.MathJax && !document.getElementById('mathjax-v2-derivative-loader')) {\n        const script = document.createElement('script');\n        script.id = 'mathjax-v2-derivative-loader';\n        script.type = 'text\/javascript';\n        script.async = true;\n        script.src = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/mathjax\/2.7.7\/MathJax.js?config=TeX-MML-AM_CHTML';\n        document.head.appendChild(script);\n    }\n})();\n<\/script>\n\n<div id=\"derivative-calculator-app\" class=\"derivative-app\" data-lang=\"auto\">\n\n    <!-- ================= Calculator ================= -->\n    <section class=\"derivative-calculator\" aria-labelledby=\"derivative-input-label\">\n\n        <div class=\"derivative-field\">\n            <label id=\"derivative-input-label\" for=\"derivative-function-latex\" data-i18n=\"inputLabel\">\n                \u0424\u0443\u043d\u043a\u0446\u0456\u044f\n            <\/label>\n\n            <textarea\n                id=\"derivative-function-latex\"\n                rows=\"3\"\n                placeholder=\"\\tan^2(x^2-4\\cdot x)\"\n                spellcheck=\"false\"\n                autocomplete=\"off\"\n                autocapitalize=\"off\"\n                data-i18n-aria=\"inputAria\"\n                aria-label=\"\u041f\u043e\u043b\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u0444\u0443\u043d\u043a\u0446\u0456\u0457 \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX\"\n            ><\/textarea>\n\n            <div class=\"derivative-field__hint\" data-i18n=\"inputHint\">\n                \u0412\u0432\u043e\u0434\u044c\u0442\u0435 \u043b\u0438\u0448\u0435 f(x) \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX, \u0431\u0435\u0437 y=.\n            <\/div>\n        <\/div>\n\n        <div class=\"derivative-utility-row\">\n            <div class=\"derivative-example-control\">\n                <label for=\"derivative-example-select\" data-i18n=\"exampleLabel\">\u0428\u0432\u0438\u0434\u043a\u0438\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434<\/label>\n\n                <select id=\"derivative-example-select\">\n                    <option value=\"\" data-i18n=\"examplePlaceholder\">\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u043f\u0440\u0438\u043a\u043b\u0430\u0434<\/option>\n                    <option value=\"3x^2+2x-5\">3x\u00b2 + 2x \u2212 5<\/option>\n                    <option value=\"\\sin(x^2)\">sin(x\u00b2)<\/option>\n                    <option value=\"\\tan^2(x^2-4\\cdot x)\">tan\u00b2(x\u00b2 \u2212 4x)<\/option>\n                    <option value=\"x^2e^x\">x\u00b2e\u02e3<\/option>\n                    <option value=\"e^{2x}\\sin(3x)\">e^(2x) sin(3x)<\/option>\n                    <option value=\"\\frac{x^2+1}{x-1}\">(x\u00b2 + 1)\/(x \u2212 1)<\/option>\n                    <option value=\"x^x\">x\u02e3<\/option>\n                    <option value=\"2^x\">2\u02e3<\/option>\n                    <option value=\"\\ln|x^2-1|\">ln|x\u00b2 \u2212 1|<\/option>\n                    <option value=\"\\log_{2}(x)\">log\u2082(x)<\/option>\n                    <option value=\"\\sqrt[3]{x^2+1}\">\u221b(x\u00b2 + 1)<\/option>\n                    <option value=\"\\arctan(2x+1)\">arctan(2x + 1)<\/option>\n                    <option value=\"\\pi x^2\">\u03c0x\u00b2<\/option>\n                <\/select>\n            <\/div>\n\n            <button\n                id=\"derivative-clear-button\"\n                type=\"button\"\n                class=\"derivative-text-button\"\n                data-i18n=\"clearButton\"\n            >\n                \u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0438\n            <\/button>\n        <\/div>\n\n        <!-- Preview \u0437\u0430\u0432\u0436\u0434\u0438 \u0443\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u0438\u0439 -->\n        <section class=\"derivative-preview\" aria-labelledby=\"derivative-preview-title\">\n            <div id=\"derivative-preview-title\" class=\"derivative-section-label\" data-i18n=\"previewTitle\">\n                \u041f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0456\u0439 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\n            <\/div>\n\n            <div id=\"derivative-preview-formula\" class=\"derivative-preview__formula\" aria-live=\"polite\"><\/div>\n        <\/section>\n\n        <button id=\"derivative-generate-button\" type=\"button\" class=\"derivative-primary-button\">\n            <span data-i18n=\"calculateButton\">\u0417\u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0445\u0456\u0434\u043d\u0443<\/span>\n        <\/button>\n\n        <div class=\"derivative-shortcut\">\n            <span data-i18n=\"shortcutLabel\">\u0428\u0432\u0438\u0434\u043a\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a:<\/span>\n            <kbd>Ctrl<\/kbd>\/<kbd>\u2318<\/kbd> + <kbd>Enter<\/kbd>\n        <\/div>\n\n        <details class=\"derivative-help\">\n            <summary data-i18n=\"helpTitle\">\u041f\u0456\u0434\u043a\u0430\u0437\u043a\u0438 \u0449\u043e\u0434\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044f<\/summary>\n\n            <div class=\"derivative-help__content\">\n                <p data-i18n=\"helpIntro\">\n                    \u0412\u0432\u043e\u0434\u044c\u0442\u0435 \u043b\u0438\u0448\u0435 \u043f\u0440\u0430\u0432\u0443 \u0447\u0430\u0441\u0442\u0438\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457 y=f(x). \u0417\u0430\u043f\u0438\u0441\u0438 y= \u0442\u0430 y' \u0434\u043e\u0434\u0430\u0432\u0430\u0442\u0438 \u043d\u0435 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e.\n                <\/p>\n\n                <div class=\"derivative-help-grid\">\n                    <div class=\"derivative-help-item\">\n                        <strong data-i18n=\"helpPowers\">\u0421\u0442\u0435\u043f\u0435\u043d\u0456 \u0442\u0430 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0438<\/strong>\n                        <span>\\(3x^2+2x-5\\)<\/span>\n                        <span>\\((2x+1)^5\\)<\/span>\n                    <\/div>\n\n                    <div class=\"derivative-help-item\">\n                        <strong data-i18n=\"helpChain\">\u0421\u043a\u043b\u0430\u0434\u0435\u043d\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457<\/strong>\n                        <span>\\(\\sin(x^2)\\)<\/span>\n                        <span>\\(\\sqrt{3x+1}\\)<\/span>\n                    <\/div>\n\n                    <div class=\"derivative-help-item\">\n                        <strong data-i18n=\"helpProduct\">\u0414\u043e\u0431\u0443\u0442\u043e\u043a \u0456 \u0447\u0430\u0441\u0442\u043a\u0430<\/strong>\n                        <span>\\(x^2e^x\\)<\/span>\n                        <span>\\(\\frac{x^2+1}{x-1}\\)<\/span>\n                    <\/div>\n\n                    <div class=\"derivative-help-item\">\n                        <strong data-i18n=\"helpTrig\">\u0422\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0456\u044f<\/strong>\n                        <span>\\(\\tan^2(x^2-4\\cdot x)\\)<\/span>\n                        <span>\\(\\sin(x)\\cos(x)\\)<\/span>\n                    <\/div>\n\n                    <div class=\"derivative-help-item\">\n                        <strong data-i18n=\"helpLogs\">\u041b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438 \u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u043d\u0438\u043a\u043e\u0432\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457<\/strong>\n                        <span>\\(x^x\\)<\/span>\n                        <span>\\(\\ln|x^2-1|\\)<\/span>\n                    <\/div>\n\n                    <div class=\"derivative-help-item\">\n                        <strong data-i18n=\"helpSpecial\">\u041a\u043e\u0440\u0435\u043d\u0456 \u0442\u0430 \u0441\u043f\u0435\u0446\u0456\u0430\u043b\u044c\u043d\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457<\/strong>\n                        <span>\\(\\sqrt[3]{x^2+1}\\)<\/span>\n                        <span>\\(\\log_{2}(x)\\)<\/span>\n                    <\/div>\n                <\/div>\n\n                <p class=\"derivative-help-note\" data-i18n=\"helpNote\">\n                    \u0417\u043c\u0456\u043d\u043d\u0430 \u043f\u043e\u0432\u0438\u043d\u043d\u0430 \u0431\u0443\u0442\u0438 x. \u041c\u043d\u043e\u0436\u0435\u043d\u043d\u044f \u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u044f\u043a 2\\cdot x \u0430\u0431\u043e \u0441\u043a\u043e\u0440\u043e\u0447\u0435\u043d\u043e: 2x, x(x+1).\n                <\/p>\n            <\/div>\n        <\/details>\n\n    <\/section>\n\n    <!-- ================= Error ================= -->\n    <div id=\"derivative-error\" class=\"derivative-error\" role=\"alert\" aria-live=\"polite\"><\/div>\n\n    <!-- ================= Loading ================= -->\n    <div id=\"derivative-loading\" class=\"derivative-loading\" hidden aria-live=\"polite\">\n        <div class=\"derivative-loader-circle\" aria-hidden=\"true\"><\/div>\n        <div>\n            <strong data-i18n=\"loadingTitle\">\u0410\u043d\u0430\u043b\u0456\u0437\u0443\u0454\u043c\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u044e<\/strong>\n            <span data-i18n=\"loadingText\">\u0412\u0438\u0437\u043d\u0430\u0447\u0430\u0454\u043c\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0432\u0438\u0440\u0430\u0437\u0443 \u0442\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u0438\u0444\u0435\u0440\u0435\u043d\u0446\u0456\u044e\u0432\u0430\u043d\u043d\u044f.<\/span>\n        <\/div>\n    <\/div>\n\n    <!-- ================= Solution ================= -->\n    <section\n        id=\"derivative-solution-container\"\n        class=\"derivative-solution-container\"\n        hidden\n        aria-live=\"polite\"\n    ><\/section>\n\n<\/div>\n\n<style>\n\/* =========================================================\n   Scoped design tokens\n========================================================= *\/\n.derivative-app {\n    --dc-bg: #ffffff;\n    --dc-soft: #f8fbfd;\n    --dc-soft-2: #eef5f8;\n    --dc-border: #dbe6ed;\n    --dc-border-strong: #bfd0da;\n    --dc-text: #0f1728;\n    --dc-muted: #607487;\n    --dc-accent: #0B638B;\n    --dc-accent-hover: #095676;\n    --dc-accent-soft: rgba(11, 99, 139, .10);\n    --dc-danger: #b9382f;\n    --dc-danger-soft: rgba(185, 56, 47, .10);\n    --dc-radius: 16px;\n    --dc-font: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif;\n\n    width: min(100%, 860px);\n    margin: 20px auto;\n    color: var(--dc-text);\n    font-family: var(--dc-font);\n}\n\n.derivative-app *,\n.derivative-app *::before,\n.derivative-app *::after {\n    box-sizing: border-box;\n}\n\n@media (prefers-color-scheme: dark) {\n    .derivative-app {\n        --dc-bg: #15222d;\n        --dc-soft: #182833;\n        --dc-soft-2: #1c2d39;\n        --dc-border: #273947;\n        --dc-border-strong: #355062;\n        --dc-text: #e8f1f7;\n        --dc-muted: #9cb0c0;\n        --dc-accent: #58b6e4;\n        --dc-accent-hover: #45a7d9;\n        --dc-accent-soft: rgba(88, 182, 228, .14);\n        --dc-danger: #ff8b86;\n        --dc-danger-soft: rgba(255, 139, 134, .14);\n    }\n}\n\n\/* =========================================================\n   Calculator shell\n========================================================= *\/\n.derivative-calculator {\n    padding: 22px;\n    border: 1px solid var(--dc-border);\n    border-radius: var(--dc-radius);\n    background: var(--dc-bg);\n}\n\n.derivative-field label,\n.derivative-example-control label {\n    display: block;\n    margin: 0 0 7px;\n    color: var(--dc-text);\n    font-size: .95rem;\n    font-weight: 760;\n}\n\n.derivative-field textarea,\n.derivative-example-control select {\n    width: 100%;\n    border: 1px solid var(--dc-border);\n    border-radius: 11px;\n    outline: none;\n    background: var(--dc-soft);\n    color: var(--dc-text);\n    transition: border-color .16s ease, background-color .16s ease;\n}\n\n.derivative-field textarea {\n    min-height: 112px;\n    padding: 13px 14px;\n    resize: vertical;\n    font: 600 16px\/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", monospace;\n}\n\n.derivative-example-control select {\n    height: 43px;\n    padding: 0 11px;\n    font: 650 .9rem\/1 var(--dc-font);\n}\n\n.derivative-field textarea:hover,\n.derivative-example-control select:hover {\n    border-color: var(--dc-border-strong);\n}\n\n.derivative-field textarea:focus-visible,\n.derivative-example-control select:focus-visible,\n.derivative-text-button:focus-visible,\n.derivative-primary-button:focus-visible,\n.derivative-solution-toolbar button:focus-visible,\n.derivative-copy-button:focus-visible {\n    border-color: var(--dc-accent);\n    background: var(--dc-soft);\n}\n\n.derivative-field textarea.derivative-input-error {\n    border-color: var(--dc-danger);\n}\n\n.derivative-field__hint {\n    margin-top: 7px;\n    color: var(--dc-muted);\n    font-size: .86rem;\n    line-height: 1.45;\n}\n\n.derivative-utility-row {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    gap: 12px;\n    align-items: end;\n    margin-top: 15px;\n}\n\n.derivative-example-control {\n    min-width: 0;\n}\n\n.derivative-text-button {\n    height: 43px;\n    padding: 0 4px;\n    border: 1px solid transparent;\n    border-radius: 8px;\n    background: transparent;\n    color: var(--dc-accent);\n    font: 750 .88rem\/1 var(--dc-font);\n    cursor: pointer;\n}\n\n.derivative-text-button:hover {\n    background: var(--dc-accent-soft);\n}\n\n\/* =========================================================\n   Preview\n========================================================= *\/\n.derivative-preview {\n    margin-top: 17px;\n    padding-top: 15px;\n    border-top: 1px solid var(--dc-border);\n}\n\n.derivative-section-label {\n    margin-bottom: 8px;\n    color: var(--dc-muted);\n    font-size: .78rem;\n    font-weight: 800;\n    letter-spacing: .035em;\n    text-transform: uppercase;\n}\n\n.derivative-preview__formula {\n    min-height: 66px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 8px 10px;\n    overflow-x: auto;\n    overflow-y: hidden;\n    color: var(--dc-text);\n    white-space: nowrap;\n    -webkit-overflow-scrolling: touch;\n}\n\n\/* =========================================================\n   Main action\n========================================================= *\/\n.derivative-primary-button {\n    width: 100%;\n    min-height: 48px;\n    margin-top: 13px;\n    padding: 0 18px;\n    border: 1px solid transparent;\n    border-radius: 11px;\n    background: var(--dc-accent);\n    color: #fff;\n    font: 800 .96rem\/1.2 var(--dc-font);\n    cursor: pointer;\n    transition: background-color .16s ease, border-color .16s ease;\n}\n\n.derivative-primary-button:hover {\n    background: var(--dc-accent-hover);\n    border-color: var(--dc-accent-hover);\n}\n\n.derivative-primary-button:disabled {\n    opacity: .6;\n    cursor: not-allowed;\n}\n\n.derivative-shortcut {\n    margin-top: 8px;\n    text-align: center;\n    color: var(--dc-muted);\n    font-size: .76rem;\n}\n\n.derivative-shortcut kbd {\n    display: inline-block;\n    padding: 2px 5px;\n    border: 1px solid var(--dc-border);\n    border-bottom-width: 2px;\n    border-radius: 5px;\n    background: var(--dc-soft);\n    color: var(--dc-text);\n    font: 650 .72rem\/1.2 var(--dc-font);\n}\n\n\/* =========================================================\n   Help\n========================================================= *\/\n.derivative-help {\n    margin-top: 14px;\n    border-top: 1px solid var(--dc-border);\n    padding-top: 13px;\n}\n\n.derivative-help > summary {\n    cursor: pointer;\n    list-style: none;\n    color: var(--dc-accent);\n    font-size: .87rem;\n    font-weight: 760;\n}\n\n.derivative-help > summary::-webkit-details-marker {\n    display: none;\n}\n\n.derivative-help > summary::after {\n    content: \" +\";\n}\n\n.derivative-help[open] > summary::after {\n    content: \" \u2212\";\n}\n\n.derivative-help__content {\n    margin-top: 13px;\n    color: var(--dc-text);\n}\n\n.derivative-help__content > p {\n    margin: 0 0 12px;\n    line-height: 1.55;\n}\n\n.derivative-help-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 8px;\n}\n\n.derivative-help-item {\n    display: grid;\n    gap: 5px;\n    padding: 10px 11px;\n    border: 1px solid var(--dc-border);\n    border-radius: 9px;\n    background: var(--dc-soft);\n    font-size: .86rem;\n}\n\n.derivative-help-item strong {\n    color: var(--dc-accent);\n    font-weight: 780;\n}\n\n.derivative-help-note {\n    margin-top: 12px !important;\n    color: var(--dc-muted);\n    font-size: .86rem;\n}\n\n\/* =========================================================\n   Error \/ loading\n========================================================= *\/\n.derivative-error {\n    display: none;\n    margin-top: 13px;\n    padding: 12px 14px;\n    border-left: 3px solid var(--dc-danger);\n    border-radius: 8px;\n    background: var(--dc-danger-soft);\n    color: var(--dc-danger);\n    font-size: .9rem;\n    font-weight: 650;\n    line-height: 1.5;\n}\n\n.derivative-error.is-visible {\n    display: block;\n}\n\n.derivative-loading {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin: 17px 0;\n    padding: 13px 2px;\n    color: var(--dc-text);\n}\n\n.derivative-loading[hidden] {\n    display: none !important;\n}\n\n.derivative-loading > div:last-child {\n    display: grid;\n    gap: 2px;\n}\n\n.derivative-loading strong {\n    font-size: .92rem;\n}\n\n.derivative-loading span {\n    color: var(--dc-muted);\n    font-size: .84rem;\n}\n\n.derivative-loader-circle {\n    flex: 0 0 28px;\n    width: 28px;\n    height: 28px;\n    border: 3px solid var(--dc-border);\n    border-top-color: var(--dc-accent);\n    border-radius: 50%;\n    animation: derivative-spin .8s linear infinite;\n}\n\n@keyframes derivative-spin {\n    to { transform: rotate(360deg); }\n}\n\n\/* =========================================================\n   Solution \u2014 mathematical document, not dashboard\n========================================================= *\/\n.derivative-solution-container {\n    margin-top: 22px;\n    color: var(--dc-text);\n}\n\n.derivative-solution-container[hidden] {\n    display: none !important;\n}\n\n.derivative-answer-card {\n    padding: 18px 19px;\n    border: 1px solid var(--dc-border);\n    border-radius: 13px;\n    background: var(--dc-bg);\n}\n\n.derivative-answer-card__top {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n}\n\n.derivative-answer-card__title {\n    margin: 0;\n    color: var(--dc-text);\n    font-size: 1.05rem;\n    font-weight: 820;\n}\n\n.derivative-copy-button {\n    flex: 0 0 auto;\n    padding: 7px 9px;\n    border: 0;\n    border-radius: 8px;\n    background: transparent;\n    color: var(--dc-accent);\n    font: 720 .78rem\/1 var(--dc-font);\n    cursor: pointer;\n}\n\n.derivative-copy-button:hover {\n    background: var(--dc-accent-soft);\n}\n\n.derivative-answer-card__formula {\n    margin-top: 9px;\n    padding: 8px 0;\n    overflow-x: auto;\n    overflow-y: hidden;\n    white-space: nowrap;\n    -webkit-overflow-scrolling: touch;\n}\n\n.derivative-answer-note {\n    margin-top: 7px;\n    color: var(--dc-muted);\n    font-size: .82rem;\n    line-height: 1.45;\n}\n\n.derivative-solution-toolbar {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin: 26px 0 4px;\n    padding-bottom: 10px;\n    border-bottom: 1px solid var(--dc-border-strong);\n}\n\n.derivative-solution-toolbar h2 {\n    margin: 0;\n    color: var(--dc-text);\n    font-size: 1.18rem;\n    font-weight: 840;\n}\n\n.derivative-solution-toolbar__actions {\n    display: flex;\n    gap: 6px;\n}\n\n.derivative-solution-toolbar button {\n    padding: 5px 7px;\n    border: 1px solid transparent;\n    border-radius: 7px;\n    background: transparent;\n    color: var(--dc-accent);\n    font: 700 .76rem\/1 var(--dc-font);\n    cursor: pointer;\n}\n\n.derivative-solution-toolbar button:hover {\n    background: var(--dc-accent-soft);\n}\n\n.derivative-steps {\n    display: grid;\n}\n\n.derivative-step {\n    border-bottom: 1px solid var(--dc-border);\n}\n\n.derivative-step:last-child {\n    border-bottom: 0;\n}\n\n.derivative-step__summary {\n    display: grid;\n    grid-template-columns: auto minmax(0, 1fr) 22px;\n    gap: 5px;\n    align-items: center;\n    padding: 15px 2px;\n    cursor: pointer;\n    list-style: none;\n}\n\n.derivative-step__summary::-webkit-details-marker {\n    display: none;\n}\n\n.derivative-step__number {\n    display: block;\n    width: auto;\n    height: auto;\n    color: var(--dc-text);\n    font-size: .96rem;\n    font-weight: 790;\n    line-height: 1.35;\n    font-variant-numeric: tabular-nums;\n    text-align: left;\n}\n\n.derivative-step__title {\n    min-width: 0;\n    color: var(--dc-text);\n    font-size: .96rem;\n    font-weight: 790;\n    line-height: 1.35;\n}\n\n.derivative-step__chevron {\n    position: relative;\n    width: 22px;\n    height: 22px;\n}\n\n.derivative-step__chevron::before {\n    content: \"\";\n    position: absolute;\n    top: 6px;\n    left: 7px;\n    width: 7px;\n    height: 7px;\n    border-right: 1.5px solid var(--dc-muted);\n    border-bottom: 1.5px solid var(--dc-muted);\n    transform: rotate(45deg);\n}\n\n.derivative-step[open] .derivative-step__chevron::before {\n    top: 8px;\n    transform: rotate(225deg);\n}\n\n.derivative-step__content {\n    padding: 0 0 18px;\n}\n\n.derivative-step__formula {\n    max-width: 100%;\n    min-width: 0;\n    margin: 2px 0 4px;\n    padding: 12px 0;\n    border: 0;\n    border-radius: 0;\n    background: var(--dc-bg);\n    overflow-x: auto;\n    overflow-y: hidden;\n    white-space: nowrap;\n    -webkit-overflow-scrolling: touch;\n    scrollbar-width: thin;\n    scrollbar-color: var(--dc-border-strong) transparent;\n}\n\n.derivative-step__formula::-webkit-scrollbar {\n    height: 6px;\n}\n\n.derivative-step__formula::-webkit-scrollbar-thumb {\n    border-radius: 999px;\n    background: var(--dc-border-strong);\n}\n\n\/* MathJax spacing *\/\n.derivative-preview__formula .MathJax_Display,\n.derivative-answer-card__formula .MathJax_Display,\n.derivative-step__formula .MathJax_Display {\n    margin: .28em 0 !important;\n}\n\n\/* Server-side error badge compatibility *\/\n.derivative-solution-container .cramer-badge--error,\n.derivative-solution-container p.cramer-badge.cramer-badge--error {\n    display: block !important;\n    width: 100%;\n    margin: 10px 0;\n    padding: 11px 13px;\n    border-left: 3px solid var(--dc-danger);\n    border-radius: 8px;\n    background: var(--dc-danger-soft);\n    color: var(--dc-danger);\n    font-weight: 700;\n    white-space: normal !important;\n    overflow-wrap: anywhere;\n}\n\n\/* =========================================================\n   Responsive\n========================================================= *\/\n@media (max-width: 900px) {\n    .derivative-app {\n        width: calc(100% - 28px);\n    }\n}\n\n@media (max-width: 700px) {\n    .derivative-calculator {\n        padding: 18px;\n    }\n\n    .derivative-help-grid {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n}\n\n@media (max-width: 520px) {\n    .derivative-app {\n        width: calc(100% - 20px);\n        margin: 12px auto;\n    }\n\n    .derivative-calculator {\n        padding: 14px;\n        border-radius: 13px;\n    }\n\n    .derivative-utility-row {\n        grid-template-columns: 1fr;\n        gap: 7px;\n    }\n\n    .derivative-text-button {\n        justify-self: start;\n        padding-left: 0;\n    }\n\n    .derivative-help-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .derivative-answer-card {\n        padding: 15px 13px;\n    }\n\n    .derivative-answer-card__top,\n    .derivative-solution-toolbar {\n        align-items: flex-start;\n        flex-direction: column;\n    }\n\n    .derivative-copy-button {\n        width: 100%;\n    }\n\n    .derivative-solution-toolbar__actions {\n        width: 100%;\n    }\n\n    .derivative-solution-toolbar button {\n        flex: 1 1 0;\n    }\n\n    .derivative-step__summary {\n        grid-template-columns: auto minmax(0, 1fr) 20px;\n        gap: 4px;\n        padding: 13px 0;\n    }\n\n    .derivative-step__number {\n        width: auto;\n        height: auto;\n        font-size: .91rem;\n    }\n\n    .derivative-step__title {\n        font-size: .91rem;\n    }\n\n    .derivative-step__content {\n        padding: 0 0 15px;\n    }\n\n    .derivative-step__formula {\n        margin: 1px 0 3px;\n        padding: 10px 0;\n        font-size: .94rem;\n    }\n}\n\n@media (prefers-reduced-motion: reduce) {\n    .derivative-app *,\n    .derivative-app *::before,\n    .derivative-app *::after {\n        animation-duration: .01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: .01ms !important;\n        scroll-behavior: auto !important;\n    }\n}\n<\/style>\n\n<script>\n(function () {\n    'use strict';\n\n    \/* =====================================================\n       Configuration\n    ===================================================== *\/\n    const APP = document.getElementById('derivative-calculator-app');\n    if (!APP) return;\n\n    const AJAX_URL = (typeof window !== 'undefined' && window.ajaxurl)\n        ? window.ajaxurl\n        : '\/wp-admin\/admin-ajax.php';\n\n    const AJAX_ACTION = 'calculate_derivative_function';\n\n    let activeController = null;\n    let lastResultLatex = '';\n\n    \/* =====================================================\n       i18n\n    ===================================================== *\/\n    const I18N = {\n        uk: {\n            inputLabel: '\u0424\u0443\u043d\u043a\u0446\u0456\u044f',\n            inputAria: '\u041f\u043e\u043b\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u0444\u0443\u043d\u043a\u0446\u0456\u0457 \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX',\n            inputHint: '\u0412\u0432\u043e\u0434\u044c\u0442\u0435 \u043b\u0438\u0448\u0435 f(x) \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX, \u0431\u0435\u0437 y=.',\n            exampleLabel: '\u0428\u0432\u0438\u0434\u043a\u0438\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434',\n            examplePlaceholder: '\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u043f\u0440\u0438\u043a\u043b\u0430\u0434',\n            clearButton: '\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0438',\n            previewTitle: '\u041f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0456\u0439 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434',\n            calculateButton: '\u0417\u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0445\u0456\u0434\u043d\u0443',\n            calculatingButton: '\u0417\u043d\u0430\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0445\u0456\u0434\u043d\u0443\u2026',\n            shortcutLabel: '\u0428\u0432\u0438\u0434\u043a\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a:',\n            helpTitle: '\u041f\u0456\u0434\u043a\u0430\u0437\u043a\u0438 \u0449\u043e\u0434\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044f',\n            helpIntro: \"\u0412\u0432\u043e\u0434\u044c\u0442\u0435 \u043b\u0438\u0448\u0435 \u043f\u0440\u0430\u0432\u0443 \u0447\u0430\u0441\u0442\u0438\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457 y=f(x). \u0417\u0430\u043f\u0438\u0441\u0438 y= \u0442\u0430 y' \u0434\u043e\u0434\u0430\u0432\u0430\u0442\u0438 \u043d\u0435 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e.\",\n            helpPowers: '\u0421\u0442\u0435\u043f\u0435\u043d\u0456 \u0442\u0430 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0438',\n            helpChain: '\u0421\u043a\u043b\u0430\u0434\u0435\u043d\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457',\n            helpProduct: '\u0414\u043e\u0431\u0443\u0442\u043e\u043a \u0456 \u0447\u0430\u0441\u0442\u043a\u0430',\n            helpTrig: '\u0422\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0456\u044f',\n            helpLogs: '\u041b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438 \u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u043d\u0438\u043a\u043e\u0432\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457',\n            helpSpecial: '\u041a\u043e\u0440\u0435\u043d\u0456 \u0442\u0430 \u0441\u043f\u0435\u0446\u0456\u0430\u043b\u044c\u043d\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457',\n            helpNote: '\u0417\u043c\u0456\u043d\u043d\u0430 \u043f\u043e\u0432\u0438\u043d\u043d\u0430 \u0431\u0443\u0442\u0438 \\\\(x\\\\). \u041c\u043d\u043e\u0436\u0435\u043d\u043d\u044f \u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u044f\u043a \\\\(2\\\\cdot x\\\\) \u0430\u0431\u043e \u0441\u043a\u043e\u0440\u043e\u0447\u0435\u043d\u043e: \\\\(2x\\\\), \\\\(x(x+1)\\\\).',\n            loadingTitle: '\u0410\u043d\u0430\u043b\u0456\u0437\u0443\u0454\u043c\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u044e',\n            loadingText: '\u0412\u0438\u0437\u043d\u0430\u0447\u0430\u0454\u043c\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0432\u0438\u0440\u0430\u0437\u0443 \u0442\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u0438\u0444\u0435\u0440\u0435\u043d\u0446\u0456\u044e\u0432\u0430\u043d\u043d\u044f.',\n            answerTitle: '\u0412\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c',\n            copyLatex: '\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 LaTeX',\n            copied: '\u0421\u043a\u043e\u043f\u0456\u0439\u043e\u0432\u0430\u043d\u043e',\n            answerNote: '\u041f\u043e\u0445\u0456\u0434\u043d\u0443 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043e \u0437\u0430 \u0437\u043c\u0456\u043d\u043d\u043e\u044e x.',\n            solutionTitle: '\u041f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u0435 \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f',\n            expandAll: '\u0420\u043e\u0437\u0433\u043e\u0440\u043d\u0443\u0442\u0438 \u0432\u0441\u0456',\n            collapseAll: '\u0417\u0433\u043e\u0440\u043d\u0443\u0442\u0438 \u0432\u0441\u0456',\n            step: '\u041a\u0440\u043e\u043a',\n            errorGeneric: '\u0421\u0442\u0430\u043b\u0430\u0441\u044f \u043f\u043e\u043c\u0438\u043b\u043a\u0430.',\n            errorServerResponse: '\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u0442\u0438 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0430.',\n            errorCalculate: '\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0445\u0456\u0434\u043d\u0443.',\n            errorNoPayload: '\u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u043f\u043e\u0432\u0435\u0440\u043d\u0443\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f.',\n            errorNetwork: '\u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043c\u0435\u0440\u0435\u0436\u0456.',\n            errorEmpty: '\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0456\u044e \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX.'\n        },\n        en: {\n            inputLabel: 'Function',\n            inputAria: 'Input field for the function in LaTeX format',\n            inputHint: 'Enter only f(x) in LaTeX format, without y=.',\n            exampleLabel: 'Quick example',\n            examplePlaceholder: 'Choose an example',\n            clearButton: 'Clear',\n            previewTitle: 'Preview',\n            calculateButton: 'Find Derivative',\n            calculatingButton: 'Differentiating\u2026',\n            shortcutLabel: 'Shortcut:',\n            helpTitle: 'Input tips',\n            helpIntro: \"Enter only the right-hand side of y=f(x). Do not include y= or y'.\",\n            helpPowers: 'Powers and polynomials',\n            helpChain: 'Composite functions',\n            helpProduct: 'Product and quotient',\n            helpTrig: 'Trigonometry',\n            helpLogs: 'Logarithmic and exponential functions',\n            helpSpecial: 'Roots and special functions',\n            helpNote: 'The variable must be \\\\(x\\\\). Multiplication may be written as \\\\(2\\\\cdot x\\\\) or in abbreviated form: \\\\(2x\\\\), \\\\(x(x+1)\\\\).',\n            loadingTitle: 'Analyzing the function',\n            loadingText: 'Identifying the expression structure and differentiation rules.',\n            answerTitle: 'Answer',\n            copyLatex: 'Copy LaTeX',\n            copied: 'Copied',\n            answerNote: 'The derivative is calculated with respect to x.',\n            solutionTitle: 'Step-by-Step Solution',\n            expandAll: 'Expand all',\n            collapseAll: 'Collapse all',\n            step: 'Step',\n            errorGeneric: 'An error occurred.',\n            errorServerResponse: 'Could not get a response from the server.',\n            errorCalculate: 'Could not find the derivative.',\n            errorNoPayload: 'The server did not return a calculation result.',\n            errorNetwork: 'Network error.',\n            errorEmpty: 'Please enter the function in LaTeX format.'\n        },\n        ru: {\n            inputLabel: '\u0424\u0443\u043d\u043a\u0446\u0438\u044f',\n            inputAria: '\u041f\u043e\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 LaTeX',\n            inputHint: '\u0412\u0432\u043e\u0434\u0438\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e f(x) \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 LaTeX, \u0431\u0435\u0437 y=.',\n            exampleLabel: '\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440',\n            examplePlaceholder: '\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440',\n            clearButton: '\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c',\n            previewTitle: '\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440',\n            calculateButton: '\u041d\u0430\u0439\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e',\n            calculatingButton: '\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e\u2026',\n            shortcutLabel: '\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a:',\n            helpTitle: '\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u043f\u043e \u0432\u0432\u043e\u0434\u0443',\n            helpIntro: \"\u0412\u0432\u043e\u0434\u0438\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0430\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 y=f(x). \u0417\u0430\u043f\u0438\u0441\u0438 y= \u0438 y' \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.\",\n            helpPowers: '\u0421\u0442\u0435\u043f\u0435\u043d\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u044b',\n            helpChain: '\u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438',\n            helpProduct: '\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438 \u0447\u0430\u0441\u0442\u043d\u043e\u0435',\n            helpTrig: '\u0422\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u044f',\n            helpLogs: '\u041b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438',\n            helpSpecial: '\u041a\u043e\u0440\u043d\u0438 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438',\n            helpNote: '\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \\\\(x\\\\). \u0423\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u043a \\\\(2\\\\cdot x\\\\) \u0438\u043b\u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u043e: \\\\(2x\\\\), \\\\(x(x+1)\\\\).',\n            loadingTitle: '\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e',\n            loadingText: '\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.',\n            answerTitle: '\u041e\u0442\u0432\u0435\u0442',\n            copyLatex: '\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c LaTeX',\n            copied: '\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e',\n            answerNote: '\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0430 \u043f\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 x.',\n            solutionTitle: '\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435',\n            expandAll: '\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435',\n            collapseAll: '\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435',\n            step: '\u0428\u0430\u0433',\n            errorGeneric: '\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430.',\n            errorServerResponse: '\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.',\n            errorCalculate: '\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e.',\n            errorNoPayload: '\u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f.',\n            errorNetwork: '\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0442\u0438.',\n            errorEmpty: '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 LaTeX.'\n        }\n    };\n\n    function normalizeLanguage(value) {\n        const raw = String(value || '').trim().toLowerCase().replace('_', '-');\n        if (raw === 'ua' || raw.startsWith('uk')) return 'uk';\n        if (raw.startsWith('en')) return 'en';\n        if (raw.startsWith('ru')) return 'ru';\n        return '';\n    }\n\n    function detectLanguage() {\n        const fromWindow = normalizeLanguage(window.DCalcProLang);\n        if (fromWindow) return fromWindow;\n\n        const dataLang = normalizeLanguage(APP.getAttribute('data-lang'));\n        if (dataLang) return dataLang;\n\n        const htmlLang = normalizeLanguage(document.documentElement.getAttribute('lang'));\n        if (htmlLang) return htmlLang;\n\n        const firstPathSegment = String(window.location.pathname || '')\n            .split('\/')\n            .filter(Boolean)[0] || '';\n\n        const pathLang = normalizeLanguage(firstPathSegment);\n        return pathLang || 'uk';\n    }\n\n    const LANG = detectLanguage();\n    const T = I18N[LANG] || I18N.uk;\n\n    function applyTranslations() {\n        APP.querySelectorAll('[data-i18n]').forEach(function (element) {\n            const key = element.getAttribute('data-i18n');\n            if (key && Object.prototype.hasOwnProperty.call(T, key)) {\n                element.textContent = T[key];\n            }\n        });\n\n        APP.querySelectorAll('[data-i18n-aria]').forEach(function (element) {\n            const key = element.getAttribute('data-i18n-aria');\n            if (key && Object.prototype.hasOwnProperty.call(T, key)) {\n                element.setAttribute('aria-label', T[key]);\n            }\n        });\n    }\n\n    \/* =====================================================\n       Helpers\n    ===================================================== *\/\n    function byId(id) {\n        return document.getElementById(id);\n    }\n\n    function escapeHtml(value) {\n        return String(value ?? '').replace(\/[&<>\"']\/g, function (character) {\n            const map = {\n                '&': '&amp;',\n                '<': '&lt;',\n                '>': '&gt;',\n                '\"': '&quot;',\n                \"'\": '&#39;'\n            };\n            return map[character];\n        });\n    }\n\n    function normalizeText(value) {\n        return String(value || '')\n            .toLowerCase()\n            .replace(\/\\s+\/g, ' ')\n            .trim();\n    }\n\n    function getExpression() {\n        const input = byId('derivative-function-latex');\n        return input ? String(input.value || '').trim() : '';\n    }\n\n    function setExpression(value) {\n        const input = byId('derivative-function-latex');\n        if (!input) return;\n        input.value = value || '';\n        updatePreview();\n    }\n\n    \/* =====================================================\n       MathJax v2 + v3 compatibility\n    ===================================================== *\/\n    function renderMathJax(element, tries) {\n        tries = typeof tries === 'number' ? tries : 24;\n        if (!element) return;\n\n        if (window.MathJax && typeof window.MathJax.typesetPromise === 'function') {\n            window.MathJax.typesetPromise([element]).catch(function () {});\n            return;\n        }\n\n        if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Queue) {\n            window.MathJax.Hub.Queue(['Typeset', window.MathJax.Hub, element]);\n            return;\n        }\n\n        if (tries > 0) {\n            setTimeout(function () {\n                renderMathJax(element, tries - 1);\n            }, 150);\n        }\n    }\n\n    \/* =====================================================\n       Error \/ loading\n    ===================================================== *\/\n    function showError(message) {\n        const element = byId('derivative-error');\n        if (!element) return;\n        element.textContent = message || T.errorGeneric;\n        element.classList.add('is-visible');\n    }\n\n    function clearError() {\n        const element = byId('derivative-error');\n        if (!element) return;\n        element.textContent = '';\n        element.classList.remove('is-visible');\n    }\n\n    function markInputError() {\n        const input = byId('derivative-function-latex');\n        if (input) input.classList.add('derivative-input-error');\n    }\n\n    function clearInputError() {\n        const input = byId('derivative-function-latex');\n        if (input) input.classList.remove('derivative-input-error');\n    }\n\n    function setLoading(value) {\n        const loader = byId('derivative-loading');\n        const button = byId('derivative-generate-button');\n\n        if (loader) loader.hidden = !value;\n\n        if (button) {\n            button.disabled = !!value;\n            button.textContent = value ? T.calculatingButton : T.calculateButton;\n        }\n    }\n\n    \/* =====================================================\n       Preview\n    ===================================================== *\/\n    function updatePreview() {\n        const formula = byId('derivative-preview-formula');\n        if (!formula) return;\n\n        const expression = getExpression();\n        formula.textContent = expression\n            ? '\\\\[y=' + expression + '\\\\]'\n            : '\\\\[y=f(x)\\\\]';\n\n        renderMathJax(formula);\n    }\n\n    \/* =====================================================\n       Result helpers\n    ===================================================== *\/\n    function clearResult() {\n        const container = byId('derivative-solution-container');\n        if (!container) return;\n        container.innerHTML = '';\n        container.hidden = true;\n        lastResultLatex = '';\n    }\n\n    function cleanResultLatex(value) {\n        return String(value || '')\n            .trim()\n            .replace(\/^\\\\\\[\/, '')\n            .replace(\/\\\\\\]$\/, '')\n            .replace(\/^\\$\\$\/, '')\n            .replace(\/\\$\\$$\/, '')\n            .trim();\n    }\n\n    function parseStepHtml(html, index) {\n        const holder = document.createElement('div');\n        holder.innerHTML = String(html || '');\n\n        const heading = holder.querySelector('h1, h2, h3, h4, .cramer-step__title');\n        let title = T.step + ' ' + (index + 1);\n\n        if (heading) {\n            const candidate = String(heading.textContent || '').trim();\n            if (candidate) title = candidate;\n        }\n\n        return { title: title };\n    }\n\n    \/* \u0412\u0445\u0456\u0434\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0456\u044f \u0442\u0430 \u0444\u0456\u043d\u0430\u043b\u044c\u043d\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0456 \u043e\u043a\u0440\u0435\u043c\u043e \u0432 UI,\n       \u0442\u043e\u043c\u0443 \u043d\u0435 \u0434\u0443\u0431\u043b\u044e\u0454\u043c\u043e \u0457\u0445 \u0443 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u043e\u043c\u0443 \u0440\u043e\u0437\u0432'\u044f\u0437\u0430\u043d\u043d\u0456. *\/\n    function isStructuralStepTitle(title) {\n        const value = normalizeText(title);\n\n        const structural = [\n            '\u0432\u0445\u0456\u0434\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0456\u044f',\n            '\u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f',\n            'input function',\n            'given function',\n            '\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442',\n            '\u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442',\n            'final result'\n        ];\n\n        return structural.some(function (item) {\n            return value === item || value.includes(item);\n        });\n    }\n\n    \/* =====================================================\n       Render solution\n    ===================================================== *\/\n    function renderSolution(container, payload, expression) {\n        const formulas = Array.isArray(payload[1]) ? payload[1] : [];\n        const texts = Array.isArray(payload[2]) ? payload[2] : [];\n        const resultLatex = cleanResultLatex(payload[0] || '');\n\n        lastResultLatex = resultLatex;\n\n        const count = Math.max(formulas.length, texts.length);\n        const steps = [];\n\n        for (let index = 0; index < count; index++) {\n            const parsed = parseStepHtml(texts[index] || '', index);\n            const formula = formulas[index] || '';\n\n            if (isStructuralStepTitle(parsed.title)) continue;\n            if (!formula) continue;\n\n            steps.push({\n                title: parsed.title,\n                formula: formula\n            });\n        }\n\n        let html = '';\n\n        \/* Answer *\/\n        html +=\n            '<section class=\"derivative-answer-card\">' +\n                '<div class=\"derivative-answer-card__top\">' +\n                    '<h2 class=\"derivative-answer-card__title\">' + escapeHtml(T.answerTitle) + '<\/h2>' +\n                    '<button type=\"button\" class=\"derivative-copy-button\" data-derivative-action=\"copy-result\">' +\n                        escapeHtml(T.copyLatex) +\n                    '<\/button>' +\n                '<\/div>' +\n                '<div class=\"derivative-answer-card__formula\">' +\n                    '\\\\[' +\n                    '\\\\frac{d}{dx}\\\\left(' + escapeHtml(expression) + '\\\\right)=' +\n                    escapeHtml(resultLatex) +\n                    '\\\\]' +\n                '<\/div>' +\n                '<div class=\"derivative-answer-note\">' + escapeHtml(T.answerNote) + '<\/div>' +\n            '<\/section>';\n\n        \/* Solution toolbar *\/\n        if (steps.length > 0) {\n            html +=\n                '<div class=\"derivative-solution-toolbar\">' +\n                    '<h2>' + escapeHtml(T.solutionTitle) + '<\/h2>' +\n                    '<div class=\"derivative-solution-toolbar__actions\">' +\n                        '<button type=\"button\" data-derivative-action=\"expand-all\">' + escapeHtml(T.expandAll) + '<\/button>' +\n                        '<button type=\"button\" data-derivative-action=\"collapse-all\">' + escapeHtml(T.collapseAll) + '<\/button>' +\n                    '<\/div>' +\n                '<\/div>' +\n                '<div class=\"derivative-steps\">';\n\n            steps.forEach(function (step, index) {\n                html +=\n                    '<details class=\"derivative-step\" open>' +\n                        '<summary class=\"derivative-step__summary\">' +\n                            '<span class=\"derivative-step__number\">' + (index + 1) + '.<\/span>' +\n                            '<span class=\"derivative-step__title\">' + escapeHtml(step.title) + '<\/span>' +\n                            '<span class=\"derivative-step__chevron\" aria-hidden=\"true\"><\/span>' +\n                        '<\/summary>' +\n                        '<div class=\"derivative-step__content\">' +\n                            '<div class=\"derivative-step__formula\">' + step.formula + '<\/div>' +\n                        '<\/div>' +\n                    '<\/details>';\n            });\n\n            html += '<\/div>';\n        }\n\n        container.innerHTML = html;\n        container.hidden = false;\n        renderMathJax(container);\n    }\n\n    \/* =====================================================\n       Solution actions \u2014 one persistent delegated listener\n    ===================================================== *\/\n    function handleSolutionClick(event) {\n        const container = byId('derivative-solution-container');\n        if (!container) return;\n\n        const button = event.target.closest('[data-derivative-action]');\n        if (!button || !container.contains(button)) return;\n\n        const action = button.getAttribute('data-derivative-action');\n\n        if (action === 'expand-all') {\n            container.querySelectorAll('.derivative-step').forEach(function (step) {\n                step.open = true;\n            });\n            return;\n        }\n\n        if (action === 'collapse-all') {\n            container.querySelectorAll('.derivative-step').forEach(function (step) {\n                step.open = false;\n            });\n            return;\n        }\n\n        if (action === 'copy-result') {\n            copyResult(button);\n        }\n    }\n\n    \/* =====================================================\n       Copy\n    ===================================================== *\/\n    function copyResult(button) {\n        if (!lastResultLatex) return;\n\n        if (navigator.clipboard && navigator.clipboard.writeText) {\n            navigator.clipboard.writeText(lastResultLatex)\n                .then(function () { showCopiedState(button); })\n                .catch(function () { fallbackCopy(lastResultLatex, button); });\n        } else {\n            fallbackCopy(lastResultLatex, button);\n        }\n    }\n\n    function fallbackCopy(text, button) {\n        const textarea = document.createElement('textarea');\n        textarea.value = text;\n        textarea.style.position = 'fixed';\n        textarea.style.opacity = '0';\n        document.body.appendChild(textarea);\n        textarea.select();\n\n        try {\n            document.execCommand('copy');\n            showCopiedState(button);\n        } catch (error) {\n            \/* no-op *\/\n        }\n\n        textarea.remove();\n    }\n\n    function showCopiedState(button) {\n        if (!button) return;\n        const previous = button.textContent;\n        button.textContent = T.copied;\n        setTimeout(function () {\n            button.textContent = previous;\n        }, 1500);\n    }\n\n    \/* =====================================================\n       AJAX\n    ===================================================== *\/\n    function sendExpressionToServer(expression) {\n        const resultContainer = byId('derivative-solution-container');\n\n        clearResult();\n        clearError();\n        clearInputError();\n\n        if (activeController) {\n            try { activeController.abort(); } catch (error) {}\n        }\n\n        activeController = typeof AbortController !== 'undefined'\n            ? new AbortController()\n            : null;\n\n        setLoading(true);\n\n        const formData = new FormData();\n        formData.append('action', AJAX_ACTION);\n        formData.append('expression', expression);\n        formData.append('lang', LANG);\n\n        const fetchOptions = {\n            method: 'POST',\n            body: formData\n        };\n\n        if (activeController) fetchOptions.signal = activeController.signal;\n\n        fetch(AJAX_URL, fetchOptions)\n            .then(function (response) {\n                if (!response.ok) throw new Error(T.errorServerResponse);\n                return response.json();\n            })\n            .then(function (data) {\n                setLoading(false);\n\n                if (!data || data.success !== true) {\n                    markInputError();\n                    showError(data && data.error ? data.error : T.errorCalculate);\n                    return;\n                }\n\n                if (!data.solution) {\n                    showError(T.errorNoPayload);\n                    return;\n                }\n\n                if (!resultContainer) return;\n\n                renderSolution(resultContainer, data.solution, expression);\n\n                setTimeout(function () {\n                    resultContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });\n                }, 80);\n            })\n            .catch(function (error) {\n                if (error && error.name === 'AbortError') return;\n\n                setLoading(false);\n                markInputError();\n                showError(error && error.message ? error.message : T.errorNetwork);\n            });\n    }\n\n    \/* =====================================================\n       Commands\n    ===================================================== *\/\n    function calculateDerivative() {\n        clearError();\n        clearInputError();\n\n        const expression = getExpression();\n        if (!expression) {\n            markInputError();\n            showError(T.errorEmpty);\n            return;\n        }\n\n        sendExpressionToServer(expression);\n    }\n\n    function clearDerivative() {\n        const input = byId('derivative-function-latex');\n        const select = byId('derivative-example-select');\n\n        if (input) input.value = '';\n        if (select) select.value = '';\n\n        clearError();\n        clearInputError();\n        clearResult();\n        updatePreview();\n\n        if (input) input.focus();\n    }\n\n    \/* =====================================================\n       Events\n    ===================================================== *\/\n    function bindEvents() {\n        const input = byId('derivative-function-latex');\n        const select = byId('derivative-example-select');\n        const calculateButton = byId('derivative-generate-button');\n        const clearButton = byId('derivative-clear-button');\n        const solutionContainer = byId('derivative-solution-container');\n\n        if (input) {\n            input.addEventListener('input', function () {\n                clearError();\n                clearInputError();\n                clearResult();\n                updatePreview();\n            });\n\n            input.addEventListener('keydown', function (event) {\n                if ((event.ctrlKey || event.metaKey) && event.key === 'Enter') {\n                    event.preventDefault();\n                    calculateDerivative();\n                }\n            });\n        }\n\n        if (select) {\n            select.addEventListener('change', function () {\n                clearError();\n                clearInputError();\n                clearResult();\n\n                const value = String(select.value || '').trim();\n                if (value) setExpression(value);\n            });\n        }\n\n        if (calculateButton) calculateButton.addEventListener('click', calculateDerivative);\n        if (clearButton) clearButton.addEventListener('click', clearDerivative);\n        if (solutionContainer) solutionContainer.addEventListener('click', handleSolutionClick);\n    }\n\n    \/* =====================================================\n       Init\n    ===================================================== *\/\n    function init() {\n        applyTranslations();\n        bindEvents();\n        updatePreview();\n        renderMathJax(APP);\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4dd3cf4 elementor-widget elementor-widget-html\" data-id=\"4dd3cf4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section\r\n  id=\"derivative-info-block\"\r\n  class=\"derivative-info-block\"\r\n  data-lang=\"auto\"\r\n>\r\n\r\n  <h2\r\n    id=\"derivative-info-title\"\r\n    class=\"derivative-info-title\"\r\n  >\r\n    \u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0456\u0439: \u044f\u043a \u0446\u0435 \u043f\u0440\u0430\u0446\u044e\u0454?\r\n  <\/h2>\r\n\r\n  <img loading=\"lazy\"\r\n    id=\"derivative-info-image\"\r\n    class=\"derivative-info-image aligncenter wp-image-10020256 size-full\"\r\n    src=\"https:\/\/www.mathros.net.ua\/ru\/wp-content\/uploads\/2026\/03\/derivative-calculator4.jpg\"\r\n    alt=\"\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0456\u0439\"\r\n    width=\"150\"\r\n    height=\"150\"\r\n    loading=\"lazy\"\r\n    decoding=\"async\"\r\n  \/>\r\n\r\n  <p\r\n    id=\"derivative-info-text-1\"\r\n    class=\"derivative-info-text\"\r\n  >\r\n    \u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\r\n    <a\r\n      title=\"\u041e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u043e\u0445\u0456\u0434\u043d\u043e\u0457\"\r\n      href=\"https:\/\/uk.wikipedia.org\/wiki\/%D0%9F%D0%BE%D1%85%D1%96%D0%B4%D0%BD%D0%B0\"\r\n      target=\"_blank\"\r\n      rel=\"nofollow noopener noreferrer\"\r\n    >\u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445<\/a>\r\n    \u043f\u0440\u0430\u0446\u044e\u0454 \u0442\u0430\u043a: \u0432\u0438 \u0432\u0432\u043e\u0434\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0456\u044e \u0443 \u0441\u043f\u0435\u0446\u0456\u0430\u043b\u044c\u043d\u0435 \u043f\u043e\u043b\u0435, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0434\u0440\u0430\u0437\u0443 \u0433\u043e\u0442\u0443\u0454 \u0457\u0457 \u0434\u043e \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f \u0442\u0430 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f. \u0417\u0440\u0443\u0447\u043d\u043e, \u043f\u0440\u0430\u0432\u0434\u0430? \u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u0456\u0439\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0432\u0438\u0440\u0430\u0437 \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX \u0430\u0431\u043e \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u0437\u0456 \u0441\u043f\u0438\u0441\u043a\u0443, \u0449\u043e\u0431 \u0448\u0432\u0438\u0434\u043a\u043e \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438, \u044f\u043a \u0443\u0441\u0435 \u043f\u0440\u0430\u0446\u044e\u0454 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0446\u0456.\r\n  <\/p>\r\n\r\n  <p\r\n    id=\"derivative-info-text-2\"\r\n    class=\"derivative-info-text\"\r\n  >\r\n    \u0414\u0430\u043b\u0456 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u044f\u0454 \u0437\u0430\u043f\u0438\u0441, \u043f\u043e\u043a\u0430\u0437\u0443\u0454 \u043f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0456\u0439 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434 \u0444\u0443\u043d\u043a\u0446\u0456\u0457 \u0439 \u0434\u043e\u043f\u043e\u043c\u0430\u0433\u0430\u0454 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0430\u0442\u0438\u0441\u044f, \u0449\u043e \u0432\u0438 \u0432\u0432\u0435\u043b\u0438 \u0441\u0430\u043c\u0435 \u0442\u043e\u0439 \u0432\u0438\u0440\u0430\u0437, \u044f\u043a\u0438\u0439 \u0445\u043e\u0442\u0456\u043b\u0438. \u0425\u0456\u0431\u0430 \u043d\u0435 \u043a\u043e\u0440\u0438\u0441\u043d\u043e \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0449\u0435 \u0434\u043e \u043f\u043e\u0447\u0430\u0442\u043a\u0443 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f? \u042f\u043a\u0449\u043e \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e, \u043c\u043e\u0436\u043d\u0430 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043f\u043e\u043b\u0435, \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0456\u043d\u0448\u0438\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u0456 \u0432\u0456\u0434\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432\u0438\u0440\u0430\u0437\u0443 \u0431\u0435\u0437 \u0437\u0430\u0439\u0432\u0438\u0445 \u0434\u0456\u0439.\r\n  <\/p>\r\n\r\n  <p\r\n    id=\"derivative-info-text-3\"\r\n    class=\"derivative-info-text\"\r\n  >\r\n    \u041f\u0456\u0441\u043b\u044f \u043d\u0430\u0442\u0438\u0441\u043a\u0430\u043d\u043d\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f \u0456\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\r\n    <a\r\n      title=\"\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u0438\u0444\u0435\u0440\u0435\u043d\u0446\u0456\u044e\u0432\u0430\u043d\u043d\u044f \u0456 \u0442\u0430\u0431\u043b\u0438\u0446\u044f \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445\"\r\n      href=\"https:\/\/www.mathros.net.ua\/pravyla-dyferencijuvannja-funkcij-i-tablycja-pohidnyh.html\"\r\n    >\u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0445\u0456\u0434\u043d\u0443<\/a>\r\n    \u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u0443\u0454 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u0435 \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f, \u0449\u043e\u0431 \u0432\u0438 \u0431\u0430\u0447\u0438\u043b\u0438 \u043d\u0435 \u043b\u0438\u0448\u0435 \u0433\u043e\u0442\u043e\u0432\u0443 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c, \u0430 \u0439 \u0443\u0441\u0456 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u0456 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f. \u0421\u0430\u043c\u0435 \u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0441\u043e\u0431\u043b\u0438\u0432\u043e \u0437\u0440\u0443\u0447\u043d\u0438\u0439 \u0434\u043b\u044f \u043d\u0430\u0432\u0447\u0430\u043d\u043d\u044f. \u0410\u0434\u0436\u0435 \u043d\u0430\u0431\u0430\u0433\u0430\u0442\u043e \u043b\u0435\u0433\u0448\u0435 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u0442\u0438 \u0442\u0435\u043c\u0443, \u043a\u043e\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u043e\u0447\u0438\u043c\u0430 \u0454 \u043a\u043e\u0436\u0435\u043d \u0435\u0442\u0430\u043f \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f, \u0447\u0438 \u043d\u0435 \u0442\u0430\u043a?\r\n  <\/p>\r\n\r\n<\/section>\r\n\r\n\r\n<style>\r\n\/* =========================================================\r\n   Derivative Calculator Info Block\r\n========================================================= *\/\r\n\r\n.derivative-info-block {\r\n  width: 100%;\r\n  max-width: 100%;\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\r\n========================================================= *\/\r\n\r\n.derivative-info-title {\r\n  width: min(860px, calc(100% - 32px));\r\n  max-width: 860px;\r\n\r\n  margin: 22px auto 12px;\r\n  padding: 0;\r\n\r\n  font-family:\r\n    system-ui,\r\n    -apple-system,\r\n    \"Segoe UI\",\r\n    Roboto,\r\n    \"Helvetica Neue\",\r\n    Arial,\r\n    \"Noto Sans\",\r\n    \"Liberation Sans\",\r\n    sans-serif;\r\n\r\n  font-size: clamp(\r\n    1.2rem,\r\n    1.05rem + .8vw,\r\n    1.55rem\r\n  );\r\n\r\n  font-weight: 650;\r\n  line-height: 1.35;\r\n  letter-spacing: .002em;\r\n\r\n  color: #334155;\r\n\r\n  text-align: center;\r\n  text-wrap: balance;\r\n\r\n  -webkit-hyphens: none;\r\n  -ms-hyphens: none;\r\n  hyphens: none;\r\n\r\n  word-break: normal;\r\n  overflow-wrap: normal;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0410\u0431\u0437\u0430\u0446\u0438\r\n========================================================= *\/\r\n\r\n.derivative-info-text {\r\n  width: min(800px, calc(100% - 32px));\r\n  max-width: 800px;\r\n\r\n  margin: 10px auto;\r\n  padding: 0;\r\n\r\n  font-family:\r\n    system-ui,\r\n    -apple-system,\r\n    \"Segoe UI\",\r\n    Roboto,\r\n    \"Helvetica Neue\",\r\n    Arial,\r\n    \"Noto Sans\",\r\n    \"Liberation Sans\",\r\n    sans-serif;\r\n\r\n  font-size: clamp(\r\n    .95rem,\r\n    .92rem + .2vw,\r\n    1rem\r\n  );\r\n\r\n  font-weight: 400;\r\n  line-height: 1.7;\r\n\r\n  color: #475569;\r\n\r\n  text-align: left;\r\n  text-wrap: pretty;\r\n\r\n  -webkit-hyphens: none;\r\n  -ms-hyphens: none;\r\n  hyphens: none;\r\n\r\n  word-break: normal;\r\n  overflow-wrap: normal;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u041f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f\r\n========================================================= *\/\r\n\r\n.derivative-info-text a {\r\n  color: #0B638B;\r\n\r\n  text-decoration: underline;\r\n  text-decoration-thickness: 1px;\r\n  text-underline-offset: 3px;\r\n\r\n  -webkit-hyphens: none;\r\n  -ms-hyphens: none;\r\n  hyphens: none;\r\n\r\n  word-break: normal;\r\n  overflow-wrap: normal;\r\n}\r\n\r\n.derivative-info-text a:hover,\r\n.derivative-info-text a:focus-visible {\r\n  color: #095676;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0417\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f\r\n========================================================= *\/\r\n\r\n.derivative-info-image {\r\n  display: block;\r\n\r\n  width: 150px;\r\n  max-width: 100%;\r\n  height: auto;\r\n\r\n  margin: 16px auto;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0422\u0435\u043c\u043d\u0430 \u0442\u0435\u043c\u0430\r\n========================================================= *\/\r\n\r\n@media (prefers-color-scheme: dark) {\r\n\r\n  .derivative-info-title {\r\n    color: #cbd5e1;\r\n  }\r\n\r\n  .derivative-info-text {\r\n    color: #9cb0c0;\r\n  }\r\n\r\n  .derivative-info-text a {\r\n    color: #58b6e4;\r\n  }\r\n\r\n  .derivative-info-text a:hover,\r\n  .derivative-info-text a:focus-visible {\r\n    color: #45a7d9;\r\n  }\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u041f\u043b\u0430\u043d\u0448\u0435\u0442\u0438\r\n========================================================= *\/\r\n\r\n@media (max-width: 768px) {\r\n\r\n  .derivative-info-title {\r\n    margin: 18px auto 10px;\r\n  }\r\n\r\n  .derivative-info-text {\r\n    margin: 8px auto;\r\n  }\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0422\u0435\u043b\u0435\u0444\u043e\u043d\u0438\r\n========================================================= *\/\r\n\r\n@media (max-width: 480px) {\r\n\r\n  .derivative-info-title {\r\n    width: calc(100% - 24px);\r\n\r\n    font-size: 1.15rem;\r\n    line-height: 1.4;\r\n  }\r\n\r\n  .derivative-info-text {\r\n    width: calc(100% - 24px);\r\n\r\n    font-size: .95rem;\r\n    line-height: 1.65;\r\n  }\r\n\r\n  .derivative-info-image {\r\n    width: 140px;\r\n  }\r\n\r\n}\r\n<\/style>\r\n\r\n\r\n<script>\r\n(function () {\r\n\r\n  'use strict';\r\n\r\n\r\n  \/* =====================================================\r\n     \u041f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u0438\r\n  ===================================================== *\/\r\n\r\n  const translations = {\r\n\r\n    uk: {\r\n\r\n      title:\r\n        '\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0456\u0439: \u044f\u043a \u0446\u0435 \u043f\u0440\u0430\u0446\u044e\u0454?',\r\n\r\n      imageAlt:\r\n        '\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0456\u0439',\r\n\r\n      text1:\r\n        '\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 <a title=\"\u041e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u043e\u0445\u0456\u0434\u043d\u043e\u0457\" href=\"https:\/\/uk.wikipedia.org\/wiki\/%D0%9F%D0%BE%D1%85%D1%96%D0%B4%D0%BD%D0%B0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445<\/a> \u043f\u0440\u0430\u0446\u044e\u0454 \u0442\u0430\u043a: \u0432\u0438 \u0432\u0432\u043e\u0434\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0456\u044e \u0443 \u0441\u043f\u0435\u0446\u0456\u0430\u043b\u044c\u043d\u0435 \u043f\u043e\u043b\u0435, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0434\u0440\u0430\u0437\u0443 \u0433\u043e\u0442\u0443\u0454 \u0457\u0457 \u0434\u043e \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f \u0442\u0430 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f. \u0417\u0440\u0443\u0447\u043d\u043e, \u043f\u0440\u0430\u0432\u0434\u0430? \u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u0456\u0439\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0432\u0438\u0440\u0430\u0437 \u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0456 LaTeX \u0430\u0431\u043e \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u0437\u0456 \u0441\u043f\u0438\u0441\u043a\u0443, \u0449\u043e\u0431 \u0448\u0432\u0438\u0434\u043a\u043e \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438, \u044f\u043a \u0443\u0441\u0435 \u043f\u0440\u0430\u0446\u044e\u0454 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0446\u0456.',\r\n\r\n      text2:\r\n        '\u0414\u0430\u043b\u0456 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u044f\u0454 \u0437\u0430\u043f\u0438\u0441, \u043f\u043e\u043a\u0430\u0437\u0443\u0454 \u043f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0456\u0439 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434 \u0444\u0443\u043d\u043a\u0446\u0456\u0457 \u0439 \u0434\u043e\u043f\u043e\u043c\u0430\u0433\u0430\u0454 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0430\u0442\u0438\u0441\u044f, \u0449\u043e \u0432\u0438 \u0432\u0432\u0435\u043b\u0438 \u0441\u0430\u043c\u0435 \u0442\u043e\u0439 \u0432\u0438\u0440\u0430\u0437, \u044f\u043a\u0438\u0439 \u0445\u043e\u0442\u0456\u043b\u0438. \u0425\u0456\u0431\u0430 \u043d\u0435 \u043a\u043e\u0440\u0438\u0441\u043d\u043e \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0449\u0435 \u0434\u043e \u043f\u043e\u0447\u0430\u0442\u043a\u0443 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f? \u042f\u043a\u0449\u043e \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e, \u043c\u043e\u0436\u043d\u0430 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043f\u043e\u043b\u0435, \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0456\u043d\u0448\u0438\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u0456 \u0432\u0456\u0434\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432\u0438\u0440\u0430\u0437\u0443 \u0431\u0435\u0437 \u0437\u0430\u0439\u0432\u0438\u0445 \u0434\u0456\u0439.',\r\n\r\n      text3:\r\n        '\u041f\u0456\u0441\u043b\u044f \u043d\u0430\u0442\u0438\u0441\u043a\u0430\u043d\u043d\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f \u0456\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 <a title=\"\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u0438\u0444\u0435\u0440\u0435\u043d\u0446\u0456\u044e\u0432\u0430\u043d\u043d\u044f \u0456 \u0442\u0430\u0431\u043b\u0438\u0446\u044f \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445\" href=\"https:\/\/www.mathros.net.ua\/pravyla-dyferencijuvannja-funkcij-i-tablycja-pohidnyh.html\">\u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0445\u0456\u0434\u043d\u0443<\/a> \u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u0443\u0454 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u0435 \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f, \u0449\u043e\u0431 \u0432\u0438 \u0431\u0430\u0447\u0438\u043b\u0438 \u043d\u0435 \u043b\u0438\u0448\u0435 \u0433\u043e\u0442\u043e\u0432\u0443 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c, \u0430 \u0439 \u0443\u0441\u0456 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u0456 \u043e\u0431\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044f. \u0421\u0430\u043c\u0435 \u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0441\u043e\u0431\u043b\u0438\u0432\u043e \u0437\u0440\u0443\u0447\u043d\u0438\u0439 \u0434\u043b\u044f \u043d\u0430\u0432\u0447\u0430\u043d\u043d\u044f. \u0410\u0434\u0436\u0435 \u043d\u0430\u0431\u0430\u0433\u0430\u0442\u043e \u043b\u0435\u0433\u0448\u0435 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u0442\u0438 \u0442\u0435\u043c\u0443, \u043a\u043e\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u043e\u0447\u0438\u043c\u0430 \u0454 \u043a\u043e\u0436\u0435\u043d \u0435\u0442\u0430\u043f \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f, \u0447\u0438 \u043d\u0435 \u0442\u0430\u043a?'\r\n\r\n    },\r\n\r\n\r\n    en: {\r\n\r\n      title:\r\n        'Derivative calculator: How does it work?',\r\n\r\n      imageAlt:\r\n        'Derivative calculator',\r\n\r\n      text1:\r\n        'The <a title=\"What is a derivative\" href=\"https:\/\/en.wikipedia.org\/wiki\/Derivative\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">derivative<\/a> calculator works like this: you enter a function in the input field, and the system prepares it for calculation and a step-by-step solution. Convenient, right? You can enter an expression in LaTeX format or choose a ready-made example from the list to quickly see how the calculator works in practice.',\r\n\r\n      text2:\r\n        'Next, the calculator checks the input and displays a preview of the function, helping you make sure that you entered the expression you intended. Isn\u2019t it useful to see the formula before the calculation begins? If necessary, you can clear the field, choose another example, and immediately work with a new expression.',\r\n\r\n      text3:\r\n        'After you click the calculate button, the tool finds the derivative and displays the solution step by step, so you can see not only the final answer but also the calculations used to obtain it. This format is especially useful for learning because it is much easier to understand the topic when every step of the solution is shown.'\r\n\r\n    },\r\n\r\n\r\n    ru: {\r\n\r\n      title:\r\n        '\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439: \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?',\r\n\r\n      imageAlt:\r\n        '\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439',\r\n\r\n      text1:\r\n        '\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 <a title=\"\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445<\/a> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u0430\u043a: \u0432\u044b \u0432\u0432\u043e\u0434\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0435\u0451 \u043a \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044e \u0438 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u043c\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u044e. \u0423\u0434\u043e\u0431\u043d\u043e, \u043f\u0440\u0430\u0432\u0434\u0430? \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 LaTeX \u0438\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u043a\u0430\u043a \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.',\r\n\r\n      text2:\r\n        '\u0414\u0430\u043b\u0435\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u044b \u0432\u0432\u0435\u043b\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0445\u043e\u0442\u0435\u043b\u0438. \u0420\u0430\u0437\u0432\u0435 \u043d\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0435\u0449\u0451 \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f? \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u043b\u0435, \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043d\u043e\u0432\u043e\u043c\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044e \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439.',\r\n\r\n      text3:\r\n        '\u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u0432\u0438\u0434\u0435\u043b\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0442, \u043d\u043e \u0438 \u0432\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0412\u0435\u0434\u044c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0435\u0433\u0447\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0442\u0435\u043c\u0443, \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0435\u0434 \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u0442\u0430\u043f \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u0435 \u0442\u0430\u043a \u043b\u0438?'\r\n\r\n    }\r\n\r\n  };\r\n\r\n\r\n  \/* =====================================================\r\n     \u041d\u043e\u0440\u043c\u0430\u043b\u0456\u0437\u0430\u0446\u0456\u044f \u043c\u043e\u0432\u0438\r\n  ===================================================== *\/\r\n\r\n  function normalizeLanguage(value) {\r\n\r\n    const language =\r\n      String(value || '')\r\n        .trim()\r\n        .toLowerCase()\r\n        .replace('_', '-');\r\n\r\n\r\n    if (\r\n      language === 'uk' ||\r\n      language === 'ua' ||\r\n      language.startsWith('uk-') ||\r\n      language.startsWith('ua-')\r\n    ) {\r\n      return 'uk';\r\n    }\r\n\r\n\r\n    if (\r\n      language === 'en' ||\r\n      language.startsWith('en-')\r\n    ) {\r\n      return 'en';\r\n    }\r\n\r\n\r\n    if (\r\n      language === 'ru' ||\r\n      language.startsWith('ru-')\r\n    ) {\r\n      return 'ru';\r\n    }\r\n\r\n\r\n    return '';\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     \u0412\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u043e\u0432\u0438\r\n  ===================================================== *\/\r\n\r\n  function detectLanguage() {\r\n\r\n    \/*\r\n     * 1. \u042f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u0430 \u043c\u043e\u0432\u0430 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u0430.\r\n     *\r\n     * \u041f\u0456\u0434\u0442\u0440\u0438\u043c\u0443\u0454\u043c\u043e DCalcProLang,\r\n     * \u043e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u0446\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0445\u0456\u0434\u043d\u0438\u0445.\r\n     *\/\r\n\r\n    if (\r\n      typeof window !== 'undefined' &&\r\n      window.DCalcProLang\r\n    ) {\r\n\r\n      const derivativeLanguage =\r\n        normalizeLanguage(\r\n          window.DCalcProLang\r\n        );\r\n\r\n\r\n      if (derivativeLanguage) {\r\n        return derivativeLanguage;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/*\r\n     * \u0417\u0430\u043b\u0438\u0448\u0430\u0454\u043c\u043e \u0441\u0443\u043c\u0456\u0441\u043d\u0456\u0441\u0442\u044c \u0437\u0456 \u0441\u0442\u0430\u0440\u0438\u043c\r\n     * \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c ICalcProLang.\r\n     *\/\r\n\r\n    if (\r\n      typeof window !== 'undefined' &&\r\n      window.ICalcProLang\r\n    ) {\r\n\r\n      const legacyLanguage =\r\n        normalizeLanguage(\r\n          window.ICalcProLang\r\n        );\r\n\r\n\r\n      if (legacyLanguage) {\r\n        return legacyLanguage;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/*\r\n     * 2. data-lang \u0431\u043b\u043e\u043a\u0430.\r\n     *\/\r\n\r\n    const block =\r\n      document.getElementById(\r\n        'derivative-info-block'\r\n      );\r\n\r\n\r\n    if (block) {\r\n\r\n      const dataLanguage =\r\n        block.getAttribute(\r\n          'data-lang'\r\n        );\r\n\r\n\r\n      if (\r\n        dataLanguage &&\r\n        dataLanguage !== 'auto'\r\n      ) {\r\n\r\n        const blockLanguage =\r\n          normalizeLanguage(\r\n            dataLanguage\r\n          );\r\n\r\n\r\n        if (blockLanguage) {\r\n          return blockLanguage;\r\n        }\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/*\r\n     * 3. \u041c\u043e\u0432\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.\r\n     *\/\r\n\r\n    const htmlLanguage =\r\n      normalizeLanguage(\r\n        document.documentElement.getAttribute('lang')\r\n      );\r\n\r\n\r\n    if (htmlLanguage) {\r\n      return htmlLanguage;\r\n    }\r\n\r\n\r\n    \/*\r\n     * 4. \u041f\u0435\u0440\u0448\u0430 \u0447\u0430\u0441\u0442\u0438\u043d\u0430 URL:\r\n     *\r\n     * \/uk\/...\r\n     * \/en\/...\r\n     * \/ru\/...\r\n     *\/\r\n\r\n    const firstPathSegment =\r\n      String(\r\n        window.location.pathname || ''\r\n      )\r\n        .split('\/')\r\n        .filter(Boolean)[0] || '';\r\n\r\n\r\n    const pathLanguage =\r\n      normalizeLanguage(\r\n        firstPathSegment\r\n      );\r\n\r\n\r\n    if (pathLanguage) {\r\n      return pathLanguage;\r\n    }\r\n\r\n\r\n    \/*\r\n     * 5. \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430 \u043c\u043e\u0432\u0430.\r\n     *\/\r\n\r\n    return 'uk';\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     MathJax v2 \/ v3\r\n  ===================================================== *\/\r\n\r\n  function renderMath(element, tries) {\r\n\r\n    tries =\r\n      typeof tries === 'number'\r\n        ? tries\r\n        : 15;\r\n\r\n\r\n    if (!element) {\r\n      return;\r\n    }\r\n\r\n\r\n    \/*\r\n     * MathJax v3\r\n     *\/\r\n\r\n    if (\r\n      window.MathJax &&\r\n      typeof window.MathJax.typesetPromise === 'function'\r\n    ) {\r\n\r\n      window.MathJax\r\n        .typesetPromise([element])\r\n        .catch(function () {});\r\n\r\n      return;\r\n    }\r\n\r\n\r\n    \/*\r\n     * MathJax v2\r\n     *\/\r\n\r\n    if (\r\n      window.MathJax &&\r\n      window.MathJax.Hub &&\r\n      window.MathJax.Hub.Queue\r\n    ) {\r\n\r\n      window.MathJax.Hub.Queue([\r\n        'Typeset',\r\n        window.MathJax.Hub,\r\n        element\r\n      ]);\r\n\r\n      return;\r\n    }\r\n\r\n\r\n    \/*\r\n     * \u042f\u043a\u0449\u043e MathJax \u0449\u0435 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0443\u0454\u0442\u044c\u0441\u044f.\r\n     *\/\r\n\r\n    if (tries > 0) {\r\n\r\n      setTimeout(\r\n        function () {\r\n\r\n          renderMath(\r\n            element,\r\n            tries - 1\r\n          );\r\n\r\n        },\r\n        120\r\n      );\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     \u0417\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u0443\r\n  ===================================================== *\/\r\n\r\n  function applyTranslation() {\r\n\r\n    const language =\r\n      detectLanguage();\r\n\r\n\r\n    const dictionary =\r\n      translations[language] ||\r\n      translations.uk;\r\n\r\n\r\n    const block =\r\n      document.getElementById(\r\n        'derivative-info-block'\r\n      );\r\n\r\n\r\n    if (!block) {\r\n      return;\r\n    }\r\n\r\n\r\n    const title =\r\n      document.getElementById(\r\n        'derivative-info-title'\r\n      );\r\n\r\n\r\n    const image =\r\n      document.getElementById(\r\n        'derivative-info-image'\r\n      );\r\n\r\n\r\n    const text1 =\r\n      document.getElementById(\r\n        'derivative-info-text-1'\r\n      );\r\n\r\n\r\n    const text2 =\r\n      document.getElementById(\r\n        'derivative-info-text-2'\r\n      );\r\n\r\n\r\n    const text3 =\r\n      document.getElementById(\r\n        'derivative-info-text-3'\r\n      );\r\n\r\n\r\n    if (title) {\r\n      title.textContent =\r\n        dictionary.title;\r\n    }\r\n\r\n\r\n    if (image) {\r\n      image.alt =\r\n        dictionary.imageAlt;\r\n    }\r\n\r\n\r\n    \/*\r\n     * \u041f\u0435\u0440\u0448\u0438\u0439 \u0430\u0431\u0437\u0430\u0446 \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f.\r\n     *\/\r\n\r\n    if (text1) {\r\n      text1.innerHTML =\r\n        dictionary.text1;\r\n    }\r\n\r\n\r\n    \/*\r\n     * \u0414\u0440\u0443\u0433\u0438\u0439 \u0430\u0431\u0437\u0430\u0446 \u043d\u0435 \u043c\u0456\u0441\u0442\u0438\u0442\u044c HTML.\r\n     *\/\r\n\r\n    if (text2) {\r\n      text2.textContent =\r\n        dictionary.text2;\r\n    }\r\n\r\n\r\n    \/*\r\n     * \u0422\u0440\u0435\u0442\u0456\u0439 \u0430\u0431\u0437\u0430\u0446 \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f.\r\n     *\/\r\n\r\n    if (text3) {\r\n      text3.innerHTML =\r\n        dictionary.text3;\r\n    }\r\n\r\n\r\n    \/*\r\n     * \u0412\u043a\u0430\u0437\u0443\u0454\u043c\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u043d\u0443 \u043c\u043e\u0432\u0443 \u0431\u043b\u043e\u043a\u0430.\r\n     *\/\r\n\r\n    block.setAttribute(\r\n      'lang',\r\n      language\r\n    );\r\n\r\n\r\n    renderMath(\r\n      block\r\n    );\r\n\r\n  }\r\n\r\n\r\n  \/* =====================================================\r\n     Init\r\n  ===================================================== *\/\r\n\r\n  function init() {\r\n    applyTranslation();\r\n  }\r\n\r\n\r\n  if (\r\n    document.readyState === 'loading'\r\n  ) {\r\n\r\n    document.addEventListener(\r\n      'DOMContentLoaded',\r\n      init,\r\n      { once: true }\r\n    );\r\n\r\n  } else {\r\n\r\n    init();\r\n\r\n  }\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u041d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0447\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u043d\u0430\u0439\u0448\u043b\u0438 \u043f\u043e\u0445\u0456\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457? \u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0456\u044e \u0443 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u0456 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u044c\u0442\u0435 \u043f\u043e\u043a\u0440\u043e\u043a\u043e\u0432\u0435 \u0440\u043e\u0437\u0432\u2019\u044f\u0437\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437! \u0424\u0443\u043d\u043a\u0446\u0456\u044f \u0412\u0432\u043e\u0434\u044c\u0442\u0435 \u043b\u0438\u0448\u0435<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-centered.php","meta":{"footnotes":""},"class_list":["post-1443","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/pages\/1443"}],"collection":[{"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/comments?post=1443"}],"version-history":[{"count":29,"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/pages\/1443\/revisions"}],"predecessor-version":[{"id":3918,"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/pages\/1443\/revisions\/3918"}],"wp:attachment":[{"href":"https:\/\/www.mathros.net.ua\/ru\/wp-json\/wp\/v2\/media?parent=1443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}