Animation

B = (7.32, 4.42)
A = (-2.46, 4.36)
a = Segment(A, B)
M = Point(a)
c = Segment(M, B)
A'_1: A + (c * UnitVector[Vector[A, B]])
b = Segment(A, M)
C' = Rotate(M, -90*°, A)
C'_1 = Rotate(M, 90*°, B)
C: B + (b * UnitVector[Vector[B, C'_1]])
D: A + (c * UnitVector[Vector[A, C']])
E: D + (c * UnitVector[Vector[A, B]])
F: C + (b * UnitVector[Vector[B, A]])
poly1, d, g, h = Polygon(D, A, M)
poly2, j, k, l = Polygon(C, B, M)
poly3, m_2, d_1, e, f, c_2 = Polygon(M, D, E, F, C)
G: D
H = Point(Circle[G, d])
I = Rotate(H + (g, 0), Angle[M - A] + Angle[H - G] - Angle[A - D], H)
poly4, i, g_1, h_1 = Polygon(G, H, I)
J: C
K = Point(Circle[J, j])
L = Rotate(K + (k, 0), Angle[M - B] + Angle[K - J] - Angle[B - C], K)
poly5, l_1, j_1, k_1 = Polygon(J, K, L)
p = CircleArc(D, A, E)
q = CircleArc(C, F, B)
m = 0.55 (slider from 0 to 1, step 0.05)
H_1 = Point(p, m)
H_2 = Point(q, 1 - m)
poly6, n, r, s, t, N, O = Polygon(A'_1, A, 4)
poly7, a_1, b_1, c_1, e_1, P, Q = Polygon(B, A'_1, 4)
u = Vector(M, A'_1)
v = Vector(A'_1, M)
w = Vector(E, P)
u_1 = Vector(P, E)