Length of Triangle Calculator – Find Missing Side Lengths Fast

Length of Triangle Calculator

Find the missing side lengths of a triangle using various known inputs.

Enter the two known sides (legs or hypotenuse+leg).

Triangles are one of the most important shapes in geometry. They are used in school mathematics, engineering designs, construction projects, land surveying, and many real-life measurements.

Very often, we know only some parts of a triangle, such as two sides or a few angles, and we need to find the length of the remaining side.

The Length of Triangle Calculator is a simple and powerful tool that helps you calculate the unknown side of a triangle quickly. Instead of applying different formulas by hand, you just enter the known values, and the calculator gives you the correct answer instantly.

This tool saves time, reduces mistakes, and makes triangle calculations easy for students, teachers, engineers, and professionals.

What the Length of Triangle Calculator Is

A Triangle Side Length Solver

The Length of Triangle Calculator is an online geometry tool designed to find the missing side length of a triangle. It works for both:

  • Right triangles (with a 90° angle)

  • Non-right triangles (acute or obtuse)

Depending on the information you provide, the calculator automatically selects the correct mathematical rule to solve the triangle.

What the Calculator Can Find

The calculator can compute:

  • The unknown side length

  • Sometimes the missing angles

  • Triangle validity

All results are based on standard geometry and trigonometry formulas.

How the Length of Triangle Calculator Works

Step 1: Enter Known Values

You begin by entering the values you already know, such as:

  • Two sides

  • Two angles and one side

  • Two sides of a right triangle

Step 2: Choose the Correct Formula

The calculator identifies which rule to use:

  • Pythagorean Theorem (for right triangles)

  • Law of Cosines (for two sides and an included angle)

  • Law of Sines (for two angles and one side)

Step 3: Display the Result

The missing side length is calculated instantly and shown clearly.

This process avoids long manual calculations and reduces errors.

Key Formulas Used

Pythagorean Theorem (Right Triangles)

Used when the triangle has a 90° angle.

a^2 + b^2 = c^2

Here:

  • (a) and (b) are the shorter sides

  • (c) is the hypotenuse

Law of Cosines (General Triangles)

Used when two sides and the included angle are known.

c^2 = a^2 + b^2 - 2ab\cos(C)

Law of Sines (General Triangles)

Used when two angles and one side are known.

\frac{a}{\sin A} = \frac{b}{\sin B} = \frac{c}{\sin C}

These formulas allow the calculator to solve any triangle side.

Step-by-Step Examples

Example 1: Right Triangle

Given:

  • a = 9 units

  • b = 12 units

Find side c.

c^2 = 9^2 + 12^2 c^2 = 81 + 144 = 225 c = \sqrt{225} = 15

So, the missing side is 15 units.

Example 2: Non-Right Triangle (Law of Cosines)

Given:

  • a = 6 units

  • b = 10 units

  • C = 45°

c^2 = 6^2 + 10^2 - 2(6)(10)\cos(45^\circ) c^2 = 36 + 100 - 120(0.707) c^2 \approx 51.16 c \approx 7.15

The missing side is 7.15 units.

Features of the Length of Triangle Calculator

Works for All Triangle Types

The calculator can solve right, acute, and obtuse triangles using the correct formula.

Fast and Accurate Results

All calculations are done instantly using verified geometry rules.

Simple Input System

You only need to enter the known values. No advanced math knowledge is required.

Beginner-Friendly Design

The tool is easy to use for students and non-experts.

Uses and Applications

Education and Homework

Students use this calculator to solve triangle problems, check their answers, and understand geometry formulas better.

Construction and Design

Builders and designers calculate side lengths for layouts, measurements, and structural planning.

Engineering and Surveying

Engineers and surveyors use triangle geometry to measure distances, angles, and land areas accurately.

Tips to Avoid Common Mistakes

Many users forget to check whether the triangle is a right triangle or not. The Pythagorean Theorem only works for triangles with a 90° angle. If the triangle does not have a right angle, you must use the Law of Sines or Law of Cosines instead.

Another common mistake is entering angles in radians instead of degrees. This calculator expects angles in degrees, so always confirm the unit before calculating.

Some users label the triangle sides incorrectly. Remember that side c is always opposite angle C, side a is opposite A, and side b is opposite B.

Using different measurement units for each side can also cause incorrect results. Always keep all values in the same unit system.

Finally, avoid rounding numbers too early. Let the calculator complete all calculations before rounding the final answer.

FAQs

What does the Length of Triangle Calculator find?

It finds the missing side length of a triangle.

Can it solve right triangles?

Yes, it uses the Pythagorean Theorem for right triangles.

Can it solve non-right triangles?

Yes, it uses the Law of Sines and Law of Cosines.

Is the calculator free to use?

Most triangle calculators are available for free online.

Final Words

The Length of Triangle Calculator is a powerful and easy-to-use geometry tool for solving triangle side problems.

Whether you are a student, teacher, engineer, or builder, this calculator saves time, improves accuracy, and makes triangle calculations s

Similar Posts

  • Obtuse Triangle Area Calculator — Find Area With Base, Sides & Angles

    Obtuse Triangle Area Calculator Select Method A. Base & HeightB. Three Sides (Heron’s Formula)C. Two Sides & Included Angle Base Height Side a Side b Side c Side a Side b Included Angle (degrees) Select Unit mmcmminft Calculate Area Formulas Used: A = ½ × base × height A = √[s(s−a)(s−b)(s−c)] A = ½ ×…

  • Orthocenter of Triangle Calculator – Find Triangle Altitude Intersection Point

    Orthocenter of Triangle Calculator Find the orthocenter (intersection of altitudes) of a triangle. Solve By Vertex Coordinates (A, B, C)Sides + One Vertex Coordinates A (x₁, y₁) B (x₂, y₂) C (x₃, y₃) Given three side lengths and one known vertex, compute third coordinates via geometry then orthocenter. Side a (BC) Side b (AC) Side…

  • Triangle Area Using Vectors Calculator — Calculate Area from Vector Inputs

    Triangle Area Calculator Using Vectors 2D Vectors 3D Vectors Vector A Vector B Select Unit mmcmminft Calculate Area Formula: Area = ½ × |A × B| In 2D: ½ × |Ax·By − Ay·Bx| In 3D: ½ × |cross product magnitude| In mathematics, physics, and engineering, vectors are used to represent quantities that have both magnitude…

  • Missing Side of Triangle Calculator – Find Side Length Instantly

    // Base64 Content var b64 = “PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPk1pc3NpbmcgU2lkZSBvZiBUcmlhbmdsZSBDYWxjdWxhdG9yPC90aXRsZT4KPC9oZWFkPgoKPGJvZHk+CgogICAgPCEtLSBNaXNzaW5nIFNpZGUgb2YgVHJpYW5nbGUgQ2FsY3VsYXRvciBTdGFydCAtLT4KICAgIDxkaXYgaWQ9Im1zdGMtY29udGFpbmVyIiBjbGFzcz0ibXN0Yy13cmFwcGVyIj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5tc3RjLXdyYXBwZXIgewogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4OwogICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTsKICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLm1zdGMtd3JhcHBlciAqIHsKICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5tc3RjLWhlYWRlciB7CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAubXN0Yy1oZWFkZXIgaDIgewogICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7CiAgICAgICAgICAgICAgICBjb2xvcjogIzhlNDRhZDsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLm1zdGMtc3VidGl0bGUgewogICAgICAgICAgICAgICAgY29sb3I6ICM5YjU5YjY7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRlY2Y3OwogICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICB9CgogICAgICAgICAgICAubXN0Yy1ncmlkIHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgICAgICBnYXA6IDQwcHg7CiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkgewogICAgICAgICAgICAgICAgLm1zdGMtZ3JpZCB7CiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5tc3RjLWNvbnRyb2xzIHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAubXN0Yy1sYWJlbCB7CiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgICAgICBjb2xvcjogIzQ0NDsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLm1zdGMtc2VsZWN0LAogICAgICAgICAgICAubXN0Yy1pbnB1dCB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZWNmMGYxOwogICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAubXN0Yy1idG4gewogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzliNTliNjsKICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgICAgICB9CgogICAgICAgICAgICAubXN0Yy1idG46aG92ZXIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzhlNDRhZDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLm1zdGMtcmVzdWx0cyB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmNmZkOwogICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ViZGVmMDsKICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7CiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLm1zdGMtdml6LWJveCB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDsKICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICB9CgogICAgICAgICAgICAubXN0Yy12aXotYm94IHN2ZyB7CiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CgogICAgICAgIDxkaXYgY2xhc3M9Im1zdGMtaGVhZGVyIj4KICAgICAgICAgICAgPGgyPk1pc3NpbmcgU2lkZSBvZiBUcmlhbmdsZSBDYWxjdWxhdG9yPC9oMj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXN0Yy1zdWJ0aXRsZSI+TGF3IG9mIFNpbmVzICYgQ29zaW5lcyBTb2x2ZXI8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibXN0Yy1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXN0Yy1jb250cm9scyI+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ibXN0Yy1sYWJlbCI+S25vd24gVmFsdWVzOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0ibXN0Yy1tb2RlIiBjbGFzcz0ibXN0Yy1zZWxlY3QiIG9uY2hhbmdlPSJtc3RjUmVzZXQoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InNhcyI+MiBTaWRlcyAmIEluY2x1ZGVkIEFuZ2xlIChTQVMpPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImFhcyI+MiBBbmdsZXMgJiBTaWRlIChBQVMvQVNBKTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJyaWdodCI+UmlnaHQgVHJpYW5nbGUgKDIgU2lkZXMpPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpbnAtYm94Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIER5bmFtaWMgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJtc3RjLWJ0biIgb25jbGljaz0ibXN0Y0NhbGMoKSI+RmluZCBNaXNzaW5nIFNpZGU8L2J1dHRvbj4KCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtc3RjLXJlcyIgY2xhc3M9Im1zdGMtcmVzdWx0cyI+CiAgICAgICAgICAgICAgICAgICAgPHA+PGI+TWlzc2luZyBTaWRlICh4KTogPC9iPiA8c3BhbiBpZD0icmVzLXZhbCIgc3R5bGU9ImNvbG9yOiM4ZTQ0YWQ7IGZvbnQtc2l6ZToxOHB4OyI+LTwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibXN0Yy1zdGVwcyIKICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxM3B4OyBjb2xvcjojNTU1OyBib3JkZXItdG9wOjFweCBzb2xpZCAjZWVlOyBwYWRkaW5nLXRvcDoxMHB4OyI+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc3RjLXZpei1ib3giPgogICAgICAgICAgICAgICAgPHN2ZyBpZD0ibXN0Yy1zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSI1MCIgeT0iNTAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiNjY2MiPlZpc3VhbGl6YXRpb248L3RleHQ+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIGZ1bmN0aW9uIG1zdGNSZXNldCgpIHsKICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXN0Yy1tb2RlJykudmFsdWU7CiAgICAgICAgICAgICAgICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wLWJveCcpOwogICAgICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdzYXMnKSB7CiAgICAgICAgICAgICAgICAgICAgYm94LmlubmVySFRNTCA9IGA8bGFiZWwgY2xhc3M9Im1zdGMtbGFiZWwiPlNpZGUgYTwvbGFiZWw+PGlucHV0IHR5cGU9Im51bWJlciIgaWQ9InYxIiBjbGFzcz0ibXN0Yy1pbnB1dCIgcGxhY2Vob2xkZXI9ImUuZy4gNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJtc3RjLWxhYmVsIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4Ij5TaWRlIGI8L2xhYmVsPjxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJ2MiIgY2xhc3M9Im1zdGMtaW5wdXQiIHBsYWNlaG9sZGVyPSJlLmcuIDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ibXN0Yy1sYWJlbCIgc3R5bGU9Im1hcmdpbi10b3A6MTBweCI+SW5jbHVkZWQgQW5nbGUgKGRlZyk8L2xhYmVsPjxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJ2MyIgY2xhc3M9Im1zdGMtaW5wdXQiIHBsYWNlaG9sZGVyPSJlLmcuIDQ1Ij5gOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAnYWFzJykgewogICAgICAgICAgICAgICAgICAgIGJveC5pbm5lckhUTUwgPSBgPGxhYmVsIGNsYXNzPSJtc3RjLWxhYmVsIj5BbmdsZSBBIChkZWcpPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0idjEiIGNsYXNzPSJtc3RjLWlucHV0IiBwbGFjZWhvbGRlcj0iZS5nLiA2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJtc3RjLWxhYmVsIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4Ij5BbmdsZSBCIChkZWcpPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0idjIiIGNsYXNzPSJtc3RjLWlucHV0IiBwbGFjZWhvbGRlcj0iZS5nLiA2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJtc3RjLWxhYmVsIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4Ij5TaWRlIGEgKG9wcCB0byBBKTwvbGFiZWw+PGlucHV0IHR5cGU9Im51bWJlciIgaWQ9InYzIiBjbGFzcz0ibXN0Yy1pbnB1dCIgcGxhY2Vob2xkZXI9ImUuZy4gNSI+YDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYm94LmlubmVySFRNTCA9IGA8bGFiZWwgY2xhc3M9Im1zdGMtbGFiZWwiPkxlZyBhPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0idjEiIGNsYXNzPSJtc3RjLWlucHV0IiBwbGFjZWhvbGRlcj0iZS5nLiAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Im1zdGMtbGFiZWwiIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHgiPkxlZyBiPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0idjIiIGNsYXNzPSJtc3RjLWlucHV0IiBwbGFjZWhvbGRlcj0iZS5nLiA0Ij5gOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21zdGMtcmVzJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gbXN0Y0NhbGMoKSB7CiAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21zdGMtbW9kZScpLnZhbHVlOwogICAgICAgICAgICAgICAgbGV0IHJlcyA9IDA7IGxldCBzdGVwcyA9ICIiOwogICAgICAgICAgICAgICAgbGV0IHB0cyA9IFtdOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgdjEgPSBwYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2MScpLnZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBjb25zdCB2MiA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3YyJykudmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGNvbnN0IHYzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3YzJykgPyBwYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2MycpLnZhbHVlKSA6IDA7CgogICAgICAgICAgICAgICAgICAgIGlmICghdjEgfHwgIXYyKSByZXR1cm47CgogICAgICAgICAgICAgICAgICAgIGlmIChtb2RlID09PSAnc2FzJykgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBMYXcgb2YgQ29zaW5lczogYyA9IHNxcnQoYV4yK2JeMiAtIDJhYiBjb3MoQykpCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdjMpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmFkID0gdjMgKiBNYXRoLlBJIC8gMTgwOwogICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBNYXRoLnNxcnQodjEgKiB2MSArIHYyICogdjIgLSAyICogdjEgKiB2MiAqIE1hdGguY29zKHJhZCkpOwogICAgICAgICAgICAgICAgICAgICAgICBzdGVwcyA9IGBVc2luZyBMYXcgb2YgQ29zaW5lczo8YnI+eMKyID0gYcKyICsgYsKyIC0gMmFiIGNvcyjOuCk8YnI+eCA9ICR7cmVzLnRvRml4ZWQoNCl9YDsKICAgICAgICAgICAgICAgICAgICAgICAgcHRzID0gW3sgeDogMCwgeTogMCB9LCB7IHg6IHYxLCB5OiAwIH0sIHsgeDogdjIgKiBNYXRoLmNvcyhyYWQpLCB5OiB2MiAqIE1hdGguc2luKHJhZCkgfV07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1vZGUgPT09ICdhYXMnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFuZ2xlIEE9djEsIEFuZ2xlIEI9djIsIFNpZGUgYT12My4gRmluZCBTaWRlIGI/IFR5cGljYWxseSB1c2VycyB3YW50IG1pc3Npbmcgc2lkZXMuCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGIgLyBzaW5CID0gYSAvIHNpbkEgPT4gYiA9IGEgKiBzaW5CIC8gc2luQQogICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIHRvb2wgYXNzdW1lcyBmaW5kaW5nIFNpZGUgYiAob3Bwb3NpdGUgQW5nbGUgQikuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdjMpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYxICsgdjIgPj0gMTgwKSB7IGFsZXJ0KCJTdW0gb2YgYW5nbGVzIG11c3QgYmUgPCAxODAiKTsgcmV0dXJuOyB9CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhZEEgPSB2MSAqIE1hdGguUEkgLyAxODA7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhZEIgPSB2MiAqIE1hdGguUEkgLyAxODA7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHYzICogTWF0aC5zaW4ocmFkQikgLyBNYXRoLnNpbihyYWRBKTsKICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHMgPSBgVXNpbmcgTGF3IG9mIFNpbmVzOjxicj5iIC8gc2luKEIpID0gYSAvIHNpbihBKTxicj5iID0gYSDDlyBzaW4oQikgLyBzaW4oQSk8YnI+YiA9ICR7cmVzLnRvRml4ZWQoNCl9YDsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gQUFTIERyYXcgKGFwcHJveCkKICAgICAgICAgICAgICAgICAgICAgICAgLy8gQSBhdCBPcmlnaW4gY3JlYXRlcyBhbmdsZS4KICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVlZCBjb29yZGluYXRlcy4gQiBpcyBhdCAoYywgMCkuIEMgaXMgKHgseSkuCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgc2lkZSBjLi4uIGMgLyBzaW5DID0gYSAvIHNpbkEuIEMgPSAxODAtQS1CLgogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByYWRDID0gKDE4MCAtIHYxIC0gdjIpICogTWF0aC5QSSAvIDE4MDsKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYyA9IHYzICogTWF0aC5zaW4ocmFkQykgLyBNYXRoLnNpbihyYWRBKTsKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHYzOwogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiID0gcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAvLyBBPSgwLDApLCBCPShjLDApLiBDPwogICAgICAgICAgICAgICAgICAgICAgICAvLyBDIHggPSBiIGNvc0EsIHkgPSBiIHNpbkEKICAgICAgICAgICAgICAgICAgICAgICAgcHRzID0gW3sgeDogMCwgeTogMCB9LCB7IHg6IGMsIHk6IDAgfSwgeyB4OiBiICogTWF0aC5jb3MocmFkQSksIHk6IGIgKiBNYXRoLnNpbihyYWRBKSB9XTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFB5dGhhZzogYyA9IHNxcnQoYV4yK2JeMikKICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gTWF0aC5zcXJ0KHYxICogdjEgKyB2MiAqIHYyKTsKICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHMgPSBgeCA9IOKImihhwrIgKyBiwrIpID0gJHtyZXMudG9GaXhlZCg0KX1gOwogICAgICAgICAgICAgICAgICAgICAgICBwdHMgPSBbeyB4OiAwLCB5OiAwIH0sIHsgeDogdjEsIHk6IDAgfSwgeyB4OiAwLCB5OiB2MiB9XTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtdmFsJykuaW5uZXJUZXh0ID0gcmVzLnRvRml4ZWQoNCk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21zdGMtc3RlcHMnKS5pbm5lckhUTUwgPSBzdGVwczsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXN0Yy1yZXMnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICBtc3RjRHJhdyhwdHMpOwoKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBtc3RjRHJhdyhwdHMpIHsKICAgICAgICAgICAgICAgIGNvbnN0IHN2ZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtc3RjLXN2ZycpOwogICAgICAgICAgICAgICAgY29uc3QgeHMgPSBwdHMubWFwKHAgPT4gcC54KSwgeXMgPSBwdHMubWFwKHAgPT4gcC55KTsKICAgICAgICAgICAgICAgIGNvbnN0IG14ID0gTWF0aC5taW4oLi4ueHMpLCBNeCA9IE1hdGgubWF4KC4uLnhzKSwgbXkgPSBNYXRoLm1pbiguLi55cyksIE15ID0gTWF0aC5tYXgoLi4ueXMpOwogICAgICAgICAgICAgICAgY29uc3QgdyA9IE14IC0gbXgsIGggPSBNeSAtIG15OwogICAgICAgICAgICAgICAgY29uc3QgcGFkID0gTWF0aC5tYXgodywgaCkgKiAwLjI7CiAgICAgICAgICAgICAgICBjb25zdCBkID0gYE0gJHtwdHNbMF0ueH0gJHtwdHNbMF0ueX0gTCAke3B0c1sxXS54fSAke3B0c1sxXS55fSBMICR7cHRzWzJdLnh9ICR7cHRzWzJdLnl9IFpgOwoKICAgICAgICAgICAgICAgIC8vIEZsaXAgWSBpbXBsaWNpdGx5IG9yIGFzc3VtZSBjb29yZHMKICAgICAgICAgICAgICAgIHN2Zy5pbm5lckhUTUwgPSBgPHBhdGggZD0iJHtkfSIgZmlsbD0iI2Y0ZWNmNyIgc3Ryb2tlPSIjOGU0NGFkIiBzdHJva2Utd2lkdGg9IiR7TWF0aC5tYXgodywgaCkgLyA0MH0iIC8+YDsKICAgICAgICAgICAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCBgJHtteCAtIHBhZH0gJHtteSAtIHBhZH0gJHt3ICsgMiAqIHBhZH0gJHtoICsgMiAqIHBhZH1gKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXN0Y1Jlc2V0KCk7CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2Rpdj4KICAgIDwhLS0gTWlzc2luZyBTaWRlIG9mIFRyaWFuZ2xlIENhbGN1bGF0b3IgRW5kIC0tPgoKPC9ib2R5PgoKPC9odG1sPg==”; var htmlContent = “”; try { htmlContent = atob(b64); } catch (e) { console.error(“Base64 decode failed”, e); wrapper.innerHTML = ” Error loading calculator. “; return; } // Create Iframe var iframe = document.createElement(‘iframe’); iframe.style.width = “100%”; iframe.style.border = “none”; iframe.style.overflow = “hidden”; iframe.scrolling = “no”; iframe.style.minHeight = “400px”;…