\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
input eggs-common
beginfig(1);
numeric a; a = 56;
path r[], s[];
for i=1 upto 4:
r[i] = fullcircle scaled 2a shifted (0, a * i - 5/2 a); % -2.5a so the origin is in centre
endfor
r5 = r2 rotatedabout(point 2 of r2, 60);
r6 = r2 rotatedabout(point 2 of r2, -60);
z1 = subpath (4, 8) of r5 intersectionpoint (point 6 of r6 -- 8[point 6 of r6, point 2/3 of r2]);
z2 = subpath (0, 4) of r4 intersectionpoint (point 6 of r6 -- 8[point 6 of r6, point 2 of r3]);
z3 = whatever [z1, point 6 of r6] = whatever [point 2 of r3, point 10/3 of r1];
z4 = z3 reflectedabout(up, down);
z7 = 1/2[point 10/3 of r1, point 2/3 of r1];
z5 = whatever [z3, point 2/3 of r1] = whatever [z7, point 10/3 of r3];
z6 = z5 reflectedabout(up, down);
s1 = fullcircle scaled 2 length (z2 - point 6 of r6) shifted point 6 of r6 cutbefore z1 cutafter z2;
s3 = fullcircle rotated angle (point 2/3 of r1 - z3) scaled 2 length (z1-z3) shifted z3 cutafter z1;
s5 = fullcircle rotated angle (z7 - z5) scaled 2 (length (z1-z3) - length (z3-z5)) shifted z5 cutafter point 0 of s3;
egg = point 0 of s1 {direction 0 of s1} ..
point 2 of s1 {direction 2 of s1} ..
point 0 of s2 {direction 0 of s2} ..
point 0 of s4 {direction 0 of s4} ..
point 0 of s6 {direction 0 of s6} ..
point 1 of s6 {direction 1 of s6} ..
point 0 of s5 {direction 0 of s5} ..
point 0 of s3 {direction 0 of s3} .. cycle;
fill egg withpen pencircle scaled 2 withcolor eggshell;
picture P; P = currentpicture;
drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
for i=1 upto 6:
draw r[i];
endfor
draw point 2 of r3 -- point 2/3 of r1 -- point 10/3 of r1 -- cycle;
draw z5 -- point 10/3 of r3;
draw z6 -- point 2/3 of r3;
draw point 2/3 of r1 withpen pencircle scaled 2;
draw point 10/3 of r1 withpen pencircle scaled 2;
draw point 2/3 of r3 withpen pencircle scaled 2;
draw point 10/3 of r3 withpen pencircle scaled 2;
drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
draw point 6 of r6 -- point 8 of s1;
draw point 6 of r6 -- point 0 of s1;
draw point 6 of r5 -- point 8 of s2;
draw point 6 of r5 -- point 0 of s2;
draw z3 -- point 0 of s3;
draw z4 -- point 8 of s4;
draw z5 -- point 0 of s5;
draw z6 -- point 8 of s6;
for $=z3, z4, z5, z6, z7, point 2 of r3, point 6 of r5, point 6 of r6:
draw $ withpen pencircle scaled 2;
endfor