code: def calcQuadraticBounds(pt1, pt2, pt3):
      """Calculates the bounding rectangle for a quadratic Bezier segment.
  
      Args:
          pt1: Start point of the Bezier as a 2D tuple.
          pt2: Handle point of the Bezier as a 2D tuple.
          pt3: End point of the Bezier as a 2D tuple.
  
      Returns:
          A four-item tuple representing the bounding rectangle ``(xMin, yMin, xMax, yMax)``.
  
      Example::
  
          >>> calcQuadraticBounds((0, 0), (50, 100), (100, 0))
          (0, 0, 100, 50.0)
          >>> calcQuadraticBounds((0, 0), (100, 0), (100, 100))
          (0.0, 0.0, 100, 100)
      """
      (ax, ay), (bx, by), (cx, cy) = calcQuadraticParameters(
          pt1, pt2, pt3
      )
      ax2 = ax * 2.0
      ay2 = ay * 2.0
      roots = []
      if ax2 != 0:
          roots.append(-bx / ax2)
      if ay2 != 0:
          roots.append(-by / ay2)
      points = [
          (ax * t * t + bx * t + cx, ay * t * t + by * t + cy)
          for t in roots
          if 0 <= t < 1
      ] + [pt1, pt3]
      return calcBounds(points)
  
imports: from fontTools.misc.arrayTools import calcBounds, sectRect, rectArea
  from fontTools.misc.transform import Identity
  import math
  from collections import namedtuple
  from math import sqrt, acos, cos, pi
label_desc: Use image node_id 11 for calling a global function with example usage: calcQuadraticBounds(pt1, pt2, pt3) and returns: calcBounds