A = (-0.6, 2.52)
B = (0.3, 2.54)
C = (-2.2, 1.38)
D = (1.32, -0.26)
ab = Line(A, B)
cd = Line(C, D)
ac = Line(A, C)
bd = Line(B, D)
S = (-6.52, 0.28)
o = (-4.74, 0.18)
c_o = Circle(o, S)
o' = Dilate(o, 1, S)
S' = Dilate(S, 1, o)
sm = Line(S, ab)
sm' = Line(S, cd)
sn = Line(S, ac)
sn' = Line(S, bd)
pm = OrthogonalLine(o, sm)
pm' = OrthogonalLine(o, sm')
pn = OrthogonalLine(o, sn)
pn' = OrthogonalLine(o, sn')
n = Mirror(S, pn)
m = Mirror(S, pm)
m' = Mirror(S, pm')
n' = Mirror(S, pn')
mn = Line(n, m)
m'n' = Line(n', m')
I = Intersect(mn, m'n')
mn' = Line(m, n')
m'n = Line(n, m')
J = Intersect(mn', m'n)
ij = Line(J, I)
u, v = Intersect(c_o, ij)
su = Line(S, u)
sv = Line(S, v)
I_1 = Intersect(ac, bd)
by_1 = Line(B, su)
am_1 = OrthogonalLine(A, su)
K_1 = Intersect(by_1, am_1)
ij_1 = Line(I_1, K_1)
cy_1 = Line(C, su)
J_1 = Intersect(ij_1, cy_1)
dm_1 = Line(D, J_1)
M_1 = Intersect(am_1, dm_1)
c_1 = Conic(A, B, D, C, M_1)
E = Midpoint(A, M_1)
a = Line(E, su)
F_1 = Focus(c_1)
by_2 = Line(B, sv)
am_2 = OrthogonalLine(A, sv)
K_2 = Intersect(am_2, by_2)
ij_2 = Line(I_1, K_2)
cy_2 = Line(C, sv)
J_2 = Intersect(ij_2, cy_2)
dm_2 = Line(J_2, D)
M_2 = Intersect(am_2, dm_2)
c_2 = Conic(A, B, D, C, M_2)
F_2 = Focus(c_2)
b = Line(F_2, sv)