commit 81ce08ce4771e5ae533084831684e4a6379e019b Author: Dan Date: Sun Mar 24 20:51:36 2024 -0400 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..b3dbe35 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1201 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "adventofcode" +version = "0.1.0" +dependencies = [ + "reqwest", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "bumpalo" +version = "3.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "cc" +version = "1.0.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "h2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51ee2dd2e4f378392eeff5d51618cd9a63166a2513846bbc55f21cfacd9199d4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "hyper" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "proc-macro2" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "reqwest" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e333b1eb9fe677f6893a9efcb0d277a2d3edd83f358a236b657c32301dc6e5f6" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-tls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.38.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "syn" +version = "2.0.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "socket2", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..395a61f --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "adventofcode" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +reqwest = { version = "0.12.1", features = ["blocking"] } diff --git a/input_sources/day1.txt b/input_sources/day1.txt new file mode 100644 index 0000000..a67973d --- /dev/null +++ b/input_sources/day1.txt @@ -0,0 +1,1000 @@ +14gxqgqsqqbxfpxnbccjc33eight +eight2sevenkl +mrjstg5onetwoeightgcczx8vgrgl +9246 +ninetwo2crrqk2grsctqxqbcrmrdsqbrz9eight +five6dlhx1 +29qhsdqqtgrk4 +mjgtrjnlttxjlsixsix5 +bgnnvfsnbpx29vsjrlmgmsqthreeqxvclkhlv +sevennine3gsmxncqlqvfktxrtcone +2mkzrqlmhsveight1sjtwo2 +rrrbvnrvnqfdh86 +94threeqrhkcpkeightfour +four83 +9ninehbsgkcthree1nineeightsix9 +57zfcgpf68 +hbonefourfour8lsnfgvf3 +seven79rqtqvjddc +two6six7eightqnmnppctxjrxbdxbdmbfkmv +9rdvkbxclk9fivecrxmtpzsxn8cmrzttlfour +nztfnthree2 +nxhjcqzlcxgdkmcfggc261gbt +xqfcdfdsrlhdktdjshllqgqshzmf7hpcdgdfcvntczdxxfqbvz +sbf43g +vsm922three7 +nthree1 +3eightjvtqcb1lkgkzhbgvl9eightfn +tfvv2zz5xmckbc1sevenfour7 +fivesix6two7cptgpfpd +3skfjrzbjpeightdkkkjq +68onefourxmznzlfivesixfqmfchn +12rzcscnkxsbc2ninetwo +jrmmvsdjvftgnrz33five +bhdxxmb36ninedmrlrstrmrbvz +1seventhreenbsth136kzrgdvvjp +7nrc6xpl +fourseven4nineone +8zxncrhffcmq9threeeight +5seveneight4three9 +8ghsxbzoneightg +qtwonesixtwosixvjmnhqbbx5 +sp1psqkctzqnldbdhqsmgsixfivepjnnvsxdldtwoseven +9ninethreefqqlztnrtgcbfourxdgltgft +zsix14sevenhqkgfh +nt3 +dhdsktwo9 +8cmjzrsmr +4bdspt8 +qvzgxjp7six +ninethreexqvzzqhjsthreefivetwo1 +kzhsgr5tpzhxeightpqkfj +twozclthmcx1phkcvgrlbj7fhmcph3eight +9lkctcvgxr2two8rxgkdbx +khfgllh7kchfq9xbnrqrseven +ninekqmvfour81seven +xsfpksix65eight +eightf24oneone +24581snlbjpfronenine +nine3eightjqshqxscvzvskspcmdzd49 +6mfqf5one +zrzzlchrfl167n1 +nsxqfspq9 +7mggsvthrnckcsctjsxlmxghqeightsix13 +sbpkxkmjkxcmg4 +eightonethreevqkjkxnnine2 +kntj2vkcnrkjonefnqddll6 +zlbnprltbkgmzpvtqmvzhpvhrb3ntrzhkrbvd6twoltkpsccvbk +6seven5196fivesix +vj8 +seven5fourthreeeight5 +lqzkbvdtxs3hbqr +7gmfzfcnrone66nqvkmthreekdhfkrhone +nsxftsvssone2fivefive1rcvlzltfdzcgsh +8five1eight +7ljfbvnrbghgkhstwo6vmnhxdteightfour +hdnxc4zjqrbr +5ghrjjbfshonek1sixrvnnkhpd5 +threetjxxlvqfvdcj852dkxlthree +xbpqlbrgcbkzvbjdt8 +cbzeightwo7npgjjxfzrvz66 +zktrxkjpchjxzmpq2 +five1lbdhrsix +5qldpfkqjkfjdzpfhf86 +vnbrnsskxphxv22 +4chnggbxmssnine3 +4k9one +2twoneh +6kgbvpsl5threecxf +562six6 +tsdvbzxpkqbkrpvht33hxhvmjnltwo3 +7fourone +ninesix2sixsix1fivenine +fourbqvbqftvzz88sjszkgxhrtlshkdjq +sfsrfsevenpgpmffthreezzsfb3 +8fivekvmzz4rlrscnxmx15 +jvteightwozhqsnvffxg3rsjmszc7fssnbhrtwo +fivenineqsvpgbkdxlp355nine +9jbfive +zsxzdcvsjln65 +nvcc52twonine83fq +gcnpqqfhq2 +jspfdkpxl4fourbstlcvdhxhjdgxvpzbvltwo6 +8sixsix +fourtwohsqhmnjmph7 +one3eighttwo +tshglpdmjbsgsoneplbjqcsrxseven8 +42sgr296mpkdz39 +bxsevenone25two +two8fivefour +three4cgjttdmfqonenine +eight5sixeightmxzzqmt795 +threebtnlmrrqgnine9fivezdzgldkxnbvhsvzqnine +one14tqvqgn1ninevkzhrqfqdjprzxb +cqqnine52cjmteightgbb +vhhkrrbhlp9dseight +fjzfmqv1bsvqbtpvvzcvqvxnlptk +five6three1zvgznsrvnpmnine +cfkxfmeight18hgkclhmcfcfsjzkztwothree +fivesevenonejmmrjvhznffive4jbrvdhlcpj +gbboneight47xfmqzt8 +sixmjnfmjtsszvc4sevennineonexc +kfsnggdldp33four +56hj2lqncdfghdbgdkzpkr +63five519bztrxx5 +3eight3six9xvdfhrcmsm +drcjrlst5ninefourxcm +4five3dmjbnbeightvxtbbvxdpfourjvj3 +lnmqnine855four17twoeightwolx +lnkffrtmv9t +mmhrvrpbvrcmpczvknkfourcqktxx73qbgd +khbrlcvdpxdkljvkhnfrvtpmbeightgzms2 +shbr9fzbvzhhqmnnine76 +x93 +3onec +v5xskfrg19five +ncmtbgdkfour7fiveeightfour4nine1 +3dtdjs38ggfljpdvv +fourthreevfpmztnzzcf96eight1 +onesjmdmmmcgnvhdnczfzznrvrggkgpcpcggqpkkkcfbq6qpsv +5nvhksixtwothree +d4qhmsljqhmcqlxln2dbd64 +zrshqtseven9zkpmzksqcsptfkkn +9pk +51jnqbzgnlhcglfour5three +8snxnxv3817 +tsvd4 +lzfxkxrcktjlvzbnsixfourthreenineeightone4 +lxdz9326threefouroneseven +6zkgmhktdnfive +zonekfbbcqcsdbkc4fivexpnhssdgbbnine +8zcdxcbhm7seven +1fldmtvgnine39eightdrmrtzkcthree7 +8sixxlztjhjkxtppmrtfour +threekvjx68twofiveqtzfg2fbhnhrdztv +6pgvzdbgjnlctwofourxzpc3xzdc +sixdxpnthgkfmddvqhrvsixsevenx4q +ch29onepqnine +sixlnh68 +1one5rqxz6nine7 +cone9 +fourseven3kddtmbjhnkz9kxhzspvtdngvsix +3sixnrjcxv1 +onemdts29zrbh +beightwo2eight816nnzfhptjhfqvqq +lfmxzp44cqkthree +gl4qsevengltwosix +2eight3qqkksrsevenxkndsxt +eightzxrflknj9jpbmt +knqjgjjjmkninezzfnbcdmqctwozskxsgd1655 +qpfdjsmsqfourfiver49f +vsix1xpglmcbdp +vgqjvzzcct7one674 +4csdttrsd58fivesixtwofive +bslfsjhrl8cszqrppqskthreenine +997foursixeighttftrnktp1 +3ndqmpzs6jkpcvjdltgbfgvlcn2 +lsxprcgkfivesix8eight9onenbdxqbl +seveneight3eight +eight7sevencvvshpgfg +8zg7two +5sixsixtwo +six7two +jjcxmsixhbtvfx2twoxs +9xtg +3onelvrpcvxk +ninetqzpbhxsspcfjlvsg3qlnbbqfxdqnine4one3 +xplhfgfour49 +jdrzrkkzdkgvhsvbm6bqfgpjbvhxlhtxhhpmmtmvqbgnmzpkm3 +hrjqkmvv1bzm2krs5 +vfztwonepdlcn96seven5 +1mpkqmccqqdsmhdgjjgrrtsbconehpfgfnjtxtqv5 +one9qn8threeeightnmqvfjkklg3 +5kgkst4ninegnqnjgmtdpfzspmkk +pmggrbfxghr53eight7mjlzgzv +4fourone +lbjfvxjzd7fivevllrtvfkmeight6 +xtl9 +ninevonevljrvx9 +sevensix7sixhbeightone +npzmcdtdqfpvonenine9rsktdrrnz9six +4six55 +eight646gdvfkjqsvnczbxtwo +5seven5jthree +cfourfhmxqjmseventhree2sgkxm18 +mfxnnjjxtjzlljgcnfpvb6cmknzb +4796 +kzxfnrqktwohmp9cclstwo +vgzgmc1zlsch +lvpnb1five216mbdxgvfkcg +3onezjnmv9fourj +two8vmpfmqmq6 +p8 +4oneeight45 +827eightsnvlrskzlbnineeightbtngkb +kdfxtjj2 +csthreesevennine7seven +hqqjrzkkkh84 +six42four +nine259five +8jngjtkdnine +3ph +8gccpsqfourtxtlbvmvb8n +oneonesix7jdkzfxkdvttwo26 +xkfsdgkjt34vq +98twosjrr5eight +foursixfive9 +17vmxlvqpqmvnfchhmxmdcpzgrsjl3nine +pmzscpthreevone3kdgqldjf48 +dzhoneightonevxtzqsqxxpgtgrdl73 +4threebbsttfhbdtwofivezsvspjp +jlstdnkjgdxszmpv2tgvpbdhdrkdjjvdbscv +4mqqxrsfrfhsbxprbxrgqseven +3rklddqfnczjfhjmkrgrkslxninesix +9jpcvnlvb3lzqzkvlnqsseven +8ngm64zxplgcdxzdzgfqmtworprmndddr +fivefzhdggmfslthreejmsrq8dxzdzcxsj1 +75six294xbzhjxd2five +56746 +jjxxqclf6eightfive7 +fiveeight9eight +npdgsll2twoxfzq +66fiveninerrbgrshthree9 +nine124nkcsltwoqdlvr +eight4vlsddsjxqthreep8xd84 +mqsbzgsszonexlhljdhdt9kjvdvbmqc +shpxspqrck441twoxjhgthz3fournjtxzgbs +2threegtqmddnine9two +rbdvrngvrjsllkrc542 +p6dckscjkhzfqvc +qblzhpspf4glsrbxm923six +4mfbjznone5svkgvsr47dvtbltlmns1eightwob +5sixsix1twofivexjn8 +5fivefournine4 +gzhzlbkzrlsix5seven3tm +eightpgqrhfqsix41slrs6three +five3dtfzfour +6813nine +3sevenrnhznczgb +mmcgrkjhbsevensevenvrhclthree2 +pfourthree9ninenine +9fbxvvtbzkttwoftv7 +mmthree94fbm +1vsblnklmm2zqmntkp +oneninefivenineone2threeeight +4sevenxzjfxbfdzgfgvjgjdscninetwo4 +64sixfrmtmjoneightt +gzzlqqjsevenone5 +1twoxpcqcvgmhbcm8thlrzmplqpkrbjrqr +jgjqqn291foursevenonefnrdhxt +3bvznvqd8oneeightzchdjvj +ntqtg1 +hsqkbfnxcbsixmvfhxrvxrvnineseven4 +bkztqhhbdzr1sevenonenine1 +v79zpdqfive +tqtwonesixlhhnvf77one1 +2twofour +eight89seven +7six6fmzlrttxstdrg +seventhreecbldkqd89threesevenpplfv +7hmhxpg +threepmvqfc5rktgjl4xvdzmhrninef +7qnlqhtrrk1sevenqfgpkdfc271seven +4gxrqspvg1 +zdgfscbzbdg8rvqseven +eightsevenfour5 +five8five +xprtcnxztmfgtwosnsix5six5 +zpjrhddxfzhdm7pzhxnzsp2six772 +43five92sixfivefour +6kjknjjrjkdfive5sixsevennjone4twonexr +11sevenhvsrb5fourhzxrmgfsl5six +2kbtkmsdfkdzmfplone +68onesevenone7one1 +one36eight +89srlblvkzrjone1 +7threekmzvhxpsdc1 +3648pmjmj4 +fivetwothree8eightonev7x +jlkvd1tgjvdqv48three5 +tvtwone1rhcbkfcj82eighttwofive63 +rkpvjgsfmhbvd7nckshnmzknine +8md7xh8bvsdmhjdxq +threejzrnnfczgzdmcchv5hv4eight +8lqnnnpmfourkndkf926 +651jfltzffxh +onehzk5foursix5 +three7sixfivefive5twonine +four3fiveonef57 +5seven5pbqmzzkqsp +none8five +6threefpqx9eightkhmrgqm4 +ndgmck187mjkxccsdhknine +2jtwomvxjnnpmcseven +bdfnkbhbbfvztpseven6kgknpxmxdfoureight8 +cxtwoskgklsqkdpfive8twohq +5seven67two8dlzmttpdh +cdkzhtk2fvmdtphsxk +threepqcgj8dkfgjp +56tgggrrgdnveightwolc +ninezsix1rnpponedpkqrpdthree +vmgtq3six9 +nhbjgxsixsrrftdt3fivedcdqqq +6fivevqxphgvrflbvljlone +ninexbjtwothree4 +heightwocjpppfive3vlcpc2bt +tbtxlftsnsnknine5q2 +fivemfqlxlpgbpjgnvpfthreefivejzcpkone2 +5dmzkpmpghsixthreenine4 +two9seventqzb578kmfrvlj +six855three +2kddfgninezgsonedptb +1cbbtg1kffourmjxbnvfgjfiveonemgbjtmd +5threec5nine +pvgd5sf7three1lnrfive +83mtfjsrln6 +khtglxc3 +qckdfjbz289nbhnthreehljqfklhmjvrgxt +5kmslxsixsix72 +jlcfmqh5nine +454fournine +jgbfzxdsfpcjpsdlhs5gbsnjxhsfivesix +scxsgsevenseven6fdkcpzm +cbznsevenddvdql431 +fivefourpj871 +xoneighttwo5css4 +sixsevenone49 +xpvktkbdzc6threenine7nine6cnxsdeight +6nlsg8zczsblcppjmbzlnthree3 +jlhzvzskseighttwo1twofivefournqzeight +smmsszqpv653sixsdp5onefour +8nhgxc +cbskddhjq1fourfourj +vqnjgcml5vvggqqlhvdtwonetg +4gdhf1bxrhlnslpnglcx7rhvgnhzjvstwo3 +8fourfive9fivenine4one9 +5xbggkdbkddmfknsxpv +9fivekkttcpntr +cvltwo4 +1four62 +9ninevc +nmfrttms6czdhrdchfkntonetwogc3 +8dfbqlpz9 +fivesixsix595nine4 +6mmpks71nine +ndhdkddjchhseventwo33fv8q +ninerbnhsxkninemdthft1seventwonvgdcgt +twosixbmthh3srhdtnljqlqsbxssnsix +seven22ninedplffive +xpsh1twoqmhkqqsjz +8vrxzhkq +5ninegr +five9nqcmxngktwothree62threethree +qffhltbnineseven9reight +threerqddxgmjnj2 +seveneightqxxgmrzxvhdnine2seventwomtkdmjbkfh +9vppxpsnpdfourdmtqtbm2hpgqlgr +seventhreeczjngnklxg3nsfqzqqeighthcggbk +fflnhnnzncdnh9twoqhx +fjpqseven5noneseven5nined +kdnhflninenine2eightfivemknllfgqspbcrjklx +jmgfqhchzmdfnpthhhcc291shhdqp +5bphvpcxvdf2five9nine6four +9gfpnzjkmlb76xreight9threeqvjxpssvrs +4hpsix6five1ptrdlkfmgr34 +1sixnkvfkvdfjqtwo36eightjnfz +bzstgfhrmmfourseven6xnfvonegzc +fivesix426vgzshhklnknbclnbbpm +k5threetrkghrbcn +13nine +1vlrvlxrsrznlpf +9tgzzddgr1b2 +6sevenrzvcqzsckkqbtsevensevenninehbmlxbzzlf +1991vkjhdp +9jkhnrjjv +6seven47sstqkbthreefour9bmkfbxrzp +seveneightnprhzf61725 +oneone7eight7cpll67 +8eight7one +23bthc337qxhmfbgsix1 +9r61vtgqklone +oneplh6 +four9kfmzbgxlhlxxjf +mhk95 +csdfsix71seventhreesevenfour +sqhrc39 +6three2 +four11sixtwofmvgjvseven1five +four4ninefourkmz2 +mqm5seven3five +sevennine63sixvtwo +81rrvgzzrkzmgsgffvgxlrfbmqxczhtl5tvj +vq8qmg7geight62 +1twoqmmfcseven4six734 +9ghstzndfnmzbtdscl +88twosix +8five5eightworh +ddqdflzbhr68mrdc9 +2threefdb77 +7nine4rbfknbtnsvljnqdtz47 +xrfdfcrtqssx79dvhzls68 +cvqjp6fxkdx9qvsjqptvs +hbzjllr1 +1985onezp2nine +6sixqk52lpftrt +zfqqj8 +c4rljszsspxnnvjl1two +78phbjhkmjltcrxqdblfthreeeightvndtwosksxsxccqz +453gnjntwosevensixfourtwo +2fpnkqlzvmlbbkfxmqgrgv3tbtrkmprx +ffive5f3two +2grzqfmnrld +twofiverd76566csz +eight4zftjjzrkx +onefour8nvrxkqzrfthree3hvzk +fmzqklgfh76lcpjxlvrmgfqpnine8 +nine9xjvvxdvksqrqlhqvrbjvx1 +vlfcpfvl8msxhnftleightwop +846ninethreetwo6two2 +4mjbcckzrhtwo +blsn3onesixfour8 +14two +five3fivesbhfour +onevpqdqds5eight +pcvcsnhv861oneeightfoursix6 +csix7vjllblmgjg +mmn4threesix5vxdsf +v1vx4fivefive4fivevjfjvkf +53tsbldc9skgcshbvxdd +1595bxscggsspvjnbxx37six +seven883 +35sixone4lbzcbgk +tlmvbhjnkknz3nineltztzpclxsixzjnbfvseventwo +rccrkvsvxjbchfive933 +5shkktwokfkkmrxzsssix +five93three +8six44snhpssteightwomjv +nine1nrrjrvjfml4dcklljns +pclkcskcp428199 +fivepjvbtstwojshbgxmdr24eightsix +6eight4 +mjjghhcqrttcjrzhjjrc2five +xkhxgsqjstsevenfour4 +3one5gvmhcbkkdd6 +v3nine9threepfphnkthree6three +ml8twoxnzgqjx1rxbpjnonezrp +one8dtxklgmlnbqhpxl4 +1foureight9fourkmp9 +6vzzdgtfourxtzglhxzvcs +rg4onejhpgsfgpdql +sqpeight488four7svb +63five +39khkbdllxv +bdnjhtcqrxrnnjflfrx5366ninesix +tworfrqzgl85twotwoeight5 +jxeightwo8ttdxhc6xqphg9ntmrtrmxfnjb9 +933rsixeightzbkqkb +1onesix4onefour6d +three6vxnhgxbdxxmdmmggmnxtwocrvftworpsdrrkx +5nineeightninezvf +5jfour +zftjzrfjz8 +8four5nine84mpcktbm +vgg6five5pr8 +3sixtwotwo7ppfsbfppbkmjtlktrx +sixnhcl6bxjxdmgt +pdqfvzgsps9eightj +sixfive87hjksxxbgz1prvfqnnsfmfive +tztgzrnineseventjqhxn3 +twoeight3zthree +nczc3two +jdklbdr4 +j93mnmsixt1 +2fivenine2two65xhcjfnddbqlbd +six48zsklgprrvklt319 +6seven1threephh2bldxvrlln +88threeone +hqktgxxtwonine2 +14fourtghmvcbbnkxkhrvncskgthqqfkgpbrln +threen7rnk5zgjfvtlcs +nine87two56 +859 +six8q7twohnrphb +93oneninethree4 +one7nbzmqdxmj5qfxzcmxfkx +3two2two96ninecnkbt9 +fvcqktlf8two +six4nine4fiveqjthree +91qgvlq6eight3twofive +79sevenfivetcmcsrvvlsl +6bnssix +threefoursix8eight2fivehpp +tlxmqclgdchq8 +threefourthreelbd15fiveknzhg +ktqk68czbjrbkrlnmg3 +oneonerptgcnqzt6fpthmjhgxc8 +rcbfpqhxgjfgfgjcm3 +bxbbqcvvlfivefiversxqpmcb87r7 +two1eight +96sevencktptc9fmnthrdthree +fivehkzxl9five +twosevengsblkmgfzqndznine2seven +two58rlnjdqninetwo +5fiveonesxhbkcjmctwosix +seventhree8952bpqccspldk +8fourpfcvrvc1one +bpbtcnzk27ninemltwo +five2tkqfivethree88ggmpg9 +seven6seventhreemfmnmmbsn +three61xrfghoned9eight +mcffvkprk1one +hvkxcdqcthreetqcr3threeseven +8nmbnhbdseven +bdzc8eight +bzp292one78rthree +ninexsixone71zdnqlcxrphnnbxsmpc +ninempgdsbbdr7 +8eight2367 +15113onelhgvmp8 +8f7gpjllpllptonecfhhpqvcr +ztjj6nine1xsltr4 +nine27gkkjnkcqzt +9gr28eightthblghdkf9lcs +sevenbbjnprlqh1tphfbhbgvlsix33fournine +3sevenfmccnzqxfsfnctfrfngtone +six9xcvlflj +9fqcz1 +one63one3kpnthgscdmtjprseven6 +tlrkvjcdx7txkzrvzcjcvvljfcljc +rfrsfive2ctdmdnqnpfzvvseven +1trdgtvl648frnstf +bxkqchjmphmbnjrkrxxcntpxjnine3sixnkffxsb +84sxd +397lfjmzbp +sixvqjthree2szblfstz +29six833 +bnfnnine8nvjjprkmfourfourfour1 +gb93b98cxblqxskm +3zmggzvlvscbkblhmj4zsevencxgjxsbsr +smf1 +zghrszzcvb5rtnhzktts4 +265qvrzllrctoneshgcbdsbeight +2eightbjvlsixmseveneight +tqfrgkqzbtxqcbxvjzgtp1four +pmrrnmtt1kcf8two +49bnp1tmcglrtpt +4three2ggmbzgqltsqzzjjn +six7frvkdsxdktwo +7cjsnbps7bgqzc +oneoneeight8xbfnnldvpdv +568 +6rhxfbn +nine5nine9fivekftqqgpttptrfstwonerm +three984 +eight99fourmflfdnxvbbmhqfgqkzhkffvmkjxjtngjb +fivefivetwo28zdjmpjccknine +5jjs5vpjzfznrngeight4 +five8one2xllhvb6six +threeninelnfkjrz14 +mhmqpq3hncgqgm43threefive +tjtcrbklrbzvnc4 +37twofourtwothreefour +htwone2threetwo3xtkgk72 +three9btgdgrpdvxkkb1gck1nine +qgnd4sevenone9one4 +lcstxnqmghgqzszkhnbf7threenine +five8four51ddl613 +3vslhppr +tworkcgshlckqjtxpkgcgbgppq6hdvshlntq35 +1eightfiveg5 +five7ztflnine4two +39two +tgone47pvb +37glxx23nhlmxvmvtwo2 +eightsix86twofour +46gznzktfqhlbsqz +171rldrjxcvbsfqmmzcdrnqhjphjqgktwo +6twob3xpfvfdxv79kqqcgljd +6three8hpjtvmvmjxkkmlvtwo +zdeightwomgvbfourfj6khtbsgttnsixeightstbnjmq6 +fhdcqdskf2 +mjssnpxchsclkhlh1threetwoxrbbxkcpkgsbxdxtxxbg +1jxzvllkb71vxxpkmqtvs +three74sixhcthreemgtbzsrh8 +sixtthfskgnine2three9seven52 +nhqzkththreezzsj8four +54fourtklcqcsltgvgqone +four7eightwoq +k3492scxsbbngtwofourtwo +two3ttwor +8snlnfbczd78sevenchzjdphrskjngfkseight +four1vxpvqk15ttcfkt +4twoqql +fhzj4lsvjg +7hstphfour4jsbcndd +7eight85qmjsixseven +1three6two +fivesevendxznmf9 +two54hkv6eight +tlkthdcfldvtzlnr7551 +168qtpcr +fourjlsmgtlvsevennine44hjcksrdfive9 +5cxtbmsn +2twolmtprmjhgndnkfive8qzrdfive +2vpstbjqlxgtpqkd +4dmcc35525one +486xgkdoneffvrleightnine +six1onefivetwo +b144lvmzmxfgntpjhzrk96 +gkgkgc7cmtghq6gbx5 +three87fiveeight33six +1hpkjqvz363vvzksonelfctrztjctthree +pfqdlvkrs9nfpmtnineone2three2five +48onetwovrnbz1two14 +nine5bgvpnjbltfiveonesixfive +nine4pqknine96spqdb37 +mfgcngxqxb41 +262sevensgfjjmdczrl +qzmthreetvjdxnine1gpjsmxtth5 +ninethreeplzkztkzlk1qhjvl4 +oneeightnine3 +onetk5 +fthkbqqfhrpkprhqmssix43xcgdzhtrf +twobhbtvtwo1three +ftbdrfnffzkllk59vc +6ncvrsm +7ftcmjbdmx +12fdnnnqvrrd3 +eight3fqpqlhfvbrqlhhvpdonedzlfive +fourktscmbltflone92fbcrpqhsevenhnpccrhb3 +qbtz5mdksqshdqxft96dvsix +tfpfour75dtgjjmzgjsgjbqdkpd +pxjvfivevhjbmqz4 +tknhlnldjm8five5bqbhzbsix +45zqht +3jrsvctdzpjjrbxznf25klxbnvhpxskthree +foursevenskzzthntbfivefive5 +eight84jtllflx2five8mqjnnl +5xxkcbgx6952qpzgpmczsc +five3mpqdccdmone +kninezsmvpjfhdeightbcnctnf8twosixone +34lpqxkcfjvsixshpnsixgrm9 +glhtgtsq4threetwo3 +eightjbtpnhvhxk46sevencfklxxvdvveightldqqtdtk +fsdfhthreefivesixrkdrgk1thjlfflx +ninekxr6djghngtqninefivethree +3qszkcdvcdl +9sevenxzcskrpgfiveninevcdmkpqqpp222 +jmgt6vftshlq1 +4mnmtbvdznmpmpkrp +94nine972 +rzthreebsjvthreenxqm2 +dxhrstvj344seven +1eightfivedtsstwojbxpnhjnzrgx9three +jlkt3 +fivethree7rfour1fournine +rzggmhlvfivesxzfour363 +4npxrvmxmmc7qjbcrhzsix5lbvkjpp3 +eight7ninefivernpv4cddqhtvkb5 +5threesevensixonesjvxjp3 +5tppjjgj4five +boneightthree92nine5tjppmvhtrfive +threettgpkqcvjzdbjgzk9four +6nzllfrrqkbgseven4nkgdddzbnhr +czjbvrqkone3 +msffqxbxc4294 +one83dxstl7 +32ghhrdt5 +eightsix27two851 +1pmkltwozrx295 +j5982 +81pspmvbbjninetxvpg +six4pprdn4twozpqndgdninefour +3hfthcgqq8682fivefcrfxxgd +nineqtxeighttnine6dttrznddl +htktrcx6gqv5 +txsixsnls1 +52eight +76fivefour9 +eight8tjtc +four3onejlqvgl11436 +dlpdv36 +7foursvdjchltr7qjsj +pknqzgvv3qsltsixfoursevenzggprjvz +3eightfive8one2two +z2eightwokcx +2sixnlhfbfsfeightseven +884qmtqcdcrd4 +keightnine9lpmspq7ninefour +43eight4five7 +twofourfourfourtjfmflt7hcxfpf12 +sevensjpbqjfnqtgcjtktfjhrdv5cr +6ztdzvcsqm +86xsdx +eighthmfgbvsixxcd35zfblslpthree +seven8twoeightpnzrsqlcv +fivezmbqpxhfnnmvbsv61seven63 +5vvddrt1onemvmdsvvfive +7sixpfblcglgj51 +s29 +qtdbb4oneone1onethreesevenseven +drj7six7 +6cfhssixnnjgcxgnmssevenmbfzxps +xbqdclktfrmlq5eight294zvtqhszfmtzd +8rnrcpphkrmfnc +seven77 +9gntctbb +tjgvxtbcn55mcjhmkgzkb +fiveseven9dfllnqdntjonemdztmclc3five1 +83zxfive +87tjnbrxnhzpnthxpnxgczmlghjppfgghzsixfour +6rfivetwonerhn +3cnzlm9eightlqgtjppxj +onefrttlfjthreefive3eight7brmcdrzdz +threeczbzscthreefive551 +2433sxdfjzshrfdpgseight +92gfsjbjdbd9bhsqjpx3nkdpjxs +71foursevenone +6ninedlf6ldnxdzhdtwoseven +fivegcpj6 +xssdl7 +3kcnqqhc9 +sfsrtwosrpjlhbcng6 +mvgeightwotbnzgrrc2tz22bpv1eightfour +94msix2 +tdzkqnbdrmrxfpm7sevenfivekqmhqldjfour2six +sixthree9three +1953seventhreenv5 +2onemhgmxdktf +5fiveoneseven8 +frfvnqxtmthreeeight4 +rphdqh24eightcpqxfjqqrchbtwo7 +76fivebjmcnfrnvpfour +8nine6mrxvppgvjsevenlhtrtnsxmzdnkhhjfcnfd6 +hfmjnine8 +one3rvbjqtfivecc +five6fbfkpdvvpfjq3kdbvhtrkvgqz +two2sevennined7 +five8fourseven398 +sixqccsqhgvhd3k1five +4fgthreesix +4xqgqfxltzx28jrfpqdmbtwo +three35twozhgkpltmvbfsdzkfpbrkq +zxcdrkhd8onepcmtkfmtkrphbhcfivetqhxrnttwo6 +six36rsvpjcj +9fiveqqdklbkonejpvxxteighthvthdsb +six32 +five83rthcrgdjqxsevenfive3 +ninerdrthxkhnz7hlgllpkgjc +jmzsq3two +seven9kmcmbvztgsseven7foursixfourseven +xpgtcr5hxgjgdxrz +rvgdt1b3sggthcldlsevenseventhree +seveneight5fbljmnfsdqc7sph5 +onetwo1nine8jpgthree9 +6ninekfqhgrtplninefive8 +fxsmdhnjgx3ngqlsjtjnq4vqcrmgfqcnffnvdgt5tmddtbhx +z49 +5eightone +6fivehkv8xtgthreeninesix +hshtfdbf82 +bgvonesevenrdtbhsl6zqxn13 +hnlgrrsmhskmxbmxnineseven55 +kpeightwothreezmdvm35onefiveseven +threefourskjcsmhjr32 +154nine8nineone9 +sixtwo77nfgncfzhbcbthree +dnxddftf7qxnxt +six2qlkmkgsfgdnch35hfqpcbvk +145 +xtqpx8nlzqhmbfpjcqqz9sevenone +kqspr8gbqfsvnttcfnfhjdncteightj4eight +bhrmk5fxdtbqbrzv +eight2prrttwo3five7nine +ninefivenrldsh1smcpzvdgmtzhbone +42dplrfkksn +psixtwoz5 +nvxmgsevennine95eight5 +five2onebxjtkkkzddcxfbpg +87ninebcsmzqjqhrfivevd6 +1eightclgrldksdkzt7 +136tgxrm +smzcxqsspl2hc6eightsixfour4 +51lpvxvzvjpdt72 +5rflgvvkrqlsninefivefoursevenseven +5eightssfq +qrvlvn46threegvcsqnpbbq28mvtvpsmfch +sevensevenfrk7threensxmfn +36fiveeightsixseventhreefour9 +lvxfour4three4q +sixlnrbbcvzdztwo3tj +eightclvcgtcrpmbstpeightmnine7 +2five4five6sevenvhmhk3nine +rjone4btcbrsix +621fiveoneightpt +hlv815fourtfvkr6 +two4657 +one1zninertmjxntmkdgrdsixthree +7one83nqxqdppcsxmlrcdone5 +dlctxttzvz6fiveseventwo96km +8xfkfkbp +79 +eight1three +11rrnrm4vfqjfkmfleights +9xglzqljbqhlseven +8lll2btggdnfsjteight +ddtwonekgrhnsffd8rdlqjmzfv599 +two2sixhdvgjz7three +7flfpmnrl1mhcgzblfourbsvftjkgbg +5sevenzstvcgdvk59nine1vn3 +kpkdqrp3two62six +two2nmpzfour8 +b2fivenine67 +ffgf1pbztdtwo47nzdxrcz +8two4s +tztwone5three +3lzbzqkgkh3four +18twonezps +fivefour4rjnsevenslkqltcdpznmfprnbzbztfvnseven +hmhlkcg6zp +3zcrdv16four +hnnlsknrjk4one9onezcfrx2cddnrbtq +4xbkl +6jdkxcvmx +4four1hb5tgfrntttjszgdhdq +vttlslpjtwo7fourqfzpbrninepr +sevennine5f +bcphcjvp7three +8q9621eight +88tth3 +7gddrxzpsix9jxstksdpkseven +seven3zc72np53eight +txxrlgqm2859 +1sixsevenjpqp +five24seven +6fqjcmngvthreeplxxtrklleight +eightsfpxsix439two4two +2sevennineone +ninexh8four9pdzjpnx +fourninecfzsrmonelcpdnsmhn5nvzp +onecpvhfvxsmnffcxph4 +hbljxvthree5twokxpbbmpnmhtmzbqmnlpnine +threefddbhtseven9qsplgqjkgstwoeightbqchst9 +two5six12 +ninebp962 +1two2eightsixoneightt +nineone1oneninethree9 +sevenone1 +fivegone4three2threefour +plbvtpgvdtwothree1kcnvxndf5 +svkfoureight294 +5nineonenhxfl2prgv7xj +9kjzjtdmcsninesevensmdbsxh +32bbcbggpsdvnjlnm5 +hllsdcxhtqhfkzsixgjb1cnjxzghksllfour +sixkqjkzfxnx6 +4fpmfour4three8 +gzbgcvf523onefivepqsqkqone +8one83 +sixbrcsix8fdhzvxcvchvlhx7ddpbltgxq +4sixhfrdpshdsixlvptxfjcplscxzg8 +fivebrxjceightone7 +twojmbxonefivefourmsqbnzxsgxbbh2 +five5lrzrsv17 +rtsgveightljjrkhskhqkseven6seven1 +74lcrchfoursevensix +49tlnbghzm1 +36nineeight2 +fivecccctcftfourfivetwo41 +foursevenfourmlrcjglthjd9 +94ninetwosixvbqslbxlone +qjjk76 +3six35onesix52 +612dfpgjlgfourfive3fourdmrn +9one2kctccfct +vbsoneightscfiverrvmsrxjcnbvpeight2onekkqhsjtx +742fiveeightnvjjpx4eight +139sixskbgfc2sevennmlsll +2nineztlb6pxgqtreighteight2 +six58bjjhsrxgrheight9 +nrmncthgr4bggpj +1pgjpxjdbhj +four5tjqsv47ninetmpjmmpcgftjmqq +threepnxphfourplcrpjfngjsgdninepv6fzghjjmrvn +756onejrtbpl3 +sixglcb8 +jqcfpvq46xmffour6 +sevenfbhqztmn96eight +2fjlcxsix8d +eight9fourvjjjpninepndvffivenine +mctmpckkjfqmdhgcdng5sfk6bgbg +onethreesevenrdgcqsldlv8jddcfncninetwo +gmkkbtndjlnzhqfeight6sevenggjrlqkzqv7ngtkfdpjr +4tjpqcjjvxndnhrfdllddptwo +lzjzfshq71ndzmpf6ninesixxjgrvqtrp +sevenhxtmvftb38937 +gxnrvjvclckvfkksslzjgf6kvqgpjbtwo +one9sg7jsvgx28threevsmpxtlrc +five4vvvrrmfj +1hkzflszztc45nine29 +36qbhjdxjr +glfmnmdqlfgxrzfsc2vcxmxcvjkrnltjpdsixgsrpgjnrthree7 +jnbgtjcnbvsf7hhmb +three9eightspggt +4f77sevenkrsvzkrlr +ztlrbheightseven6rcsflgpxnvfkrntbsevensbxjgvsb5 +six7nfcsksevenmkxone +zoneightnine3eight5cdgzqfq66one +8threefourkkkhvc68four +fourthreer9eight +dxzxrjptfmttnppfskctvbngmf268eight2 +2onethree +rtwone3seventwo72 +eightninegmfct96seven +4rcjltsng7threebxcsneight +nine54pghqbgrqjgzmjrgeightrzlbghr +nvggfgkzvknfiveeightsixthree43 +4fourjpzglr +83sevenbn9seven9 +mvgxgqvpbgmrcvdsn34 +sfjlninejbckkxlf8seven +three72threebsgtrtb1tmgjbngqxm +jqlx44 +1threexdftqfjcvl +nnkjmmlqvdseveneightkqlmmzzrpfiveonefour8 +9nqjzjjhhps9twonex +lzqxtpvztwo6 +47fiveeight8gnhcgldm2tlpsxfpsb +5one316four +9lzvbtlkzdgzcxrbtlthhqbdvklgkz7nine1 +threehjxknjnthreeseven2one7 +threeninehjbslk13 +sixeightone6pvdkkbvseven3 +gnlszqcmg8twotwo6 +gxttbccg2khzzpkdtonezqsteight3six +vtfjnxjjkmzppsjx9twofour +twoplbfnmkgql5fpfpzndddt +2threeeightjgkfivevcjlmc4onetl +2bzngbghgkdhhgqpgqkonesix1 +2fivenine22 +lhpxstx1mhgpndxlnk +one7ninetwo2fivethree +seven2sevenonenine9 +onezgpeight81ninekzgqsmmtrpqz +681qchvmrdldjs +nzlqbsvteight11nnnbhkdbvp8 +sevenxgqxtjdjpq3 +8ztonetwoeight +9xkmjfourfz +83four6 +m69 +two1blfseven1 +jdmkrkzkjjsdkkdone5 +7six3 +3one27ninethreeninesevenqzfkst +6nineseven9eight3 +one8zfrvtwoshlgvbl5ljrftn +one1165bjcpkpsjfxlnmz6 +72eightwoh +seven1one94eightsqzhnrfbx8z +sixeight2frplhhsxn46two +7gppcfcdl8 +nine94eightkjxpmzvq +nvf8sjqrncflgpdbone3 +68fourlnc +two5ppgttnk +nine28sixzxnhjr +7kdg38 +twol4qmspdsixfiveskjsbrfsxxjpkqdtsmkgpbc +five5nzlcdc45clclzrrkjthreeoneoneightsd +cvmxgrvfddx3rdthreefdqhxlzzb6 +sevenhzxklrz1threebzvgssix8fstqhzn +tfv866fivetlfive +knmzhbvhzfvrbkvsmnl7sixseven +zmbq9 +vqxqnzrpqvtdtmgndhs7eightnqpxcntfmjr +4vzpsdreight337hgvq +jone4ccn8 +nftdkmtmcz4 +nlnineeightmndkqz8nineonenrqm +nrhdxfsqvxcbcghf35eightthreeseven5 diff --git a/input_sources/day1short.txt b/input_sources/day1short.txt new file mode 100644 index 0000000..c92205d --- /dev/null +++ b/input_sources/day1short.txt @@ -0,0 +1,3 @@ +neeightmndkqz8nineonenrqm +nrhdxfsqvxcbcghf35eightthreeseven5 +2mkzrqlmhsveight1sjtwo2 diff --git a/src/day1.rs b/src/day1.rs new file mode 100644 index 0000000..ac5454c --- /dev/null +++ b/src/day1.rs @@ -0,0 +1,139 @@ +use std::fs::File; +use std::io::{self, BufRead}; +use std::path::Path; + +pub fn process() -> u32 { + process_day_1_part_2() +} + +#[allow(dead_code)] +fn process_day_1() -> u32 { + let file_path = "/Users/dan/Coding/rust/adventofcode/input_sources/day1.txt"; + let mut to_sum: Vec = vec![]; + if let Ok(lines) = read_lines(file_path) { + for line in lines.flatten() { + let numbers = extract_numbers_from_string(line.clone()); + to_sum.push(numbers); + } + } + let sum: u32 = to_sum.iter().sum(); + sum +} + +#[allow(unused_mut)] +#[allow(unused_variables)] +fn process_day_1_part_2() -> u32 { + let file_path = "/Users/dan/Coding/rust/adventofcode/input_sources/day1short.txt"; + let mut to_sum: Vec = vec![]; + if let Ok(lines) = read_lines(file_path) { + for line in lines.flatten() { + let mut num_string: String = String::from(""); + let mut first_number: bool = false; + let mut second_number: bool = false; + println!("{}", line); + // Check if first or last char is numeric + let first_ch = line.chars().next().unwrap(); + if first_ch.is_numeric() { + num_string.push(first_ch); + first_number = true; + } + let last_ch = line.chars().last().unwrap(); + if last_ch.is_numeric() { + num_string.push(last_ch); + second_number = true; + } + + // If we have both of these filled, combine and continue. + if first_number && second_number { + let to_int: u32 = num_string.trim().parse().unwrap(); + to_sum.push(to_int); + println!("Slots Full!! {}{}\n", first_ch, last_ch); + + continue; + } + // Need to search for strings within the line and return their index. + // Build a struct ( ) + let num_words: Vec = vec![ + String::from("one"), + String::from("two"), + String::from("three"), + String::from("four"), + String::from("five"), + String::from("six"), + String::from("seven"), + String::from("eight"), + String::from("nine"), + ]; + + for word in num_words { + let found_word: Option = line.find(&word); + match found_word { + None => { + }, + Some(index) => { + + println!("Found word: {} at location {}", word, index) + } + } + } + + println!("First Char: {} - Last Char {}\n", first_ch, last_ch); + // Create an index of valid words +location + // Valid numbers plus location + // Could do quick check to see if last char is numeric, if so we know this is the last + // number for the return string. + // Will need a way to convert strings to digits (one -> 1) + } + } + + println!("\nNumbers to Sum: {:?}", to_sum); + 420 as u32 +} + + + + +fn read_lines

(filename: P) -> io::Result>> +where P: AsRef, { + let file = File::open(filename)?; + Ok(io::BufReader::new(file).lines()) +} + +fn extract_numbers_from_string(input: String) -> u32 { + let mut nums_in_string: Vec = vec![]; + for char in input.chars() { + if char.is_numeric() { + nums_in_string.push(char); + } + } + + let char_count = nums_in_string.len(); + let number: u32; + if char_count == 1 { + // add chars to string. + let num_string = nums_in_string[0].clone().to_string() + &nums_in_string[0].clone().to_string(); + // convert to u32. + number = num_string.trim().parse().unwrap(); + } else { + let first_item = nums_in_string[0].clone(); + let last_item = nums_in_string.last().copied(); + let num_string = first_item.to_string() + &last_item.expect("should be two chars.").to_string(); + number = num_string.trim().parse().unwrap() + } + number +} + +#[test] +fn test_extract_numbers_from_string() { + let expected: u32 = 74; + let test_value = String::from("742fiveeightnvjjpx4eight"); + let actual = extract_numbers_from_string(test_value); + assert_eq!(expected, actual); +} + +#[test] +fn test_process() { + let expected: u32 = 54927; + let actual: u32 = process_day_1(); + assert_eq!(expected, actual); +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..46773a5 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,8 @@ +mod day1; + +fn main() { + let _day1_results = day1::process(); + + //println!("The Answer to Day 1 is: {:?}", day1_results) +} +