cherry

pez 2023-12-04T22:52:59.072679Z

Trying to do #adventofcode Day 3 https://squint-cljs.github.io/cherry/?boilerplate=https%3A%2F%2Fgist.githubusercontent.com%2Fborkdude%2Fcf94b492d948f7f418aa81ba54f428ff%2Fraw%2F3e871513ab6f2462841f75fc99668f841f33dabb%2Faoc_ui.cljs&repl=true&src=OzsgSGVscGVyIGZ1bmN0aW9uczoKOzsgKGZldGNoLWlucHV0IHllYXIgZGF5KSAtIGdldCBBT0MgaW5wdXQKOzsgKGFwcGVuZCBzdHIpIC0gYXBwZW5kIHN0ciB0byBET00KOzsgKHNweSB4KSAtIGxvZyB4IHRvIGNvbnNvbGUgYW5kIHJldHVybiB4CgoocmVxdWlyZSAnW2Nsb2p1cmUuc3RyaW5nIDphcyBzdHJpbmddKQoKKGRlZiBpbnB1dCAoLT4%2BIChqcy1hd2FpdCAoZmV0Y2gtaW5wdXQgMjAyMiAxKSkKICAgICAgICAgICAgICNfc3B5CiAgICAgICAgICAgICBzdHIvc3BsaXQtbGluZXMKICAgICAgICAgICAgIChtYXB2IHBhcnNlLWxvbmcpKSkKCihkZWYgZXhhbXBsZS1pbnB1dC0xCiAgWyI0NjcuLjExNC4uIgogICAiLi4uKi4uLi4uLiIKICAgIi4uMzUuLjYzMy4iCiAgICIuLi4uLi4jLi4uIgogICAiNjE3Ki4uLi4uLiIKICAgIi4uLi4uKy41OC4iCiAgICIuLjU5Mi4uLi4uIgogICAiLi4uLi4uNzU1LiIKICAgIi4uLiQuKi4uLi4iCiAgICIuNjY0LjU5OC4uIl0pCgoKKGRlZm4gbWFrZS1lbmdpbmUtc2NoZW1hdGljcyBbaW5wdXRdCiAgKG1hcHYgIyhzdHJpbmcvc3BsaXQgJSAjIiIpIGlucHV0KSkKCihjb21tZW50CiAgKGRlZiBzY2hlbWF0aWNzIChtYWtlLWVuZ2luZS1zY2hlbWF0aWNzIGV4YW1wbGUtaW5wdXQtMSkpCiAgKC0%2BIHNjaGVtYXRpY3MgKG50aCA0KSAobnRoIDMpKSA6PSAiKiIKICA6cmNmKQoKKGRlZm4gdG9rZW5pemUtY2hhciBbdG9rZW4gY2hhciByb3ctaW5kZXggY29sLWluZGV4IHN0YXJ0LWNvbC1pbmRleCB0b2tlbnNdCiAgKGxldCBbbmV3LXRva2VucwogICAgICAgIChjb25kLT4gdG9rZW5zCiAgICAgICAgICAobm90LWVtcHR5IHRva2VuKQogICAgICAgICAgKGNvbmogezpudW1iZXIgdG9rZW4gOmZyb20gW3N0YXJ0LWNvbC1pbmRleCByb3ctaW5kZXhdIDp0byBbKC0gY29sLWluZGV4IDEpIHJvdy1pbmRleF19KQoKICAgICAgICAgIChub3Q9IGNoYXIgIi4iKQogICAgICAgICAgKGNvbmogezpzeW1ib2wgY2hhciA6ZnJvbSBbY29sLWluZGV4IHJvdy1pbmRleF0gOnRvIFtjb2wtaW5kZXggcm93LWluZGV4XX0pKV0KICAgIFsiIiBuaWwgbmV3LXRva2Vuc10pKQoKKGRlZm4gdG9rZW5pemUtcm93IFt0b2tlbnMgcm93LWluZGV4IHJvd10KICAobGV0IFtbdG9rZW4gc3RhcnQtY29sLWluZGV4IHRva2Vuc10gKHJlZHVjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmbiBbW3Rva2VuIHN0YXJ0LWNvbC1pbmRleCB0b2tlbnNdIGNvbC1pbmRleF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCBbY2hhciAoZ2V0IHJvdyBjb2wtaW5kZXgpXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAocmUtbWF0Y2hlcyAjIlxkIiBjaGFyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhzdHIgdG9rZW4gY2hhcikgKG9yIHN0YXJ0LWNvbC1pbmRleCBjb2wtaW5kZXgpIHRva2Vuc10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0b2tlbml6ZS1jaGFyIHRva2VuIGNoYXIgcm93LWluZGV4IGNvbC1pbmRleCBzdGFydC1jb2wtaW5kZXggdG9rZW5zKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiIiBuaWwgdG9rZW5zXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyYW5nZSAoY291bnQgcm93KSkpXQogICAgKGlmIChub3QtZW1wdHkgdG9rZW4pCiAgICAgIChjb25qIHRva2VucyB7Om51bWJlciB0b2tlbiA6ZnJvbSBbc3RhcnQtY29sLWluZGV4IHJvdy1pbmRleF0gOnRvIFsoLSAoY291bnQgcm93KSAxKSByb3ctaW5kZXhdfSkKICAgICAgdG9rZW5zKSkpCgooZGVmbiB0b2tlbml6ZS1tYXRyaXggW21hdHJpeF0KICAocmVkdWNlCiAgICAoZm4gW3Rva2VucyByb3ctaW5kZXhdCiAgICAgKGxldCBbcm93IChudGggbWF0cml4IHJvdy1pbmRleCldCiAgICAgICAodG9rZW5pemUtcm93IHRva2VucyByb3ctaW5kZXggcm93KSkpCiAgICBbXQogICAgKHJhbmdlIChjb3VudCBtYXRyaXgpKSkpCgooY29tbWVudAogICgtPiBbIjQ0MS4uLi4uLi4uLiIKICAgICAgIi4lLi4uLi4uJDMyNyIKICAgICAgIi4uLi4yMi4uLi4uLiJdCiAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICB0b2tlbml6ZS1tYXRyaXgpCiAgOj0KICBbezpudW1iZXIgIjQ0MSIsOmZyb20gWzAgMF0sOnRvIFsyIDBdfQogICB7OnN5bWJvbCAiJSIsOmZyb20gWzEgMV0sOnRvIFsxIDFdfQogICB7OnN5bWJvbCAiJCIsOmZyb20gWzggMV0sOnRvIFs4IDFdfQogICB7Om51bWJlciAiMzI3Iiw6ZnJvbSBbOSAxXSw6dG8gWzExIDFdfQogICB7Om51bWJlciAiMjIiLDpmcm9tIFs0IDJdLDp0byBbNSAyXX1dCiAgOnJjZikKCihkZWZuIGFkamFjZW50LWNvb3JkaW5hdGVzIFtbeCB5XV0KICAoZm9yIFtkeCBbLTEgMCAxXQogICAgICAgIGR5IFstMSAwIDFdCiAgICAgICAgOndoZW4gKG5vdCAoYW5kICh6ZXJvPyBkeCkgKHplcm8%2FIGR5KSkpCiAgICAgICAgOmxldCBbYXggKCsgeCBkeCkKICAgICAgICAgICAgICBheSAoKyB5IGR5KV1dCiAgICBbYXggYXldKSkKCihkZWZuIGNvb3JkaW5hdGVzLWNvdmVyZWQgW3Rva2VuXQogIChsZXQgW1t4MSB5MV0gKDpmcm9tIHRva2VuKQogICAgICAgIFt4MiB5Ml0gKDp0byB0b2tlbildCiAgICAoc2V0IChmb3IgW3ggKHJhbmdlIHgxIChpbmMgeDIpKQogICAgICAgICAgICAgICB5IChyYW5nZSB5MSAoaW5jIHkyKSldCiAgICAgICAgICAgW3ggeV0pKSkpCgooZGVmbiBudW1iZXJzLWFkamFjZW50LXN5bWJvbCBbc3ltYm9sIHRva2Vuc10KICAobGV0IFthZGphY2VudC1jb29yZHMgKHNldCAoYWRqYWNlbnQtY29vcmRpbmF0ZXMgKDpmcm9tIHN5bWJvbCkpKV0KICAgIChmaWx0ZXIKICAgICAgKGZuIFt0b2tlbl0KICAgICAgIChhbmQgKDpudW1iZXIgdG9rZW4pCiAgICAgICAgIChzb21lIGFkamFjZW50LWNvb3JkcyAoY29vcmRpbmF0ZXMtY292ZXJlZCB0b2tlbikpKSkKICAgICAgdG9rZW5zKSkpCgooZGVmbiBudW1iZXJzLWFkamFjZW50LXN5bWJvbHMgW3Rva2Vuc10KICAobGV0IFtzeW1ib2xzIChmaWx0ZXIgOnN5bWJvbCB0b2tlbnMpXQogICAgKHNldAogICAgICAobWFwY2F0IChmbiBbc3ltYm9sXQogICAgICAgICAgICAgICAobnVtYmVycy1hZGphY2VudC1zeW1ib2wgc3ltYm9sIHRva2VucykpCiAgICAgICAgc3ltYm9scykpKSkKCihjb21tZW50CiAgKGFkamFjZW50LWNvb3JkaW5hdGVzIFswIDBdKSA6PSBbWy0xIC0xXSBbLTEgMF0gWy0xIDFdIFswIC0xXSBbMCAxXSBbMSAtMV0gWzEgMF0gWzEgMV1dCiAgKGFkamFjZW50LWNvb3JkaW5hdGVzIFszIDFdKSA6PSBbWzIgMF0gWzIgMV0gWzIgMl0gWzMgMF0gWzMgMl0gWzQgMF0gWzQgMV0gWzQgMl1dCgogIChkZWYgZm91ci10b2tlbnMgW3s6bnVtYmVyICI0NjciLDpmcm9tIFswIDBdLDp0byBbNSAwXX0KICAgICAgICAgICAgICAgICAgICB7Om51bWJlciAiMzUiLDpmcm9tIFsyIDJdLDp0byBbMyAyXX0KICAgICAgICAgICAgICAgICAgIHs6c3ltYm9sICIqIiA6ZnJvbSBbMyAxXSA6dG8gWzMgMV19CiAgICAgICAgICAgICAgICAgICAgezpudW1iZXIgIjYxNyIsOmZyb20gWzAgNF0sOnRvIFsyIDRdfV0pCiAgKGRlZiBmaXJzdC10d28tdG9rZW5zICh0YWtlIDIgZm91ci10b2tlbnMpKQoKICAobnVtYmVycy1hZGphY2VudC1zeW1ib2wgezpmcm9tIFszIDFdfSBmb3VyLXRva2VucykgOj0gZmlyc3QtdHdvLXRva2VucwogIChudW1iZXJzLWFkamFjZW50LXN5bWJvbHMgZm91ci10b2tlbnMpIDo9IChzZXQgZmlyc3QtdHdvLXRva2VucykKICA6cmNmKQoKKGRlZm4gcGFydC0xIFtpbnB1dF0KICAoLT4%2BIGlucHV0CiAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICB0b2tlbml6ZS1tYXRyaXgKICAgIG51bWJlcnMtYWRqYWNlbnQtc3ltYm9scwogICAgKG1hcCA6bnVtYmVyKQogICAgKG1hcCBlZG4vcmVhZC1zdHJpbmcpCiAgICAocmVkdWNlICspKSkKCihjb21tZW50CiAgKHBhcnQtMSBleGFtcGxlLWlucHV0LTEpIDo9IDQzNjEKICAocGFydC0xIFsiNDQxLi4uLi4uLi4uIgogICAgICAgICAgIi4lLi4uLi4uJDMyNyIKICAgICAgICAgICIuLi4uMjIuLi4uLi4iXSkgOj0gNzY4CiAgKGNvbW1lbnQKICAgKGRlZiBpbnB1dCAodXRpbC9saW5lcyAzKSkKICAgKHRpbWUKICAgICAocGFydC0xIGlucHV0KSkKICAgOnJjZikpCgooZGVmbiB0d28tbnVtYmVycy1hZGphY2VudC1zdGFyIFt0b2tlbnNdCiAgKGxldCBbc3ltYm9scyAoZmlsdGVyICMoPSAoOnN5bWJvbCAlKSAiKiIpIHRva2VucyldCiAgICAoYXBwbHkgY29uY2F0IChrZWVwIChmbiBbc3ltYm9sXQogICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgW251bWJlcnMgKG51bWJlcnMtYWRqYWNlbnQtc3ltYm9sIHN5bWJvbCB0b2tlbnMpXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKD0gKGNvdW50IG51bWJlcnMpIDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtudW1iZXJzXSkpKQogICAgICAgICAgICAgICAgICAgIHN5bWJvbHMpKSkpCgooZGVmbiBnZWFyLXJhdGlvIFtbbjEgbjJdXQogICgqIChJbnRlZ2VyL3BhcnNlSW50ICg6bnVtYmVyIG4xKSkKICAgIChJbnRlZ2VyL3BhcnNlSW50ICg6bnVtYmVyIG4yKSkpKQoKKGNvbW1lbnQKICAoZGVmIGV4YW1wbGUtaW5wdXQtMiBleGFtcGxlLWlucHV0LTEpCiAgKGRlZiB0b2tlbml6ZWQgKC0%2BPiBleGFtcGxlLWlucHV0LTIKICAgICAgICAgICAgICAgICAgIG1ha2UtZW5naW5lLXNjaGVtYXRpY3MKICAgICAgICAgICAgICAgICAgIHRva2VuaXplLW1hdHJpeCkpCiAgKGRlZiBudW1iZXJzICh0d28tbnVtYmVycy1hZGphY2VudC1zdGFyIHRva2VuaXplZCkpCiAgbnVtYmVycyA6PSAnKCh7Om51bWJlciAiNDY3Iiw6ZnJvbSBbMCAwXSw6dG8gWzIgMF19CiAgICAgICAgICAgICAgICB7Om51bWJlciAiMzUiLDpmcm9tIFsyIDJdLDp0byBbMyAyXX0pCiAgICAgICAgICAgICAgICh7Om51bWJlciAiNzU1Iiw6ZnJvbSBbNiA3XSw6dG8gWzggN119CiAgICAgICAgICAgICAgIHs6bnVtYmVyICI1OTgiLDpmcm9tIFs1IDldLDp0byBbNyA5XX0pKQogIChtYXAgZ2Vhci1yYXRpbyBudW1iZXJzKSA6PSAnKDE2MzQ1IDQ1MTQ5MCkKICA6cmNmKQoKKGRlZm4gcGFydC0yIFtpbnB1dF0KICAoLT4%2BIGlucHV0CiAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICB0b2tlbml6ZS1tYXRyaXgKICAgIHR3by1udW1iZXJzLWFkamFjZW50LXN0YXIKICAgIChtYXAgZ2Vhci1yYXRpbykKICAgIChhcHBseSArKSkpCgooY29tbWVudAogIChwYXJ0LTIgZXhhbXBsZS1pbnB1dC0yKQogIChjb21tZW50CiAgICh0aW1lCiAgICAgKHBhcnQtMiBpbnB1dCkpCiAgIDpyY2YpKQ%3D%3D. <- SPOILER. WARNING. I’ll have to not use clojure.edn/read-string 😃 . But my part 2 doesn’t use that, so I tried that and got ReferenceError: coercive_boolean is not defined when evaluating (def numbers (two-numbers-adjacent-star tokenized)). No idea what to do. More error details -> 🧵

pez 2023-12-04T22:54:45.896189Z

Output too huge. Pasting a screenshot:

borkdude 2023-12-04T22:57:25.567959Z

I'm seeing:

(fetch-input 2022 1)
you should probably change this to 2023 1 ;)

❤️ 1
pez 2023-12-04T23:03:10.296749Z

lol. Probably not using that argument in my util function

borkdude 2023-12-04T23:04:05.252179Z

about coercive-boolean, I think this is a primitive in cljs which isn't implemented yet in the compiler. you can do this:

(def coercive-boolean identity)
to work around it

borkdude 2023-12-04T23:04:17.854019Z

and please create an issue if you have time

borkdude 2023-12-04T23:05:27.072969Z

this coercive-boolean just marks something such that cljs can skip truthiness checks, if you define it as identity, it'll still work

borkdude 2023-12-04T23:10:01.232589Z

I have this as a workaround:

(def coercive-boolean identity)
(set! js/globalThis.coercive_boolean identity)

borkdude 2023-12-04T23:11:33.663399Z

https://squint-cljs.github.io/cherry/?boilerplate=https%3A%2F%2Fgist.githubusercontent.com%2Fborkdude%2Fcf94b492d948f7f418aa81ba54f428ff%2Fraw%2F3e871513ab6f2462841f75fc99668f841f33dabb%2Faoc_ui.cljs&amp;repl=true&amp;src=OzsgSGVscGVyIGZ1bmN0aW9uczoKOzsgKGZldGNoLWlucHV0IHllYXIgZGF5KSAtIGdldCBBT0MgaW5wdXQKOzsgKGFwcGVuZCBzdHIpIC0gYXBwZW5kIHN0ciB0byBET00KOzsgKHNweSB4KSAtIGxvZyB4IHRvIGNvbnNvbGUgYW5kIHJldHVybiB4CgoocmVxdWlyZSAnW2Nsb2p1cmUuc3RyaW5nIDphcyBzdHJpbmddKQoKKGRlZiBpbnB1dCAoLT4%2BIChqcy1hd2FpdCAoZmV0Y2gtaW5wdXQgMjAyMyAzKSkKICAgICAgICAgICAgIHN0ci9zcGxpdC1saW5lcwogICAgICAgICAgICAgKSkKCihkZWYgZXhhbXBsZS1pbnB1dC0xCiAgWyI0NjcuLjExNC4uIgogICAiLi4uKi4uLi4uLiIKICAgIi4uMzUuLjYzMy4iCiAgICIuLi4uLi4jLi4uIgogICAiNjE3Ki4uLi4uLiIKICAgIi4uLi4uKy41OC4iCiAgICIuLjU5Mi4uLi4uIgogICAiLi4uLi4uNzU1LiIKICAgIi4uLiQuKi4uLi4iCiAgICIuNjY0LjU5OC4uIl0pCgoKKGRlZm4gbWFrZS1lbmdpbmUtc2NoZW1hdGljcyBbaW5wdXRdCiAgKG1hcHYgIyhzdHJpbmcvc3BsaXQgJSAjIiIpIGlucHV0KSkKCihjb21tZW50CiAgKGRlZiBzY2hlbWF0aWNzIChtYWtlLWVuZ2luZS1zY2hlbWF0aWNzIGV4YW1wbGUtaW5wdXQtMSkpCiAgKC0%2BIHNjaGVtYXRpY3MgKG50aCA0KSAobnRoIDMpKSA6PSAiKiIKICA6cmNmKQoKKGRlZm4gdG9rZW5pemUtY2hhciBbdG9rZW4gY2hhciByb3ctaW5kZXggY29sLWluZGV4IHN0YXJ0LWNvbC1pbmRleCB0b2tlbnNdCiAgKGxldCBbbmV3LXRva2VucwogICAgICAgIChjb25kLT4gdG9rZW5zCiAgICAgICAgICAobm90LWVtcHR5IHRva2VuKQogICAgICAgICAgKGNvbmogezpudW1iZXIgdG9rZW4gOmZyb20gW3N0YXJ0LWNvbC1pbmRleCByb3ctaW5kZXhdIDp0byBbKC0gY29sLWluZGV4IDEpIHJvdy1pbmRleF19KQoKICAgICAgICAgIChub3Q9IGNoYXIgIi4iKQogICAgICAgICAgKGNvbmogezpzeW1ib2wgY2hhciA6ZnJvbSBbY29sLWluZGV4IHJvdy1pbmRleF0gOnRvIFtjb2wtaW5kZXggcm93LWluZGV4XX0pKV0KICAgIFsiIiBuaWwgbmV3LXRva2Vuc10pKQoKKGRlZm4gdG9rZW5pemUtcm93IFt0b2tlbnMgcm93LWluZGV4IHJvd10KICAobGV0IFtbdG9rZW4gc3RhcnQtY29sLWluZGV4IHRva2Vuc10gKHJlZHVjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmbiBbW3Rva2VuIHN0YXJ0LWNvbC1pbmRleCB0b2tlbnNdIGNvbC1pbmRleF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCBbY2hhciAoZ2V0IHJvdyBjb2wtaW5kZXgpXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAocmUtbWF0Y2hlcyAjIlxkIiBjaGFyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhzdHIgdG9rZW4gY2hhcikgKG9yIHN0YXJ0LWNvbC1pbmRleCBjb2wtaW5kZXgpIHRva2Vuc10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0b2tlbml6ZS1jaGFyIHRva2VuIGNoYXIgcm93LWluZGV4IGNvbC1pbmRleCBzdGFydC1jb2wtaW5kZXggdG9rZW5zKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiIiBuaWwgdG9rZW5zXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyYW5nZSAoY291bnQgcm93KSkpXQogICAgKGlmIChub3QtZW1wdHkgdG9rZW4pCiAgICAgIChjb25qIHRva2VucyB7Om51bWJlciB0b2tlbiA6ZnJvbSBbc3RhcnQtY29sLWluZGV4IHJvdy1pbmRleF0gOnRvIFsoLSAoY291bnQgcm93KSAxKSByb3ctaW5kZXhdfSkKICAgICAgdG9rZW5zKSkpCgooZGVmbiB0b2tlbml6ZS1tYXRyaXggW21hdHJpeF0KICAocmVkdWNlCiAgICAoZm4gW3Rva2VucyByb3ctaW5kZXhdCiAgICAgKGxldCBbcm93IChudGggbWF0cml4IHJvdy1pbmRleCldCiAgICAgICAodG9rZW5pemUtcm93IHRva2VucyByb3ctaW5kZXggcm93KSkpCiAgICBbXQogICAgKHJhbmdlIChjb3VudCBtYXRyaXgpKSkpCgooY29tbWVudAogICgtPiBbIjQ0MS4uLi4uLi4uLiIKICAgICAgIi4lLi4uLi4uJDMyNyIKICAgICAgIi4uLi4yMi4uLi4uLiJdCiAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICB0b2tlbml6ZS1tYXRyaXgpCiAgOj0KICBbezpudW1iZXIgIjQ0MSIsOmZyb20gWzAgMF0sOnRvIFsyIDBdfQogICB7OnN5bWJvbCAiJSIsOmZyb20gWzEgMV0sOnRvIFsxIDFdfQogICB7OnN5bWJvbCAiJCIsOmZyb20gWzggMV0sOnRvIFs4IDFdfQogICB7Om51bWJlciAiMzI3Iiw6ZnJvbSBbOSAxXSw6dG8gWzExIDFdfQogICB7Om51bWJlciAiMjIiLDpmcm9tIFs0IDJdLDp0byBbNSAyXX1dCiAgOnJjZikKCihkZWYgY29lcmNpdmUtYm9vbGVhbiBpZGVudGl0eSkKCihkZWZuIGFkamFjZW50LWNvb3JkaW5hdGVzIFtbeCB5XV0KICAoZm9yIFtkeCBbLTEgMCAxXQogICAgICAgIGR5IFstMSAwIDFdCiAgICAgICAgOndoZW4gKG5vdCAoYW5kICh6ZXJvPyBkeCkgKHplcm8%2FIGR5KSkpCiAgICAgICAgOmxldCBbYXggKCsgeCBkeCkKICAgICAgICAgICAgICBheSAoKyB5IGR5KV1dCiAgICBbYXggYXldKSkKCihkZWZuIGNvb3JkaW5hdGVzLWNvdmVyZWQgW3Rva2VuXQogIChsZXQgW1t4MSB5MV0gKDpmcm9tIHRva2VuKQogICAgICAgIFt4MiB5Ml0gKDp0byB0b2tlbildCiAgICAoc2V0IChmb3IgW3ggKHJhbmdlIHgxIChpbmMgeDIpKQogICAgICAgICAgICAgICB5IChyYW5nZSB5MSAoaW5jIHkyKSldCiAgICAgICAgICAgW3ggeV0pKSkpCgooZGVmbiBudW1iZXJzLWFkamFjZW50LXN5bWJvbCBbc3ltYm9sIHRva2Vuc10KICAobGV0IFthZGphY2VudC1jb29yZHMgKHNldCAoYWRqYWNlbnQtY29vcmRpbmF0ZXMgKDpmcm9tIHN5bWJvbCkpKV0KICAgIChmaWx0ZXIKICAgICAgKGZuIFt0b2tlbl0KICAgICAgIChhbmQgKDpudW1iZXIgdG9rZW4pCiAgICAgICAgIChzb21lIGFkamFjZW50LWNvb3JkcyAoY29vcmRpbmF0ZXMtY292ZXJlZCB0b2tlbikpKSkKICAgICAgdG9rZW5zKSkpCgooZGVmbiBudW1iZXJzLWFkamFjZW50LXN5bWJvbHMgW3Rva2Vuc10KICAobGV0IFtzeW1ib2xzIChmaWx0ZXIgOnN5bWJvbCB0b2tlbnMpXQogICAgKHNldAogICAgICAobWFwY2F0IChmbiBbc3ltYm9sXQogICAgICAgICAgICAgICAobnVtYmVycy1hZGphY2VudC1zeW1ib2wgc3ltYm9sIHRva2VucykpCiAgICAgICAgc3ltYm9scykpKSkKCihjb21tZW50CiAgKGFkamFjZW50LWNvb3JkaW5hdGVzIFswIDBdKSA6PSBbWy0xIC0xXSBbLTEgMF0gWy0xIDFdIFswIC0xXSBbMCAxXSBbMSAtMV0gWzEgMF0gWzEgMV1dCiAgKGFkamFjZW50LWNvb3JkaW5hdGVzIFszIDFdKSA6PSBbWzIgMF0gWzIgMV0gWzIgMl0gWzMgMF0gWzMgMl0gWzQgMF0gWzQgMV0gWzQgMl1dCgogIChkZWYgZm91ci10b2tlbnMgW3s6bnVtYmVyICI0NjciLDpmcm9tIFswIDBdLDp0byBbNSAwXX0KICAgICAgICAgICAgICAgICAgICB7Om51bWJlciAiMzUiLDpmcm9tIFsyIDJdLDp0byBbMyAyXX0KICAgICAgICAgICAgICAgICAgIHs6c3ltYm9sICIqIiA6ZnJvbSBbMyAxXSA6dG8gWzMgMV19CiAgICAgICAgICAgICAgICAgICAgezpudW1iZXIgIjYxNyIsOmZyb20gWzAgNF0sOnRvIFsyIDRdfV0pCiAgKGRlZiBmaXJzdC10d28tdG9rZW5zICh0YWtlIDIgZm91ci10b2tlbnMpKQoKICAobnVtYmVycy1hZGphY2VudC1zeW1ib2wgezpmcm9tIFszIDFdfSBmb3VyLXRva2VucykgOj0gZmlyc3QtdHdvLXRva2VucwogIChudW1iZXJzLWFkamFjZW50LXN5bWJvbHMgZm91ci10b2tlbnMpIDo9IChzZXQgZmlyc3QtdHdvLXRva2VucykKICA6cmNmKQoKKGRlZm4gcGFydC0xIFtpbnB1dF0KICAoLT4%2BIGlucHV0CiAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICB0b2tlbml6ZS1tYXRyaXgKICAgIG51bWJlcnMtYWRqYWNlbnQtc3ltYm9scwogICAgKG1hcCA6bnVtYmVyKQogICAgKG1hcCBwYXJzZS1sb25nKQogICAgKHJlZHVjZSArKSkpCgooY29tbWVudAogIChwYXJ0LTEgZXhhbXBsZS1pbnB1dC0xKSA6PSA0MzYxCiAgKHBhcnQtMSBbIjQ0MS4uLi4uLi4uLiIKICAgICAgICAgICIuJS4uLi4uLiQzMjciCiAgICAgICAgICAiLi4uLjIyLi4uLi4uIl0pIDo9IDc2OAogIChjb21tZW50CiAgIChkZWYgaW5wdXQgKHV0aWwvbGluZXMgMykpCiAgICh0aW1lCiAgICAgKHBhcnQtMSBpbnB1dCkpCiAgIDpyY2YpKQoKKGRlZm4gdHdvLW51bWJlcnMtYWRqYWNlbnQtc3RhciBbdG9rZW5zXQogIChsZXQgW3N5bWJvbHMgKGZpbHRlciAjKD0gKDpzeW1ib2wgJSkgIioiKSB0b2tlbnMpXQogICAgKGFwcGx5IGNvbmNhdCAoa2VlcCAoZm4gW3N5bWJvbF0KICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0IFtudW1iZXJzIChudW1iZXJzLWFkamFjZW50LXN5bWJvbCBzeW1ib2wgdG9rZW5zKV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuICg9IChjb3VudCBudW1iZXJzKSAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbnVtYmVyc10pKSkKICAgICAgICAgICAgICAgICAgICBzeW1ib2xzKSkpKQoKKGRlZm4gZ2Vhci1yYXRpbyBbW24xIG4yXV0KICAoKiAocGFyc2UtbG9uZyAoOm51bWJlciBuMSkpCiAgICAocGFyc2UtbG9uZyAoOm51bWJlciBuMikpKSkKCihjb21tZW50CiAgKGRlZiBleGFtcGxlLWlucHV0LTIgZXhhbXBsZS1pbnB1dC0xKQogIChkZWYgdG9rZW5pemVkICgtPj4gZXhhbXBsZS1pbnB1dC0yCiAgICAgICAgICAgICAgICAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICAgICAgICAgICAgICAgICB0b2tlbml6ZS1tYXRyaXgpKQogIChkZWYgbnVtYmVycyAodHdvLW51bWJlcnMtYWRqYWNlbnQtc3RhciB0b2tlbml6ZWQpKQogIG51bWJlcnMgOj0gJygoezpudW1iZXIgIjQ2NyIsOmZyb20gWzAgMF0sOnRvIFsyIDBdfQogICAgICAgICAgICAgICAgezpudW1iZXIgIjM1Iiw6ZnJvbSBbMiAyXSw6dG8gWzMgMl19KQogICAgICAgICAgICAgICAoezpudW1iZXIgIjc1NSIsOmZyb20gWzYgN10sOnRvIFs4IDddfQogICAgICAgICAgICAgICB7Om51bWJlciAiNTk4Iiw6ZnJvbSBbNSA5XSw6dG8gWzcgOV19KSkKICAobWFwIGdlYXItcmF0aW8gbnVtYmVycykgOj0gJygxNjM0NSA0NTE0OTApCiAgOnJjZikKCihkZWYgY29lcmNpdmUtYm9vbGVhbiBpZGVudGl0eSkKKHNldCEganMvZ2xvYmFsVGhpcy5jb2VyY2l2ZV9ib29sZWFuIGlkZW50aXR5KQoKKGRlZm4gcGFydC0yIFtpbnB1dF0KICAoLT4%2BIGlucHV0CiAgICBtYWtlLWVuZ2luZS1zY2hlbWF0aWNzCiAgICB0b2tlbml6ZS1tYXRyaXgKICAgIHR3by1udW1iZXJzLWFkamFjZW50LXN0YXIKICAgIChtYXAgZ2Vhci1yYXRpbykKICAgIChhcHBseSArKSkpCgooY29tbWVudAogIChwYXJ0LTIgZXhhbXBsZS1pbnB1dC0yKQogIChjb21tZW50CiAgICh0aW1lCiAgICAgKHBhcnQtMiBpbnB1dCkpCiAgIDpyY2YpKQ%3D%3D

borkdude 2023-12-04T23:11:47.112729Z

replace both edn/read-string and Integer/parseInt with parse-long

pez 2023-12-04T23:14:54.591959Z

Thanks! Will have a look tomorrow. Maybe. I’m going down in some flu or worse here. Can’t even hack in this condition!

borkdude 2023-12-04T23:15:22.628879Z

AoC can be very tiring... thanks for the report and keep 'em coming :)

pez 2023-12-04T23:16:25.766809Z

Will do! Exciting that the code worked!

borkdude 2023-12-04T23:19:15.964669Z

I ran part-1 and part-2 on the input as fetched at the top and it worked indeed, after introducing the workaround for coercive-boolean + using parse-long (see link above)

1
🎉 1