Fr4 Weight Calculator

FR4 Weight Calculator: Calculate PCB Weight Accurately :root { –primary-color: #004a99; –success-color: #28a745; –background-color: #f8f9fa; –text-color: #333; –border-color: #ccc; –shadow-color: rgba(0, 0, 0, 0.1); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–background-color); color: var(–text-color); line-height: 1.6; margin: 0; padding: 0; } .container { max-width: 1000px; margin: 20px auto; padding: 20px; background-color: #fff; border-radius: 8px; box-shadow: 0 2px 10px var(–shadow-color); display: flex; flex-direction: column; } h1, h2, h3 { color: var(–primary-color); text-align: center; } h1 { font-size: 2.5em; margin-bottom: 0.5em; } h2 { font-size: 1.8em; margin-top: 1.5em; margin-bottom: 1em; } h3 { font-size: 1.4em; margin-top: 1.2em; margin-bottom: 0.8em; } .calculator-wrapper { margin-top: 30px; padding: 25px; border: 1px solid var(–border-color); border-radius: 8px; background-color: #fdfdfd; } .loan-calc-container { display: flex; flex-direction: column; gap: 15px; } .input-group { display: flex; flex-direction: column; gap: 8px; } .input-group label { font-weight: bold; color: var(–primary-color); } .input-group input[type="number"], .input-group select { padding: 10px; border: 1px solid var(–border-color); border-radius: 4px; font-size: 1em; width: calc(100% – 22px); } .input-group input[type="number"]:focus, .input-group select:focus { outline: none; border-color: var(–primary-color); box-shadow: 0 0 0 2px rgba(0, 74, 153, 0.2); } .input-group small { font-size: 0.85em; color: #666; } .error-message { color: red; font-size: 0.8em; margin-top: 4px; display: none; } .button-group { display: flex; gap: 15px; margin-top: 20px; justify-content: center; } button { padding: 12px 25px; border: none; border-radius: 5px; cursor: pointer; font-size: 1em; transition: background-color 0.3s ease; font-weight: bold; } button.primary { background-color: var(–primary-color); color: white; } button.primary:hover { background-color: #003a7a; } button.secondary { background-color: #6c757d; color: white; } button.secondary:hover { background-color: #5a6268; } #result-display { margin-top: 30px; padding: 20px; background-color: var(–primary-color); color: white; border-radius: 8px; text-align: center; font-size: 1.3em; font-weight: bold; box-shadow: 0 4px 8px var(–shadow-color); } #result-display .main-result { font-size: 2em; margin-bottom: 10px; } #result-display .intermediate-results div, #result-display .assumptions div { font-size: 0.9em; margin-top: 8px; opacity: 0.9; } table { width: 100%; border-collapse: collapse; margin-top: 20px; box-shadow: 0 2px 5px var(–shadow-color); } th, td { padding: 10px 12px; border: 1px solid #ddd; text-align: left; } th { background-color: var(–primary-color); color: white; font-weight: bold; } tr:nth-child(even) { background-color: #f2f2f2; } caption { font-size: 1.1em; font-weight: bold; margin-bottom: 10px; color: var(–primary-color); caption-side: top; text-align: center; } .chart-container { width: 100%; max-width: 700px; margin: 30px auto; text-align: center; } canvas { border: 1px solid var(–border-color); border-radius: 4px; } .article-content { margin-top: 40px; padding: 20px; background-color: #fff; border-radius: 8px; box-shadow: 0 2px 10px var(–shadow-color); } .article-content p, .article-content li { margin-bottom: 15px; } .article-content ul, .article-content ol { padding-left: 25px; } .article-content a { color: var(–primary-color); text-decoration: none; } .article-content a:hover { text-decoration: underline; } .faq-item { margin-bottom: 15px; border-bottom: 1px dashed #eee; padding-bottom: 10px; } .faq-item:last-child { border-bottom: none; } .faq-item h4 { margin-bottom: 5px; color: var(–primary-color); cursor: pointer; } .faq-item p { margin-top: 5px; margin-bottom: 0; display: none; /* Initially hidden */ } .faq-item.open p { display: block; } .sticky-results { position: sticky; top: 20px; background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin-bottom: 20px; } @media (min-width: 768px) { .container { flex-direction: column; } }

FR4 Weight Calculator

Precisely estimate the weight of FR4 material for your Printed Circuit Board (PCB) projects. Input your dimensions and density to get accurate weight calculations.

Enter the length of your FR4 material in millimeters.
Enter the width of your FR4 material in millimeters.
Enter the thickness of your FR4 material in millimeters.
Typical FR4 density is around 1.8 g/cm³. Adjust if you have specific data.
Area: mm²
Volume: mm³
Weight: g
Assumptions: FR4 Density = g/cm³
Formula: Weight = (Length * Width * Thickness) * Density (converted to g/mm³)
Weight Distribution by Dimension Component
Metric Value Unit
Area mm²
Volume mm³
Weight grams (g)
FR4 Density g/cm³

What is FR4 Weight Calculation?

The FR4 weight calculation refers to the process of determining the mass of a piece of FR4 material, commonly used as the substrate for Printed Circuit Boards (PCBs). FR4 (Flame Retardant 4) is a glass-reinforced epoxy laminate material that is widely adopted in the electronics industry due to its excellent electrical insulation properties, mechanical strength, and cost-effectiveness. Understanding the weight of FR4 is crucial for several reasons, including material cost estimation, structural integrity analysis in larger assemblies, transportation logistics, and environmental impact assessments. This calculation involves understanding the physical dimensions (length, width, thickness) of the FR4 piece and its material density.

Who should use it: PCB designers, electronics manufacturers, procurement specialists, electrical engineers, and hobbyists involved in prototyping or small-scale production need to perform an FR4 weight calculation. It's particularly important when ordering custom PCB fabrication, designing enclosures for electronic devices, or when dealing with projects where weight is a critical specification, such as in aerospace or portable electronics.

Common misconceptions: A common misconception is that all FR4 materials have the exact same density and properties. While the standard density is around 1.8 g/cm³, variations can occur due to differences in glass weave density, epoxy resin composition, and manufacturing processes. Another misconception is that the weight calculation is overly complex, when in reality, with accurate dimensions and density, it's a straightforward volume-to-mass conversion.

FR4 Weight Calculation Formula and Mathematical Explanation

The FR4 weight calculation is based on fundamental physics principles: Weight is derived from Volume and Density.

The formula can be broken down into these steps:

  1. Calculate the Area of the FR4 board.
  2. Calculate the Volume of the FR4 board.
  3. Convert units to be consistent (e.g., mm³ to cm³ for density conversion).
  4. Calculate the Weight using the volume and density.

Formula Derivation:

1. Area (A): This is the surface area of one side of the FR4 board.

A = Length × Width

2. Volume (V): This is the total space occupied by the FR4 material.

V = Length × Width × Thickness = A × Thickness

3. Unit Conversion: The standard density of FR4 is often given in grams per cubic centimeter (g/cm³), while the dimensions are usually in millimeters (mm). To use the density directly, we need to convert the volume from cubic millimeters (mm³) to cubic centimeters (cm³).

1 cm = 10 mm

1 cm³ = (10 mm)³ = 1000 mm³

Therefore, to convert Volume from mm³ to cm³:

V (cm³) = V (mm³) / 1000

4. Weight (W): Weight is calculated by multiplying the volume by the density.

W = V (cm³) × Density (g/cm³)

Substituting the volume conversion:

W = (V (mm³) / 1000) × Density (g/cm³)

Or, expressed entirely in terms of input dimensions:

W = (Length (mm) × Width (mm) × Thickness (mm) / 1000) × Density (g/cm³)

This calculation provides the weight of the FR4 material in grams.

Variables Explained:

Variable Meaning Unit Typical Range
Length The longest dimension of the rectangular FR4 board. mm 10 – 1000+
Width The shorter dimension of the rectangular FR4 board. mm 5 – 1000+
Thickness The depth of the FR4 board. Common PCB thicknesses are 1.6mm, 1.0mm, 0.8mm. mm 0.1 – 6.0+
Density Mass per unit volume of the FR4 material. g/cm³ 1.7 – 1.9 (typically 1.8)
Area The surface area of one side of the board. mm² Calculated
Volume The total space occupied by the material. mm³ (converted to cm³ for calculation) Calculated
Weight The mass of the FR4 material. grams (g) Calculated

Practical Examples (Real-World Use Cases)

Understanding the FR4 weight calculation is essential for practical applications. Here are a couple of examples:

Example 1: Standard Single-Layer PCB

A hobbyist is designing a single-layer PCB for a small sensor module. They need to estimate the material cost and shipping weight.

  • Inputs:
    • Length: 60 mm
    • Width: 40 mm
    • Thickness: 1.6 mm
    • FR4 Density: 1.8 g/cm³
  • Calculation:
    • Area = 60 mm × 40 mm = 2400 mm²
    • Volume = 60 mm × 40 mm × 1.6 mm = 3840 mm³
    • Volume (cm³) = 3840 mm³ / 1000 = 3.84 cm³
    • Weight = 3.84 cm³ × 1.8 g/cm³ = 6.912 g
  • Result Interpretation: The FR4 material for this small PCB weighs approximately 6.9 grams. This is a minimal weight, indicating that shipping costs will be low, and the material cost for the FR4 itself will be negligible for a single board. This information is useful when calculating costs for a batch of boards.

Example 2: Larger Industrial Control Board

An engineer is designing a larger, multi-layer PCB for an industrial control system. Weight is a consideration for mounting within a specific enclosure.

  • Inputs:
    • Length: 250 mm
    • Width: 150 mm
    • Thickness: 2.0 mm
    • FR4 Density: 1.85 g/cm³ (slightly higher due to multi-layer construction)
  • Calculation:
    • Area = 250 mm × 150 mm = 37500 mm²
    • Volume = 250 mm × 150 mm × 2.0 mm = 75000 mm³
    • Volume (cm³) = 75000 mm³ / 1000 = 75 cm³
    • Weight = 75 cm³ × 1.85 g/cm³ = 138.75 g
  • Result Interpretation: The FR4 substrate for this larger board weighs about 139 grams. This is a more substantial weight and needs to be factored into the overall weight budget for the industrial control unit, especially if multiple boards are used or if the enclosure has strict weight limitations.

How to Use This FR4 Weight Calculator

Using this FR4 weight calculator is simple and intuitive. Follow these steps to get your weight estimation:

  1. Input Dimensions: Enter the 'Length', 'Width', and 'Thickness' of your FR4 board in millimeters (mm) into the respective fields. Ensure you are measuring the overall dimensions of the bare FR4 material.
  2. Enter Density: Input the 'FR4 Density' in grams per cubic centimeter (g/cm³). A typical value of 1.8 g/cm³ is pre-filled, but you can adjust it if you have specific material data.
  3. Calculate: Click the "Calculate Weight" button.

How to Read Results:

  • The Main Result will display the total calculated weight of the FR4 material in grams (g).
  • Intermediate Results show the calculated Area (mm²), Volume (mm³), and the final Weight (g).
  • The Assumptions section confirms the density value used in the calculation.
  • The Table provides a structured summary of all calculated metrics.
  • The Chart visually represents the contribution of each dimension to the overall volume, which indirectly relates to weight.

Decision-Making Guidance:

  • Costing: Use the weight to estimate the cost of FR4 material for prototyping or production runs.
  • Logistics: Factor in the weight for shipping calculations and handling procedures.
  • Structural Design: For larger boards or complex assemblies, the weight can influence the choice of mounting hardware and enclosure design.
  • Material Selection: If weight is critical, compare the weight of FR4 with alternative PCB substrates.

Click "Copy Results" to easily paste the calculated values and assumptions elsewhere. Use the "Reset" button to clear all fields and start over with default values.

Key Factors That Affect FR4 Weight Results

While the basic FR4 weight calculation is straightforward, several factors can influence the accuracy and the actual weight of FR4 components:

  1. Material Density Variations: As mentioned, FR4 density isn't absolutely constant. It can range from about 1.7 to 1.9 g/cm³. Variations in the glass fiber weave, resin content, and manufacturing tolerances can lead to slight differences. Always use the manufacturer's specified density if available for the most accurate weight.
  2. Board Dimensions Accuracy: Precision in measuring Length, Width, and Thickness is paramount. Minor deviations in dimensions can lead to significant differences in calculated volume and weight, especially for large boards. Ensure your measurements are precise.
  3. Copper Layers and Thickness: This calculator estimates the weight of the *bare FR4 substrate* only. Real PCBs have copper layers on the surface and internally. The weight of the copper traces and planes can add a considerable amount to the total board weight, especially for multi-layer boards with thick copper.
  4. Component Weight: The weight of the electronic components soldered onto the PCB is not included in this FR4 calculation. The total weight of a populated PCB will be the sum of the FR4 substrate, copper, solder, and component weights.
  5. Edge Plating or Reinforcements: Some PCBs might have specialized edge plating or metallic reinforcements, which would add weight not accounted for in a simple FR4 calculation.
  6. Core vs. Prepreg Materials: FR4 can be made from a core material and prepreg layers. While their densities are similar, slight variations might exist, impacting the overall weight of thicker boards.
  7. Environmental Factors (Humidity/Temperature): While FR4 is known for its stability, extreme environmental conditions over long periods could theoretically lead to minor absorption or expansion, though this effect is negligible for most weight calculation purposes.

Frequently Asked Questions (FAQ)

What is the standard density of FR4 material?

The standard density for FR4 material is approximately 1.8 g/cm³. However, this can vary slightly between manufacturers and specific FR4 grades.

Does the FR4 weight calculation include copper?

No, this calculator specifically determines the weight of the bare FR4 substrate (the insulating material). It does not include the weight of copper traces, planes, or other conductive layers.

Why is FR4 weight important?

FR4 weight is important for estimating material costs, managing shipping expenses, ensuring structural integrity in assemblies, and for applications where overall weight is a critical design parameter (e.g., aerospace, portable devices).

Can I use this calculator for multi-layer PCBs?

You can use this calculator to find the weight of the *FR4 core material* within a multi-layer PCB. However, you would need to add the weight of the copper layers and any additional prepreg layers separately for a total board weight.

What are the units used in the calculation?

The calculator uses millimeters (mm) for dimensions (length, width, thickness) and grams per cubic centimeter (g/cm³) for density. The final weight is output in grams (g).

What if my PCB is not rectangular?

This calculator is designed for rectangular FR4 boards. For irregularly shaped boards, you would need to calculate the area of the irregular shape first and then proceed with the volume and weight calculation using that area.

How does temperature affect FR4 weight?

Temperature primarily affects the dimensions of materials through thermal expansion. While extreme temperatures could cause slight expansion or contraction, the effect on the overall weight calculation for typical operating conditions is negligible.

Where can I find the exact density of my FR4 material?

The most accurate source for FR4 density is the material datasheet provided by your PCB manufacturer or the supplier of the raw FR4 laminate.

Related Tools and Internal Resources

  • FR4 Weight Calculator: Our primary tool for calculating FR4 material mass.
  • PCB Cost Calculator: Estimate the manufacturing cost of your printed circuit boards, considering factors like layers, dimensions, and complexity.
  • Trace Width Calculator: Determine the appropriate width for copper traces based on current carrying capacity and temperature rise.
  • PCB Impedance Calculator: Calculate the characteristic impedance of PCB traces, crucial for high-frequency signal integrity.
  • PCB Design Guidelines: Comprehensive tips and best practices for designing reliable and manufacturable PCBs.
  • PCB Material Properties Guide: Explore different substrate materials beyond FR4, comparing their electrical, thermal, and mechanical characteristics.

© 2023 Your Company Name. All rights reserved.

var canvas = document.getElementById('weightChart'); var ctx = canvas.getContext('2d'); var weightChart; // Declare chart variable function validateInput(value, id, errorId, min, max) { var errorElement = document.getElementById(errorId); errorElement.style.display = 'none'; var inputElement = document.getElementById(id); if (value === null || value === ") { errorElement.innerText = 'This field is required.'; errorElement.style.display = 'block'; inputElement.style.borderColor = 'red'; return false; } var numValue = parseFloat(value); if (isNaN(numValue)) { errorElement.innerText = 'Please enter a valid number.'; errorElement.style.display = 'block'; inputElement.style.borderColor = 'red'; return false; } if (numValue <= 0) { errorElement.innerText = 'Value must be positive.'; errorElement.style.display = 'block'; inputElement.style.borderColor = 'red'; return false; } if (min !== undefined && numValue max) { errorElement.innerText = 'Value must be no more than ' + max + '.'; errorElement.style.display = 'block'; inputElement.style.borderColor = 'red'; return false; } inputElement.style.borderColor = '#ccc'; // Reset border color return true; } function calculateWeight() { var length = document.getElementById('length').value; var width = document.getElementById('width').value; var thickness = document.getElementById('thickness').value; var density = document.getElementById('density').value; var isLengthValid = validateInput(length, 'length', 'lengthError'); var isWidthValid = validateInput(width, 'width', 'widthError'); var isThicknessValid = validateInput(thickness, 'thickness', 'thicknessError', 0.01); // Min thickness var isDensityValid = validateInput(density, 'density', 'densityError', 1.5, 2.5); // Reasonable range for FR4 if (!isLengthValid || !isWidthValid || !isThicknessValid || !isDensityValid) { document.getElementById('result-display').style.display = 'none'; return; } var numLength = parseFloat(length); var numWidth = parseFloat(width); var numThickness = parseFloat(thickness); var numDensity = parseFloat(density); // Intermediate calculations var area = numLength * numWidth; var volume_mm3 = area * numThickness; var volume_cm3 = volume_mm3 / 1000; // Convert mm³ to cm³ // Final calculation var weight_g = volume_cm3 * numDensity; // Display results document.getElementById('result-display').style.display = 'block'; document.querySelector('#result-display .main-result').innerText = weight_g.toFixed(2) + ' g'; document.getElementById('areaResult').innerText = area.toFixed(2); document.getElementById('volumeResult').innerText = volume_mm3.toFixed(2); document.getElementById('weightResult').innerText = weight_g.toFixed(2); document.getElementById('densityAssumption').innerText = numDensity.toFixed(1); // Populate table document.getElementById('tableArea').innerText = area.toFixed(2); document.getElementById('tableVolume').innerText = volume_mm3.toFixed(2); document.getElementById('tableWeight').innerText = weight_g.toFixed(2); document.getElementById('tableDensity').innerText = numDensity.toFixed(1); updateChart(numLength, numWidth, numThickness, weight_g); } function updateChart(length, width, thickness, totalWeight) { // A simplified approach: distribute weight proportionally to volume contribution var volume_mm3 = length * width * thickness; if (volume_mm3 <= 0) { volume_mm3 = 1; // Avoid division by zero } var weightContributionLength = (length / (length + width + thickness)) * totalWeight; var weightContributionWidth = (width / (length + width + thickness)) * totalWeight; var weightContributionThickness = (thickness / (length + width + thickness)) * totalWeight; // Normalize if sum is zero or very small if (length + width + thickness === 0) { weightContributionLength = totalWeight / 3; weightContributionWidth = totalWeight / 3; weightContributionThickness = totalWeight / 3; } else { // Simple proportional distribution var totalDim = length + width + thickness; weightContributionLength = (length / totalDim) * totalWeight; weightContributionWidth = (width / totalDim) * totalWeight; weightContributionThickness = (thickness / totalDim) * totalWeight; } var chartData = { labels: ['Length Contribution', 'Width Contribution', 'Thickness Contribution'], datasets: [{ label: 'Weight Distribution (g)', data: [ weightContributionLength.toFixed(2), weightContributionWidth.toFixed(2), weightContributionThickness.toFixed(2) ], backgroundColor: [ 'rgba(0, 74, 153, 0.7)', 'rgba(40, 167, 69, 0.7)', 'rgba(255, 193, 7, 0.7)' ], borderColor: [ 'rgba(0, 74, 153, 1)', 'rgba(40, 167, 69, 1)', 'rgba(255, 193, 7, 1)' ], borderWidth: 1 }] }; // Destroy previous chart instance if it exists if (weightChart) { weightChart.destroy(); } // Create new chart weightChart = new Chart(ctx, { type: 'pie', // Changed to pie chart for better distribution visualization data: chartData, options: { responsive: true, maintainAspectRatio: true, plugins: { legend: { position: 'top', }, title: { display: true, text: 'Weight Distribution based on Dimensional Contribution' } } } }); } function resetCalculator() { document.getElementById('length').value = ''; document.getElementById('width').value = ''; document.getElementById('thickness').value = ''; document.getElementById('density').value = '1.8'; // Clear errors document.getElementById('lengthError').innerText = ''; document.getElementById('lengthError').style.display = 'none'; document.getElementById('widthError').innerText = ''; document.getElementById('widthError').style.display = 'none'; document.getElementById('thicknessError').innerText = ''; document.getElementById('thicknessError').style.display = 'none'; document.getElementById('densityError').innerText = ''; document.getElementById('densityError').style.display = 'none'; // Reset input borders document.getElementById('length').style.borderColor = '#ccc'; document.getElementById('width').style.borderColor = '#ccc'; document.getElementById('thickness').style.borderColor = '#ccc'; document.getElementById('density').style.borderColor = '#ccc'; // Hide results document.getElementById('result-display').style.display = 'none'; document.getElementById('areaResult').innerText = ''; document.getElementById('volumeResult').innerText = ''; document.getElementById('weightResult').innerText = ''; document.getElementById('densityAssumption').innerText = ''; document.getElementById('tableArea').innerText = ''; document.getElementById('tableVolume').innerText = ''; document.getElementById('tableWeight').innerText = ''; document.getElementById('tableDensity').innerText = ''; // Clear and reset chart if (weightChart) { weightChart.destroy(); } // Optionally, draw a blank canvas or a placeholder chart ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = "#e0e0e0"; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = "#666"; ctx.textAlign = "center"; ctx.fillText("Enter values to generate chart", canvas.width/2, canvas.height/2); } function copyResults() { var mainResult = document.querySelector('#result-display .main-result').innerText; var area = document.getElementById('areaResult').innerText; var volume = document.getElementById('volumeResult').innerText; var weight = document.getElementById('weightResult').innerText; var density = document.getElementById('densityAssumption').innerText; var textToCopy = "FR4 Weight Calculation Results:\n"; textToCopy += "—————————–\n"; textToCopy += "Total Weight: " + mainResult + "\n"; textToCopy += "Area: " + area + " mm²\n"; textToCopy += "Volume: " + volume + " mm³\n"; textToCopy += "Assumed Density: " + density + " g/cm³\n"; textToCopy += "\nCalculation based on: Length, Width, Thickness, and Density.\n"; navigator.clipboard.writeText(textToCopy).then(function() { // Optional: Show a confirmation message var copyButton = document.querySelector('button[onclick="copyResults()"]'); var originalText = copyButton.innerText; copyButton.innerText = 'Copied!'; setTimeout(function() { copyButton.innerText = originalText; }, 2000); }, function() { // Optional: Handle error alert('Failed to copy results.'); }); } // Initial chart setup on load window.onload = function() { var canvas = document.getElementById('weightChart'); var ctx = canvas.getContext('2d'); ctx.fillStyle = "#e0e0e0"; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = "#666"; ctx.textAlign = "center"; ctx.fillText("Enter values and click Calculate to generate chart", canvas.width/2, canvas.height/2); // Add event listeners for real-time validation document.getElementById('length').addEventListener('input', function() { validateInput(this.value, 'length', 'lengthError'); }); document.getElementById('width').addEventListener('input', function() { validateInput(this.value, 'width', 'widthError'); }); document.getElementById('thickness').addEventListener('input', function() { validateInput(this.value, 'thickness', 'thicknessError', 0.01); }); document.getElementById('density').addEventListener('input', function() { validateInput(this.value, 'density', 'densityError', 1.5, 2.5); }); // Trigger calculation on input change for real-time updates var inputs = document.querySelectorAll('.loan-calc-container input'); for (var i = 0; i < inputs.length; i++) { inputs[i].addEventListener('input', function() { // Check if all required fields have some value before attempting calculation var length = document.getElementById('length').value; var width = document.getElementById('width').value; var thickness = document.getElementById('thickness').value; var density = document.getElementById('density').value; if (length && width && thickness && density) { calculateWeight(); } }); } // FAQ accordion functionality var faqItems = document.querySelectorAll('.faq-item h4'); for (var i = 0; i < faqItems.length; i++) { faqItems[i].addEventListener('click', function() { var parent = this.parentElement; parent.classList.toggle('open'); }); } };

Leave a Comment