From dc4258d4ff632fce08fdf5a1dcb5e91fad10a4f5 Mon Sep 17 00:00:00 2001 From: Lukas Chrostowski Date: Sun, 10 Dec 2023 17:33:38 -0800 Subject: [PATCH] added spiral --- submissions/EBeam_LukasChrostowski_MZI.oas | Bin 13170 -> 17579 bytes .../EBeam_LukasChrostowski_MZI.py | 10 ++++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/submissions/EBeam_LukasChrostowski_MZI.oas b/submissions/EBeam_LukasChrostowski_MZI.oas index 2dc484ffdb3b464504c1aa4e4361cb3b9e277218..4d3517e8ef172d927b179ad21b548e7a1dcd692d 100644 GIT binary patch delta 16384 zcmaL7V{jm0`{f0pVJkNjYt$nMu_ET5&m+P+T zI@dYpclU!uRU~LaB2a^|0ac?h=eWp%ffexqP7qME-@lSX)%sXfvjonFDVKt1FCL+; zDy5s8RU&QHbxB7$jO%=aJgOktmBzXGjY(s->T~Dx*6+t0-qlQL$bvG;D|Gnhjq~Z* zUH#_yJ1Svg0HaPFOqnslY{i~Mn|x3O6z{}0c@wl~EL@pzApqGA4<3yT7n}!ai6~AA zgAhvf*Bg#rf|JD9_jmVOiW2gJGEn$Z`5zQy&NNhvR>ClevDIPF#hwadzs?izo`kc; z>$`v3u?W{2dm$E+&vDkfmLj8U?DxlZ?wccZpK$v?X|a^D=Z$!@Q1|fnOxu+&y{qz? zNKe!2n15k6F#}k%*10ees`IyC?i?tJ?ktWxN}s=oC@O^4qgv`HSA(?}R}JTaya;{w z*C773gTyzTY1XGF+wJ2gU1889^lTf8sMYsEZLn_g*sZc6c;qopLq#*_@rYcRd7hX*37k?c~(le}Sla^GAsR;|o3 zTa+MLudZA5Y0My9t3*dVUu_;b*E&#+PD*|Yr7D>@*HW#Qh7cbwd-kyDT;>^H!qn+# z`z@+;(={2_Rc~{6B0AQb>`v7ipF*v5llehe%p^dL(wlX(pyPUQCiu}a#_BSQofy>g z{i!q7w+2u<8k!P2CHxRqPT90zx>o9G)TZe4r-=q?_1TJ>)Ci4M$}+htWX?P%ml zV{e;VjDQo#h-YeGmg3A;?`v$9%!bB#ed?WwCgCd=5TY{7+C%5gg>WtpE>goO@X2Hw z>_B2+OVl&BUC66t>%DpTbV!@4ip?#bbp?%tGHO#JaKS7(q z!NEZRbTW`zm~a@vWFNUjO^mVEJlET6@Wi0cR5RIc65FF0&hd7g^1gOor0lZ-jhQpw zn=&RE&68%nTS{S+>jxjRhVk<<#F|iw!Wh*+;E{;IWg%+kR4bpPG}MlhcL(Jbxb|gc z`?}up{GrI-y8UBQ=NO5;*%g$Lg?3uK(s(2fyrzA|jZixaeX+UBsNUhw(-v-64Rcb@ zx;D|EiRF;Xz69Ep@DDK(u%8^XTf67Jl66Wns+`VHzU*8Tz?b^=TJuxF#c-Lm?dKRv zU}jY=A2&aX3y>u_?U4eVeUaMTiYm6T%*WjpGxodKpXDs zAll7Mu@XA`=6Vpz*04;vlehN=>gAC5hbQ>$EK&*nNyE~voMuB^(6y9zzH_bk0es}}dz+j>R^23FwY)*BQ+wYFr&n3CHTPD1V z7TaDe4BidSvI2B@DbD3W4E4MM_z63GX~j-ctn77$O!!VE>V^rv6x_8G`0hp&st1jn zFA)F;^I;nY^ofVWPu~ytHtdo=b3|-k9}EfJ&+6Z=n)jA0HKWNd7Fq@qu}ozoeNOIa-mBA1)HavPou^L)xv19wz8kcfic#rd zBUL?QJqF#{q-;4RV-$VFC;I7LisY8wukh5w5eq+Q2oaMBbB}`ZWt0`w%So7X)Z!)Y zOwmNXJHr}3UDC%WApC?hEf+^HSo;l&&EsCwXnQ8iZr(ayE8Bdix#1DbDPcXsP;&eb zC92@;S{RS$-^-PRxjPvN#O53vVmc_$AGLVwvW3i&W0)Z0sg$QocIJ;CmnGGBweav-6m6tJB*gGdxSR4t7zOV{)wosH;*=G^K?qUX0Bn zXjjC5GMz=MTL2M_48+3*y~V@W$ZUhu-w1lKccvS8rvgT^sgngH)3&z?#?tB87a~c{ z@(WCQG)+i2$#jmHWa92PJZjBRqSi2`8X*R+&fpPTd;|dphlAPv1hdw{^5_j33ysML zJd45xvUwkpZ#WD<-&OmbnFNZ6N(M3qGX;&9>?oJ4i81Ok+wli$Cr-J*@zto1wGg&q z)Vk4#^WN}-gxqz(jMO!9G$YbElO^2>Arh>`y1)%05p<|lc?FenJinHuT))WyksaTI z)FYNQCbQH-3Xc;JO%vOrcdPr)mTTVWpRH_7;JrYk8yyx1nlm}4+gUXcJoWm7>i+hL zAiuG@H*q=8oHf{2O>Yt-F>-pq$}x%LO-bFb&W)`3m{q_5Y!ccNkez#Pa?H$bLNYOzx#AR!!i3YTf*E%uHtIVxJ`c00Q) zjD&w~r5v4z5ZRpW8`>LVP1YAghrX{F1;wVVIrXdj?&&i+sx|mUf{gd_xZG~wGWv~c zuxf>KgnkF+9u7IU8_)kup{+LXnOO=vW$q2WeaH-G|1++B{Ry!Fjw!yWz264HL7=F&bR|AVG{^_SXV8;d@{l z@`5#TuKWBeW_QBql(StJN~!0%WX12xGb56JD)pcS9K~B=4!=c6Ubs*g0-HvXJIMpp>IHO3$tJaOr! z@=o0>V{%Sg2>RM3(M-yxm@PvG-?f&8hZ8B4d+46K%t|yh8zHy z_0heFXR1t&|CO0*uRW~z3yO&HZw=7K$ilZ;1oF&lPc^!jkLad9|y_>Ul>qHtMQYz(v~nDl05$CvM5C@A#$ zp}t8k!C4K#dqf~Q8dOBEQG$aYBL81TYGOsg{m=G-*NBF*bmC7x-D_1}?5WFT4m4M^7+pNc7(SYsWhTRvrXDaYm({i0-- zV4YIi8y>p$U~3znf$3_x^0qqY@{2UtoHc;8{I{_0kRCZCDrW9j336rKF~ekoAVcL> zDKH2r?T2ewv{k~W6Wk?>v~;rybk6I+S2uuRb>!dXy4IEMDH`{= zQRMK4hBCsY72$AAkrA+nZt(KaTC4srsH zrx%gjftBC*7Xz$HgLRTMC6^cyY9xOJ^f!cDt^^+4@;j+7C$}_1MQTF+mQT*k)}|^h z%gQ@A++>w;+5%I1JH!ru+jY7U|Mr(s5+^@Y##p5_ z;);A##-Db+WN&}uV)af9|4DmL4Dtf{qr=1Ra4tvZG7;xk&{rB;`8lFp~U?Wm_ zGnE)Quy6%v$VW>Mq|W9ZWV!)5^=p-iMAi|NOU!$w#3f1<{1Ln!Ev^y6oV_}PyJ@N~ zZ_2ra#~RgkKN!#FgBz@Au6;@GE#i=118%nO%NJoPm34s}q8wEa=!;_L%k8-~TO-}o z>4>b@eqmZ%_?Da}rm+m;a@9Br4Jz~O;229o{_sbeMwZNWJ)l2|>L&pBIe9T}QmS-g zUk(Y5LX(j-(^GVDK8Y-4-Po#0mKu~*d9hM#7m58?{5uEctA>FxEN(SqUc8nd2`&{3 zcJU?^H9m3ABsebX`vf|n3LiN-_u>`d$~h6lrUWWJ^TX0=ekTeLX!rKr2x1P?FU+m$ z(Omzn+CyDL{!;>AdjMb`d!_gPDpaUukLF1KUa3m)bC28&p+f zWwnVZ4Gx2C8mDnTpeaV1g~ONY4Y!8VFqxWNlC2vjZGF&pc#8nnEOf_y6RUqL#ovpa z7>h|aU`wb(ZJZH|CDi$dd?Fh5HDc`a2*ffbW;L=ZL)nK5)P7Lx^x@xfPl#qc3I1j~ zmzD9(=cSO&*V?Da)?JhoZ5ru_kb#!S9eJUX6AV0;yzhXnKW93M?O(YyvP3@e9Q@Lt zDKDzvmsj=9kU-%(E9;ILhSqDjO}gMo{0NCs_pV~ZE6o!RJ}g}EamQERX-qmyjqp3Z_sF&8h+6q zM3t0ENVH8wRH=AVKAAyM#K|rfs4=jW>e#rmv63V?M5zJcQf*PEu_j`X;|O=FR6p{P z`^-=IvR)m?=a~23!Mx^!CAZ3{yHb;{ZN~k7n+;K23{`&*%{{{*$?l9uGj6=bSznc; zkVjW$w@dMIQTctHV!%H0ow3BKfD2w5o4}=ijL8eY*~tqa5Hg$XmmSH_2&<}8wjCYE zLg)*r3grMWva=6$-8R2AH$IY7lrj0dEPGp|y&4DqnEjwYkg-lgU1sZ4vf(G2rPVM% zqqS(zq0amLh&}o$0X@e(#)a?I8s~U_$jQ~~3F*mkXh7~?J~RjB)DIrMJsgp%)quus zVKOF+a2`=IHk^{b_JCsQU@{{;y&fq*&uT@56*~-=K{iy7OCT=~l-1Oiq3>J=a`gu1 zppJLLUlIv#DC@a{wW#C#z#8IXsXcRRtVArr!wUbP;uecOF~m;rO-~V=DDr7s*-bZb z3taz;xpB^1;nT3zR&X{ryErjP8Dlfx#ZIMZ>W%9_Gb+!Xa2igCemB5!w+<#qo zJS786X^}HpQlY6!2Te-HAeBmuGEC4?Yg2Wal4pWHxkZ@yNUt$yx99v~Ro3B@smuOF zQ0UgM67RXm>~PI^m9J#}y?JXYYqLK=_1p82tM9|}`(-`BR#8aq7SKp| zGIw!lsI z2(=xze|As~sTia+H$1`Va<5ft1GPgrK;`zqw-kuq| z;j@!+QuKR!MQS!sAEr$+6g0!IH3L;-*E}B9QyP`C{;{{Q(O259MU8Cp;>-^_${xn& z9QSg`FWJsBru=tN6^P49!>z9lx^Yavqsi@TO>2V862fj78I5l#c()if;xFR1^w%Xn zA#Dsdbl2G@F9}PTt$9M6Oi4?V?r@NEc$i@H=-{CDn2pv~Zg{Wdo+m|GA4y~&j9$DC zcPq?S@Hwl_on<}@{bmqnN*+=V3+4sxy9P=4Lb-NN^Z`GV0EE6Lgux8&v&s$5p#<^3 z^t;{-(BBD@w~C-|>_ZuJ#^xg(NRq$!Lm(>}k9nr@In;5)Y zMp9iMq&qK+Wi+cPyJmK}Wv|W|^(?y!hS7*Ox+YoKmVmBmZR$+d_g=S8(I2`ZGL3>* zG|RAwJlDwl1q?Lj%58@m1`yYYWt2(Z{VN4IL-0tvw z2mK*yxoBN!!wTVB8}w}u$E6v1>4{j`Z0__uhUX?SjC4Q${!QLs=XUrIo4_scD~1b8 z8K{}|XtB_)1<1H0OE^e8z05LI)0m?_;R{_<2oNJH0e|OT0A25wnuLw63Y`7~^=Jc~!zfCei_ z4S!tv7~b*yAiqV>*vxz?fxaCUhk>#Hi9(pTx*UN%Mk-H3pLUv$`Fi;lD`|~%2M_fs z-%^%?`7`~{pGuOFW*+g6&FN1t3;y54hzMjL!2gtfd#iu&an$u+=`WRE;gC;$3NDOb zRx0EURbH=ld>N>n{z+nvltS8cka0~wqcY#h8rEy}bEWp$2CI20D(zP~10%<1z1`2` z8Vigj66;mz2<^>K2Y2hUi?iAEslRzXvyUHnKCjukg4L+EA>ex)nY=O3SqRuyb-->I z=4bqT!8`oc5B&@k z4C&y$TeJ4k4u9^o;>J!HtsS`8-JLR6#cCHq!Wm5L7>M0f0Nw}2w-f%?2!ibnLO(uEu3gHt}M<{Zv6$LFT3xd{UC{1E_zuj{a4`ehC#@Vq7jS3JnDFLCwED~Ox|Z7B)Ok?fWpZ65gDOpL{aX6R3G;@ z(r2oXJn@E2(zZVn_Mjb(HBc*ZzlY6S2b${Nnf+Zpjj8NRCx!rp0{f)`dTR+@;UXOK zX@DS%SJ2y=0w&V?;MhMflJ^Elpb0>bcLD{k_GY1A_EKT|(MFKb zy~rXlaTyFpxa`#~isiS>o>c}|CO{a=Y4e$Ps!cZc(e_WU7q!DS-_&k3G>hRFb!JTqr`Irz;Tb4%9#vpp!+RSTapotmjX4bE zw#YdwJ=ck2YKy>&FDJq%6Dy>ni(`zK%;8=mn-XZWle@`ESP9w6O2#L&(T`_)S6fh& z$yd|)((Fv@kForMP8LR>fam67_y-7ySHPtAlN}K(p(5ZnuK{WlYP9A+Zq1wsnPKlL?-S(QJ<=s@wGIpX56k z7PC@yWQbWAIl|hjf70v9qc+N!I8#PzUz_Br1XmUDZ3>0o?mY7Kjd|7{Z-etX(+~t~ zytZ{)xJvHtNE~X9Wg7xR^h5DVWdh)y3fQGf_8&u?3=-DgeMwI$G+KYz@&x{VfrIlGbwLp4iyq9KzMzx-5UTVc>ZpToSYM$?b6f`ffwpV4tHR&g zX7?&PFcTm>zB=X^1s|kz55K}38av8|6?`=6`GYZ~`BVEZXjZ<@&${KxZB9LjF`%1t zSkg=hn!HlBHcWcxtfhrJj;^0zcplpE&5UX+ATtt-4K~Iz%vP*C(L^g^eiS1}m(0-}NCI3SSp2`4 zli^YE0dNsip@Q$ua7B&UegEv0D}0c~wIIg91Ey&@Pyud(6P`3yTgukHi*u@ZO6FRo zPtNvQRI7D9wWbtCJ3*^*IAa;@;>yO!-7Wmn^~bHiDgWGU#~+S9cPZ+fIJv<^2fzG@ zC5`S~YkpIp1>XS2KUCtH_T_<>rN-efKMj)=5FI+8zfZs`PB)l@wfi+Ukp3ffKBw<9 zj1vk~F}6j#>E0tRp1Nae(w^3V__%=}UZ}xLYjQ4$GtIyp9$L2}#&RS254BtxsZoM< zM3yXg>EwSBdvxKv^;2OJOZ0gVcc?)onrHQmZ{NitbCnNUWgpen4+WW%b=HjAP>mYE zPQB}*WGv~cG`)VPyVC*{oR`XP4K(cjB;YJ*6UZ*I_x;-Mq9M0)0U>h zc)zY329gvFe9jMAp29f|?#GY}_HV1YFNj(S%@Lac;fsPRWxYeB;F}^r0(!cN)!^sr z=KXXv;|Xk==f6p>^0{6hi9Lvbpr6iuv&xXnrP`>3xs2>ojGhoF7xa-v*H#*47g5x< zazmLSfgO7I^?_7c+{pQhqMJ#8!s}Uc?riN|$2Wr*Q}mE}+#oMVur*No7sR!Ds1JDZ zgwW0Z#&)FXeqxj$Xp|6Ylz`K{V5%ok_KkfwgZ8+5#QibTf3bbH1Bg!j({RA*0EGQJ z^gUZ9U-_QTWS=yazwsvwroUtfVe>hgHonyu`_>tiFn|A4ObZ|+tlpTs z@b@@3Z*%@XU_Rx4U_SI>E4#apKVs1u*#Cz48AGl}yq9H*!EP6p|6guzjs}K45B5^l zlF_=-hnd2+R_NOlCTCbX1j!jW%`a3&l}koa{>d6={r$~QW|sD|nGK<;P{F*l%AMY2 zNZ?-ps1fN{q@K!cG!ZAzLQ!Wwu#!?kjz|_%zQp(k^9AM84~_y*evnA%?-da_sS0)X zD{J-tWBG9Z!}5_&2Y}dU-`6SM*D98=e=wg2!MPvw?vUebg!9HOM7kSgMA7uc7;RV9 z*c^*q;~o(|wZqz!Iul%tMb0HD&&LJ<{hzOwfNm^FYjCA*TJ6$lm^bi-a!6N48~b6{ zGpx=w3NQ$ba~iisH(c{?GP9229eUwR%~2o5@Qf@&m|Ei40f@nS``rF<9JBX>1ndLO z>~6G@r}~An%r?*?6ZPeBkwwvkbks=gW}${@@l&~~zp_$vU0j02YA#hyl+~ZI*@{yH z%Od{%(KYyHIs+g=lYtz-d_fZ?+sfgq;e@^W?edgik6Qg?bf(fxv!~HuV_uLa>^k#D zh@6#mTcFgP1`b&8B;6)XL>m`8S^`~gJzy|phZ2lM23s_&Y*1;qsg2wSak+6#*PN2G z*I>{DUQR#nk3a9bZ++tSGlSvM)-739E|BG^b^7Zr1L3YI-6*DwzI{Q3ay~T@%Z*&f zDA(y>katUJ&%mi6;c2Wl$X|yjek=9K%5}%1KdO@42MXx|uu77@_7790bhS~V8?dt2 zB*dY;)sC%}r-y8|{uu4P@NhSmO``o-z5ET#Hr0aY=@`L7iNy+f`8bpiRqW zj6}Y`Kyp1bfU5r7An%@}bdC;BRj*b`l_aObe_Nv5TPlvVRZ;1|W9MFK8z{ArtZEEd zdBMs20kG3sOjW0Tu_#1J@N`wad)h#f_ZF^>x}u0z8~{$Z#tv1Ny>JsCSVEQ z;JA}V5;kkA>vFX?{`=`)uAxOZPB_`1SU6{WD?lf-RrKuIL^Z~dXn*tlMa=&zB3$Tv z&&R~>?>8U+gdPl&I<7`jB9C7K3L|H7DYM86VnwQJzJK zkphUr2ZH-VSQQ5P>S0{#!CXiPLdXyX%GO{~wGcHM5H{xF2s0Lg*TKC^aN@T{rg690 zf`BdtGr9u%yvXCrALw6$glt zDh%N<3@}s&`9`lXbHPj|AiBiU;Wn%B&Y<+W8v6n$yLbbuqpYS_i<jtmp*shnI8eZe z<-|}%3k@7M( z<>i&F+gRIIN!vG{3)OzZ@v%u0a5%K)_z3jqEy{Py+?%j4c7oM!inzp{lpgqf`Pb?; zMfKCPcO`)OEBPLW5^DS#KSa{6WCC1ez&1i(6Ep8q=iQI!-#z>7R_1ifkLG`%!XIO% z2#R%pYFJdaCQ7Ly$;#?3{-uaSX1UTHQ(6qh8o@fol!0~Fje%5#fs|HE#ipeMBE~v5 zOsSddg&bz%+izXVpz?ntf#?0IXU<^vt=F;UYgXPAcx&S3_*kxA=jpM&s_0w?Sbux5 zdP#-=ueEfTz8Lwac2GJK6WM4r zZR%p5%*GEagH}2BZq#;T-Vq)2u-Q6fY~kXX$+wz4yxi2JaFY-^CG#6nD=Dgh(&2wr_n z*E-T|_ME~QN_uubV8WKN=}}NO+7ZXRKAWRe{TSJ?BXN_%1e!x_vK(>0YCs-@ zd@#Pt86rWnkcr^mRW+}Yh=5;Jg`Mbk9moLml-3Q^$eNW6JfUH8GU#xCS;y2S)!r|% zmh)w2jA=n=n7QRo$$jg$2pIInSUR2HbyV&<(i*lz&BuWrXx!3u&gB|__Q>RDBM`0r*8@~1ii>K*_`~bAqfV}4iTM$X9oFJJmgRli z2@c5CQ4^>QBL+5n9FH$xFP5dM|HO=0-knwlg=?u*C<;6%P1%qt1dW?8l}bS5@+#z< zCbFk^SuElA(1YWF>zq{AAeNMJVETj=dwE02FNxI`xs_O=1#l0*OefjYnmr>Bg5?g& z$WZ-3s1ADaP_uT9G(dddI< z_=jL2G|3VFh7KaP0HzJ zyxSvPEvRhq2-UU+hvn~BR4JOgB)(;P%e9u>267l+ntoh8~r5VXgUTMhgkWz&J`()u0$qBH_CLBQEr0 zA?s2hrZwbH3^$Q{hzU^%1uT6iY`xL(v$Re}xEUaVl1yyAvFzO~|2n%s<>(dm9t~&d zK947FLRB6R`_YHDzBaMVWV76_Q=qrV0Jq9n$rfE_%Zh5mlxEoAE-;XE` zHS?B&wkDQC9B5@k1LtcppjA`P9kinDFU3(hswu~?Zxw)V!9s1gw?vdK(y0V0uw$MR z;eB)j!ulI$S?O%=Eo*_1MPp#j8zmu_huT2g3z-~nGOjNQL*(eaiYb*qD5s4rywXIRT{u1dop2IrcA zCr=JQ|0y>ZqaGJ)3@(n*`n}hpjHGqh#6V9IS)k?_mPZ~_Sk_2M7<0k*A_#c!=rD1Xa$B6*<(S-usXtIk z#&t`67+Z1hyyGC0PU?G|!Z4_9aTgRKIFZr>Mt_2uf(d@NxPmKL1~{d!$sqE}Vc>=Z z@Dd|OFXKDRjEH!+z@d@|FE!F5vxqXmizz(j>{NZIaHuebBsqJ`f{2R3K1Kt)tLD4F zT~zF@wX&DUNRG6QkdsQ&VNg;B2@1A%%Zq13yMW}vPSqd!oobExgoeXw*Zcjq z&0ZYhxDMHC!xU9I)EQX?ALX7T*YE+5Cf+~lElk`7-mV`MZR3F{g`-Zi9)eIT(v`Zc zZxxCnbm4RQjnJ>uS=|HVtr*Ep5O)hE506tK0B%*pc99gOM`F3Vv#~0>>)6~+SWCZa zYa-M+*p|$c@r}$W?s#z`avw_| zUX(20hZaJ#+#e;IH@NTI@izz@E^oA>9e0RniSnA15{PDH2N4FF9VJ9s+peFf8riaJ z#osN2pR@&)l)K{FGZ`Tay&iJ*&i%ue%+?&Q206vP2Hkv{on0FuTC`lq%>DiVSKAa6 zH_lw+BU-!r!+Cxmlj&0X_v%mT(+L?wZe2_Do-BW)M6=s9;q&FKFS|5H|J4nP z?}Tf{EV_6SK#g7@iS7_etR?l!_4De@Tnc4k+F{gB@}ult0)2WX4l^Gx3D&@z&CKB2 zN-?MEQPszvQTI)1?RS~Kabx7Hioeuag=ei%^4IRF^y?bqKKGc-e+WNc^`9j!B!BY# z;})UtwwRZ%@TPsx_VF~{%3h&gQ$^oKSlH$re&(x_^Qz*_!#L~1I`fe2v&rY?nu0XP zF9zRpxaOYbQT2Hd>Lv{MdAcd(O202Tj2QAsjNQbU&Z%Rze%3)^PigaJe|Zk9yTKfe zok1g;I0&>|r3fX*E!yJnoMU^te$nLKK`&33H$B<>Xz^_Lc-Jq7-f!+GZ566uig+}6 zhjbRXQi=B~=@C0ywAdtmVrp?T#TYw+Ro?Fprf(Bq<5h@{J6UAEo$|Y2xz?oq;8$=` z`uw}b%G*R5C!nGB8D6FsaVhI~^tC#o>?!Zwqm7}v8~y2N`gb=uj*JK@Ybj%Axiq z`yu33;@LUnb3WwEP1AU8y3=vUR2Uc(WL!3=m<4Wra3Zgi#M2BMRF=R8^924cwd4ct6Cj34Hu7rjlCql3ul5G!2KhlJpwkH2rI8h{3r6PN)H8;onKJn~qGhx}Lkai1wc6j*7dj z;c7+Nec;*Fq|r;FjUCYe+4L`(yz|tMc0eeQ~z>`?D ze3gQ?$-6SDt$p{TP`dh6aA63Wu&l!2U=6op5|E}&SMvt^M*omp5uwGub+GgrZj8#^Qbd5EeIh>UI zltkRcA*3MolejJDlPD~kqRuPVV3x@E-XG2o{1EI6_hihOj+2wF|#xixV?0Ze@cwt^|y?Iv*2j)GnA&xmpgilLiS^dMST zW118LeNdkC8MH@uQ!Ofjw#N=oIAwnb4zKqqUE!?ZYh~q%u!sB+`I{CM_wzmmPP37a zq{gfPR>>cXQX>>vD&F4sgoUnQlVl{#q(zud!_!302y=Ah-~kb56RN$N_^ziX0LUL| z3ph1K-v8lW>p;A#=mzNk(!&m?CPdMWNz;*cv6|SBm9%ZqdV6f3Rd8TC`wsOqQ6#oj3QYw7$WMh?%;F!eyA@6S3r9a)i`JWhZZIYJeNb#3FTTQVlzD%U%ST%xFab4WwNO7vU#Y zEog=RzGUsdRN_Xt?5n+m*6Bs0X$?%PD_Nt9az9btR#=vOMA4-jg9^L_ad6mg06(fO zTvIGi2*A^wV8r`A2KqoGrYZCqS3v!Jx5vNYTOBN@1ufUlYSH@!@^&MHQ{sYE4-sRX zDI5DY2%k&bX@Rf_uHPVCF#t1=gAdskta1TfojdyU&4NhSmy3fSWDm}=s!8P&YBAey zmBk0T8q`L*+z&P+A?e?z!nn)D570Cc+86wC-~Q1Xe%1{`^hWRu_E~iq+@2xz z8U1%Z1MOjMRt^m=APDOFytdGZR<1DN37Rwoyi-3iFL93BZdPNp^SMbK+HqwB1sr%?(ciYc=L=cK@#&9B1 zc~oOV>)66muIG^u{lQOaX?I+iUw7}_5sX$D%oc}j|MdmA>r~_6&coK2k02yIPBXI_ z+Be06pjoK3je=6L4-_d1tD!fMAtzclKz%4-K~gGMq=1=0(a_hqJ+<$+{rlnjtAJ9C zQ-bdnf+#c19YEfb;+oQ zja|_w5$`fvavh}G?~dTdI6<1fQbK$WtO5vYG`~8%!8xA`*MZ>Ws`;zo3-tc!Q#vE0 zXan}FRgo-^iRr?Q&}9?w6YWq7W?f1%@M89Yj5d*~5pEAQ*C31EMS_7hP%G0+!2(kU zID^QIWefPlLucpYyUK3Y)VCnKXiFnQhXql^$eO?WUBb9rP5JIX_x5#3!t>!JTp%g= zXc*?@_c@yF1c1=cUWQBXx6YfX+V{u2%d?KoCSR_7?H4E~;+Tm3OK?4^U$oss=`{mR zTw#0>FNkJK>0t`%+@+#pf6CRC6AZOGA0wGP3{Q!+Qt}`7@S+OhzjQ}8sGm>Q8 zYQ~io6TlPDz?abty>FcZ5JcIeP@}w4SWZaxJ5Es3pdZh)(jec{+&UY4zhpJvv`4%U zgYkfSBvCIu*7*UgozChVH3{B4iB%vHMLgKg`g z8BRH;5%^%^&JySGg_^B8%OuHPpEy*LZ5yz-0efXDFGWFbioy$FonzdZPT~Q5a8H=A zK--+1ITba_12Nc^KB23;A#F;><5FswuNgHSU@iFL0Op4b9Wi>zB=VJmGA17tk$3=N zu`WJe7wjA`7~jwy6dQPhzI-Vd))pubz^;VT538;NqPQTN-f)yGLXQo1xlqI~Tv)9g z-I#1bF93R+TtJVdbAVKeX0n4~jvUk{L0Ir)+^nE_LQ~>l>PBtI8-iMwkW{l*ov3Kq zJatkSqchTZqj;9tEAq;^zf^I;+2$kEz=1G}vU~NM}m(gG4*L8de{)0s< z=Y?BbEh_;_=Q-A9`GR*W=UFpo>o-!(%Vxpv)aOvTHLC6r8er}^gk%}?j7^y;)7gA+ zvW&0kYt4F?h2~I<@TgL$_YmnJR*@rtsiYfu#{HqFmEWv>9)tGU&7UCfiTgccGnxWr z`RVu&NDT46_;5LiDMax1S@<_mr?JO)V0-9)0bQ=5>P z$RK*JxCEt0$mI?FAW?pJ?TEMjj56AX<_sIXaC#gkS#aubo@~ZN?;(o|xN+e{eRZ|HgMsLHFCnFNw`>V7osT?5}Wv81}VJ z{p;qc*qfny5d2qZ`~hXH4>6TDyWjo(X$CCsrwZqbp6J_8(LeIG=OnPE=iWzqFI9v9 zx6CM;Q|7kcIcdGVz_Y2#mxKqtz-*HM+B8TOs>|M*MgQ6W^#h6)ED{+Q zpMA153g6R7@lxe!fU>EVX_YSl8dbJqe2lcUZ%xB+2ZgiI-MEyrZ0$W`_~`Q1m5)@z zskQ`gn7&Y@*yzD1A~K0qCOsB@C!vCRBCN>4Nv9k)5?Zq4+8jgL;a~?Geud(>Z20p_ zf!@;-=J*Hfk3V&vfOsCDG9y?qs!rii%+X8D1<5(qJq=_OiZlnb)N!@QdQt&OnJMchy0?Hd7k~M%o)7?}TYH54UMP+IKIr z-ZUbcGMo@x+TT{;ehd%K=cQ^%I&Y-PYdOQmzE8J|{DzlP!zq&k8=}~?R{FejanEP! z_Q>}6@(1lZl+>YSVV_|a?FMJJw?wS{GB4tfffjC{C$?(LV(3wbN zrg)jiV*6w%ziwIp##C$1-{PLogdVF+ZUdMe^?SAzWA2)G9(f0bDe=w8Ue;|)TM8X@TfgP(-LD?scHT6TzBAptH7Jw_Fm+8NFt1wy(B z{>zBBK8cWG;3237wEQ=*Dfl!9XaXGP062dTG)`#Mayw1{9dWlRYORu`5lXF+z@6mN z0G-G_7-j)9%fBPlf`2C0u#y598-wH1=V{6Lh8PLS8PI6w5K$3bd}HD5qxe}_c*DBI z#ij3>W~IfWd^~|ir)sQCA?*?&0c*GGnLkvLg- z#85e5QGFWGQj(vz8snlCBtMHJ#zjv^enRU^gN;CDibwL?Lquo96$&4ye6pt0tQ+h3YzS}_6i09^1lF6XmN-D delta 11988 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 diff --git a/submissions/KLayout Python/EBeam_LukasChrostowski_MZI.py b/submissions/KLayout Python/EBeam_LukasChrostowski_MZI.py index 41a2067d..88143dd0 100644 --- a/submissions/KLayout Python/EBeam_LukasChrostowski_MZI.py +++ b/submissions/KLayout Python/EBeam_LukasChrostowski_MZI.py @@ -42,8 +42,8 @@ tech_name = 'EBeam' -if SiEPIC.__version__ < '0.5.1': - raise Exception("Errors", "This example requires SiEPIC-Tools version 0.5.1 or greater.") +if SiEPIC.__version__ < '0.5.4': + raise Exception("Errors", "This example requires SiEPIC-Tools version 0.5.4 or greater.") ''' Create a new layout using the EBeam technology, @@ -100,7 +100,7 @@ instGC2 = cell.insert(CellInstArray(cell_ebeam_gc.cell_index(), t)) # automated test label -text = Text ("opt_in_TE_1550_device_%s_MZI1" % designer_name, t) +text = Text ("opt_in_TE_1550_device_%s_MZI2" % designer_name, t) cell.shapes(ly.layer(ly.TECHNOLOGY['Text'])).insert(text).text_size = 5/dbu # Y branches: @@ -116,7 +116,6 @@ connect_pins_with_waveguide(instY1, 'opt2', instY2, 'opt3', waveguide_type=waveguide_type) connect_pins_with_waveguide(instY1, 'opt3', instY2, 'opt2', waveguide_type=waveguide_type,turtle_B=[25,-90]) -''' # 3rd MZI, with a very long delay line cell_ebeam_delay = ly.create_cell('spiral_paperclip', 'EBeam_Beta', {'waveguide_type':waveguide_type_delay, @@ -129,7 +128,7 @@ instGC2 = cell.insert(CellInstArray(cell_ebeam_gc.cell_index(), t)) # automated test label -text = Text ("opt_in_TE_1550_device_%s_MZI2" % designer_name, t) +text = Text ("opt_in_TE_1550_device_%s_MZI3" % designer_name, t) cell.shapes(ly.layer(ly.TECHNOLOGY['Text'])).insert(text).text_size = 5/dbu # Y branches: @@ -148,7 +147,6 @@ connect_pins_with_waveguide(instY1, 'opt2', instY2, 'opt3', waveguide_type=waveguide_type) connect_pins_with_waveguide(instY2, 'opt2', instSpiral, 'optA', waveguide_type=waveguide_type) connect_pins_with_waveguide(instY1, 'opt3', instSpiral, 'optB', waveguide_type=waveguide_type,turtle_B=[5,-90]) -''' # Zoom out zoom_out(cell)