From 49423a1f42823007072dffdf195077770d702f0d Mon Sep 17 00:00:00 2001 From: OMGeeky <39029799+OMGeeky@users.noreply.github.com> Date: Sun, 11 Dec 2022 14:09:58 +0100 Subject: [PATCH] Initial commit --- .github/readme/cover.png | Bin 0 -> 68151 bytes .github/template-cleanup/README.md | 25 ++ .github/template-cleanup/settings.gradle.kts | 1 + .github/workflows/template-cleanup.yml | 70 ++++++ .gitignore | 4 + LICENSE | 201 +++++++++++++++ README.md | 126 ++++++++++ build.gradle.kts | 19 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61574 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 244 +++++++++++++++++++ gradlew.bat | 92 +++++++ settings.gradle.kts | 1 + src/Day01.kt | 17 ++ src/Utils.kt | 21 ++ 15 files changed, 827 insertions(+) create mode 100644 .github/readme/cover.png create mode 100644 .github/template-cleanup/README.md create mode 100644 .github/template-cleanup/settings.gradle.kts create mode 100644 .github/workflows/template-cleanup.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle.kts create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts create mode 100644 src/Day01.kt create mode 100644 src/Utils.kt diff --git a/.github/readme/cover.png b/.github/readme/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6ca6f50f20854e1bb88002e9c50ace5318747e GIT binary patch literal 68151 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≷MAud=vi6uq-ege!?%G!kBHf@-YISfeb%%?iSCC0j6urq zwnR9Yg4u&)U-`uC+vVfge3TBQLmIYjQwgrx1|Sd0#S5e6O3+^?HN5{#Ki|xaX-)y& z<`z}0i7Pd%bW|8{xgDXiPf6soJweRqkD|Apo1LAt9lSkzMXDAUX^DkkbKpcH`6QoE+SxBF{5&C5L>0N~P&5_tpHqrcV3tr{u9 zCX1FEjq;6wJ0!3i1dz>0D@yl)=1Bt%sFNJp?OhCXXs|rMDB9bR3In+1;vfCY|MrfS z6(D*$i}?MqSzp3{l2gqCt2%S>oyKjjT8F8{4VR;>WN17Fv7%&QuOK8zk;{_BS=1=| zEKs-ThsC>)s)bq&RtRj#C}6nB`aoFwr7``5eRpU@rRv#Lo+?zZi8YzzTxh94>?w-{ z6aqUlqDf-6J^1@1XC`9v>hu1vi~w-`1dO*ibcz&g!q)IKFNPPl=>mrbljRe(E@<_9 zEDW7Pp(!Xq7Jd-KOs3(qxVR(aTbt|XYfmsr)XXnG9?LcG5ul=)r;+*eWzKcBu5CPh ze2o8XP@re2M5$_8c@kQYulh-(137AWLxw&qC?`Py5BV_Z7Ss*Q{IV_KtV`)#+|dO>Nf;}U z4muv7c8(d{s?L}63Iy?hTnTs2JGsq^aGHF0qywx zlwH5PjXscMPybZBiGTyU?Oaa943*1M=;KuZ{^r%sr%XlEs_53oDg^N`5M7cV0>m}G zB?1w@isy(&yl`2O{S-5%qv&i6C&ApY)hr*{KNORrj-Q%;=I8INz#>Np;}NT1XWRUm z=?V*p<4Wd}PKW!Yk-cq38cwZW3y~$8%BpmK1HKdWC>KMSqpm%Pu_srw0M5+rV_0Je8uwm?|!QKVvA3h@b65{ zu|R%DF`ftpK2Z99`9^uVh!uk-JUX1P} zRj_-pih&=mO~RK`q3;1i0b~508;bono?9Y80^rYuSu(Cu0X6Y(QCy0*=2b=gHVRVz zRl7RL2ZDqz&$c%8TrO#~Au28j94TN2?5&weO@JHuqLq)xt`{d=O#=nSNqOV5fz+=y z7n*TbGKp0-0?VpGE2AdQV{ieLl!>o!@}6OVU;gW-+LTek74wvro+fX5IG*!)Logzx z-gVTeHa_%sW7|ZK7>wSp%Qoh+IXuPv}?pft6UIqv57P_ zHog1u&(lJ#g_h}KBNfVCaLCj=Pd@7R`_Q>HZWbsBdd%H8_hYn|ZsaK75ye zdWa_}YK%()5K`LtP$`Wr3L^b6h^kPF8UOvbGR@fj#e&`CXtwLC#{y zKuNJa9xJ7bw;?`OHO;l~QV#|Hls?8hk;j@0(_^Zt`(ND`YdSX4-mMp$@vprB_>txEnjO&n6ka!d= z&Ck_w*nZZvy9$mMaKn&_)P3eV_^9I>E)sKrdWqVWHj-S7;?7zhKEKAe((2u`=9bLH%jG^?r9O^8oM6M|I)e6zMx{TuUYRp@CQTgcI#?yJAU@4pj? zEivLor>tz~^ZDI}77C?0=zacG(7USXfqEL&9;r=N5?1m+aCp>?y zV7rzNhgv5u<6q_tK0h?5#pTe}6{$Zv&0750GG|CMx3KI>iyvwe@D4u%Rc&JsWuq;f z59b&W{L!WvO%0#m{aPI+Hee<*=&n?nx=@itCJ`r!Q~HQkhk8wMHduWXd%c=|y+XZc zxOvu+%31g7>aI95{-DAq+a}cEWknk9hYa9qsq6fH_<@)4ez01BhW^aZ966q`B8ZKH zyUOOj!(h%Q>4(GI%lH%5+=4gtK+y{uM#6WWLgr*P~~Q%l#+Kn1HZ){Hg$bjJYTf5^-#sk-HC9saHH-a)yCxA z*T6&oca4m-Ht-UuGOITKvGXYX2=DY8gCCE9tg^YHu8VrI*(|=AGc)ffmktF8(6VW4 zzt!BaokG`0g0vRD_4xJsMC>zG4CrDeIPno+@R=t-x zpeQTK@^UN-DFaH~QFK`v0;bzp4?1cXv_ZW%V~n{hx2VvIO#AlP?$w2CxN3Vm7LCZN zdCWr>(g1#L+3|GgvSg>zSq>k5>xV6X(;?FEJ@NBgqK7Tbm>qd-E=;ivCJraovV*E$ zJ|{z89XOFG>GyaUIu6!Cs4-&zycK6l#&5oZ@}Jh$&WT?z+yjE>QNczdSs}M zR*ov=o}R5C@vgNaH~*KVq5^e)c`sx!^S2+fPuPz6u@%L0)ER5Spo`d7@^*p)FCX57 zc>%i-3QTTP=!-&_O-DsPzh)^;3SD2+G_d<-n4{@wNt~G4VqBV7HXz?S!%_I&bSh4gSZdVf%Q(d8k@tUsis%=7O35Et0z53lmPMPvGHNwl%FxR%9e zB4AL$kM|!M;ASc-+wl9M`;6CZGIC7z=hW$(@Wl(M1@fgPZuX}XPA59lm@h%`<%X@8 zHgb|Kzuxh7VmQ!je_5bdK6^~R34>;RH1MB33yvNxuVqi@gZ6UcKK7!;#U&gaG1F8Q3YP*k z6;C`opPiqWv!QglWgnZhP;2B}^QSk?>YW7t{+7UOeiE9c;o0%T2drgZC@yBAiRC|LRq$7AN z<+G=AtVfSNy5PO)%$*8}y>He?b`bJcYQUv!YThH!tG9UT9{78YcZxkc6DR6o4*li4 zVd*1r)yqA^B7u2LZmPS+DW$*2MzZpwN6&$G1mk}Y zRu=EuqjQhIfBj^wtV-v!<+fcNylMzGwWNW>1@bvz5>kl)wm00Pfeufh(RE4A{&i+1qxO0Zoe2C@sOr+q8RtofHKg{u{ zo(QZ~P)WL-X$`9+N9R|a$OArGmiYfHt_()&^IrSxn;HWK{rh%agHlyC&pKE~qlAqW zYaL-MBUrqgC{hOo)+m(ocg(1|@4fZKc6kHq6y_e5?FE4$(Tab+5U}{{P3(}m- zYIc*Sy!TTo6$9VFuAkSojKU|L)vPeQBZ>6tr_?IZ7tGbGEDEhh|6n~q00Nfye#nNGmp9i42N zd&6Eb!t0QN9v}R_czTKUpxOVqrM0L{GOyho7D6+6)Den zDHXorQki`1XS2@elYTd}0>F+K#=-kD{9?#|9#cG2-+7*9*Kf~4JWVh@iVfv(5B6_n z@n#rCsjO_k8wFEe^|wyM^-iC=N`#8|1uO%FL#JMzZz-QDG^4(3JNw{{E$QamN{0a-qY_tfrNAt3><_%sKSiG0k2$TCR0{rLN0)B<&SYlL!( zpcwItyoX;`dSN(k8Tjn0_g@T zaeUUs_R>?8$2T8@+JF2nrY{hheUx@6;E279N#PzGR(PUdrcOvoj=T#9B!Ub95(vUm zC%VvjH@ePu*1TVgSV&1{(P_rv2l$o8@vC0WI#RzbpP94)MD^8%zNpY6q&852d`MQq^s5HCPkBrj znqBPSCcirCssLBraQ*bQ>B7hh%c5kbihDx}_ zm+tXHWR)Dun%bXsi{X3xv|3j^6TcjH#w zvhzsKqNdN6K`2Y&V5Cmx5Xkg>jch6S2XiV5|su zYQxM0%Gn%c;G|v7I4$m}X3hKO&s?&c+t6sI*aOMJp0ck;tpXMri z1&!))g5c*lW{I(M5mnd9&na8lM|SvoGX|l`Y__}@0MFmMP9E0}Sw)h5r^zzIXj_d=V`?Ztdd7R?eRdOJXpprrVlI9vt;AKMR$v1Cwq@I6uZ#`V> z0E0Yz2Hu(-i9lZJ6DoI9U(!x^BKTa{EEBg^F~9V3Ftb*tlWs?L*M=M!Sb6n@Ew%S;Z@jDG z(UZ61;c6%a_GLRCf-Vh|wU$s$JN%fjISuB^cYn&kq$MF>DyOjRJOj_1Crx<~n_q(oYA`Rr}CBx%jHO>z$W2d>Qbgo@$O0Ru|c0n%}SN304Gt*ks`abK%5Cz z1<7V-?qAk$>Q>O@ShxT@h+N*RwADyB=rfWe9x{|YdhUsBKVUEWzm$U3q*}|=#Pd*>0lmTlz z5?pQF^TW)OQH{A29smn~*$rEC6rforkZ0dMHLAIaB67#}9Mbvra5X=;v$MWHu`*Ps zWWK(6NA@T_pkA!3&=dn*6IW6>F9KAR?f-;BPIDxC_DZaKFaoAA?0CNPHe(A;dTP){ zpy!vdr84~dg;kl7yrK37H+>>z%3cXHQJBgFwnNWrj4JNt#w7HG8Ccq z(J)^mm#?r7(+>!?eh}ZjiG#|x9QnCGy5C@aIiL@=Iy1bvYtsw~NaYg2uX#DpM+E&X z67be3{Cm&t0JH=<&bH6#c_^&3!W%tyi34jD3#|Wwlr3JPHp*_gM~@20#gh^qG&mUY z+f0`$UNn!a%caiCqqU+Y*)Y4NhZ4P-f+fWarN9ipcVZ1-c!yJIF9*Hp4u^?Qw_a6$ z$mUWJkh@V&V_L(20`sfZnrb>e`;r$?+w$tpFjoOX;X^X4RjE5zKZ);}hX`fl1GUZv zLdr9(w^X9IT_&wW$GHY+vCgHKMi@r~{S7?P(nMwo{+!aA6DT`Qts{lWAj`gJvE%kO zAVuZ1sLR9=@q%K@U^M_;5&WrzYv15rBHX{)`v={axMjwliseLBJD`__=Qqz|;MK>{ za@qHJg00dzXC=atC?hyOA<24k~1nnZj$-S$mqpCWG7EY8SK@!a#F; zyVgC3t!=cvL3Y*4U2eY3Z4u^1ki%3Rh^7m4+2dSVq#d`;h1#?}y*`rVs5G1!1oO5X z=1Qf(*;&4{WWK2E$3b&)3MaH#HztxzCb$x}#II`ER`G8UZ2z3kA`12(rmFYBe<$To z)MvrQnff^jTWg>=Q^%+^YFiNUIm?=0VH$^-e5eiC*Y`!|E2*@AvF+puPj{RHa4fnJ zuMzzGMu35+((=aM3`V6WcxmAElQw&>MSiFu{|(O%T%!DnUHR68UFi#FnaIF;6%dgK zbzHsGWM{eD-Ehgh4w?ovNmxU{xOJAF4fw~PB5B`3awtdB{)3v2a~jdF>=W`N8ZCLC@aSYVbL^Uc3+AtEumbw|Y zV=IFKMhkQqf*g)b&lbMiXuJKS$9O%#phtr6nyz?#Bxesp=%Jy0NeIOT7R!X8|MX$F zoyoaRIG9}sUKPFHn;(24TjMA<&m3cAmG}IJXgHE*#GPKEG-myl?o);-owGK^?4u_9 zP2=m3RIIKaQ1$jS4f6kz2Bm!YzF(fcdxv<}2%Ruc0JYqCDh0;8%@x1F03o=YF`PSt_E5J-RWDxQw_IsPs}B1?N6O&VoOgv z8Y*fPh9LG?f^J=CnOvIY*x;0^>Y&ua);aW@E4s6poJ#faatE-`D*yCNIJY*D%d5P? zP8S2|NxGGcpbshgT#F~%U75ZNxk5~4go$X?cST^_H0ly+&rel{lxS09C=8dwxXK30|EIH>T?gIAyPR z*$Zy@ddC%cU?obzE<{s_OpieRC9;$WAq}~54}GuQ#ROY#=eTB zMp85|Mbiivqmq!(QZZ1$)c<0TPZ3{Nl^LXw*Q$1;^bM_`#mTrqvv>M&05?r{%l+YRV4?U_bj8{-hx@t6hUrr@G$368$!P*LI zk|}(qd%Y6m$bdl^07Wl+Mu3VfqCb+0nj?aflzeDx|9FujE;n%R#ft-v!2$HQnXg>` z1zv6JiGUpJ^2)7<-YvYB=eH4&aQB>PN-kNBd1gVEINGtIGd|Ouc0rkLc+pvq;q!@- zIW7*Yh|Lqdcj^6On2~ZZj{JgWxN|Ip}H;qEm&nr?$Ymc=W4-dN!BK#pvOy$+^6GohlZ ze7nk6Brpdl$FG-B^xe}?%)}^UI`JC4c_g5Rs~=kHP-|-$JQHQdpb`Hmkas2Ni_a=3 zm>|&mab(NfDw`>xiBo~v9QEUBIJp_|HYq)(6Ax{I2XChKR2W6&D6?5Pg3Sb4R{ z)7Y%IKWeA3u+)_0>(VZ$rYZ1OzuW!J6k9TP2rttJ&+Y2YLgjh*f^w^MW+ToFWh|Qq zAPuGS*NG25eI9?H!Z`kUzom||BP#>@LoDeqj_NW3q=c>pCoRE_>e|WZsb8ulvEa6% z;MO7aD_+bSW&COa4(l*KqP-k4lry|1md#~ zQFFQJB2KY@c0q5AeJ7zh%?!m>rXN~j)hiKKO&tBX$qu8ArjtLY!t(^szV6ZgKoaOM z%NXCENb%Gr8S0->eiDVQFCR2$e-Qa66@Q1vz>uH%LQ8_pe^=-C!Ts2(!!*bJqMzfO z3GEPEi!K}vCkvnWxIWG;L?c;Ts+P3mo{J}OM8Kf7EZq{3iY^YH@WaOWN$nM@gqkcD zuT#WHq8yUMlFX0V-s&ibhWZXqVvuRJCMC=9J`aeGg5gMuD6pp2ylyWMe^>2`Ur9;I z;0QSAFO<(zLEOrqoz)Fw$3Ci0M@M%hH3I@*x4h0IXVmpQsx~!!2#vo-9$O+kF@}Rq zmT(^&o|?(%IP~Af6DBxk+V61-z7H*BgT*a1+j(of$Zq17!b7oF%oO(aHM+onS;KQO zWWh6)Oa|f;&(j~Ectwp)zo#IU@wR(rw`wn2rbbC#$?XkRD9-K z-HTY@V-3~H0Mo2xV>t;SW_UWv5pY6IOOaNUD-Uh0xR>kJ)y7u zZ~B6s*2gC})faf!4`vEFmSq;yXeNU0i(Zn(bwY$zfl$`GKG^C=Xf6fu20G*-8C08yU|SVN z24ZVI4KWEx^6m0^OR}IHK0rzy%E4d3RSZ9Jf3e`*Bjf{{p)G_ef+HJhWkAj+*;fm$Ip?*|b_ufvYb+rS^x zhMmwIPgg5U1xS)70#D1%B4VJsZ1RA(p1Ma^kCH6@Po`^=8Y;<%TlAQZKh+sn)qg`` z2K4Ctl%-w2e`{qnbm@5`S{H|)`U8+Pr!v2Et+%O&0@D9h_191&(XG?T#s|Xbs>O!& zg^-yyHE4u27$!C0*u7|a4q*Mk@S6()4CtFVhqxp4Ekj9QS_^~GmapnK2Nt7Uo4}9? z%8SYEm0muh3W3RJgcMGbKG0rr#6gYRfZ}Lrf#u%+05qwEv9lcB<{JGlLL60lzda`C zWb;4GFyx`3em8Tc%c4U@bC~58=P%3(?CcK?fF;^9Y57@$GefLu>6(S)A;`q%3)#AZ z^|?5%LDk7yUsi#WnE86xb)WAND}U-2<$hw7k%W4(P?&|ND&RbP_zqW<8_vp?CC*RD zqUFzPHm}5eyhL-cu<{D^Lt@OeC@(&Xk)1)9s&}t0f=^-Co#j4|wV{2OkHZc?rk9J6-sFABBXOKv*_i$D?OcTG47JZ7^X%`08imtjhieRt_}rx* zy2iJN(9eO`B%8Sdq*gTf$e^?a_R$l+@!o&btKY15k}kiw1(xUz{@}Y9hF78$yY7rY zUw1xX?o(&3&S}M638HUrBohU5sY1iU5+}RC;eCZL57Xt{>9;;P!$H8thkaTRXR73H zl$sBPy+jEXTTx?Gvj8!8vRW+2{dN5-E*V+=)clnY%b%b*NG9%7$;3mUUrpeVeuvvt zQClxTr2g&Bu7neri>oo`4NpKyQjp}+;E^cv&%V4JekwQ98H*36MzgTuaLyjaSC`7~ za1<%}tWoirc=E4$hWZ!rGtwE?qy3%yeq8`7CE6rkdl3iCtKoc4p@F}z7JL>P?(ZuH z(`1uE(1GgLZG;}APoY$Pk@y6wPo1*5yuxxY;bOKz7>y7v>&IlmkygXyc_f=|r~}ZW zs$=OzXvM$5cb;sC>j`zZ?MK=AjsqH~4dN5eB`KvRWo)jRg;CogoAb7lF=Ci@F?vK$ zU2f12^aF06Q`vu58mQn_pI6f#B{2?r!cYCOW3oajv13{NKDD`>Wgy39eG9}9lp?{z z@$Q4s;6f*W0{hLmuK)gh+gQCOWm3iA&J-DJ*6kmLTI1I576L&<$OE~o|5%5y6%EBL zI~BAg;#umX`Cfh0ESn-Y;WAW|oRFe*`Mbo40N=W(R9h^iMr&4Lp4OgN&!;L3Z+zG5 zUYJ+>Ty>PurEL?;R!kL-~c`Bzc+mw%o`(7x$srN(!Uk~ZM~W5 z9fEZG`l*P-4o>W9K?^?y-GE;r|6)U8Pmc5rL#F+@bPO0W|^wdhXM^+|HNssX-Zm19q(zUXk|Lmyrbjn9@m#vcGY_-<;}-H z>?Cdmz4|wFxfmcatuO(Pio`Qm$BA0>w9}G3kfv0z5OrCD{G-|a$7M5o`}3P2olPow zkz@sCetvo#r!n7@0Wer_UJZgUP$UD^A^@v z#~?fCeSxNF57DMK?VD)4+=i(1L@!NY= zPNM=jIMj5Weay^Vm%;9$F!eckCVV-FU(J$1OgOnm;iLwt9M?r_kFs;Q@$5{|)f;VX zdvi>)Mp9(_x#I`yWJS1cn)Z6HGizK>G802PCT^=yv)oL zmgBvzRvA(C^tyZYlF)f1x7S|IXrm6B<)@`dJ>&9U7wvus-&9HR@9Y48o@C{I@>obT zAGXGG$y{V&#?+XlSCps8E_nSM@_|WtJLwlRFom91EBqFjCriQv3L)F)flpOWC@9XC zC^2csh)%voe9;3E(bZeOXf9~E-;yCs6=?oY>06Kw`I7>TM+*J)wGH>1l`-E>_NJd( z^jW(ta@xWbLq#qdh7}z;odg+Z-j57No3qF;LbTF*H`r**pk4zAw#D+M1P{B5Qckj} zvaiHECdJ&=^Cia~xbM|pp{y@sD9lhl&ZhzTd2NuH?3A)|KwkUXLt| zi7sCl9JRO#Zy*tr7bGk`ws6}}SVR>84s^}62SXxydYt3+>Nh(-BhR^+j~zV(&Dz4! z>ROC?u`V9xqf%f_pqBE|^?GtmZM(XNtWP&aa5JsIH0+ISIQ==9j8mh97MFToz+)KG z3p>39kyISq8=gmAXHj2JoDyx((!)9IN^hH2%f|Ey{&#u{lo`|a9`UL*;onquuhW22 zV$BLX{jaP%3S&@Gz7tLFH=gZ-d?EfG!JR9#?=%sJ@4}-#$?JIy0}?GRR?p4`mPq5i zk)}5!se8grwNUKH_l8;wwS`K#zgexnGyZOhCx8lScv^_1>qmMwQliamOdYPJaO@haI#9l4#Ap8Gu-lNNVGkUZ4iPvB~E6_d|~B zP)YreU$3kYGv;Os@vRSuITpL-sJQxfdo3ekvb+x*0;!&fT2sOV+2|nNmXG$p9*^zk ze2jwKH}W+{ZSQ}YJ9xu=JGCwD12W5Zc9Tn z0^>;6v5zP|PNPtEJalbM%0PeU$1Dc?xFI@YMkzGJW5j?d?%xitz#%($v-YfTQC;D= zSo%><{JygFtOneOcQfZmZm>}^MV5K$JkzqRj@W66?$HH?=*r*e$Jb+CJ*oIdF#NHg zN>fb6>~hld9+4W9od>*O8WIp68ba)zuNSF8s#RQ}&>|_IB(G1(G;&vgvUY?YM=yS? zay$fp^o=d1xcF)_rJeNOH2yDP9HJ* zI|DK?PC*8k`a5da!b_jqy@m|`ZA2so+BIv{eq5*={)66E#Kl$AE;9i_1o#(B?0v1jb z43vju)D2cSUc30L_5dR2-D3A6Y8Kmk;G#Diuk}Vrl>*rXaO?{-?1#y%g4t}+{Ia5crVbpKbElli|;kJYxg%L zsJ`}z?#?-teOn#ts4&xwx`cZ7cEufznTq!f(9uXOW@Fec>^G&UtrDyhWWR7NkQymd z=N14064{xzJ0Hgl&-hsRoaZ-by)|Dtr;!E9Kv9d!ir|mtO615ttxajrZ7!+#>o|He zU0P0~VGHf#R&eO{bDi}?6pa5}TH--3&zB2a!|#K>?xt)*%&_lqGv|XAb$ES1NHtwF z2rp)0+y=!gX8+*@rI;((laJfSiz>AyQmb|dZuP!f7}}UQw0Ss#5m&$78TZfCQZbin zX-cE9r*$5jN?({%jQf8tS1^+E7ejmes);u?2&F@^?eojq}vsftBGlIdK>)u3-Z6A zZ$hONA$OK#*ro9LpMC};878~>DiR257!H#$7A)Xi?z^EO1s z8h$vJ;r8J!x8vN8%k=01fS@so&Ut6j=Kv9y2e_1fL-vRJZE;W7Zxdm|pXY%f zXZ#tx53wTpFGTbPI-*3PVm>pf?B)i77xjd|Rbe=|irO8F@bakeTb z7p$Jp2%Q>)JZR5rcd$9@K0SjG_HZO34yB~mHuC>jNDK3)654#7WF7{x3e}l$Re5SI zP;)Z{RdzDML~k!CACV}is-l#3Gw)k1C9&Z#&(V5y`uQ~$>+ew+P}JnNMxv=ahEaYX zV^R}_UfpyY9$LXGAKmrmL$f`v)v<$&UPhBHY+CSvozqnCeTH$f(Uw2Ua zZO{SGJ@%#(pH542lFxP^mwla4dgA9PYg|=@XVNoe7-B1V>7?RbSyMbO%Jn3JcJiB` zK+&EMjnGlVy3`!n?Chn-Kh*OA&|4FR)OwA#i)bvLOd})MQt|Zz84?3xpQ*!rDh>r=mSLz)GkT zR1t{n`{9GSBVnDDh}$}$_lnc4WAt8pnr}Cis=f5pF6nJwt5AF(c0(X;YDU?V-EdKO z?5`w4h++G~Ag=F>N_*>={j8%-O15QOF*;Ztf^8zCiVId9h}_Qh!>)tkLbAL9nzT?g zR|~XigtMDau-Afv}WDV42e$qx5Pka$w%L_VM5R8r+wli zS`FKsdet=+Ntv=#sv3fBy(NyCvfHx1N}6o8u1 z1u;}uJ0?{Mg~csP52sNw)*=) z!rZKznaKiaJQN3IW+@jQmiaq&sQ7}Q2|!NIm#j9 zA?{UdslRu#Nmmd-CvHapey(pOJrS%yEWeFi?zZQfT{O*RNIW4&Exh#yV$SsMOdmlh zkNJl_fB27nzI~`zCqgC7^I5SH7GMI(5GrTCyd3MjRW85lZA_5;ODDucp~-A%H6Wu3=?o68z4*S*V-Y4Z zoIU!cr8gR0eMbE&b)k6E{0a+R*T+P!*lo{i(L1)pXMx_GGqX9~PWm|YWWmqT0v-pe zwFTUhZTqa(YRkwRz;x9ORiC-#oUB6a4k-H4OU5i`k*Fo*2-vxk83t0gk`3Znp>g87 z(MgiMctP6+aXk6EanOP5!-vw~MLP&zq>)6-B{O^iMv2^U2r!dZ1fA5h-=_G`E|qSs ztuRGikXs0kk$zl05S^)9g|^xjukm_5U^LfQ^oK+?$X%mR=PVG@arNUbzH5CI6Zp*7 z#2Y()Xgf1Euvp{Y#WpaV(TcktLZY1^Kgc_Zbw=%zTC4Gbl;RRM+c#>{txnj2zd>Gq=)4OPtIq6@O`cnvzfnI5S+&<5wt)8wGBj%urnD*lz zdX2f;+j5zj`>RVA`P1hxD~xAOzx?~gLD~sTQGM|IG4YUJ8e+9F4~AU|Or6pQTz;qX zkAx#*F@VG^7nVn#Yfn;|`S9d8`7;C@__lech+YdhlPsX2qU5TvKzi4$yZnW5x&d{z zacFAM;T+U_@n)r=D7@?YOVa#)?_vT56H|{Q1VN%vFJq%NER;j_dDl+@G_2Ke61+yrIWoLS;U1rfl+__Llp%)^*mj<1`+mV{?aT%HWC}_*A!+ zJLTStHP%}y{s8B^ZW4@v9;q)d|M`sYe!9d?_Ok4GA?U{DtMM*D)>QQ*9--a$O)5Gg zDC?0Co@KGDxk(8}YHHx89^$DShZ?J~;nyy8Ogs~JK?z4fw~e2vJX`rc8%wR+7+4zh z(D(fMQ2sKmc&wWuPQ*bn@GfW1yRmBQP6aMc?ykHlKmI*mjkB72wK~>GYvZrZr;5g4 zDZi;U-nCLW&qvmg*;(^d1XJBAY2PPiowAYw(EZOcVZs;2(C}LG;*j@N$%I{Y*WTqo zeQHRro13j9^ux}VzlkMD2so-l;+5HZ#rdcjflemg2i{xlP#_)W+tymWzug>P1mm%p zM+X^9V9xgWzaeC|ZvHUC-cj|ilW=rZiCo8}D)+eDatH0m8rzKLrca8f()`ZRYfY3d zKax{fQKzm3BhWO+Mzth4DoAW`;Ll-*#Gn#xi|tM~094agpHA-l>Zsf*WGQu=39M7N zgZz73lxkcn9|WNxLSB=psj?}Mp*NS6t%nMj8XRxD<$nK)aN|N$|9!)?=>}!CuK8Q0 z;;D-PywSDSpSFmVbZ>R!rS#S7DC;WggyNzKCGgX*h+22Hw!B8?AMGk1Ybbv?6YsOm zJLCq9e)$k`GkZHHxk&vHNn1Th2>q*MARMh!rtQ$Rp_*9rvawEc?v6XJWAex%E~$fu zLu;&q=YdAiG6*}bpY(PL!WGH>8yEjpy;aQW{bl5now50(7Aie?=WW%4Ned~~2Zl6W z8v)B=frlh*a^Jn^7;)*Jl{5bmQPy1>cCdp9ly`h z_Xu3n3r)TJ4T6d#T{we^f7a76*o(G_Ki=|v_?c*=y?EM@TuL3Sfc4);P*iJ?%vkPK zOw^}uSL*LZp)ybJ?u8nJ&+s??FaV#j@NEpU+23$oEZEk+_49hD!S$a$?S@e5*A`!S z`ra~`YTgn^yj(D}2(wdqVs4=nW8_o@84GH(Hy^?LkXoFD^!kbkKkO(>(+-zir$SK3#at% z%*Y^sF^4iQsS*6vy}JxS^@3c_g4~7D@?aH-uOfHr^!|-K+gQ?= zKaZqIGi-x{Z9!kPZp+L##`)Y*5|S)?n?{*O05Nab|#1tU5> zp5>VT)(y8cp>P|i+F0C;B93?V4#H*^IT3o&fhtCZPlPlav@RcEeloWIZ_#WRU4d>< zFBNiF1I18)gw@STrb$javLjQQ>~mWG#LS*H;;kpD2%&sDC>(^{7nsZB9<9@%UivYD zyi~RAlWWsUb8d5W2A%UWzNfMiGiPotf3;Ad zy#jd9fEKT0XzElRv*fjgtQ4bp!FY;1ftYX*M>1&oBDWY3v-A0k4o|~`?=iUT5Ds~4?eZ+19e?WK6prf+g=ux& zy09qW71dd$tHUXV19sP5TpxNg{rpoS|Ke8N^WU#6d+3C1^dq~6cB3t_Y{`l{t@*i?c8cd_vCKG<7 zI(+@-5U?{@n=TF^2eU5u)l8UBuApMx_g57N@2+PqfiRGJbkPOiq4H`M^pZosaR!oe zX((Z7yq-xKWEhp{FEaFo`8VjbbjzxwiNW1yDD3#U?4~xKiZ#!O&^i%x#sZ*>I3xQ{ z!;ponBgrX50jPR6(lEH^9D~xRjYIlRvgSF@dUUP_7M;2U_j&j)U!s8n&^P1Jw?RO6 zudd#L&rZV!uaIj=$^_7(?Ba|Um&KjAsYX{Q%(@FB3&l3#f)m(lXsiuqIH;hhm+o=+ z+{3Z5vNGkrPV=qgXhjL)UHo@Nj)0Ddz3k z9;+u7et#QXMhSYJ*-$g~?-9Jdr&qQT&r>zE$VVlVHoD+|?*tSHLeB+=9E2~Zb?75L z+WEJ(*;c|yz_`%l%;)DKDwH=HSF80x05HqCJlrjQal0tX@_<1(UWi#%0~_R0(8xJB zVc1Z1L4XOh4Z@!EXE#Xq_|SsaV4~B*XFYvEy`9d!q@klxs3WPKFS=w>2Yl_f@sr&aAqN8=6@7ETWdhA1uQ+e&<=8oxfP^!!{9zN%GT&5 z&OK-0a=?1X$5S2!xsE&`s(9SJkv9(D%j@`2gGXQ8wpYRCO5-b=KpTEbprY{uC~gJh zeiS9*Bo8w5dX}77QvDwb>7W}mHZJ&@XoJVWoVHyXdCGGc6};bS+hrgl@3+bjFD1EO zq#y)gjtoJDwoY>L>%8RV7GXal-^7f`U#D+_@5_j92j!3%VbMg;$c4YxDoEQgo>VA6 zKJ;A}2YiLB&t?g5z$DgnZbvu!Q=q8B^ox}j?S>UMuj3jzFkWOA>>jd7w_%?PEMgi( z1mLe1{>_qBmuTup%F67zE&ucWHqtobw^ATJ@Ty$Vm~#IXVT5w&PK!qY*2FR#1%}qt zzBNVL-+|+PjpfO*3DDiER=$Fo568CzMZmnH8OW;;){PV)_h_>1Bcu(PZwG;<=*NeY z1E9m#*KHia(Q4+u_H&6c7CpA`*~-d$#%eR=5ef}04Wl9aCx?MWqCzljGTi3`L3BmZ z!U65gkC2O5w zH~m`8@2iOQTFZj9I8(&3S#!v93i7r~k3TstkM?CRYOwx9W?+sD2mD3cGK|KLCD7*T z>}PF*t=no%C;;;UUyhhmNeEsVywh*BqC?ZrJ<3Vx5WJ-K;cZN+A)NRX)=QugCT$O% zr0ed*B$^l+_*Jyl?$|5%?^p^<8Wq`&yX7t_IH3Gf&r&;Pp|JYevsq z_FTrhEp-{PP8~rM~;`)5+0Wf~6g`DV}8TbLF&=&E$OFU;CiXXTDfMR>|SWWrC*r zW~q~vmHxEnz#dq2VZ@=--%DDVtyorWzeDB6tmN#@_?Ug#vXpp=@8S0Q%U12zV1v=S zqRsqYL?U2kunDturnV*TT@-L(?1`y z&u5~6qlpGBoxYJxpdgG%rL^{n1->m(yzXEF+1^g@XkeZ|tz)r{22$mzj8c*|K-dsv zu?Q4crCX+Zey$sQR!@LoA_DVp&ht6i137MpJX$_{;b?SCA9=!s1H_HzCr{|W>S+^e z6cv2AYybcxs&t&rl)woRs6wfgEyC*FF6dh1`)gcJK%grW>zCBKxY*{OZ+SfYB2gDJ zYkux-nKjp!B7yPNUDjQL=(F5ub$K|oWiY6n1@N$Ol#Z(u*OQ<4AA;--ON-O*8Jm^} zdf7sarSWF(TOtx{M4uMjOFLrC<2fBkwhRX{h$UkX5SL<-^h|j z=GxXh!G%X$7?LZ$*YGSyAF4!GjQHwt%>V44EyWBZ>Hduo5QlDK3j@b;)|J6t><~H# z;lY7VV;Y@v-%H!8ZgfCSpG7Xu|=;NGA9VuP=$9#oZ8*Y#%L+=C)I8&*7ky0d1t=}K=731Ow$hs;q=p6It*v%+3nMj&x&q5ktG~4fF$h~R^GSK&tUf_zl=xm z0Pcq~mo&7;?fiBd`j0TxB`m`VQEb$mn;f%;yu`JQ9vRPYbuGf4k5Ij~P;>K=pZb*4 zv9sn`pSO?r@rS0%lSNxR2s`wt}ZOqDpCQcyubV5I{ zV85VbJ?)pKRrw}{GO*reCPg#C%zaLh*@0mwk&@hj@w!7BYmIaGFB^H#Cp550vtiP$ zx~9TfCUf2QU7ppIlD6ev!3r_fw8$r{yF8;INe720nUpr zN7R){<+v64fRuzcY9=7J{*$ypB6pP~bIjkJ%N>A!zB&n3Q@TEE$Dy5%8)O z#q)Z|aj7{|n-W(Oz!3x000yHywnZ-=a&-&3U)bo-;P)E8+PN zI%ui6nLTlH$j6JMP25$}V0x)$j)XTY|)F^1%!> z9i7)CQ2EQ5wXvP7N!MceG`A<9UOWcczq(sNEt7743B19#F#A}NQUM+Jj?|iIR zp#weu8_LPiK_HMl4l5h{Te3R`+zZaG_otXmLS{7k*ag&Yoz_C0hV01+w?-*mP^*4( z!e}9+x_0(jSFw<|G@m0bEtBM)aU-~IPwEa;iHc~N;@%}c(S z+ARaIyUW4y7}&p@t#>KEe*s*&gPVqo#U&5jh9ihXhwz{ekQFtzNvjKL+HX!t7cd`e znHeS6_SxYjOj0h&?62zHsHKTCZQE`69a@a@qP$dLb<=01(>YKDh&j-~M(I)sybS#hHw%hih)RSS^nPOqyDd6 zkfknYxN9y(DeTnHQtbEG=MJx7Qgh1N@~zOl+j8&E3TKxC754V#<~^akUq!o;G{7OT zxbYMq`s+u(Kc^@OKu`fOGB{NC$rS2l%1Vm|3B_8oucKq-i0G;n>U~U}8XEZe$ zQrOMv&y4I0x9jSKcHEjj@9~USIq^vvT~fdQj)m*Wq3`nHt7@ z14E-_onLTYUmv@N*d&JNeZ4on*tz1Rk@WIxY$&`8h?GR$EFHyHK)7m)Y8Blf!sz{jNd>GO1_ zv-xZtRNDDZ+dTu?A|f|1Pe59e+;+ z<2xH*4$vmC2D@r zM>*rC2?V805A3*52;bjT=?{0}k(^%y$o_X195mVZ3NVt}a(S2a_w2FxVIX^w0sDqm zf(SK`*H)s#o67DsvfyS=k5BEG@s1Q$9b6(_#0X?<`Oih16R05Q?wzj4!ypZ`K z>+M19@G(B=?O?Q$V$H4kX(}tK%h6gze}R=;Rt#ehWzuPVLEQvv{AR8|wpjlSU8BR3 zHi$!wWbnceD=+xC>*xC`cca&4A)J^rxVX3~3IYZz!7~&I|0Q@LAKqjd(7)$vOnR6x zwZ{sU^lJ7M7V-Y&H3zYL%EDv{sF)Vn<=+qa-a5S)sXz|+16)P@U axPQ!|-2L#8&yEfa_^ByrDOM?1e*8aD Remember to join the Kotlin contest! +> +> To do that, edit your project's _About_ section with ⚙️ icon and add the `aoc-2022-in-kotlin` topic to your project. +> +> **We will find your repository and count you in our giveaway.** + +## Content + +After you create a new project based on the current template repository using the **Use this template** button, a bare minimal scaffold will appear in your GitHub account with the following structure: + +``` +. +├── README.md README file +├── build.gradle.kts Gradle configuration created with Kotlin DSL +├── gradle +│ └── wrapper Gradle Wrapper +├── gradle.properties Gradle configuration properties +├── gradlew *nix Gradle Wrapper script +├── gradlew.bat Windows Gradle Wrapper script +├── settings.gradle.kts Gradle project settings +└── src + ├── Day01.kt An empty implementation for the first AoC day + ├── Day01.txt An empty file for the Day 01 input data + ├── Day01_test.txt An optional Day 01 test input data used for checks + └── Utils.kt A set of utility methods shared across your days +``` + +> Note: All task input files are excluded from the repository with `.gitignore` – we should not post them publicly, as Eric Wastl asks for: [Tweet](https://twitter.com/ericwastl/status/1465805354214830081). + +When the first puzzle appears, go to the `Day01.kt` and for each `part1` and `part2` functions, provide an algorithm implementation using the `input` data loaded from the `src/Day01.txt` file. +This input data is common for both parts, and you can find it on the bottom of each day on the [Advent of Code][aoc] page. + +To read the input data, you can go with the `readInput(name: String)` utility method provided in the [`Utils.kt`][file:utils] file, like: + +```kotlin +fun main() { + fun part1(input: List): Int { + return input.size + } + + val input = readInput("Day01") + println(part1(input)) +} +``` + +The [`Utils.kt`][file:utils] file also contains the `String.md5()` method for generating MD5 hash out of the given string and expects more helper functions for the sake of the [KISS principle][kiss]. + +Each puzzle describes some test conditions, a small portion of the information that helps check if the produced value for the given test input is valid. +To handle that case, you can put such an input into a separated file and perform a check against the output, like: + +```kotlin +fun main() { + // ... + + val testInput = readInput("Day01_test") + check(part1(testInput) == 13) +} +``` + +The current approach of providing both `part1` and `part2` solutions within the single `Day##.kt` file may sometimes bring a disadvantage due to the first solution calculation when we expect to work on the second part only. +With simple cases that don't consume too much of your time and resources that can be almost unnoticeable, but when solution takes seconds, it is worth considering breaking daily solution into two separated pieces, like `Day07_part1.kt` and `Day07_part2.kt`. + +The final result of your algorithm will be printed on the screen so that you can pass it to the Advent of Code website. + +To go with the next day, place the `Day02.txt` file into the `src` with relevant input data and create `Day02.kt` file with a similar code scaffold: + +```kotlin +fun main() { + fun part1(input: List): Int { + return 0 + } + + fun part2(input: List): Int { + return 0 + } + + val input = readInput("Day02") + println(part1(input)) + println(part2(input)) +} +``` + +## Getting help + +If you stuck with Kotlin-specific questions or anything related to this template, check out the following resources: + +- [Kotlin docs][docs] +- [Kotlin Slack][slack] +- Template [issue tracker][issues] + + +[actions-user]: https://github.com/actions-user +[aoc]: https://adventofcode.com +[docs]: https://kotlinlang.org/docs/home.html +[issues]: https://github.com/kotlin-hands-on/advent-of-code-kotlin-template/issues +[kiss]: https://en.wikipedia.org/wiki/KISS_principle +[kotlin]: https://kotlinlang.org +[slack]: https://surveys.jetbrains.com/s3/kotlin-slack-sign-up +[file:cover]: .github/readme/cover.png +[file:utils]: src/Utils.kt diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..4f9c6d8 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + kotlin("jvm") version "1.7.22" +} + +repositories { + mavenCentral() +} + +tasks { + sourceSets { + main { + java.srcDirs("src") + } + } + + wrapper { + gradleVersion = "7.6" + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..943f0cbfa754578e88a3dae77fce6e3dea56edbf GIT binary patch literal 61574 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 ScNgau(U?ep-K_E5zy1%ZQTdPn literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..f398c33 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..65dcd68 --- /dev/null +++ b/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..46ec124 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "Advent of Code Kotlin Template" diff --git a/src/Day01.kt b/src/Day01.kt new file mode 100644 index 0000000..284d028 --- /dev/null +++ b/src/Day01.kt @@ -0,0 +1,17 @@ +fun main() { + fun part1(input: List): Int { + return input.size + } + + fun part2(input: List): Int { + return input.size + } + + // test if implementation meets criteria from the description, like: + val testInput = readInput("Day01_test") + check(part1(testInput) == 1) + + val input = readInput("Day01") + part1(input).println() + part2(input).println() +} diff --git a/src/Utils.kt b/src/Utils.kt new file mode 100644 index 0000000..543b7c4 --- /dev/null +++ b/src/Utils.kt @@ -0,0 +1,21 @@ +import java.io.File +import java.math.BigInteger +import java.security.MessageDigest + +/** + * Reads lines from the given input txt file. + */ +fun readInput(name: String) = File("src", "$name.txt") + .readLines() + +/** + * Converts string to md5 hash. + */ +fun String.md5() = BigInteger(1, MessageDigest.getInstance("MD5").digest(toByteArray())) + .toString(16) + .padStart(32, '0') + +/** + * The cleaner shorthand for printing output. + */ +fun Any?.println() = println(this)