>>> crystal: Building community/crystal 1.2.0-r0 (using abuild 3.9.0_rc2-r1) started Thu, 21 Oct 2021 17:59:48 +0000 >>> crystal: Checking sanity of /home/buildozer/aports/community/crystal/APKBUILD... >>> crystal: Analyzing dependencies... >>> crystal: Installing for build: build-base gc-dev gcc gmp-dev libatomic_ops libevent-dev libevent-static musl-dev pcre-dev libxml2-dev llvm12-dev llvm12-static zlib-static openssl1.1-compat-dev tzdata yaml-dev zlib-dev (1/34) Installing gc (8.0.6-r0) (2/34) Installing libgc++ (8.0.6-r0) (3/34) Installing gc-dev (8.0.6-r0) (4/34) Installing libgmpxx (6.2.1-r0) (5/34) Installing gmp-dev (6.2.1-r0) (6/34) Installing libatomic_ops (7.6.12-r0) (7/34) Installing libffi (3.4.2-r1) (8/34) Installing gdbm (1.20-r2) (9/34) Installing mpdecimal (2.5.1-r1) (10/34) Installing readline (8.1.1-r0) (11/34) Installing sqlite-libs (3.36.0-r0) (12/34) Installing python3 (3.9.7-r3) (13/34) Installing libevent (2.1.12-r4) (14/34) Installing libevent-dev (2.1.12-r4) (15/34) Installing libevent-static (2.1.12-r4) (16/34) Installing libpcre16 (8.45-r1) (17/34) Installing libpcre32 (8.45-r1) (18/34) Installing pcre (8.45-r1) (19/34) Installing libpcrecpp (8.45-r1) (20/34) Installing pcre-dev (8.45-r1) (21/34) Installing zlib-dev (1.2.11-r3) (22/34) Installing xz-dev (5.2.5-r0) (23/34) Installing libxml2 (2.9.12-r1) (24/34) Installing libxml2-dev (2.9.12-r1) (25/34) Installing llvm12-libs (12.0.1-r0) (26/34) Installing llvm12 (12.0.1-r0) (27/34) Installing llvm12-dev (12.0.1-r0) (28/34) Installing llvm12-static (12.0.1-r0) (29/34) Installing zlib-static (1.2.11-r3) (30/34) Installing openssl1.1-compat-dev (1.1.1l-r4) (31/34) Installing tzdata (2021d-r0) (32/34) Installing yaml (0.2.5-r0) (33/34) Installing yaml-dev (0.2.5-r0) (34/34) Installing .makedepends-crystal (20211021.175949) Executing busybox-1.34.1-r1.trigger OK: 806 MiB in 129 packages >>> crystal: Cleaning up srcdir >>> crystal: Cleaning up pkgdir >>> crystal: Fetching https://distfiles.alpinelinux.org/distfiles/v3.15/crystal-1.2.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> crystal: Fetching crystal-1.2.0.tar.gz::https://github.com/crystal-lang/crystal/archive/1.2.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 127 100 127 0 0 664 0 --:--:-- --:--:-- --:--:-- 664 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 2556k 0 2556k 0 0 3147k 0 --:--:-- --:--:-- --:--:-- 4453k >>> crystal: Fetching https://distfiles.alpinelinux.org/distfiles/v3.15/crystal-1.1.1-x86_64-alpine-linux-musl.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> crystal: Fetching https://dev.alpinelinux.org/archive/crystal/crystal-1.1.1-x86_64-alpine-linux-musl.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.3M 100 23.3M 0 0 70.0M 0 --:--:-- --:--:-- --:--:-- 70.0M >>> crystal: Fetching https://distfiles.alpinelinux.org/distfiles/v3.15/crystal-1.1.1-aarch64-alpine-linux-musl.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> crystal: Fetching https://dev.alpinelinux.org/archive/crystal/crystal-1.1.1-aarch64-alpine-linux-musl.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 22.2M 100 22.2M 0 0 88.3M 0 --:--:-- --:--:-- --:--:-- 88.6M >>> crystal: Fetching https://distfiles.alpinelinux.org/distfiles/v3.15/crystal-1.2.0.tar.gz >>> crystal: Fetching https://distfiles.alpinelinux.org/distfiles/v3.15/crystal-1.1.1-x86_64-alpine-linux-musl.tar.gz >>> crystal: Fetching https://distfiles.alpinelinux.org/distfiles/v3.15/crystal-1.1.1-aarch64-alpine-linux-musl.tar.gz >>> crystal: Checking sha512sums... crystal-1.2.0.tar.gz: OK crystal-1.1.1-x86_64-alpine-linux-musl.tar.gz: OK crystal-1.1.1-aarch64-alpine-linux-musl.tar.gz: OK fix-crystal-sh.patch: OK >>> crystal: Unpacking /var/cache/distfiles/v3.15/crystal-1.2.0.tar.gz... >>> crystal: Unpacking /var/cache/distfiles/v3.15/crystal-1.1.1-x86_64-alpine-linux-musl.tar.gz... >>> crystal: Unpacking /var/cache/distfiles/v3.15/crystal-1.1.1-aarch64-alpine-linux-musl.tar.gz... >>> crystal: fix-crystal-sh.patch patching file bin/crystal Using /usr/lib/llvm12/bin/llvm-config [version=12.0.1] g++ -c -Os -fomit-frame-pointer -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc -I/usr/lib/llvm12/include -std=c++14 -fno-exceptions -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS CRYSTAL_CONFIG_BUILD_COMMIT="" CRYSTAL_CONFIG_PATH=lib:/usr/lib/crystal/shards:/usr/lib/crystal/core SOURCE_DATE_EPOCH="1634751229" CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal build --verbose --target x86_64-alpine-linux-musl --release --progress --threads 24 -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib [1/13] Parse [1/13] Parse [2/13] Semantic (top level) [2/13] Semantic (top level) [3/13] Semantic (new) [3/13] Semantic (new) [4/13] Semantic (type declarations) [4/13] Semantic (type declarations) [5/13] Semantic (abstract def check) [5/13] Semantic (abstract def check) [6/13] Semantic (ivars initializers) [6/13] Semantic (ivars initializers) [7/13] Semantic (cvars initializers) [7/13] Semantic (cvars initializers) [8/13] Semantic (main) [8/13] Semantic (main) [9/13] Semantic (cleanup) [9/13] Semantic (cleanup) [10/13] Semantic (recursive struct check) [10/13] Semantic (recursive struct check) [11/13] Codegen (crystal) [11/13] Codegen (crystal) [12/13] Codegen (bc+obj) [12/13] [0/1] Codegen (bc+obj) [12/13] [0/1] Codegen (bc+obj) [13/13] Codegen (linking) gcc _main.o -o /home/buildozer/aports/community/crystal/src/crystal-1.2.0/.build/crystal -rdynamic /home/buildozer/aports/community/crystal/src/crystal-1.2.0/src/llvm/ext/llvm_ext.o `"/usr/lib/llvm12/bin/llvm-config" --libs --system-libs --ldflags 2> /dev/null` -lstdc++ -lpcre -lm -lgc -lpthread -levent -lrt [13/13] Codegen (linking) Using /usr/lib/llvm12/bin/llvm-config [version=12.0.1] ./bin/crystal build --verbose --target x86_64-alpine-linux-musl --progress --threads 1 --exclude-warnings spec/std --exclude-warnings spec/compiler -o .build/std_spec spec/std_spec.cr Using compiled compiler at .build/crystal [1/13] Parse [1/13] Parse [2/13] Semantic (top level) [2/13] Semantic (top level) [3/13] Semantic (new) [3/13] Semantic (new) [4/13] Semantic (type declarations) [4/13] Semantic (type declarations) [5/13] Semantic (abstract def check) [5/13] Semantic (abstract def check) [6/13] Semantic (ivars initializers) [6/13] Semantic (ivars initializers) [7/13] Semantic (cvars initializers) [7/13] Semantic (cvars initializers) [8/13] Semantic (main) [8/13] Semantic (main) [9/13] Semantic (cleanup) [9/13] Semantic (cleanup) [10/13] Semantic (recursive struct check) [10/13] Semantic (recursive struct check) [11/13] Codegen (crystal) [11/13] Codegen (crystal) [12/13] Codegen (bc+obj) [12/13] [0/3298] Codegen (bc+obj) [12/13] [0/3298] Codegen (bc+obj) [13/13] Codegen (linking) gcc _main.o S-lice40U-I-nt841.o P-ointer40U-I-nt841.o A-rgumentE-rror.o E-xception5858C-allS-tack.o A-rray40P-ointer40V-oid4141.o P-ointer40P-ointer40V-oid4141.o I-nt32.o F-loat64.o I-nt64.o E-xception.o P-ointer40L-ibU-nwind5858E-xception41.o U-I-nt64.o U-I-nt8.o A-rray40S-tring41.o P-ointer40S-tring41.o D-ir.o C-rystal5858S-ystem5858D-ir.o F-ile5858E-rror.o E-rrno.o S-tring.o S-tring5858B-uilder.o G-C-.o C-har5858R-eader.o U-I-nt32.o C-har.o S-lice40T-41.o M-ath.o I-ndexE-rror.o S-taticA-rray40U-I-nt84432441.o S-taticA-rray40U-I-nt8443212941.o D-ivisionB-yZ-eroE-rror.o T-uple40S-tring4432S-tring4432S-tring4432S-tring41.o E-numerable5858R-eflect40I-nt3241.o T-uple40S-tring4432S-tring4432S-tring41.o W-inE-rror.o F-ile5858N-otF-oundE-rror.o F-ile5858A-lreadyE-xistsE-rror.o F-ile5858A-ccessD-eniedE-rror.o F-ile5858E-rror43.o I-terator5858S-top.o P-ointer40V-oid41.o P-roc40I-nt324432N-il41.o S-taticA-rray40I-nt8443225641.o P-ointer40I-nt841.o A-rray40I-nt841.o R-ange40B-4432E-41.o R-ange40C-har4432C-har41.o F-iber5858S-tackP-ool.o D-eque40P-ointer40V-oid4141.o T-hread5858M-utex.o R-untimeE-rror.o F-ile5858P-ermissions.o A-rray40T-uple40U-I-nt644432I-nt164432I-nt164141.o P-ointer40T-uple40U-I-nt644432I-nt164432I-nt164141.o A-rray40F-loat585-7322d6c8fe1296c88edebdcd115c89ad.o P-ointer40F-loat5-36d63b0ae213f3427e187530ef6f5ab5.o F-loat5858P-rinter5858C-achedP-owers5858P-ower.o F-iber.o T-hread5858L-inkedL-ist40F-iber41.o C-rystal5858S-ystem5858R-andom.o C-rystal5858S-cheduler.o T-hread.o A-tomic40U-I-nt841.o A-tomic40T-hread3212432N-il41.o P-roc40V-oid41.o F-iber5858C-ontext.o T-hread5858L-inkedL-ist40T-hread41.o N-il.o N-ilA-ssertionE-rror.o C-rystal5858S-pinL-ock.o D-eque40F-iber41.o P-ointer40F-iber41.o T-ime5858S-pan.o C-rystal5858E-ventL-oop.o C-rystal5858E-vent5858B-ase.o C-rystal5858E-vent.o L-ibC-5858T-imeval.o C-rystal5858S-ystem.o E-N-V-.o C-rystal5858S-ystem5858E-nv.o P-rocess.o F-ile.o C-rystal5858S-ystem5858F-ile.o C-rystal5858T-hre-1a3c0c3e3b0f8107f598df47513fbad7.o H-ash40T-hread4432D-eque40F-iber4141.o P-ointer40H-ash58-ba622b1c6ea9db0b943e2b37ba0c5af2.o C-rystal5858T-hre-328ba26086c06ca27f79c0f6529d7399.o H-ash40T-hread4432C-rystal5858E-vent41.o P-ointer40H-ash58-e27196573eea5e5746b383aacfde8695.o A-tomic40T-41.o A-tomic40I-nt3241.o C-rystal5858S-ystem5858F-ileD-escriptor.o I-O-5858E-rror.o H-ash5858E-ntry40T-hread4432D-eque40F-iber4141.o C-rystal5858H-asher.o S-taticA-rray40U-I-nt644432241.o P-ointer40U-I-nt6441.o P-ointer40U-I-nt1641.o P-ointer40U-I-nt3241.o H-ash5858E-ntry40T-hread4432C-rystal5858E-vent41.o L-ibE-vent25858E-ventF-lags.o I-O-5858T-imeoutE-rror.o R-ange40I-nt324432I-nt3241.o C-rystal5858E-L-F-.o I-O-5858F-ileD-escriptor43.o C-rystal5858E-L-F-5858E-rror.o C-rystal5858E-L-F-5858E-ndianness.o C-rystal5858E-L-F-5858O-S-A-B-I-.o S-taticA-rray40U-I-nt84432409641.o I-O-5858E-O-F-E-rror.o C-rystal5858E-L-F-5858I-dent.o U-I-nt16.o I-O-5858B-yteF-ormat5858B-igE-ndian.o S-taticA-rray40U-I-nt84432241.o I-O-5858B-yteF-ormat5858L-ittleE-ndian.o C-rystal5858E-L-F-5858K-lass.o S-taticA-rray40U-I-nt84432841.o A-rray40C-rystal5858E-L-F-5858S-ectionH-eader41.o P-ointer40C-rystal5858E-L-F-5858S-ectionH-eader41.o I-O-5858S-eek.o C-rystal5858E-L-F-5858S-ectionH-eader.o I-O-5858D-ecoder.o C-rystal5858I-conv.o T-uple40S-tring4432S-tring41.o I-nvalidB-yteS-equenceE-rror.o C-rystal5858D-W-A-R-F-5858L-ineN-umbers.o A-rray40A-rray40C-636f430173768b1ef8a4f1bb1b26b618.o P-ointer40A-rray4-591a888aad3429ab878e7889f98d6cb6.o C-rystal5858D-W-A-876b67c856caed70209876736196f578.o A-rray40T-uple40S-5992430a1a7ef1627717adfb71332538.o P-ointer40T-uple4-13415771527eed75ea796bf4f3711255.o A-rray40U-I-nt841.o I-nt8.o S-taticA-rray40U-I-nt84432141.o C-rystal5858D-W-A-R-F-.o C-rystal5858D-W-A-937402c393dd6d3042bf0fc736d67b34.o C-rystal5858D-W-A-R-F-5858L-ineN-umbers5858R-ow.o A-rray40C-rystal5-a16bd51dfcaca30f4af2725dbdd7bd16.o P-ointer40C-rysta-75a3b5062ef2a02254d15f4644e701c0.o C-rystal5858D-W-A-R-F-5858L-N-E-.o C-rystal5858D-W-A-R-F-5858L-N-S-.o C-rystal5858D-W-A-R-F-5858S-trings.o A-rray40T-uple40U-997f9e533f193da5e605a2014e7947d9.o P-ointer40T-uple4-aa2454898accd295538d997a0365d41d.o C-rystal5858D-W-A-R-F-5858I-nfo.o C-rystal5858D-W-A-R-F-5858A-bbrev.o A-rray40C-rystal5858D-W-A-R-F-5858A-bbrev41.o P-ointer40C-rystal5858D-W-A-R-F-5858A-bbrev41.o A-rray40C-rystal5-85d16306ed99e9d40f38f1fabbf60a71.o P-ointer40C-rysta-412258c0a74d56232e18d2b8d2d1d319.o C-rystal5858D-W-A-R-F-5858A-bbrev5858A-ttribute.o A-rray40T-uple40C-27a23361f858e0007f08b6743d9d6989.o P-ointer40T-uple4-43d652c2a9bf3a222802e6afe6647968.o C-rystal5858D-W-A-R-F-5858F-O-R-M-.o U-nicode5858C-aseO-ptions.o U-nicode.o A-rray40T-uple40I-nt324432I-nt324432I-nt324141.o P-ointer40T-uple40I-nt324432I-nt324432I-nt324141.o H-ash40I-nt324432-c36c7b59ada9577e04b34b7156d26117.o P-ointer40H-ash58-df002967aa38240c2ffc8370480b96df.o H-ash5858E-ntry40-ea883736b6a497e8c0f2d29083b2162a.o A-rray40T-uple40I-nt324432I-nt324141.o P-ointer40T-uple40I-nt324432I-nt324141.o C-rystal5858D-W-A-R-F-5858T-A-G-.o C-rystal5858D-W-A-R-F-5858A-T-.o B-ool.o T-ypeC-astE-rror.o S-tring5858T-oU-nsignedI-nfo40T-41.o S-tring5858T-oU-nsignedI-nfo40U-I-nt3241.o P-roc40P-ointer40-9fe377da67d81153f657f4c9b5577cda.o F-ooE-rror.o E-xception43.o C-rystal5858A-tE-xitH-andlers.o A-rray40P-roc40I--412183da1a81233e2c20c488cb2e890d.o P-ointer40P-roc40-6252237c86bac28658266374d639ebc8.o I-O-5858F-ileD-escriptor.o S-taticA-rray40U-I-nt8443225641.o C-rystal5858S-ystem5858F-ileI-nfo.o F-ile5858T-ype.o C-rystal5858S-ystem5858P-rocess.o I-nt128.o U-I-nt128.o P-ointer40P-ointer40U-I-nt84141.o C-rystal5858S-ystem5858F-iber.o I-O-5858E-ncoder.o S-taticA-rray40U-I-nt84432102441.o S-ystem5858U-ser5858N-otF-oundE-rror.o S-ystem5858G-roup5858N-otF-oundE-rror.o X-M-L-5858E-rror.o O-A-uth25858E-rror.o O-A-uth5858E-rror.o H-T-T-P-5858F-ormD-ata5858E-rror.o M-I-M-E-5858M-ultipart5858E-rror.o H-T-T-P-5858S-erver5858C-lientE-rror.o O-penS-S-L-5858C-ipher5858E-rror.o O-penS-S-L-5858S-S-L-5858E-rror.o O-penS-S-L-5858D-igest5858U-nsupportedE-rror.o O-penS-S-L-5858D-igest5858E-rror.o O-penS-S-L-5858E-rror.o C-S-V-5858M-alformedC-S-V-E-rror.o C-S-V-5858E-rror.o C-rypto5858B-crypt5858E-rror.o C-ompress5858Z-lib5858E-rror.o C-ompress5858Z-ip5858E-rror.o C-ompress5858G-zip5858E-rror.o C-ompress5858D-eflate5858E-rror.o U-U-I-D-5858E-rror.o Y-A-M-L-5858P-arseE-xception.o Y-A-M-L-5858E-rror.o J-S-O-N-5858S-erializableE-rror.o J-S-O-N-5858P-arseE-xception.o J-S-O-N-5858E-rror.o U-R-I-5858E-rror.o S-pecE-xception.o M-I-M-E-5858E-rror.o I-nvalidB-igD-ecimalE-xception.o I-N-I-5858P-arseE-xception.o D-igest5858F-inalizedE-rror.o S-pec5858N-estingS-pecE-rror.o S-pec5858E-xampleP-ending.o S-pec5858A-ssertionF-ailed.o S-pec5858S-pecE-rror.o O-ptionP-arser5858M-issingO-ption.o O-ptionP-arser5858I-nvalidO-ption.o O-ptionP-arser5858E-xception.o T-ime5858L-ocatio-c92d7ae948ed8f4d38520c6d460d1469.o T-ime5858L-ocation5858I-nvalidL-ocationN-ameE-rror.o T-ime5858L-ocation5858I-nvalidT-Z-D-ataE-rror.o T-ime5858F-ormat5858E-rror.o T-ime5858F-loatingT-imeC-onversionE-rror.o P-ath5858E-rror.o F-ile5858B-adP-atternE-rror.o C-hannel5858C-losedE-rror.o B-ase645858E-rror.o S-ocket5858A-ddrinfo5858E-rror.o S-ocket5858B-indE-rror.o S-ocket5858C-onnectE-rror.o S-ocket5858E-rror.o E-numerable5858E-mptyE-rror.o N-otI-mplementedE-rror.o O-verflowE-rror.o K-eyE-rror.o P-roc40F-iber4432-6eb246a0a45118d3c5507cc830b14a70.o S-ignal.o A-tomic5858F-lag.o L-ibC-5858S-igsetT-.o C-rystal5858S-ignal.o I-O-.o S-taticA-rray40I-nt324432241.o P-ointer40I-nt3241.o H-ash40S-ignal4432P-roc40S-ignal4432N-il4141.o P-ointer40H-ash58-0716a66562827a635360751c7a0bfb0b.o H-ash5858E-ntry40-37a9b13947932e73bc9389d755897071.o C-rystal5858S-ignalC-hildH-andler.o M-utex.o M-utex5858P-rotection.o I-ntrinsics.o H-ash40I-nt324432C-hannel40I-nt324141.o P-ointer40H-ash58-438550d1ae4863022fe79cbb17acca82.o H-ash5858E-ntry40I-nt324432C-hannel40I-nt324141.o C-hannel40I-nt3241.o C-hannel5858S-ender40I-nt3241.o P-ointer40C-hannel5858S-ender40I-nt324141.o C-rystal5858P-oin-c4f99d9688c0365d7ded28861381dd6c.o P-ointer40C-hannel5858R-eceiver40I-nt324141.o C-hannel5858R-eceiver40I-nt3241.o C-hannel5858S-electC-ontext40I-nt3241.o C-hannel5858S-electC-ontextS-haredS-tate.o A-tomic40C-hannel5858S-electS-tate41.o D-eque40I-nt3241.o C-hannel5858D-eliveryS-tate.o C-rystal5858P-oin-50c6dff1ac01adb5932ab2c073b74d07.o C-hannel5858S-electC-ontext40N-il41.o H-ash40I-nt324432I-nt3241.o P-ointer40H-ash5858E-ntry40I-nt324432I-nt324141.o H-ash5858E-ntry40I-nt324432I-nt3241.o L-ibC-5858S-tackT-.o L-ibC-5858S-igaction.o E-xception5858C-allS-tack5858R-epeatedF-rame.o P-roc40I-nt324432-2d8bddf8cd1ef75cabf4552d85b24bd1.o N-umber.o T-uple40T-uple40C-813454979f343c15f68398a6db0e7f39.o T-uple40C-har4432-809e6e92b20f8837d04aeb284952aba9.o T-uple40N-il4432C-95c543539edf5335054b5f6699557c2a.o R-andom5858P-C-G-32.o R-ange40U-I-nt644432U-I-nt6441.o R-andom5858S-ecure.o H-ash40T-uple40U-I-nt644432S-ymbol414432B-ool41.o P-ointer40H-ash58-60a3eb55c544b99184778abc7dcee256.o H-ash40U-I-nt644432U-I-nt6441.o P-ointer40H-ash58-6ca1ab2004fcb02b740a9bf3b468352a.o T-ime.o A-rray40T-ime5858L-ocation5858Z-one41.o P-ointer40T-ime5858L-ocation5858Z-one41.o T-ime5858L-ocation5858Z-one.o T-ime5858L-ocation.o A-rray40T-ime5858L-ocation5858Z-oneT-ransition41.o P-ointer40T-ime5858L-ocation5858Z-oneT-ransition41.o H-ash40S-tring4432T-ime5858L-ocation41.o P-ointer40H-ash58-6209eaf5cdba78f1cf96ab48004f71be.o H-ash5858E-ntry40S-tring4432T-ime5858L-ocation41.o H-ash40S-tring443-d0ef6a484ca24b5e9e1cd150630d96a3.o P-ointer40H-ash58-78e716075e5ec360a5549c235b8e9c11.o O-ptionP-arser.o H-ash40S-tring4432O-ptionP-arser5858H-andler41.o P-ointer40H-ash58-212c9b36867c43ce53da4c94c058569a.o R-egex.o R-egex5858O-ptions.o S-pec.o T-uple40S-tring44-c08bba5a239615f339ac45087d87fdeb.o R-egex5858M-atchD-ata.o T-uple40I-nt324432I-nt3241.o I-ndexable40T-41.o O-ptionP-arser5858F-lagV-alue.o O-ptionP-arser5858H-andler.o H-ash5858E-ntry40-e3917c1d9fa99677106b018d0f8da33b.o H-ash40S-tring4432A-rray40I-nt324141.o P-ointer40H-ash58-357f78bf84f10e592490dde5550126a5.o P-ath.o P-ath5858K-ind.o T-uple40C-har41.o T-uple40C-har4432C-har41.o H-ash5858E-ntry40S-tring4432A-rray40I-nt324141.o A-rray40I-nt3241.o S-et40S-tring41.o H-ash40S-tring4432N-il41.o P-ointer40H-ash5858E-ntry40S-tring4432N-il4141.o H-ash5858E-ntry40S-tring4432N-il41.o S-tring5858T-oU-nsignedI-nfo40U-I-nt6441.o S-pec5858J-U-nitF-ormatter.o T-uple4042T-41.o T-uple40I-nt3241.o T-uple40E-rrno4432E-rrno41.o C-rystal5858S-ystem5858T-ime.o A-rray40S-pec5858R-esult41.o P-ointer40S-pec5858R-esult41.o H-ash40S-ymbol4432I-nt3241.o P-ointer40H-ash5858E-ntry40S-ymbol4432I-nt324141.o A-rray40S-pec5858F-ormatter41.o P-ointer40S-pec5858F-ormatter41.o S-pec5858D-otF-ormatter.o S-pec5858V-erboseF-ormatter.o A-rray40S-pec5858V-erboseF-ormatter5858I-tem41.o P-ointer40S-pec5858V-erboseF-ormatter5858I-tem41.o S-pec5858T-A-P-F-ormatter.o S-pec5858R-ootC-ontext.o A-rray40S-pec5858-da8ddfc246df162f30d5760abddbf7cf.o P-ointer40S-pec58-1d180d8fa27de4de6d162a69a21ba2c5.o H-ash40S-tring4432C-har41.o P-ointer40H-ash5858E-ntry40S-tring4432C-har4141.o H-ash5858E-ntry40S-tring4432C-har41.o H-ash40S-tring4432S-tring41.o P-ointer40H-ash5858E-ntry40S-tring4432S-tring4141.o H-ash5858E-ntry40S-tring4432S-tring41.o H-ash40C-har4432S-tring41.o P-ointer40H-ash5858E-ntry40C-har4432S-tring4141.o H-ash5858E-ntry40C-har4432S-tring41.o C-olorize.o R-eference5858E-xecR-ecursiveC-lone.o H-ash5858E-ntry40U-I-nt644432U-I-nt6441.o S-pec5858S-plitF-ilter.o S-pec5858R-ootC-ontext43.o I-O-43.o S-impleI-O-M-emory.o P-artialR-eaderI-O-.o B-ufferedW-rapper.o H-T-T-P-5858C-hunkedC-ontent.o H-T-T-P-5858S-erver5858R-esponse.o I-O-5858D-igest.o I-O-5858H-exdump.o R-everseR-esponseO-utput.o R-aiseI-O-E-rror.o H-T-T-P-5858W-ebS-4cb2ca367ffc5472ff9cc10ba3782e30.o H-T-T-P-5858W-ebS-ocket5858P-rotocol.o H-T-T-P-5858S-erver5858R-esponse5858O-utput.o H-T-T-P-5858H-eaders.o H-T-T-P-5858H-eaders5858K-ey.o H-ash40H-T-T-P-58-326889f6e4af597efb1be91689fda4df.o P-ointer40H-ash58-03ea88bd25fc901bb271095486fce1b5.o H-ash5858E-ntry40-eb9419e0928ab6795e39cae0bfd2e2ca.o H-T-T-P-5858C-ookies.o H-ash40S-tring4432H-T-T-P-5858C-ookie41.o P-ointer40H-ash58-022bb543ee1a8b891781f4b4b6f3c0ee.o H-ash5858E-ntry40S-tring4432H-T-T-P-5858C-ookie41.o H-T-T-P-5858C-ookie.o H-T-T-P-.o T-ime5858F-ormat5858H-T-T-P-_D-A-T-E-.o T-ime5858L-ocation5858Z-oneT-ransition.o T-ime5858F-ormat5858F-ormatter.o O-penS-S-L-5858S-S-L-5858S-ocket43.o L-ibS-S-L-5858S-S-L-E-rror.o H-T-T-P-5858C-ompressH-andler5858C-ompressI-O-.o S-ocket43.o C-ompress5858Z-lib5858W-riter.o C-ompress5858Z-lib5858R-eader.o C-ompress5858G-zip5858R-eader.o C-ompress5858D-eflate5858R-eader.o F-ile5858P-R-eader.o I-O-5858S-tapled.o I-O-5858M-emory.o H-T-T-P-5858U-nknownL-engthC-ontent.o H-ash40I-nt324432-75cf0889665a4e7008b9d865daf34063.o P-ointer40H-ash58-82aeac833e95b8d7e4bebe696c9eebf5.o H-ash5858E-ntry40-2cbbc8b2d8a06e2b1695995f1b4f7cb2.o C-ompress5858G-zip5858W-riter.o C-ompress5858G-zip5858H-eader.o D-igest5858C-R-C-32.o C-ompress5858D-eflate5858W-riter.o L-ibZ-5858Z-S-tream.o P-roc40P-ointer40-4f4e08b4bf4bae5171a1c50790d3eedc.o P-roc40P-ointer40-a756f0b40433add4bae6f0a982244848.o L-ibZ-5858E-rror.o I-O-5858D-igest5858D-igestM-ode.o D-igest43.o O-penS-S-L-5858D-igest43.o C-rystal5858D-igest5858S-H-A-1.o S-taticA-rray40U-I-nt844326441.o S-taticA-rray40U-I-nt3244328041.o S-taticA-rray40U-I-nt324432541.o C-rystal5858D-igest5858M-D-5.o S-taticA-rray40U-I-nt324432241.o S-taticA-rray40U-I-nt3244321641.o S-taticA-rray40U-I-nt324432441.o S-taticA-rray40U-I-nt84432819241.o C-ompress5858Z-ip5858C-hecksumW-riter.o C-ompress5858Z-ip5858C-hecksumR-eader.o C-ompress5858G-zip5858H-eader5858F-lg.o H-T-T-P-5858F-ixedL-engthC-ontent.o I-O-5858S-ized43.o I-O-5858M-ultiW-riter.o A-rray40I-O-41.o P-ointer40I-O-41.o I-O-5858D-elimited.o I-O-5858A-R-G-F-.o S-taticA-rray40U-I-nt844327741.o D-igest5858A-dler32.o T-uple40I-nt32443-ae04c9525469ed0d0491c8672a000146.o H-T-T-P-5858C-ookie5858S-ameS-ite.o H-T-T-P-5858S-tatus.o H-ash5858E-ntry40S-ymbol4432I-nt3241.o S-ymbol.o F-loat5858P-rinter.o F-loat5858P-rinter5858I-E-E-E-.o S-taticA-rray40U-I-nt8443212841.o F-loat5858P-rinter5858G-risu3.o F-loat5858P-rinter5858D-iyF-P-.o F-loat5858P-rinter5858C-achedP-owers.o T-uple40I-nt32443-afadb9c45253e8355fa608b917562caf.o T-ime5858F-ormat5858R-F-C-_3339.o S-ystem.o H-T-M-L-.o P-ath5858P-artI-terator.o I-terator40T-41.o P-ointer5858A-ppender40T-41.o P-ointer5858A-ppender40U-I-nt841.o U-N-I-X-S-erver.o S-ocket5858E-rror43.o I-P-S-ocket43.o N-amedT-uple40suc-7037034307aa4f00431144711b1d74bf.o C-olorize5858O-bject40T-41.o C-olorize5858O-bject40S-tring41.o C-olorize5858C-olor256.o C-olorize5858C-olorA-N-S-I-.o C-olorize5858C-olorR-G-B-.o N-amedT-uple40for-b44cc120e9ca6237e372b7d1e1b03dfc.o H-ash40S-tring4432A-rray40S-tring4141.o P-ointer40H-ash58-c87fc6445c3847d1a33d348154d27833.o H-ash5858E-ntry40S-tring4432A-rray40S-tring4141.o S-pec5858S-pecE-rror43.o O-penS-S-L-5858D-igest5858E-rror43.o O-penS-S-L-5858E-rror43.o C-S-V-5858E-rror43.o Y-A-M-L-5858E-rror43.o J-S-O-N-5858P-arseE-xception43.o J-S-O-N-5858E-rror43.o O-ptionP-arser5858E-xception43.o I-O-5858E-rror43.o A-rray40T-uple40S-pec5858R-esult4432F-loat644141.o P-ointer40T-uple40S-pec5858R-esult4432F-loat644141.o S-lice40T-uple40S-pec5858R-esult4432F-loat644141.o R-ange40I-nt324432N-il41.o T-uple40S-pec5858R-esult4432F-loat6441.o S-pec5858R-esult.o A-rray40R-ange40I-nt324432I-nt324141.o P-ointer40R-ange40I-nt324432I-nt324141.o E-numerable5858R-eflect40F-loat6441.o N-umber5858R-oundingM-ode.o S-tring5858F-orma-d38cd524ba9a8946bbf0c92b79665e18.o T-uple40I-nt324432F-loat6441.o S-tring5858F-ormatter5858F-lags.o R-ange40N-il4432N-il41.o S-tring5858F-ormatter40T-uple40F-loat644141.o T-uple40F-loat6441.o L-og.o L-og5858B-uilder.o H-ash40S-tring4432W-eakR-ef40L-og4141.o P-ointer40H-ash58-362f7eee022f72865c226a8536023007.o A-rray40L-og5858B-uilder5858B-inding41.o P-ointer40L-og5858B-uilder5858B-inding41.o L-og5858I-O-B-ackend.o L-og5858D-ispatcher.o L-og5858D-ispatchM-ode.o L-og5858S-yncD-ispatcher.o L-og5858A-syncD-ispatcher.o C-hannel40T-uple4-1dd94e7077abcc75c8d9b067e26af725.o C-rystal5858P-oin-c291ecc075aa773cbdd30fc8b5fccecb.o P-ointer40C-hanne-2abb403de9b04161f823d185fbfd1cf5.o C-rystal5858P-oin-5cfee4f67ede0831a749e7e11f2fbcb5.o P-ointer40C-hanne-bd35c372cf4ef579ddb5414e8f8a8205.o D-eque40T-uple40L-0afa73fab8450ee402a133eb5fddb569.o P-ointer40T-uple4-42e33cee06312dd323e8a9ad553882ea.o C-hannel40N-il41.o C-rystal5858P-oin-e08ae311cf32af09e9d40f0d5ee35056.o P-ointer40C-hannel5858S-ender40N-il4141.o C-rystal5858P-oin-1bc61e007c404d5e8a67093853842a0d.o P-ointer40C-hannel5858R-eceiver40N-il4141.o D-eque40N-il41.o P-ointer40N-il41.o C-hannel5858R-ece-4dc7b495748e463c4f050b5539548275.o C-hannel5858S-end-88af2bd2dcbd44ff468076558dd348c4.o C-hannel5858U-seD-efault.o L-og5858P-rocF-ormatter.o L-og5858S-taticF-ormatter43.o L-og5858T-estF-ormatter.o L-og5858S-everity.o L-og5858M-etadata.o P-ointer40N-amedT-48a2c403e75e9a1bf3f02025c2951997.o L-og5858M-etadata5858V-alue.o A-rray40L-og5858M-etadata5858V-alue41.o R-eference5858E-xecR-ecursive.o H-ash5858E-ntry40-6a98f111b8e2182b3054070d4e1afc21.o T-uple40U-I-nt644432S-ymbol41.o P-ointer40L-og5858M-etadata5858V-alue41.o F-loat32.o H-ash40S-tring4432L-og5858M-etadata5858V-alue41.o P-ointer40H-ash58-eee092988250ebc7f4d4453c571eea5e.o H-ash5858E-ntry40-899e563b3bd29522ae3a4ddbbd237b43.o T-ime5858F-ormat.o T-ime5858D-ayO-fW-eek.o L-og5858S-hortF-ormat.o L-og5858M-emoryB-ackend.o A-rray40L-og5858E-ntry41.o P-ointer40L-og5858E-ntry41.o L-og5858B-roadcastB-ackend.o H-ash40L-og5858B-ackend4432L-og5858S-everity41.o P-ointer40H-ash58-5720daa83c64097152e5f552cc4405a6.o H-ash5858E-ntry40-5debd9ef659443b8bbb6c621ab2b75c4.o L-og5858B-ackend43.o C-hannel5858S-ele-b06d88ad0615600c338db0f5ba1dabce.o L-og5858D-irectD-ispatcher.o C-hannel5858S-ender40N-il41.o C-hannel5858R-eceiver40N-il41.o H-ash5858E-ntry40S-tring4432W-eakR-ef40L-og4141.o W-eakR-ef40L-og41.o L-og5858B-uilder5858B-inding.o H-ash5858V-alueI--bcd915030ae6d36c205b65c4941b5524.o S-pec5858E-xampleG-roup.o S-pec5858E-xample.o A-rray40P-roc40N-il4141.o P-ointer40P-roc40N-il4141.o S-pec5858V-erboseF-ormatter5858I-tem.o N-amedT-uple40suc-e2a603a144cacb5b14cc3f599c7c6848.o C-olorize5858O-bject40C-har41.o N-amedT-uple40suc-70f32d5e78ea692e8c8cb25ea3d6c643.o S-pec5858C-ontext43.o S-pec5858E-xample5858P-rocsy.o A-rray40P-roc40S--0781e4c593fcb1b9c0dc24855abd7376.o P-ointer40P-roc40-610cc5b3f86274b9d23ee321f7476b71.o S-pec5858E-xampleG-roup5858P-rocsy.o A-rray40P-roc40S--e732c577cb5634ae18131d5208c447c6.o P-ointer40P-roc40-6fd81ddc88c60935b2ec3c6b8636c0bf.o A-rray40T-41.o S-pec5858E-qualE-xpectation40T-41.o S-pec5858E-qualE-xpectation40A-rray40I-nt324141.o S-pec5858E-qualE-xpectation40B-ool41.o A-rray40I-nt323212432N-il41.o P-ointer40I-nt323212432N-il41.o H-ash40I-nt323212432N-il4432I-nt323212432N-il41.o P-ointer40H-ash58-95caeb702196bf6ffe3e77538f4304f2.o H-ash5858E-ntry40-268ac500ce4a0f85d8ae9db1cb250ea8.o S-pec5858E-qualE--59bfd3c1ca136cf9d7c6bedf6592b3f4.o H-ash40I-nt324432B-ool41.o P-ointer40H-ash5858E-ntry40I-nt324432B-ool4141.o H-ash5858E-ntry40I-nt324432B-ool41.o S-pec5858E-qualE-xpectation40I-nt3241.o T-uple4041.o A-rray40N-oR-eturn41.o P-ointer40N-oR-eturn41.o R-ange40N-il4432I-nt3241.o S-pec5858B-eN-ilE-xpectation.o S-pec5858E-qualE-xpectation40P-ointer40I-nt324141.o S-pec5858E-qualE--838d2f7f44e881f5ca9742b14184c676.o A-rray40F-loat643-dfb747d099800fb7fe401298129d0f06.o P-ointer40F-loat6-4c7149f80866616267cafad898b2353b.o S-pec5858E-qualE--9694caada384149c8b08099400732bff.o T-uple40F-loat643-5c115a09690eb2891d0e3184a77a83ac.o T-uple40I-nt324432S-tring4432F-loat644432S-ymbol41.o A-rray40H-ash40I-nt324432I-nt324141.o P-ointer40H-ash40I-nt324432I-nt324141.o S-pec5858E-qualE--e0550255b556b74ff62c339fe0d71b58.o S-pec5858B-eE-xpectation40T-41.o S-pec5858B-eE-xpe-482e4b1e7be149c1b7ddb584d0fbaf57.o S-pec5858B-eE-xpe-fb3ffffc8de4bff76098102c24fda88f.o A-rray40R-ecursiveA-rray41.o P-ointer40A-rray40R-ecursiveA-rray4141.o S-pec5858B-eE-xpe-a471bacfd296b6a6de80e258f53805d9.o S-pec5858B-eE-xpe-7ac9c514c908bf09f1b55cf10e557f8a.o A-rray40C-har3212432I-nt3241.o P-ointer40C-har3212432I-nt3241.o A-rray40C-har41.o P-ointer40C-har41.o S-pec5858E-qualE--5d5df3700e9b6229aced94aa8ea2086d.o S-lice40C-har41.o S-pec5858B-eE-xpectation40A-rray40C-har4141.o S-pec5858E-qualE-xpectation40A-rray40C-har4141.o S-lice40I-nt3241.o S-pec5858B-eE-xpectation40A-rray40I-nt324141.o A-rray40F-loat6441.o P-ointer40F-loat6441.o S-lice40F-loat6441.o S-pec5858B-eE-xpectation40A-rray40F-loat644141.o S-pec5858E-qualE-xpectation40A-rray40F-loat644141.o A-rray40A-rray40I-nt32413212432I-nt3241.o P-ointer40A-rray40I-nt32413212432I-nt3241.o S-pec5858E-qualE-xpectation40U-I-nt6441.o S-pec5858E-qualE-xpectation40S-tring41.o A-rray40T-uple40I-nt324432C-har4141.o P-ointer40T-uple40I-nt324432C-har4141.o S-pec5858E-qualE--7b47537338ca6b39dbbc770d20812bef.o T-uple40I-nt324432C-har41.o R-andom.o S-lice40S-tring41.o S-pec5858E-qualE-xpectation40A-rray40S-tring4141.o A-rray40S-paceship41.o P-ointer40S-paceship41.o S-paceship.o S-lice40S-paceship41.o S-pec5858E-qualE--0623fbb1131d5f9bfbcca155a916bed3.o S-pec5858B-eE-xpectation40S-paceship41.o A-rray40T-uple40S-tring4432I-nt324141.o P-ointer40T-uple40S-tring4432I-nt324141.o S-lice40T-uple40S-tring4432I-nt324141.o A-rray40T-uple40T-c6fcd62c6776ce8dc1f579a844d7270d.o P-ointer40T-uple4-b7c850b784fb85befff10f9a719bcbdf.o S-lice40T-uple40T-3d0e54bc8d7f079a5d6e0f1bda6abd0a.o S-pec5858E-qualE--7d7957abad851479fd49792e53fc6b6a.o T-uple40S-tring4432I-nt3241.o A-rray40T-uple40S-paceship4432F-loat644141.o P-ointer40T-uple40S-paceship4432F-loat644141.o S-lice40T-uple40S-paceship4432F-loat644141.o T-uple40S-paceship4432F-loat6441.o H-ash40S-tring4432I-nt3241.o P-ointer40H-ash5858E-ntry40S-tring4432I-nt324141.o H-ash5858E-ntry40S-tring4432I-nt3241.o S-pec5858E-qualE--98eb6f8f3790537235343af5eb64c78b.o H-ash40B-ool4432I-nt3241.o P-ointer40H-ash5858E-ntry40B-ool4432I-nt324141.o H-ash5858E-ntry40B-ool4432I-nt3241.o S-pec5858B-e40T-41.o S-pec5858B-e40I-nt3241.o A-rray40A-rray40I-nt324141.o P-ointer40A-rray40I-nt324141.o S-lice40A-rray40I-nt324141.o S-pec5858E-qualE--c93e46ffc86cc764ecc3c7b11ffeddc6.o R-ange5858I-temI-terator40B-4432E-41.o R-ange5858I-temI-terator40C-har4432C-har41.o A-rray40T-uple40I-nt324432S-tring4141.o P-ointer40T-uple40I-nt324432S-tring4141.o S-pec5858B-eA-E-x-9dc8ddb6b594c65ab1babdef86000096.o T-uple40I-nt324432S-tring41.o S-pec5858E-qualE--db545ba3110f6527dc45fb61a828cbb1.o S-pec5858B-eA-E-x-a3b3631d9dd2e39b4f7a50dac00531df.o A-rray40T-uple40I-nt324432C-har4432C-har4141.o P-ointer40T-uple40I-nt324432C-har4432C-har4141.o S-pec5858B-eA-E-x-35afa9c830bc7f897e2b4763eb405730.o T-uple40I-nt324432C-har4432C-har41.o S-pec5858E-qualE--660a815520dc0c9eb8d5093faf0c9480.o A-rray40T-uple40I-nt324432C-har3212432I-nt324141.o P-ointer40T-uple40I-nt324432C-har3212432I-nt324141.o S-pec5858B-eA-E-x-a5725d5d8e1a0657b27cb56a7ed166cb.o T-uple40I-nt324432C-har3212432I-nt3241.o S-pec5858E-qualE--fbd68f305b0b4e22ce460f38b2dc1c39.o A-rray40T-uple40I-nt324432C-har3212432N-il4141.o P-ointer40T-uple40I-nt324432C-har3212432N-il4141.o S-pec5858E-qualE--13a019b83fe190401133e73b4d90f9cc.o T-uple40I-nt324432C-har3212432N-il41.o A-rray40T-uple40I-nt324432S-tring3212432N-il4141.o P-ointer40T-uple40I-nt324432S-tring3212432N-il4141.o S-pec5858E-qualE--2595c75368bcc7661dde56ced574c6e7.o T-uple40I-nt324432S-tring3212432N-il41.o S-pec5858B-eA-E-x-c4c8cddc4ab4abd8253ef7218501344d.o A-rray40T-uple40I-6426012e2bebdb8e71300de915181b89.o P-ointer40T-uple4-053f96fd7c415f17f9bf5ddb36cf3a55.o S-pec5858B-eA-E-x-ed6e14760b14b4e844a886f77901752f.o T-uple40I-nt32443-407c8ce3a12f33fdf07c149fe72490da.o S-pec5858E-qualE--b6c425fb229126bd257addd343d99018.o A-rray40T-uple40I-f8f8e6dc5b3ae79f265f894e7c1890dd.o P-ointer40T-uple4-6e1bbc61fe38c4c1c91a4ae676fe3da0.o S-pec5858B-eA-E-x-cb7b6cb96658cdb5ccea60e7a473f0e7.o T-uple40I-nt324432C-har3212432I-nt323212432N-il41.o A-rray40B-ool3212432I-nt3241.o P-ointer40B-ool3212432I-nt3241.o S-pec5858E-qualE--8a8eb7bfadb81cfdb1a341ad96f11efe.o A-rray40I-nt323212432S-tring41.o P-ointer40I-nt323212432S-tring41.o S-pec5858E-qualE--b0e53154116b12045c1ee5f5885143d8.o I-ndexable5858I-t-387a1fe9b700adbb97a2d5aaf3de9bb7.o S-pec5858B-eA-E-xpectation40I-terator5858S-top41.o I-ndexable5858R-e-a3489844389119491365fe27779cebc2.o I-terator5858C-yc-d3888ef0d76e606fdb0425e5ddc8fa39.o I-terator5858C-yc-acb6cb05e25ff5e583dfb9c73f4c3f52.o I-ndexable5858I-ndexI-terator40A-41.o I-ndexable5858I-ndexI-terator40A-rray40I-nt324141.o A-rray40A-rray40S-ymbol4141.o P-ointer40A-rray40S-ymbol4141.o A-rray40S-ymbol41.o P-ointer40S-ymbol41.o S-pec5858E-qualE--fcaa7215df743253bc12eccb7093dc1d.o A-rray40A-rray40F-db8141db6e72241e7c84bd7189c90bea.o P-ointer40A-rray4-f9a81814c0279fd8db1df444aa34728e.o A-rray40A-rray40F-loat643212432I-nt324141.o P-ointer40A-rray40F-loat643212432I-nt324141.o A-rray40F-loat643212432I-nt3241.o P-ointer40F-loat643212432I-nt3241.o S-pec5858E-qualE--db3a38160d71abbd0aa88aff2d5491ad.o S-pec5858E-qualE--ed16f112c4f3071c7a3c1914233170c6.o A-rray40A-rray40C-37dc7b90fb40c0917baf018d8324308d.o P-ointer40A-rray4-0d9cb402aa2569264716586ca4e6a54b.o A-rray40C-har3212432S-tring41.o P-ointer40C-har3212432S-tring41.o A-rray40A-rray40C-11b9c2f2070d0dd78b34d7bc154445b6.o P-ointer40A-rray4-33d8f7b232056cdecdcf0bf5eaec8581.o A-rray40C-har3212-28056098993cd4e98a8ee73a69af9939.o P-ointer40C-har32-a875325b4ad213e497fc8d783c57d948.o A-rray40A-rray40C-11256e932e27d79478fb77898a78d7ad.o P-ointer40A-rray4-9852255b6848f99f6ae0dfeadc747441.o A-rray40F-loat643212432S-tring41.o P-ointer40F-loat643212432S-tring41.o S-pec5858E-qualE--a922151b5529f6f6fbe12b08be5581c9.o S-pec5858E-qualE--47d1b6def1d554e68436db135b181e90.o O-bject.o S-pec5858E-qualE--6d117cee386b7900c7926342e2efbd6a.o A-rray40A-rray40A-rray40I-nt32414141.o P-ointer40A-rray40A-rray40I-nt32414141.o A-rray40T-uple40I-nt324432F-loat644141.o P-ointer40T-uple40I-nt324432F-loat644141.o A-rray40T-uple40F-loat643212432I-nt324141.o P-ointer40T-uple40F-loat643212432I-nt324141.o T-uple40F-loat643212432I-nt3241.o A-rray40T-uple40C-db7c0cc0516daaa00f2c6f8a63680bc5.o P-ointer40T-uple4-1ef9c2e2f7207a3820fb241a7fc59c64.o T-uple40C-har3212-f464c6ada32e49397a155ad8fa98d8ab.o S-taticA-rray40I-nt3244321641.o I-ndexable40I-nt3241.o 47home47buildozer-603010051061f0006a80f1f1b177d314.o S-et40U-I-nt6441.o H-ash40U-I-nt644432N-il41.o P-ointer40H-ash5858E-ntry40U-I-nt644432N-il4141.o H-ash5858E-ntry40U-I-nt644432N-il41.o A-rray40A-rray40C-har3212432I-nt324141.o P-ointer40A-rray40C-har3212432I-nt324141.o A-rray40A-rray40C-har413212432A-rray40I-nt324141.o P-ointer40A-rray40C-har413212432A-rray40I-nt324141.o I-ndexable40C-har3212432I-nt3241.o S-pec5858E-qualE--fa6a6eb0676fbe77ae9aab6e9428aeae.o T-uple40A-rray40I-nt32414432A-rray40C-har4141.o A-rray40I-nt6441.o P-ointer40I-nt6441.o A-rray40A-rray40A-ca03f6a2340f9c8202f1cb636842402c.o P-ointer40A-rray4-505c547f5f0e230834d5ae78b3d3ede3.o A-rray40A-rray40A-33c5f67579f944ad554d4f2b1d920815.o P-ointer40A-rray4-311dd29064aa204689a36b892f7ee79b.o A-rray40A-rray40A-rray40B-ool413212432S-tring4141.o P-ointer40A-rray4-4b0c88ef62ddf6eacfcc090703cc6856.o A-rray40A-rray40B-ool413212432S-tring41.o P-ointer40A-rray40B-ool413212432S-tring41.o A-rray40B-ool41.o P-ointer40B-ool41.o A-rray5858F-latte-1965d01d394c2e6fc07f4e51a7eb7fcf.o A-rray40B-ool3212-353011ca926199d047f90b5d017a3e3c.o P-ointer40B-ool32-f79bf694df5229e7bcbc4c76c59c3aa8.o S-pec5858E-qualE--95b4e1abaf50db6ffb1d13d44844b328.o A-rray40I-ndexabl-08c80542330085a307030cb38c3eea42.o P-ointer40I-ndexa-061a8e251078a0913c6ea49c1709362e.o A-rray40A-rray40A-74cb4562cd9fb567d49d4ce184bd379c.o P-ointer40A-rray4-2ec069bc693699b853f70f1e5718a144.o A-rray5858F-latte-ce3db410bea32ed18b59cb746b65f0d9.o A-rray40I-nt323212432I-terator5858S-top41.o P-ointer40I-nt323212432I-terator5858S-top41.o S-pec5858E-qualE--9231fe7128e0975dfca651b982e96ad5.o T-uple40I-nt324432B-ool41.o A-tomic40A-tomicE-num41.o S-pec5858E-qualE--1e21dd304db49ad95c07d5933d118daa.o T-uple40A-tomicE-num4432B-ool41.o A-tomicE-num.o S-pec5858E-qualE-xpectation40A-tomicE-num41.o A-tomic40A-tomicE-numF-lags41.o S-pec5858E-qualE--18602c7ef220348ba4b53e453c23d127.o T-uple40A-tomicE-numF-lags4432B-ool41.o A-tomicE-numF-lags.o S-pec5858E-qualE-xpectation40A-tomicE-numF-lags41.o A-tomic40S-tring3212432N-il41.o S-pec5858E-qualE--d37234a205c2aeff2f5bce682e8172dc.o T-uple40S-tring3212432N-il4432B-ool41.o T-uple40N-il4432B-ool41.o S-pec5858B-eE-xpectation40S-tring41.o S-pec5858E-qualE--a80286bc3f5ea994fbd1b12d8b9d78b4.o T-uple40S-tring4432B-ool41.o A-tomic40S-tring41.o A-tomic40U-I-nt3241.o S-pec5858E-qualE-xpectation40U-I-nt3241.o S-pec5858E-qualE-xpectation40N-il41.o 47home47buildozer-f2aebf4d8a58a90aed47c833f09a0166.o B-ase64.o S-pec5858B-eA-E-xpectation40S-tring41.o I-O-5858E-ncodingO-ptions.o S-lice40U-I-nt1641.o S-pec5858E-qualE-xpectation40S-lice40U-I-nt84141.o S-taticA-rray40U-I-nt84432541.o B-enchmark5858I-P-S-5858J-ob.o A-rray40B-enchmark5858I-P-S-5858E-ntry41.o P-ointer40B-enchmark5858I-P-S-5858E-ntry41.o B-enchmark5858I-P-S-5858E-ntry.o A-rray40T-ime5858S-pan41.o P-ointer40T-ime5858S-pan41.o G-C-5858S-tats.o S-tring5858F-orma-0ffc14f5d698a87fa3776a738e9685b3.o T-uple40S-tring44-5d0159a6a456d32289f8b325b0b6d70c.o 47home47buildozer-b4fc843156e2bf59371f9d7b2f96708a.o S-pec5858E-qualE-xpectation40F-loat6441.o B-itA-rray.o S-pec5858E-qualE-xpectation40B-itA-rray41.o 47home47buildozer-264fbf0764b0b869da90ab109418289f.o S-taticA-rray40U-I-nt844321641.o S-pec5858E-qualE-xpectation40U-I-nt841.o T-uple40I-nt32443-a84eddead3cee64c4cd8b4597d151e60.o S-pec5858E-qualE-xpectation40A-rray40B-ool4141.o A-rray40T-uple40B-ool4432B-ool4141.o P-ointer40T-uple40B-ool4432B-ool4141.o I-ndexable5858I-t-991e5c692fb7a8c132495b6cdb7de95b.o I-ndexable5858I-ndexI-terator40B-itA-rray41.o I-ndexable5858R-e-7d46222ee6facc44bd9bfeecd566bc53.o B-ox40T-41.o B-ox40I-nt3241.o B-ox40S-tring41.o B-ox40N-il41.o T-uple40I-nt644432I-nt3241.o 47home47buildozer-94abbeb9e65273bd45b799080c1c637a.o C-rystal5858S-ystem5858D-ir5858E-ntry.o S-pec5858B-eE-xpectation40C-hannel40I-nt324141.o C-hannel40T-41.o C-hannel5858S-trictR-eceiveA-ction40T-41.o C-hannel5858S-trictR-eceiveA-ction40I-nt3241.o T-uple40C-hannel5-1a14e1b14d77eb7cb45315068b65c8f5.o A-rray40C-hannel5-b30438a1d82c7ad5535ec49d23bb5b22.o P-ointer40C-hanne-099747819519e0f7e9976af991745652.o H-ash40U-I-nt6444-a37488316dae72a1deed7476ce0d24a6.o P-ointer40H-ash58-426eecfbdce13b04b86703008a382402.o H-ash5858E-ntry40-b1b45517a1bcdc7d6f0f09871f9e24f5.o A-rray40T-uple40C-866898b0958befd24754e0d8efdc0872.o P-ointer40T-uple4-47717daf06ef1835b3e075ca491ecc37.o S-lice40T-uple40C-9c2890850eb7e8885aa8a0c3aa3b25e7.o C-hannel5858N-otR-eady.o C-hannel5858S-electC-ontext40S-41.o C-hannel5858S-endA-ction40T-41.o C-hannel5858S-endA-ction40I-nt3241.o T-uple40C-hannel5-f842ddc56cf38aaf6e2f44ca02436a1d.o A-rray40C-hannel5858S-endA-ction40I-nt324141.o P-ointer40C-hannel5858S-endA-ction40I-nt324141.o H-ash40U-I-nt6444-fd2a14f763f6031212f471b0382a9a27.o P-ointer40H-ash58-0d8cafd2a4967b913411c5178d9bc434.o H-ash5858E-ntry40-660c093e4e5a2ad970c2cf11e0b1d97b.o A-rray40T-uple40C-53a46f70a52a22fd2806e313aeb5754c.o P-ointer40T-uple4-b4009677473ec557e42d2d9f6196e4b3.o S-lice40T-uple40C-113bbdb84e40de6e65b3c702fc8ed142.o C-hannel5858L-ooseR-eceiveA-ction40N-il41.o C-hannel5858S-trictR-eceiveA-ction40N-il41.o C-hannel40S-tring41.o C-rystal5858P-oin-b5691854c459bf1ddb90d3a105cb5da3.o P-ointer40C-hannel5858S-ender40S-tring4141.o C-rystal5858P-oin-1be5ceba0f70df941cb314a2fea8c911.o P-ointer40C-hannel5858R-eceiver40S-tring4141.o D-eque40S-tring41.o C-hannel5858S-ender40S-tring41.o C-hannel5858R-eceiver40S-tring41.o C-hannel5858S-electC-ontext40S-tring41.o C-hannel5858S-trictR-eceiveA-ction40S-tring41.o T-uple40C-hannel5-d1950bbe2f524cd49f194e7e84a72259.o A-rray40C-hannel5-a92ed56d7b5820b3a725c4225dbb0e61.o P-ointer40C-hanne-6f9941c5fee0b3f8b7f7ecbdafa23785.o H-ash40U-I-nt6444-6911fea577c4cebd46c73a58b77c02d5.o P-ointer40H-ash58-fd50627b82c7e24fc2a6787e26aa3ad3.o H-ash5858E-ntry40-2ad69d6b188b76c70d84884e9a8e21e8.o A-rray40T-uple40C-8cf04747c506077089fa8080793547f6.o P-ointer40T-uple4-58a56fbc8e536033f02937f480c2a8c2.o S-lice40T-uple40C-4591476fe923c3cbda5d53b55570426e.o C-hannel5858L-ooseR-eceiveA-ction40S-tring41.o S-pec5858E-qualE-xpectation40I-nt3246class41.o S-pec5858E-qualE-xpectation40S-tring46class41.o W-itness.o C-hannel40E-xception3212432N-il41.o C-rystal5858P-oin-9f520207864351e06a4762131f03d983.o P-ointer40C-hanne-5a1679c5fbb51ee59a7763feb7847a8d.o C-rystal5858P-oin-1637ab05ac75f31e9fb016489aad9a03.o P-ointer40C-hanne-114d73e242927723d73c5dcee644d78a.o D-eque40E-xception3212432N-il41.o P-ointer40E-xception3212432N-il41.o C-hannel5858S-ender40E-xception3212432N-il41.o C-hannel5858R-eceiver40E-xception3212432N-il41.o C-hannel5858S-ele-de42df6a902fe7e8ff8f6794c26a1e66.o T-uple40C-hannel5-2fd1953a3442558c09e29e8ad85fa668.o A-rray40C-hannel5-6ac96d6ee082e4aeb4e011c30dfa22bf.o P-ointer40C-hanne-a213a57c5b20e1b9878e470f2481aad5.o H-ash40U-I-nt6444-561854b378170ad574f56998bef719c0.o P-ointer40H-ash58-be000ebf50c54e75f6bfd7adf588bc9a.o H-ash5858E-ntry40-7e8abfdbe133766836b54f84de01eeb9.o A-rray40T-uple40C-14d49535aaa6aa624df26224cc23960d.o P-ointer40T-uple4-5996796b30fcc1a6c4f4107217a31d51.o S-lice40T-uple40C-1244324c0e5c923e3b8aecbbdb9a7c23.o S-pec5858E-qualE-xpectation40N-il46class41.o S-pec5858E-qualE--a514907b22bbe72da11b2f3ddf112d6d.o T-uple40I-nt324432I-nt324432I-nt324432I-nt3241.o C-hannel40B-ool41.o C-rystal5858P-oin-417b2f70016e98d797a809cf1ad9848c.o P-ointer40C-hannel5858S-ender40B-ool4141.o C-rystal5858P-oin-71735b8748eac8aae8c649cb54a0bca5.o P-ointer40C-hannel5858R-eceiver40B-ool4141.o D-eque40B-ool41.o C-hannel5858S-trictR-eceiveA-ction40B-ool41.o C-hannel5858R-eceiver40B-ool41.o T-uple40C-hannel5-071c8c8f1b04a98af60c0d37374871b0.o A-rray40C-hannel5-67904191dfab4c45c8aad220b112296e.o P-ointer40C-hanne-bec2d79f222357f408b17bd15a173d38.o H-ash40U-I-nt6444-46672a01ed109d3ed02d39de9f8f5622.o P-ointer40H-ash58-ed4cdaa579c9a0e1ddf6d0883cf7a9d6.o H-ash5858E-ntry40-1049a0a965738a43d286b4be99048ba9.o A-rray40T-uple40C-04382f967286a97319cb70c9882dd891.o P-ointer40T-uple4-f933c27c17796b43cc5cd027b5e73c57.o S-lice40T-uple40C-f28c91a67b65faa240b940a9cec633a1.o C-hannel5858S-ender40B-ool41.o C-hannel5858S-electC-ontext40B-ool41.o 40C-hannel5858S-e-dc7a075f019e34d216b80f33421979a9.o C-hannel5858L-ooseR-eceiveA-ction40B-ool41.o S-pec5858E-qualE--828fa09e2c532dcdb0d35fae40dc44a4.o 40B-ool3212432S-tring41.o C-hannel5858L-ooseR-eceiveA-ction40T-41.o T-uple40C-hannel5-27db181f250a2acbe7f6d499bb58c1a7.o A-rray40C-hannel5-b129452c955f444fd18aa6abd91ea229.o P-ointer40C-hanne-8654fb8498c92305d3edef031f9671ac.o H-ash40U-I-nt6444-c094ec220f17f2441a924ad7a093d2dd.o P-ointer40H-ash58-05fd6a5d3d9d7ddcdc849c3da43ce7b9.o H-ash5858E-ntry40-2a0729af724b07b5ec0654f92c53eae8.o A-rray40T-uple40C-5fe0a66f1d238c62dd4b6d03b275796f.o P-ointer40T-uple4-e285d85856c181dcd19048f71b8df66d.o S-lice40T-uple40C-95cce1b261e87b5b65845c280207c7cb.o S-pec5858E-qualE--2ffb456a3b1f21893f22698471208a4d.o 40S-tring3212432N-il41.o T-uple40C-hannel5-81191e2a9451c0ba705d1de094fea8b3.o A-rray40C-hannel5-7c3397ff6aff8e682f4001919103d72e.o P-ointer40C-hanne-769df71cdf8d2ea59798953ba11b7e81.o H-ash40U-I-nt6444-6d20d27b29e16d5293de2fcc17e9badb.o P-ointer40H-ash58-675676b38930f14c6b49611f4639a86d.o H-ash5858E-ntry40-0cca6e5366fddba18e5f2357f1966dfd.o A-rray40T-uple40C-2ea9623e0bd483e93f431e3684147124.o P-ointer40T-uple4-73d9ec3f4a62f933f9ee1889bc8bc502.o S-lice40T-uple40C-b4034027d523a4a1f8cbfe0f5095fa9c.o S-pec5858E-qualE--ad50c4400a49cc224514194f2ab9e353.o T-uple40T-uple40I-a1ff3eb25d52c896fed80c85d5e22d13.o T-uple40T-uple40I-6e71321f330654e5745e468f20782870.o T-uple40I-nt324432N-il41.o T-uple40C-hannel5-d2fa05c38e982fbf76a104e9a0602bc2.o A-rray40C-hannel5-4087a8eaf346521cf4b1edf8c7eda885.o P-ointer40C-hanne-668d0a84fc9a342b234c3aeb97a99f1a.o H-ash40U-I-nt6444-99482e7368404c0eafbe70ac536b5492.o P-ointer40H-ash58-9e5ed8238b6300014353374869deda46.o H-ash5858E-ntry40-64cd064c9df814e1b886a58eaaf020c5.o A-rray40T-uple40C-0d69cce42a9f1a5c69a98c9156836773.o P-ointer40T-uple4-35dbc6f2d6a94e293f1a6d5500001336.o S-lice40T-uple40C-acd858bdc07665fcd448cf292996796e.o S-pec5858E-qualE--fd95cc554dd918b6737eebbf74b91ecc.o 40B-ool3212432S-tring3212432N-il41.o T-uple40C-hannel5-095a3b87caee2607f7cdfb550b9d5692.o A-rray40C-hannel5-7e432f784014ecf96c0062b8cee254a3.o P-ointer40C-hanne-b4391962d749cad3346985aec26412eb.o H-ash40U-I-nt6444-5fa47dd2d51038bc1c89e78e46b43da3.o P-ointer40H-ash58-d6dcf64ee1b0b785945a1a2c09571f1d.o H-ash5858E-ntry40-09548f79e8fa190886fd4c2bab446c22.o A-rray40T-uple40C-118c1620335beb540bbc8160220f5ea3.o P-ointer40T-uple4-bc71bb4f13e7dfff3aed6ad4c314a1b1.o S-lice40T-uple40C-f83a3fb72188a24a8b180e5a8bff45d8.o C-hannel5858S-endA-ction40S-tring41.o T-uple40C-hannel5858S-endA-ction40S-tring4141.o A-rray40C-hannel5858S-endA-ction40S-tring4141.o P-ointer40C-hannel5858S-endA-ction40S-tring4141.o H-ash40U-I-nt6444-cd4e048d734da8228dd8dd0813494aef.o P-ointer40H-ash58-f8be61e7b2341a311ea33ba8fb86a776.o H-ash5858E-ntry40-723e0c88a8fc786cc86eec1aa7ae560a.o A-rray40T-uple40C-d1df13db37dd63c8793adeeb5e4bb9cf.o P-ointer40T-uple4-bc8d532bda46bafbffd45e79dc37158c.o S-lice40T-uple40C-962ab78133d96eace94ae53e9e1ed8db.o C-hannel5858S-endA-ction40N-il41.o T-uple40C-hannel5858S-endA-ction40N-il4141.o A-rray40C-hannel5858S-endA-ction40N-il4141.o P-ointer40C-hannel5858S-endA-ction40N-il4141.o H-ash40U-I-nt6444-7754261ed7ba5cab7f454617a8be0749.o P-ointer40H-ash58-83c04900f960e15e2c1fdff6be540e18.o H-ash5858E-ntry40-8b496257d5735eadf70ea0b0401e68fe.o A-rray40T-uple40C-e59bdad77511f7d41f5023ffb454de71.o P-ointer40T-uple4-378029158966645b552f63e929a1f10b.o S-lice40T-uple40C-f6934739e4c7e304a7e6149926530868.o C-hannel5858S-endA-ction40B-ool41.o T-uple40C-hannel5-8efe95163a5cdc7685bab16b52edefa5.o A-rray40C-hannel5-0672a6bee5563693bb6771b3fc9b37b7.o P-ointer40C-hanne-669e8fe1b417d3abbfc0700bb38be81b.o H-ash40U-I-nt6444-226f9bab4e7da5b6bbae8e506d59a949.o P-ointer40H-ash58-aa1e12c8b7a3f099bbb4fe45a9595a92.o H-ash5858E-ntry40-1fd6365ba68aac90ef49282b30d6f68a.o A-rray40T-uple40C-976225d75cf787cf1a307f9d711943c3.o P-ointer40T-uple4-dfa4cf1fa6c5bb4a108b918f8adbaf9f.o S-lice40T-uple40C-441cc46a88fbf7e739b97e47fc54dc53.o C-hannel5858T-imeoutA-ction.o T-uple40C-hannel5-b2993bc7fd2f813270a69f57a6d0a704.o A-rray40C-hannel5-c804d0a711ae093f32a70e2cc1c84386.o P-ointer40C-hanne-eec7e0439546237857e6617ef51b50c2.o H-ash40U-I-nt6444-ecd78dbfb32b8685cca84f795e5db7e5.o P-ointer40H-ash58-459ad3f1eb8c68467f86ac193cc4c424.o H-ash5858E-ntry40-fe8fddd6c0dadae7a8d7f3c11b531888.o A-rray40T-uple40C-05335e4290b6cb3c2d843b60673533c6.o P-ointer40T-uple4-6f01e405cf6836a024c964879ddef08a.o S-lice40T-uple40C-3474c32c5556d77044c02159cb6fd65d.o 40C-hannel5858S-e-c5449fdb08e6c476d0c36a574f65c3cd.o T-uple40C-hannel5-d25878db6f2639acb4a2143a79aee3e3.o T-uple40C-hannel5-13c036b2120608ebd90503311212729f.o A-rray40C-hannel5-abb3b51e8fa02041ebe97156c45580b1.o P-ointer40C-hanne-c2fd37e88fec23b250391725598dd91a.o H-ash40U-I-nt6444-ae84c69efa5a23c84bad2fdb527c98d7.o P-ointer40H-ash58-83708fe40a4bd95a923b571ba9046d1d.o H-ash5858E-ntry40-8a084f13af3498e5f921e40b728aab09.o A-rray40T-uple40C-5f7875b23b818a9f6cdbac10d6a295bd.o P-ointer40T-uple4-ac1efd2662cfc87ce0b79a028c2d9f08.o S-lice40T-uple40C-bd6fbb120418533a864735a468eca92e.o T-uple40C-hannel5-5ff48ecfb83ee7acae542a65dfc862fc.o A-rray40C-hannel5-8d3361fc273a37fd99c14313b4dcc5b5.o P-ointer40C-hanne-aecffd9ec2c3b3fc12b853eeda571c53.o H-ash40U-I-nt6444-201df10cfb45a6f590db4ad817fdab2e.o P-ointer40H-ash58-34210631c29fc99a4d8e2f77ee984c5f.o H-ash5858E-ntry40-e6a5b0f173babe503ee3577e739dff96.o A-rray40T-uple40C-9631c3f385201b25150b21d615782323.o P-ointer40T-uple4-4d6ccb3b9c565d2a470c76d1ccf275fd.o S-lice40T-uple40C-c037dafd8ee314e9dca35b9fca67e1f8.o S-pec5858E-qualE--d7b5d7342b3bb21a706210bf3b260a39.o 40C-hannel5858N-otR-eady3212432S-tring41.o S-pec5858E-qualE--78bbf33360bf638d6858e0cb58d0e5fb.o 40B-ool3212432C-h-33c6c3dd21ea21500a7fc0077db4b222.o S-pec5858E-qualE--84f3f7cdf7f3cb8ef38a4ffd84860d7a.o 40C-hannel5858N-o-214e5b9c2037221dd2f0c9058b4e5cfd.o S-pec5858E-qualE--174dddcc848d90f793c2c3af105db772.o 40C-hannel5858N-otR-eady3212432N-il41.o S-pec5858E-qualE--ed07b9f13187227c90651370146ffca9.o 47home47buildozer-0eae09b31311dab9c7f8daee641f8157.o S-pec5858E-qualE--7684577f3a02dfb67abee2e54659be1d.o P-rettyP-rint.o D-eque40P-rettyP--0271f7a109cb224ca52b000340464313.o P-ointer40P-retty-2bb965f4052430ef0947dc68e2dfd538.o P-rettyP-rint5858G-roup.o D-eque40P-rettyP-rint5858B-reakable41.o P-ointer40P-rettyP-rint5858B-reakable41.o A-rray40P-rettyP-rint5858G-roup41.o P-ointer40P-rettyP-rint5858G-roup41.o P-rettyP-rint5858G-roupQ-ueue.o A-rray40A-rray40P-rettyP-rint5858G-roup4141.o P-ointer40A-rray40P-rettyP-rint5858G-roup4141.o P-rettyP-rint5858T-ext.o P-rettyP-rint5858B-reakable.o S-pec5858E-qualE-xpectation40C-har41.o S-pec5858E-qualE-xpectation40I-nt841.o S-pec5858E-qualE-xpectation40I-nt1641.o I-nt16.o S-pec5858E-qualE-xpectation40I-nt6441.o S-pec5858E-qualE-xpectation40U-I-nt1641.o I-terator5858C-ha-4a36ce6f7e2086a76fb4dbf2f3ca8cb3.o I-terator5858C-ha-2800e9fbfbf8605e5706748bc0745316.o R-ange5858I-temI-terator40I-nt324432I-nt3241.o I-terator5858C-ha-2edba9905ea5bec782a3b3dd1c9a54f9.o I-terator5858C-ha-13d8f4d6579c01a74102d7ab9f3e60e1.o I-terator5858Z-ip-a0c88b6860d78df05f763027f1d12879.o I-terator5858Z-ip-d8f6ce2fc73a18cb965559153f409472.o S-pec5858E-qualE-xpectation40F-loat3241.o A-rray40T-uple40C-har4432C-har4141.o P-ointer40T-uple40C-har4432C-har4141.o S-teppable5858S-tepI-terator40T-4432L-4432B-41.o S-teppable5858S-t-c9a4aa2c11d7a13f1c3a9bf49343a8b7.o T-uple40S-tring41.o S-pec5858E-qualE--704a87afd5542f4cd65e3e6fe10bc466.o S-pec5858E-qualE--d2e2ceafe523e1d75f97c6660a1005fd.o 40C-har3212432I-nt3241.o S-pec5858E-qualE--8fb55da25034317c8c2f7911cfeef3e0.o 40C-har3212432F-loat643212432I-nt3241.o C-lassW-ithR-edefinedN-ame.o A-rray40A-46class41.o P-ointer40A-46class41.o B-2.o C-1.o B-1.o A-43.o B-143.o 47home47buildozer-d61558f034731e5c2bd09ac15cfc6e00.o C-olorizeT-oS-.o C-olorize5858O-bject40C-olorizeT-oS-41.o C-omparableT-estC-lass.o R-ange40F-loat644432F-loat6441.o C-omparable40T-41.o C-omplex.o S-pec5858B-eA-E-xpectation40C-omplex41.o S-pec5858B-eA-E-xpectation40I-nt841.o S-pec5858B-eA-E-xpectation40U-I-nt841.o S-pec5858B-eA-E-xpectation40I-nt1641.o S-pec5858B-eA-E-xpectation40U-I-nt1641.o S-pec5858B-eA-E-xpectation40I-nt3241.o S-pec5858B-eA-E-xpectation40U-I-nt3241.o S-pec5858B-eA-E-xpectation40I-nt6441.o S-pec5858B-eA-E-xpectation40U-I-nt6441.o S-pec5858B-eA-E-xpectation40F-loat3241.o S-pec5858B-eA-E-xpectation40F-loat6441.o S-pec5858E-qualE-xpectation40C-omplex41.o S-pec5858E-qualE--7425ea6ddbd8fb027d43ec8086d37579.o T-uple40F-loat644432F-loat6441.o S-pec5858C-loseE-xpectation40T-4432D-41.o S-pec5858C-loseE--26fe3d3983903f5393c2079e1c7d2762.o 47home47buildozer-81b2464836f69737c72d465746b9ac65.o D-equeT-ester.o D-eque40T-41.o S-pec5858E-qualE-xpectation40D-eque40I-nt324141.o D-eque40S-ymbol41.o D-eque40I-nt323212432S-tring41.o S-pec5858E-qualE--00c763ae2601a2ecc02cfd507aec8294.o D-eque40H-ash40I-nt324432I-nt324141.o S-pec5858E-qualE--e3812e91693b8ec76d04b1b52474fe8b.o S-pec5858B-eE-xpe-f5004dbd824f156a0e5aac71f9c19d4f.o D-eque40R-ecursiveD-eque41.o P-ointer40D-eque40R-ecursiveD-eque4141.o S-pec5858B-eE-xpe-a9435bcb10b4870fefd887284e68eb83.o D-eque40D-eque40I-nt32413212432I-nt3241.o P-ointer40D-eque40I-nt32413212432I-nt3241.o S-pec5858E-qualE-xpectation40D-eque40S-tring4141.o S-pec5858B-eE-xpectation40D-eque40I-nt324141.o I-ndexable5858I-t-d8deeb0c598495649c79c3538fdb0786.o I-ndexable5858I-ndexI-terator40D-eque40I-nt324141.o I-ndexable5858R-e-6283df3b9221390586c557b4dd005302.o I-terator5858C-yc-99e884f39712ea9070853f290ee3261c.o I-terator5858C-yc-ef64d5e3f058409fa7f849b9c4f986b5.o F-ileU-tils.o D-ir5858G-lobber.o A-rray40A-rray40D-cb50b0f80f8f0560de46323236b1192f.o P-ointer40A-rray4-c063451c30ee0e2c359a34203e1aa570.o A-rray40D-ir5858G-fbfbd3b0465abe6937d4ce9852f079cb.o P-ointer40D-ir585-29993c5b9ad800ff233d1e9636f06fa1.o D-ir5858G-lobber5858D-irectoriesO-nly.o D-ir5858G-lobber5858C-onstantE-ntry.o D-ir5858G-lobber5858E-ntryM-atch.o D-ir5858G-lobber5858R-ecursiveD-irectories.o D-ir5858G-lobber5858C-onstantD-irectory.o D-ir5858G-lobber5858D-irectoryM-atch.o D-ir5858G-lobber5858R-ootD-irectory.o A-rray40T-uple40I-19324b9b5199fbad285e3990f26d7c40.o P-ointer40T-uple4-54fc035efa975afa4fb13fe89efb44b1.o A-rray40D-ir41.o P-ointer40D-ir41.o T-uple40S-tring44-ef230bc2db84fb8ce6dcaa21e11a1560.o S-taticA-rray40L-ibC-5858T-imeval4432241.o P-ointer40L-ibC-5858T-imeval41.o A-rray40P-ath41.o P-ointer40P-ath41.o P-rocess5858R-edirect.o A-rray40P-ointer40U-I-nt84141.o P-rocess5858S-tatus.o D-ir5858E-ntryI-terator.o D-ir5858C-hildI-terator.o 47home47buildozer-e459e85d6e14b5fc0c23fb43fff5cef0.o S-pec5858C-loseE--2c08f7516b0cace286a1f302918f699b.o S-pecE-num.o S-pecE-numF-lags.o P-rivateE-num.o P-rivateF-lagsE-num.o S-pec5858E-qualE-xpectation40S-pecE-num41.o A-rray40S-pecE-num41.o P-ointer40S-pecE-num41.o S-lice40S-pecE-num41.o S-pec5858E-qualE--4873e112789184e0a13b628776e132b8.o A-rray40S-pecE-numF-lags41.o P-ointer40S-pecE-numF-lags41.o S-pec5858E-qualE--061fceaf44c9755c8104f6377077c3e0.o A-rray40P-rivateF-lagsE-num41.o P-ointer40P-rivateF-lagsE-num41.o S-pec5858E-qualE--46d7c166483dbbf87a907437adf26eba.o S-pec5858E-qualE-xpectation40S-pecE-numF-lags41.o S-pecE-numF-lags8.o S-pec5858E-qualE-xpectation40S-pecE-numF-lags841.o S-pec5858E-qualE-xpectation40P-rivateE-num41.o S-pecB-igE-num.o S-pecE-num2.o S-pec5858E-qualE-xpectation40S-pecE-num241.o S-pec5858E-qualE-xpectation40P-rivateF-lagsE-num41.o S-pec5858E-qualE-xpectation40A-rray40I-nt84141.o A-rray40P-rivateE-num41.o P-ointer40P-rivateE-num41.o S-pec5858E-qualE--0e967269f15d954b44609a2e0c63c78b.o E-num.o A-rray40B-ool3212432I-nt323212432N-il41.o P-ointer40B-ool3212432I-nt323212432N-il41.o A-rray40B-ool3212432N-il41.o P-ointer40B-ool3212432N-il41.o S-et40I-nt323212432N-il41.o H-ash40I-nt323212432N-il4432N-il41.o P-ointer40H-ash58-1ba94dc6ea906da133565a9c7376e482.o H-ash5858E-ntry40I-nt323212432N-il4432N-il41.o S-pecE-numerable.o I-terator5858C-hu-e45bebee5a71e97a542abaaea4c14edd.o E-numerable5858C--5a77e7bb6aa2ae9f6f0bb2c59e02b7ad.o A-rray40T-uple40B-ool4432A-rray40I-nt32414141.o P-ointer40T-uple40B-ool4432A-rray40I-nt32414141.o S-pec5858E-qualE--ea87e2d3fa81e7ac1867431997f44098.o T-uple40B-ool4432A-rray40I-nt324141.o I-terator5858C-hu-3bf5b546bda8f49bbca134920640828d.o E-numerable5858C--51c54e50065a1e2a42ca0c6bba28d03d.o A-rray40T-uple40I-nt324432A-rray40I-nt32414141.o P-ointer40T-uple40I-nt324432A-rray40I-nt32414141.o S-pec5858E-qualE--cfaf11179c4557969f6fee30732818ad.o T-uple40I-nt324432A-rray40I-nt324141.o I-terator5858C-hu-b71d426671022dcf21f1fd84b79fee8f.o I-terator5858C-hu-a0c32a225f5b496fca8e0a444210cc5a.o E-numerable5858C--3100639ce1e114f599c825c6334cfd4e.o A-rray40T-uple40I-012de40299b6cadb6aaf2a3fdb142071.o P-ointer40T-uple4-c63a2e97ffa9040e51c6063e8270c172.o S-pec5858E-qualE--ec534424abe777770184cb1e86eaed5e.o T-uple40I-nt3246class4432A-rray40I-nt324141.o S-pec5858E-qualE--5ae9a89769f31e30d01cfded7653a508.o I-terator5858C-hu-7a6765380a664f5bd18523581a2e0cf2.o E-numerable5858C--1d665001faa6bf214ba9a7aeef7ef78a.o A-rray40T-uple40B-c128fc74b4c1f312ff1fd36de3c96851.o P-ointer40T-uple4-a666fbea3e51afd629090d8eb68b3143.o E-numerable5858C-hunk5858A-lone.o S-pec5858E-qualE--e46f164176e3efa337415826972f7ec3.o T-uple40B-ool3212-4fc85eaafa7e327536e8eeb4983683fa.o I-terator5858C-hu-5644797e1435b429c3f3679a4295c3c8.o E-numerable5858C--c405b61cee5ff9eba1845ff8894a4e4d.o A-rray40T-uple40E-1f05e94557a162f8a66ccebbdd0a4a45.o P-ointer40T-uple4-f6f0f8e86783e3402f565351fca334bc.o S-pec5858E-qualE--8674b98b1b8e7ef1dc3dd7a4f0c621d2.o T-uple40E-numerab-8e3a113bb8022c7f596c1ec45e4ba61c.o I-terator5858C-hu-69ce7906b67008f5affc51d4307bad63.o E-numerable5858C--9ed7ce8afd368923dec71c583a0b08dd.o A-rray40T-uple40E-2aeef410f08e03fde0566390e7f61124.o P-ointer40T-uple4-a62e10612249286714e5c171949c188e.o E-numerable5858C-hunk5858D-rop.o T-uple40E-numerab-8fbde074684ef6b13ae907284b1071f5.o I-terator5858C-hu-52a6063653c04ec1e99593f11f73775f.o E-numerable5858C--968e0653e28020aa4ae83302c398a4c7.o A-rray40T-uple40E-f459473c95010c5e4ba3a5d780437bde.o P-ointer40T-uple4-fd705eada4d2c786b5d2e101fcebc5b2.o I-terator5858C-hu-006f80f58618e156b601f70eb1604664.o E-numerable5858C--51510bcf69044da18d621c032a60f6b2.o A-rray40T-uple40I-bd67c6b769fef440a6a771e354e95e72.o P-ointer40T-uple4-2b40a0b16c20810b96fdc651edbd1e8b.o S-pec5858E-qualE--31f8fb2268dee96e8daa3366c64ac014.o T-uple40I-nt323212432N-il4432A-rray40I-nt324141.o I-ndexable5858I-t-fa4004c6c983af481f6f2de01e1e9a02.o I-terator5858C-hu-6f923978426b17e8c2176a884f4b97c7.o E-numerable5858C--f5d273aa9bcf6ccf89a650c8b0b5b725.o A-rray40T-uple40I-2ef731d95f2e3382e26a253187a20d06.o P-ointer40T-uple4-815c2b31040f6283a615becc881e823b.o A-rray40T-uple40I-ed591038c58f3b25b07df14a9d252b1b.o P-ointer40T-uple4-4ff788cba863bc1ff02c9cfd986d6dba.o A-rray40N-il41.o S-pec5858E-qualE--cebfcc5d857f6a9f54815b1b0be96780.o T-uple40I-nt32321-9ba6c6a004ba311f063b4d19ee44e2ca.o T-uple40I-nt32321-c6f8aa2f824018a3772cdb1472e6b290.o I-terator5858C-on-c01b5c35277b8aad7763117e4303ae82.o S-pec5858B-eE-xpe-810f9ad94174dfa04388fe0d40e0c974.o I-terator5858C-on-fe172671ea326f10befde5aa87a95729.o A-rray40D-eque40I-nt324141.o P-ointer40D-eque40I-nt324141.o S-pec5858E-qualE--ec06da65d95db29dc8f771c99d326f0d.o I-terator5858S-li-2efedc282cae2f14d867fb0fe8e029b9.o I-terator5858W-it-c3443e36a3ffa0002e3b0a47969f8783.o I-terator5858W-it-9ff3d3e32c67a60bcf2ebfc68dcf207d.o S-pecE-mptyE-numerable.o A-rray40A-rray40I-6014f3d93be193ed07d190209a7db112.o P-ointer40A-rray4-08ba9d8be6cd4c886aa959c7d7cee60f.o I-ndexable5858I-t-6c4d48633ead4464e4324bd36bd142fc.o A-rray40C-har3212432I-nt323212432S-tring41.o P-ointer40C-har3212432I-nt323212432S-tring41.o S-pec5858E-qualE--3ed8399d6242df62b307e163c85168a8.o H-ash40B-ool4432A-rray40I-nt324141.o P-ointer40H-ash58-69af9f756e4ffc2c1e350af9b5901a0a.o H-ash5858E-ntry40B-ool4432A-rray40I-nt324141.o S-pec5858E-qualE--32dfdde152beee79844d2c7b6856b3e5.o H-ash40I-nt324432A-rray40S-tring4141.o P-ointer40H-ash58-31989f4ff1a8f8cb2c9dc94463cd142f.o H-ash5858E-ntry40I-nt324432A-rray40S-tring4141.o S-pec5858E-qualE--6b297403a0eab753377a303b2fa7e361.o A-rray40A-rray40I-nt323212432N-il4141.o P-ointer40A-rray40I-nt323212432N-il4141.o A-rray40A-rray40I-fffd73bb3962c00c8955554248e31e26.o P-ointer40A-rray4-c5cda4bd16ebba1c5f22983bc1894579.o S-pec5858E-qualE--665dc1c0d00e4f44f480e26d4c48be04.o A-rray40A-rray40A-rray40I-nt323212432N-il414141.o P-ointer40A-rray40A-rray40I-nt323212432N-il414141.o S-pec5858E-qualE--d34f11f1ca0ec92afa016bf405822a02.o A-rray40A-rray40I-nt323212432S-tring4141.o P-ointer40A-rray40I-nt323212432S-tring4141.o A-rray40A-rray40I-9253520c93ea4567e1f673eae0e9a318.o P-ointer40A-rray4-4b4b56ac3a197f9b91b3981b58509b7f.o S-pec5858E-qualE--226b840e7dc7d61c2f5f49a8d1f31223.o H-ash40I-nt324432S-tring41.o P-ointer40H-ash5858E-ntry40I-nt324432S-tring4141.o H-ash5858E-ntry40I-nt324432S-tring41.o S-pec5858E-qualE--e4a134d518b296a844f612340a224683.o S-pec5858B-eA-E-xpectation40A-rray40F-loat644141.o S-pec5858B-eA-E-xpectation40A-rray40S-tring4141.o S-tring5858C-harI-terator.o S-pec5858E-qualE--0c919598d7dd79c9b007018e7d45b31f.o T-uple40I-nt323212432N-il4432I-nt323212432N-il41.o T-uple40N-il4432N-il41.o S-pec5858E-qualE--814e929acbca3ec66d52bc236f17f7d4.o T-uple40A-rray40I-nt32414432A-rray40I-nt324141.o S-pec5858B-eA-E-xpectation40A-rray40I-nt324141.o T-uple40I-nt324432B-ool4432B-ool4432I-nt3241.o S-pec5858B-eA-E-xpectation40A-rray40B-ool4141.o T-uple40I-nt32443-713d838aedc70a6a52eafc0b07b565fd.o S-et40T-41.o S-et40I-nt3241.o H-ash40I-nt324432N-il41.o P-ointer40H-ash5858E-ntry40I-nt324432N-il4141.o H-ash5858E-ntry40I-nt324432N-il41.o S-pec5858E-qualE-xpectation40F-loat6446class41.o S-pec5858E-qualE-xpectation40F-loat3246class41.o D-eque40A-rray40I-nt324141.o A-rray40F-loat3241.o P-ointer40F-loat3241.o E-numerable5858R-eflect40F-loat3241.o T-uple40T-uple40S-60ace0f762d1bb386b7e79152ef5a1f9.o S-pec5858B-eA-E-x-da3c73ecd1c44ba38efbad00d4fac239.o S-pec5858E-qualE--9ea84a505067a855ec7ea2e9f066d1b7.o T-uple40T-uple40I-1b371f3dbff1351eb5f528fd83e98254.o H-ash40C-har32124-650ef2f814b9fa6a72b548946e709870.o P-ointer40H-ash58-44ba0337782342a29b2a52d6174e878e.o H-ash5858E-ntry40-7e62754b900fc04da738914892a0b25e.o S-pec5858B-eA-E-x-acec5d3f16f05768d0132e166a163c09.o S-pec5858E-qualE--89cfb1e121f642095edde03828c66cbf.o H-ash40S-ymbol4432S-ymbol41.o P-ointer40H-ash5858E-ntry40S-ymbol4432S-ymbol4141.o H-ash5858E-ntry40S-ymbol4432S-ymbol41.o S-pec5858E-qualE--4d97a9276496d6de269ebbf828fb3c2c.o S-pec5858E-qualE--37ec6fbbb43af40a9263565c125d76fc.o S-pecC-ountU-pI-terator.o S-pec5858E-qualE--1a6f5ca5e7e9415a0114d56443befed8.o T-uple40I-nt324432I-nt324432I-nt3241.o A-rray40T-uple40I-b59db7831a8266501d5cceeecb22758d.o P-ointer40T-uple4-c7f066954f7ff49cea3f5ff36a59f379.o A-rray40T-uple40I-f09742cdb27f057fe45c211fee81561e.o P-ointer40T-uple4-17e3ed61161f0b37caedded65f1e1426.o S-pec5858E-qualE--acf2573e123a2f9e08b37bb9025367b9.o T-uple40I-nt32443-35b5a8823105bbdf5ba1788b1bbe931c.o T-uple40I-nt324432I-nt323212432N-il4432I-nt3241.o S-pec5858C-ontainE-xpectation40T-41.o S-pec5858C-ontainE-xpectation40S-tring41.o S-pec5858E-qualE--e5cea27905e54d4f0815970faf8bddf9.o S-pec5858E-qualE-xpectation40E-rrno41.o S-pec5858B-eE-xpectation40E-xception41.o 47home47buildozer-64680daa38e4500af5e1acbe03367950.o S-pec5858E-qualE--63b82ecb5dbdbb8f526c3c9a85397ca7.o S-pec5858E-qualE-xpectation40F-ile5858T-ype41.o S-pec5858C-loseE--175f5bb246afc2c1131e07ff1554b140.o S-pec5858E-qualE--d5b9b8824b0d433e5f002508bc753904.o L-ibC-5858S-tat.o L-ibC-5858T-imespec.o S-taticA-rray40I-nt644432341.o L-ibC-5858F-lockO-p.o S-pec5858E-qualE-xpectation40T-ime41.o T-uple40P-ath3212-203468c4c26abaea9c425ae898fbefe4.o A-rray40P-ath3212432S-tring41.o P-ointer40P-ath3212432S-tring41.o T-uple40P-ath3212-dc4cac91fabb73a326ca7d9a1cf163a1.o 47home47buildozer-adf7b01e091dfdb5127ed4c6765e5d00.o S-pec5858C-loseE--10ec82de73683acfa972232356e72624.o S-pec5858E-qualE--8cc5b865f9e4b5384eecd3b0a2023706.o H-ash40I-nt323212-6f2f81237202f68252c4381d91e28793.o P-ointer40H-ash58-26c524e7b2b4ac453aeab6c42a5254a9.o H-ash5858E-ntry40-1f9ae408cd051bb93a23d35607bc8a7e.o S-pec5858E-qualE-xpectation40A-rray40S-ymbol4141.o H-ash40H-ash40I-nt324432I-nt32414432I-nt3241.o P-ointer40H-ash58-515311c61a63528ca425ee8ac32c70d7.o H-ash5858E-ntry40-598026a1c9877e84d002060f08e4b628.o S-pec5858E-qualE--d6620b37e04fc04747d0e0463224c622.o H-ash40N-il4432N-il41.o P-ointer40H-ash5858E-ntry40N-il4432N-il4141.o H-ash5858E-ntry40N-il4432N-il41.o H-ash40A-rray40I--9627af0845d90b4a8a999bc340997534.o P-ointer40H-ash58-ab2fed0e9ecd341974b8681d23c5ce35.o H-ash40S-tring443-16f22543182158410dfd63485dfcd7b1.o P-ointer40H-ash58-feb3afde1faa08b67d99962e5b48e8ce.o H-ash5858E-ntry40-993c67029bb5eb58a2e13413be4df6e6.o H-ash5858E-ntry40-4baa380d324ab0ebab5acf7d77440e8d.o H-ash40A-rray40I--c21c11e9ee9219d4e019afff8c3af8f3.o P-ointer40H-ash58-b688313551985e9579a73716ef7ae4ec.o H-ash40S-tring4432H-ash40S-tring4432I-nt324141.o P-ointer40H-ash58-f0b3f8d876be33e939b01ea5b4794f16.o H-ash5858E-ntry40-e2b786251bc4ac12d4f3ca668805512d.o H-ash5858E-ntry40-1019f275bf380f4254e9424f8f33ecbc.o H-ash40A-rray40I--31e3388ad4029a82cf11667f188b814a.o P-ointer40H-ash58-958cdf3d240c6d6568d28f3af621c57c.o H-ash5858E-ntry40-434c3b370599047968f84993f939e66e.o H-ash40S-tring4432S-tring3212432N-il41.o P-ointer40H-ash58-1f9f88a0b4f900a345c2c6e7761b0ca8.o H-ash5858E-ntry40S-tring4432S-tring3212432N-il41.o S-pec5858E-qualE--6512f947f7fc7a04d2c5a297cc842e40.o H-ash40F-loat6432-6a3e4647b20f6481268f88800a75bb26.o P-ointer40H-ash58-4d7694ea9ca47c9f50b9c51f54d2f81a.o H-ash5858E-ntry40-887ee56dd30e7728f1aeee131e717918.o S-pec5858E-qualE--bec0aec86974dc6f2173c3c3932e861b.o T-uple40S-ymbol4432I-nt324432S-tring4432F-loat6441.o H-ash40R-ecursiveH-ash4432R-ecursiveH-ash41.o P-ointer40H-ash58-2694d8b68c7abd48d3bd7c0ef27109de.o H-ash5858E-ntry40-87e809d79f56f8fa796c7ae7eda2d5d2.o S-pec5858B-eE-xpe-a77309c6499fc6118160e5c614048b3b.o H-ash40I-nt324432A-rray40I-nt324141.o P-ointer40H-ash58-aa6f29d17876f5551305afc4e962674c.o H-ash5858E-ntry40I-nt324432A-rray40I-nt324141.o S-pec5858B-eE-xpe-ba47fb14a673fd3a7448c453de5b17bd.o S-pec5858E-qualE--55e5f3dc6a567405dbf98cf3002b949c.o S-pec5858B-eE-xpe-ad50d3e3690ff9fb8a12a4d640fe89b0.o H-ash40I-nt323212-0ec4d9b1756a8ea710eeb6d2f5772d83.o P-ointer40H-ash58-a3cf18ebaac71f50480a80f8cfeedc3d.o H-ash5858E-ntry40-7b4dd18be203cb5f255542cf23004520.o S-pec5858E-qualE--fa411da60c89b000692cedc062ae2fef.o H-ash40S-ymbol4432R-ecursiveT-ype41.o P-ointer40H-ash58-e9820d4e87882ee05cdf324a9adb16fa.o H-ash5858E-ntry40S-ymbol4432R-ecursiveT-ype41.o H-ash40S-ymbol4432S-tring41.o P-ointer40H-ash5858E-ntry40S-ymbol4432S-tring4141.o H-ash5858E-ntry40S-ymbol4432S-tring41.o H-ash40S-ymbol443-dbb8b28eac67a9713ec23a7231993275.o P-ointer40H-ash58-046a79456381eb46a12bdaefbb72a00d.o H-ash5858E-ntry40-5c1b6d10709239c09e1e3bb5a354eb2c.o S-pec5858E-qualE--31338cd48536789d4ddf6b82c1cd6cf2.o A-rray40R-ecursiveT-ype41.o P-ointer40R-ecursiveT-ype41.o H-ash40I-nt323212432S-tring4432S-tring41.o P-ointer40H-ash58-268bd0ee4b742f223137706a1cfd2d4f.o H-ash5858E-ntry40I-nt323212432S-tring4432S-tring41.o S-pec5858E-qualE--5c8b2eaab555796176e290af43dc76e0.o H-ash40I-nt324432I-nt323212432S-tring3212432N-il41.o P-ointer40H-ash58-966b439be58d196c7736e032c5f98dd9.o H-ash5858E-ntry40-cacbe87d2da4ebd54ba35bdf4b05f485.o S-pec5858B-eE-xpe-3ad18ea6905e3884ce55b48640f1472d.o H-ash40S-ymbol4432I-nt323212432N-il41.o P-ointer40H-ash58-c0e907186176ae1321d27038c9445bbd.o H-ash5858E-ntry40S-ymbol4432I-nt323212432N-il41.o S-pec5858B-eA-E-x-675d6db63bbfd62d5008a42a17730141.o S-pec5858B-eE-xpe-020d9b89f65362f96c3c7aeffc3878ff.o H-ash40I-nt324432S-ymbol41.o P-ointer40H-ash5858E-ntry40I-nt324432S-ymbol4141.o H-ash5858E-ntry40I-nt324432S-ymbol41.o S-pec5858E-qualE--d8df26dc60de02c4a4bad626210210a2.o S-pec5858B-eA-E-x-33760617d5f2c314cf37465c36043a6f.o S-pec5858B-eA-E-x-5b66a1362d35fb6eeb41a51c54edff43.o S-pec5858B-eA-E-x-09a51723d1ceff3ea73e2555c28460b6.o H-ash40K-4432V-41.o H-ash40I-nt324432C-har41.o P-ointer40H-ash5858E-ntry40I-nt324432C-har4141.o H-ash5858E-ntry40I-nt324432C-har41.o S-pec5858E-qualE--2e6a9a904a5cca8d3fd9a434edabce78.o H-ash40I-nt323212432N-il4432I-nt3241.o P-ointer40H-ash58-7cf7eb36d5e1e6a2428df9a22acb828a.o H-ash5858E-ntry40I-nt323212432N-il4432I-nt3241.o H-ash40I-nt324432I-nt323212432N-il41.o P-ointer40H-ash58-f280cf53275907dbab4357a8d3b66058.o H-ash5858E-ntry40I-nt324432I-nt323212432N-il41.o I-nt5858D-owntoI-terator40I-nt324432I-nt3241.o H-ash5858E-ntryI-terator40I-nt324432I-nt3241.o H-ash5858K-eyI-terator40I-nt324432I-nt3241.o H-ash5858V-alueI-terator40I-nt324432I-nt3241.o S-pec5858E-qualE--e1c6fbbae9c896302a2917a07dd332f3.o H-ash40H-ash40I-n-340e6384f3e828265ac9422761be1609.o P-ointer40H-ash58-0e8a35aed9320ac04901b4e3f23012af.o H-ash5858E-ntry40-11c77c44aee487ea4382261b40edd08c.o H-ash40I-nt324432H-ashB-reaker41.o P-ointer40H-ash58-2badd0edf24fdd1f04f275bb6212b3f4.o H-ash5858E-ntry40I-nt324432H-ashB-reaker41.o H-ashB-reaker.o H-ash40I-nt324432N-everI-nstantiated41.o P-ointer40H-ash58-1780def52ea2d7605dd60836a75d6e4d.o H-ash5858E-ntry40I-nt324432N-everI-nstantiated41.o N-everI-nstantiated.o A-rray40T-uple40S-ymbol4432I-nt324141.o P-ointer40T-uple40S-ymbol4432I-nt324141.o T-uple40S-ymbol4432I-nt3241.o S-pec5858E-qualE--b8f5eabff68ef2b4d0422466df50955b.o A-rray40T-uple40T-cf69cb07a29536d449918dbc415d8d37.o P-ointer40T-uple4-d78630f8a384f69157e321b59e65de9c.o H-ash5858E-ntryI-terator40S-ymbol4432I-nt3241.o A-rray40T-uple40S-ymbol4432S-ymbol4141.o P-ointer40T-uple40S-ymbol4432S-ymbol4141.o H-ash5858K-eyI-terator40S-ymbol4432I-nt3241.o H-ash5858V-alueI-terator40S-ymbol4432I-nt3241.o A-rray40T-uple40T-a8c8aab4b4b97787a5a2c4517597df97.o P-ointer40T-uple4-e3ed2be7aeddca93e32dc17630e42f48.o T-uple40T-uple40S-ymbol4432I-nt32414432I-nt3241.o S-pec5858E-qualE--85aac336ccc13fc459be9e7233a5cb88.o A-rray40T-uple40T-d94ce223f18cd07a1f5f1da3f7dcdd93.o P-ointer40T-uple4-678c51f8983c0a1d0fee732404762f33.o I-terator5858W-it-a1d3cfda9260208f92a0a0a107d2ceca.o A-rray40T-uple40T-4125040933f3f2dca4b06005b2438bb9.o P-ointer40T-uple4-e33627d1423d5f6984a6477d696f41d0.o T-uple40T-uple40S-ymbol4432I-nt32414432S-ymbol41.o S-pec5858E-qualE--bc2ea989885775b9f10047357f9f7289.o A-rray40T-uple40T-32fdaf7952aa2405e0116074db3befe1.o P-ointer40T-uple4-0a03d449a26585b97de2ca76e6defd4d.o I-terator5858W-it-e49da0c98691a7f7e038b02e86d61de3.o H-ash40S-ymbol4432C-har41.o P-ointer40H-ash5858E-ntry40S-ymbol4432C-har4141.o H-ash5858E-ntry40S-ymbol4432C-har41.o H-ash40C-har4432S-ymbol41.o P-ointer40H-ash5858E-ntry40C-har4432S-ymbol4141.o H-ash5858E-ntry40C-har4432S-ymbol41.o S-pec5858B-eE-xpe-07485a3ec257cafd30f6f6201e44a989.o S-pec5858E-qualE--e90f6c1570b0bfffbd87147a4c412034.o S-pec5858E-qualE-xpectation40S-ymbol41.o T-uple40S-ymbol4432S-ymbol41.o A-rray40I-nt1641.o P-ointer40I-nt1641.o H-ash40I-nt164432I-nt1641.o P-ointer40H-ash5858E-ntry40I-nt164432I-nt164141.o H-ash5858E-ntry40I-nt164432I-nt1641.o H-ash40A-rray40I-nt32414432I-nt3241.o P-ointer40H-ash58-648f757088d82194f688eeba751e4e74.o H-ash5858E-ntry40A-rray40I-nt32414432I-nt3241.o H-ashW-rapper40I-nt324432I-nt3241.o S-pec5858B-eE-mptyE-xpectation.o T-uple40C-har4432-0d3930b90af0e92a4dfd2d8ce1fb781f.o S-tring5858F-ormatter40T-uple40F-loat324141.o T-uple40F-loat3241.o I-nt5858B-inaryP-refixF-ormat.o I-nt.o S-afeI-ndexable.o S-pec5858E-qualE-xpectation40S-afeI-ndexable41.o S-afeS-tringI-ndexable.o S-afeM-ixedI-ndexable.o S-afeR-ecursiveI-ndexable.o A-rray40T-uple40I-nt324432S-tring4432I-nt324141.o P-ointer40T-uple40I-nt324432S-tring4432I-nt324141.o S-pec5858E-qualE--0a692f21fa0e892535078dffe365c621.o T-uple40I-nt324432S-tring4432I-nt3241.o S-afeN-estedI-ndexable.o A-rray40A-rray40C-a5ff79b085e84eedbe17676612e14fd1.o P-ointer40A-rray4-6daca47fb8ec2bdbc793a7be2e8cfc48.o T-uple40T-uple40I-eb110a733771f4636131ba758800c571.o T-uple40I-nt32321-e91d5ae63e60f55f44029fb394a747c5.o I-ndexable40C-har3212432I-nt323212432S-tring41.o S-pec5858B-eA-E-x-878e077c77c345d391e9ca9d4a12e1e6.o A-rray40A-rray40C-04031564608c35928099a8746339467d.o P-ointer40A-rray4-258fbcbb99026359158331e60472add4.o S-pec5858E-qualE--1182b90a10ba9d7ef9a7ae66e457929c.o I-terator5858S-ingleton40I-terator5858S-top41.o I-ndexable5858C-a-cda37cd2ba1ff700ff8e1672f71bdd40.o T-uple40S-afeI-nd-7d0fdec529ab57413661f08c067ef6c4.o I-ndexable5858C-a-b2a2812d9ffb09d7ae1405551d0f5a07.o T-uple40S-afeS-tr-937a21945097b881a2f027d3a9f8d6b8.o T-uple40S-tring4432S-tring4432I-nt3241.o S-pec5858E-qualE--701194bce6b4ada723beaeaeb3be96e8.o I-ndexable5858C-a-9164935ea7a5a925695e6ececfad2472.o I-ndexable5858P-e-641feb134dd4cf693bb855190111e491.o I-ndexable5858C-o-f4397c28b0c7a51f8176deaeae18d884.o I-ndexable5858R-e-de23dc8d4c28095abdd28cc247d82dd8.o I-N-I-.o H-ash40S-tring4432H-ash40S-tring4432S-tring4141.o P-ointer40H-ash58-29b4b6166c512529c3bd76e80f5c61e2.o H-ash5858E-ntry40-62007bf8fb439a44a7dae3146056081e.o S-pec5858E-qualE--df4141d2b8a3734605856cbaf7719fda.o H-ash40S-tring443-90eccac34523c122a8eb0ee8fbec3237.o P-ointer40H-ash58-5ab647b860c1f0afd8933d43a5db957d.o H-ash5858E-ntry40-599cea4c3b171070afd4ca591221b4e0.o H-ash40S-tring4432F-loat643212432I-nt3241.o P-ointer40H-ash58-5e149a5caf1e282c94eb4fd23e147ecd.o H-ash5858E-ntry40-596bd67c6505f133201a11ad8e01ff69.o B-igI-nt.o S-pec5858C-loseE-xpectation40I-nt324432F-loat6441.o S-tring5858T-oU-nsignedI-nfo40U-I-nt841.o S-tring5858T-oU-nsignedI-nfo40U-I-nt1641.o S-pec5858B-eA-E-xpectation40I-nt12841.o S-pec5858B-eA-E-xpectation40U-I-nt12841.o I-nt5858T-imesI-terator40I-nt3241.o A-rray40U-I-nt3241.o S-pec5858E-qualE-xpectation40A-rray40U-I-nt324141.o A-rray40T-uple40U-I-nt324432U-I-nt324141.o P-ointer40T-uple40U-I-nt324432U-I-nt324141.o I-nt5858T-imesI-terator40U-I-nt3241.o I-nt5858U-ptoI-terator40I-nt324432I-nt3241.o S-pec5858B-e40U-I-nt1641.o I-nt5858D-owntoI-terator40U-I-nt164432I-nt3241.o A-rray40U-I-nt1641.o S-pec5858E-qualE-xpectation40A-rray40U-I-nt164141.o I-nt5858D-owntoI-terator40U-I-nt164432U-I-nt1641.o A-rray40I-nt12832-848379c5c48daf21e029dd6d3729af2e.o P-ointer40I-nt128-f25ca3694cc76f1e49498c9fe3820212.o A-rray40U-I-nt128-94862519b183e0300e5082ba7c8e812f.o P-ointer40U-I-nt1-9f13b72f416911b7ee22979653520524.o A-rray40B-igI-nt41.o P-ointer40B-igI-nt41.o A-rray40I-nt12832-56fcab448bbf85625c99303fce44eec6.o P-ointer40I-nt128-0bb8521fab2c94fb7378cd0584df14cd.o S-pec5858E-qualE--3f4d84b5073a5f9b6d66e46748ec718f.o I-terator5858S-ingleton40I-nt3241.o I-terator5858F-ir-c62f9c33648d6dc864704e2e36ee74ea.o I-terator5858S-ingletonP-roc40I-nt3241.o I-terator5858F-ir-8321dd05874e6b69d7a3a415785ce733.o S-pec5858B-eA-E-xpectation40I-terator40I-nt324141.o P-roc4040I-nt323212432I-terator5858S-top4141.o P-roc40I-nt3241.o I-terator40I-nt3241.o I-terator5858A-cc-7d6047479f4bb6306e5e37f1adc46f9f.o I-terator5858A-cc-ca5d4a1b63c44402f72a718d7f2e7234.o T-uple40C-har4432C-har4432C-har41.o I-ndexable5858I-t-d4b63d97f240dd86bc7a71e2a73619d6.o I-terator5858A-cc-ca13e96dda88396d956fc70d80fde21e.o I-ndexable5858I-t-015a50b584a6cfa32cafcab950656e6e.o I-terator5858A-cc-c6b454d4307819b8bcb75aa768518ced.o I-terator5858C-om-d9b9ebd8fccbc3dba2a1cbd6c7478bd1.o I-terator5858C-ha-c3ec76a0ebe818571cce395f00e9a7d1.o I-ndexable5858I-t-b78cd716ec4b4a91b601a13af5fbad73.o I-terator5858M-ap-1839c908ba1d5a4abadbc0555523e142.o I-terator5858C-ha-cb45613096abb15b54bc06f9d6d2790e.o I-ndexable5858I-t-f37b545eee85b0598ac79e41cecbd7d5.o A-rray40I-ndexabl-b04e10ae7a6c0e7e53e8541f746bf19c.o P-ointer40I-ndexa-ad08d5feb8c3396db7083d7b5b39a28a.o A-rray40A-rray40F-9aef850827890fbd1ebabd6c12963023.o P-ointer40A-rray4-0833d8af3b89c4eb1d023734363a1072.o I-ndexable5858I-t-a18220aca2a14ffe9923a8d24870c7b6.o I-ndexable5858I-t-740d51ef603d9d60e521e2392f739a1d.o I-ndexable5858I-t-be23beac6b80200790e85a8e63ccce2d.o I-ndexable5858I-t-ede000a260aedd64d68053265f6cb674.o I-terator5858M-ap-a52a7012c40d6364f795f1be8019044f.o I-terator5858C-ha-4a2caab3494eb8d7511bc6e878d92300.o I-terator5858C-om-b98711fb1d2598ea265889f643c3b342.o I-terator5858C-on-0167e75f56a19d2da167f97fe66f3c2b.o I-terator5858C-on-7212b5b03615373fe226d837b0df8b6e.o I-terator5858C-on-5c35bebb7a78b142d885a276b500f853.o I-terator5858C-yc-b940917805ca853b6f7fdbd7845d08be.o I-terator5858C-yc-13a395f0211c53784f607e484235fbe6.o I-terator5858S-li-19d44515e203560f2415b3c927cf6180.o I-terator5858I-nG-1973c980b94f36ff7f2495f2a78855a5.o I-terator5858I-nG-6c7d0cf4aabf7a3fb5a23543e8b472a7.o I-terator5858I-nG-38bb0462ef1449f8921214a64e85abfc.o A-rray40A-rray40C-234bbf5187360c70da6633cf12726cc8.o P-ointer40A-rray4-abf55661e029549f41ece35de3b504d6.o S-pec5858E-qualE--dd71ea223d6e73b88b0ba0014025dfea.o S-pec5858B-eE-xpe-38a10bc6df0f0a0d645f9636f66c2c70.o I-terator5858M-ap-98677949e40c0ce760eedd85166cf425.o I-terator5858R-ej-240afc410fb425b402b5eb0df3a29992.o I-ndexable5858I-t-30a7c9e8e865fe62d49d9c40fce02f72.o I-terator5858S-el-1f095ff739207e803787649a9079fca8.o I-terator5858S-el-eb15ecfb6f2deef6be47f84e6f13b5e4.o I-ndexable5858I-t-d790d9d3874b1db14df776151aac1760.o I-terator5858S-el-e34e01582ea3496174c1f41fa3237161.o I-terator5858S-ki-0cd5d12947a2e418372e0283915ce04e.o I-terator5858S-ki-8fcc7e4fa804de5d36e64c8bec292c02.o I-terator5858S-ki-f8d656f735ea83b6485e58fcba77a5d0.o I-terator5858S-te-a25ed86357d29864fdb7df81b81cda43.o I-terator5858F-ir-e487163ecb7a11c4f5f29a805c498407.o I-terator5858T-ak-c1611815a54deec334d8a29c57cd6547.o I-terator5858T-ap-cc8f7e496ceaf69029b5f79f63780ea7.o I-terator5858U-ni-9b23bcdbf846f3cb8809b559c5f6ed45.o I-terator5858U-ni-aaeb84db88777f2daddcd928bd3f4fcc.o H-ash40S-tring4432B-ool41.o P-ointer40H-ash5858E-ntry40S-tring4432B-ool4141.o H-ash5858E-ntry40S-tring4432B-ool41.o I-terator5858W-it-357459b52204ca89287083b394da273d.o I-terator5858W-it-e9b5c86a831215bc28ab998373f3ea39.o I-terator5858Z-ip-bba9b8e6a5f4d6d968d12c854f712658.o R-ange40S-tring4432S-tring41.o R-ange5858I-temI-terator40S-tring4432S-tring41.o I-terator5858Z-ip-944cc1ac681d9270182733da11aab1e2.o S-pec5858E-qualE--13fba83f7823bbf10b78f83188987726.o T-uple40I-nt324432C-har4432S-tring41.o I-terator5858M-ap-36f5e9565e98dc00772486dc5b97cb75.o I-terator5858F-ir-2b6a9af5c06f8d77ea4b40c4f9b34496.o A-rray40H-ash5858-ef55e1d9480c166c20fc7d008bca228b.o P-ointer40H-ash58-b3a47a3830d69c57b73e98d7a5f48ade.o I-ndexable5858I-t-63135723d20c080f84711a9f4f8497ce.o I-terator5858F-la-95ce9400a6316268332e10e2f75b83f3.o A-rray40H-ash5858-6bd758f5a179352db7218c2ed34bcd46.o P-ointer40H-ash58-bcbb9543b505348e6c5254510cd7e417.o S-pec5858E-qualE--58ac7cb3ab2057ebc171258cd4bbf60c.o A-rray40C-har3212-fc52d8a842f8c11e14b066f8b0390eb6.o P-ointer40C-har32-52bdf5ff473c71ea1065d6f6feb38a76.o I-ndexable5858I-t-55f45548a5c71a7a89716b9b57e9bb90.o I-terator5858F-la-94f64ac246720cf3cf6b0fcc91b2d6e6.o A-rray40I-ndexabl-68602ce7b3d46181eeef9dd62fa5b499.o P-ointer40I-ndexa-f71359516ebae4bba74f3cbc4d5961db.o A-rray40I-ndexabl-170f785f92f7013aae22f331d0cb48d4.o P-ointer40I-ndexa-efbd631870fbe888ed8b8cf5cea2dbf0.o A-rray40I-ndexabl-2e2642ea4f97ec5e6c903e78d702d8aa.o P-ointer40I-ndexa-f6b3332a2b21ce63ae90fdf72f7127b8.o I-ndexable5858I-t-6229773fce4be25aa2bf20f1316e35a2.o I-ndexable5858I-t-5b9b4c6a83c989e73d4e5fe276990bcf.o I-terator5858F-la-46fc42451a238494954b90ddec4a61f6.o A-rray40I-ndexabl-dca562a259e1ae5b3f04e2d21ce0a098.o P-ointer40I-ndexa-f40b6ba7348917ab6ee66451faf2655c.o A-rray40A-rray40A-1d1e0fcb1f1cd534cf3ceff28244c741.o P-ointer40A-rray4-cf2f8f2b07f8dce1b55840b325b25f12.o A-rray40A-rray40A-b1c180d3e93c29a1b719604e02d991da.o P-ointer40A-rray4-397d4e1c499f2d350210e52a304dcbdf.o I-ndexable5858I-t-3b40991879c4f8677f5d6b8a8d79263a.o I-terator5858F-la-396c253cd98a3a0c8c1e12396260d7d7.o A-rray40I-ndexabl-62bb4b3378e453bcac875a04b67fe576.o P-ointer40I-ndexa-f29eb06e63b70c42b1b42fb0a6c4415b.o I-ndexable5858I-t-876475046fe120c4287f7147fffbd406.o I-ndexable5858I-t-0435ea6e948f3aa1ed013772c3109d15.o I-ndexable5858I-t-d180c80ead55a43634a75aff42c5c48a.o I-terator5858F-la-cbcd835f1a2aab5885085aef5dda7816.o A-rray40I-ndexabl-f067ac86b26d4586f5c436b6d921bb12.o P-ointer40I-ndexa-9b96a62c87ea1cd7dfb6726cd53efb22.o S-pec5858E-qualE-xpectation40A-rray40N-il4141.o I-terator5858F-la-3a806b43cf124acafa2135330c4cc271.o A-rray40A-rray40A-462669baf9f4f2be0bce0efe0d5d6b6c.o P-ointer40A-rray4-30f0a5ca5d8021d138ef156c125eac69.o A-rray40A-rray40A-c44900a6a0428f18b2882814da4b4251.o P-ointer40A-rray4-011ea24b9a982e873554142f3850ed1e.o A-rray40A-rray40A-rray40A-rray40S-tring41414141.o P-ointer40A-rray40A-rray40A-rray40S-tring41414141.o A-rray40A-rray40A-rray40S-tring414141.o P-ointer40A-rray40A-rray40S-tring414141.o A-rray40A-rray40S-tring4141.o P-ointer40A-rray40S-tring4141.o I-ndexable5858I-t-35101f30d9cb82308193b2d15e821c8c.o I-terator5858F-la-070a7e5311c04b70719618781b0ae875.o A-rray40I-ndexabl-7dd08ffa0bbaab4e85d47acfe5a3b0ff.o P-ointer40I-ndexa-2de9b4d6b636bbe9122253f7202f0abf.o I-ndexable5858I-t-4c312e4270c641abf21284e72484c37b.o I-ndexable5858I-t-98cad5b30d303f14b0ddd3b0b37fdac6.o I-ndexable5858I-t-2ef74cf886ce3a632fbf4f568565917f.o I-ndexable5858I-t-5c3c67a9f93398d9093674e1b8d46c37.o A-rray40A-rray40H-7ae105d44e3d185eebfcacebcdcb5081.o P-ointer40A-rray4-e366ba9e679d9beff305b91b820129f9.o A-rray40I-nt323212432T-uple40I-nt324432I-nt324141.o P-ointer40I-nt323-152d76c73bcb612037767943f7c53a15.o A-rray40H-ash40I-nt324432I-nt32413212432I-nt3241.o P-ointer40H-ash40I-nt324432I-nt32413212432I-nt3241.o I-ndexable5858I-t-6972f525ff43512123e13fff4d3621ca.o I-terator5858F-la-56f5b9ae20953aaef4cfde962d610428.o A-rray40I-ndexabl-e39bb287d8f7813c2b39e3c8ac227223.o P-ointer40I-ndexa-81ed0430d783f46bfeaef02f8a6a3df6.o I-ndexable5858I-t-f909c142fc7f62ba1dd115d6558bae06.o I-ndexable5858I-t-bff5db69ec758b3246017873115fb931.o S-tructI-ter.o I-terator5858M-ap-ac197077aa0be146951f370cfe25551e.o I-terator5858F-la-1201ad3ef7a294bec440fb487999789f.o A-rray40I-terator-378ea0cb8eb9e37fc71a42239244991f.o P-ointer40I-terat-315851e15d60988bdce5c1c9994492d0.o I-terator5858F-la-8d4a9e2fd4ce766adeea54f58b910198.o A-rray40I-ndexabl-a0753513eb3ba847cccc5578bad9b44d.o P-ointer40I-ndexa-cd438a9fd373a747f20708b6652f09af.o I-terator5858F-la-a3b134d5e597da6f5685d3f54b5d09cb.o I-terator5858F-la-8f25941ec7c9ff7bf3cd9c99d7382ae8.o I-terator5858F-la-8e92f34ab60d32645c7dad686aacf9fa.o I-terator5858F-la-597770473be3bb82de97c4ed239e55d9.o I-ndexable5858I-t-37e508a26cd150a030d45a842176b4d3.o I-terator5858F-la-ab4b4ae58124cb1dbe7ed3e23de871aa.o A-rray40I-ndexabl-60ba8316a3f6a426c832b8e69c76169f.o P-ointer40I-ndexa-017f847468cef3aa7eb26c0d3edffa7e.o I-terator5858S-li-068094a120368e812938ef6ea069c5be.o I-terator5858S-li-c3ed69eb3b3aa119b8b83b59f99695cf.o I-terator5858S-li-136857a4c29b7ddf83f59f48605b75c2.o S-pec5858B-eE-xpe-b1e3dd4584e20b01b5dcad75240a810d.o I-terator5858S-li-8b97f5c0cb4dd0ccc5a46aee950ec804.o I-terator5858S-li-4f30d8ba151f1381ced78d89838522a0.o I-terator5858S-li-5409a832346291fa79fcbf698f24aaa2.o I-terator5858S-li-16806e2ee22aa69ee7256e479f16c3a5.o I-terator5858S-li-5d93315d894e88a0ef6586e7768b9c37.o I-terator5858S-li-fd8020448664ecbeabcf6755f205d1ee.o L-evenshtein.o L-evenshtein5858F-inder.o L-evenshtein5858F-inder5858E-ntry.o H-ash40U-I-nt164432S-tring41.o P-ointer40H-ash5858E-ntry40U-I-nt164432S-tring4141.o H-ash5858E-ntry40U-I-nt164432S-tring41.o A-rray40S-tring3212432N-il41.o P-ointer40S-tring3212432N-il41.o S-pec5858E-qualE--bc9e75c5747aeb867f63dd15ba8872fa.o S-pec5858E-qualE--f1777ca970f10f9821d7bc7288115005.o S-pec5858E-qualE--1e99dad48052a5376ecbbbe3593667b9.o H-ash40I-nt323212-d57b846bf18014c9ef52593e2d1c2835.o P-ointer40H-ash58-43169712bc130dd4369836276d13af06.o H-ash5858E-ntry40-5e7c13e966eb638e62f786254414af0e.o S-pec5858E-qualE--6ea422542dfa1d8ca47fd12bfa47f379.o S-pec5858B-eT-ruthyE-xpectation.o S-pec5858E-qualE--2f2807212cbf6d92187fad85f680764c.o S-pec5858E-qualE--b36863c1d85096463c0ba3433e6dbed4.o T-uple40F-loat324432I-nt3241.o S-pec5858E-qualE--38425d33d3dcc053e17af3df971745fb.o T-uple40F-loat644432I-nt3241.o H-ash40S-tring4432S-et40S-tring4141.o P-ointer40H-ash58-f5be98ebb297cfcdb64b536a254d9069.o M-I-M-E-.o T-uple40C-har4432-5076d935c82cc22ad85a508790e91913.o H-ash5858E-ntry40S-tring4432S-et40S-tring4141.o C-rystal5858S-ystem5858M-I-M-E-.o S-pec5858E-qualE-xpectation40S-et40S-tring4141.o I-terator5858M-ap-2bb7fb9daf61085c41014013b7618ecb.o A-rray40F-iber41.o N-amedT-uple40T-41.o S-pec5858E-qualE--e87a90f65968631d170ecbac80043b6e.o N-amedT-uple40x5832I-nt324432y5832I-nt3241.o N-amedT-upleS-pecO-bj.o S-pec5858E-qualE--10bf58cbffc8c76ef1366dc13ab14858.o N-amedT-uple40z5832N-amedT-upleS-pecO-bj41.o N-amedT-uple40foo5832I-nt324432bar5832S-tring41.o S-pec5858E-qualE--1e275de3d0e2a034907dc44ce4dda53b.o N-amedT-uple4041.o S-pec5858E-qualE-xpectation40N-amedT-uple404141.o N-amedT-uple40foo-496fd2e5e6b7c655f18bd9cffd8757db.o S-pec5858E-qualE--5b3f55d1abbbd538d41ec37aee749b44.o N-amedT-uple40foo5832I-nt324432bar5832I-nt3241.o N-amedT-uple40foo-532f0b76d4ad85adc678915835b2296b.o S-pec5858E-qualE--a361ab70e75167e23c5647f788642a69.o S-pec5858E-qualE--e25940df5d5aae11d2492e265946ec2a.o N-amedT-uple4034f-c02216e43e256b39dc2d24e3cd429212.o N-amedT-uple4034f-30384ff171967283be102b60ec4113f1.o S-pec5858E-qualE--627113ee16696fc182edecd15621d730.o S-pec5858E-qualE--308c193eb210b905b2b80adc2c9df3ac.o H-ash40S-ymbol4432I-nt323212432S-tring41.o P-ointer40H-ash58-5fe66bd9a625d0fc95ab7b334ba3eaf7.o H-ash5858E-ntry40S-ymbol4432I-nt323212432S-tring41.o N-amedT-uple40a5832I-nt324432b5832C-har41.o S-pec5858E-qualE--a46b11dfb19d1d2851cae80b7a92e6cb.o 40C-har3212432I-nt323212432N-il41.o N-amedT-uple40a58-c682182be1b4dd984627fb2521880868.o N-amedT-uple40a5832S-tring41.o N-amedT-uple40b58-0ed8a90da6a241f5b02ec820210057fd.o N-amedT-uple40c5832A-rray40I-nt324141.o N-amedT-uple40a58-10e41bd5b76d7211d1e7852accff02e8.o N-amedT-uple40b5832N-amedT-uple40c5832I-nt324141.o N-amedT-uple40c5832I-nt3241.o N-amedT-uple40a58-2554e80da4e5f5d0df5336318ecbfdad.o N-amedT-uple40a5832S-tring4432c5832N-il41.o N-amedT-uple40b5832C-har4432a5832I-nt3241.o N-amedT-uple40a5832I-nt3241.o A-rray40T-uple40S-ymbol4432C-har3212432I-nt324141.o P-ointer40T-uple4-7332c40e2c143d00a30c10c82919f016.o S-pec5858E-qualE--0ec49a070846f820670de1ba6eed4f87.o T-uple40S-ymbol4432C-har3212432I-nt3241.o A-rray40T-uple40S-ymbol4432N-oR-eturn4141.o P-ointer40T-uple40S-ymbol4432N-oR-eturn4141.o T-uple40S-ymbol4432N-oR-eturn41.o S-pec5858B-eA-E-x-7ecbbaf19aa55ca18a03a906ba7c72b8.o S-pec5858E-qualE--fe5dd485c1e6a462a2cc8173cae13fbd.o S-pec5858E-qualE--3448ed08cd1bfd84e91c3dc50152da5e.o S-pec5858E-qualE--6c53c6478caf0f7de0763d6c65c83c2f.o N-amedT-uple40b5832C-har4432a5832F-loat6441.o S-pec5858E-qualE--49449359d30b969cbc5121deaaf9fe45.o N-amedT-uple40a5832I-nt324432c5832C-har41.o N-amedT-uple40a5832I-nt324432b5832S-tring41.o S-pec5858E-qualE--fc42504e6b4ef943f749d43717174c68.o H-ash40S-ymbol4432N-oR-eturn41.o P-ointer40H-ash58-4c8aa1cfc86abc7c5c064afa3d2a3b9c.o H-ash5858E-ntry40S-ymbol4432N-oR-eturn41.o S-pec5858B-eA-E-x-3e416bc4b96efabaa9e3cdf23fd93c91.o N-amedT-uple40a58-dca5e1b741544899fd3fe4a132ee9a38.o N-amedT-uple4034foo32bar345832I-nt3241.o S-pec5858E-qualE--0877bd538d01aa8428380bc749a43f52.o N-amedT-uple40a5832I-nt324432b5832I-nt3241.o S-pec5858E-qualE--31d8a2cf257d82497446329a67a4355c.o N-amedT-uple40foo-d8b391ae792eb008fe3eacc44aa4cd5e.o S-pec5858E-qualE--ee0b937d9b50f1c499b3599272b0fc21.o T-uple40S-ymbol4432S-ymbol4432S-ymbol41.o N-amedT-uple40one-282ba9c3b86863e44b1e4ffdd1a8900e.o N-amedT-uple40one-4a858df6664a3bb07ff4df5b0a107a5e.o N-amedT-uple40one-e2101454fbcb14d60d18041ec89b5fbc.o S-pec5858E-qualE--bb2e5266f751b878240ad949cb77271c.o N-amedT-uple40one-b031fbd722e3421b791d24bdc0a92a00.o N-amedT-uple40a58-86cd898ec300878113348eadffc1f2cc.o N-amedT-uple40a58-cf1939b8dd748185199edae99398dade.o S-pec5858E-qualE-xpectation40A-rray40I-nt644141.o S-lice40I-nt841.o S-pec5858B-eA-E-xpectation40S-lice40I-nt84141.o S-taticA-rray40I-nt84432341.o S-pec5858B-eA-E-x-d8a6a7a168594ce38ee37eaf04cc64d4.o S-teppable5858S-t-ac6a5f69aca47cae5ef8d55c8d563412.o A-rray40T-uple40F-loat644432F-loat644141.o P-ointer40T-uple40F-loat644432F-loat644141.o S-teppable5858S-t-6034b4d233ad5cfaf20a8d1324bcfddf.o S-teppable5858S-t-567dc6113b96ac47a1ed4275b7182ec4.o S-teppable5858S-t-b9936fc4d42a53b63e5830acd946ff1b.o S-pec5858E-qualE-xpectation40A-rray40U-I-nt84141.o A-rray40T-uple40U-I-nt84432U-I-nt84141.o P-ointer40T-uple40U-I-nt84432U-I-nt84141.o S-teppable5858S-t-decddaef788eb27a6d6a59bb469ab26b.o S-teppable5858S-t-4c8ac06bfc46b4a018f7877a4e90816e.o S-teppable5858S-t-7f8bd84c2876659514bd025d8c2dc5fe.o A-rray40T-uple40I-nt84432I-nt84141.o P-ointer40T-uple40I-nt84432I-nt84141.o S-teppable5858S-t-76948c989e81c0847d16a4e189d49830.o S-teppable5858S-t-cfc435a1fefa7dff8e472d394dba98e1.o S-teppable5858S-t-6f383d076e6c58353c0dfc382da8e10a.o R-ange40U-I-nt84432U-I-nt841.o R-ange5858I-temI-terator40U-I-nt84432U-I-nt841.o S-teppable5858S-t-08ce2037428c2a564e43aaaf88663566.o R-ange40I-nt84432I-nt841.o R-ange5858I-temI-terator40I-nt84432I-nt841.o R-ange40I-nt164432I-nt1641.o R-ange5858I-temI-terator40I-nt164432I-nt1641.o S-pec5858E-qualE-xpectation40A-rray40I-nt164141.o A-rray40T-uple40I-nt164432I-nt164141.o P-ointer40T-uple40I-nt164432I-nt164141.o S-teppable5858S-t-c37fdddcf67661176cdbd7ab3eb2831d.o H-ash40S-ymbol4432I-nt6441.o P-ointer40H-ash5858E-ntry40S-ymbol4432I-nt644141.o S-tringW-rapper.o T-estO-bject.o D-elegatedT-estO-bject.o S-pec5858E-qualE--7ca086b87df923a3c0ff888ba28fd53f.o S-pec5858E-qualE--22cdabe8d51a9f2a0603058dd328d320.o 40I-nt323212432N-il41.o S-pec5858E-qualE-xpectation40B-ool46class41.o S-pec5858E-qualE--f443aabc2a8f8444ffb7ee0a03059c1d.o 40B-ool3212432N-il41.o T-uple40U-I-nt84432U-I-nt84432U-I-nt84432U-I-nt841.o T-estO-bjectW-ithF-inalize.o S-tate.o H-ash5858E-ntry40S-ymbol4432I-nt6441.o H-ashedT-estO-bject.o D-efE-quals.o N-onR-eflexive.o 47home47buildozer-175ed62d45f44a3738fdceb9ba712460.o S-pec5858E-qualE--3993dd862f2f0265602ef932ed0494b8.o T-uple40A-rray40S-tring414432A-rray40S-tring4141.o A-rray40U-I-nt6441.o S-pec5858E-qualE-xpectation40P-ath41.o 47home47buildozer-e964adfb5df81f8fb3071a79e7a677aa.o S-pec5858E-qualE-xpectation40A-rray40P-ath4141.o P-ointer40T-41.o 47home47buildozer-5a99adbdb1046b40a5824f30684acd1a.o 47home47buildozer-f4e520585d29d62b234c56988fe0dfcb.o T-ree.o A-rray40T-ree41.o P-ointer40T-ree41.o T-uple40T-ree4432T-ree41.o T-uple40T-ree4432T-ree4432T-ree41.o P-roc40I-nt324432F-loat6441.o P-roc40I-nt324432I-nt3241.o S-pec5858E-qualE-xpectation40P-roc40I-nt324141.o P-roc40I-nt324432I-nt324432I-nt324432I-nt3241.o P-roc40I-nt324432I-nt324432I-nt3241.o P-roc40S-tring4432C-har443240I-nt323212432N-il4141.o 47home47buildozer-aafcc7ef0b5f232288c90dd27ddd7198.o S-pec5858M-atchE-xpectation40T-41.o S-pec5858M-atchE-xpectation40R-egex41.o S-pec5858B-eA-E-xpectation40S-tring3212432N-il41.o V-oid.o S-pec5858E-qualE--671804bdea7659c72a6b3d1b50b651fc.o S-pec5858E-qualE-xpectation40B-igI-nt41.o S-pec5858B-e40B-igI-nt41.o S-pec5858B-e40F-loat6441.o A-rray40R-ange40I-8f0520a2b029282895a485e581067dcb.o P-ointer40R-ange4-9c46e8ce7d44b258589eb8ed74ea1463.o R-ange40I-nt644432I-nt6441.o S-pec5858B-e40I-n-8a0352606560ada73758caad7f2ad6f8.o A-rray40R-ange40I-4836110c381b5dafced948009f19a722.o P-ointer40R-ange4-63d61f2e8f45fa5115bc8e611689efb5.o S-pec5858B-e40I-n-1e1bc41045938c673c57dd7f3894f402.o A-rray40R-ange40B-igI-nt4432B-igI-nt4141.o P-ointer40R-ange40B-igI-nt4432B-igI-nt4141.o R-ange40B-igI-nt4432B-igI-nt41.o R-ange40F-loat324432F-loat3241.o S-pec5858B-e40F-loat3241.o A-rray40T-uple40F-292781d84bb501edd4e487f945e2c451.o P-ointer40T-uple4-174a63e3722ecf41bc735416687a0ba8.o S-pec5858E-qualE--8da10cf0e2d1e0b292530b239dc23239.o T-uple40F-loat644432U-I-nt644432I-nt324432I-nt841.o S-pec5858B-eA-E-xpectation40B-ool41.o T-estR-N-G-40T-41.o T-estR-N-G-40U-I-nt841.o T-estR-N-G-40U-I-nt3241.o T-estR-N-G-40U-I-nt6441.o R-ange40U-I-nt164432U-I-nt1641.o S-pec5858E-qualE-xpectation40I-nt846class41.o S-pec5858E-qualE-xpectation40U-I-nt846class41.o S-pec5858E-qualE-xpectation40I-nt1646class41.o S-pec5858E-qualE-xpectation40U-I-nt1646class41.o S-pec5858E-qualE-xpectation40U-I-nt3246class41.o S-pec5858E-qualE-xpectation40I-nt6446class41.o S-pec5858E-qualE-xpectation40U-I-nt6446class41.o S-pec5858E-qualE--28875cc229f721fd1c6b416c194cc1aa.o S-taticA-rray40I-nt84432441.o S-pec5858E-qualE--25b3bd8a747d6edbac47e49319e30564.o S-pec5858E-qualE--991326608cf98442196959f103146aa9.o S-taticA-rray40I-nt164432441.o S-pec5858E-qualE--9317d1a96846a9caac1142018e06c645.o S-taticA-rray40U-I-nt164432441.o S-pec5858E-qualE--9b4e8de67090a73391defe3ea7aff065.o S-taticA-rray40I-nt324432441.o S-pec5858E-qualE--6e3e70638f4b378ac7cb27d5098a03d0.o S-taticA-rray40U-I-nt844323241.o S-pec5858E-qualE--53bfaedb297065b94663e824964b1b2e.o S-taticA-rray40I-nt644432441.o S-pec5858E-qualE--c7db39450c0dd1c4e8e5447d00a4ba67.o S-taticA-rray40U-I-nt644432441.o S-pec5858E-qualE--edc1330d78510ccfda1846ecc583e703.o R-ange40I-nt323212432N-il4432I-nt323212432N-il41.o S-pec5858E-qualE--8a79a9b7cdbabb006ae92a91d68a146a.o E-numerable5858R-eflect40B-igI-nt41.o S-teppable5858S-t-cc6f68922edf163e0305a2c983c4aaa2.o R-angeS-pecI-ntW-rapper.o R-ange40R-angeS-p-9f487612d0eb1fd2917add2e5f847d77.o E-numerable5858R-eflect40R-angeS-pecI-ntW-rapper41.o S-pec5858E-qualE--86cabcdd11294ffcf517578ab8be1950.o R-ange5858S-tepI--6aa0042457a8f6165dd6726588f9984b.o R-ange40U-I-nt324432U-I-nt3241.o 47home47buildozer-ab8286ad79cc32de626a1b4437324f96.o R-ange40F-loat644432I-nt3241.o R-ange40I-nt324432F-loat6441.o S-pec5858C-loseE--a79c1afebaed6abdea2ae29d87ce7b81.o R-ange40F-loat324432F-loat6441.o R-ange40I-nt324432F-loat3241.o R-ange40F-loat644432F-loat3241.o R-ange40I-nt323212432N-il4432I-nt3241.o R-ange40I-nt324432I-nt323212432N-il41.o R-ange5858I-temI-terator40I-nt324432N-il41.o R-ange5858I-temI--86a41686517d1afb0ed4891a78718778.o I-terator5858F-ir-c282acbcd1382c85ee5e072514adca9f.o R-ange5858R-everseI-terator40B-4432E-41.o R-ange5858R-everseI-terator40I-nt324432I-nt3241.o R-ange5858R-everseI-terator40N-il4432I-nt3241.o I-terator5858C-yc-05d3f6e72d277d9e900713134f02d86b.o I-terator5858F-ir-b23d1e6231553e50d246f8169cc01b64.o R-ange5858R-evers-9d429ab4d7ce0f014d66055476009215.o R-ange40F-loat643-662ee133436f6a288db1792761c21486.o R-ange40T-ime5858S-pan4432T-ime5858S-pan41.o S-pec5858E-qualE--57a9f73ab58e33d3772aaa089fccea9a.o A-rray40T-uple40T-a92be55b9ca49263b05c167eb0f4aa7f.o P-ointer40T-uple4-ee83458ab1b737f940329c08a81a695e.o S-teppable5858S-t-008754d6637f50e2feef05d5839f2ee3.o A-rray40R-angeS-pecI-ntW-rapper41.o P-ointer40R-angeS-pecI-ntW-rapper41.o S-pec5858E-qualE--ded842dd092183b4b6916286695405d2.o A-rray40T-uple40R-278c28ffdbf6d0c54f12b1757827b4ae.o P-ointer40T-uple4-8a5cd2ba371a1051cb352d578cb3643a.o R-ange40A-rray40I-nt32414432A-rray40I-nt324141.o S-pec5858E-qualE--5b21b2e05d18cab0d79db27581b2f932.o R-ecordS-pec5858R-ecord1.o R-ecordS-pec5858R-ecord2.o R-ecordS-pec5858R-ecord3.o S-ub.o C-ustomI-nitializer.o R-eference.o R-eferenceS-pec5858T-estC-lass.o A-rray40R-eferenc-de7bfd59e0babfd3b686ff962dd688cf.o P-ointer40R-efere-df81a05692a707dc18e6518a658d6a41.o R-eferenceS-pec5858T-estC-lassB-ase43.o R-eferenceS-pec5858T-estC-lassS-ubclass.o R-eferenceS-pec5858D-upC-loneC-lass.o S-pec5858B-eE-xpe-c74419e226b94adf0fee8c9fb4925fd1.o R-eferenceS-pec5858C-oncrete.o R-eferenceS-pec5858A-bstract43.o S-pec5858B-eA-E-x-dbd3189679a31286d5a444dae50c058a.o S-pec5858B-eE-xpe-09bb73a8b1ec9a54a691aad1d1a3b4e2.o R-eferenceS-pec5858D-upC-loneR-ecursiveC-lass.o S-pec5858B-eE-xpe-0740e816d4bf3cefa1c2a39098dc797b.o R-eferenceS-pec5858T-estC-lassB-ase.o R-eferenceS-pec5858T-estC-lassW-ithF-inalize.o S-pec5858E-qualE-xpectation40R-egex41.o S-pec5858B-eF-alseyE-xpectation.o T-uple40C-har4432-8aed63e18eef61e7f412a4eab2826c56.o A-rray40R-egex41.o P-ointer40R-egex41.o S-pec5858B-eE-xpectation40R-egex41.o A-rray40S-emanticV-ersion41.o P-ointer40S-emanticV-ersion41.o S-emanticV-ersion.o S-emanticV-ersion5858P-rerelease.o S-pec5858B-e40S-emanticV-ersion41.o A-rray40S-emanticV-ersion5858P-rerelease41.o P-ointer40S-emanticV-ersion5858P-rerelease41.o S-pec5858B-e40S-emanticV-ersion5858P-rerelease41.o S-et40N-il41.o S-et40C-har3212432I-nt323212432S-tring41.o H-ash40C-har3212432I-nt323212432S-tring4432N-il41.o P-ointer40H-ash58-ca5a067c8c4498a3f249613d7e3344e9.o H-ash5858E-ntry40-60231780739254224b0ae39c62bf6eb3.o S-pec5858B-eE-xpectation40S-et40I-nt324141.o S-et40A-rray40I-nt324141.o H-ash40A-rray40I-nt32414432N-il41.o P-ointer40H-ash58-2a0c845a651e512d86fffcc2485598de.o H-ash5858E-ntry40A-rray40I-nt32414432N-il41.o S-pec5858E-qualE--18afd1fee5544c46d267c3d978b35d69.o S-pec5858B-eE-xpe-f8e49b8b0b5403a3b09ecc02fd2e6d57.o S-pec5858E-qualE-xpectation40S-et40I-nt324141.o S-et40I-nt323212432S-tring41.o H-ash40I-nt323212432S-tring4432N-il41.o P-ointer40H-ash58-e946a1721cef9d87d0994dcb2b47d88e.o H-ash5858E-ntry40I-nt323212432S-tring4432N-il41.o S-pec5858E-qualE--a2b42ac19abc930ee4d5b22e2fd28e92.o S-et40C-har3212432I-nt3241.o H-ash40C-har3212432I-nt324432N-il41.o P-ointer40H-ash58-41d07dbc29ae5047bbbf176db0f68fab.o H-ash5858E-ntry40C-har3212432I-nt324432N-il41.o S-pec5858E-qualE--de4298a58a2ae8455eb26950c8d03301.o H-ash40S-et40I-nt32414432I-nt3241.o P-ointer40H-ash58-e31023d0d1cdb38557ab2f5482037a12.o H-ash5858E-ntry40S-et40I-nt32414432I-nt3241.o S-pec5858E-qualE--5e30de2feba44979147994e80148517e.o H-ash5858K-eyI-terator40I-nt324432N-il41.o C-hannel40P-rocess41.o C-rystal5858P-oin-b9204fbbe9ed964928aad3d00a0fccea.o P-ointer40C-hannel5858S-ender40P-rocess4141.o C-rystal5858P-oin-91dac1d2a350d3ca0911d9eb2f56fb3f.o P-ointer40C-hannel5858R-eceiver40P-rocess4141.o D-eque40P-rocess41.o P-ointer40P-rocess41.o C-hannel5858R-eceiver40P-rocess41.o C-hannel5858S-ender40P-rocess41.o C-hannel5858S-electC-ontext40P-rocess41.o S-pec5858E-qualE-xpectation40S-lice40I-nt324141.o S-pec5858E-qualE-xpectation40S-lice40F-loat644141.o S-pec5858E-qualE-xpectation40S-lice40C-har4141.o I-ndexable5858I-t-db988f53a430395a64faceb43dc319b8.o I-ndexable5858R-e-dbf4facdd32e1b59b1af52f0d2d275b4.o I-ndexable5858I-ndexI-terator40S-lice40I-nt324141.o S-pec5858E-qualE-xpectation40S-lice40S-tring4141.o S-lice40C-har3212432I-nt323212432S-tring41.o S-pec5858B-eA-E-x-a8d78471ef1cf1401859a169e4ae4594.o 40C-har3212432I-nt323212432S-tring41.o S-pec5858B-eA-E-xpectation40S-lice40U-I-nt84141.o 47home47buildozer-a181d73cc68b1cf4b68916762c5d69c5.o S-lice40U-I-nt6441.o S-lice40A-rray40S-tring4141.o S-pec5858E-qualE--1046a5d05186b6dd967bc2fd4fb4e43e.o S-pec5858E-qualE--a8fa9a45126efd70bbd314ba8f7c22fa.o N-ilM-imicker.o S-pec5858C-ontainE-xpectation40I-nt3241.o S-taticA-rray40I-nt324432341.o S-taticA-rray40I-nt324432041.o S-pec5858E-qualE--e1e673b2b41b1dff31928398513e754d.o S-taticA-rray40I-nt324432141.o S-pec5858E-qualE--294c52dcc336233f998c03a36452775c.o S-pec5858E-qualE--ac4eeba4ce7e2f52035f0edaccfa6b03.o S-pec5858E-qualE--b7eb2e9d3c9ebf1803e781624a93578c.o S-pec5858E-qualE--0f3f97f14bc70988ef18672a07e37cb6.o S-taticA-rray40I-nt3244321041.o S-pec5858B-eA-E-x-c44bcd42cdfe21e70962f80741dc1385.o S-taticA-rray40I-nt3244325041.o S-pec5858E-qualE--90b47016a7691a0b438ad1c80c27e225.o S-taticA-rray40A-rray40I-nt32414432141.o I-ndexable5858I-t-0156aca656aec9ce594b6aa595fd1213.o I-ndexable5858R-e-3714c308545e90a7ece51ba3f1fc2ebf.o I-ndexable5858I-n-88f0c45a06666ce1061d56792788fe61.o S-tringP-ool.o S-tringS-canner.o S-pec5858B-eA-E-xpectation40C-har41.o S-tring5858T-oU-nsignedI-nfo40U-I-nt12841.o S-pec5858E-qualE-xpectation40I-nt12841.o S-pec5858E-qualE-xpectation40U-I-nt12841.o H-ash40C-har4432C-har41.o P-ointer40H-ash5858E-ntry40C-har4432C-har4141.o H-ash5858E-ntry40C-har4432C-har41.o N-amedT-uple40he5832S-tring4432l5832S-tring41.o N-amedT-uple40l5832S-tring41.o H-ash40C-har4432C-har3212432S-tring41.o P-ointer40H-ash58-d8a32cb5757d1b8c6cf2ce117096f0c5.o H-ash5858E-ntry40C-har4432C-har3212432S-tring41.o N-amedT-uple40e5832C-har4432l5832C-har41.o S-tring5858F-ormatter40T-uple40I-nt324141.o S-tring5858F-ormatter40T-uple40C-har4141.o S-tring5858F-ormatter40A-rray40I-nt324141.o S-tring5858F-ormatter40T-uple40S-tring4141.o S-tring5858F-orma-4001c6e44659c25ce846fb009f1f3566.o S-tring5858F-ormatter40T-uple40T-ime5858S-pan4141.o T-uple40T-ime5858S-pan41.o S-tring5858F-orma-02eef5e6e2981f50c200f6e1103ec31a.o A-rray40F-loat323212432I-nt3241.o P-ointer40F-loat323212432I-nt3241.o S-tring5858F-orma-45b7c9d41ac2bb6826aa63e98882f4cf.o A-rray40F-loat323212432S-tring41.o P-ointer40F-loat323212432S-tring41.o S-tring5858F-orma-92f0926da1742f34f7d3d6421bf93461.o S-taticA-rray40I-nt32443225641.o A-rray40R-egex5858M-atchD-ata41.o P-ointer40R-egex5858M-atchD-ata41.o A-rray40T-uple40S-tring4432S-tring4141.o P-ointer40T-uple40S-tring4432S-tring4141.o S-pec5858E-qualE--d2832d8db6c53a8b73e5eb5386c130a6.o S-tring5858F-orma-b19921559bfaae4b8b8df7bd1c27f096.o T-uple40F-loat644-5d99d5b5c115c481106fe5a9d8ebbaea.o S-tring5858F-ormatter40T-uple404141.o A-rray40T-uple40C-har4432I-nt324141.o P-ointer40T-uple40C-har4432I-nt324141.o S-pec5858E-qualE--70efe69ffe50c134121c8e9fd59a954e.o T-uple40C-har4432I-nt3241.o I-ndexable5858I-t-7e64da7e6f997fd694a4831e134f23d4.o S-tring5858L-ineI-terator.o I-terator5858M-ap-5edabb0550d4e8427a3d291c3ed2fc7e.o S-tring5858F-orma-95a1283caaa0df6ddb741bebaa9f4701.o T-uple40H-ash40S-tring4432S-tring4141.o S-tring5858F-orma-562b40953ffd04470377f2a8c2dc264b.o T-uple40N-amedT-uple40this5832S-tring4141.o N-amedT-uple40this5832S-tring41.o S-tring5858F-orma-d302bb7015f78cd4c0e1ec330f345eb4.o T-uple40N-amedT-u-c7bdaa96d85240d58312e55b9b5cf1d3.o N-amedT-uple40this5832S-tring4432more5832S-tring41.o S-tring5858F-orma-d734a90846da4e24cd02c1d1349ebf7d.o T-uple40N-amedT-uple40that5832S-tring4141.o N-amedT-uple40that5832S-tring41.o S-tring5858F-orma-085b5dc881ab7de10ca237a67e98084f.o T-uple40H-ash40S-tring4432I-nt324141.o H-ash40S-tring4432F-loat6441.o P-ointer40H-ash5858E-ntry40S-tring4432F-loat644141.o H-ash5858E-ntry40S-tring4432F-loat6441.o S-tring5858F-orma-d26233462d11ec2bbb91298642335fcf.o T-uple40H-ash40S-tring4432F-loat644141.o S-tring5858F-orma-959486422997d82e4b2df36180c33548.o T-uple40N-amedT-uple40this5832F-loat644141.o N-amedT-uple40this5832F-loat6441.o S-tructS-pec5858T-estC-lass.o S-pec5858E-qualE--b7797bf6f39598d2ddb958c03ac06a95.o S-tructS-pec5858B-igI-ntW-rapper.o S-tructS-pec5858D-upC-loneS-truct.o S-tructS-pec5858F-ooS-truct.o S-tructS-pec5858B-arS-truct.o S-et40S-tructS-pec5858G-eneralS-truct41.o H-ash40S-tructS-pec5858G-eneralS-truct4432N-il41.o P-ointer40H-ash58-afc75f9e0aa5feae0f7318eb40ea300d.o H-ash5858E-ntry40-de4ef889bda90704032379c27dd4c9bc.o S-tructS-pec5858G-eneralS-truct43.o S-lice40S-ymbol41.o S-ystemE-rror.o S-pec5858E-qualE-xpectation40T-uple40I-nt324141.o S-lice40T-uple40I-nt324432I-nt324141.o A-rray40T-uple40I-faa2dcef2f3669a9a714e1b2680f550f.o P-ointer40T-uple4-4df56f10efebe8ff3a08fe366856c8f2.o S-lice40T-uple40I-98088ad1c903a0cd01827209c6546573.o S-pec5858E-qualE--f85857be8c9d650ec77b90e9391726c0.o T-upleS-pecO-bj.o S-pec5858B-eE-xpectation40T-upleS-pecO-bj41.o T-uple40T-upleS-pecO-bj4432T-upleS-pecO-bj41.o S-pec5858E-qualE--0b542ab3b552cb76ed48750765cc8348.o T-uple40A-rray40I-nt324141.o S-pec5858E-qualE--0e9fd5c4cceb8e5eba124aa3fd5327bd.o T-uple40T-upleS-pecO-bj41.o S-pec5858E-qualE-xpectation40T-uple404141.o T-uple40I-nt32321-99da68e5ae270f275c0fbd85c824f2c9.o S-pec5858E-qualE--779456368e9367f83b675170ad9bb70d.o T-uple40I-nt3246class4432F-loat6446class41.o S-pec5858E-qualE--d72a9c73a8ebddc9d276fc7a7215dad6.o S-pec5858E-qualE--45e5b56efe7bb6794d213f09049f7f29.o T-uple40I-nt3246class41.o T-uple40I-nt3246class4432S-tring46class41.o T-uple40I-nt324432F-loat644432S-tring4432C-har41.o S-pec5858E-qualE--927f3096cb4a38b7ebd02cfcb68ed620.o T-uple40C-har4432S-tring4432F-loat644432I-nt3241.o I-ndexable5858R-e-a0ddd9c24da93c6703768ed5e8e9d249.o T-uple40I-nt324432F-loat644432S-tring41.o T-uple40I-nt3246c-56e3a37cf395128b071aff32bafe9a0f.o T-uple40R-egex4432S-tring41.o T-uple40I-nt324432C-har4432B-ool41.o A-rray40B-ool3212432C-har3212432I-nt3241.o P-ointer40B-ool3212432C-har3212432I-nt3241.o S-pec5858E-qualE--dda57956b80a715334b8c4d08b15c052.o 47home47buildozer-2ac4c93add53acaa4fcae8ec9b37c072.o U-R-I-.o U-R-I-5858P-arser.o S-pec5858E-qualE-xpectation40U-R-I-41.o T-uple40C-har4432C-har4432C-har4432C-har41.o U-R-I-5858P-arams.o U-R-I-5858P-arams5858B-uilder.o S-pec5858B-eA-E-xpectation40U-R-I-5858P-arams41.o S-pec5858E-qualE-xpectation40U-R-I-5858P-arams41.o T-uple40C-har4432-8c2795450e585f5932e3409ab206bbc7.o S-et40C-har41.o H-ash40C-har4432N-il41.o P-ointer40H-ash5858E-ntry40C-har4432N-il4141.o H-ash5858E-ntry40C-har4432N-il41.o J-S-O-N-5858P-ullP-arser.o J-S-O-N-5858L-exer.o J-S-O-N-5858L-exer5858S-tringB-ased.o J-S-O-N-5858T-oken.o A-rray40J-S-O-N-5-2af91d4d9e0b0bd8e0d3d7f3b6188e2e.o P-ointer40J-S-O-N-b34df55bcdd3029f2564c0b008341953.o J-S-O-N-5858L-exer43.o J-S-O-N-5858L-exer5858I-O-B-ased.o N-oP-eekI-O-.o O-neB-yO-neI-O-.o T-uple40U-I-nt644432U-I-nt6441.o S-taticA-rray40U-I-nt844321041.o T-uple40U-I-nt84432I-nt324432I-nt3241.o T-uple40N-il4432U-I-nt841.o H-ash5858E-ntry40-6cdc1dbc4d0144c7acda0795671bf054.o J-S-O-N-5858T-oken5858K-ind.o J-S-O-N-5858P-ullP-arser5858K-ind.o J-S-O-N-5858P-ullP-arser5858O-bjectS-tackK-ind.o J-S-O-N-5858B-uilder.o A-rray40J-S-O-N-5-c2d4f74c646ffbf3dd93f427b57d313d.o P-ointer40J-S-O-N-83d21aa30ccddf0b224a036af4e15add.o J-S-O-N-5858B-uilder5858S-tartS-tate.o J-S-O-N-5858B-uilder5858D-ocumentS-tartS-tate.o J-S-O-N-5858B-uilder5858D-ocumentE-ndS-tate.o J-S-O-N-5858B-uilder5858A-rrayS-tate.o J-S-O-N-5858B-uilder5858O-bjectS-tate.o Y-A-M-L-5858P-arseC-ontext.o H-ash40S-tring4432T-uple40U-I-nt644432I-nt324141.o P-ointer40H-ash58-47bc4cfacf1a9911f9a4b03dfddf0955.o 47home47buildozer-3919627530414b6663d0d8bab86b33f2.o Y-A-M-L-5858N-odes.o Y-A-M-L-5858N-odes5858P-arser.o Y-A-M-L-5858P-ullP-arser.o L-ibY-A-M-L-5858E-vent.o Y-A-M-L-5858E-ventK-ind.o H-ash40S-tring4432Y-A-M-L-5858N-odes5858N-ode41.o P-ointer40H-ash58-4e88072e0b24c360597eb8125730e17a.o Y-A-M-L-5858N-odes5858D-ocument.o A-rray40Y-A-M-L-5858N-odes5858N-ode41.o P-ointer40Y-A-M-L-5858N-odes5858N-ode41.o Y-A-M-L-5858N-odes5858S-calar.o H-ash5858E-ntry40-02c3c7bdd5c1a5b513d71228a3753ecf.o Y-A-M-L-5858N-odes5858A-lias.o Y-A-M-L-5858N-odes5858S-equence.o Y-A-M-L-5858N-odes5858M-apping.o H-ash5858E-ntry40-2880c13314a7d673c7d01038ec0df31b.o Y-A-M-L-5858N-odes5858N-ode43.o Y-A-M-L-5858N-odes5858B-uilder.o H-ash40U-I-nt644432Y-A-M-L-5858N-odes5858N-ode41.o P-ointer40H-ash58-fba0877bd9d9206ab56c3a0d9ffc11ec.o Y-A-M-L-5858B-uilder.o B-ox40I-O-41.o U-U-I-D-.o S-pec5858E-qualE-xpectation40U-U-I-D-41.o S-taticA-rray40U-I-nt844323641.o U-U-I-D-5858V-ariant.o U-U-I-D-5858V-ersion.o S-pec5858E-qualE--e537ef94446ae5af463c17c4c24c4ac4.o S-pec5858E-qualE--bcdcce815f34ecf818da0af1cf2c9e7b.o S-pec5858E-qualE--3d25d8e386ee604f96e7d20baa0cbb2f.o V-aL-ist.o F-oo.o W-eakR-ef40T-41.o W-eakR-ef40F-oo41.o S-pec5858B-eE-xpectation40F-oo41.o W-eakR-ef40S-tring41.o A-rray40F-oo41.o P-ointer40F-oo41.o A-rray40W-eakR-ef40F-oo4141.o P-ointer40W-eakR-ef40F-oo4141.o B-igD-ecimal.o S-pec5858E-qualE-xpectation40B-igD-ecimal41.o B-igR-ational.o S-pec5858B-eA-E-xpectation40B-igD-ecimal41.o B-igF-loat.o S-pec5858E-qualE-xpectation40B-igR-ational41.o H-ash40B-igD-ecimal4432S-tring41.o P-ointer40H-ash58-cd312f65dae250f52a889cfee9ba6696.o H-ash5858E-ntry40B-igD-ecimal4432S-tring41.o S-pec5858E-qualE-xpectation40B-igF-loat41.o T-uple40B-igF-loat4432I-nt6441.o A-rray40B-igI-nt3212432I-nt323212432U-I-nt841.o P-ointer40B-igI-nt3212432I-nt323212432U-I-nt841.o S-lice40B-igI-nt3212432I-nt323212432U-I-nt841.o A-rray40B-igI-nt3212432F-loat6441.o P-ointer40B-igI-nt3212432F-loat6441.o S-lice40B-igI-nt3212432F-loat6441.o S-pec5858E-qualE--919ed4e415f122ad055fc83feb01e7bd.o T-uple40B-igI-nt4432B-igI-nt41.o S-pec5858C-loseE--3a6c19a09b22764a0a2a026f9bc30653.o S-pec5858B-eA-E-xpectation40B-igI-nt41.o 47home47buildozer-b81ae187cbec48e3d58ac111dff378db.o S-pec5858B-eA-E-x-2d908d3e4146739855f87d304dd7c166.o 40U-I-nt128321243-92ffd5cb6c801276459b4ad850ad3cb2.o S-pec5858E-qualE-xpectation40A-rray40B-igI-nt4141.o 47home47buildozer-7a46e86136f64327cef8ef507874aa25.o A-rray40B-igR-ational41.o P-ointer40B-igR-ational41.o S-pec5858E-qualE-xpectation40I-nt323212432N-il41.o S-pec5858B-eA-E-xpectation40B-igR-ational41.o S-pec5858B-eA-E-xpectation40B-igF-loat41.o 47home47buildozer-20456a975307d00f0db017fde4580527.o 47home47buildozer-1a3a2eda036698d1ec084610bd7bd5ed.o 47home47buildozer-859493dec7eecfde5a7e997467f181d8.o C-ompress5858G-zip.o C-ompress5858Z-ip5858W-riter.o A-rray40C-ompress5858Z-ip5858W-riter5858E-ntry41.o P-ointer40C-ompress5858Z-ip5858W-riter5858E-ntry41.o C-ompress5858Z-ip5858W-riter5858E-ntry.o C-ompress5858Z-ip5858C-ompressionM-ethod.o C-ompress5858Z-ip5858F-ile.o A-rray40C-ompress5858Z-ip5858F-ile5858E-ntry41.o P-ointer40C-ompress5858Z-ip5858F-ile5858E-ntry41.o H-ash40S-tring443-38f07efb192cf1186bf6f44e69437cb6.o P-ointer40H-ash58-aa4d98e218a479ff9969c9bd33843c2d.o C-ompress5858Z-ip5858F-ile5858E-ntry.o H-ash5858E-ntry40-ccce2339b93db44c7d7f841db51a84b8.o E-mptyI-O-.o O-penS-S-L-5858S-S-L-5858S-ocket5858S-erver.o O-penS-S-L-5858B-I-O-.o O-penS-S-L-5858S-S-L-5858S-ocket5858C-lient.o U-N-I-X-S-ocket43.o U-D-P-S-ocket.o T-C-P-S-erver.o T-C-P-S-ocket43.o T-C-P-S-ocket.o U-N-I-X-S-ocket.o I-P-S-ocket.o D-igest5858S-H-A-512.o P-ointer40L-ibC-r-3d955a7e9c76bf2d46cf2ef3aa00d05c.o L-ibC-rypto5858E-V-P-_M-D-_C-T-X-_S-truct.o D-igest5858S-H-A-256.o D-igest5858S-H-A-1.o D-igest5858M-D-5.o O-penS-S-L-5858D-igest.o P-ointer40L-ibC-rypto5858B-io41.o L-ibC-rypto5858B-io.o P-roc40I-O-4432N-il41.o H-T-T-P-5858S-erver5858C-ontext.o H-T-T-P-5858R-equest.o S-ocket5858U-N-I-X-A-ddress.o S-ocket5858F-amily.o S-ocket5858I-P-A-ddress.o S-ocket5858A-ddress43.o H-T-T-P-5858W-ebS-ocket5858P-rotocol5858O-pcode.o O-penS-S-L-5858S-S-L-5858S-ocket.o I-O-5858S-ized.o C-ompress5858Z-ip.o C-ompress5858Z-ip5858R-eader.o C-ompress5858Z-ip5858R-eader5858E-ntry.o S-pec5858E-qualE--8845c0c893ec1cec5cd3a7b3a7f3eafd.o 47home47buildozer-3edaf71f857e296927aa3c74da4b4adc.o C-ompress5858Z-lib.o T-uple40C-hannel5-aa1110ab60036ea085be7b6da83ac927.o A-rray40C-hannel5-6bd18771d68cb6b951d8e1e8e7ae8bc5.o P-ointer40C-hanne-278d667d40d8eed145a1ed97e3cc67a0.o H-ash40U-I-nt6444-ad7470357e42dc007b3ccfaf613693e2.o P-ointer40H-ash58-15a4919b6dc58ffec731b421647413b9.o H-ash5858E-ntry40-f77ba5da818b97d61922e1bf9a25f098.o A-rray40T-uple40C-5ee30fc365989ed46fc594fd3e7c08b8.o P-ointer40T-uple4-3f3460ab660ac091b5f70c650a9d4890.o S-lice40T-uple40C-cf267c1c1e55b64fb327959bdab85fd0.o 40C-hannel5858S-e-b7da27cef41831e7dc77223f52bb70a2.o T-uple40C-hannel5-38512fbf0798bf207790d33c498723e6.o A-rray40A-rray40C-hannel40I-nt32414141.o P-ointer40A-rray40C-hannel40I-nt32414141.o A-rray40C-hannel40I-nt324141.o P-ointer40C-hannel40I-nt324141.o C-hannel40T-uple40I-nt324432I-nt324141.o C-rystal5858P-oin-fb96862779dda23ead74252198a4162a.o P-ointer40C-hanne-2f7ecaed211981a2af1aca471b96418d.o C-rystal5858P-oin-a5d97958ccaf56e2012edff5b05a5609.o P-ointer40C-hanne-03b844876c420f9ea0ce1fa1ad14e339.o D-eque40T-uple40I-nt324432I-nt324141.o A-rray40C-hannel5858S-electC-ontext40N-il4141.o P-ointer40C-hannel5858S-electC-ontext40N-il4141.o A-rray40C-hannel5858S-electC-ontext40I-nt324141.o P-ointer40C-hannel5858S-electC-ontext40I-nt324141.o C-hannel5858S-ender40T-uple40I-nt324432I-nt324141.o C-hannel5858R-ece-cbd9f770fdf4abe0811319e3138d182b.o C-hannel5858S-ele-153b6fecbced60dfd7d4af7a29ef2526.o S-taticA-rray40U-I-nt324432641.o S-taticA-rray40U-I-nt3244321841.o S-taticA-rray40U-I-nt324432102441.o A-rray40T-uple40I-73d68cc5234d3c4b0a11779c5549e2c7.o P-ointer40T-uple4-30e5bb4e60264b3bb5ffcf0ed483a2bf.o C-rypto5858B-crypt.o C-rypto5858B-crypt5858B-ase64.o C-rypto5858B-crypt5858B-lowfish.o S-pec5858E-qualE-xpectation40C-rypto5858B-crypt41.o S-tring5858F-orma-29e501f00f64ad49539562eb712e5e2c.o T-uple40I-nt324432S-tring4432S-tring41.o A-rray40T-uple40A-7a49e6e1ec9b3bbf1fdef2166412380e.o P-ointer40T-uple4-14706956ac3cae671e8b39305f2b28c3.o C-rypto5858B-lowfish.o T-uple40U-I-nt324432U-I-nt3241.o A-rray40H-ash40S--d1a20c1e523c712711da9ae258b3c7c7.o P-ointer40H-ash40-78cbf9be8672955482d10b7246f0e13a.o H-ash40S-tring4432B-ool3212432S-lice40I-nt324141.o P-ointer40H-ash58-48bc7c503b6cfe1e02f3c2c7fab98cb5.o H-ash5858E-ntry40-95108fed37a1455cd65096a945ec2b7e.o C-rypto5858S-ubtle.o S-pec5858E-qualE--e55aad6b64494f5ea45ea7c7b9fe6a66.o A-rray40H-ash40S-tring4432I-nt323212432U-I-nt84141.o P-ointer40H-ash40-aeaab9d4715bac77f6c8eda8930454d9.o H-ash40S-tring4432I-nt323212432U-I-nt841.o P-ointer40H-ash58-36d3edf34c99ebd7ba1008a56a6cc66b.o H-ash5858E-ntry40S-tring4432I-nt323212432U-I-nt841.o S-pec5858E-qualE--97253cd549639e3104b1dbb735d5a88c.o A-rray40T-uple40A-rray40U-I-nt8414432S-tring4141.o P-ointer40T-uple40A-rray40U-I-nt8414432S-tring4141.o C-rypto5858B-crypt5858P-assword.o A-rray40C-rystal5858H-asher41.o P-ointer40C-rystal5858H-asher41.o A-rray40A-rray40U-I-nt644141.o P-ointer40A-rray40U-I-nt644141.o I-ndexable40U-I-nt6441.o T-estH-asherE-num.o S-pec5858C-ontainE-xpectation40C-har41.o C-rystal5858P-ointerL-inkedL-ist40T-estedO-bject41.o P-ointer40T-estedO-bject41.o T-estedO-bject.o S-pec5858E-qualE--63f4f9994000e3e6ff94d2db92de7b6c.o S-pec5858E-qualE--aac71c6b40f16c5c88aa5347c041fe95.o 40P-ointer40T-estedO-bject413212432N-il41.o C-rystal5858P-ointerL-inkedL-ist40T-41.o 47home47buildozer-8ac1c4bda4a0617ffa42403e58a465cb.o 47home47buildozer-bf704f120692fe76e141ed0afc8bbe90.o 47home47buildozer-6f0d19f6d579162d517e5917e73b093d.o 47home47buildozer-4c3bdb96ef12ea539d3f4bb439f5ca5d.o H-ash40S-tring4432D-igest5858C-lassM-ethods41.o P-ointer40H-ash58-5a2c76f8b65b1fb67ecf5910d80ced63.o H-ash5858E-ntry40-d5fb7a8317a7b1ebc97e9f767414e3a7.o S-pec5858E-qualE--8b38efd0d49064b739b13025a96de7b2.o S-pec5858E-qualE--22aa148e771e8193cca1bd5f3ee423ee.o A-rray40T-uple40S-tring4432S-tring4432S-tring4141.o P-ointer40T-uple4-5b21c0e99c302575e825efa6f966c972.o C-S-V-5858B-uilder.o C-S-V-5858B-uilder5858R-ow.o C-S-V-5858B-uilder5858Q-uoting.o C-S-V-.o C-S-V-5858L-exer.o C-S-V-5858L-exer5858S-tringB-ased.o C-S-V-5858T-oken.o S-pec5858E-qualE--7f8351f59cae347ac071b2cc98894db8.o C-S-V-5858T-oken5858K-ind.o C-S-V-5858L-exer5858I-O-B-ased.o C-S-V-5858P-arser.o C-S-V-5858L-exer43.o S-pec5858E-qualE--d0b21524b3e1614341263570373551b3.o C-S-V-5858P-arser5858R-owI-terator.o 47home47buildozer-a5e9e903e78b2ac70a1613a21936ef0b.o C-S-V-5858R-ow.o P-roc40P-ointer40-012d7964e3cb47df30318220ab72f63f.o P-roc40P-ointer40-22f507bc0e2920c4085a0d400774bffd.o P-roc40P-ointer40-d9d411bd7195de421fc8468bc8d63907.o P-roc40P-ointer40L-ibC-rypto5858B-io414432I-nt3241.o L-ibC-5858S-ockaddrU-n.o S-taticA-rray40U-I-nt8443210841.o S-pec5858E-qualE--e2cb02530fa2ed51798463cc559bbfc7.o S-pec5858E-qualE--bb786ae75dfc003e61efb86c41e85aff.o S-pec5858E-qualE--ac72460b4a71a3ad880d00b0a095e610.o S-pec5858E-qualE--a7765a83ce69587d9a04a22f992c1f6b.o E-C-R-5858L-exer.o E-C-R-5858L-exer5858T-oken.o 47home47buildozer-e2d70cc7960493f6c9b7544bbf873ab6.o S-pec5858E-qualE--e809a4940a39045987dc9b5d207e758b.o E-C-R-5858L-exer5858T-oken5858T-ype.o E-C-R-.o E-C-R-S-pecH-elloV-iew.o S-pec5858E-qualE-xpectation40S-tring3212432N-il41.o 47home47buildozer-06c9cfa3d76bb1e7e76772765f5514bd.o 47home47buildozer-bd1aa9874268a78e7dd69adf767463c8.o S-pec5858B-e40U-I-nt6441.o S-pec5858E-qualE--7a31b2dcc1330bf29b185bcb223b84d6.o S-pec5858E-qualE-xpectation40H-T-T-P-5858C-ookie41.o 47home47buildozer-aaac890f390e84b84aee6c6124ac5e3c.o H-T-T-P-5858C-ookie5858P-arser.o A-rray40H-T-T-P-5858C-ookie41.o P-ointer40H-T-T-P-5858C-ookie41.o T-ime5858F-ormat5858P-arser.o S-pec5858E-qualE--c0bd9e83589a5ba65ec59153025baa29.o S-pec5858E-qualE-xpectation40T-ime5858S-pan41.o S-pec5858B-e40T-ime41.o S-pec5858E-qualE--b4a527a5163ba876ebb44ce4376b5962.o H-ash5858V-alueI--08c435f237754b40b71627527336fa5b.o H-T-T-P-5858F-ormD-ata5858P-arser.o M-I-M-E-5858M-ultipart5858P-arser.o H-T-T-P-5858F-ormD-ata5858P-art.o H-T-T-P-5858F-ormD-ata.o H-T-T-P-5858F-ormD-ata5858F-ileM-etadata.o M-I-M-E-5858M-ultipart.o M-I-M-E-5858M-ediaT-ype.o H-T-T-P-5858F-ormD-ata5858B-uilder.o S-pec5858B-eA-E-xpectation40H-T-T-P-5858H-eaders41.o S-pec5858B-eE-xpectation40H-T-T-P-5858H-eaders41.o 47home47buildozer-de48386c4ae011fa669edfb658a8a449.o S-pec5858E-qualE--1729bf729ec95f14458b15e5d6f22d81.o H-T-T-P-5858C-lient5858R-esponse.o H-T-T-P-5858R-equest5858R-equestL-ine.o H-T-T-P-5858E-ndO-fR-equest.o H-T-T-P-5858H-eaderL-ine.o H-T-T-P-5858B-odyT-ype.o S-pec5858E-qualE-xpectation40H-T-T-P-5858S-tatus41.o S-pec5858B-eA-E-xpectation40H-T-T-P-5858R-equest41.o R-ange40I-nt324432U-I-nt1641.o H-T-T-P-5858W-ebS-51c9d29541e36e96740909cb31cbc480.o 47home47buildozer-2e0d4725ad2c14ef0c2b7f829442dc50.o S-pec5858E-qualE--1dfc7b5c7fabce5d68e6306a6e818257.o H-T-T-P-5858W-ebS-ocket5858C-loseC-ode.o C-hannel40S-ocket5858I-P-A-ddress41.o C-rystal5858P-oin-772f1378b2df6413af796e9ca66881e8.o P-ointer40C-hanne-55c869fbef8c1a622b53584f92db59cb.o C-rystal5858P-oin-6991e31a3f17966a08005956a57db00c.o P-ointer40C-hanne-ea8ebb1a634e8d071198ba2ff244dbc5.o D-eque40S-ocket5858I-P-A-ddress41.o P-ointer40S-ocket5858I-P-A-ddress41.o C-hannel40T-uple40I-nt324432S-tring4141.o C-rystal5858P-oin-ab70d18dc12f4148100e6dc775c8b1d9.o P-ointer40C-hanne-b10cad43a8332466c4bab303fad82be9.o C-rystal5858P-oin-16b048767cb35425f23226747bd1f94f.o P-ointer40C-hanne-2157e19ab93ea7dbb1741196f96d8e49.o D-eque40T-uple40I-nt324432S-tring4141.o H-T-T-P-5858W-ebS-ocket.o H-T-T-P-5858S-erver.o H-T-T-P-5858S-erver5858R-equestP-rocessor.o A-rray40S-ocket5858S-erver41.o P-ointer40S-ocket5858S-erver41.o O-penS-S-L-5858S-S-L-5858S-erver.o C-hannel5858S-ender40T-uple40I-nt324432S-tring4141.o C-hannel5858R-ece-b85d27cde0a94e612935742eff11c1ad.o C-hannel5858S-ele-324cc40c2b5702d4e0e07e35cad93069.o H-T-T-P-5858W-ebS-ocketH-andler.o A-rray40H-T-T-P-5858W-ebS-ocketH-andler41.o P-ointer40H-T-T-P-5858W-ebS-ocketH-andler41.o U-R-I-5858P-unycode.o L-ibC-5858A-ddrinfo.o S-ocket5858T-ype.o S-ocket5858P-rotocol.o S-ocket5858A-ddrinfo.o P-ointer40L-ibC-5858S-ockaddrI-n641.o P-ointer40L-ibC-5858S-ockaddrI-n41.o C-rystal5858S-ystem5858S-ocket.o C-hannel5858S-ender40S-ocket5858I-P-A-ddress41.o C-hannel5858R-eceiver40S-ocket5858I-P-A-ddress41.o C-hannel5858S-ele-2571426dfbb17680dbb25dc3311ca7c5.o L-og5858E-mitter.o L-og5858E-ntry.o L-og5858C-ontext.o E-mptyH-T-T-P-H-andler.o H-T-T-P-5858C-ompressH-andler.o H-T-T-P-5858E-rrorH-andler.o H-T-T-P-5858L-ogH-andler.o H-T-T-P-5858S-taticF-ileH-andler.o M-alformerH-andler.o O-penS-S-L-5858S-H-A-1.o S-taticA-rray40U-I-nt844322041.o H-T-T-P-5858S-tat-86d4479129bc5f8363d364da7b64b387.o O-penS-S-L-5858S-S-L-5858C-ontext5858C-lient.o O-penS-S-L-5858S-S-L-5858C-ontext.o L-ibS-S-L-5858O-ptions.o L-ibS-S-L-5858M-odes.o L-ibS-S-L-5858S-S-L-C-trl.o L-ibS-S-L-5858T-L-S-E-xt.o S-ocket.o L-ibC-5858I-n6A-ddr.o O-penS-S-L-5858S-S-L-5858C-ontext5858S-erver.o S-ocketS-pecH-elper.o A-rray40H-T-T-P-5-072718999d1a5e358ba6b8f146fc5473.o P-ointer40H-T-T-P-0b673b4884fe0b00273e6588bb7d1cf0.o A-rray40H-T-T-P-5-e36d863a146aa5f034c161176d9eda62.o P-ointer40H-T-T-P-b5a879258a2b7bb8b7287314db2ce1aa.o H-T-T-P-5858C-lient.o S-pec5858B-eE-xpe-e8d4265fbb8943267419a4d6be62c8cb.o A-rray40P-roc40H-T-T-P-5858R-equest4432N-il4141.o P-ointer40P-roc40H-T-T-P-5858R-equest4432N-il4141.o N-amedT-uple40met-00c67b29cc78ee142b33f045c42840ba.o L-ibC-5858L-inger.o T-estC-lient.o L-og5858E-ntriesC-hecker.o P-roc40L-og5858E-ntry4432I-O-4432N-il41.o N-amedT-uple40key-ca1d5187e25cd46344f185c7a987365d.o H-T-T-P-5858S-ubC-lient.o A-rray40H-T-T-P-5858S-tatus41.o P-ointer40H-T-T-P-5858S-tatus41.o 47home47buildozer-f8b98f58b5ab895c872180ca097874bb.o S-pec5858B-eA-E-xpectation40I-O-5858E-rror41.o N-amedT-uple40foo5832S-tring41.o S-pec5858E-qualE-xpectation40E-xception41.o C-hannel40S-ymbol41.o C-rystal5858P-oin-3f698a3531f8b60ac1f9091227212f22.o P-ointer40C-hannel5858S-ender40S-ymbol4141.o C-rystal5858P-oin-356cf5af90da98c21f0f446573b4ec54.o P-ointer40C-hannel5858R-eceiver40S-ymbol4141.o C-hannel5858S-ender40S-ymbol41.o C-hannel5858R-eceiver40S-ymbol41.o C-hannel5858S-electC-ontext40S-ymbol41.o S-pec5858E-qualE--3bf70e6c02376b380702fa31dde330c8.o 47home47buildozer-726cd1f65340a8d881594b1b2014891f.o A-rray40S-ocket5858I-P-A-ddress41.o A-rray40S-ocket5858A-ddress41.o P-ointer40S-ocket5858A-ddress41.o S-pec5858E-qualE--7cd9c00ad592f7d9e4b21ec56b55d9a0.o P-ointer40L-ibC-5858S-ockaddrU-n41.o L-ibS-S-L-5858V-erifyM-ode.o S-ilentE-rrorH-T-T-P-S-erver.o C-hannel5858S-tri-030c629d0b4c005235daa4a3679b7d36.o T-uple40C-hannel5-deb4276c5d0b9721aa3ed330aa573268.o A-rray40C-hannel5-101099ce49eb490dde686ea1e62b543e.o P-ointer40C-hanne-e234a3335bec616815c283179ace6f7a.o H-ash40U-I-nt6444-a5c6e411b07404e5bf2a9ced8f2eb1ab.o P-ointer40H-ash58-f27928a2d3ba89e42d87046a272b4ca1.o H-ash5858E-ntry40-2c719bdbb1b746ff18313297b3ae33ba.o A-rray40T-uple40C-e23cbc3517105cf475cca4b632a50223.o P-ointer40T-uple4-412107f3c77a5fc266528b10fe781932.o S-lice40T-uple40C-1f720fa0ab1fe2ecdaddfea286ce6fb8.o S-pec5858E-qualE--50478cca8e8d423a562c5fe348be611f.o P-roc40H-T-T-P-5858S-erver5858C-ontext4432N-il41.o H-T-T-P-5858H-andler.o 47home47buildozer-ac85efd118cc26db3832d28e456ffe41.o S-afeI-ndexableM-utable.o S-afeI-ndexableM-utableF-oo.o A-rray40A-rray40F-oo4141.o P-ointer40A-rray40F-oo4141.o S-pec5858B-eE-xpe-364d799009db6c00d58fd734d9b5393f.o S-pec5858B-eE-xpe-bfa87345d3360e2ed52357099409c026.o S-pec5858E-qualE-xpectation40A-rray40F-oo4141.o I-ndexable5858M-utable40T-41.o S-pec5858B-eE-xpectation40I-O-5858M-emory41.o 47home47buildozer-bf40647da39d8e70465c1a18a680bc14.o T-uple40I-nt32443-18214b9c5af90b7b60a760b3c5209d6e.o I-O-5858B-yteF-ormat.o S-taticA-rray40U-I-nt8443210141.o S-taticA-rray40U-I-nt844329641.o I-O-5858L-ineI-terator40I-4432A-4432N-41.o I-O-5858L-ineI-te-2bbac0f896af39065c5146eb11c4bcdc.o I-O-5858L-ineI-te-cb8f91cbbce440db16f9b72c4ba16321.o I-O-5858C-harI-terator40I-41.o I-O-5858C-harI-terator40S-impleI-O-M-emory41.o I-O-5858B-yteI-terator40I-41.o I-O-5858B-yteI-terator40S-impleI-O-M-emory41.o S-tring5858F-orma-f67b8d4c7ce3c0910c4f1f06722d6071.o T-uple40S-tring4432I-nt324432F-loat6441.o T-uple40I-O-4432I-O-41.o T-uple40I-O-41.o J-S-O-N-.o J-S-O-N-5858P-arser.o J-S-O-N-5858A-ny.o A-rray40J-S-O-N-5858A-ny41.o P-ointer40J-S-O-N-5858A-ny41.o H-ash40S-tring4432J-S-O-N-5858A-ny41.o P-ointer40H-ash58-dae9c5ff39ccb033f7178f45732412c3.o H-ash5858E-ntry40S-tring4432J-S-O-N-5858A-ny41.o S-pec5858B-eE-xpe-8a842036b61a72d4054ba4931a460a50.o H-ash5858E-ntry40-da18ab7d93b56a429e784c686f495c54.o Y-A-M-L-5858S-chema5858C-ore.o T-ime5858F-ormat5858Y-A-M-L-_D-A-T-E-.o 47home47buildozer-949193fdf2ec4ec89a3a14cfadd2a7ec.o S-pec5858E-qualE--4584ec7bd52fede7458e6915e659011f.o 47home47buildozer-35bdd1859fb9fad4e10f344fb0a456ea.o S-pec5858E-qualE--1ab4f0f3d5bd671d40d8d1a0232c6946.o S-pec5858E-qualE--dcf892bddda64f0d23bef2850c31388f.o A-rray40H-ash40S-tring4432I-nt324141.o P-ointer40H-ash40S-tring4432I-nt324141.o S-pec5858E-qualE--583ed3e65d844f978081f75eafa903ae.o 47home47buildozer-b06b390100b58207a9b9e4bac9da7a56.o S-pec5858E-qualE--1cff507d76f18f1a6b2edf5abefd7835.o J-S-O-N-A-ttrP-oint.o S-pec5858E-qualE-xpectation40J-S-O-N-A-ttrP-oint41.o J-S-O-N-A-ttrE-mptyC-lass.o J-S-O-N-A-ttrE-mptyC-lassW-ithU-nmapped.o H-ash40S-tring4432I-nt323212432S-tring41.o P-ointer40H-ash58-25cfb01bf71d3487808b474a4e4d952e.o H-ash5858E-ntry40S-tring4432I-nt323212432S-tring41.o S-pec5858E-qualE--1e3767def9b0dbb031bd082f279554c1.o J-S-O-N-A-ttrP-erson.o S-pec5858B-eA-E-xpectation40J-S-O-N-A-ttrP-erson41.o A-rray40J-S-O-N-A-ttrP-erson41.o P-ointer40J-S-O-N-A-ttrP-erson41.o J-S-O-N-A-ttrP-ersonW-ithT-woF-ieldI-nI-nitialize.o S-pec5858E-qualE--7e8504c4db8ceb2c13adea99eec35d09.o S-pec5858E-qualE--747ee2d63b4968f48c31fd4abe9992c8.o S-trictJ-S-O-N-A-ttrP-erson.o J-S-O-N-A-ttrP-ersonE-xtraF-ields.o H-ash40S-tring443-d5abeceb55b4b3e3650b7d9a33453dcc.o P-ointer40H-ash58-c61bf4c0fa8aef0a3c4dee07e5ad66da.o H-ash5858E-ntry40-b2ef48c785dc8651a9a0411111482a86.o S-pec5858E-qualE--7376a9e9801ee49560210823c960815e.o J-S-O-N-A-ttrP-ersonE-mittingN-ull.o J-S-O-N-A-ttrP-ersonE-mittingN-ullsB-yO-ptions.o J-S-O-N-A-ttrW-ithB-ool.o J-S-O-N-A-ttrW-ithU-U-I-D-.o S-pec5858B-eA-E-x-4f8ba59895c24af218c6cb1bff669929.o J-S-O-N-A-ttrW-ithT-ime.o S-pec5858B-eA-E-xpectation40T-ime41.o J-S-O-N-A-ttrW-ithS-impleM-apping.o S-pec5858B-eA-E-x-464a714c381ac12b1a5836b10c767834.o J-S-O-N-A-ttrW-ithN-ilableT-ime.o J-S-O-N-A-ttrW-ithN-ilableT-imeE-mittingN-ull.o N-amedT-uple40pro-0b306bf3798523f453ba21474299a8eb.o J-S-O-N-A-ttrW-ithP-ropertiesK-ey.o J-S-O-N-A-ttrW-ithK-eywordsM-apping.o J-S-O-N-A-ttrW-ithA-ny.o A-rray40B-ool3212-ac01815ac80d3c89a3394b842a6f5f7d.o P-ointer40B-ool32-39df9ff1db2fec3f751244ed8ce9e0ec.o S-pec5858E-qualE--fe6af188a5d0f99be98623053d3b96aa.o J-S-O-N-A-ttrW-ithP-roblematicK-eys.o J-S-O-N-A-ttrW-ithS-et.o J-S-O-N-A-ttrW-ithS-mallI-ntegers.o J-S-O-N-A-ttrW-ithD-efaults.o J-S-O-N-A-ttrW-ithT-imeE-poch.o T-ime5858E-pochC-onverter.o J-S-O-N-A-ttrW-ithT-imeE-pochM-illis.o T-ime5858E-pochM-illisC-onverter.o J-S-O-N-A-ttrW-ithR-aw.o S-tring5858R-awC-onverter.o J-S-O-N-A-ttrW-ithR-oot.o S-pec5858B-eA-E-x-7daa366c8824a9171e46facdba9c8616.o J-S-O-N-A-ttrW-ithN-ilableR-oot.o 40A-rray40J-S-O-N-A-ttrP-erson413212432N-il41.o J-S-O-N-A-ttrW-ithN-ilableR-ootE-mitN-ull.o J-S-O-N-A-ttrW-ithN-ilableU-nion.o J-S-O-N-A-ttrW-ithN-ilableU-nion2.o J-S-O-N-A-ttrW-ithP-resence.o J-S-O-N-A-ttrW-ithQ-ueryA-ttributes.o J-S-O-N-A-ttrW-ithB-igD-ecimal.o J-S-O-N-A-ttrM-oduleT-est.o J-S-O-N-A-ttrM-oduleT-est2.o J-S-O-N-A-ttrP-ersonW-ithY-A-M-L-.o S-pec5858E-qualE--56116517c1aec4c4ecd4b91e4dbf8158.o A-rray40T-uple40Y-689f7122754cea826d7930691c0936f9.o P-ointer40T-uple4-e04efcb18520cf2494e637cafd6c6a36.o S-et40Y-A-M-L-5858N-odes5858M-apping41.o H-ash40Y-A-M-L-5858N-odes5858M-apping4432N-il41.o P-ointer40H-ash58-accaa993f4e597c429c27bab6df77589.o H-ash5858E-ntry40-5f19f89d6465ed68fc4fd68fec896991.o Y-A-M-L-5858S-calarS-tyle.o J-S-O-N-A-ttrP-ersonW-ithY-A-M-L-I-nitializeH-ook.o J-S-O-N-A-ttrP-ersonW-ithS-electiveS-erialization.o J-S-O-N-S-hape.o J-S-O-N-P-oint.o J-S-O-N-C-ircle.o J-S-O-N-S-hape43.o J-S-O-N-V-ariableD-iscriminatorV-alueT-ype.o J-S-O-N-V-ariableD-iscriminatorN-umber.o J-S-O-N-V-ariableD-iscriminatorS-tring.o J-S-O-N-V-ariableD-iscriminatorB-ool.o J-S-O-N-V-ariableD-iscriminatorE-num.o J-S-O-N-V-ariableD-iscriminatorE-num8.o S-pec5858B-eA-E-x-b5e7eaaf86ebebe9231b9a40c902cf9e.o J-S-O-N-V-ariableD-iscriminatorV-alueT-ype43.o S-pec5858B-eA-E-x-03ede333d5b3db694029b254b29358b6.o S-pec5858B-eA-E-x-6d5a89703683fb82de46a0cec2edf81e.o S-pec5858B-eA-E-x-f8a70cfbc9bdd35ccbf6b38973eb50c0.o S-pec5858B-eA-E-x-0e2737a09cea7df741cdbeb623b587fb.o J-S-O-N-N-amespace5858F-ooR-equest.o J-S-O-N-N-amespace5858B-ar.o J-S-O-N-N-amespace5858F-oo.o H-ash40F-loat324432S-tring41.o P-ointer40H-ash5858E-ntry40F-loat324432S-tring4141.o H-ash5858E-ntry40F-loat324432S-tring41.o S-pec5858E-qualE--6d2cd9654876082ac0fdf0dbfe118c68.o H-ash40F-loat644432S-tring41.o P-ointer40H-ash5858E-ntry40F-loat644432S-tring4141.o H-ash5858E-ntry40F-loat644432S-tring41.o S-pec5858E-qualE--3f7a905cd5be56a9d585205c9de42c2d.o H-ash40B-igI-nt4432S-tring41.o P-ointer40H-ash5858E-ntry40B-igI-nt4432S-tring4141.o H-ash5858E-ntry40B-igI-nt4432S-tring41.o S-pec5858E-qualE--712f7778d52ca63fb52eb1cab72bfa48.o H-ash40B-igF-loat4432S-tring41.o P-ointer40H-ash58-cc191c333459e9ae314f47fa0c91c29c.o H-ash5858E-ntry40B-igF-loat4432S-tring41.o S-pec5858E-qualE--2d51958eb469cea9ff9aff719da95920.o S-pec5858E-qualE--b7282473b8ee530b5ee1ed3d3c1310b3.o S-pec5858B-eA-E-x-47c35e0f4fe86d3b0e3bd73ef434d16b.o N-amedT-uple40x5832I-nt324432y5832S-tring41.o S-pec5858E-qualE--bdb842df0a2c724f352c763aefb0f7bb.o S-pec5858B-eA-E-x-0360743b50f2d814e7b068c3e56bc408.o N-amedT-uple40x58-579662bd1813501487620fec7eb63c96.o S-pec5858E-qualE--39f9fbad0dcadf27bfe368418438bf83.o N-amedT-uple40x5832N-il4432y5832S-tring41.o S-pec5858B-eA-E-x-040e2ece612e684cef8d7b67c5afc125.o N-amedT-uple40a58-e7abec8d4b85db94ff1f59379b0c911b.o S-pec5858E-qualE--aed5e10c12040ab38f89505f89206e96.o S-pec5858B-eA-E-x-78f3adecfae072c3a070e93b917e7fd7.o N-amedT-uple40a58-dbafd3f3d8db813e8620771605d9543b.o S-pec5858E-qualE--c561c24abd1e1be21b9ae01bf02e8447.o S-pec5858B-eA-E-x-3c98125d938dd5a78339691b6fdd3740.o S-pec5858B-eA-E-xpectation40U-U-I-D-41.o J-S-O-N-S-pecE-num.o S-pec5858E-qualE-xpectation40J-S-O-N-S-pecE-num41.o J-S-O-N-S-pecF-lagE-num.o S-pec5858E-qualE--80917440cc438e9a4ca18611dd155609.o E-num5858V-alueC-onverter40J-S-O-N-S-pecE-num41.o E-num5858V-alueC--180d48a0b6a60c4767c1bf9088a589ca.o 40I-nt323212432S-tring41.o 40A-rray40I-nt32413212432B-ool41.o 40A-rray40I-nt32413212432I-nt841.o 40A-rray40I-nt32413212432I-nt1641.o 40A-rray40I-nt32413212432I-nt3241.o 40A-rray40I-nt32413212432I-nt6441.o 40A-rray40I-nt32413212432U-I-nt841.o 40A-rray40I-nt32413212432U-I-nt1641.o 40A-rray40I-nt32413212432U-I-nt3241.o 40A-rray40I-nt32413212432U-I-nt6441.o 40A-rray40I-nt32413212432F-loat3241.o 40A-rray40I-nt32413212432F-loat6441.o 40F-loat643212432I-nt3241.o A-rray40I-nt323212432I-nt6441.o P-ointer40I-nt323212432I-nt6441.o 40I-nt323212432I-nt6441.o T-ime5858F-ormat5858I-S-O-_8601_D-A-T-E-_T-I-M-E-.o A-rray40N-amedT-u-052b08d50158c78f14846488c11e5e75.o P-ointer40N-amedT-2a9e59e97acfd383f6171e484f36ac40.o 40B-ool3212432I-nt3241.o H-ash40F-loat324432I-nt3241.o P-ointer40H-ash5858E-ntry40F-loat324432I-nt324141.o H-ash5858E-ntry40F-loat324432I-nt3241.o H-ash40F-loat644432I-nt3241.o P-ointer40H-ash5858E-ntry40F-loat644432I-nt324141.o H-ash5858E-ntry40F-loat644432I-nt3241.o H-ash40B-igI-nt4432I-nt3241.o P-ointer40H-ash5858E-ntry40B-igI-nt4432I-nt324141.o H-ash5858E-ntry40B-igI-nt4432I-nt3241.o S-pec5858E-qualE--63bad31119f16a255ece232496641f33.o L-L-V-M-5858A-ttribute.o H-ash40L-L-V-M-5858A-ttribute4432U-I-nt3241.o P-ointer40H-ash58-36b586447fe9c3961749a4d4afbbf786.o H-ash5858E-ntry40-5b54d639e7ac858c8ed6ec06cea74a94.o A-rray40L-L-V-M-5858A-ttribute41.o P-ointer40L-L-V-M-5858A-ttribute41.o L-L-V-M-.o L-L-V-M-5858C-ontext.o L-L-V-M-5858T-ype.o L-L-V-M-5858A-B-I-5858X-86_64.o L-L-V-M-5858T-ype5858K-ind.o A-rray40L-L-V-M-5858T-ype41.o P-ointer40L-L-V-M-5858T-ype41.o L-L-V-M-5858A-B-I-5858X-8643.o L-L-V-M-5858T-argetD-ata.o L-L-V-M-5858A-B-I-5858A-R-M-.o L-L-V-M-5858A-B-I-5858A-A-rch64.o 47home47buildozer-2298c58f165712d8128040a4f786d1af.o L-L-V-M-5858T-arget.o L-L-V-M-5858T-argetM-achine.o A-rray40L-L-V-M-5858B-uilder41.o P-ointer40L-L-V-M-5858B-uilder41.o L-L-V-M-5858B-uilder.o A-rray40L-L-V-M-5858A-B-I-5858A-rgT-ype41.o P-ointer40L-L-V-M-5858A-B-I-5858A-rgT-ype41.o L-L-V-M-5858A-B-I-5858A-rgT-ype.o A-rray40L-L-V-M-5-8acf802731aa80de9a1b835f58878cd5.o P-ointer40L-L-V-M-d4241afa6c7883f750be9fefca115658.o S-lice40L-L-V-M-5-e560c94ca3837139efb1fa6a739e6037.o L-L-V-M-5858A-B-I-5858X-86_645858R-egC-lass.o L-L-V-M-5858A-B-I-5858F-unctionT-ype.o L-L-V-M-5858A-B-I-5858X-86_W-in64.o S-pec5858E-qualE--242699631bb4b512f152517ba59e909e.o L-L-V-M-5858A-B-I-5858A-rgK-ind.o 47home47buildozer-35049808752e68aba4c6d0e2d65d590e.o L-L-V-M-5858V-alue.o 47home47buildozer-b1d89d150d23b520f58c5e4e4165e566.o 47home47buildozer-c0b9276e1a81c687b33308c0b61efb6a.o L-L-V-M-5858A-B-I-5858X-86.o 47home47buildozer-925aba602d3551a4bbe1b70ca8dbffb2.o S-pec5858E-qualE--ef195dcc113878aa4fef672b07ecf201.o A-rray40T-uple40S-e940bc079d5232d294bdac48ddfd02fe.o P-ointer40T-uple4-7ee2a352daf057ba2f206c5dc776f3ec.o A-rray40T-uple40T-43a95acb7529b110a2986dfc7a930784.o P-ointer40T-uple4-cadf0dbce8672b4bdaea99f90aee3bf9.o S-lice40T-uple40T-39d33a80df5e99c078bd3befd73b996b.o S-pec5858E-qualE-xpectation40L-og5858S-everity41.o 47home47buildozer-1033f14995c02a36eef439c35f98a13f.o S-pec5858B-eA-E-x-747d515c2e8f7ad309afd60ef4cecc7a.o S-pec5858B-eA-E-x-f6be41613868ccb87398ad1786d4f835.o S-pec5858E-qualE--c3cac5385f59bde752cf6322ff61db92.o S-pec5858B-eE-xpectation40L-og41.o S-pec5858B-eE-xpe-868e582244f46008ec018fbf570d2fa5.o A-rray40W-eakR-ef40L-og4141.o P-ointer40W-eakR-ef40L-og4141.o S-pec5858E-qualE-xpectation40L-og5858M-etadata41.o 47home47buildozer-c8cadbe1c9e3a4750c929818b95919f4.o N-amedT-uple40b5832I-nt3241.o N-amedT-uple40b5832I-nt324432c5832I-nt3241.o N-amedT-uple40a58-87e1c524cb4c72f66d7941602c4ce5d6.o S-pec5858E-qualE--29c0b6c645f81c36c52c25c67997cbd6.o S-pec5858B-eA-E-x-f0fc9da66e0751c52f36c13d2f11ded2.o S-pec5858B-eA-E-x-12a77682e40f92a45f92cd6c0a8b2c0a.o S-pec5858B-eA-E-xpectation40L-og5858I-O-B-ackend41.o 47home47buildozer-e49e4c89e704a43f90b375bc3b7faf6b.o N-amedT-uple40c5832I-nt324432d5832I-nt3241.o L-og5858F-ormatter.o S-pec5858E-qualE--e13132f8f00f89544689f160ad3d7918.o S-pec5858E-qualE--f9089e9d9f366c5ee1c32ffd3eba517d.o 47home47buildozer-fdf852e19399d5496acf35374d91790d.o S-pec5858E-qualE--24583dde8dab0ce83c59ea917bcc5bca.o 47home47buildozer-d469bfa0f64c62ee01bb70ef0aaaa013.o S-pec5858B-e40L-og5858S-everity41.o A-rray40T-uple40L-og5858S-everity4432S-tring4141.o P-ointer40T-uple40L-og5858S-everity4432S-tring4141.o S-pec5858E-qualE--016ef363ec152274e8da78c7c97355ee.o T-uple40L-og5858S-everity4432S-tring41.o S-pec5858E-qualE-xpectation40L-og41.o 47home47buildozer-21147dc7bc56ac4fd19bad03c1b2e438.o N-amedT-uple40b5832N-il41.o N-amedT-uple40a5832I-nt324432b5832N-il41.o S-pec5858B-eE-xpectation40L-og5858M-etadata41.o N-amedT-uple40b5832I-nt324432a5832I-nt3241.o S-pec5858E-qualE--098b45d5a1ff5ad1fef4c8a1d36ff418.o A-rray40B-ool3212432S-tring41.o P-ointer40B-ool3212432S-tring41.o S-pec5858E-qualE--d496b8509b3c2e24a4a97c1199cffb0d.o 47home47buildozer-4e649c1a537345697a5f4eb76d983a78.o S-pec5858E-qualE--9eda591261814c7098315ede4fb95822.o T-uple40S-tring4432H-ash40S-tring4432S-tring4141.o H-ash5858E-ntryI-terator40S-tring4432S-tring41.o M-I-M-E-5858M-ultipart5858B-uilder.o 47home47buildozer-82190e9e65440d679681f86df1b3e43f.o A-rray40N-amedT-u-6a64db81d2103566a5381d283e4e9f67.o P-ointer40N-amedT-f5402b33e2cbb00ce9325ae7dd30a6b2.o O-A-uth5858A-ccessT-oken.o O-A-uth5858A-uthorizationH-eader.o O-A-uth5858C-onsumer.o O-A-uth5858R-equestT-oken.o O-A-uth5858P-arams.o A-rray40T-uple40T-6b95750db1de01e45c5f8b8e9b2d575f.o P-ointer40T-uple4-6fb8392a0ef5accea3ac9cbcc5309b7a.o S-lice40T-uple40T-af091bd6fdeef76f5681ebbf8df2b930.o O-A-uth5858S-ignature.o O-penS-S-L-5858H-M-A-C-.o O-penS-S-L-5858A-lgorithm.o O-A-uth25858A-ccessT-oken.o O-A-uth25858A-ccessT-oken5858B-earer.o O-A-uth25858A-ccessT-oken5858M-ac.o O-A-uth25858A-ccessT-oken43.o S-pec5858E-qualE--095d6df8d7a80d9983e647bde0e23030.o S-pec5858B-eA-E-x-90f7836962ba0d9a7a967a55f8893c3f.o S-pec5858E-qualE--ff034ab0864f876a7dd9042a67085ad5.o O-A-uth25858C-lient.o N-amedT-uple40acc-1ea26d8bfed3f56ba78851ae70f7ef47.o O-A-uth25858A-uthS-cheme.o H-T-T-P-5858C-lient43.o O-penS-S-L-5858C-ipher.o L-ibC-rypto5858C-ipherF-lags.o S-pec5858E-qualE--72c28d3aec078a975bdb20e44a3d0362.o A-rray40T-uple40O-7177482ef495e30c2a028fa3a701655c.o P-ointer40T-uple4-4b8b20187c65efafdd0096fb01bba531.o A-rray40T-uple40I-nt324432I-nt324432S-tring4141.o P-ointer40T-uple40I-nt324432I-nt324432S-tring4141.o O-penS-S-L-5858P-K-C-S-5.o A-rray40T-uple40O-1fb1c2c0854e0c3334eae09bb9c81180.o P-ointer40T-uple4-af3890c195d82ac8975b1b112c5c1f25.o S-pec5858E-qualE--5db4262210c534220410c23fab98801f.o S-pec5858E-qualE--930944390372f84e5fff7719094d0881.o S-pec5858E-qualE--dff7b67d17bb9c12823e5c4a1794c1eb.o S-pec5858B-eA-E-x-6683bb1d2b9b4078047cee5aaad7e6f8.o S-pec5858B-eA-E-x-849761d8c818d85af7b47d339ef9cdc2.o B-ox40S-lice40U-I-nt84141.o 47home47buildozer-06e54408b51ec2a574eecdde2b76910a.o O-penS-S-L-5858X-5095858C-ertificate.o O-penS-S-L-5858X-5095858E-xtension.o O-penS-S-L-5858S-S-L-5858H-ostnameV-alidation.o L-ibC-5858I-nA-ddr.o O-penS-S-L-5858S--2a932732c44821587f881c7e804974e9.o S-pec5858E-qualE--ebdfc3386dca816592e0ff313f7fffc9.o O-penS-S-L-5858X-5095858N-ame.o S-pec5858E-qualE--39f624af1e21bcfd32f4505b770e3ae3.o S-pec5858E-qualE-xpectation40T-C-P-S-erver41.o S-pec5858B-eA-E-x-6c7131a26b062fc209033485315a47c3.o 47home47buildozer-6eaefffe2b8114b91a84b372144b9ba6.o A-rray40O-penS-S-L-5858X-5095858E-xtension41.o P-ointer40O-penS-S-L-5858X-5095858E-xtension41.o R-andom5858I-S-A-A-C-.o S-taticA-rray40U-I-nt32443225641.o S-pec5858E-qualE-xpectation40I-nt323212432I-nt6441.o S-taticA-rray40U-I-nt324432841.o S-pec5858B-eA-E-x-e1050a7c81a26a60b4e931dc3920e73f.o A-rray40R-andom5858I-S-A-A-C-41.o P-ointer40R-andom5858I-S-A-A-C-41.o S-pec5858B-eA-E-xpectation40R-andom5858P-C-G-3241.o S-pec5858B-e40I-nt6441.o S-ocket5858A-ddress.o S-pec5858E-qualE--56253f58e3ff6756e7a9f6de0b212b91.o S-pec5858E-qualE-xpectation40S-ocket5858F-amily41.o A-rray40S-ocket5858A-ddrinfo41.o P-ointer40S-ocket5858A-ddrinfo41.o S-pec5858E-qualE--0dcec03d983b8e5b09521ca83d904c63.o S-pec5858E-qualE--c9d2b3461a87945014d5b426e392bf0e.o S-pec5858E-qualE--052549802cfaa58e000b931368f6d004.o S-pec5858B-eA-E-xpectation40S-ocket41.o S-pec5858E-qualE-xpectation40S-ocket5858T-ype41.o S-pec5858E-qualE--64cfbdd8ce9225d47862cd28e897bb6d.o P-ointer40L-ibC-5858S-ockaddrS-torage41.o S-pec5858E-qualE--3e7584ef91e3daf74e6abefd294a9967.o T-uple40S-tring4432S-ocket5858I-P-A-ddress41.o L-ibC-5858I-pM-req.o L-ibC-5858I-pv6M-req.o S-pec5858B-eA-E-xpectation40U-N-I-X-S-ocket41.o F-akeR-ootC-ontext.o S-pec5858S-tartW-ithE-xpectation40T-41.o S-pec5858S-tartW-ithE-xpectation40S-tring41.o S-pec5858E-ndW-ithE-xpectation40T-41.o S-pec5858E-ndW-ithE-xpectation40S-tring41.o A-rray40X-M-L-5858E-rror41.o P-ointer40X-M-L-5858E-rror41.o X-M-L-.o X-M-L-5858P-arserO-ptions.o X-M-L-5858N-ode.o X-M-L-5858X-P-athC-ontext.o X-M-L-5858N-amespace.o P-ointer40P-ointer40L-ibX-M-L-5858N-S-4141.o L-ibX-M-L-5858X-P-athO-bjectT-ype.o X-M-L-5858N-odeS-et.o 47home47buildozer-4b5e15eae096f9236cc3d41464e5c4dd.o A-rray40T-uple40F-d593e4bcd59302b163a196fea04031e7.o P-ointer40T-uple4-f53317e2832c5b317916ba886746900d.o A-rray40T-uple40T-0e386119c3823b04c3e5a49f331fd8da.o P-ointer40T-uple4-fe7e8e36d41a51526d88d23d0e2c8a1d.o S-pec5858M-ethods.o S-pec5858E-qualE-xpectation40S-lice40U-I-nt164141.o S-pec5858E-qualE--86f1992a632cfab629460ec1222c5720.o T-uple40S-tring4432P-ointer40U-I-nt164141.o S-ystem5858G-roup.o S-pec5858B-eA-E-xpectation40S-ystem5858G-roup41.o S-ystem5858U-ser.o S-pec5858B-eA-E-xpectation40S-ystem5858U-ser41.o T-ime5858F-ormat5858R-F-C-_2822.o T-ime5858F-ormat5858I-S-O-_8601_D-A-T-E-.o S-pec5858E-qualE-xpectation40T-ime5858L-ocation41.o S-pec5858B-eE-xpectation40T-ime5858L-ocation41.o S-pec5858E-qualE--01ea4ee1970aae6717de5ab8e82d7415.o S-pec5858E-qualE--677780ecc7ab18320a5cbcb7068582a0.o S-pec5858E-qualE--58fb5c74288cb6737677ae7a1406c386.o T-uple40I-nt644432I-nt6441.o E-numerable5858R-eflect40T-ime5858S-pan41.o A-rray40T-uple40T-97842bf8749d08a337e3b081fa6b7cae.o P-ointer40T-uple4-1800124a066a50f075f56aa5a2c99686.o S-pec5858C-loseE--adbdcfd1cfd565b51edc59cf71bacaab.o S-pec5858B-e40T-ime5858S-pan41.o S-pec5858E-qualE--9892d534be56bc0a1654efc8dd9b1d25.o A-rray40T-ime41.o P-ointer40T-ime41.o S-pec5858E-qualE-xpectation40A-rray40T-ime4141.o A-rray40T-uple40T-ime4432T-ime4141.o P-ointer40T-uple40T-ime4432T-ime4141.o S-teppable5858S-t-d5cbc982674fab6f88df46ff9887a2b0.o H-ash40S-tring443-0107857f5741d81e9ef43de71caa2df8.o P-ointer40H-ash58-d29b52fa3067fc5fa9bc9282081298d9.o H-ash5858E-ntry40-098fc5a3276d4a9d687cd00b547723c7.o T-estU-uidY-aml.o X-M-L-5858B-uilder.o X-M-L-5858H-T-M-L-P-arserO-ptions.o P-ointer40P-ointer40L-ibX-M-L-5858N-ode4141.o X-M-L-5858N-ode5858T-ype.o X-M-L-5858A-ttributes.o P-ointer40L-ibX-M-L-5858A-ttr41.o P-ointer40L-ibX-M-L-5858N-ode41.o X-M-L-5858R-eader.o S-pec5858B-eA-E-xpectation40X-M-L-5858R-eader41.o S-pec5858E-qualE--57bec4bdf3400c1e75e83dc67e254fa2.o X-M-L-5858R-eader5858T-ype.o S-pec5858B-eA-E-xpectation40X-M-L-5858N-ode41.o S-pec5858B-eA-E-x-7473b7ade35c797d8c7ba9a513a07502.o S-pec5858E-qualE-xpectation40X-M-L-5858N-ode41.o S-pec5858E-qualE--5cab7c6864ed6e5c45e9736f193a69d4.o X-M-L-5858S-aveO-ptions.o S-pec5858B-eA-E-xpectation40X-M-L-5858N-amespace41.o A-rray40X-M-L-5858N-amespace41.o P-ointer40X-M-L-5858N-amespace41.o 47home47buildozer-59bb8c1049be9f1608ae37a16857f9dc.o Y-A-M-L-.o Y-A-M-L-5858S-chema5858C-ore5858P-arser.o H-ash40S-tring4432Y-A-M-L-5858A-ny41.o P-ointer40H-ash58-f76a2b6be25054e7dc3ac7ee1b779a1c.o A-rray40Y-A-M-L-5858A-ny41.o P-ointer40Y-A-M-L-5858A-ny41.o Y-A-M-L-5858A-ny.o H-ash40Y-A-M-L-5858A-ny4432Y-A-M-L-5858A-ny41.o P-ointer40H-ash58-6ed8db2a7e9417dccbdeeb8b1e44dca9.o H-ash5858E-ntry40S-tring4432Y-A-M-L-5858A-ny41.o S-et40Y-A-M-L-5858A-ny41.o H-ash5858E-ntry40-4fab6a7005211d07c15d340bf31a9fac.o H-ash40Y-A-M-L-5858A-ny4432N-il41.o P-ointer40H-ash58-ecd679dc0aaa11b5d72492e91ca7d761.o H-ash5858E-ntry40Y-A-M-L-5858A-ny4432N-il41.o S-pec5858B-eA-E-xpectation40Y-A-M-L-5858A-ny41.o S-pec5858B-eE-xpe-20505080652186767511d5941ceb68c2.o Y-A-M-L-A-ttrP-oint.o S-pec5858E-qualE-xpectation40Y-A-M-L-A-ttrP-oint41.o Y-A-M-L-A-ttrE-mptyC-lass.o Y-A-M-L-A-ttrE-mptyC-lassW-ithU-nmapped.o Y-A-M-L-A-ttrP-erson.o S-pec5858B-eA-E-xpectation40Y-A-M-L-A-ttrP-erson41.o A-rray40Y-A-M-L-A-ttrP-erson41.o P-ointer40Y-A-M-L-A-ttrP-erson41.o Y-A-M-L-A-ttrP-er-5cd68ec1b8a917be82022558a9640136.o S-pec5858E-qualE--7424aab02b91ff300c66aded44b94d9e.o S-trictY-A-M-L-A-ttrP-erson.o Y-A-M-L-A-ttrP-ersonW-ithS-electiveS-erialization.o S-pec5858E-qualE--d458abb2c70f502d381d86cc1e9469fa.o Y-A-M-L-A-ttrW-ithB-ool.o Y-A-M-L-A-ttrP-ersonE-xtraF-ields.o H-ash40S-tring443-8282bc88b4bcdeb3dcbebce5789c4e22.o P-ointer40H-ash58-78ca41bd11bd88f97c01703442772afc.o H-ash5858E-ntry40-1d7bf5c4a586a76acf2f361fdc53f896.o S-pec5858E-qualE--c1835500d7dae92dc4bd709d6aa0ae2e.o Y-A-M-L-A-ttrP-ersonE-mittingN-ull.o Y-A-M-L-A-ttrP-ersonE-mittingN-ullsB-yO-ptions.o Y-A-M-L-A-ttrW-ithT-ime.o Y-A-M-L-A-ttrW-ithS-impleM-apping.o S-pec5858B-eA-E-x-402e987c097ea050a269efe053ee3c17.o Y-A-M-L-A-ttrW-ithN-ilableT-ime.o Y-A-M-L-A-ttrW-ithN-ilableT-imeE-mittingN-ull.o Y-A-M-L-A-ttrW-ithP-ropertiesK-ey.o Y-A-M-L-A-ttrW-ithK-eywordsM-apping.o Y-A-M-L-A-ttrW-ithA-ny.o H-ash40S-ymbol4432A-rray40S-tring4141.o P-ointer40H-ash58-17cd5d6113e6cfb4b64a524650a1f07f.o H-ash5858E-ntry40S-ymbol4432A-rray40S-tring4141.o H-ash40S-ymbol4432H-ash40S-ymbol4432S-ymbol4141.o P-ointer40H-ash58-6548f8591ffba493ad305d0017aaac1b.o H-ash5858E-ntry40-03075c83a1286aa22052c7b6ceb4db89.o Y-A-M-L-A-ttrW-ithP-roblematicK-eys.o Y-A-M-L-A-ttrW-ithS-mallI-ntegers.o Y-A-M-L-A-ttrR-ecursive.o S-pec5858B-eE-xpe-f8470bdd96b46cdf1b189b5062fab983.o Y-A-M-L-A-ttrR-ecursiveN-ilable.o 40Y-A-M-L-A-ttrR-ecursiveN-ilable3212432N-il41.o S-pec5858B-eE-xpe-c35424ba1547b8d9464a250c4bd20c00.o Y-A-M-L-A-ttrR-ecursiveA-rray.o A-rray40Y-A-M-L-A-ttrR-ecursiveA-rray41.o P-ointer40Y-A-M-L-A-ttrR-ecursiveA-rray41.o S-pec5858B-eE-xpe-657d91ea5fe722a4dfd9740f9224fee1.o Y-A-M-L-A-ttrR-ecursiveH-ash.o H-ash40S-tring4432Y-A-M-L-A-ttrR-ecursiveH-ash41.o P-ointer40H-ash58-98e28c3125db661e21f5d6b5d0449069.o H-ash5858E-ntry40-5de4981bb05beed4a810ae0de486f56f.o S-pec5858B-eE-xpe-55c4957712678bddf1fe82b19b0abcf2.o Y-A-M-L-A-ttrW-ithD-efaults.o Y-A-M-L-A-ttrW-ithT-imeE-poch.o Y-A-M-L-A-ttrW-ithT-imeE-pochM-illis.o Y-A-M-L-A-ttrW-ithN-ilableU-nion.o Y-A-M-L-A-ttrW-ithN-ilableU-nion2.o Y-A-M-L-A-ttrW-ithP-resence.o Y-A-M-L-A-ttrW-ithQ-ueryA-ttributes.o Y-A-M-L-A-ttrW-ithF-inalize.o Y-A-M-L-A-ttrM-oduleT-est.o Y-A-M-L-A-ttrM-oduleT-est2.o Y-A-M-L-A-ttrM-oduleT-est43.o Y-A-M-L-S-hape.o Y-A-M-L-P-oint.o Y-A-M-L-C-ircle.o Y-A-M-L-S-hape43.o Y-A-M-L-W-ithS-hape.o Y-A-M-L-V-ariableD-iscriminatorV-alueT-ype.o Y-A-M-L-V-ariableD-iscriminatorN-umber.o Y-A-M-L-V-ariableD-iscriminatorS-tring.o Y-A-M-L-V-ariableD-iscriminatorB-ool.o Y-A-M-L-V-ariableD-iscriminatorE-num.o Y-A-M-L-V-ariableD-iscriminatorE-num8.o S-pec5858B-eA-E-x-96c5b94676f467fee969005b6df4384a.o Y-A-M-L-V-ariableD-iscriminatorV-alueT-ype43.o S-pec5858B-eA-E-x-860721d015aff069e7f49078a9245f4e.o S-pec5858B-eA-E-x-0245e29c027ef3bcba677b1cf456bc8e.o S-pec5858B-eA-E-x-141fc44ea118d8c6c271009339b7963a.o S-pec5858B-eA-E-x-947700914fa821e22009dc10c6c10276.o Y-A-M-L-N-amespace5858F-ooR-equest.o Y-A-M-L-N-amespace5858B-ar.o Y-A-M-L-N-amespace5858F-oo.o S-pec5858E-qualE--1474ff97ed464b3abc9e38dfcb90ca43.o T-uple40I-nt324432S-tring4432B-ool41.o S-pec5858E-qualE--89f770b478d1d2c70e817524bfbdc5a7.o Y-A-M-L-S-pecE-num.o S-pec5858E-qualE-xpectation40Y-A-M-L-S-pecE-num41.o Y-A-M-L-S-pecF-lagE-num.o S-pec5858E-qualE--292da28a0db6e052a35597a28dc8a9be.o E-num5858V-alueC-onverter40Y-A-M-L-S-pecE-num41.o E-num5858V-alueC--4d3f07dda7747197abb7afdd7b9be84a.o A-rray40I-nt323212432S-tring3212432N-il41.o P-ointer40I-nt323212432S-tring3212432N-il41.o 40I-nt323212432S-tring3212432N-il41.o S-pec5858E-qualE--3eb3a97822e99b23ed412c807ed6bb45.o 47home47buildozer-755f5c1c99123af3a1f6a2e8c093d497.o H-ash40S-ymbol443-72875b16a33cd81bea44f1bc06841af4.o P-ointer40H-ash58-04e71722af90d698e6024509ebc22841.o H-ash5858E-ntry40-bcb7d52437a45bd068564d20a5de291d.o A-rray40Y-amlR-ec41.o P-ointer40A-rray4-1549958ef7d8dbbf03864452d60ce73d.o H-ash40Y-amlR-ec4432Y-amlR-ec41.o P-ointer40H-ash58-fa12166a5079c15a1f2a2e4bc3bc4543.o H-ash5858E-ntry40Y-amlR-ec4432Y-amlR-ec41.o S-pec5858E-qualE--6d3fec4f6cb624767896793aa465a2e7.o S-pec5858E-qualE--d79fb358b0375074e620e586ec22319f.o S-pec5858B-eE-xpe-690ef89c853b14fc776c8600eba46032.o H-ash40S-tring443-d8ccb1862c189c9c97d9e84a9397a2f1.o P-ointer40H-ash58-40ab0d2eeca9a83ec5e9ce5202f0ad5b.o H-ash5858E-ntry40-022f7d637c4972ecd20070ff8644cfc0.o S-pec5858E-qualE--92b5f58721a95ce60ef76b459c21e8e8.o S-pec5858E-qualE--cb6f0a098a9f3a94f730ad27c04c371d.o 47home47buildozer-c05be0c6c926cd772c433ca290bcf47f.o 47home47buildozer-9d80f5af55dbd62a37c88c506ba3f2e4.o Y-A-M-L-5858S-chema5858F-ailS-afe.o Y-A-M-L-5858S-chema5858F-ailS-afe5858P-arser.o A-rray40H-ash40S--f8b9275749c4a8aed4786fda314175b0.o P-ointer40H-ash40-cbcbe5b53c3e1264a8e9e30d549c3670.o S-pec5858E-qualE--d0fd48ef93dfd4f6b3baca40f4a2552c.o C-rystal5858O-nceS-tate.o A-rray40P-ointer40B-ool4141.o P-ointer40P-ointer40B-ool4141.o P-roc40N-il41.o L-E-B-R-eader.o L-ibU-nwind5858A-ction.o L-ibU-nwind5858R-easonC-ode.o C-rystal.o -o /home/buildozer/aports/community/crystal/src/crystal-1.2.0/.build/std_spec -rdynamic -lxml2 /home/buildozer/aports/community/crystal/src/crystal-1.2.0/src/llvm/ext/llvm_ext.o `"/usr/lib/llvm12/bin/llvm-config" --libs --system-libs --ldflags 2> /dev/null` -lstdc++ `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'` `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libcrypto || printf %s '-lcrypto'` -lz -lyaml -lgmp -lpcre -lm -lgc -lpthread -levent -lrt In src/uri/encoding.cr:119:25 119 | String.build { |io| encode(string, io, space_to_plus: space_to_plus) } ^----- Warning: Deprecated URI.encode:space_to_plus. Use `.encode_path` instead. A total of 1 warnings were found. [13/13] Codegen (linking) .build/std_spec --no-color --verbose 0.2.5 Array new creates with default value creates with default value creates with default value in block creates with default value in block raises on negative count raises on negative count raises on negative capacity raises on negative capacity == compares empty compares empty compares elements compares elements compares other compares other & small arrays small arrays big arrays big arrays | small arrays small arrays large arrays large arrays does + does + does + with empty tuple converted to array (#909) does + with empty tuple converted to array (#909) - does it does it does with larger array coming second does with larger array coming second does with even larger arrays does with even larger arrays does * does * [] gets on positive index gets on positive index gets on negative index gets on negative index gets on inclusive range gets on inclusive range gets on inclusive range with negative indices gets on inclusive range with negative indices gets on exclusive range gets on exclusive range gets on exclusive range with negative indices gets on exclusive range with negative indices gets on range with start higher than end gets on range with start higher than end gets on range with start higher than negative end gets on range with start higher than negative end gets on range without end gets on range without end gets on range without begin gets on range without begin raises on index out of bounds with range raises on index out of bounds with range raises on index out of bounds with range without end raises on index out of bounds with range without end gets with start and count gets with start and count gets with start and count exceeding size gets with start and count exceeding size gets with negative start gets with negative start raises on index out of bounds with start and count raises on index out of bounds with start and count raises on negative count raises on negative count raises on index out of bounds raises on index out of bounds raises on negative count raises on negative count raises on negative count on empty Array raises on negative count on empty Array gets 0, 0 on empty array gets 0, 0 on empty array gets 0 ... 0 on empty array gets 0 ... 0 on empty array doesn't exceed limits doesn't exceed limits returns empty if at end returns empty if at end raises on too negative left bound raises on too negative left bound []? gets with index gets with index gets with range gets with range gets with start and count gets with start and count gets with range without end gets with range without end gets with range without beginning gets with range without beginning []= sets on positive index sets on positive index sets on negative index sets on negative index replaces a subrange with a single value replaces a subrange with a single value replaces a subrange with an array replaces a subrange with an array optimizes when index is 0 optimizes when index is 0 replaces entire range with a value for empty array (#8341) replaces entire range with a value for empty array (#8341) pushes a new value with []=(...) pushes a new value with []=(...) replaces entire range with an array for empty array (#8341) replaces entire range with an array for empty array (#8341) concats a new array with []=(...) concats a new array with []=(...) values_at returns the given indexes returns the given indexes raises when passed an invalid index raises when passed an invalid index works with mixed types works with mixed types find the element by using binary search find the element by using binary search find the index by using binary search find the index by using binary search does clear does clear does clone does clone does clone with recursive array does clone with recursive array does compact does compact does compact! does compact! concat concats small arrays concats small arrays concats large arrays concats large arrays concats enumerable concats enumerable concats enumerable to empty array (#2047) concats enumerable to empty array (#2047) concats a union of arrays concats a union of arrays delete deletes many deletes many delete not found delete not found delete_at deletes positive index deletes positive index deletes at beginning is same as shift deletes at beginning is same as shift deletes use range deletes use range deletes with index and count deletes with index and count returns empty if at end returns empty if at end deletes negative index deletes negative index deletes negative index with range deletes negative index with range deletes negative index with range, out of bounds deletes negative index with range, out of bounds deletes out of bounds deletes out of bounds does dup does dup does each_index does each_index empty is empty is empty is not empty is not empty does equals? with custom block does equals? with custom block #fill replaces all values replaces all values replaces only values between index and size replaces only values between index and size replaces only values between index and size (2) replaces only values between index and size (2) replaces all values from index onwards replaces all values from index onwards raises when given big negative number (#4539) raises when given big negative number (#4539) replaces only values between negative index and size replaces only values between negative index and size raises when given big negative number in from/count (#4539) raises when given big negative number in from/count (#4539) replaces only values in range replaces only values in range replaces only values in range without end replaces only values in range without end replaces only values in range begin replaces only values in range begin works with a block works with a block first gets first when non empty gets first when non empty raises when empty raises when empty returns a sub array with given number of elements returns a sub array with given number of elements first? gets first? when non empty gets first? when non empty gives nil when empty gives nil when empty does hash does hash index performs without a block performs without a block performs without a block and offset performs without a block and offset performs with a block performs with a block performs with a block and offset performs with a block and offset raises if out of bounds raises if out of bounds insert inserts with positive index inserts with positive index inserts with negative index inserts with negative index inserts with negative index (2) inserts with negative index (2) inserts out of range inserts out of range inspect assert assert last gets last when non empty gets last when non empty raises when empty raises when empty returns a sub array with given number of elements returns a sub array with given number of elements size has size 0 has size 0 has size 2 has size 2 does map does map does map! does map! pop pops when non empty pops when non empty raises when empty raises when empty pops many elements pops many elements pops more elements that what is available pops more elements that what is available pops negative count raises pops negative count raises does product with block does product with block does product without block does product without block push pushes one element pushes one element pushes multiple elements pushes multiple elements pushes multiple elements to an empty array pushes multiple elements to an empty array has the << alias has the << alias does replace does replace does reverse with an odd number of elements does reverse with an odd number of elements does reverse with an even number of elements does reverse with an even number of elements does reverse! with an odd number of elements does reverse! with an odd number of elements does reverse! with an even number of elements does reverse! with an even number of elements rindex performs without a block performs without a block performs without a block and an offset performs without a block and an offset performs with a block performs with a block performs with a block and offset performs with a block and offset shift shifts when non empty shifts when non empty raises when empty raises when empty shifts many elements shifts many elements shifts more than what is available shifts more than what is available shifts negative count raises shifts negative count raises shifts one and resizes shifts one and resizes shifts almost all and then avoid resize shifts almost all and then avoid resize shifts and then concats Array shifts and then concats Array shifts and then concats Enumerable shifts and then concats Enumerable shifts all shifts all shifts all after pop shifts all after pop pops after shift pops after shift shifts all with shift(n) shifts all with shift(n) shuffle shuffle! shuffle! shuffle shuffle shuffle! with random shuffle! with random shuffle with random shuffle with random sort #sort without block without block with a block with a block stable sort without a block stable sort without a block stable sort with a block stable sort with a block #sort! without block without block with a block with a block stable sort without a block stable sort without a block stable sort with a block stable sort with a block #sort_by sorts sorts unpacks tuple unpacks tuple stable sort stable sort #sort_by! sorts sorts calls given block exactly once for each element calls given block exactly once for each element stable sort stable sort #unstable_sort without block without block with a block with a block #unstable_sort! without block without block with a block with a block #unstable_sort_by sorts sorts unpacks tuple unpacks tuple #unstable_sort_by! sorts sorts calls given block exactly once for each element calls given block exactly once for each element swap swaps swaps swaps with negative indices swaps with negative indices swaps but raises out of bounds on left swaps but raises out of bounds on left swaps but raises out of bounds on right swaps but raises out of bounds on right to_s does to_s does to_s does with recursive does with recursive #truncate truncates with index and count truncates with index and count truncates with index and count == 0 truncates with index and count == 0 truncates with index and count, not enough elements truncates with index and count, not enough elements truncates with index == size and count truncates with index == size and count truncates with index < 0 and count truncates with index < 0 and count raises on out of bound index raises on out of bound index raises on negative count raises on negative count truncates with range truncates with range uniq uniqs without block uniqs without block uniqs with block uniqs with block uniqs with true uniqs with true uniqs large array uniqs large array uniq! uniqs without block uniqs without block uniqs with block uniqs with block uniqs with true uniqs with true uniqs large array uniqs large array unshift unshifts one element unshifts one element unshifts one elements three times unshifts one elements three times unshifts one element multiple times unshifts one element multiple times unshifts multiple elements unshifts multiple elements unshifts multiple elements to an empty array unshifts multiple elements to an empty array unshifts after shift unshifts after shift unshifts many after many shifts unshifts many after many shifts repeated unshift/shift does not exhaust memory repeated unshift/shift does not exhaust memory repeated unshift/pop does not exhaust memory (#10748) repeated unshift/pop does not exhaust memory (#10748) repeated unshift/clear does not exhaust memory repeated unshift/clear does not exhaust memory does update does update does <=> does <=> does each while modifying array does each while modifying array does each index while modifying array does each index while modifying array zip when a block is provided yields pairs of self's elements and passed array yields pairs of self's elements and passed array works with iterable works with iterable works with iterator works with iterator when no block is provided and the arrays have different typed elements returns an array of paired elements (tuples) returns an array of paired elements (tuples) works with iterable works with iterable works with iterator works with iterator zips three things zips three things zips union type (#8608) zips union type (#8608) zip? when a block is provided and size of an arg is less than receiver yields pairs of self's elements and passed array (with nil) yields pairs of self's elements and passed array (with nil) works with iterable works with iterable works with iterator works with iterator when no block is provided and the arrays have different typed elements and size of an arg is less than receiver returns an array of paired elements (tuples with nil) returns an array of paired elements (tuples with nil) works with iterable works with iterable works with iterator works with iterator zips three things zips three things zips union type (#8608) zips union type (#8608) does compact_map does compact_map does compact_map with false does compact_map with false builds from buffer builds from buffer selects! selects! selects! with pattern selects! with pattern rejects! rejects! rejects! with pattern rejects! with pattern does map_with_index does map_with_index does map_with_index, with offset does map_with_index, with offset does map_with_index! does map_with_index! does map_with_index!, with offset does map_with_index!, with offset does + with different types (#568) does + with different types (#568) "#each" yielding "#each" yielding "#each" iterator "#each" iterator "#reverse_each" yielding "#reverse_each" yielding "#reverse_each" iterator "#reverse_each" iterator "#cycle" yielding "#cycle" yielding "#cycle" iterator "#cycle" iterator "#cycle(limit)" yielding "#cycle(limit)" yielding "#cycle(limit)" iterator "#cycle(limit)" iterator "#each_index" yielding "#each_index" yielding "#each_index" iterator "#each_index" iterator transpose transposes elements transposes elements transposes union of arrays transposes union of arrays transposes empty array transposes empty array raises IndexError error when size of element is invalid raises IndexError error when size of element is invalid transposes array of tuples transposes array of tuples rotate rotate! rotate! rotate rotate assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert repeated_permutations assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert accepts a block accepts a block yielding dup of arrays yielding dup of arrays yields with reuse = true yields with reuse = true yields with reuse = array yields with reuse = array assert assert Array.each_product one empty array one empty array single array single array 2 arrays 2 arrays 2 arrays different types 2 arrays different types more arrays more arrays more arrays, reuse = true more arrays, reuse = true with splat with splat Array.product with array with array with splat with splat doesn't overflow buffer with Array.new(size, value) (#1209) doesn't overflow buffer with Array.new(size, value) (#1209) flattens flattens #skip #skip Atomic(T) compares and sets with integer compares and sets with integer compares and set with enum compares and set with enum compares and set with flags enum compares and set with flags enum compares and sets with nilable type compares and sets with nilable type compares and sets with reference type compares and sets with reference type #adds #adds #sub #sub #and #and #nand #nand #or #or #xor #xor #max with signed #max with signed #max with unsigned #max with unsigned #min with signed #min with signed #min with unsigned #min with unsigned #set #set #set with nil (#4062) #set with nil (#4062) #lazy_set #lazy_set #swap #swap #swap with Reference type #swap with Reference type #swap with nil #swap with nil Atomic::Flag #test_and_set #test_and_set #clear #clear Base64 simple test encode "" to "" encode "" to "" decode from "" to "" decode from "" to "" encode "a" to "YQ==\n" encode "a" to "YQ==\n" decode from "YQ==\n" to "a" decode from "YQ==\n" to "a" encode "ab" to "YWI=\n" encode "ab" to "YWI=\n" decode from "YWI=\n" to "ab" decode from "YWI=\n" to "ab" encode "abc" to "YWJj\n" encode "abc" to "YWJj\n" decode from "YWJj\n" to "abc" decode from "YWJj\n" to "abc" encode "abcd" to "YWJjZA==\n" encode "abcd" to "YWJjZA==\n" decode from "YWJjZA==\n" to "abcd" decode from "YWJjZA==\n" to "abcd" encode "abcde" to "YWJjZGU=\n" encode "abcde" to "YWJjZGU=\n" decode from "YWJjZGU=\n" to "abcde" decode from "YWJjZGU=\n" to "abcde" encode "abcdef" to "YWJjZGVm\n" encode "abcdef" to "YWJjZGVm\n" decode from "YWJjZGVm\n" to "abcdef" decode from "YWJjZGVm\n" to "abcdef" encode "abcdefg" to "YWJjZGVmZw==\n" encode "abcdefg" to "YWJjZGVmZw==\n" decode from "YWJjZGVmZw==\n" to "abcdefg" decode from "YWJjZGVmZw==\n" to "abcdefg" in multiple places decode from "YWJj\nZA==\n" to "abcd" decode from "YWJj\nZA==\n" to "abcd" decode from "YWJj\nZGU=\n" to "abcde" decode from "YWJj\nZGU=\n" to "abcde" decode from "YWJj\nZGVm\n" to "abcdef" decode from "YWJj\nZGVm\n" to "abcdef" decode from "YWJj\nZGVm\nZw==\n" to "abcdefg" decode from "YWJj\nZGVm\nZw==\n" to "abcdefg" encodes byte slice encodes byte slice encodes static array encodes static array base encode "Send reinforcements" to "U2VuZCByZWluZm9yY2VtZW50cw==\n" encode "Send reinforcements" to "U2VuZCByZWluZm9yY2VtZW50cw==\n" decode from "U2VuZCByZWluZm9yY2VtZW50cw==\n" to "Send reinforcements" decode from "U2VuZCByZWluZm9yY2VtZW50cw==\n" to "Send reinforcements" encode "Now is the time for all good coders\nto learn Crystal" to "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n" encode "Now is the time for all good coders\nto learn Crystal" to "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n" decode from "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n" to "Now is the time for all good coders\nto learn Crystal" decode from "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n" to "Now is the time for all good coders\nto learn Crystal" encode "This is line one\nThis is line two\nThis is line three\nAnd so on...\n" to "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n" encode "This is line one\nThis is line two\nThis is line three\nAnd so on...\n" to "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n" decode from "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n" to "This is line one\nThis is line two\nThis is line three\nAnd so on...\n" decode from "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n" to "This is line one\nThis is line two\nThis is line three\nAnd so on...\n" encode "hahah⊙ⓧ⊙" to "aGFoYWjiipnik6fiipk=\n" encode "hahah⊙ⓧ⊙" to "aGFoYWjiipnik6fiipk=\n" decode from "aGFoYWjiipnik6fiipk=\n" to "hahah⊙ⓧ⊙" decode from "aGFoYWjiipnik6fiipk=\n" to "hahah⊙ⓧ⊙" decode from strict form decode from strict form encode to stream returns number of written characters encode to stream returns number of written characters decode from stream returns number of written bytes decode from stream returns number of written bytes big message big message works for most characters works for most characters decode cases decode decode decode in multiple places decode in multiple places raise error when in incorrect place raise error when in incorrect place raise error when incorrect symbol raise error when incorrect symbol raise error when incorrect size raise error when incorrect size decode small tail after last , was a bug decode small tail after last , was a bug scrict encode encode with spec symbols with spec symbols encode to stream returns number of written characters encode to stream returns number of written characters urlsafe work work encode to stream returns number of written characters encode to stream returns number of written characters Benchmark::IPS::Job works in general / integration test works in general / integration test Benchmark::IPS::Entry sets the number of cycles needed to make 100ms sets the number of cycles needed to make 100ms sets the cycles to 1 no matter what sets the cycles to 1 no matter what Benchmark::IPS::Entry correctly calculates basic stats correctly calculates basic stats Benchmark::IPS::Entry assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert Benchmark::IPS::Entry assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert BitArray has size has size is initially empty is initially empty sets first bit to true sets first bit to true sets second bit to true sets second bit to true sets first bit to false sets first bit to false sets second bit to false sets second bit to false sets last bit to true with negative index sets last bit to true with negative index == compares empty compares empty compares elements compares elements compares other compares other compares other initialized with true (#8543) compares other initialized with true (#8543) compares other type compares other type [] gets on inclusive range gets on inclusive range gets on inclusive range with negative indices gets on inclusive range with negative indices gets on exclusive range gets on exclusive range gets on exclusive range with negative indices gets on exclusive range with negative indices gets on range with start higher than end gets on range with start higher than end gets on range with start higher than negative end gets on range with start higher than negative end gets on endless range gets on endless range gets on beginless range gets on beginless range raises on index out of bounds with range raises on index out of bounds with range gets with start and count gets with start and count gets with start and count exceeding size gets with start and count exceeding size gets with negative start gets with negative start raises on index out of bounds with start and count raises on index out of bounds with start and count raises on negative count raises on negative count raises on index out of bounds raises on index out of bounds raises on negative count raises on negative count raises on negative count on empty Array raises on negative count on empty Array gets 0, 0 on empty array gets 0, 0 on empty array gets (0..0) on empty array gets (0..0) on empty array doesn't exceed limits doesn't exceed limits returns empty if at end returns empty if at end raises on too negative left bound raises on too negative left bound gets on medium bitarrays gets on medium bitarrays gets on large bitarrays gets on large bitarrays preserves equality preserves equality does not cause overflow (#8494) does not cause overflow (#8494) zeroes unused bits zeroes unused bits #toggle toggles a bit toggles a bit toggles with index and count toggles with index and count toggles with index and count, not enough bits toggles with index and count, not enough bits toggles with index == size and count toggles with index == size and count toggles with index < 0 and count toggles with index < 0 and count raises on out of bound index raises on out of bound index raises on negative count raises on negative count toggles with range toggles with range inverts all bits inverts all bits #rotate! rotates empty BitArray rotates empty BitArray rotates short BitArray rotates short BitArray rotates medium BitArray rotates medium BitArray rotates large BitArray rotates large BitArray raises when out of bounds raises when out of bounds does to_s and inspect does to_s and inspect initializes with true by default initializes with true by default initializes with unused bits cleared initializes with unused bits cleared reads bits from slice reads bits from slice read bits written from slice read bits written from slice "#each" yielding "#each" yielding "#each" iterator "#each" iterator "#each_index" yielding "#each_index" yielding "#each_index" iterator "#each_index" iterator "#reverse_each" yielding "#reverse_each" yielding "#reverse_each" iterator "#reverse_each" iterator provides dup provides dup Bool ! assert assert assert assert | assert assert assert assert assert assert assert assert & assert assert assert assert assert assert assert assert ^ assert assert assert assert assert assert assert assert hash assert assert to_unsafe assert assert assert assert to_s assert assert assert assert clone assert assert assert assert Box boxes and unboxes boxes and unboxes boxing a reference returns the same pointer boxing a reference returns the same pointer boxing nil returns a null pointer boxing nil returns a null pointer Channel(T) creates unbuffered with no arguments creates unbuffered with no arguments creates buffered with capacity argument creates buffered with capacity argument send returns channel send returns channel does receive_first does receive_first does send_first does send_first does not raise or change its status when it is closed more than once does not raise or change its status when it is closed more than once .select receive raise-on-close single-channel types types types nilable channel types nilable channel raises if channel was closed raises if channel was closed raises if channel is closed while waiting raises if channel is closed while waiting awakes all waiting selects awakes all waiting selects receive raise-on-close multi-channel types types receive nil-on-close single-channel types types types nilable channel types nilable channel returns nil if channel was closed returns nil if channel was closed returns nil channel is closed while waiting returns nil channel is closed while waiting awakes all waiting selects awakes all waiting selects receive nil-on-close multi-channel types types returns index of closed channel returns index of closed channel mix of receive and receive? multi-channel raises if receive channel was closed and receive? channel was not ready raises if receive channel was closed and receive? channel was not ready returns nil if receive channel was not ready and receive? channel was closed returns nil if receive channel was not ready and receive? channel was closed send raise-on-close single-channel types types types nilable channel types nilable channel raises if channel was closed raises if channel was closed raises if channel is closed while waiting raises if channel is closed while waiting awakes all waiting selects awakes all waiting selects send raise-on-close multi-channel types types timeout types types triggers timeout triggers timeout triggers timeout (reverse order) triggers timeout (reverse order) triggers timeout (same fiber multiple times) triggers timeout (same fiber multiple times) allows receiving while waiting allows receiving while waiting allows receiving while waiting (reverse order) allows receiving while waiting (reverse order) allows receiving while waiting (same fiber multiple times) allows receiving while waiting (same fiber multiple times) negative amounts should not trigger timeout negative amounts should not trigger timeout send raise-on-close raises if channel was closed while waiting send raise-on-close raises if channel was closed while waiting receive raise-on-close raises if channel was closed while waiting receive raise-on-close raises if channel was closed while waiting receive nil-on-close returns index of closed while waiting receive nil-on-close returns index of closed while waiting .non_blocking_select receive raise-on-close single-channel types types receive raise-on-close multi-channel types types receive nil-on-close single-channel types types returns nil if channel was closed returns nil if channel was closed mix of receive and receive? multi-channel raises if receive channel was close and receive? channel was not ready raises if receive channel was close and receive? channel was not ready returns nil if receive channel was not ready and receive? channel was closed returns nil if receive channel was not ready and receive? channel was closed send raise-on-close single-channel types types send raise-on-close multi-channel types types timeout types types should not trigger timeout should not trigger timeout negative amounts should not trigger timeout negative amounts should not trigger timeout send raise-on-close raises if channel was closed while waiting send raise-on-close raises if channel was closed while waiting receive raise-on-close raises if channel was closed while waiting receive raise-on-close raises if channel was closed while waiting receive nil-on-close returns index of closed while waiting receive nil-on-close returns index of closed while waiting unbuffered pings pings blocks if there is no receiver blocks if there is no receiver deliver many senders deliver many senders works with select works with select can send and receive nil can send and receive nil can be closed can be closed can be closed after sending can be closed after sending can be closed from different fiber can be closed from different fiber cannot send if closed cannot send if closed can receive? when closed can receive? when closed can receive? when not empty can receive? when not empty wakes up sender fiber when channel is closed wakes up sender fiber when channel is closed wakes up receiver fibers when channel is closed wakes up receiver fibers when channel is closed can send successfully without raise can send successfully without raise buffered pings pings blocks when full blocks when full doesn't block when not full doesn't block when not full gets ready with data gets ready with data works with select works with select can send and receive nil can send and receive nil can be closed can be closed can be closed after sending can be closed after sending can be closed from different fiber can be closed from different fiber cannot send if closed cannot send if closed can receive? when closed can receive? when closed can receive? when not empty can receive? when not empty can send successfully without raise can send successfully without raise does inspect on unbuffered channel does inspect on unbuffered channel does inspect on buffered channel does inspect on buffered channel does pretty_inspect on unbuffered channel does pretty_inspect on unbuffered channel does pretty_inspect on buffered channel does pretty_inspect on buffered channel Char upcase assert assert assert assert downcase assert assert assert assert assert assert assert assert succ assert assert assert assert pred assert assert assert assert + assert assert - assert assert ascii_uppercase? assert assert assert assert assert assert assert assert uppercase? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert ascii_lowercase? assert assert assert assert assert assert assert assert lowercase? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert ascii_letter? assert assert assert assert assert assert assert assert alphanumeric? assert assert assert assert assert assert assert assert ascii_whitespace? assert assert assert assert assert assert assert assert assert assert assert assert assert assert hex? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert dumps dumps inspects inspects escapes escapes escapes with unicode escapes with unicode does to_i without a base does to_i without a base does to_i with 16 base does to_i with 16 base does to_i with base 36 does to_i with base 36 to_i rejects unsupported base (1) to_i rejects unsupported base (1) to_i rejects unsupported base (37) to_i rejects unsupported base (37) does to_f does to_f does ord for multibyte char does ord for multibyte char does to_s for single-byte char does to_s for single-byte char does to_s for multibyte char does to_s for multibyte char index assert assert assert assert does <=> does <=> #step "basic" yielding "basic" yielding "basic" iterator "basic" iterator "basic by" yielding "basic by" yielding "basic by" iterator "basic by" iterator + does for both ascii does for both ascii does for both unicode does for both unicode bytesize does for ascii does for ascii does for unicode does for unicode in_set? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert rejects invalid ranges rejects invalid ranges does each_byte does each_byte does bytes does bytes #===(:Int) #===(:Int) does ascii_number? does ascii_number? does number? does number? does ascii_control? does ascii_control? does mark? does mark? does ascii? does ascii? clone assert assert Class does === does === casts, allowing the class to be passed in at runtime casts, allowing the class to be passed in at runtime does | does | dups dups clones clones #nilable #nilable does to_s does to_s does to_s with name redefined (#7292) does to_s with name redefined (#7292) comparison operators < < <= <= > > >= >= colorize colorizes without change colorizes without change colorizes foreground colorizes foreground colorizes foreground with 8-bit color colorizes foreground with 8-bit color colorizes foreground with true color colorizes foreground with true color colorizes background colorizes background colorizes background with 8-bit color colorizes background with 8-bit color colorizes background with true color colorizes background with true color colorizes mode colorizes mode colorizes mode combination colorizes mode combination colorizes foreground with background colorizes foreground with background colorizes foreground with background with mode colorizes foreground with background with mode colorizes foreground with symbol colorizes foreground with symbol colorizes mode with symbol colorizes mode with symbol raises on unknown foreground color raises on unknown foreground color raises on unknown background color raises on unknown background color raises on unknown mode raises on unknown mode inspects inspects colorizes with surround colorizes with surround colorizes with surround and reset colorizes with surround and reset colorizes with surround and no reset colorizes with surround and no reset colorizes with surround and default colorizes with surround and default colorizes with to_s colorizes with to_s toggles off toggles off toggles off and on toggles off and on Comparable(T) can compare against Int (#2461) can compare against Int (#2461) checks for nil checks for nil clamp number clamps integers clamps integers clamps floats clamps floats fails with an exclusive range fails with an exclusive range String clamps strings clamps strings Complex as numbers converts from Complex to Complex converts from Complex to Complex converts from Complex to Complex converts from Complex to Complex converts from Int8 to Complex converts from Int8 to Complex converts from Complex to Int8 converts from Complex to Int8 converts from UInt8 to Complex converts from UInt8 to Complex converts from Complex to UInt8 converts from Complex to UInt8 converts from Int16 to Complex converts from Int16 to Complex converts from Complex to Int16 converts from Complex to Int16 converts from UInt16 to Complex converts from UInt16 to Complex converts from Complex to UInt16 converts from Complex to UInt16 converts from Int32 to Complex converts from Int32 to Complex converts from Complex to Int32 converts from Complex to Int32 converts from UInt32 to Complex converts from UInt32 to Complex converts from Complex to UInt32 converts from Complex to UInt32 converts from Int64 to Complex converts from Int64 to Complex converts from Complex to Int64 converts from Complex to Int64 converts from UInt64 to Complex converts from UInt64 to Complex converts from Complex to UInt64 converts from Complex to UInt64 converts from Float32 to Complex converts from Float32 to Complex converts from Complex to Float32 converts from Complex to Float32 converts from Float64 to Complex converts from Float64 to Complex converts from Complex to Float64 converts from Complex to Float64 converts from Complex to Int8 converts from Complex to Int8 converts from Int8 to Complex converts from Int8 to Complex converts from Complex to UInt8 converts from Complex to UInt8 converts from UInt8 to Complex converts from UInt8 to Complex converts from Complex to Int16 converts from Complex to Int16 converts from Int16 to Complex converts from Int16 to Complex converts from Complex to UInt16 converts from Complex to UInt16 converts from UInt16 to Complex converts from UInt16 to Complex converts from Complex to Int32 converts from Complex to Int32 converts from Int32 to Complex converts from Int32 to Complex converts from Complex to UInt32 converts from Complex to UInt32 converts from UInt32 to Complex converts from UInt32 to Complex converts from Complex to Int64 converts from Complex to Int64 converts from Int64 to Complex converts from Int64 to Complex converts from Complex to UInt64 converts from Complex to UInt64 converts from UInt64 to Complex converts from UInt64 to Complex converts from Complex to Float32 converts from Complex to Float32 converts from Float32 to Complex converts from Float32 to Complex converts from Complex to Float64 converts from Complex to Float64 converts from Float64 to Complex converts from Float64 to Complex division between Int8 / Complex returns Complex division between Int8 / Complex returns Complex division between UInt8 / Complex returns Complex division between UInt8 / Complex returns Complex division between Int16 / Complex returns Complex division between Int16 / Complex returns Complex division between UInt16 / Complex returns Complex division between UInt16 / Complex returns Complex division between Int32 / Complex returns Complex division between Int32 / Complex returns Complex division between UInt32 / Complex returns Complex division between UInt32 / Complex returns Complex division between Int64 / Complex returns Complex division between Int64 / Complex returns Complex division between UInt64 / Complex returns Complex division between UInt64 / Complex returns Complex division between Float32 / Complex returns Complex division between Float32 / Complex returns Complex division between Float64 / Complex returns Complex division between Float64 / Complex returns Complex division between Complex / Int8 returns Complex division between Complex / Int8 returns Complex division between Complex / UInt8 returns Complex division between Complex / UInt8 returns Complex division between Complex / Int16 returns Complex division between Complex / Int16 returns Complex division between Complex / UInt16 returns Complex division between Complex / UInt16 returns Complex division between Complex / Int32 returns Complex division between Complex / Int32 returns Complex division between Complex / UInt32 returns Complex division between Complex / UInt32 returns Complex division between Complex / Int64 returns Complex division between Complex / Int64 returns Complex division between Complex / UInt64 returns Complex division between Complex / UInt64 returns Complex division between Complex / Float32 returns Complex division between Complex / Float32 returns Complex division between Complex / Float64 returns Complex division between Complex / Float64 returns Complex division between Complex / Complex returns Complex division between Complex / Complex returns Complex i i == complex == complex complex == complex complex == number complex == number number == complex number == complex to_s to_s inspect inspect abs abs abs2 abs2 sign sign phase phase polar polar cis cis conj conj inv inv + + complex + complex complex + complex complex + complex complex + number complex + number number + complex number + complex - - complex - complex complex - complex complex - complex complex - number complex - number number - complex number - complex * complex * complex complex * complex complex * number complex * number number * complex number * complex / complex / complex complex / complex complex / number complex / number number / complex number / complex clones clones hashes real without imag like real only hashes real without imag like real only test zero? test zero? rounds rounds Math exp exp log log log2 log2 log10 log10 sqrt sqrt concurrent spawn uses spawn macro uses spawn macro spawns named spawns named spawns named with macro spawns named with macro accepts method call with receiver accepts method call with receiver schedules intermitting sleeps schedules intermitting sleeps Deque implementation works the same as array works the same as array works the same as array when inserting at 1/8 size and deleting at 3/4 size works the same as array when inserting at 1/8 size and deleting at 3/4 size works the same as array when inserting at 3/4 size and deleting at 1/8 size works the same as array when inserting at 3/4 size and deleting at 1/8 size new creates with default value creates with default value creates with default value in block creates with default value in block creates from an array creates from an array raises on negative count raises on negative count raises on negative capacity raises on negative capacity == compares empty compares empty compares elements compares elements compares other compares other compares other types compares other types + does + does + does + with different types does + with different types [] gets on positive index gets on positive index gets on negative index gets on negative index gets nilable gets nilable []= sets on positive index sets on positive index sets on negative index sets on negative index does clear does clear does clone does clone does clone with recursive type does clone with recursive type concat concats deque concats deque concats large deques concats large deques concats enumerable concats enumerable delete deletes many deletes many delete not found delete not found delete_at deletes positive index deletes positive index deletes negative index deletes negative index deletes out of bounds deletes out of bounds does dup does dup does each does each does each_index does each_index empty is empty is empty is not empty is not empty does equals? with custom block does equals? with custom block first gets first when non empty gets first when non empty raises when empty raises when empty first? gets first? when non empty gets first? when non empty gives nil when empty gives nil when empty does hash does hash insert inserts with positive index inserts with positive index inserts with negative index inserts with negative index inserts with negative index (2) inserts with negative index (2) inserts out of range inserts out of range inspect assert assert last gets last when non empty gets last when non empty raises when empty raises when empty size has size 0 has size 0 has size 2 has size 2 pop pops when non empty pops when non empty raises when empty raises when empty pops many elements pops many elements pops more elements than what is available pops more elements than what is available pops negative count raises pops negative count raises push adds one element to the deque adds one element to the deque returns the deque returns the deque has the << alias has the << alias reject! with block with block with pattern with pattern rotate! rotates rotates rotates with size=capacity rotates with size=capacity rotates with size=0 rotates with size=0 rotates with size=1 rotates with size=1 select! with block with block with pattern with pattern shift shifts when non empty shifts when non empty raises when empty raises when empty shifts many elements shifts many elements shifts more than what is available shifts more than what is available shifts negative count raises shifts negative count raises swap swaps swaps swaps with negative indices swaps with negative indices swaps but raises out of bounds on left swaps but raises out of bounds on left swaps but raises out of bounds on right swaps but raises out of bounds on right to_s does to_s does to_s does with recursive does with recursive does unshift does unshift each iterator "#each" yielding "#each" yielding "#each" iterator "#each" iterator works while modifying deque works while modifying deque each_index iterator "#each_index" yielding "#each_index" yielding "#each_index" iterator "#each_index" iterator works while modifying deque works while modifying deque "#reverse_each" yielding "#reverse_each" yielding "#reverse_each" iterator "#reverse_each" iterator "#cycle" yielding "#cycle" yielding "#cycle" iterator "#cycle" iterator "#cycle(limit)" yielding "#cycle(limit)" yielding "#cycle(limit)" iterator "#cycle(limit)" iterator Dir tests exists? on existing directory tests exists? on existing directory tests exists? on existing file tests exists? on existing file tests exists? on nonexistent directory tests exists? on nonexistent directory tests exists? on a directory path to a file tests exists? on a directory path to a file empty? tests empty? on a full directory tests empty? on a full directory tests empty? on an empty directory tests empty? on an empty directory tests empty? on nonexistent directory tests empty? on nonexistent directory tests empty? on a directory path to a file tests empty? on a directory path to a file tests mkdir and delete with a new path tests mkdir and delete with a new path tests mkdir and rmdir with a new path tests mkdir and rmdir with a new path tests mkdir with an existing path tests mkdir with an existing path .mkdir_p with a new path with a new path path exists fails when path is a file fails when path is a file noop when path is a directory noop when path is a directory tests delete with an nonexistent path tests delete with an nonexistent path tests delete with a path that cannot be removed tests delete with a path that cannot be removed glob tests glob with a single pattern tests glob with a single pattern tests glob with multiple patterns tests glob with multiple patterns tests glob with a single pattern with block tests glob with a single pattern with block tests a recursive glob tests a recursive glob tests double recursive matcher (#10807) tests double recursive matcher (#10807) tests double recursive matcher, multiple paths tests double recursive matcher, multiple paths tests a recursive glob with '?' tests a recursive glob with '?' tests a recursive glob with alternation tests a recursive glob with alternation tests a glob with recursion inside alternation tests a glob with recursion inside alternation tests a recursive glob with nested alternations tests a recursive glob with nested alternations tests with * tests with * tests with ** (same as *) tests with ** (same as *) tests with */ tests with */ tests glob with a single pattern with extra slashes tests glob with a single pattern with extra slashes tests with relative path tests with relative path tests with relative path (starts with .) tests with relative path (starts with .) tests with relative path (starts with ..) tests with relative path (starts with ..) tests with relative path starting recursive tests with relative path starting recursive matches symlinks matches symlinks matches symlink dir matches symlink dir empty pattern empty pattern root pattern root pattern pattern ending with .. pattern ending with .. pattern ending with */.. pattern ending with */.. pattern ending with . pattern ending with . pattern ending with */. pattern ending with */. match_hidden: true matches hidden files matches hidden files match_hidden: false ignores hidden files ignores hidden files ignores hidden files recursively ignores hidden files recursively with path posix path posix path windows path windows path cd accepts string accepts string accepts path accepts path raises raises accepts a block with path accepts a block with path accepts a block with string accepts a block with string .current .current .tempdir returns default directory for tempfiles returns default directory for tempfiles returns configure directory for tempfiles returns configure directory for tempfiles opens with new opens with new opens with open opens with open #path returns init value returns init value lists entries lists entries lists children lists children does to_s does to_s gets dir iterator gets dir iterator gets child iterator gets child iterator double close doesn't error double close doesn't error raises on null byte errors on new errors on new errors on cd errors on cd errors on exists? errors on exists? errors on mkdir errors on mkdir errors on mkdir_p errors on mkdir_p errors on delete errors on delete Double ** assert assert assert assert assert assert Enum to_s for simple enum for simple enum for flags enum for flags enum for private enum for private enum creates an enum instance from an auto-casted symbol (#8573) creates an enum instance from an auto-casted symbol (#8573) gets value gets value gets value with to_i gets value with to_i does + does + does - does - sorts sorts does includes? does includes? each won't yield None won't yield None won't yield All won't yield All yields each member yields each member private enum private enum names for simple enum for simple enum for flags enum for flags enum values for simple enum for simple enum for flags enum for flags enum from_value? for simple enum for simple enum for flags enum for flags enum from_value for simple enum for simple enum for flags enum for flags enum for private enum for private enum valid? for simple enum for simple enum for flags enum for flags enum for Int64 enum for Int64 enum has hash has hash parses parses parses? parses? clones clones .flags non-flags enum non-flags enum flags enum flags enum private flags enum private flags enum each iterates each member iterates each member iterates each flag iterates each flag iterates private enum members iterates private enum members different enums classes not eq always different enums classes not eq always Enumerable all? with block returns true returns true returns false returns false all? without block returns true returns true returns false returns false all? with pattern returns true returns true returns false returns false any? with block returns true if at least one element fulfills the condition returns true if at least one element fulfills the condition returns false if all elements does not fulfill the condition returns false if all elements does not fulfill the condition any? without block returns true if at least one element is truthy returns true if at least one element is truthy returns false if all elements are falsey returns false if all elements are falsey any? with pattern returns true returns true returns false returns false compact map assert assert size without block returns the number of elements in the Enumerable returns the number of elements in the Enumerable count with block returns the number of the times the item is present returns the number of the times the item is present cycle calls forever if we don't break calls forever if we don't break calls the block n times given the optional argument calls the block n times given the optional argument chunk works works work with class work with class works with block works with block rewind rewind returns elements of the Enumerable in an Array of Tuple, {v, ary}, where 'ary' contains the consecutive elements for which the block returned the value 'v' returns elements of the Enumerable in an Array of Tuple, {v, ary}, where 'ary' contains the consecutive elements for which the block returned the value 'v' returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays alone all alone all does not return elements for which the block returns Enumerable::Chunk::Drop does not return elements for which the block returns Enumerable::Chunk::Drop drop all drop all nil allowed as value nil allowed as value nil 2 case nil 2 case reuses true reuses true chunks works works work with class work with class work with pure enumerable work with pure enumerable returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays alone all alone all does not return elements for which the block returns Enumerable::Chunk::Drop does not return elements for which the block returns Enumerable::Chunk::Drop drop all drop all nil allowed as value nil allowed as value nil 2 case nil 2 case #each_cons iterator iterates iterates iterates with reuse = true iterates with reuse = true iterates with reuse = array iterates with reuse = array iterates with reuse = deque iterates with reuse = deque yield returns running pairs returns running pairs returns running triples returns running triples yields running pairs with reuse = true yields running pairs with reuse = true yields running pairs with reuse = array yields running pairs with reuse = array yields running pairs with reuse = deque yields running pairs with reuse = deque #each_cons_pair returns running pairs returns running pairs each_slice returns partial slices returns partial slices returns full slices returns full slices reuses with true reuses with true reuses with existing array reuses with existing array returns each_slice iterator returns each_slice iterator each_with_index yields the element and the index yields the element and the index accepts an optional offset parameter accepts an optional offset parameter gets each_with_index iterator gets each_with_index iterator each_with_object yields the element and the given object yields the element and the given object gets each_with_object iterator gets each_with_object iterator empty? assert assert assert assert find finds finds doesn't find doesn't find doesn't find with default value doesn't find with default value first calls block if empty calls block if empty gets first gets first raises if enumerable empty raises if enumerable empty assert assert first? gets first? gets first? returns nil if enumerable empty returns nil if enumerable empty flat_map does example 1 does example 1 does example 2 does example 2 does example 3 does example 3 does example 4 does example 4 flattens iterators flattens iterators accepts mixed element types accepts mixed element types group_by assert assert groups can group by size (like the doc example) groups can group by size (like the doc example) in_groups_of assert assert assert assert assert assert assert assert assert assert raises argument error if size is less than 0 raises argument error if size is less than 0 takes a block takes a block reuses with true reuses with true reuses with existing array reuses with existing array includes? is true if the object exists in the collection is true if the object exists in the collection is false if the object is not part of the collection is false if the object is not part of the collection index with a block returns the index of the first element where the block returns true returns the index of the first element where the block returns true returns nil if no object could be found returns nil if no object could be found index with an object returns the index of that object if found returns the index of that object if found returns nil if the object was not found returns nil if the object was not found index_by creates a hash indexed by the value returned by the block creates a hash indexed by the value returned by the block overrides values if a value is returned twice overrides values if a value is returned twice reduce assert assert assert assert assert assert assert assert raises if empty raises if empty does not raise if empty if there is a memo argument does not raise if empty if there is a memo argument allows block return type to be different from element type allows block return type to be different from element type reduce? assert assert returns nil if empty returns nil if empty allows block return type to be different from element type allows block return type to be different from element type #accumulate prefix sums assert assert assert assert assert assert prefix sums, with init assert assert assert assert assert assert preserves initial type preserves initial type generic cumulative fold assert assert assert assert generic cumulative fold, with init assert assert assert assert preserves initial type preserves initial type #join () () (separator) (separator) (&) (&) (separator, &) (separator, &) (io) (io) (io, separator) (io, separator) (separator, io) (deprecated) (separator, io) (deprecated) (io, &) (io, &) (io, separator, &) (io, separator, &) (separator, io, &) (deprecated) (separator, io, &) (deprecated) map applies the function to each element and returns a new array applies the function to each element and returns a new array leaves the original unmodified leaves the original unmodified map_with_index yields the element and the index yields the element and the index yields the element and the index of an iterator yields the element and the index of an iterator max assert assert raises if empty raises if empty raises if not comparable raises if not comparable max? returns nil if empty returns nil if empty max_by assert assert max_by? returns nil if empty returns nil if empty max_of assert assert raises if not comparable raises if not comparable max_of? returns nil if empty returns nil if empty min assert assert raises if empty raises if empty raises if not comparable raises if not comparable min? returns nil if empty returns nil if empty min_by assert assert min_by? returns nil if empty returns nil if empty min_of assert assert raises if not comparable raises if not comparable min_of? returns nil if empty returns nil if empty minmax assert assert raises if empty raises if empty minmax? returns two nils if empty returns two nils if empty raises if not comparable raises if not comparable minmax_by assert assert minmax_by? returns two nils if empty returns two nils if empty minmax_of assert assert raises if not comparable raises if not comparable minmax_of? returns two nils if empty returns two nils if empty none? assert assert assert assert none? without block assert assert assert assert none? with pattern assert assert assert assert one? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert partition assert assert assert assert reject rejects the values for which the block returns true rejects the values for which the block returns true rejects with pattern rejects with pattern with type with type with type, for tuples with type, for tuples sample single-element samples without random samples without random samples with random samples with random raises on empty self raises on empty self multiple-element samples 0 elements samples 0 elements samples 1 element samples 1 element samples k elements out of n samples k elements out of n raises on k < 0 raises on k < 0 samples k elements out of n, where k > n samples k elements out of n, where k > n samples k elements out of n, with random samples k elements out of n, with random select selects the values for which the block returns true selects the values for which the block returns true with pattern with pattern with type with type skip returns an array without the skipped elements returns an array without the skipped elements returns an empty array when skipping more elements than array size returns an empty array when skipping more elements than array size raises if count is negative raises if count is negative skip_while skips elements while the condition holds true skips elements while the condition holds true returns an empty array if the condition is always true returns an empty array if the condition is always true returns the full Array if the first check is false returns the full Array if the first check is false does not yield to the block anymore once it returned false does not yield to the block anymore once it returned false sum assert assert assert assert assert assert assert assert assert assert assert assert uses additive_identity from type uses additive_identity from type array of arrays array of arrays strings strings float float product assert assert assert assert assert assert assert assert assert assert assert assert uses zero from type uses zero from type first assert assert assert assert raises if count is negative raises if count is negative take_while keeps elements while the block returns true keeps elements while the block returns true returns the full Array if the condition is always true returns the full Array if the condition is always true returns an empty Array if the block is false for the first element returns an empty Array if the block is false for the first element does not call the block again once it returned false does not call the block again once it returned false tally_by returns a hash with counts according to the value returned by the block returns a hash with counts according to the value returned by the block tally returns a hash with counts according to the value returns a hash with counts according to the value to_a converts to an Array converts to an Array to_h for tuples for tuples for array for array with block with block zip works for Iterators as receiver works for Iterators as receiver zip? works for Iterators as receiver works for Iterators as receiver ENV gets non existent key raises gets non existent key raises gets non existent key as nilable gets non existent key as nilable set and gets set and gets sets and gets case-sensitive sets and gets case-sensitive sets to nil (same as delete) sets to nil (same as delete) sets to empty string sets to empty string does has_key? does has_key? deletes a key deletes a key does .keys does .keys does not have an empty key does not have an empty key does .values does .values []= disallows NUL-bytes in key disallows NUL-bytes in key disallows NUL-bytes in key if value is nil disallows NUL-bytes in key if value is nil disallows NUL-bytes in value disallows NUL-bytes in value fetch fetches with one argument fetches with one argument fetches with default value fetches with default value fetches with block fetches with block fetches and raises fetches and raises handles unicode handles unicode #to_h #to_h Errno .value .value #message #message Exception allows subclassing #message allows subclassing #message inspects inspects inspects with cause inspects with cause collect memory within ensure block collect memory within ensure block File gets path gets path reads entire file reads entire file reads entire file from proc virtual filesystem reads entire file from proc virtual filesystem reads lines from file reads lines from file reads lines from file with chomp = false reads lines from file with chomp = false reads lines from file with each reads lines from file with each reads lines from file with each, chomp = false reads lines from file with each, chomp = false empty? gives true when file is empty gives true when file is empty gives false when file is not empty gives false when file is not empty raises an error when the file does not exist raises an error when the file does not exist raises an error when a component of the path is a file raises an error when a component of the path is a file exists? gives true gives true gives false gives false gives false when a component of the path is a file gives false when a component of the path is a file executable? gives false gives false gives false when the file doesn't exist gives false when the file doesn't exist gives false when a component of the path is a file gives false when a component of the path is a file readable? gives true gives true gives false when the file doesn't exist gives false when the file doesn't exist gives false when a component of the path is a file gives false when a component of the path is a file writable? gives true gives true gives false when the file doesn't exist gives false when the file doesn't exist gives false when a component of the path is a file gives false when a component of the path is a file file? gives true gives true gives false with dir gives false with dir gives false when the file doesn't exist gives false when the file doesn't exist gives false when a component of the path is a file gives false when a component of the path is a file directory? gives true gives true gives false gives false gives false when the directory doesn't exist gives false when the directory doesn't exist gives false when a component of the path is a file gives false when a component of the path is a file link creates a hard link creates a hard link same? compares following symlinks only if requested compares following symlinks only if requested symlink creates a symbolic link creates a symbolic link symlink? gives true gives true gives false gives false gives false when the symlink doesn't exist gives false when the symlink doesn't exist gives false when a component of the path is a file gives false when a component of the path is a file .readlink reads link reads link gets dirname gets dirname gets basename gets basename gets basename removing suffix gets basename removing suffix gets extname gets extname constructs a path from parts constructs a path from parts chown chown chmod changes file permissions changes file permissions changes dir permissions changes dir permissions can take File::Permissions can take File::Permissions follows symlinks follows symlinks raises when destination doesn't exist raises when destination doesn't exist File::Info gets for this file gets for this file gets for this directory gets for this directory gets for a character device gets for a character device gets for a symlink gets for a symlink gets for open file gets for open file gets for pipe gets for pipe gets for non-existent file and raises gets for non-existent file and raises gets mtime for new file gets mtime for new file tests equal for the same file tests equal for the same file tests equal for the same directory tests equal for the same directory tests unequal for different files tests unequal for different files tests unequal for file and directory tests unequal for file and directory size assert assert assert assert raises an error when the file does not exist raises an error when the file does not exist raises an error when a component of the path is a file raises an error when a component of the path is a file delete deletes a file deletes a file raises when file doesn't exist raises when file doesn't exist rename renames a file renames a file replaces a file replaces a file raises if old file doesn't exist raises if old file doesn't exist expand_path converts a pathname to an absolute pathname converts a pathname to an absolute pathname converts a pathname to an absolute pathname, Ruby-Talk:18512 converts a pathname to an absolute pathname, Ruby-Talk:18512 keeps trailing dots on absolute pathname keeps trailing dots on absolute pathname converts a pathname to an absolute pathname, using a complete path converts a pathname to an absolute pathname, using a complete path expands a path with multi-byte characters expands a path with multi-byte characters expands /./dir to /dir expands /./dir to /dir replaces multiple / with a single / replaces multiple / with a single / expand path with expand path with expand_path for common unix path gives a full path expand_path for common unix path gives a full path converts a pathname to an absolute pathname, using ~ (home) as base converts a pathname to an absolute pathname, using ~ (home) as base converts a pathname to an absolute pathname, using ~ (home) as base (trailing /) converts a pathname to an absolute pathname, using ~ (home) as base (trailing /) converts a pathname to an absolute pathname, using ~ (home) as base (HOME=/) converts a pathname to an absolute pathname, using ~ (home) as base (HOME=/) real_path expands paths for normal files expands paths for normal files raises if file doesn't exist raises if file doesn't exist expands paths of symlinks expands paths of symlinks write can write to a file can write to a file writes bytes writes bytes writes io writes io raises if trying to write to a file not opened for writing raises if trying to write to a file not opened for writing can create a new file in append mode can create a new file in append mode can append to an existing file can append to an existing file does to_s and inspect does to_s and inspect close is not closed when opening is not closed when opening is closed when closed is closed when closed should not raise when closing twice should not raise when closing twice does to_s when closed does to_s when closed opens with perm (int) opens with perm (int) opens with perm (File::Permissions) opens with perm (File::Permissions) clears the read buffer after a seek clears the read buffer after a seek seeks from the current position seeks from the current position raises if invoking seek with a closed file raises if invoking seek with a closed file returns the current read position with tell returns the current read position with tell can navigate with pos can navigate with pos raises if invoking tell with a closed file raises if invoking tell with a closed file iterates with each_char iterates with each_char iterates with each_byte iterates with each_byte rewinds rewinds raises when reading a file with no permission raises when reading a file with no permission truncate truncates truncates truncates completely when no size is passed truncates completely when no size is passed requires a file opened for writing requires a file opened for writing fsync syncs OS file buffer to disk syncs OS file buffer to disk flock exlusively locks a file exlusively locks a file shared locks a file shared locks a file reads at offset reads at offset raises when reading at offset outside of bounds raises when reading at offset outside of bounds raises on null byte errors on new errors on new errors on join errors on join errors on size errors on size errors on rename (first arg) errors on rename (first arg) errors on rename (second arg) errors on rename (second arg) errors on info errors on info errors on info? errors on info? errors on exists? errors on exists? errors on readable? errors on readable? errors on writable? errors on writable? errors on executable? errors on executable? errors on file? errors on file? errors on directory? errors on directory? errors on dirname errors on dirname errors on basename errors on basename errors on basename 2, first arg errors on basename 2, first arg errors on basename 2, second arg errors on basename 2, second arg errors on delete errors on delete errors on extname errors on extname errors on expand_path, first arg errors on expand_path, first arg errors on expand_path, second arg errors on expand_path, second arg errors on link, first arg errors on link, first arg errors on link, second arg errors on link, second arg errors on symlink, first arg errors on symlink, first arg errors on symlink, second arg errors on symlink, second arg errors on symlink? errors on symlink? #delete deletes deletes encoding writes with encoding writes with encoding reads with encoding reads with encoding opens with encoding opens with encoding does each line with encoding does each line with encoding reads lines with encoding reads lines with encoding closed stream raises if writing on a closed stream raises if writing on a closed stream utime sets times with utime sets times with utime raises if file not found raises if file not found .touch creates file if it doesn't exist creates file if it doesn't exist sets file times to given time sets file times to given time sets file times to current time if no time argument given sets file times to current time if no time argument given raises if path contains non-existent directory raises if path contains non-existent directory touches existing file file directory directory raises if file cannot be accessed raises if file cannot be accessed .same_content? compares two equal files compares two equal files compares two different files compares two different files .copy copies a file copies a file copies permissions copies permissions overwrites existing destination and permissions overwrites existing destination and permissions .match? matches basics matches basics matches multiple expansions matches multiple expansions matches unicode characters matches unicode characters * don't match / * don't match / ** matches / ** matches / classes classes escape escape special chars special chars classes escapes classes escapes alternates alternates File::Permissions does to_s does to_s FileUtils .cd should work should work raises raises accepts a block accepts a block .pwd returns the current working directory returns the current working directory .cmp compares two equal files compares two equal files compares two different files compares two different files .touch creates file if it doesn't exist creates file if it doesn't exist creates multiple files if they don't exists creates multiple files if they don't exists .cp copies a file copies a file copies permissions copies permissions raises an error if the directory doesn't exist raises an error if the directory doesn't exist copies multiple files copies multiple files .cp_r copies a directory recursively copies a directory recursively copies a directory recursively if destination exists and is empty copies a directory recursively if destination exists and is empty copies a directory recursively if destination exists leaving existing files copies a directory recursively if destination exists leaving existing files .rm_r deletes a directory recursively deletes a directory recursively doesn't follow symlinks doesn't follow symlinks .rm_rf delete recursively a directory delete recursively a directory delete recursively multiple directory delete recursively multiple directory doesn't return error on non existing file doesn't return error on non existing file doesn't return error on non existing files doesn't return error on non existing files .mv moves a file from one place to another moves a file from one place to another raises an error if non correct arguments raises an error if non correct arguments moves multiple files to one place moves multiple files to one place raises an error if dest is non correct raises an error if dest is non correct moves all existing files to destination moves all existing files to destination tests mkdir and rmdir with a new path tests mkdir and rmdir with a new path tests mkdir and rmdir with multiple new paths tests mkdir and rmdir with multiple new paths tests mkdir with an existing path tests mkdir with an existing path tests mkdir with multiples existing paths tests mkdir with multiples existing paths tests mkdir_p with multiples new path tests mkdir_p with multiples new path tests mkdir_p with multiple existing path tests mkdir_p with multiple existing path tests rmdir with an non existing path tests rmdir with an non existing path tests rmdir with multiple non existing path tests rmdir with multiple non existing path tests rmdir with a path that cannot be removed tests rmdir with a path that cannot be removed tests rmdir with multiple path that cannot be removed tests rmdir with multiple path that cannot be removed tests rm with an existing path tests rm with an existing path tests rm with non existing path tests rm with non existing path tests rm with multiple existing paths tests rm with multiple existing paths tests rm with some non existing paths tests rm with some non existing paths .ln creates a hardlink creates a hardlink creates a hardlink inside a destination dir creates a hardlink inside a destination dir creates multiple hardlinks inside a destination dir creates multiple hardlinks inside a destination dir fails with a nonexistent source fails with a nonexistent source fails with an extant destination fails with an extant destination .ln_s creates a symlink creates a symlink creates a symlink inside a destination dir creates a symlink inside a destination dir creates multiple symlinks inside a destination dir creates multiple symlinks inside a destination dir works with a nonexistent source works with a nonexistent source fails with an existing destination fails with an existing destination .ln_sf overwrites a destination file overwrites a destination file overwrites a destination file inside a dir overwrites a destination file inside a dir creates multiple symlinks in a destination dir, with overwrites creates multiple symlinks in a destination dir, with overwrites creates a symlink even if there's nothing to overwrite creates a symlink even if there's nothing to overwrite #print Float64 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert min float64 min float64 max float64 max float64 large number, rounded large number, rounded small number, rounded small number, rounded failure case failure case smallest normal smallest normal largest denormal largest denormal #print Float32 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert largest float largest float largest normal largest normal smallest positive normal smallest positive normal largest denormal largest denormal smallest positive denormal smallest positive denormal Float ** assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert % uses modulo behavior, not remainder behavior uses modulo behavior, not remainder behavior modulo raises when mods by zero raises when mods by zero assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert remainder raises when mods by zero raises when mods by zero assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert preserves type preserves type round assert assert assert assert assert assert floor assert assert assert assert ceil assert assert assert assert assert assert assert assert assert assert assert assert fdiv assert assert assert assert assert assert assert assert assert assert divmod assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert floor division // preserves type of lhs preserves type of lhs applies floor applies floor to_s does to_s for f64 does to_s for f64 does to_s for f32 does to_s for f32 #next_float does for f64 does for f64 does for f32 does for f32 #prev_float does for f64 does for f64 does for f32 does for f32 #inspect does inspect for f64 does inspect for f64 does inspect for f32 does inspect for f32 does inspect for f64 with IO does inspect for f64 with IO does inspect for f32 does inspect for f32 hash does for Float32 does for Float32 does for Float64 does for Float64 .new String overload String overload fallback overload fallback overload does nan? does nan? does infinite? does infinite? does finite? does finite? converts infinity converts infinity does unary - does unary - clones clones constants have right binary value constants have right binary value returns nil in <=> for NaN values (Float32) returns nil in <=> for NaN values (Float32) returns nil in <=> for NaN values (Float64) returns nil in <=> for NaN values (Float64) GC compiles GC.stats compiles GC.stats raises if calling enable when not disabled raises if calling enable when not disabled Hash empty size should be zero size should be zero sets and gets sets and gets gets from literal gets from literal gets from union gets from union gets nilable gets nilable gets array of keys gets array of keys gets array of values gets array of values == assert assert assert assert compares hash of nested hash compares hash of nested hash subset/superset operators #proper_subset_of? assert assert handles edge case where both values are nil handles edge case where both values are nil #subset_of? assert assert handles edge case where both values are nil handles edge case where both values are nil #proper_superset_of? assert assert #superset_of? assert assert [] gets gets []= overrides value overrides value put puts in a small hash puts in a small hash puts in a big hash puts in a big hash yields key yields key dig? gets the value at given path given splat gets the value at given path given splat returns nil if not found returns nil if not found dig gets the value at given path given splat gets the value at given path given splat raises KeyError if not found raises KeyError if not found fetch fetches with default value fetches with default value fetches with block fetches with block values_at returns the given keys returns the given keys raises when passed an invalid key raises when passed an invalid key works with mixed types works with mixed types key_for returns the first key with the given value returns the first key with the given value raises when no key pairs with the given value raises when no key pairs with the given value if block is given, returns the first key with the given value returns the first key with the given value yields the argument if no hash key pairs with the value yields the argument if no hash key pairs with the value key_for? returns the first key with the given value returns the first key with the given value returns nil if no key pairs with the given value returns nil if no key pairs with the given value has_key? doesn't have key doesn't have key has key has key has_value? returns true if contains the value returns true if contains the value returns false if does not contain the value returns false if does not contain the value delete deletes key in the beginning deletes key in the beginning deletes key in the middle deletes key in the middle deletes key in the end deletes key in the end deletes only remaining entry deletes only remaining entry deletes not found deletes not found deletes many in the beginning and then will need a resize deletes many in the beginning and then will need a resize with block returns the value if a key is found returns the value if a key is found returns the value of the block if key is not found returns the value of the block if key is not found returns nil if key is found and value is nil returns nil if key is found and value is nil size is the same as size is the same as size maps maps to_s assert assert assert assert does to_h does to_h clone clones with size = 1 clones with size = 1 clones empty hash clones empty hash clones small hash clones small hash clones big hash clones big hash clones recursive hash clones recursive hash retains default block on clone retains default block on clone dup dups empty hash dups empty hash dups small hash dups small hash dups big hash dups big hash retains default block on dup retains default block on dup initializes with block initializes with block initializes with default value initializes with default value merges merges merges with block merges with block merges recursive type (#1693) merges recursive type (#1693) merges other type with block merges other type with block merges! merges! merges! with block merges! with block merges! with block and nilable keys merges! with block and nilable keys selects selects selects! selects! rejects rejects rejects! rejects! compacts compacts compacts! compacts! transforms keys transforms keys transforms keys with type casting transforms keys with type casting returns empty hash when transforming keys of an empty hash returns empty hash when transforming keys of an empty hash transforms values transforms values transforms values with type casting values transforms values with type casting values returns empty hash when transforming values of an empty hash returns empty hash when transforming values of an empty hash transform values in place transform values in place zips zips gets first gets first first_key gets first key gets first key raises on first key (nilable key) raises on first key (nilable key) doesn't raise on first key (nilable key) doesn't raise on first key (nilable key) first_value gets first value gets first value raises on first value (nilable value) raises on first value (nilable value) doesn't raise on first value (nilable value) doesn't raise on first value (nilable value) last_key gets last key gets last key raises on last key (nilable key) raises on last key (nilable key) doesn't raise on last key (nilable key) doesn't raise on last key (nilable key) last_value gets last value gets last value raises on last value (nilable value) raises on last value (nilable value) doesn't raise on last value (nilable value) doesn't raise on last value (nilable value) shifts shifts shifts: delete elements in the middle position and then in the first position shifts: delete elements in the middle position and then in the first position shifts? shifts? inserts many inserts many inserts in one bucket and deletes from the same one inserts in one bucket and deletes from the same one does to_a does to_a does to_a after shift does to_a after shift does to_a after delete does to_a after delete clears clears clears after shift clears after shift computes hash computes hash fetches from empty hash with default value fetches from empty hash with default value does to to_s with instance that was never instantiated does to to_s with instance that was never instantiated inverts inverts does each does each does each_key does each_key does each_value does each_value "#each" yielding "#each" yielding "#each" iterator "#each" iterator "#each_key" yielding "#each_key" yielding "#each_key" iterator "#each_key" iterator "#each_value" yielding "#each_value" yielding "#each_value" iterator "#each_value" iterator "#each_with_index" yielding "#each_with_index" yielding "#each_with_index" iterator "#each_with_index" iterator "#each_with_index(offset)" yielding "#each_with_index(offset)" yielding "#each_with_index(offset)" iterator "#each_with_index(offset)" iterator #each_with_object "passes memo, key and value into block" yielding "passes memo, key and value into block" yielding "passes memo, key and value into block" iterator "passes memo, key and value into block" iterator reduces the hash to the accumulated value of memo reduces the hash to the accumulated value of memo all? passes key and value into block passes key and value into block returns true if the block evaluates truthy for every kv pair returns true if the block evaluates truthy for every kv pair evaluates the block for only for as many kv pairs as necessary evaluates the block for only for as many kv pairs as necessary any? passes key and value into block passes key and value into block returns true if the block evaluates truthy for at least one kv pair returns true if the block evaluates truthy for at least one kv pair evaluates the block for only for as many kv pairs as necessary evaluates the block for only for as many kv pairs as necessary returns true if the hash contains at least one kv pair and no block is given returns true if the hash contains at least one kv pair and no block is given reduce passes memo, key and value into block passes memo, key and value into block reduces the hash to the accumulated value of memo reduces the hash to the accumulated value of memo reject assert assert assert assert assert assert does not change current hash does not change current hash reject! assert assert assert assert assert assert changes current hash changes current hash select assert assert assert assert assert assert assert assert does not change current hash does not change current hash select! assert assert assert assert assert assert assert assert does change current hash does change current hash doesn't generate a negative index for the bucket index (#2321) doesn't generate a negative index for the bucket index (#2321) creates with initial capacity creates with initial capacity creates with initial capacity and default value creates with initial capacity and default value creates with initial capacity and block creates with initial capacity and block rehashes rehashes some edge cases while changing the implementation to open addressing edge case 1 edge case 1 edge case 2 edge case 2 edge case 3 edge case 3 compare_by_identity small hash small hash big hash big hash retains compare_by_identity on dup retains compare_by_identity on dup retains compare_by_identity on clone retains compare_by_identity on clone can be wrapped can be wrapped HTML .escape does not change a safe string does not change a safe string escapes dangerous characters from a string escapes dangerous characters from a string .unescape does not change a safe string does not change a safe string unescapes html special characters unescapes html special characters unescapes javascript example from a string unescapes javascript example from a string unescapes decimal encoded chars unescapes decimal encoded chars unescapes with invalid entities unescapes with invalid entities unescapes hex encoded chars unescapes hex encoded chars unescapes decimal encoded chars unescapes decimal encoded chars unescapes   unescapes   does not unescape Char::MAX_CODEPOINT does not unescape Char::MAX_CODEPOINT does not unescape characters above Char::MAX_CODEPOINT does not unescape characters above Char::MAX_CODEPOINT unescapes ⊐̸ unescapes ⊐̸ unescapes entities without trailing semicolon unescapes entities without trailing semicolon unescapes named character reference with numerical characters unescapes named character reference with numerical characters does not escape unicode control characters except space characters does not escape unicode control characters except space characters escapes space characters escapes space characters does not escape noncharacter codepoints does not escape noncharacter codepoints does not escape unicode surrogate characters does not escape unicode surrogate characters Number #format assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #humanize assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert using custom prefixes assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert Int #humanize_bytes assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert Indexable(T) #index does index with big negative offset does index with big negative offset does index with big offset does index with big offset offset type offset type #rindex does rindex with big negative offset does rindex with big negative offset does rindex with big offset does rindex with big offset offset type offset type does each does each does each_index does each_index iterates through a subset of its elements (#3386) iterates through a subset of its elements (#3386) iterates until its size (#3386) iterates until its size (#3386) iterates until its size, having mutated (#3386) iterates until its size, having mutated (#3386) iterates until its size, having mutated (#3386) iterates until its size, having mutated (#3386) iterates within a range of indices (#3386) iterates within a range of indices (#3386) iterates within a range of indices, no end iterates within a range of indices, no end iterates within a range of indices, no beginning iterates within a range of indices, no beginning #join joins strings (empty case) joins strings (empty case) joins strings (non-empty case) joins strings (non-empty case) joins non-strings joins non-strings joins when T has String joins when T has String with IO with IO dig? gets the value at given path given splat gets the value at given path given splat returns nil if not found returns nil if not found dig gets the value at given path given splat gets the value at given path given splat raises IndexError if not found raises IndexError if not found fetch fetches with default value fetches with default value fetches with block fetches with block #cartesian_product does with 1 other Indexable does with 1 other Indexable does with >1 other Indexables does with >1 other Indexables .cartesian_product does with an Indexable of Indexables does with an Indexable of Indexables does with a Tuple of Tuples with mixed types does with a Tuple of Tuples with mixed types #each_cartesian does with 1 other Indexable, with block does with 1 other Indexable, with block does with 1 other Indexable, without block does with 1 other Indexable, without block does with >1 other Indexables, with block does with >1 other Indexables, with block does with >1 other Indexables, without block does with >1 other Indexables, without block .each_cartesian does with an Indexable of Indexables, with block does with an Indexable of Indexables, with block does with reuse = true, with block does with reuse = true, with block does with reuse = array, with block does with reuse = array, with block does with an Indexable of Indexables, without block does with an Indexable of Indexables, without block does with reuse = true, without block does with reuse = true, without block does with reuse = array, without block does with reuse = array, without block permutations assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert accepts a block accepts a block yielding dup of arrays yielding dup of arrays yields with reuse = true yields with reuse = true assert assert returns iterator returns iterator returns iterator with given size returns iterator with given size returns iterator with reuse = true returns iterator with reuse = true combinations assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert accepts a block accepts a block yielding dup of arrays yielding dup of arrays does with reuse = true does with reuse = true does with reuse = array does with reuse = array assert assert returns iterator returns iterator returns iterator with reuse = true returns iterator with reuse = true returns iterator with reuse = array returns iterator with reuse = array repeated_combinations assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert accepts a block accepts a block yielding dup of arrays yielding dup of arrays assert assert yields with reuse = true yields with reuse = true yields with reuse = array yields with reuse = array returns iterator returns iterator returns iterator with reuse = true returns iterator with reuse = true returns iterator with reuse = array returns iterator with reuse = array INI parse from String fails on malformed section fails on malformed section fails on data after section fails on data after section fails on malformed declaration fails on malformed declaration parses key = value parses key = value parses empty values parses empty values ignores whitespaces ignores whitespaces ignores comments ignores comments parses sections parses sections parses a reopened section parses a reopened section parses empty section parses empty section from IO parses a file parses a file build to an INI-formatted output builds from a Hash builds from a Hash builds from a NamedTuple builds from a NamedTuple builds with no spaces around `=` builds with no spaces around `=` builds with no sections builds with no sections builds an empty section before non-empty sections builds an empty section before non-empty sections Int ** with positive Int32 with positive Int32 with positive UInt8 with positive UInt8 raises with negative exponent raises with negative exponent should work with large integers should work with large integers with float assert assert assert assert assert assert &** with positive Int32 with positive Int32 with UInt8 with UInt8 raises with negative exponent raises with negative exponent works with large integers works with large integers wraps with larger integers wraps with larger integers #===(:Char) assert assert assert assert assert assert assert assert divisible_by? assert assert assert assert even? assert assert assert assert odd? assert assert assert assert succ assert assert assert assert assert assert pred assert assert assert assert assert assert abs does for signed does for signed does for unsigned does for unsigned gcd assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert doesn't silently overflow doesn't silently overflow raises on too big result to fit in result type raises on too big result to fit in result type lcm assert assert assert assert assert assert assert assert assert assert doesn't silently overflow doesn't silently overflow #to_s converts 0 to "0" converts 0 to "0" converts 1 to "1" converts 1 to "1" extrema for various int sizes converts 127_i8 to "127" converts 127_i8 to "127" converts -128_i8 to "-128" converts -128_i8 to "-128" converts 32767_i16 to "32767" converts 32767_i16 to "32767" converts -32768_i16 to "-32768" converts -32768_i16 to "-32768" converts 2147483647 to "2147483647" converts 2147483647 to "2147483647" converts -2147483648 to "-2147483648" converts -2147483648 to "-2147483648" converts 9223372036854775807_i64 to "9223372036854775807" converts 9223372036854775807_i64 to "9223372036854775807" converts -9223372036854775808_i64 to "-9223372036854775808" converts -9223372036854775808_i64 to "-9223372036854775808" converts 255_u8 to "255" converts 255_u8 to "255" converts 65535_u16 to "65535" converts 65535_u16 to "65535" converts 4294967295_u32 to "4294967295" converts 4294967295_u32 to "4294967295" converts 18446744073709551615_u64 to "18446744073709551615" converts 18446744073709551615_u64 to "18446744073709551615" converts UInt128::MAX to "340282366920938463463374607431768211455" converts UInt128::MAX to "340282366920938463463374607431768211455" converts Int128::MAX to "170141183460469231731687303715884105727" converts Int128::MAX to "170141183460469231731687303715884105727" converts Int128::MIN to "-170141183460469231731687303715884105728" converts Int128::MIN to "-170141183460469231731687303715884105728" base and upcase parameters converts 12 to "1100" converts 12 to "1100" converts -12 to "-1100" converts -12 to "-1100" converts -123456 to "-11110001001000000" converts -123456 to "-11110001001000000" converts 1234 to "4d2" converts 1234 to "4d2" converts -1234 to "-4d2" converts -1234 to "-4d2" converts 1234 to "ya" converts 1234 to "ya" converts -1234 to "-ya" converts -1234 to "-ya" converts 1234 to "4D2" converts 1234 to "4D2" converts -1234 to "-4D2" converts -1234 to "-4D2" converts 1234 to "YA" converts 1234 to "YA" converts -1234 to "-YA" converts -1234 to "-YA" converts 0 to "0" converts 0 to "0" converts 0 to "0" converts 0 to "0" converts 1 to "1" converts 1 to "1" converts 1 to "1" converts 1 to "1" converts 0 to "0" converts 0 to "0" converts 1 to "1" converts 1 to "1" converts 10 to "a" converts 10 to "a" converts 35 to "z" converts 35 to "z" converts 36 to "A" converts 36 to "A" converts 61 to "Z" converts 61 to "Z" converts 62 to "10" converts 62 to "10" converts 97 to "1z" converts 97 to "1z" converts 3843 to "ZZ" converts 3843 to "ZZ" raises on base 1 raises on base 1 raises on base 37 raises on base 37 raises on base 62 with upcase raises on base 62 with upcase precision parameter converts 0 to "" converts 0 to "" converts 0 to "0" converts 0 to "0" converts 0 to "00" converts 0 to "00" converts 0 to "00000" converts 0 to "00000" converts 0 to "0" * 200 converts 0 to "0" * 200 converts 1 to "1" converts 1 to "1" converts 1 to "1" converts 1 to "1" converts 1 to "01" converts 1 to "01" converts 1 to "00001" converts 1 to "00001" converts 1 to "#{"0" * 199}1" converts 1 to "#{"0" * 199}1" converts 2 to "2" converts 2 to "2" converts 2 to "2" converts 2 to "2" converts 2 to "02" converts 2 to "02" converts 2 to "00002" converts 2 to "00002" converts 2 to "#{"0" * 199}2" converts 2 to "#{"0" * 199}2" converts -1 to "-1" converts -1 to "-1" converts -1 to "-1" converts -1 to "-1" converts -1 to "-01" converts -1 to "-01" converts -1 to "-00001" converts -1 to "-00001" converts -1 to "-#{"0" * 199}1" converts -1 to "-#{"0" * 199}1" converts 123 to "123" converts 123 to "123" converts 123 to "123" converts 123 to "123" converts 123 to "123" converts 123 to "123" converts 123 to "00123" converts 123 to "00123" converts 123 to "#{"0" * 197}123" converts 123 to "#{"0" * 197}123" converts 9223372036854775807_i64 to "#{"1" * 63}" converts 9223372036854775807_i64 to "#{"1" * 63}" converts 9223372036854775807_i64 to "#{"1" * 63}" converts 9223372036854775807_i64 to "#{"1" * 63}" converts 9223372036854775807_i64 to "0#{"1" * 63}" converts 9223372036854775807_i64 to "0#{"1" * 63}" converts 9223372036854775807_i64 to "#{"0" * 137}#{"1" * 63}" converts 9223372036854775807_i64 to "#{"0" * 137}#{"1" * 63}" converts -9223372036854775808_i64 to "-1#{"0" * 63}" converts -9223372036854775808_i64 to "-1#{"0" * 63}" converts -9223372036854775808_i64 to "-1#{"0" * 63}" converts -9223372036854775808_i64 to "-1#{"0" * 63}" converts -9223372036854775808_i64 to "-01#{"0" * 63}" converts -9223372036854775808_i64 to "-01#{"0" * 63}" converts -9223372036854775808_i64 to "-#{"0" * 136}1#{"0" * 63}" converts -9223372036854775808_i64 to "-#{"0" * 136}1#{"0" * 63}" raises on negative precision raises on negative precision #inspect doesn't append the type doesn't append the type doesn't append the type using IO doesn't append the type using IO bit assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #bits assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert raises when invalid indexes are provided raises when invalid indexes are provided divmod assert assert fdiv assert assert assert assert assert assert assert assert assert assert ~ assert assert assert assert >> assert assert assert assert assert assert assert assert << assert assert assert assert assert assert assert assert to does upwards does upwards does downwards does downwards does when same does when same step steps through limit steps through limit .new String overload String overload fallback overload fallback overload arithmetic division / divides negative numbers divides negative numbers divides by zero divides by zero divides Int::MIN by -1 divides Int::MIN by -1 divides Int128::MIN by -1 divides Int128::MIN by -1 floor division // preserves type of lhs preserves type of lhs preserves type of lhs (128-bit) preserves type of lhs (128-bit) divides negative numbers divides negative numbers tdivs tdivs holds true that x == q*y + r holds true that x == q*y + r raises when divides by zero raises when divides by zero raises when divides Int::MIN by -1 raises when divides Int::MIN by -1 raises when mods by zero raises when mods by zero % doesn't overflow (#7979) % doesn't overflow (#7979) "#times" yielding "#times" yielding "#times" iterator "#times" iterator "#times for UInt32 (#5019)" yielding "#times for UInt32 (#5019)" yielding "#times for UInt32 (#5019)" iterator "#times for UInt32 (#5019)" iterator does % does % returns 0 when doing IntN::MIN % -1 (#8306) returns 0 when doing IntN::MIN % -1 (#8306) does remainder does remainder returns 0 when doing IntN::MIN.remainder(-1) (#8306) returns 0 when doing IntN::MIN.remainder(-1) (#8306) does upto does upto does upto max does upto max gets upto iterator gets upto iterator gets upto iterator max gets upto iterator max upto iterator ups and downs upto iterator ups and downs does downto does downto does downto min does downto min does downto min unsigned does downto min unsigned gets downto iterator gets downto iterator downto iterator ups and downs downto iterator ups and downs gets downto iterator unsigned gets downto iterator unsigned gets to iterator gets to iterator #popcount assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #leading_zeros_count assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #trailing_zeros_count assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert compares signed vs. unsigned integers compares signed vs. unsigned integers compares equality and inequality of signed vs. unsigned integers compares equality and inequality of signed vs. unsigned integers clones clones #chr #chr #unsafe_chr #unsafe_chr #bit_length for primitive integers for primitive integers for BigInt for BigInt #digits works for positive numbers or zero works for positive numbers or zero works for maximums works for maximums works for u/int128 maximums works for u/int128 maximums works for non-Int32 works for non-Int32 works with a base works with a base raises for invalid base raises for invalid base raises for negative numbers raises for negative numbers Iterator(T) Iterator.of creates singleton creates singleton creates singleton from block creates singleton from block creates singleton from block can call Iterator.stop creates singleton from block can call Iterator.stop #accumulate prefix sums returns prefix sums returns prefix sums empty iterator stops immediately empty iterator stops immediately prefix sums, with init returns prefix sums returns prefix sums preserves initial type preserves initial type empty iterator returns only initial value empty iterator returns only initial value generic cumulative fold accumulates values accumulates values empty iterator stops immediately empty iterator stops immediately generic cumulative fold, with init accumulates values accumulates values preserves initial type preserves initial type empty iterator returns only initial value empty iterator returns only initial value compact_map applies the function and removes nil values applies the function and removes nil values sums after compact_map to_a sums after compact_map to_a chain chains chains chain indeterminate number of iterators chains all together chains all together chains empty chains empty chains array of empty chains array of empty rewinds rewinds chains iterators of different type chains iterators of different type compact_map does not return nil values does not return nil values #cons conses conses reuse reuse as nil reuse as nil reuse as Bool reuse as Bool reuse as Array reuse as Array reuse as deque reuse as deque #cons_pair conses conses doesn't include stop in return type doesn't include stop in return type cycle does cycle from range does cycle from range cycles an empty array cycles an empty array cycles N times cycles N times does not cycle provided 0 does not cycle provided 0 does not cycle provided a negative size does not cycle provided a negative size each yields the individual elements to the block yields the individual elements to the block each_slice gets all the slices of the size n gets all the slices of the size n also works if it does not add up also works if it does not add up returns each_slice iterator with reuse = true returns each_slice iterator with reuse = true returns each_slice iterator with reuse = array returns each_slice iterator with reuse = array in_groups_of creates groups of one creates groups of one creates a group of two creates a group of two fills up with the fill up argument fills up with the fill up argument raises argument error if size is less than 0 raises argument error if size is less than 0 still works with other iterator methods like to_a still works with other iterator methods like to_a creates a group of two with reuse = true creates a group of two with reuse = true map does map with Range iterator does map with Range iterator reject does reject with Range iterator does reject with Range iterator does with pattern does with pattern does with type does with type select does select with Range iterator does select with Range iterator does with pattern does with pattern does with type does with type skip does skip with Range iterator does skip with Range iterator is cool to skip 0 elements is cool to skip 0 elements raises ArgumentError if negative size is provided raises ArgumentError if negative size is provided skip_while does skip_while with an array does skip_while with an array can skip everything can skip everything returns the full array if the condition is false for the first item returns the full array if the condition is false for the first item only calls the block as much as needed only calls the block as much as needed slice slices slices step returns every element returns every element returns every other element returns every other element returns every third element returns every third element raises with nonsensical steps raises with nonsensical steps first does first with Range iterator does first with Range iterator does first with more than available does first with more than available is cool to first 0 elements is cool to first 0 elements raises ArgumentError if negative size is provided raises ArgumentError if negative size is provided take_while does take_while with Range iterator does take_while with Range iterator does take_while with more than available does take_while with more than available only calls the block as much as needed only calls the block as much as needed tap taps taps uniq without block without block with block with block with_index does with_index from range does with_index from range does with_index with offset from range does with_index with offset from range does with_index from range, with block does with_index from range, with block does with_index from range, with block with offset does with_index from range, with block with offset with object does with object does with object does with object, with block does with object, with block zip does skip with Range iterator does skip with Range iterator takes multiple Iterators takes multiple Iterators integration combines many iterators combines many iterators flatten flattens an iterator of mixed-type iterators flattens an iterator of mixed-type iterators flattens an iterator of mixed-type elements and iterators flattens an iterator of mixed-type elements and iterators flattens an iterator of mixed-type elements and iterators and iterators of iterators flattens an iterator of mixed-type elements and iterators and iterators of iterators flattens deeply-nested and mixed type iterators flattens deeply-nested and mixed type iterators flattens a variety of edge cases flattens a variety of edge cases flattens a deeply-nested iterables and arrays (#3703) flattens a deeply-nested iterables and arrays (#3703) flattens nested struct iterators with internal state being value types flattens nested struct iterators with internal state being value types return iterator itself by rewind return iterator itself by rewind #flat_map flattens returned arrays flattens returned arrays flattens returned items flattens returned items flattens returned iterators flattens returned iterators flattens returned values flattens returned values flattens returned values of mixed element types in #to_a flattens returned values of mixed element types in #to_a #slice_after slices after slices after slices after: #to_a slices after: #to_a slices after: #rewind slices after: #rewind slices after with reuse = true slices after with reuse = true slices after with reuse = array slices after with reuse = array slices after: non-bool block slices after: non-bool block slices after pattern slices after pattern slices after pattern with reuse = true slices after pattern with reuse = true #slice_before slices before slices before slices before: first element matches slices before: first element matches slices before nil slices before nil slices before: #to_a slices before: #to_a slices before: #rewind slices before: #rewind slices before with reuse = true slices before with reuse = true slices before with reuse = array slices before with reuse = array slices before: non-bool block slices before: non-bool block slices before pattern slices before pattern slices before pattern with reuse = true slices before pattern with reuse = true #slice_when slices when slices when slices when: single value slices when: single value slices when: two values slices when: two values slices when: #to_a slices when: #to_a slices when: #rewind slices when: #rewind slices when with reuse = true slices when with reuse = true slices when with reuse = array slices when with reuse = array slices when: non-bool block slices when: non-bool block #chunk_while chunks while chunks while exit exits normally with status 0 exits normally with status 0 exits with given error code exits with given error code at_exit runs handlers on normal program ending runs handlers on normal program ending runs handlers on explicit program ending runs handlers on explicit program ending runs handlers in reverse order runs handlers in reverse order runs all handlers maximum once runs all handlers maximum once allows handlers to change the exit code with explicit `exit` call allows handlers to change the exit code with explicit `exit` call allows handlers to change the exit code with explicit `exit` call (2) allows handlers to change the exit code with explicit `exit` call (2) changes final exit code when an handler raises an error changes final exit code when an handler raises an error shows unhandled exceptions after at_exit handlers shows unhandled exceptions after at_exit handlers can get unhandled exception in at_exit handler can get unhandled exception in at_exit handler allows at_exit inside at_exit allows at_exit inside at_exit prints unhandled exception with cause prints unhandled exception with cause seg fault reports SIGSEGV reports SIGSEGV detects stack overflow on the main stack detects stack overflow on the main stack detects stack overflow on a fiber stack detects stack overflow on a fiber stack levenshtein assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert finds with finder finds with finder finds with finder and other values finds with finder and other values Regex::MatchData does inspect does inspect does to_s does to_s does pretty_print does pretty_print does size does size #[] captures empty group captures empty group capture named group capture named group captures duplicated named group captures duplicated named group can use negative index can use negative index raises exception when named group doesn't exist raises exception when named group doesn't exist raises exception on optional empty group raises exception on optional empty group raises if outside match range with [] raises if outside match range with [] raises if special variable accessed on invalid capture group raises if special variable accessed on invalid capture group can use range can use range can use start and count can use start and count #[]? capture empty group capture empty group capture optional empty group capture optional empty group capture named group capture named group captures duplicated named group captures duplicated named group can use negative index can use negative index returns nil exception when named group doesn't exist returns nil exception when named group doesn't exist returns nil if outside match range with [] returns nil if outside match range with [] can use range can use range can use start and count can use start and count #post_match returns an empty string when there's nothing after returns an empty string when there's nothing after returns the part of the string after the match returns the part of the string after the match works with unicode works with unicode #pre_match returns an empty string when there's nothing before returns an empty string when there's nothing before returns the part of the string before the match returns the part of the string before the match works with unicode works with unicode #captures gets an array of unnamed captures gets an array of unnamed captures gets an array of unnamed captures with optional gets an array of unnamed captures with optional #named_captures gets a hash of named captures gets a hash of named captures gets a hash of named captures with optional gets a hash of named captures with optional gets a hash of named captures with duplicated name gets a hash of named captures with duplicated name #to_a converts into an array converts into an array converts into an array having nil converts into an array having nil #to_h converts into a hash converts into a hash converts into a hash having nil converts into a hash having nil converts into a hash with duplicated names converts into a hash with duplicated names can check equality can check equality hashes hashes Math Mathematical constants E E LOG2 LOG2 LOG10 LOG10 Functions manipulating signs copysign copysign Functions for computing quotient and remainder Functions for computing quotient and remainder Roots cbrt cbrt sqrt sqrt isqrt isqrt Exponents exp exp exp2 exp2 expm1 expm1 ilogb ilogb ldexp ldexp logb logb scalbn scalbn scalbln scalbln frexp frexp Logarithms log log log2 log2 log10 log10 log1p log1p Trigonometric functions cos cos sin sin tan tan hypot hypot Inverse trigonometric functions acos acos asin asin atan atan atan2 atan2 Hyperbolic functions cosh cosh sinh sinh tanh tanh Inverse hyperbolic functions acosh acosh asinh asinh atanh atanh Gamma functions gamma gamma lgamma lgamma Bessel functions besselj0 besselj0 besselj1 besselj1 besselj besselj bessely0 bessely0 bessely1 bessely1 bessely bessely Gauss error functions erf erf erfc erfc .pw2ceil Int32 Int32 Int64 Int64 MIME .from_extension .from_extension .from_extension? .from_extension? .from_filename String String Path Path .from_filename? String String Path Path .register registers new type registers new type fails for invalid extension fails for invalid extension .extensions lists extensions lists extensions returns empty set returns empty set recognizes overridden types recognizes overridden types parses media types parses media types .load_mime_database .load_mime_database .init loads defaults loads defaults skips loading defaults skips loading defaults loads file loads file Mutex locks and unlocks locks and unlocks works with multiple threads works with multiple threads checked raises if locked recursively raises if locked recursively raises if unlocks without lock raises if unlocks without lock can't be unlocked by another fiber can't be unlocked by another fiber reentrant can be locked many times from the same fiber can be locked many times from the same fiber raises if unlocks without lock raises if unlocks without lock can't be unlocked by another fiber can't be unlocked by another fiber unchecked can lock and unlock from multiple fibers can lock and unlock from multiple fibers NamedTuple does NamedTuple.new, without type vars does NamedTuple.new, without type vars does NamedTuple.new, with type vars does NamedTuple.new, with type vars does NamedTuple.from does NamedTuple.from does NamedTuple#from does NamedTuple#from gets size gets size does [] with runtime key does [] with runtime key does []? with runtime key does []? with runtime key does [] with string does [] with string does []? with string does []? with string #dig? gets the value at given path given splat gets the value at given path given splat returns nil if not found returns nil if not found #dig gets the value at given path given splat gets the value at given path given splat raises KeyError if not found raises KeyError if not found computes a hash value computes a hash value does each does each does each_key does each_key does each_value does each_value does each_with_index does each_with_index does has_key? with symbol does has_key? with symbol does has_key? with string does has_key? with string does empty does empty #to_a creates an array of key-value pairs creates an array of key-value pairs preserves key type for empty named tuples preserves key type for empty named tuples does map does map compares with same named tuple type compares with same named tuple type compares with other named tuple type compares with other named tuple type compares with named tuple union (#5131) compares with named tuple union (#5131) #to_h creates a hash creates a hash creates an empty hash from an empty named tuple creates an empty hash from an empty named tuple does to_s does to_s dups dups clones clones does keys does keys does sorted_keys does sorted_keys does values does values merges with other named tuple merges with other named tuple does types does types Number unchecked initialize from value to Int8 unchecked initialize from value to Int8 initialize from value to Int8 initialize from value to Int8 unchecked initialize from value to UInt8 unchecked initialize from value to UInt8 initialize from value to UInt8 initialize from value to UInt8 unchecked initialize from value to Int16 unchecked initialize from value to Int16 initialize from value to Int16 initialize from value to Int16 unchecked initialize from value to UInt16 unchecked initialize from value to UInt16 initialize from value to UInt16 initialize from value to UInt16 unchecked initialize from value to Int32 unchecked initialize from value to Int32 initialize from value to Int32 initialize from value to Int32 unchecked initialize from value to UInt32 unchecked initialize from value to UInt32 initialize from value to UInt32 initialize from value to UInt32 unchecked initialize from value to Int64 unchecked initialize from value to Int64 initialize from value to Int64 initialize from value to Int64 unchecked initialize from value to UInt64 unchecked initialize from value to UInt64 initialize from value to UInt64 initialize from value to UInt64 unchecked initialize from value to Float32 unchecked initialize from value to Float32 initialize from value to Float32 initialize from value to Float32 unchecked initialize from value to Float64 unchecked initialize from value to Float64 initialize from value to Float64 initialize from value to Float64 converts from Int8 to Int8 converts from Int8 to Int8 converts from Int8 to Int8 converts from Int8 to Int8 converts from Int8 to UInt8 converts from Int8 to UInt8 converts from UInt8 to Int8 converts from UInt8 to Int8 converts from Int8 to Int16 converts from Int8 to Int16 converts from Int16 to Int8 converts from Int16 to Int8 converts from Int8 to UInt16 converts from Int8 to UInt16 converts from UInt16 to Int8 converts from UInt16 to Int8 converts from Int8 to Int32 converts from Int8 to Int32 converts from Int32 to Int8 converts from Int32 to Int8 converts from Int8 to UInt32 converts from Int8 to UInt32 converts from UInt32 to Int8 converts from UInt32 to Int8 converts from Int8 to Int64 converts from Int8 to Int64 converts from Int64 to Int8 converts from Int64 to Int8 converts from Int8 to UInt64 converts from Int8 to UInt64 converts from UInt64 to Int8 converts from UInt64 to Int8 converts from Int8 to Float32 converts from Int8 to Float32 converts from Float32 to Int8 converts from Float32 to Int8 converts from Int8 to Float64 converts from Int8 to Float64 converts from Float64 to Int8 converts from Float64 to Int8 converts from UInt8 to Int8 converts from UInt8 to Int8 converts from Int8 to UInt8 converts from Int8 to UInt8 converts from UInt8 to UInt8 converts from UInt8 to UInt8 converts from UInt8 to UInt8 converts from UInt8 to UInt8 converts from UInt8 to Int16 converts from UInt8 to Int16 converts from Int16 to UInt8 converts from Int16 to UInt8 converts from UInt8 to UInt16 converts from UInt8 to UInt16 converts from UInt16 to UInt8 converts from UInt16 to UInt8 converts from UInt8 to Int32 converts from UInt8 to Int32 converts from Int32 to UInt8 converts from Int32 to UInt8 converts from UInt8 to UInt32 converts from UInt8 to UInt32 converts from UInt32 to UInt8 converts from UInt32 to UInt8 converts from UInt8 to Int64 converts from UInt8 to Int64 converts from Int64 to UInt8 converts from Int64 to UInt8 converts from UInt8 to UInt64 converts from UInt8 to UInt64 converts from UInt64 to UInt8 converts from UInt64 to UInt8 converts from UInt8 to Float32 converts from UInt8 to Float32 converts from Float32 to UInt8 converts from Float32 to UInt8 converts from UInt8 to Float64 converts from UInt8 to Float64 converts from Float64 to UInt8 converts from Float64 to UInt8 converts from Int16 to Int8 converts from Int16 to Int8 converts from Int8 to Int16 converts from Int8 to Int16 converts from Int16 to UInt8 converts from Int16 to UInt8 converts from UInt8 to Int16 converts from UInt8 to Int16 converts from Int16 to Int16 converts from Int16 to Int16 converts from Int16 to Int16 converts from Int16 to Int16 converts from Int16 to UInt16 converts from Int16 to UInt16 converts from UInt16 to Int16 converts from UInt16 to Int16 converts from Int16 to Int32 converts from Int16 to Int32 converts from Int32 to Int16 converts from Int32 to Int16 converts from Int16 to UInt32 converts from Int16 to UInt32 converts from UInt32 to Int16 converts from UInt32 to Int16 converts from Int16 to Int64 converts from Int16 to Int64 converts from Int64 to Int16 converts from Int64 to Int16 converts from Int16 to UInt64 converts from Int16 to UInt64 converts from UInt64 to Int16 converts from UInt64 to Int16 converts from Int16 to Float32 converts from Int16 to Float32 converts from Float32 to Int16 converts from Float32 to Int16 converts from Int16 to Float64 converts from Int16 to Float64 converts from Float64 to Int16 converts from Float64 to Int16 converts from UInt16 to Int8 converts from UInt16 to Int8 converts from Int8 to UInt16 converts from Int8 to UInt16 converts from UInt16 to UInt8 converts from UInt16 to UInt8 converts from UInt8 to UInt16 converts from UInt8 to UInt16 converts from UInt16 to Int16 converts from UInt16 to Int16 converts from Int16 to UInt16 converts from Int16 to UInt16 converts from UInt16 to UInt16 converts from UInt16 to UInt16 converts from UInt16 to UInt16 converts from UInt16 to UInt16 converts from UInt16 to Int32 converts from UInt16 to Int32 converts from Int32 to UInt16 converts from Int32 to UInt16 converts from UInt16 to UInt32 converts from UInt16 to UInt32 converts from UInt32 to UInt16 converts from UInt32 to UInt16 converts from UInt16 to Int64 converts from UInt16 to Int64 converts from Int64 to UInt16 converts from Int64 to UInt16 converts from UInt16 to UInt64 converts from UInt16 to UInt64 converts from UInt64 to UInt16 converts from UInt64 to UInt16 converts from UInt16 to Float32 converts from UInt16 to Float32 converts from Float32 to UInt16 converts from Float32 to UInt16 converts from UInt16 to Float64 converts from UInt16 to Float64 converts from Float64 to UInt16 converts from Float64 to UInt16 converts from Int32 to Int8 converts from Int32 to Int8 converts from Int8 to Int32 converts from Int8 to Int32 converts from Int32 to UInt8 converts from Int32 to UInt8 converts from UInt8 to Int32 converts from UInt8 to Int32 converts from Int32 to Int16 converts from Int32 to Int16 converts from Int16 to Int32 converts from Int16 to Int32 converts from Int32 to UInt16 converts from Int32 to UInt16 converts from UInt16 to Int32 converts from UInt16 to Int32 converts from Int32 to Int32 converts from Int32 to Int32 converts from Int32 to Int32 converts from Int32 to Int32 converts from Int32 to UInt32 converts from Int32 to UInt32 converts from UInt32 to Int32 converts from UInt32 to Int32 converts from Int32 to Int64 converts from Int32 to Int64 converts from Int64 to Int32 converts from Int64 to Int32 converts from Int32 to UInt64 converts from Int32 to UInt64 converts from UInt64 to Int32 converts from UInt64 to Int32 converts from Int32 to Float32 converts from Int32 to Float32 converts from Float32 to Int32 converts from Float32 to Int32 converts from Int32 to Float64 converts from Int32 to Float64 converts from Float64 to Int32 converts from Float64 to Int32 converts from UInt32 to Int8 converts from UInt32 to Int8 converts from Int8 to UInt32 converts from Int8 to UInt32 converts from UInt32 to UInt8 converts from UInt32 to UInt8 converts from UInt8 to UInt32 converts from UInt8 to UInt32 converts from UInt32 to Int16 converts from UInt32 to Int16 converts from Int16 to UInt32 converts from Int16 to UInt32 converts from UInt32 to UInt16 converts from UInt32 to UInt16 converts from UInt16 to UInt32 converts from UInt16 to UInt32 converts from UInt32 to Int32 converts from UInt32 to Int32 converts from Int32 to UInt32 converts from Int32 to UInt32 converts from UInt32 to UInt32 converts from UInt32 to UInt32 converts from UInt32 to UInt32 converts from UInt32 to UInt32 converts from UInt32 to Int64 converts from UInt32 to Int64 converts from Int64 to UInt32 converts from Int64 to UInt32 converts from UInt32 to UInt64 converts from UInt32 to UInt64 converts from UInt64 to UInt32 converts from UInt64 to UInt32 converts from UInt32 to Float32 converts from UInt32 to Float32 converts from Float32 to UInt32 converts from Float32 to UInt32 converts from UInt32 to Float64 converts from UInt32 to Float64 converts from Float64 to UInt32 converts from Float64 to UInt32 converts from Int64 to Int8 converts from Int64 to Int8 converts from Int8 to Int64 converts from Int8 to Int64 converts from Int64 to UInt8 converts from Int64 to UInt8 converts from UInt8 to Int64 converts from UInt8 to Int64 converts from Int64 to Int16 converts from Int64 to Int16 converts from Int16 to Int64 converts from Int16 to Int64 converts from Int64 to UInt16 converts from Int64 to UInt16 converts from UInt16 to Int64 converts from UInt16 to Int64 converts from Int64 to Int32 converts from Int64 to Int32 converts from Int32 to Int64 converts from Int32 to Int64 converts from Int64 to UInt32 converts from Int64 to UInt32 converts from UInt32 to Int64 converts from UInt32 to Int64 converts from Int64 to Int64 converts from Int64 to Int64 converts from Int64 to Int64 converts from Int64 to Int64 converts from Int64 to UInt64 converts from Int64 to UInt64 converts from UInt64 to Int64 converts from UInt64 to Int64 converts from Int64 to Float32 converts from Int64 to Float32 converts from Float32 to Int64 converts from Float32 to Int64 converts from Int64 to Float64 converts from Int64 to Float64 converts from Float64 to Int64 converts from Float64 to Int64 converts from UInt64 to Int8 converts from UInt64 to Int8 converts from Int8 to UInt64 converts from Int8 to UInt64 converts from UInt64 to UInt8 converts from UInt64 to UInt8 converts from UInt8 to UInt64 converts from UInt8 to UInt64 converts from UInt64 to Int16 converts from UInt64 to Int16 converts from Int16 to UInt64 converts from Int16 to UInt64 converts from UInt64 to UInt16 converts from UInt64 to UInt16 converts from UInt16 to UInt64 converts from UInt16 to UInt64 converts from UInt64 to Int32 converts from UInt64 to Int32 converts from Int32 to UInt64 converts from Int32 to UInt64 converts from UInt64 to UInt32 converts from UInt64 to UInt32 converts from UInt32 to UInt64 converts from UInt32 to UInt64 converts from UInt64 to Int64 converts from UInt64 to Int64 converts from Int64 to UInt64 converts from Int64 to UInt64 converts from UInt64 to UInt64 converts from UInt64 to UInt64 converts from UInt64 to UInt64 converts from UInt64 to UInt64 converts from UInt64 to Float32 converts from UInt64 to Float32 converts from Float32 to UInt64 converts from Float32 to UInt64 converts from UInt64 to Float64 converts from UInt64 to Float64 converts from Float64 to UInt64 converts from Float64 to UInt64 converts from Float32 to Int8 converts from Float32 to Int8 converts from Int8 to Float32 converts from Int8 to Float32 converts from Float32 to UInt8 converts from Float32 to UInt8 converts from UInt8 to Float32 converts from UInt8 to Float32 converts from Float32 to Int16 converts from Float32 to Int16 converts from Int16 to Float32 converts from Int16 to Float32 converts from Float32 to UInt16 converts from Float32 to UInt16 converts from UInt16 to Float32 converts from UInt16 to Float32 converts from Float32 to Int32 converts from Float32 to Int32 converts from Int32 to Float32 converts from Int32 to Float32 converts from Float32 to UInt32 converts from Float32 to UInt32 converts from UInt32 to Float32 converts from UInt32 to Float32 converts from Float32 to Int64 converts from Float32 to Int64 converts from Int64 to Float32 converts from Int64 to Float32 converts from Float32 to UInt64 converts from Float32 to UInt64 converts from UInt64 to Float32 converts from UInt64 to Float32 converts from Float32 to Float32 converts from Float32 to Float32 converts from Float32 to Float32 converts from Float32 to Float32 converts from Float32 to Float64 converts from Float32 to Float64 converts from Float64 to Float32 converts from Float64 to Float32 converts from Float64 to Int8 converts from Float64 to Int8 converts from Int8 to Float64 converts from Int8 to Float64 converts from Float64 to UInt8 converts from Float64 to UInt8 converts from UInt8 to Float64 converts from UInt8 to Float64 converts from Float64 to Int16 converts from Float64 to Int16 converts from Int16 to Float64 converts from Int16 to Float64 converts from Float64 to UInt16 converts from Float64 to UInt16 converts from UInt16 to Float64 converts from UInt16 to Float64 converts from Float64 to Int32 converts from Float64 to Int32 converts from Int32 to Float64 converts from Int32 to Float64 converts from Float64 to UInt32 converts from Float64 to UInt32 converts from UInt32 to Float64 converts from UInt32 to Float64 converts from Float64 to Int64 converts from Float64 to Int64 converts from Int64 to Float64 converts from Int64 to Float64 converts from Float64 to UInt64 converts from Float64 to UInt64 converts from UInt64 to Float64 converts from UInt64 to Float64 converts from Float64 to Float32 converts from Float64 to Float32 converts from Float32 to Float64 converts from Float32 to Float64 converts from Float64 to Float64 converts from Float64 to Float64 converts from Float64 to Float64 converts from Float64 to Float64 significant 10 base 10 base 2 base 2 base 8 base 8 base preserves type preserves type #round rounds to nearest integer rounds to nearest integer infinity Float64 infinity Float64 infinity Float32 infinity Float32 nan nan rounds to digits rounds to digits assert assert edge cases edge cases preserves type preserves type negative digits negative digits accepts unsigned precision accepts unsigned precision handle medium amount of digits handle medium amount of digits rounding modes to_zero to_zero to_positive to_positive to_negative to_negative ties_even ties_even ties_away ties_away default (=ties_even) default (=ties_even) with digits to_zero to_zero to_positive to_positive to_negative to_negative ties_away ties_away ties_even ties_even base 2 2 8 8 gives the absolute value gives the absolute value gives the square of a value gives the square of a value gives the sign gives the sign divides and calculates the modulo divides and calculates the modulo compare the numbers compare the numbers creates an array with [] and some elements creates an array with [] and some elements creates an array with [] and no elements creates an array with [] and no elements creates a slice creates a slice creates a static array creates a static array #zero? #zero? #positive? #positive? #negative? #negative? #step "basic Int" yielding "basic Int" yielding "basic Int" iterator "basic Int" iterator "basic Float" yielding "basic Float" yielding "basic Float" iterator "basic Float" iterator "single value Int" yielding "single value Int" yielding "single value Int" iterator "single value Int" iterator "single value Float" yielding "single value Float" yielding "single value Float" iterator "single value Float" iterator "single value by Int" yielding "single value by Int" yielding "single value by Int" iterator "single value by Int" iterator "single value by Float" yielding "single value by Float" yielding "single value by Float" iterator "single value by Float" iterator "single value Int by Float" yielding "single value Int by Float" yielding "single value Int by Float" iterator "single value Int by Float" iterator "single value Float by Int" yielding "single value Float by Int" yielding "single value Float by Int" iterator "single value Float by Int" iterator "negative Int" yielding "negative Int" yielding "negative Int" iterator "negative Int" iterator "negative Float" yielding "negative Float" yielding "negative Float" iterator "negative Float" iterator "downto Int" yielding "downto Int" yielding "downto Int" iterator "downto Int" iterator "downto Int by" yielding "downto Int by" yielding "downto Int by" iterator "downto Int by" iterator "downto UInt" yielding "downto UInt" yielding "downto UInt" iterator "downto UInt" iterator "downto UInt by" yielding "downto UInt by" yielding "downto UInt by" iterator "downto UInt by" iterator "downto Float" yielding "downto Float" yielding "downto Float" iterator "downto Float" iterator "downto Float by" yielding "downto Float by" yielding "downto Float by" iterator "downto Float by" iterator "by Int" yielding "by Int" yielding "by Int" iterator "by Int" iterator "by Float" yielding "by Float" yielding "by Float" iterator "by Float" iterator "by Float half" yielding "by Float half" yielding "by Float half" iterator "by Float half" iterator "negative by Int" yielding "negative by Int" yielding "negative by Int" iterator "negative by Int" iterator "negative by Float" yielding "negative by Float" yielding "negative by Float" iterator "negative by Float" iterator "negative by Float half" yielding "negative by Float half" yielding "negative by Float half" iterator "negative by Float half" iterator "missing end Int" yielding "missing end Int" yielding "missing end Int" iterator "missing end Int" iterator "missing end Float" yielding "missing end Float" yielding "missing end Float" iterator "missing end Float" iterator "missing end UInt" yielding "missing end UInt" yielding "missing end UInt" iterator "missing end UInt" iterator "Int to Float" yielding "Int to Float" yielding "Int to Float" iterator "Int to Float" iterator "Int to Float by" yielding "Int to Float by" yielding "Int to Float by" iterator "Int to Float by" iterator "Float to Int" yielding "Float to Int" yielding "Float to Int" iterator "Float to Int" iterator "Float to Int by" yielding "Float to Int by" yielding "Float to Int by" iterator "Float to Int by" iterator "Int by Float" yielding "Int by Float" yielding "Int by Float" iterator "Int by Float" iterator "Float by Int" yielding "Float by Int" yielding "Float by Int" iterator "Float by Int" iterator "over zero Int" yielding "over zero Int" yielding "over zero Int" iterator "over zero Int" iterator "over zero Float" yielding "over zero Float" yielding "over zero Float" iterator "over zero Float" iterator "at max Int" yielding "at max Int" yielding "at max Int" iterator "at max Int" iterator "over max Int" yielding "over max Int" yielding "over max Int" iterator "over max Int" iterator "at min Int" yielding "at min Int" yielding "at min Int" iterator "at min Int" iterator "over min Int" yielding "over min Int" yielding "over min Int" iterator "over min Int" iterator by zero yielding by zero yielding by zero iterator by zero iterator "empty if `by` and `to` are opposed" yielding "empty if `by` and `to` are opposed" yielding "empty if `by` and `to` are opposed" iterator "empty if `by` and `to` are opposed" iterator "empty if `to` can't be compared" yielding "empty if `to` can't be compared" yielding "empty if `to` can't be compared" iterator "empty if `to` can't be compared" iterator "empty if `to` can't be compared by" yielding "empty if `to` can't be compared by" yielding "empty if `to` can't be compared by" iterator "empty if `to` can't be compared by" iterator "empty if `self` can't be compared" yielding "empty if `self` can't be compared" yielding "empty if `self` can't be compared" iterator "empty if `self` can't be compared" iterator "empty if `self` can't be compared by" yielding "empty if `self` can't be compared by" yielding "empty if `self` can't be compared by" iterator "empty if `self` can't be compared by" iterator exclusive "basic Int" yielding "basic Int" yielding "basic Int" iterator "basic Int" iterator "basic Float" yielding "basic Float" yielding "basic Float" iterator "basic Float" iterator "single value Int" yielding "single value Int" yielding "single value Int" iterator "single value Int" iterator "single value Float" yielding "single value Float" yielding "single value Float" iterator "single value Float" iterator without limit iterator basic basic raises overflow error raises overflow error yielding basic basic raises overflow error raises overflow error whole range assert assert "UInt8 upwards" yielding "UInt8 upwards" yielding "UInt8 upwards" iterator "UInt8 upwards" iterator "UInt8 downwards" yielding "UInt8 downwards" yielding "UInt8 downwards" iterator "UInt8 downwards" iterator assert assert "Int8 upwards" yielding "Int8 upwards" yielding "Int8 upwards" iterator "Int8 upwards" iterator "Int8 downwards" yielding "Int8 downwards" yielding "Int8 downwards" iterator "Int8 downwards" iterator assert assert "Int16 upwards" yielding "Int16 upwards" yielding "Int16 upwards" iterator "Int16 upwards" iterator "Int16 downwards" yielding "Int16 downwards" yielding "Int16 downwards" iterator "Int16 downwards" iterator "towards limit [max-4, max-2, max]" yielding "towards limit [max-4, max-2, max]" yielding "towards limit [max-4, max-2, max]" iterator "towards limit [max-4, max-2, max]" iterator "towards limit [max-4, max-2, max)" yielding "towards limit [max-4, max-2, max)" yielding "towards limit [max-4, max-2, max)" iterator "towards limit [max-4, max-2, max)" iterator "towards limit [max-3, max-1, max)" yielding "towards limit [max-3, max-1, max)" yielding "towards limit [max-3, max-1, max)" iterator "towards limit [max-3, max-1, max)" iterator floor_division Int8 // Int8 returns Int8 floor_division Int8 // Int8 returns Int8 floor_division Int8 // UInt8 returns Int8 floor_division Int8 // UInt8 returns Int8 floor_division Int8 // Int16 returns Int8 floor_division Int8 // Int16 returns Int8 floor_division Int8 // UInt16 returns Int8 floor_division Int8 // UInt16 returns Int8 floor_division Int8 // Int32 returns Int8 floor_division Int8 // Int32 returns Int8 floor_division Int8 // UInt32 returns Int8 floor_division Int8 // UInt32 returns Int8 floor_division Int8 // Int64 returns Int8 floor_division Int8 // Int64 returns Int8 floor_division Int8 // UInt64 returns Int8 floor_division Int8 // UInt64 returns Int8 floor_division Int8 // Float32 returns Int8 floor_division Int8 // Float32 returns Int8 floor_division Int8 // Float64 returns Int8 floor_division Int8 // Float64 returns Int8 floor_division UInt8 // Int8 returns UInt8 floor_division UInt8 // Int8 returns UInt8 floor_division UInt8 // UInt8 returns UInt8 floor_division UInt8 // UInt8 returns UInt8 floor_division UInt8 // Int16 returns UInt8 floor_division UInt8 // Int16 returns UInt8 floor_division UInt8 // UInt16 returns UInt8 floor_division UInt8 // UInt16 returns UInt8 floor_division UInt8 // Int32 returns UInt8 floor_division UInt8 // Int32 returns UInt8 floor_division UInt8 // UInt32 returns UInt8 floor_division UInt8 // UInt32 returns UInt8 floor_division UInt8 // Int64 returns UInt8 floor_division UInt8 // Int64 returns UInt8 floor_division UInt8 // UInt64 returns UInt8 floor_division UInt8 // UInt64 returns UInt8 floor_division UInt8 // Float32 returns UInt8 floor_division UInt8 // Float32 returns UInt8 floor_division UInt8 // Float64 returns UInt8 floor_division UInt8 // Float64 returns UInt8 floor_division Int16 // Int8 returns Int16 floor_division Int16 // Int8 returns Int16 floor_division Int16 // UInt8 returns Int16 floor_division Int16 // UInt8 returns Int16 floor_division Int16 // Int16 returns Int16 floor_division Int16 // Int16 returns Int16 floor_division Int16 // UInt16 returns Int16 floor_division Int16 // UInt16 returns Int16 floor_division Int16 // Int32 returns Int16 floor_division Int16 // Int32 returns Int16 floor_division Int16 // UInt32 returns Int16 floor_division Int16 // UInt32 returns Int16 floor_division Int16 // Int64 returns Int16 floor_division Int16 // Int64 returns Int16 floor_division Int16 // UInt64 returns Int16 floor_division Int16 // UInt64 returns Int16 floor_division Int16 // Float32 returns Int16 floor_division Int16 // Float32 returns Int16 floor_division Int16 // Float64 returns Int16 floor_division Int16 // Float64 returns Int16 floor_division UInt16 // Int8 returns UInt16 floor_division UInt16 // Int8 returns UInt16 floor_division UInt16 // UInt8 returns UInt16 floor_division UInt16 // UInt8 returns UInt16 floor_division UInt16 // Int16 returns UInt16 floor_division UInt16 // Int16 returns UInt16 floor_division UInt16 // UInt16 returns UInt16 floor_division UInt16 // UInt16 returns UInt16 floor_division UInt16 // Int32 returns UInt16 floor_division UInt16 // Int32 returns UInt16 floor_division UInt16 // UInt32 returns UInt16 floor_division UInt16 // UInt32 returns UInt16 floor_division UInt16 // Int64 returns UInt16 floor_division UInt16 // Int64 returns UInt16 floor_division UInt16 // UInt64 returns UInt16 floor_division UInt16 // UInt64 returns UInt16 floor_division UInt16 // Float32 returns UInt16 floor_division UInt16 // Float32 returns UInt16 floor_division UInt16 // Float64 returns UInt16 floor_division UInt16 // Float64 returns UInt16 floor_division Int32 // Int8 returns Int32 floor_division Int32 // Int8 returns Int32 floor_division Int32 // UInt8 returns Int32 floor_division Int32 // UInt8 returns Int32 floor_division Int32 // Int16 returns Int32 floor_division Int32 // Int16 returns Int32 floor_division Int32 // UInt16 returns Int32 floor_division Int32 // UInt16 returns Int32 floor_division Int32 // Int32 returns Int32 floor_division Int32 // Int32 returns Int32 floor_division Int32 // UInt32 returns Int32 floor_division Int32 // UInt32 returns Int32 floor_division Int32 // Int64 returns Int32 floor_division Int32 // Int64 returns Int32 floor_division Int32 // UInt64 returns Int32 floor_division Int32 // UInt64 returns Int32 floor_division Int32 // Float32 returns Int32 floor_division Int32 // Float32 returns Int32 floor_division Int32 // Float64 returns Int32 floor_division Int32 // Float64 returns Int32 floor_division UInt32 // Int8 returns UInt32 floor_division UInt32 // Int8 returns UInt32 floor_division UInt32 // UInt8 returns UInt32 floor_division UInt32 // UInt8 returns UInt32 floor_division UInt32 // Int16 returns UInt32 floor_division UInt32 // Int16 returns UInt32 floor_division UInt32 // UInt16 returns UInt32 floor_division UInt32 // UInt16 returns UInt32 floor_division UInt32 // Int32 returns UInt32 floor_division UInt32 // Int32 returns UInt32 floor_division UInt32 // UInt32 returns UInt32 floor_division UInt32 // UInt32 returns UInt32 floor_division UInt32 // Int64 returns UInt32 floor_division UInt32 // Int64 returns UInt32 floor_division UInt32 // UInt64 returns UInt32 floor_division UInt32 // UInt64 returns UInt32 floor_division UInt32 // Float32 returns UInt32 floor_division UInt32 // Float32 returns UInt32 floor_division UInt32 // Float64 returns UInt32 floor_division UInt32 // Float64 returns UInt32 floor_division Int64 // Int8 returns Int64 floor_division Int64 // Int8 returns Int64 floor_division Int64 // UInt8 returns Int64 floor_division Int64 // UInt8 returns Int64 floor_division Int64 // Int16 returns Int64 floor_division Int64 // Int16 returns Int64 floor_division Int64 // UInt16 returns Int64 floor_division Int64 // UInt16 returns Int64 floor_division Int64 // Int32 returns Int64 floor_division Int64 // Int32 returns Int64 floor_division Int64 // UInt32 returns Int64 floor_division Int64 // UInt32 returns Int64 floor_division Int64 // Int64 returns Int64 floor_division Int64 // Int64 returns Int64 floor_division Int64 // UInt64 returns Int64 floor_division Int64 // UInt64 returns Int64 floor_division Int64 // Float32 returns Int64 floor_division Int64 // Float32 returns Int64 floor_division Int64 // Float64 returns Int64 floor_division Int64 // Float64 returns Int64 floor_division UInt64 // Int8 returns UInt64 floor_division UInt64 // Int8 returns UInt64 floor_division UInt64 // UInt8 returns UInt64 floor_division UInt64 // UInt8 returns UInt64 floor_division UInt64 // Int16 returns UInt64 floor_division UInt64 // Int16 returns UInt64 floor_division UInt64 // UInt16 returns UInt64 floor_division UInt64 // UInt16 returns UInt64 floor_division UInt64 // Int32 returns UInt64 floor_division UInt64 // Int32 returns UInt64 floor_division UInt64 // UInt32 returns UInt64 floor_division UInt64 // UInt32 returns UInt64 floor_division UInt64 // Int64 returns UInt64 floor_division UInt64 // Int64 returns UInt64 floor_division UInt64 // UInt64 returns UInt64 floor_division UInt64 // UInt64 returns UInt64 floor_division UInt64 // Float32 returns UInt64 floor_division UInt64 // Float32 returns UInt64 floor_division UInt64 // Float64 returns UInt64 floor_division UInt64 // Float64 returns UInt64 floor_division Float32 // Int8 returns Float32 floor_division Float32 // Int8 returns Float32 floor_division Float32 // UInt8 returns Float32 floor_division Float32 // UInt8 returns Float32 floor_division Float32 // Int16 returns Float32 floor_division Float32 // Int16 returns Float32 floor_division Float32 // UInt16 returns Float32 floor_division Float32 // UInt16 returns Float32 floor_division Float32 // Int32 returns Float32 floor_division Float32 // Int32 returns Float32 floor_division Float32 // UInt32 returns Float32 floor_division Float32 // UInt32 returns Float32 floor_division Float32 // Int64 returns Float32 floor_division Float32 // Int64 returns Float32 floor_division Float32 // UInt64 returns Float32 floor_division Float32 // UInt64 returns Float32 floor_division Float32 // Float32 returns Float32 floor_division Float32 // Float32 returns Float32 floor_division Float32 // Float64 returns Float32 floor_division Float32 // Float64 returns Float32 floor_division Float64 // Int8 returns Float64 floor_division Float64 // Int8 returns Float64 floor_division Float64 // UInt8 returns Float64 floor_division Float64 // UInt8 returns Float64 floor_division Float64 // Int16 returns Float64 floor_division Float64 // Int16 returns Float64 floor_division Float64 // UInt16 returns Float64 floor_division Float64 // UInt16 returns Float64 floor_division Float64 // Int32 returns Float64 floor_division Float64 // Int32 returns Float64 floor_division Float64 // UInt32 returns Float64 floor_division Float64 // UInt32 returns Float64 floor_division Float64 // Int64 returns Float64 floor_division Float64 // Int64 returns Float64 floor_division Float64 // UInt64 returns Float64 floor_division Float64 // UInt64 returns Float64 floor_division Float64 // Float32 returns Float64 floor_division Float64 // Float32 returns Float64 floor_division Float64 // Float64 returns Float64 floor_division Float64 // Float64 returns Float64 division between Int8 / Int8 returns Float64 division between Int8 / Int8 returns Float64 division between Int8 / UInt8 returns Float64 division between Int8 / UInt8 returns Float64 division between Int8 / Int16 returns Float64 division between Int8 / Int16 returns Float64 division between Int8 / UInt16 returns Float64 division between Int8 / UInt16 returns Float64 division between Int8 / Int32 returns Float64 division between Int8 / Int32 returns Float64 division between Int8 / UInt32 returns Float64 division between Int8 / UInt32 returns Float64 division between Int8 / Int64 returns Float64 division between Int8 / Int64 returns Float64 division between Int8 / UInt64 returns Float64 division between Int8 / UInt64 returns Float64 division between UInt8 / Int8 returns Float64 division between UInt8 / Int8 returns Float64 division between UInt8 / UInt8 returns Float64 division between UInt8 / UInt8 returns Float64 division between UInt8 / Int16 returns Float64 division between UInt8 / Int16 returns Float64 division between UInt8 / UInt16 returns Float64 division between UInt8 / UInt16 returns Float64 division between UInt8 / Int32 returns Float64 division between UInt8 / Int32 returns Float64 division between UInt8 / UInt32 returns Float64 division between UInt8 / UInt32 returns Float64 division between UInt8 / Int64 returns Float64 division between UInt8 / Int64 returns Float64 division between UInt8 / UInt64 returns Float64 division between UInt8 / UInt64 returns Float64 division between Int16 / Int8 returns Float64 division between Int16 / Int8 returns Float64 division between Int16 / UInt8 returns Float64 division between Int16 / UInt8 returns Float64 division between Int16 / Int16 returns Float64 division between Int16 / Int16 returns Float64 division between Int16 / UInt16 returns Float64 division between Int16 / UInt16 returns Float64 division between Int16 / Int32 returns Float64 division between Int16 / Int32 returns Float64 division between Int16 / UInt32 returns Float64 division between Int16 / UInt32 returns Float64 division between Int16 / Int64 returns Float64 division between Int16 / Int64 returns Float64 division between Int16 / UInt64 returns Float64 division between Int16 / UInt64 returns Float64 division between UInt16 / Int8 returns Float64 division between UInt16 / Int8 returns Float64 division between UInt16 / UInt8 returns Float64 division between UInt16 / UInt8 returns Float64 division between UInt16 / Int16 returns Float64 division between UInt16 / Int16 returns Float64 division between UInt16 / UInt16 returns Float64 division between UInt16 / UInt16 returns Float64 division between UInt16 / Int32 returns Float64 division between UInt16 / Int32 returns Float64 division between UInt16 / UInt32 returns Float64 division between UInt16 / UInt32 returns Float64 division between UInt16 / Int64 returns Float64 division between UInt16 / Int64 returns Float64 division between UInt16 / UInt64 returns Float64 division between UInt16 / UInt64 returns Float64 division between Int32 / Int8 returns Float64 division between Int32 / Int8 returns Float64 division between Int32 / UInt8 returns Float64 division between Int32 / UInt8 returns Float64 division between Int32 / Int16 returns Float64 division between Int32 / Int16 returns Float64 division between Int32 / UInt16 returns Float64 division between Int32 / UInt16 returns Float64 division between Int32 / Int32 returns Float64 division between Int32 / Int32 returns Float64 division between Int32 / UInt32 returns Float64 division between Int32 / UInt32 returns Float64 division between Int32 / Int64 returns Float64 division between Int32 / Int64 returns Float64 division between Int32 / UInt64 returns Float64 division between Int32 / UInt64 returns Float64 division between UInt32 / Int8 returns Float64 division between UInt32 / Int8 returns Float64 division between UInt32 / UInt8 returns Float64 division between UInt32 / UInt8 returns Float64 division between UInt32 / Int16 returns Float64 division between UInt32 / Int16 returns Float64 division between UInt32 / UInt16 returns Float64 division between UInt32 / UInt16 returns Float64 division between UInt32 / Int32 returns Float64 division between UInt32 / Int32 returns Float64 division between UInt32 / UInt32 returns Float64 division between UInt32 / UInt32 returns Float64 division between UInt32 / Int64 returns Float64 division between UInt32 / Int64 returns Float64 division between UInt32 / UInt64 returns Float64 division between UInt32 / UInt64 returns Float64 division between Int64 / Int8 returns Float64 division between Int64 / Int8 returns Float64 division between Int64 / UInt8 returns Float64 division between Int64 / UInt8 returns Float64 division between Int64 / Int16 returns Float64 division between Int64 / Int16 returns Float64 division between Int64 / UInt16 returns Float64 division between Int64 / UInt16 returns Float64 division between Int64 / Int32 returns Float64 division between Int64 / Int32 returns Float64 division between Int64 / UInt32 returns Float64 division between Int64 / UInt32 returns Float64 division between Int64 / Int64 returns Float64 division between Int64 / Int64 returns Float64 division between Int64 / UInt64 returns Float64 division between Int64 / UInt64 returns Float64 division between UInt64 / Int8 returns Float64 division between UInt64 / Int8 returns Float64 division between UInt64 / UInt8 returns Float64 division between UInt64 / UInt8 returns Float64 division between UInt64 / Int16 returns Float64 division between UInt64 / Int16 returns Float64 division between UInt64 / UInt16 returns Float64 division between UInt64 / UInt16 returns Float64 division between UInt64 / Int32 returns Float64 division between UInt64 / Int32 returns Float64 division between UInt64 / UInt32 returns Float64 division between UInt64 / UInt32 returns Float64 division between UInt64 / Int64 returns Float64 division between UInt64 / Int64 returns Float64 division between UInt64 / UInt64 returns Float64 division between UInt64 / UInt64 returns Float64 division between Int8 / Float32 returns Float32 division between Int8 / Float32 returns Float32 division between UInt8 / Float32 returns Float32 division between UInt8 / Float32 returns Float32 division between Int16 / Float32 returns Float32 division between Int16 / Float32 returns Float32 division between UInt16 / Float32 returns Float32 division between UInt16 / Float32 returns Float32 division between Int32 / Float32 returns Float32 division between Int32 / Float32 returns Float32 division between UInt32 / Float32 returns Float32 division between UInt32 / Float32 returns Float32 division between Int64 / Float32 returns Float32 division between Int64 / Float32 returns Float32 division between UInt64 / Float32 returns Float32 division between UInt64 / Float32 returns Float32 division between Float32 / Int8 returns Float32 division between Float32 / Int8 returns Float32 division between Float32 / UInt8 returns Float32 division between Float32 / UInt8 returns Float32 division between Float32 / Int16 returns Float32 division between Float32 / Int16 returns Float32 division between Float32 / UInt16 returns Float32 division between Float32 / UInt16 returns Float32 division between Float32 / Int32 returns Float32 division between Float32 / Int32 returns Float32 division between Float32 / UInt32 returns Float32 division between Float32 / UInt32 returns Float32 division between Float32 / Int64 returns Float32 division between Float32 / Int64 returns Float32 division between Float32 / UInt64 returns Float32 division between Float32 / UInt64 returns Float32 division between Int8 / Float64 returns Float64 division between Int8 / Float64 returns Float64 division between UInt8 / Float64 returns Float64 division between UInt8 / Float64 returns Float64 division between Int16 / Float64 returns Float64 division between Int16 / Float64 returns Float64 division between UInt16 / Float64 returns Float64 division between UInt16 / Float64 returns Float64 division between Int32 / Float64 returns Float64 division between Int32 / Float64 returns Float64 division between UInt32 / Float64 returns Float64 division between UInt32 / Float64 returns Float64 division between Int64 / Float64 returns Float64 division between Int64 / Float64 returns Float64 division between UInt64 / Float64 returns Float64 division between UInt64 / Float64 returns Float64 division between Float64 / Int8 returns Float64 division between Float64 / Int8 returns Float64 division between Float64 / UInt8 returns Float64 division between Float64 / UInt8 returns Float64 division between Float64 / Int16 returns Float64 division between Float64 / Int16 returns Float64 division between Float64 / UInt16 returns Float64 division between Float64 / UInt16 returns Float64 division between Float64 / Int32 returns Float64 division between Float64 / Int32 returns Float64 division between Float64 / UInt32 returns Float64 division between Float64 / UInt32 returns Float64 division between Float64 / Int64 returns Float64 division between Float64 / Int64 returns Float64 division between Float64 / UInt64 returns Float64 division between Float64 / UInt64 returns Float64 division between Float32 / Float32 returns Float32 division between Float32 / Float32 returns Float32 division between Float32 / Float64 returns Float64 division between Float32 / Float64 returns Float64 division between Float64 / Float64 returns Float64 division between Float64 / Float64 returns Float64 division between Float64 / Float32 returns Float64 division between Float64 / Float32 returns Float64 division between Float64 / Float64 returns Float64 division between Float64 / Float64 returns Float64 Class delegate delegates delegates delegates setter delegates setter delegates []= delegates []= getter uses simple getter uses simple getter uses getter with type declaration uses getter with type declaration uses getter with type declaration and default value uses getter with type declaration and default value uses getter with assignment uses getter with assignment defines lazy getter with block defines lazy getter with block defines lazy getter with block returning false defines lazy getter with block returning false getter! uses getter! uses getter! uses getter! with type declaration uses getter! with type declaration getter? uses getter? uses getter? uses getter? with type declaration uses getter? with type declaration uses getter? with type declaration and default value uses getter? with type declaration and default value uses getter? with default value uses getter? with default value uses getter? with type declaration and block uses getter? with type declaration and block uses getter? with block uses getter? with block setter uses setter uses setter uses setter with type declaration uses setter with type declaration uses setter with type declaration and default value uses setter with type declaration and default value uses setter with default value uses setter with default value property uses property uses property uses property with type declaration uses property with type declaration uses property with type declaration and default value uses property with type declaration and default value uses property with default value uses property with default value defines lazy property with block defines lazy property with block defines lazy property with block returning false defines lazy property with block returning false property! uses property! uses property! uses property! with type declaration uses property! with type declaration property? uses property? uses property? uses property? with type declaration uses property? with type declaration uses property? with type declaration and default value uses property? with type declaration and default value uses property? with default value uses property? with default value uses property? with type declaration and block uses property? with type declaration and block uses property? with block uses property? with block #in? works with Enumerable-s works with Enumerable-s works with splatted arguments works with splatted arguments works with other objects implementing #includes? works with other objects implementing #includes? #unsafe_as #unsafe_as calls #finalize on #clone'd objects calls #finalize on #clone'd objects def_hash should return same hash for equal property values should return same hash for equal property values shouldn't return same hash for different property values shouldn't return same hash for different property values applies annotation to lazy property (#9139) applies annotation to lazy property (#9139) def_equals compares by reference compares by reference OptionParser has flag has flag has flag with many letters has flag with many letters doesn't have flag doesn't have flag has flag with double dash has flag with double dash doesn't have flag with double dash doesn't have flag with double dash has required option next to flag has required option next to flag has required option next to flag but given separated has required option next to flag but given separated raises if missing option next to flag raises if missing option next to flag has required option separated from flag has required option separated from flag has required option separated from flag but given together has required option separated from flag but given together gets short option with value that looks like flag gets short option with value that looks like flag raises if missing required option with space raises if missing required option with space has required option separated from long flag has required option separated from long flag has required option with = has required option with = has required option with = (2) has required option with = (2) has required option with = (3) handles empty has required option with = (3) handles empty raises if missing required argument separated from long flag raises if missing required argument separated from long flag has required option with space has required option with space has required option with long flag space has required option with long flag space gets short option with value -- (#8937) gets short option with value -- (#8937) gets long option with value -- (#8937) gets long option with value -- (#8937) doesn't raise if required option is not specified doesn't raise if required option is not specified doesn't raise if optional option is not specified with short flag doesn't raise if optional option is not specified with short flag doesn't raise if optional option is not specified with long flag doesn't raise if optional option is not specified with long flag doesn't raise if optional option is not specified with separated short flag doesn't raise if optional option is not specified with separated short flag doesn't raise if required option is not specified with separated short flag doesn't raise if required option is not specified with separated short flag parses argument when only referenced in long flag parses argument when only referenced in long flag parses argument when referenced in long and short flag parses argument when referenced in long and short flag does to_s with banner does to_s with banner does to_s with separators does to_s with separators does to_s with very long flag (#3305) does to_s with very long flag (#3305) does to_s with multi line description (#5832) does to_s with multi line description (#5832) raises on invalid option raises on invalid option raises on invalid option if value is given to none value handler (short flag, #9553) raises on invalid option if value is given to none value handler (short flag, #9553) raises on invalid option if value is given to none value handler (long flag, #9553) raises on invalid option if value is given to none value handler (long flag, #9553) calls the handler for invalid options calls the handler for invalid options calls the handler for missing options calls the handler for missing options multiple times gets an existence flag multiple times gets an existence flag multiple times gets a single flag option multiple times gets a single flag option multiple times gets a double flag option multiple times gets a double flag option multiple times -- ignores everything after -- with bool flag ignores everything after -- with bool flag ignores everything after -- with single flag) ignores everything after -- with single flag) ignores everything after -- with double flag ignores everything after -- with double flag returns a pair with things coming before and after -- returns a pair with things coming before and after -- returns a pair with things coming before and after --, without -- returns a pair with things coming before and after --, without -- initializes without block and does parse! initializes without block and does parse! gets `-` as argument gets `-` as argument forward-match distinguishes between '--lamb VALUE' and '--lambda VALUE' distinguishes between '--lamb VALUE' and '--lambda VALUE' distinguishes between '--lamb=VALUE' and '--lambda=VALUE' distinguishes between '--lamb=VALUE' and '--lambda=VALUE' raises if flag pair doesn't start with dash (#4001) raises if flag pair doesn't start with dash (#4001) handles subcommands handles subcommands parses with subcommands twice parses with subcommands twice unregisters subcommands on call unregisters subcommands on call handles subcommand --help well (top level) handles subcommand --help well (top level) handles subcommand --help well (subcommand) handles subcommand --help well (subcommand) handles subcommands with hyphen handles subcommands with hyphen stops when asked stops when asked can run a callback on every argument can run a callback on every argument overflow overflow test Int8 + Int8 overflow test Int8 + Int8 overflow test Int8 - Int8 overflow test Int8 - Int8 overflow test Int8 * Int8 overflow test Int8 * Int8 overflow test Int8 + UInt8 overflow test Int8 + UInt8 overflow test Int8 - UInt8 overflow test Int8 - UInt8 overflow test Int8 * UInt8 overflow test Int8 * UInt8 overflow test Int8 + Int16 overflow test Int8 + Int16 overflow test Int8 - Int16 overflow test Int8 - Int16 overflow test Int8 * Int16 overflow test Int8 * Int16 overflow test Int8 + UInt16 overflow test Int8 + UInt16 overflow test Int8 - UInt16 overflow test Int8 - UInt16 overflow test Int8 * UInt16 overflow test Int8 * UInt16 overflow test Int8 + Int32 overflow test Int8 + Int32 overflow test Int8 - Int32 overflow test Int8 - Int32 overflow test Int8 * Int32 overflow test Int8 * Int32 overflow test Int8 + UInt32 overflow test Int8 + UInt32 overflow test Int8 - UInt32 overflow test Int8 - UInt32 overflow test Int8 * UInt32 overflow test Int8 * UInt32 overflow test Int8 + Int64 overflow test Int8 + Int64 overflow test Int8 - Int64 overflow test Int8 - Int64 overflow test Int8 * Int64 overflow test Int8 * Int64 overflow test Int8 + UInt64 overflow test Int8 + UInt64 overflow test Int8 - UInt64 overflow test Int8 - UInt64 overflow test Int8 * UInt64 overflow test Int8 * UInt64 overflow test UInt8 + Int8 overflow test UInt8 + Int8 overflow test UInt8 - Int8 overflow test UInt8 - Int8 overflow test UInt8 * Int8 overflow test UInt8 * Int8 overflow test UInt8 + UInt8 overflow test UInt8 + UInt8 overflow test UInt8 - UInt8 overflow test UInt8 - UInt8 overflow test UInt8 * UInt8 overflow test UInt8 * UInt8 overflow test UInt8 + Int16 overflow test UInt8 + Int16 overflow test UInt8 - Int16 overflow test UInt8 - Int16 overflow test UInt8 * Int16 overflow test UInt8 * Int16 overflow test UInt8 + UInt16 overflow test UInt8 + UInt16 overflow test UInt8 - UInt16 overflow test UInt8 - UInt16 overflow test UInt8 * UInt16 overflow test UInt8 * UInt16 overflow test UInt8 + Int32 overflow test UInt8 + Int32 overflow test UInt8 - Int32 overflow test UInt8 - Int32 overflow test UInt8 * Int32 overflow test UInt8 * Int32 overflow test UInt8 + UInt32 overflow test UInt8 + UInt32 overflow test UInt8 - UInt32 overflow test UInt8 - UInt32 overflow test UInt8 * UInt32 overflow test UInt8 * UInt32 overflow test UInt8 + Int64 overflow test UInt8 + Int64 overflow test UInt8 - Int64 overflow test UInt8 - Int64 overflow test UInt8 * Int64 overflow test UInt8 * Int64 overflow test UInt8 + UInt64 overflow test UInt8 + UInt64 overflow test UInt8 - UInt64 overflow test UInt8 - UInt64 overflow test UInt8 * UInt64 overflow test UInt8 * UInt64 overflow test Int16 + Int8 overflow test Int16 + Int8 overflow test Int16 - Int8 overflow test Int16 - Int8 overflow test Int16 * Int8 overflow test Int16 * Int8 overflow test Int16 + UInt8 overflow test Int16 + UInt8 overflow test Int16 - UInt8 overflow test Int16 - UInt8 overflow test Int16 * UInt8 overflow test Int16 * UInt8 overflow test Int16 + Int16 overflow test Int16 + Int16 overflow test Int16 - Int16 overflow test Int16 - Int16 overflow test Int16 * Int16 overflow test Int16 * Int16 overflow test Int16 + UInt16 overflow test Int16 + UInt16 overflow test Int16 - UInt16 overflow test Int16 - UInt16 overflow test Int16 * UInt16 overflow test Int16 * UInt16 overflow test Int16 + Int32 overflow test Int16 + Int32 overflow test Int16 - Int32 overflow test Int16 - Int32 overflow test Int16 * Int32 overflow test Int16 * Int32 overflow test Int16 + UInt32 overflow test Int16 + UInt32 overflow test Int16 - UInt32 overflow test Int16 - UInt32 overflow test Int16 * UInt32 overflow test Int16 * UInt32 overflow test Int16 + Int64 overflow test Int16 + Int64 overflow test Int16 - Int64 overflow test Int16 - Int64 overflow test Int16 * Int64 overflow test Int16 * Int64 overflow test Int16 + UInt64 overflow test Int16 + UInt64 overflow test Int16 - UInt64 overflow test Int16 - UInt64 overflow test Int16 * UInt64 overflow test Int16 * UInt64 overflow test UInt16 + Int8 overflow test UInt16 + Int8 overflow test UInt16 - Int8 overflow test UInt16 - Int8 overflow test UInt16 * Int8 overflow test UInt16 * Int8 overflow test UInt16 + UInt8 overflow test UInt16 + UInt8 overflow test UInt16 - UInt8 overflow test UInt16 - UInt8 overflow test UInt16 * UInt8 overflow test UInt16 * UInt8 overflow test UInt16 + Int16 overflow test UInt16 + Int16 overflow test UInt16 - Int16 overflow test UInt16 - Int16 overflow test UInt16 * Int16 overflow test UInt16 * Int16 overflow test UInt16 + UInt16 overflow test UInt16 + UInt16 overflow test UInt16 - UInt16 overflow test UInt16 - UInt16 overflow test UInt16 * UInt16 overflow test UInt16 * UInt16 overflow test UInt16 + Int32 overflow test UInt16 + Int32 overflow test UInt16 - Int32 overflow test UInt16 - Int32 overflow test UInt16 * Int32 overflow test UInt16 * Int32 overflow test UInt16 + UInt32 overflow test UInt16 + UInt32 overflow test UInt16 - UInt32 overflow test UInt16 - UInt32 overflow test UInt16 * UInt32 overflow test UInt16 * UInt32 overflow test UInt16 + Int64 overflow test UInt16 + Int64 overflow test UInt16 - Int64 overflow test UInt16 - Int64 overflow test UInt16 * Int64 overflow test UInt16 * Int64 overflow test UInt16 + UInt64 overflow test UInt16 + UInt64 overflow test UInt16 - UInt64 overflow test UInt16 - UInt64 overflow test UInt16 * UInt64 overflow test UInt16 * UInt64 overflow test Int32 + Int8 overflow test Int32 + Int8 overflow test Int32 - Int8 overflow test Int32 - Int8 overflow test Int32 * Int8 overflow test Int32 * Int8 overflow test Int32 + UInt8 overflow test Int32 + UInt8 overflow test Int32 - UInt8 overflow test Int32 - UInt8 overflow test Int32 * UInt8 overflow test Int32 * UInt8 overflow test Int32 + Int16 overflow test Int32 + Int16 overflow test Int32 - Int16 overflow test Int32 - Int16 overflow test Int32 * Int16 overflow test Int32 * Int16 overflow test Int32 + UInt16 overflow test Int32 + UInt16 overflow test Int32 - UInt16 overflow test Int32 - UInt16 overflow test Int32 * UInt16 overflow test Int32 * UInt16 overflow test Int32 + Int32 overflow test Int32 + Int32 overflow test Int32 - Int32 overflow test Int32 - Int32 overflow test Int32 * Int32 overflow test Int32 * Int32 overflow test Int32 + UInt32 overflow test Int32 + UInt32 overflow test Int32 - UInt32 overflow test Int32 - UInt32 overflow test Int32 * UInt32 overflow test Int32 * UInt32 overflow test Int32 + Int64 overflow test Int32 + Int64 overflow test Int32 - Int64 overflow test Int32 - Int64 overflow test Int32 * Int64 overflow test Int32 * Int64 overflow test Int32 + UInt64 overflow test Int32 + UInt64 overflow test Int32 - UInt64 overflow test Int32 - UInt64 overflow test Int32 * UInt64 overflow test Int32 * UInt64 overflow test UInt32 + Int8 overflow test UInt32 + Int8 overflow test UInt32 - Int8 overflow test UInt32 - Int8 overflow test UInt32 * Int8 overflow test UInt32 * Int8 overflow test UInt32 + UInt8 overflow test UInt32 + UInt8 overflow test UInt32 - UInt8 overflow test UInt32 - UInt8 overflow test UInt32 * UInt8 overflow test UInt32 * UInt8 overflow test UInt32 + Int16 overflow test UInt32 + Int16 overflow test UInt32 - Int16 overflow test UInt32 - Int16 overflow test UInt32 * Int16 overflow test UInt32 * Int16 overflow test UInt32 + UInt16 overflow test UInt32 + UInt16 overflow test UInt32 - UInt16 overflow test UInt32 - UInt16 overflow test UInt32 * UInt16 overflow test UInt32 * UInt16 overflow test UInt32 + Int32 overflow test UInt32 + Int32 overflow test UInt32 - Int32 overflow test UInt32 - Int32 overflow test UInt32 * Int32 overflow test UInt32 * Int32 overflow test UInt32 + UInt32 overflow test UInt32 + UInt32 overflow test UInt32 - UInt32 overflow test UInt32 - UInt32 overflow test UInt32 * UInt32 overflow test UInt32 * UInt32 overflow test UInt32 + Int64 overflow test UInt32 + Int64 overflow test UInt32 - Int64 overflow test UInt32 - Int64 overflow test UInt32 * Int64 overflow test UInt32 * Int64 overflow test UInt32 + UInt64 overflow test UInt32 + UInt64 overflow test UInt32 - UInt64 overflow test UInt32 - UInt64 overflow test UInt32 * UInt64 overflow test UInt32 * UInt64 overflow test Int64 + Int8 overflow test Int64 + Int8 overflow test Int64 - Int8 overflow test Int64 - Int8 overflow test Int64 * Int8 overflow test Int64 * Int8 overflow test Int64 + UInt8 overflow test Int64 + UInt8 overflow test Int64 - UInt8 overflow test Int64 - UInt8 overflow test Int64 * UInt8 overflow test Int64 * UInt8 overflow test Int64 + Int16 overflow test Int64 + Int16 overflow test Int64 - Int16 overflow test Int64 - Int16 overflow test Int64 * Int16 overflow test Int64 * Int16 overflow test Int64 + UInt16 overflow test Int64 + UInt16 overflow test Int64 - UInt16 overflow test Int64 - UInt16 overflow test Int64 * UInt16 overflow test Int64 * UInt16 overflow test Int64 + Int32 overflow test Int64 + Int32 overflow test Int64 - Int32 overflow test Int64 - Int32 overflow test Int64 * Int32 overflow test Int64 * Int32 overflow test Int64 + UInt32 overflow test Int64 + UInt32 overflow test Int64 - UInt32 overflow test Int64 - UInt32 overflow test Int64 * UInt32 overflow test Int64 * UInt32 overflow test Int64 + Int64 overflow test Int64 + Int64 overflow test Int64 - Int64 overflow test Int64 - Int64 overflow test Int64 * Int64 overflow test Int64 * Int64 overflow test Int64 + UInt64 overflow test Int64 + UInt64 overflow test Int64 - UInt64 overflow test Int64 - UInt64 overflow test Int64 * UInt64 overflow test Int64 * UInt64 overflow test UInt64 + Int8 overflow test UInt64 + Int8 overflow test UInt64 - Int8 overflow test UInt64 - Int8 overflow test UInt64 * Int8 overflow test UInt64 * Int8 overflow test UInt64 + UInt8 overflow test UInt64 + UInt8 overflow test UInt64 - UInt8 overflow test UInt64 - UInt8 overflow test UInt64 * UInt8 overflow test UInt64 * UInt8 overflow test UInt64 + Int16 overflow test UInt64 + Int16 overflow test UInt64 - Int16 overflow test UInt64 - Int16 overflow test UInt64 * Int16 overflow test UInt64 * Int16 overflow test UInt64 + UInt16 overflow test UInt64 + UInt16 overflow test UInt64 - UInt16 overflow test UInt64 - UInt16 overflow test UInt64 * UInt16 overflow test UInt64 * UInt16 overflow test UInt64 + Int32 overflow test UInt64 + Int32 overflow test UInt64 - Int32 overflow test UInt64 - Int32 overflow test UInt64 * Int32 overflow test UInt64 * Int32 overflow test UInt64 + UInt32 overflow test UInt64 + UInt32 overflow test UInt64 - UInt32 overflow test UInt64 - UInt32 overflow test UInt64 * UInt32 overflow test UInt64 * UInt32 overflow test UInt64 + Int64 overflow test UInt64 + Int64 overflow test UInt64 - Int64 overflow test UInt64 - Int64 overflow test UInt64 * Int64 overflow test UInt64 * Int64 overflow test UInt64 + UInt64 overflow test UInt64 + UInt64 overflow test UInt64 - UInt64 overflow test UInt64 - UInt64 overflow test UInt64 * UInt64 overflow test UInt64 * UInt64 Path .new assert assert assert assert fails with null byte fails with null byte assert assert joins components joins components .posix assert assert assert assert assert assert fails with null byte fails with null byte assert assert joins components joins components .windows assert assert assert assert assert assert fails with null byte fails with null byte assert assert joins components joins components .[] .[] #parent "/Users/foo/bar.cr" (posix) "/Users/foo/bar.cr" (posix) "/Users/foo/bar.cr" (windows) "/Users/foo/bar.cr" (windows) "Users/foo/bar.cr" (posix) "Users/foo/bar.cr" (posix) "Users/foo/bar.cr" (windows) "Users/foo/bar.cr" (windows) "foo/bar/" (posix) "foo/bar/" (posix) "foo/bar/" (windows) "foo/bar/" (windows) "foo/bar/." (posix) "foo/bar/." (posix) "foo/bar/." (windows) "foo/bar/." (windows) "foo/bar/.." (posix) "foo/bar/.." (posix) "foo/bar/.." (windows) "foo/bar/.." (windows) "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) "foo/" (posix) "foo/" (posix) "foo/" (windows) "foo/" (windows) "/" (posix) "/" (posix) "/" (windows) "/" (windows) "/." (posix) "/." (posix) "/." (windows) "/." (windows) "////" (posix) "////" (posix) "////" (windows) "////" (windows) "foo//.//" (posix) "foo//.//" (posix) "foo//.//" (windows) "foo//.//" (windows) "/." (posix) "/." (posix) "/." (windows) "/." (windows) "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "" (posix) "" (posix) "" (windows) "" (windows) "./foo" (posix) "./foo" (posix) "./foo" (windows) "./foo" (windows) "." (posix) "." (posix) "." (windows) "." (windows) "\Users\foo\bar.cr" (posix) "\Users\foo\bar.cr" (posix) "\Users\foo\bar.cr" (windows) "\Users\foo\bar.cr" (windows) "\Users/foo\bar.cr" (posix) "\Users/foo\bar.cr" (posix) "\Users/foo\bar.cr" (windows) "\Users/foo\bar.cr" (windows) "foo\bar\" (posix) "foo\bar\" (posix) "foo\bar\" (windows) "foo\bar\" (windows) "foo\bar\." (posix) "foo\bar\." (posix) "foo\bar\." (windows) "foo\bar\." (windows) "foo\bar\.." (posix) "foo\bar\.." (posix) "foo\bar\.." (windows) "foo\bar\.." (windows) "foo\" (posix) "foo\" (posix) "foo\" (windows) "foo\" (windows) "\" (posix) "\" (posix) "\" (windows) "\" (windows) "\." (posix) "\." (posix) "\." (windows) "\." (windows) ".\foo" (posix) ".\foo" (posix) ".\foo" (windows) ".\foo" (windows) "C:" (posix) "C:" (posix) "C:" (windows) "C:" (windows) "C:/" (posix) "C:/" (posix) "C:/" (windows) "C:/" (windows) "C:\" (posix) "C:\" (posix) "C:\" (windows) "C:\" (windows) "C:/foo" (posix) "C:/foo" (posix) "C:/foo" (windows) "C:/foo" (windows) "C:\foo" (posix) "C:\foo" (posix) "C:\foo" (windows) "C:\foo" (windows) "/foo/C:/bar" (posix) "/foo/C:/bar" (posix) "/foo/C:/bar" (windows) "/foo/C:/bar" (windows) #parents "/Users/foo/bar.cr" (posix) "/Users/foo/bar.cr" (posix) "/Users/foo/bar.cr" (windows) "/Users/foo/bar.cr" (windows) "Users/foo/bar.cr" (posix) "Users/foo/bar.cr" (posix) "Users/foo/bar.cr" (windows) "Users/foo/bar.cr" (windows) "foo/bar/" (posix) "foo/bar/" (posix) "foo/bar/" (windows) "foo/bar/" (windows) "foo/bar/." (posix) "foo/bar/." (posix) "foo/bar/." (windows) "foo/bar/." (windows) "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) "foo/" (posix) "foo/" (posix) "foo/" (windows) "foo/" (windows) "/" (posix) "/" (posix) "/" (windows) "/" (windows) "////" (posix) "////" (posix) "////" (windows) "////" (windows) "/." (posix) "/." (posix) "/." (windows) "/." (windows) "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "" (posix) "" (posix) "" (windows) "" (windows) "./foo" (posix) "./foo" (posix) "./foo" (windows) "./foo" (windows) "." (posix) "." (posix) "." (windows) "." (windows) "\Users\foo\bar.cr" (posix) "\Users\foo\bar.cr" (posix) "\Users\foo\bar.cr" (windows) "\Users\foo\bar.cr" (windows) "\Users/foo\bar.cr" (posix) "\Users/foo\bar.cr" (posix) "\Users/foo\bar.cr" (windows) "\Users/foo\bar.cr" (windows) "C:\Users\foo\bar.cr" (posix) "C:\Users\foo\bar.cr" (posix) "C:\Users\foo\bar.cr" (windows) "C:\Users\foo\bar.cr" (windows) "foo\bar\" (posix) "foo\bar\" (posix) "foo\bar\" (windows) "foo\bar\" (windows) "foo\" (posix) "foo\" (posix) "foo\" (windows) "foo\" (windows) "\" (posix) "\" (posix) "\" (windows) "\" (windows) ".\foo" (posix) ".\foo" (posix) ".\foo" (windows) ".\foo" (windows) "foo/../bar/" (posix) "foo/../bar/" (posix) "foo/../bar/" (windows) "foo/../bar/" (windows) "foo/../bar/." (posix) "foo/../bar/." (posix) "foo/../bar/." (windows) "foo/../bar/." (windows) "foo/bar/.." (posix) "foo/bar/.." (posix) "foo/bar/.." (windows) "foo/bar/.." (windows) "foo/bar/../." (posix) "foo/bar/../." (posix) "foo/bar/../." (windows) "foo/bar/../." (windows) "foo/./bar/" (posix) "foo/./bar/" (posix) "foo/./bar/" (windows) "foo/./bar/" (windows) "foo/./bar/." (posix) "foo/./bar/." (posix) "foo/./bar/." (windows) "foo/./bar/." (windows) "foo/bar/." (posix) "foo/bar/." (posix) "foo/bar/." (windows) "foo/bar/." (windows) "foo/bar/./." (posix) "foo/bar/./." (posix) "foo/bar/./." (windows) "foo/bar/./." (windows) "m/.gitignore" (posix) "m/.gitignore" (posix) "m/.gitignore" (windows) "m/.gitignore" (windows) "m" (posix) "m" (posix) "m" (windows) "m" (windows) "m/" (posix) "m/" (posix) "m/" (windows) "m/" (windows) "m//" (posix) "m//" (posix) "m//" (windows) "m//" (windows) "m//a/b" (posix) "m//a/b" (posix) "m//a/b" (windows) "m//a/b" (windows) "/m" (posix) "/m" (posix) "/m" (windows) "/m" (windows) "/m/" (posix) "/m/" (posix) "/m/" (windows) "/m/" (windows) "C:" (posix) "C:" (posix) "C:" (windows) "C:" (windows) "C:/" (posix) "C:/" (posix) "C:/" (windows) "C:/" (windows) "C:\" (posix) "C:\" (posix) "C:\" (windows) "C:\" (windows) "C:folder" (posix) "C:folder" (posix) "C:folder" (windows) "C:folder" (windows) "C:\folder" (posix) "C:\folder" (posix) "C:\folder" (windows) "C:\folder" (windows) "C:\\folder" (posix) "C:\\folder" (posix) "C:\\folder" (windows) "C:\\folder" (windows) "C:\." (posix) "C:\." (posix) "C:\." (windows) "C:\." (windows) #dirname "/Users/foo/bar.cr" (posix) "/Users/foo/bar.cr" (posix) "/Users/foo/bar.cr" (windows) "/Users/foo/bar.cr" (windows) "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) "foo/" (posix) "foo/" (posix) "foo/" (windows) "foo/" (windows) "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "/foo/" (posix) "/foo/" (posix) "/foo/" (windows) "/foo/" (windows) "/foo//" (posix) "/foo//" (posix) "/foo//" (windows) "/foo//" (windows) "m/.gitignore" (posix) "m/.gitignore" (posix) "m/.gitignore" (windows) "m/.gitignore" (windows) "m/" (posix) "m/" (posix) "m/" (windows) "m/" (windows) "m//" (posix) "m//" (posix) "m//" (windows) "m//" (windows) "m//a/b" (posix) "m//a/b" (posix) "m//a/b" (windows) "m//a/b" (windows) "m" (posix) "m" (posix) "m" (windows) "m" (windows) "/m" (posix) "/m" (posix) "/m" (windows) "/m" (windows) "/m/" (posix) "/m/" (posix) "/m/" (windows) "/m/" (windows) "C:" (posix) "C:" (posix) "C:" (windows) "C:" (windows) "C:/" (posix) "C:/" (posix) "C:/" (windows) "C:/" (windows) "C:\" (posix) "C:\" (posix) "C:\" (windows) "C:\" (windows) #basename "/foo/bar/baz.cr" (posix) "/foo/bar/baz.cr" (posix) "/foo/bar/baz.cr" (windows) "/foo/bar/baz.cr" (windows) "/foo/" (posix) "/foo/" (posix) "/foo/" (windows) "/foo/" (windows) "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) "x" (posix) "x" (posix) "x" (windows) "x" (windows) "" (posix) "" (posix) "" (windows) "" (windows) "." (posix) "." (posix) "." (windows) "." (windows) "/." (posix) "/." (posix) "/." (windows) "/." (windows) "/" (posix) "/" (posix) "/" (windows) "/" (windows) "////" (posix) "////" (posix) "////" (windows) "////" (windows) "a/x" (posix) "a/x" (posix) "a/x" (windows) "a/x" (windows) "a/.x" (posix) "a/.x" (posix) "a/.x" (windows) "a/.x" (windows) "a/x." (posix) "a/x." (posix) "a/x." (windows) "a/x." (windows) "\foo\bar\baz.cr" (posix) "\foo\bar\baz.cr" (posix) "\foo\bar\baz.cr" (windows) "\foo\bar\baz.cr" (windows) "\foo\" (posix) "\foo\" (posix) "\foo\" (windows) "\foo\" (windows) "\" (posix) "\" (posix) "\" (windows) "\" (windows) "\." (posix) "\." (posix) "\." (windows) "\." (windows) removes suffix "/foo/bar/baz.cr" (posix) "/foo/bar/baz.cr" (posix) "/foo/bar/baz.cr" (windows) "/foo/bar/baz.cr" (windows) "\foo\bar\baz.cr" (posix) "\foo\bar\baz.cr" (posix) "\foo\bar\baz.cr" (windows) "\foo\bar\baz.cr" (windows) "\foo/bar\baz.cr" (posix) "\foo/bar\baz.cr" (posix) "\foo/bar\baz.cr" (windows) "\foo/bar\baz.cr" (windows) "/foo/bar/baz.cr.tmp" (posix) "/foo/bar/baz.cr.tmp" (posix) "/foo/bar/baz.cr.tmp" (windows) "/foo/bar/baz.cr.tmp" (windows) "\foo\bar\baz.cr.tmp" (posix) "\foo\bar\baz.cr.tmp" (posix) "\foo\bar\baz.cr.tmp" (windows) "\foo\bar\baz.cr.tmp" (windows) "/foo/bar/baz.cr.tmp" (posix) "/foo/bar/baz.cr.tmp" (posix) "/foo/bar/baz.cr.tmp" (windows) "/foo/bar/baz.cr.tmp" (windows) "\foo\bar\baz.cr.tmp" (posix) "\foo\bar\baz.cr.tmp" (posix) "\foo\bar\baz.cr.tmp" (windows) "\foo\bar\baz.cr.tmp" (windows) "/foo/bar/baz.cr.tmp" (posix) "/foo/bar/baz.cr.tmp" (posix) "/foo/bar/baz.cr.tmp" (windows) "/foo/bar/baz.cr.tmp" (windows) "\foo\bar\baz.cr.tmp" (posix) "\foo\bar\baz.cr.tmp" (posix) "\foo\bar\baz.cr.tmp" (windows) "\foo\bar\baz.cr.tmp" (windows) "a.txt" (posix) "a.txt" (posix) "a.txt" (windows) "a.txt" (windows) "a.x" (posix) "a.x" (posix) "a.x" (windows) "a.x" (windows) #each_part block "/Users/foo/bar.cr" (posix) block "/Users/foo/bar.cr" (posix) block "/Users/foo/bar.cr" (windows) block "/Users/foo/bar.cr" (windows) iterator "/Users/foo/bar.cr" (posix) iterator "/Users/foo/bar.cr" (posix) iterator "/Users/foo/bar.cr" (windows) iterator "/Users/foo/bar.cr" (windows) #parts "/Users/foo/bar.cr" (posix) #parts "/Users/foo/bar.cr" (posix) #parts "/Users/foo/bar.cr" (windows) #parts "/Users/foo/bar.cr" (windows) block "Users/foo/bar.cr" (posix) block "Users/foo/bar.cr" (posix) block "Users/foo/bar.cr" (windows) block "Users/foo/bar.cr" (windows) iterator "Users/foo/bar.cr" (posix) iterator "Users/foo/bar.cr" (posix) iterator "Users/foo/bar.cr" (windows) iterator "Users/foo/bar.cr" (windows) #parts "Users/foo/bar.cr" (posix) #parts "Users/foo/bar.cr" (posix) #parts "Users/foo/bar.cr" (windows) #parts "Users/foo/bar.cr" (windows) block "foo/bar/" (posix) block "foo/bar/" (posix) block "foo/bar/" (windows) block "foo/bar/" (windows) iterator "foo/bar/" (posix) iterator "foo/bar/" (posix) iterator "foo/bar/" (windows) iterator "foo/bar/" (windows) #parts "foo/bar/" (posix) #parts "foo/bar/" (posix) #parts "foo/bar/" (windows) #parts "foo/bar/" (windows) block "foo/bar/." (posix) block "foo/bar/." (posix) block "foo/bar/." (windows) block "foo/bar/." (windows) iterator "foo/bar/." (posix) iterator "foo/bar/." (posix) iterator "foo/bar/." (windows) iterator "foo/bar/." (windows) #parts "foo/bar/." (posix) #parts "foo/bar/." (posix) #parts "foo/bar/." (windows) #parts "foo/bar/." (windows) block "foo" (posix) block "foo" (posix) block "foo" (windows) block "foo" (windows) iterator "foo" (posix) iterator "foo" (posix) iterator "foo" (windows) iterator "foo" (windows) #parts "foo" (posix) #parts "foo" (posix) #parts "foo" (windows) #parts "foo" (windows) block "foo/" (posix) block "foo/" (posix) block "foo/" (windows) block "foo/" (windows) iterator "foo/" (posix) iterator "foo/" (posix) iterator "foo/" (windows) iterator "foo/" (windows) #parts "foo/" (posix) #parts "foo/" (posix) #parts "foo/" (windows) #parts "foo/" (windows) block "/" (posix) block "/" (posix) block "/" (windows) block "/" (windows) iterator "/" (posix) iterator "/" (posix) iterator "/" (windows) iterator "/" (windows) #parts "/" (posix) #parts "/" (posix) #parts "/" (windows) #parts "/" (windows) block "////" (posix) block "////" (posix) block "////" (windows) block "////" (windows) iterator "////" (posix) iterator "////" (posix) iterator "////" (windows) iterator "////" (windows) #parts "////" (posix) #parts "////" (posix) #parts "////" (windows) #parts "////" (windows) block "/." (posix) block "/." (posix) block "/." (windows) block "/." (windows) iterator "/." (posix) iterator "/." (posix) iterator "/." (windows) iterator "/." (windows) #parts "/." (posix) #parts "/." (posix) #parts "/." (windows) #parts "/." (windows) block "/foo" (posix) block "/foo" (posix) block "/foo" (windows) block "/foo" (windows) iterator "/foo" (posix) iterator "/foo" (posix) iterator "/foo" (windows) iterator "/foo" (windows) #parts "/foo" (posix) #parts "/foo" (posix) #parts "/foo" (windows) #parts "/foo" (windows) block "" (posix) block "" (posix) block "" (windows) block "" (windows) iterator "" (posix) iterator "" (posix) iterator "" (windows) iterator "" (windows) #parts "" (posix) #parts "" (posix) #parts "" (windows) #parts "" (windows) block "./foo" (posix) block "./foo" (posix) block "./foo" (windows) block "./foo" (windows) iterator "./foo" (posix) iterator "./foo" (posix) iterator "./foo" (windows) iterator "./foo" (windows) #parts "./foo" (posix) #parts "./foo" (posix) #parts "./foo" (windows) #parts "./foo" (windows) block "." (posix) block "." (posix) block "." (windows) block "." (windows) iterator "." (posix) iterator "." (posix) iterator "." (windows) iterator "." (windows) #parts "." (posix) #parts "." (posix) #parts "." (windows) #parts "." (windows) block "\Users\foo\bar.cr" (posix) block "\Users\foo\bar.cr" (posix) block "\Users\foo\bar.cr" (windows) block "\Users\foo\bar.cr" (windows) iterator "\Users\foo\bar.cr" (posix) iterator "\Users\foo\bar.cr" (posix) iterator "\Users\foo\bar.cr" (windows) iterator "\Users\foo\bar.cr" (windows) #parts "\Users\foo\bar.cr" (posix) #parts "\Users\foo\bar.cr" (posix) #parts "\Users\foo\bar.cr" (windows) #parts "\Users\foo\bar.cr" (windows) block "\Users/foo\bar.cr" (posix) block "\Users/foo\bar.cr" (posix) block "\Users/foo\bar.cr" (windows) block "\Users/foo\bar.cr" (windows) iterator "\Users/foo\bar.cr" (posix) iterator "\Users/foo\bar.cr" (posix) iterator "\Users/foo\bar.cr" (windows) iterator "\Users/foo\bar.cr" (windows) #parts "\Users/foo\bar.cr" (posix) #parts "\Users/foo\bar.cr" (posix) #parts "\Users/foo\bar.cr" (windows) #parts "\Users/foo\bar.cr" (windows) block "C:\Users\foo\bar.cr" (posix) block "C:\Users\foo\bar.cr" (posix) block "C:\Users\foo\bar.cr" (windows) block "C:\Users\foo\bar.cr" (windows) iterator "C:\Users\foo\bar.cr" (posix) iterator "C:\Users\foo\bar.cr" (posix) iterator "C:\Users\foo\bar.cr" (windows) iterator "C:\Users\foo\bar.cr" (windows) #parts "C:\Users\foo\bar.cr" (posix) #parts "C:\Users\foo\bar.cr" (posix) #parts "C:\Users\foo\bar.cr" (windows) #parts "C:\Users\foo\bar.cr" (windows) block "\\some\share\" (posix) block "\\some\share\" (posix) block "\\some\share\" (windows) block "\\some\share\" (windows) iterator "\\some\share\" (posix) iterator "\\some\share\" (posix) iterator "\\some\share\" (windows) iterator "\\some\share\" (windows) #parts "\\some\share\" (posix) #parts "\\some\share\" (posix) #parts "\\some\share\" (windows) #parts "\\some\share\" (windows) block "\\some\share" (posix) block "\\some\share" (posix) block "\\some\share" (windows) block "\\some\share" (windows) iterator "\\some\share" (posix) iterator "\\some\share" (posix) iterator "\\some\share" (windows) iterator "\\some\share" (windows) #parts "\\some\share" (posix) #parts "\\some\share" (posix) #parts "\\some\share" (windows) #parts "\\some\share" (windows) block "\\some\share\bar.cr" (posix) block "\\some\share\bar.cr" (posix) block "\\some\share\bar.cr" (windows) block "\\some\share\bar.cr" (windows) iterator "\\some\share\bar.cr" (posix) iterator "\\some\share\bar.cr" (posix) iterator "\\some\share\bar.cr" (windows) iterator "\\some\share\bar.cr" (windows) #parts "\\some\share\bar.cr" (posix) #parts "\\some\share\bar.cr" (posix) #parts "\\some\share\bar.cr" (windows) #parts "\\some\share\bar.cr" (windows) block "//some/share" (posix) block "//some/share" (posix) block "//some/share" (windows) block "//some/share" (windows) iterator "//some/share" (posix) iterator "//some/share" (posix) iterator "//some/share" (windows) iterator "//some/share" (windows) #parts "//some/share" (posix) #parts "//some/share" (posix) #parts "//some/share" (windows) #parts "//some/share" (windows) block "//some/share/" (posix) block "//some/share/" (posix) block "//some/share/" (windows) block "//some/share/" (windows) iterator "//some/share/" (posix) iterator "//some/share/" (posix) iterator "//some/share/" (windows) iterator "//some/share/" (windows) #parts "//some/share/" (posix) #parts "//some/share/" (posix) #parts "//some/share/" (windows) #parts "//some/share/" (windows) block "//some/share/bar.cr" (posix) block "//some/share/bar.cr" (posix) block "//some/share/bar.cr" (windows) block "//some/share/bar.cr" (windows) iterator "//some/share/bar.cr" (posix) iterator "//some/share/bar.cr" (posix) iterator "//some/share/bar.cr" (windows) iterator "//some/share/bar.cr" (windows) #parts "//some/share/bar.cr" (posix) #parts "//some/share/bar.cr" (posix) #parts "//some/share/bar.cr" (windows) #parts "//some/share/bar.cr" (windows) block "foo\bar\" (posix) block "foo\bar\" (posix) block "foo\bar\" (windows) block "foo\bar\" (windows) iterator "foo\bar\" (posix) iterator "foo\bar\" (posix) iterator "foo\bar\" (windows) iterator "foo\bar\" (windows) #parts "foo\bar\" (posix) #parts "foo\bar\" (posix) #parts "foo\bar\" (windows) #parts "foo\bar\" (windows) block "foo\" (posix) block "foo\" (posix) block "foo\" (windows) block "foo\" (windows) iterator "foo\" (posix) iterator "foo\" (posix) iterator "foo\" (windows) iterator "foo\" (windows) #parts "foo\" (posix) #parts "foo\" (posix) #parts "foo\" (windows) #parts "foo\" (windows) block "\" (posix) block "\" (posix) block "\" (windows) block "\" (windows) iterator "\" (posix) iterator "\" (posix) iterator "\" (windows) iterator "\" (windows) #parts "\" (posix) #parts "\" (posix) #parts "\" (windows) #parts "\" (windows) block ".\foo" (posix) block ".\foo" (posix) block ".\foo" (windows) block ".\foo" (windows) iterator ".\foo" (posix) iterator ".\foo" (posix) iterator ".\foo" (windows) iterator ".\foo" (windows) #parts ".\foo" (posix) #parts ".\foo" (posix) #parts ".\foo" (windows) #parts ".\foo" (windows) block "foo/../bar/" (posix) block "foo/../bar/" (posix) block "foo/../bar/" (windows) block "foo/../bar/" (windows) iterator "foo/../bar/" (posix) iterator "foo/../bar/" (posix) iterator "foo/../bar/" (windows) iterator "foo/../bar/" (windows) #parts "foo/../bar/" (posix) #parts "foo/../bar/" (posix) #parts "foo/../bar/" (windows) #parts "foo/../bar/" (windows) block "foo/../bar/." (posix) block "foo/../bar/." (posix) block "foo/../bar/." (windows) block "foo/../bar/." (windows) iterator "foo/../bar/." (posix) iterator "foo/../bar/." (posix) iterator "foo/../bar/." (windows) iterator "foo/../bar/." (windows) #parts "foo/../bar/." (posix) #parts "foo/../bar/." (posix) #parts "foo/../bar/." (windows) #parts "foo/../bar/." (windows) block "foo/bar/.." (posix) block "foo/bar/.." (posix) block "foo/bar/.." (windows) block "foo/bar/.." (windows) iterator "foo/bar/.." (posix) iterator "foo/bar/.." (posix) iterator "foo/bar/.." (windows) iterator "foo/bar/.." (windows) #parts "foo/bar/.." (posix) #parts "foo/bar/.." (posix) #parts "foo/bar/.." (windows) #parts "foo/bar/.." (windows) block "foo/bar/../." (posix) block "foo/bar/../." (posix) block "foo/bar/../." (windows) block "foo/bar/../." (windows) iterator "foo/bar/../." (posix) iterator "foo/bar/../." (posix) iterator "foo/bar/../." (windows) iterator "foo/bar/../." (windows) #parts "foo/bar/../." (posix) #parts "foo/bar/../." (posix) #parts "foo/bar/../." (windows) #parts "foo/bar/../." (windows) block "foo/./bar/" (posix) block "foo/./bar/" (posix) block "foo/./bar/" (windows) block "foo/./bar/" (windows) iterator "foo/./bar/" (posix) iterator "foo/./bar/" (posix) iterator "foo/./bar/" (windows) iterator "foo/./bar/" (windows) #parts "foo/./bar/" (posix) #parts "foo/./bar/" (posix) #parts "foo/./bar/" (windows) #parts "foo/./bar/" (windows) block "foo/./bar/." (posix) block "foo/./bar/." (posix) block "foo/./bar/." (windows) block "foo/./bar/." (windows) iterator "foo/./bar/." (posix) iterator "foo/./bar/." (posix) iterator "foo/./bar/." (windows) iterator "foo/./bar/." (windows) #parts "foo/./bar/." (posix) #parts "foo/./bar/." (posix) #parts "foo/./bar/." (windows) #parts "foo/./bar/." (windows) block "foo/bar/." (posix) block "foo/bar/." (posix) block "foo/bar/." (windows) block "foo/bar/." (windows) iterator "foo/bar/." (posix) iterator "foo/bar/." (posix) iterator "foo/bar/." (windows) iterator "foo/bar/." (windows) #parts "foo/bar/." (posix) #parts "foo/bar/." (posix) #parts "foo/bar/." (windows) #parts "foo/bar/." (windows) block "foo/bar/./." (posix) block "foo/bar/./." (posix) block "foo/bar/./." (windows) block "foo/bar/./." (windows) iterator "foo/bar/./." (posix) iterator "foo/bar/./." (posix) iterator "foo/bar/./." (windows) iterator "foo/bar/./." (windows) #parts "foo/bar/./." (posix) #parts "foo/bar/./." (posix) #parts "foo/bar/./." (windows) #parts "foo/bar/./." (windows) block "m/.gitignore" (posix) block "m/.gitignore" (posix) block "m/.gitignore" (windows) block "m/.gitignore" (windows) iterator "m/.gitignore" (posix) iterator "m/.gitignore" (posix) iterator "m/.gitignore" (windows) iterator "m/.gitignore" (windows) #parts "m/.gitignore" (posix) #parts "m/.gitignore" (posix) #parts "m/.gitignore" (windows) #parts "m/.gitignore" (windows) block "m" (posix) block "m" (posix) block "m" (windows) block "m" (windows) iterator "m" (posix) iterator "m" (posix) iterator "m" (windows) iterator "m" (windows) #parts "m" (posix) #parts "m" (posix) #parts "m" (windows) #parts "m" (windows) block "m/" (posix) block "m/" (posix) block "m/" (windows) block "m/" (windows) iterator "m/" (posix) iterator "m/" (posix) iterator "m/" (windows) iterator "m/" (windows) #parts "m/" (posix) #parts "m/" (posix) #parts "m/" (windows) #parts "m/" (windows) block "m//" (posix) block "m//" (posix) block "m//" (windows) block "m//" (windows) iterator "m//" (posix) iterator "m//" (posix) iterator "m//" (windows) iterator "m//" (windows) #parts "m//" (posix) #parts "m//" (posix) #parts "m//" (windows) #parts "m//" (windows) block "m\" (posix) block "m\" (posix) block "m\" (windows) block "m\" (windows) iterator "m\" (posix) iterator "m\" (posix) iterator "m\" (windows) iterator "m\" (windows) #parts "m\" (posix) #parts "m\" (posix) #parts "m\" (windows) #parts "m\" (windows) block "m//a/b" (posix) block "m//a/b" (posix) block "m//a/b" (windows) block "m//a/b" (windows) iterator "m//a/b" (posix) iterator "m//a/b" (posix) iterator "m//a/b" (windows) iterator "m//a/b" (windows) #parts "m//a/b" (posix) #parts "m//a/b" (posix) #parts "m//a/b" (windows) #parts "m//a/b" (windows) block "m\a/b" (posix) block "m\a/b" (posix) block "m\a/b" (windows) block "m\a/b" (windows) iterator "m\a/b" (posix) iterator "m\a/b" (posix) iterator "m\a/b" (windows) iterator "m\a/b" (windows) #parts "m\a/b" (posix) #parts "m\a/b" (posix) #parts "m\a/b" (windows) #parts "m\a/b" (windows) block "/m" (posix) block "/m" (posix) block "/m" (windows) block "/m" (windows) iterator "/m" (posix) iterator "/m" (posix) iterator "/m" (windows) iterator "/m" (windows) #parts "/m" (posix) #parts "/m" (posix) #parts "/m" (windows) #parts "/m" (windows) block "/m/" (posix) block "/m/" (posix) block "/m/" (windows) block "/m/" (windows) iterator "/m/" (posix) iterator "/m/" (posix) iterator "/m/" (windows) iterator "/m/" (windows) #parts "/m/" (posix) #parts "/m/" (posix) #parts "/m/" (windows) #parts "/m/" (windows) block "C:" (posix) block "C:" (posix) block "C:" (windows) block "C:" (windows) iterator "C:" (posix) iterator "C:" (posix) iterator "C:" (windows) iterator "C:" (windows) #parts "C:" (posix) #parts "C:" (posix) #parts "C:" (windows) #parts "C:" (windows) block "C:/" (posix) block "C:/" (posix) block "C:/" (windows) block "C:/" (windows) iterator "C:/" (posix) iterator "C:/" (posix) iterator "C:/" (windows) iterator "C:/" (windows) #parts "C:/" (posix) #parts "C:/" (posix) #parts "C:/" (windows) #parts "C:/" (windows) block "C:\" (posix) block "C:\" (posix) block "C:\" (windows) block "C:\" (windows) iterator "C:\" (posix) iterator "C:\" (posix) iterator "C:\" (windows) iterator "C:\" (windows) #parts "C:\" (posix) #parts "C:\" (posix) #parts "C:\" (windows) #parts "C:\" (windows) block "C:folder" (posix) block "C:folder" (posix) block "C:folder" (windows) block "C:folder" (windows) iterator "C:folder" (posix) iterator "C:folder" (posix) iterator "C:folder" (windows) iterator "C:folder" (windows) #parts "C:folder" (posix) #parts "C:folder" (posix) #parts "C:folder" (windows) #parts "C:folder" (windows) block "C:\folder" (posix) block "C:\folder" (posix) block "C:\folder" (windows) block "C:\folder" (windows) iterator "C:\folder" (posix) iterator "C:\folder" (posix) iterator "C:\folder" (windows) iterator "C:\folder" (windows) #parts "C:\folder" (posix) #parts "C:\folder" (posix) #parts "C:\folder" (windows) #parts "C:\folder" (windows) block "C:\\folder" (posix) block "C:\\folder" (posix) block "C:\\folder" (windows) block "C:\\folder" (windows) iterator "C:\\folder" (posix) iterator "C:\\folder" (posix) iterator "C:\\folder" (windows) iterator "C:\\folder" (windows) #parts "C:\\folder" (posix) #parts "C:\\folder" (posix) #parts "C:\\folder" (windows) #parts "C:\\folder" (windows) block "C:\." (posix) block "C:\." (posix) block "C:\." (windows) block "C:\." (windows) iterator "C:\." (posix) iterator "C:\." (posix) iterator "C:\." (windows) iterator "C:\." (windows) #parts "C:\." (posix) #parts "C:\." (posix) #parts "C:\." (windows) #parts "C:\." (windows) #extension "/foo/bar/baz.cr" (posix) "/foo/bar/baz.cr" (posix) "/foo/bar/baz.cr" (windows) "/foo/bar/baz.cr" (windows) "/foo/bar/baz.cr.cz" (posix) "/foo/bar/baz.cr.cz" (posix) "/foo/bar/baz.cr.cz" (windows) "/foo/bar/baz.cr.cz" (windows) "/foo/bar/.profile" (posix) "/foo/bar/.profile" (posix) "/foo/bar/.profile" (windows) "/foo/bar/.profile" (windows) "/foo/bar/.profile.sh" (posix) "/foo/bar/.profile.sh" (posix) "/foo/bar/.profile.sh" (windows) "/foo/bar/.profile.sh" (windows) "/foo/bar/foo." (posix) "/foo/bar/foo." (posix) "/foo/bar/foo." (windows) "/foo/bar/foo." (windows) "test" (posix) "test" (posix) "test" (windows) "test" (windows) "test.ext/foo" (posix) "test.ext/foo" (posix) "test.ext/foo" (windows) "test.ext/foo" (windows) "test.ext/foo/" (posix) "test.ext/foo/" (posix) "test.ext/foo/" (windows) "test.ext/foo/" (windows) "test.ext/" (posix) "test.ext/" (posix) "test.ext/" (windows) "test.ext/" (windows) "test/." (posix) "test/." (posix) "test/." (windows) "test/." (windows) "test\." (posix) "test\." (posix) "test\." (windows) "test\." (windows) "test.ext\" (posix) "test.ext\" (posix) "test.ext\" (windows) "test.ext\" (windows) #absolute? "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "/./foo" (posix) "/./foo" (posix) "/./foo" (windows) "/./foo" (windows) "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) "./foo" (posix) "./foo" (posix) "./foo" (windows) "./foo" (windows) "~/foo" (posix) "~/foo" (posix) "~/foo" (windows) "~/foo" (windows) "\foo" (posix) "\foo" (posix) "\foo" (windows) "\foo" (windows) "\.\foo" (posix) "\.\foo" (posix) "\.\foo" (windows) "\.\foo" (windows) "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) ".\foo" (posix) ".\foo" (posix) ".\foo" (windows) ".\foo" (windows) "~\foo" (posix) "~\foo" (posix) "~\foo" (windows) "~\foo" (windows) "C:" (posix) "C:" (posix) "C:" (windows) "C:" (windows) "C:\foo" (posix) "C:\foo" (posix) "C:\foo" (windows) "C:\foo" (windows) "C:/foo/bar" (posix) "C:/foo/bar" (posix) "C:/foo/bar" (windows) "C:/foo/bar" (windows) "C:\" (posix) "C:\" (posix) "C:\" (windows) "C:\" (windows) "C:/foo" (posix) "C:/foo" (posix) "C:/foo" (windows) "C:/foo" (windows) "C:/" (posix) "C:/" (posix) "C:/" (windows) "C:/" (windows) "c:\\" (posix) "c:\\" (posix) "c:\\" (windows) "c:\\" (windows) "//some/share" (posix) "//some/share" (posix) "//some/share" (windows) "//some/share" (windows) "\\some\share" (posix) "\\some\share" (posix) "\\some\share" (windows) "\\some\share" (windows) "//some/share/" (posix) "//some/share/" (posix) "//some/share/" (windows) "//some/share/" (windows) "\\some\share\" (posix) "\\some\share\" (posix) "\\some\share\" (windows) "\\some\share\" (windows) #drive "C:\foo" (posix) "C:\foo" (posix) "C:\foo" (windows) "C:\foo" (windows) "C:/foo" (posix) "C:/foo" (posix) "C:/foo" (windows) "C:/foo" (windows) "C:foo" (posix) "C:foo" (posix) "C:foo" (windows) "C:foo" (windows) "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "//foo" (posix) "//foo" (posix) "//foo" (windows) "//foo" (windows) "//some/share" (posix) "//some/share" (posix) "//some/share" (windows) "//some/share" (windows) "//some/share/" (posix) "//some/share/" (posix) "//some/share/" (windows) "//some/share/" (windows) "//some/share/foo/" (posix) "//some/share/foo/" (posix) "//some/share/foo/" (windows) "//some/share/foo/" (windows) "///not-a/share/" (posix) "///not-a/share/" (posix) "///not-a/share/" (windows) "///not-a/share/" (windows) "/not-a//share/" (posix) "/not-a//share/" (posix) "/not-a//share/" (windows) "/not-a//share/" (windows) "\\some\share" (posix) "\\some\share" (posix) "\\some\share" (windows) "\\some\share" (windows) "\\some\share\" (posix) "\\some\share\" (posix) "\\some\share\" (windows) "\\some\share\" (windows) "\\some\share\foo" (posix) "\\some\share\foo" (posix) "\\some\share\foo" (windows) "\\some\share\foo" (windows) "\\\not-a\share" (posix) "\\\not-a\share" (posix) "\\\not-a\share" (windows) "\\\not-a\share" (windows) "\\not-a\\share" (posix) "\\not-a\\share" (posix) "\\not-a\\share" (windows) "\\not-a\\share" (windows) #root "C:\foo" (posix) "C:\foo" (posix) "C:\foo" (windows) "C:\foo" (windows) "C:/foo" (posix) "C:/foo" (posix) "C:/foo" (windows) "C:/foo" (windows) "C:foo" (posix) "C:foo" (posix) "C:foo" (windows) "C:foo" (windows) "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "//foo" (posix) "//foo" (posix) "//foo" (windows) "//foo" (windows) "\foo" (posix) "\foo" (posix) "\foo" (windows) "\foo" (windows) "\\foo" (posix) "\\foo" (posix) "\\foo" (windows) "\\foo" (windows) "//some/share" (posix) "//some/share" (posix) "//some/share" (windows) "//some/share" (windows) "\\some\share" (posix) "\\some\share" (posix) "\\some\share" (windows) "\\some\share" (windows) "//some/share/" (posix) "//some/share/" (posix) "//some/share/" (windows) "//some/share/" (windows) "\\some\share\" (posix) "\\some\share\" (posix) "\\some\share\" (windows) "\\some\share\" (windows) #anchor "C:\foo" (posix) "C:\foo" (posix) "C:\foo" (windows) "C:\foo" (windows) "C:/foo" (posix) "C:/foo" (posix) "C:/foo" (windows) "C:/foo" (windows) "C:foo" (posix) "C:foo" (posix) "C:foo" (windows) "C:foo" (windows) "/foo" (posix) "/foo" (posix) "/foo" (windows) "/foo" (windows) "\foo" (posix) "\foo" (posix) "\foo" (windows) "\foo" (windows) "//some/share" (posix) "//some/share" (posix) "//some/share" (windows) "//some/share" (windows) "//some/share/" (posix) "//some/share/" (posix) "//some/share/" (windows) "//some/share/" (windows) "\\some\share" (posix) "\\some\share" (posix) "\\some\share" (windows) "\\some\share" (windows) "\\some\share\" (posix) "\\some\share\" (posix) "\\some\share\" (windows) "\\some\share\" (windows) #normalize path with forward slash already clean normalizes "" (posix) normalizes "" (posix) normalizes "" (windows) normalizes "" (windows) normalizes "abc" (posix) normalizes "abc" (posix) normalizes "abc" (windows) normalizes "abc" (windows) normalizes "abc/def" (posix) normalizes "abc/def" (posix) normalizes "abc/def" (windows) normalizes "abc/def" (windows) normalizes "a/b/c" (posix) normalizes "a/b/c" (posix) normalizes "a/b/c" (windows) normalizes "a/b/c" (windows) normalizes "." (posix) normalizes "." (posix) normalizes "." (windows) normalizes "." (windows) normalizes ".." (posix) normalizes ".." (posix) normalizes ".." (windows) normalizes ".." (windows) normalizes "../.." (posix) normalizes "../.." (posix) normalizes "../.." (windows) normalizes "../.." (windows) normalizes "../../abc" (posix) normalizes "../../abc" (posix) normalizes "../../abc" (windows) normalizes "../../abc" (windows) normalizes "/abc" (posix) normalizes "/abc" (posix) normalizes "/abc" (windows) normalizes "/abc" (windows) normalizes "/" (posix) normalizes "/" (posix) normalizes "/" (windows) normalizes "/" (windows) removes trailing slash normalizes "abc/" (posix) normalizes "abc/" (posix) normalizes "abc/" (windows) normalizes "abc/" (windows) normalizes "abc/def/" (posix) normalizes "abc/def/" (posix) normalizes "abc/def/" (windows) normalizes "abc/def/" (windows) normalizes "a/b/c/" (posix) normalizes "a/b/c/" (posix) normalizes "a/b/c/" (windows) normalizes "a/b/c/" (windows) normalizes "./" (posix) normalizes "./" (posix) normalizes "./" (windows) normalizes "./" (windows) normalizes "../" (posix) normalizes "../" (posix) normalizes "../" (windows) normalizes "../" (windows) normalizes "../../" (posix) normalizes "../../" (posix) normalizes "../../" (windows) normalizes "../../" (windows) normalizes "/abc/" (posix) normalizes "/abc/" (posix) normalizes "/abc/" (windows) normalizes "/abc/" (windows) removes double slash normalizes "abc//def//ghi" (posix) normalizes "abc//def//ghi" (posix) normalizes "abc//def//ghi" (windows) normalizes "abc//def//ghi" (windows) normalizes "//abc" (posix) normalizes "//abc" (posix) normalizes "//abc" (windows) normalizes "//abc" (windows) normalizes "///abc" (posix) normalizes "///abc" (posix) normalizes "///abc" (windows) normalizes "///abc" (windows) normalizes "//abc//" (posix) normalizes "//abc//" (posix) normalizes "//abc//" (windows) normalizes "//abc//" (windows) normalizes "abc//" (posix) normalizes "abc//" (posix) normalizes "abc//" (windows) normalizes "abc//" (windows) removes . normalizes "abc/./def" (posix) normalizes "abc/./def" (posix) normalizes "abc/./def" (windows) normalizes "abc/./def" (windows) normalizes "/./abc/def" (posix) normalizes "/./abc/def" (posix) normalizes "/./abc/def" (windows) normalizes "/./abc/def" (windows) normalizes "abc/." (posix) normalizes "abc/." (posix) normalizes "abc/." (windows) normalizes "abc/." (windows) removes .. normalizes "abc/def/ghi/../jkl" (posix) normalizes "abc/def/ghi/../jkl" (posix) normalizes "abc/def/ghi/../jkl" (windows) normalizes "abc/def/ghi/../jkl" (windows) normalizes "abc/def/../ghi/../jkl" (posix) normalizes "abc/def/../ghi/../jkl" (posix) normalizes "abc/def/../ghi/../jkl" (windows) normalizes "abc/def/../ghi/../jkl" (windows) normalizes "abc/def/.." (posix) normalizes "abc/def/.." (posix) normalizes "abc/def/.." (windows) normalizes "abc/def/.." (windows) normalizes "abc/def/../.." (posix) normalizes "abc/def/../.." (posix) normalizes "abc/def/../.." (windows) normalizes "abc/def/../.." (windows) normalizes "/abc/def/../.." (posix) normalizes "/abc/def/../.." (posix) normalizes "/abc/def/../.." (windows) normalizes "/abc/def/../.." (windows) normalizes "abc/def/../../.." (posix) normalizes "abc/def/../../.." (posix) normalizes "abc/def/../../.." (windows) normalizes "abc/def/../../.." (windows) normalizes "/abc/def/../../.." (posix) normalizes "/abc/def/../../.." (posix) normalizes "/abc/def/../../.." (windows) normalizes "/abc/def/../../.." (windows) normalizes "abc/def/../../../ghi/jkl/../../../mno" (posix) normalizes "abc/def/../../../ghi/jkl/../../../mno" (posix) normalizes "abc/def/../../../ghi/jkl/../../../mno" (windows) normalizes "abc/def/../../../ghi/jkl/../../../mno" (windows) combinations normalizes "abc/./../def" (posix) normalizes "abc/./../def" (posix) normalizes "abc/./../def" (windows) normalizes "abc/./../def" (windows) normalizes "abc//./../def" (posix) normalizes "abc//./../def" (posix) normalizes "abc//./../def" (windows) normalizes "abc//./../def" (windows) normalizes "abc/../../././../def" (posix) normalizes "abc/../../././../def" (posix) normalizes "abc/../../././../def" (windows) normalizes "abc/../../././../def" (windows) paths with backslash already clean normalizes "abc\def" (posix) normalizes "abc\def" (posix) normalizes "abc\def" (windows) normalizes "abc\def" (windows) normalizes "a\b\c" (posix) normalizes "a\b\c" (posix) normalizes "a\b\c" (windows) normalizes "a\b\c" (windows) normalizes "..\.." (posix) normalizes "..\.." (posix) normalizes "..\.." (windows) normalizes "..\.." (windows) normalizes "..\..\abc" (posix) normalizes "..\..\abc" (posix) normalizes "..\..\abc" (windows) normalizes "..\..\abc" (windows) normalizes "\abc" (posix) normalizes "\abc" (posix) normalizes "\abc" (windows) normalizes "\abc" (windows) normalizes "\" (posix) normalizes "\" (posix) normalizes "\" (windows) normalizes "\" (windows) removes trailing slash normalizes "abc\" (posix) normalizes "abc\" (posix) normalizes "abc\" (windows) normalizes "abc\" (windows) normalizes "abc\def\" (posix) normalizes "abc\def\" (posix) normalizes "abc\def\" (windows) normalizes "abc\def\" (windows) normalizes "a\b\c\" (posix) normalizes "a\b\c\" (posix) normalizes "a\b\c\" (windows) normalizes "a\b\c\" (windows) normalizes ".\" (posix) normalizes ".\" (posix) normalizes ".\" (windows) normalizes ".\" (windows) normalizes "..\" (posix) normalizes "..\" (posix) normalizes "..\" (windows) normalizes "..\" (windows) normalizes "..\..\" (posix) normalizes "..\..\" (posix) normalizes "..\..\" (windows) normalizes "..\..\" (windows) normalizes "\abc\" (posix) normalizes "\abc\" (posix) normalizes "\abc\" (windows) normalizes "\abc\" (windows) removes double slash normalizes "abc\\def\\ghi" (posix) normalizes "abc\\def\\ghi" (posix) normalizes "abc\\def\\ghi" (windows) normalizes "abc\\def\\ghi" (windows) normalizes "\\abc" (posix) normalizes "\\abc" (posix) normalizes "\\abc" (windows) normalizes "\\abc" (windows) normalizes "\\\abc" (posix) normalizes "\\\abc" (posix) normalizes "\\\abc" (windows) normalizes "\\\abc" (windows) normalizes "\\abc\\" (posix) normalizes "\\abc\\" (posix) normalizes "\\abc\\" (windows) normalizes "\\abc\\" (windows) normalizes "abc\\" (posix) normalizes "abc\\" (posix) normalizes "abc\\" (windows) normalizes "abc\\" (windows) removes . normalizes "abc\.\def" (posix) normalizes "abc\.\def" (posix) normalizes "abc\.\def" (windows) normalizes "abc\.\def" (windows) normalizes "\.\abc\def" (posix) normalizes "\.\abc\def" (posix) normalizes "\.\abc\def" (windows) normalizes "\.\abc\def" (windows) normalizes "abc\." (posix) normalizes "abc\." (posix) normalizes "abc\." (windows) normalizes "abc\." (windows) removes .. normalizes "abc\def\ghi\..\jkl" (posix) normalizes "abc\def\ghi\..\jkl" (posix) normalizes "abc\def\ghi\..\jkl" (windows) normalizes "abc\def\ghi\..\jkl" (windows) normalizes "abc\def\..\ghi\..\jkl" (posix) normalizes "abc\def\..\ghi\..\jkl" (posix) normalizes "abc\def\..\ghi\..\jkl" (windows) normalizes "abc\def\..\ghi\..\jkl" (windows) normalizes "abc\def\.." (posix) normalizes "abc\def\.." (posix) normalizes "abc\def\.." (windows) normalizes "abc\def\.." (windows) normalizes "abc\def\..\.." (posix) normalizes "abc\def\..\.." (posix) normalizes "abc\def\..\.." (windows) normalizes "abc\def\..\.." (windows) normalizes "\abc\def\..\.." (posix) normalizes "\abc\def\..\.." (posix) normalizes "\abc\def\..\.." (windows) normalizes "\abc\def\..\.." (windows) normalizes "abc\def\..\..\.." (posix) normalizes "abc\def\..\..\.." (posix) normalizes "abc\def\..\..\.." (windows) normalizes "abc\def\..\..\.." (windows) normalizes "\abc\def\..\..\.." (posix) normalizes "\abc\def\..\..\.." (posix) normalizes "\abc\def\..\..\.." (windows) normalizes "\abc\def\..\..\.." (windows) normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (posix) normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (posix) normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (windows) normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (windows) combinations normalizes "abc\.\..\def" (posix) normalizes "abc\.\..\def" (posix) normalizes "abc\.\..\def" (windows) normalizes "abc\.\..\def" (windows) normalizes "abc\\.\..\def" (posix) normalizes "abc\\.\..\def" (posix) normalizes "abc\\.\..\def" (windows) normalizes "abc\\.\..\def" (windows) normalizes "abc\..\..\.\.\..\def" (posix) normalizes "abc\..\..\.\.\..\def" (posix) normalizes "abc\..\..\.\.\..\def" (windows) normalizes "abc\..\..\.\.\..\def" (windows) with drive normalizes "C:" (posix) normalizes "C:" (posix) normalizes "C:" (windows) normalizes "C:" (windows) normalizes "C:\" (posix) normalizes "C:\" (posix) normalizes "C:\" (windows) normalizes "C:\" (windows) normalizes "C:/" (posix) normalizes "C:/" (posix) normalizes "C:/" (windows) normalizes "C:/" (windows) normalizes "C:foo" (posix) normalizes "C:foo" (posix) normalizes "C:foo" (windows) normalizes "C:foo" (windows) normalizes "C:\foo" (posix) normalizes "C:\foo" (posix) normalizes "C:\foo" (windows) normalizes "C:\foo" (windows) normalizes "C:/foo" (posix) normalizes "C:/foo" (posix) normalizes "C:/foo" (windows) normalizes "C:/foo" (windows) #join resolving "" "" (posix) resolving "" "" (posix) resolving "" "" (windows) resolving "" "" (windows) resolving "" "/" (posix) resolving "" "/" (posix) resolving "" "/" (windows) resolving "" "/" (windows) resolving "/" "" (posix) resolving "/" "" (posix) resolving "/" "" (windows) resolving "/" "" (windows) resolving "{"bar", ""}" "foo" (posix) resolving "{"bar", ""}" "foo" (posix) resolving "{"bar", ""}" "foo" (windows) resolving "{"bar", ""}" "foo" (windows) resolving "{"bar", ""}" "foo" (posix) resolving "{"bar", ""}" "foo" (posix) resolving "{"bar", ""}" "foo" (windows) resolving "{"bar", ""}" "foo" (windows) resolving "bar" "///foo" (posix) resolving "bar" "///foo" (posix) resolving "bar" "///foo" (windows) resolving "bar" "///foo" (windows) resolving "//bar" "///foo" (posix) resolving "//bar" "///foo" (posix) resolving "//bar" "///foo" (windows) resolving "//bar" "///foo" (windows) resolving "/bar" "/foo/" (posix) resolving "/bar" "/foo/" (posix) resolving "/bar" "/foo/" (windows) resolving "/bar" "/foo/" (windows) resolving "/" "foo" (posix) resolving "/" "foo" (posix) resolving "/" "foo" (windows) resolving "/" "foo" (windows) resolving "{"bar", "baz"}" "foo" (posix) resolving "{"bar", "baz"}" "foo" (posix) resolving "{"bar", "baz"}" "foo" (windows) resolving "{"bar", "baz"}" "foo" (windows) resolving "{"//bar//", "baz///"}" "foo" (posix) resolving "{"//bar//", "baz///"}" "foo" (posix) resolving "{"//bar//", "baz///"}" "foo" (windows) resolving "{"//bar//", "baz///"}" "foo" (windows) resolving "{"/bar/", "/baz/"}" "/foo/" (posix) resolving "{"/bar/", "/baz/"}" "/foo/" (posix) resolving "{"/bar/", "/baz/"}" "/foo/" (windows) resolving "{"/bar/", "/baz/"}" "/foo/" (windows) resolving "a" "" (posix) resolving "a" "" (posix) resolving "a" "" (windows) resolving "a" "" (windows) resolving "a" "/" (posix) resolving "a" "/" (posix) resolving "a" "/" (windows) resolving "a" "/" (windows) resolving "/a" "" (posix) resolving "/a" "" (posix) resolving "/a" "" (windows) resolving "/a" "" (windows) resolving "{"/", "bar"}" "foo" (posix) resolving "{"/", "bar"}" "foo" (posix) resolving "{"/", "bar"}" "foo" (windows) resolving "{"/", "bar"}" "foo" (windows) resolving "{"/", "/", "bar"}" "foo" (posix) resolving "{"/", "/", "bar"}" "foo" (posix) resolving "{"/", "/", "bar"}" "foo" (windows) resolving "{"/", "/", "bar"}" "foo" (windows) resolving "{"/foo", "/", "bar/", "/"}" "/" (posix) resolving "{"/foo", "/", "bar/", "/"}" "/" (posix) resolving "{"/foo", "/", "bar/", "/"}" "/" (windows) resolving "{"/foo", "/", "bar/", "/"}" "/" (windows) resolving "Program Files" "c:/" (posix) resolving "Program Files" "c:/" (posix) resolving "Program Files" "c:/" (windows) resolving "Program Files" "c:/" (windows) resolving "Program Files" "c:" (posix) resolving "Program Files" "c:" (posix) resolving "Program Files" "c:" (windows) resolving "Program Files" "c:" (windows) resolving "bar" "\\\\foo" (posix) resolving "bar" "\\\\foo" (posix) resolving "bar" "\\\\foo" (windows) resolving "bar" "\\\\foo" (windows) resolving "\\bar" "\\\foo" (posix) resolving "\\bar" "\\\foo" (posix) resolving "\\bar" "\\\foo" (windows) resolving "\\bar" "\\\foo" (windows) resolving "\bar" "\foo\" (posix) resolving "\bar" "\foo\" (posix) resolving "\bar" "\foo\" (windows) resolving "\bar" "\foo\" (windows) resolving "\" "foo" (posix) resolving "\" "foo" (posix) resolving "\" "foo" (windows) resolving "\" "foo" (windows) resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (posix) resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (posix) resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (windows) resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (windows) resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (posix) resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (posix) resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (windows) resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (windows) resolving "a" "\" (posix) resolving "a" "\" (posix) resolving "a" "\" (windows) resolving "a" "\" (windows) resolving "\a" "" (posix) resolving "\a" "" (posix) resolving "\a" "" (windows) resolving "\a" "" (windows) resolving "{"\\", "bar"}" "foo" (posix) resolving "{"\\", "bar"}" "foo" (posix) resolving "{"\\", "bar"}" "foo" (windows) resolving "{"\\", "bar"}" "foo" (windows) resolving "{"\\", "\\", "bar"}" "foo" (posix) resolving "{"\\", "\\", "bar"}" "foo" (posix) resolving "{"\\", "\\", "bar"}" "foo" (windows) resolving "{"\\", "\\", "bar"}" "foo" (windows) resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (posix) resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (posix) resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (windows) resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (windows) resolving "Program Files" "c:\" (posix) resolving "Program Files" "c:\" (posix) resolving "Program Files" "c:\" (windows) resolving "Program Files" "c:\" (windows) resolving "bar\baz" "foo" (posix) resolving "bar\baz" "foo" (posix) resolving "bar\baz" "foo" (windows) resolving "bar\baz" "foo" (windows) resolving "bar/baz" "foo" (posix) resolving "bar/baz" "foo" (posix) resolving "bar/baz" "foo" (windows) resolving "bar/baz" "foo" (windows) #expand converts a pathname to an absolute pathname (base: "") "" (posix) (base: "") "" (posix) (base: "") "" (windows) (base: "") "" (windows) (base: "") "a" (posix) (base: "") "a" (posix) (base: "") "a" (windows) (base: "") "a" (windows) (base: "") "a" (posix) (base: "") "a" (posix) (base: "") "a" (windows) (base: "") "a" (windows) converts a pathname to an absolute pathname, Ruby-Talk:18512 (base: "") ".a" (posix) (base: "") ".a" (posix) (base: "") ".a" (windows) (base: "") ".a" (windows) (base: "") "..a" (posix) (base: "") "..a" (posix) (base: "") "..a" (windows) (base: "") "..a" (windows) (base: "") "a../b" (posix) (base: "") "a../b" (posix) (base: "") "a../b" (windows) (base: "") "a../b" (windows) keeps trailing dots on absolute pathname (base: "") "a." (posix) (base: "") "a." (posix) (base: "") "a." (windows) (base: "") "a." (windows) (base: "") "a.." (posix) (base: "") "a.." (posix) (base: "") "a.." (windows) (base: "") "a.." (windows) converts a pathname to an absolute pathname, using a complete path (base: "/tmp") "" (posix) (base: "/tmp") "" (posix) (base: "/tmp") "" (windows) (base: "/tmp") "" (windows) (base: "C:\tmp") "" (posix) (base: "C:\tmp") "" (posix) (base: "C:\tmp") "" (windows) (base: "C:\tmp") "" (windows) (base: "/tmp") "a" (posix) (base: "/tmp") "a" (posix) (base: "/tmp") "a" (windows) (base: "/tmp") "a" (windows) (base: "C:\tmp") "a" (posix) (base: "C:\tmp") "a" (posix) (base: "C:\tmp") "a" (windows) (base: "C:\tmp") "a" (windows) (base: "/tmp/xxx") "../a" (posix) (base: "/tmp/xxx") "../a" (posix) (base: "/tmp/xxx") "../a" (windows) (base: "/tmp/xxx") "../a" (windows) (base: "C:\tmp\xxx") "../a" (posix) (base: "C:\tmp\xxx") "../a" (posix) (base: "C:\tmp\xxx") "../a" (windows) (base: "C:\tmp\xxx") "../a" (windows) (base: "/tmp/xxx") "../a" (posix) (base: "/tmp/xxx") "../a" (posix) (base: "/tmp/xxx") "../a" (windows) (base: "/tmp/xxx") "../a" (windows) (base: "C:\tmp\xxx") "../a" (posix) (base: "C:\tmp\xxx") "../a" (posix) (base: "C:\tmp\xxx") "../a" (windows) (base: "C:\tmp\xxx") "../a" (windows) (base: "/") "." (posix) (base: "/") "." (posix) (base: "/") "." (windows) (base: "/") "." (windows) assert assert expands a path with multi-byte characters (base: "") "Ångström" (posix) (base: "") "Ångström" (posix) (base: "") "Ångström" (windows) (base: "") "Ångström" (windows) expands /./dir to /dir (base: "/") "/./dir" (posix) (base: "/") "/./dir" (posix) (base: "/") "/./dir" (windows) (base: "/") "/./dir" (windows) replaces multiple / with a single / (base: "") "//some/path" (posix) (base: "") "//some/path" (posix) (base: "") "//some/path" (windows) (base: "") "//some/path" (windows) (base: "") "////some/path" (posix) (base: "") "////some/path" (posix) (base: "") "////some/path" (windows) (base: "") "////some/path" (windows) (base: "") "/some////path" (posix) (base: "") "/some////path" (posix) (base: "") "/some////path" (windows) (base: "") "/some////path" (windows) expand path with (base: "/tmp/x") "../../bin" (posix) (base: "/tmp/x") "../../bin" (posix) (base: "/tmp/x") "../../bin" (windows) (base: "/tmp/x") "../../bin" (windows) (base: "/tmp") "../../bin" (posix) (base: "/tmp") "../../bin" (posix) (base: "/tmp") "../../bin" (windows) (base: "/tmp") "../../bin" (windows) (base: "/") "../../bin" (posix) (base: "/") "../../bin" (posix) (base: "/") "../../bin" (windows) (base: "/") "../../bin" (windows) (base: "tmp/x") "../bin" (posix) (base: "tmp/x") "../bin" (posix) (base: "tmp/x") "../bin" (windows) (base: "tmp/x") "../bin" (windows) (base: "x/../tmp") "../bin" (posix) (base: "x/../tmp") "../bin" (posix) (base: "x/../tmp") "../bin" (windows) (base: "x/../tmp") "../bin" (windows) expand_path for common unix path gives a full path (base: "") "/tmp/" (posix) (base: "") "/tmp/" (posix) (base: "") "/tmp/" (windows) (base: "") "/tmp/" (windows) (base: "") "/tmp/../../../tmp" (posix) (base: "") "/tmp/../../../tmp" (posix) (base: "") "/tmp/../../../tmp" (windows) (base: "") "/tmp/../../../tmp" (windows) (base: "") "" (posix) (base: "") "" (posix) (base: "") "" (windows) (base: "") "" (windows) (base: "") "./////" (posix) (base: "") "./////" (posix) (base: "") "./////" (windows) (base: "") "./////" (windows) (base: "") "." (posix) (base: "") "." (posix) (base: "") "." (windows) (base: "") "." (windows) (base: "") "/default/base" (posix) (base: "") "/default/base" (posix) (base: "") "/default/base" (windows) (base: "") "/default/base" (windows) with drive (base: "D:") "foo" (posix) (base: "D:") "foo" (posix) (base: "D:") "foo" (windows) (base: "D:") "foo" (windows) (base: "D:") "/foo" (posix) (base: "D:") "/foo" (posix) (base: "D:") "/foo" (windows) (base: "D:") "/foo" (windows) (base: "D:") "\foo" (posix) (base: "D:") "\foo" (posix) (base: "D:") "\foo" (windows) (base: "D:") "\foo" (windows) (base: "D:\") "foo" (posix) (base: "D:\") "foo" (posix) (base: "D:\") "foo" (windows) (base: "D:\") "foo" (windows) (base: "D:\") "foo" (posix) (base: "D:\") "foo" (posix) (base: "D:\") "foo" (windows) (base: "D:\") "foo" (windows) (base: "D:/") "foo" (posix) (base: "D:/") "foo" (posix) (base: "D:/") "foo" (windows) (base: "D:/") "foo" (windows) (base: "D:\") "/foo" (posix) (base: "D:\") "/foo" (posix) (base: "D:\") "/foo" (windows) (base: "D:\") "/foo" (windows) (base: "D:\") "\foo" (posix) (base: "D:\") "\foo" (posix) (base: "D:\") "\foo" (windows) (base: "D:\") "\foo" (windows) (base: "D:\") "\foo" (posix) (base: "D:\") "\foo" (posix) (base: "D:\") "\foo" (windows) (base: "D:\") "\foo" (windows) (base: "D:/") "/foo" (posix) (base: "D:/") "/foo" (posix) (base: "D:/") "/foo" (windows) (base: "D:/") "/foo" (windows) (base: "D:/") "\foo" (posix) (base: "D:/") "\foo" (posix) (base: "D:/") "\foo" (windows) (base: "D:/") "\foo" (windows) (base: "D:") "C:" (posix) (base: "D:") "C:" (posix) (base: "D:") "C:" (windows) (base: "D:") "C:" (windows) (base: "D:/") "C:" (posix) (base: "D:/") "C:" (posix) (base: "D:/") "C:" (windows) (base: "D:/") "C:" (windows) (base: "D:\") "C:" (posix) (base: "D:\") "C:" (posix) (base: "D:\") "C:" (windows) (base: "D:\") "C:" (windows) (base: "D:\") "C:" (posix) (base: "D:\") "C:" (posix) (base: "D:\") "C:" (windows) (base: "D:\") "C:" (windows) (base: "D:") "C:/" (posix) (base: "D:") "C:/" (posix) (base: "D:") "C:/" (windows) (base: "D:") "C:/" (windows) (base: "D:/") "C:/" (posix) (base: "D:/") "C:/" (posix) (base: "D:/") "C:/" (windows) (base: "D:/") "C:/" (windows) (base: "D:\") "C:/" (posix) (base: "D:\") "C:/" (posix) (base: "D:\") "C:/" (windows) (base: "D:\") "C:/" (windows) (base: "D:\") "C:/" (posix) (base: "D:\") "C:/" (posix) (base: "D:\") "C:/" (windows) (base: "D:\") "C:/" (windows) (base: "D:") "C:\" (posix) (base: "D:") "C:\" (posix) (base: "D:") "C:\" (windows) (base: "D:") "C:\" (windows) (base: "D:/") "C:\" (posix) (base: "D:/") "C:\" (posix) (base: "D:/") "C:\" (windows) (base: "D:/") "C:\" (windows) (base: "D:\") "C:\" (posix) (base: "D:\") "C:\" (posix) (base: "D:\") "C:\" (windows) (base: "D:\") "C:\" (windows) (base: "D:\") "C:\" (posix) (base: "D:\") "C:\" (posix) (base: "D:\") "C:\" (windows) (base: "D:\") "C:\" (windows) (base: "D:") "C:foo" (posix) (base: "D:") "C:foo" (posix) (base: "D:") "C:foo" (windows) (base: "D:") "C:foo" (windows) (base: "D:") "C:/foo" (posix) (base: "D:") "C:/foo" (posix) (base: "D:") "C:/foo" (windows) (base: "D:") "C:/foo" (windows) (base: "D:") "C:\foo" (posix) (base: "D:") "C:\foo" (posix) (base: "D:") "C:\foo" (windows) (base: "D:") "C:\foo" (windows) (base: "D:\") "C:foo" (posix) (base: "D:\") "C:foo" (posix) (base: "D:\") "C:foo" (windows) (base: "D:\") "C:foo" (windows) (base: "D:\") "C:foo" (posix) (base: "D:\") "C:foo" (posix) (base: "D:\") "C:foo" (windows) (base: "D:\") "C:foo" (windows) (base: "D:/") "C:foo" (posix) (base: "D:/") "C:foo" (posix) (base: "D:/") "C:foo" (windows) (base: "D:/") "C:foo" (windows) (base: "D:\") "C:/foo" (posix) (base: "D:\") "C:/foo" (posix) (base: "D:\") "C:/foo" (windows) (base: "D:\") "C:/foo" (windows) (base: "D:\") "C:/foo" (posix) (base: "D:\") "C:/foo" (posix) (base: "D:\") "C:/foo" (windows) (base: "D:\") "C:/foo" (windows) (base: "D:\") "C:\foo" (posix) (base: "D:\") "C:\foo" (posix) (base: "D:\") "C:\foo" (windows) (base: "D:\") "C:\foo" (windows) (base: "D:\") "C:\foo" (posix) (base: "D:\") "C:\foo" (posix) (base: "D:\") "C:\foo" (windows) (base: "D:\") "C:\foo" (windows) (base: "D:/") "C:/foo" (posix) (base: "D:/") "C:/foo" (posix) (base: "D:/") "C:/foo" (windows) (base: "D:/") "C:/foo" (windows) (base: "D:/") "C:\foo" (posix) (base: "D:/") "C:\foo" (posix) (base: "D:/") "C:\foo" (windows) (base: "D:/") "C:\foo" (windows) doesn't expand ~ doesn't expand ~ checks all possible types for expand(home:) (base: "") "~/a" (posix) (base: "") "~/a" (posix) (base: "") "~/a" (windows) (base: "") "~/a" (windows) (base: "") "~/a" (posix) (base: "") "~/a" (posix) (base: "") "~/a" (windows) (base: "") "~/a" (windows) (base: "") "~/a" (posix) (base: "") "~/a" (posix) (base: "") "~/a" (windows) (base: "") "~/a" (windows) converts a pathname to an absolute pathname, using ~ (home) as base (base: "") "~/" (posix) (base: "") "~/" (posix) (base: "") "~/" (windows) (base: "") "~/" (windows) (base: "") "~/..badfilename" (posix) (base: "") "~/..badfilename" (posix) (base: "") "~/..badfilename" (windows) (base: "") "~/..badfilename" (windows) (base: "") ".." (posix) (base: "") ".." (posix) (base: "") ".." (windows) (base: "") ".." (windows) (base: "~/b") "~/a" (posix) (base: "~/b") "~/a" (posix) (base: "~/b") "~/a" (windows) (base: "~/b") "~/a" (windows) (base: "") "~" (posix) (base: "") "~" (posix) (base: "") "~" (windows) (base: "") "~" (windows) (base: "/tmp/gumby/ddd") "~" (posix) (base: "/tmp/gumby/ddd") "~" (posix) (base: "/tmp/gumby/ddd") "~" (windows) (base: "/tmp/gumby/ddd") "~" (windows) (base: "/tmp/gumby/ddd") "~/a" (posix) (base: "/tmp/gumby/ddd") "~/a" (posix) (base: "/tmp/gumby/ddd") "~/a" (windows) (base: "/tmp/gumby/ddd") "~/a" (windows) converts a pathname to an absolute pathname, using ~ (home) as base (trailing /) (base: "") "~/" (posix) (base: "") "~/" (posix) (base: "") "~/" (windows) (base: "") "~/" (windows) (base: "") "~/..badfilename" (posix) (base: "") "~/..badfilename" (posix) (base: "") "~/..badfilename" (windows) (base: "") "~/..badfilename" (windows) (base: "") "~/.." (posix) (base: "") "~/.." (posix) (base: "") "~/.." (windows) (base: "") "~/.." (windows) (base: "~/b") "~/a" (posix) (base: "~/b") "~/a" (posix) (base: "~/b") "~/a" (windows) (base: "~/b") "~/a" (windows) (base: "") "~" (posix) (base: "") "~" (posix) (base: "") "~" (windows) (base: "") "~" (windows) (base: "/tmp/gumby/ddd") "~" (posix) (base: "/tmp/gumby/ddd") "~" (posix) (base: "/tmp/gumby/ddd") "~" (windows) (base: "/tmp/gumby/ddd") "~" (windows) (base: "/tmp/gumby/ddd") "~/a" (posix) (base: "/tmp/gumby/ddd") "~/a" (posix) (base: "/tmp/gumby/ddd") "~/a" (windows) (base: "/tmp/gumby/ddd") "~/a" (windows) converts a pathname to an absolute pathname, using ~ (home) as base (HOME=/) (base: "") "~/" (posix) (base: "") "~/" (posix) (base: "") "~/" (windows) (base: "") "~/" (windows) (base: "") "~/..badfilename" (posix) (base: "") "~/..badfilename" (posix) (base: "") "~/..badfilename" (windows) (base: "") "~/..badfilename" (windows) (base: "") ".." (posix) (base: "") ".." (posix) (base: "") ".." (windows) (base: "") ".." (windows) (base: "~/b") "~/a" (posix) (base: "~/b") "~/a" (posix) (base: "~/b") "~/a" (windows) (base: "~/b") "~/a" (windows) (base: "") "~" (posix) (base: "") "~" (posix) (base: "") "~" (windows) (base: "") "~" (windows) (base: "/tmp/gumby/ddd") "~" (posix) (base: "/tmp/gumby/ddd") "~" (posix) (base: "/tmp/gumby/ddd") "~" (windows) (base: "/tmp/gumby/ddd") "~" (windows) (base: "/tmp/gumby/ddd") "~/a" (posix) (base: "/tmp/gumby/ddd") "~/a" (posix) (base: "/tmp/gumby/ddd") "~/a" (windows) (base: "/tmp/gumby/ddd") "~/a" (windows) ignores name starting with ~ (base: "/current") "~foo.txt" (posix) (base: "/current") "~foo.txt" (posix) (base: "/current") "~foo.txt" (windows) (base: "/current") "~foo.txt" (windows) #<=> case sensitivity case sensitivity #== simple simple case sensitivity case sensitivity #ends_with_separator? "foo" (posix) "foo" (posix) "foo" (windows) "foo" (windows) "foo/" (posix) "foo/" (posix) "foo/" (windows) "foo/" (windows) "foo\" (posix) "foo\" (posix) "foo\" (windows) "foo\" (windows) "C:/" (posix) "C:/" (posix) "C:/" (windows) "C:/" (windows) "foo/bar" (posix) "foo/bar" (posix) "foo/bar" (windows) "foo/bar" (windows) "foo/." (posix) "foo/." (posix) "foo/." (windows) "foo/." (windows) #to_windows "foo/bar" (posix) "foo/bar" (posix) "foo/bar" (windows) "foo/bar" (windows) "C:\foo\bar" (posix) "C:\foo\bar" (posix) "C:\foo\bar" (windows) "C:\foo\bar" (windows) #to_posix "foo/bar" (posix) "foo/bar" (posix) "foo/bar" (windows) "foo/bar" (windows) "C:\foo\bar" (posix) "C:\foo\bar" (posix) "C:\foo\bar" (windows) "C:\foo\bar" (windows) #relative_to? on "a/b": "a/b/c" (posix) on "a/b": "a/b/c" (posix) on "a/b": "a/b/c" (windows) on "a/b": "a/b/c" (windows) on "a/b": "a/b" (posix) on "a/b": "a/b" (posix) on "a/b": "a/b" (windows) on "a/b": "a/b" (windows) on "a/b/.": "a/b" (posix) on "a/b/.": "a/b" (posix) on "a/b/.": "a/b" (windows) on "a/b/.": "a/b" (windows) on "a/b": "a/b/." (posix) on "a/b": "a/b/." (posix) on "a/b": "a/b/." (windows) on "a/b": "a/b/." (windows) on "./a/b": "a/b" (posix) on "./a/b": "a/b" (posix) on "./a/b": "a/b" (windows) on "./a/b": "a/b" (windows) on "a/b": "./a/b" (posix) on "a/b": "./a/b" (posix) on "a/b": "./a/b" (windows) on "a/b": "./a/b" (windows) on "ab/cd": "ab/cde" (posix) on "ab/cd": "ab/cde" (posix) on "ab/cd": "ab/cde" (windows) on "ab/cd": "ab/cde" (windows) on "ab/cd": "ab/c" (posix) on "ab/cd": "ab/c" (posix) on "ab/cd": "ab/c" (windows) on "ab/cd": "ab/c" (windows) on "a/b": "a/b/c/d" (posix) on "a/b": "a/b/c/d" (posix) on "a/b": "a/b/c/d" (windows) on "a/b": "a/b/c/d" (windows) on "a/b": "a/b/../c" (posix) on "a/b": "a/b/../c" (posix) on "a/b": "a/b/../c" (windows) on "a/b": "a/b/../c" (windows) on "a/b/../c": "a/b" (posix) on "a/b/../c": "a/b" (posix) on "a/b/../c": "a/b" (windows) on "a/b/../c": "a/b" (windows) on "a/b/c": "a/c/d" (posix) on "a/b/c": "a/c/d" (posix) on "a/b/c": "a/c/d" (windows) on "a/b/c": "a/c/d" (windows) on "a/b": "c/d" (posix) on "a/b": "c/d" (posix) on "a/b": "c/d" (windows) on "a/b": "c/d" (windows) on "a/b/c/d": "a/b" (posix) on "a/b/c/d": "a/b" (posix) on "a/b/c/d": "a/b" (windows) on "a/b/c/d": "a/b" (windows) on "a/b/c/d": "a/b/" (posix) on "a/b/c/d": "a/b/" (posix) on "a/b/c/d": "a/b/" (windows) on "a/b/c/d": "a/b/" (windows) on "a/b/c/d/": "a/b" (posix) on "a/b/c/d/": "a/b" (posix) on "a/b/c/d/": "a/b" (windows) on "a/b/c/d/": "a/b" (windows) on "a/b/c/d/": "a/b/" (posix) on "a/b/c/d/": "a/b/" (posix) on "a/b/c/d/": "a/b/" (windows) on "a/b/c/d/": "a/b/" (windows) on "../../a/b": "../../a/b/c/d" (posix) on "../../a/b": "../../a/b/c/d" (posix) on "../../a/b": "../../a/b/c/d" (windows) on "../../a/b": "../../a/b/c/d" (windows) on "/a/b": "/a/b" (posix) on "/a/b": "/a/b" (posix) on "/a/b": "/a/b" (windows) on "/a/b": "/a/b" (windows) on "/a/b/.": "/a/b" (posix) on "/a/b/.": "/a/b" (posix) on "/a/b/.": "/a/b" (windows) on "/a/b/.": "/a/b" (windows) on "/a/b": "/a/b/." (posix) on "/a/b": "/a/b/." (posix) on "/a/b": "/a/b/." (windows) on "/a/b": "/a/b/." (windows) on "/ab/cd": "/ab/cde" (posix) on "/ab/cd": "/ab/cde" (posix) on "/ab/cd": "/ab/cde" (windows) on "/ab/cd": "/ab/cde" (windows) on "/ab/cd": "/ab/c" (posix) on "/ab/cd": "/ab/c" (posix) on "/ab/cd": "/ab/c" (windows) on "/ab/cd": "/ab/c" (windows) on "/a/b": "/a/b/c/d" (posix) on "/a/b": "/a/b/c/d" (posix) on "/a/b": "/a/b/c/d" (windows) on "/a/b": "/a/b/c/d" (windows) on "/a/b": "/a/b/../c" (posix) on "/a/b": "/a/b/../c" (posix) on "/a/b": "/a/b/../c" (windows) on "/a/b": "/a/b/../c" (windows) on "/a/b/../c": "/a/b" (posix) on "/a/b/../c": "/a/b" (posix) on "/a/b/../c": "/a/b" (windows) on "/a/b/../c": "/a/b" (windows) on "/a/b/c": "/a/c/d" (posix) on "/a/b/c": "/a/c/d" (posix) on "/a/b/c": "/a/c/d" (windows) on "/a/b/c": "/a/c/d" (windows) on "/a/b": "/c/d" (posix) on "/a/b": "/c/d" (posix) on "/a/b": "/c/d" (windows) on "/a/b": "/c/d" (windows) on "/a/b/c/d": "/a/b" (posix) on "/a/b/c/d": "/a/b" (posix) on "/a/b/c/d": "/a/b" (windows) on "/a/b/c/d": "/a/b" (windows) on "/a/b/c/d": "/a/b/" (posix) on "/a/b/c/d": "/a/b/" (posix) on "/a/b/c/d": "/a/b/" (windows) on "/a/b/c/d": "/a/b/" (windows) on "/a/b/c/d/": "/a/b" (posix) on "/a/b/c/d/": "/a/b" (posix) on "/a/b/c/d/": "/a/b" (windows) on "/a/b/c/d/": "/a/b" (windows) on "/a/b/c/d/": "/a/b/" (posix) on "/a/b/c/d/": "/a/b/" (posix) on "/a/b/c/d/": "/a/b/" (windows) on "/a/b/c/d/": "/a/b/" (windows) on "/../../a/b": "/../../a/b/c/d" (posix) on "/../../a/b": "/../../a/b/c/d" (posix) on "/../../a/b": "/../../a/b/c/d" (windows) on "/../../a/b": "/../../a/b/c/d" (windows) on "/": "/a/c" (posix) on "/": "/a/c" (posix) on "/": "/a/c" (windows) on "/": "/a/c" (windows) on "/": "/" (posix) on "/": "/" (posix) on "/": "/" (windows) on "/": "/" (windows) on ".": "a/b" (posix) on ".": "a/b" (posix) on ".": "a/b" (windows) on ".": "a/b" (windows) on ".": ".." (posix) on ".": ".." (posix) on ".": ".." (windows) on ".": ".." (windows) on "..": "." (posix) on "..": "." (posix) on "..": "." (windows) on "..": "." (windows) on "..": "a" (posix) on "..": "a" (posix) on "..": "a" (windows) on "..": "a" (windows) on "../..": ".." (posix) on "../..": ".." (posix) on "../..": ".." (windows) on "../..": ".." (windows) on "a": "/a" (posix) on "a": "/a" (posix) on "a": "/a" (windows) on "a": "/a" (windows) special windows paths on "/a": "a" (posix) on "/a": "a" (posix) on "/a": "a" (windows) on "/a": "a" (windows) on "C:a\b\c": "C:a/b/d" (posix) on "C:a\b\c": "C:a/b/d" (posix) on "C:a\b\c": "C:a/b/d" (windows) on "C:a\b\c": "C:a/b/d" (windows) on "C:a\b\c": "c:a/b/d" (posix) on "C:a\b\c": "c:a/b/d" (posix) on "C:a\b\c": "c:a/b/d" (windows) on "C:a\b\c": "c:a/b/d" (windows) on "C:\": "D:\" (posix) on "C:\": "D:\" (posix) on "C:\": "D:\" (windows) on "C:\": "D:\" (windows) on "C:": "D:" (posix) on "C:": "D:" (posix) on "C:": "D:" (windows) on "C:": "D:" (windows) on "C:\Projects": "c:\projects\src" (posix) on "C:\Projects": "c:\projects\src" (posix) on "C:\Projects": "c:\projects\src" (windows) on "C:\Projects": "c:\projects\src" (windows) on "C:\Projects": "c:\projects" (posix) on "C:\Projects": "c:\projects" (posix) on "C:\Projects": "c:\projects" (windows) on "C:\Projects": "c:\projects" (windows) on "C:\Projects\a\..": "c:\projects" (posix) on "C:\Projects\a\..": "c:\projects" (posix) on "C:\Projects\a\..": "c:\projects" (windows) on "C:\Projects\a\..": "c:\projects" (windows) #relative_to relativizable paths relativizable paths mixed input paths mixed input paths paths that can't be relativized paths that can't be relativized #stem "foo.txt" (posix) "foo.txt" (posix) "foo.txt" (windows) "foo.txt" (windows) "foo.txt.txt" (posix) "foo.txt.txt" (posix) "foo.txt.txt" (windows) "foo.txt.txt" (windows) ".txt" (posix) ".txt" (posix) ".txt" (windows) ".txt" (windows) ".txt.txt" (posix) ".txt.txt" (posix) ".txt.txt" (windows) ".txt.txt" (windows) "foo." (posix) "foo." (posix) "foo." (windows) "foo." (windows) "foo.txt." (posix) "foo.txt." (posix) "foo.txt." (windows) "foo.txt." (windows) "foo..txt" (posix) "foo..txt" (posix) "foo..txt" (windows) "foo..txt" (windows) "bar/foo.txt" (posix) "bar/foo.txt" (posix) "bar/foo.txt" (windows) "bar/foo.txt" (windows) "bar/foo.txt.txt" (posix) "bar/foo.txt.txt" (posix) "bar/foo.txt.txt" (windows) "bar/foo.txt.txt" (windows) "bar/.txt" (posix) "bar/.txt" (posix) "bar/.txt" (windows) "bar/.txt" (windows) "bar/.txt.txt" (posix) "bar/.txt.txt" (posix) "bar/.txt.txt" (windows) "bar/.txt.txt" (windows) "bar/foo." (posix) "bar/foo." (posix) "bar/foo." (windows) "bar/foo." (windows) "bar/foo.txt." (posix) "bar/foo.txt." (posix) "bar/foo.txt." (windows) "bar/foo.txt." (windows) "bar/foo..txt" (posix) "bar/foo..txt" (posix) "bar/foo..txt" (windows) "bar/foo..txt" (windows) "bar\foo.txt" (posix) "bar\foo.txt" (posix) "bar\foo.txt" (windows) "bar\foo.txt" (windows) "bar\foo.txt.txt" (posix) "bar\foo.txt.txt" (posix) "bar\foo.txt.txt" (windows) "bar\foo.txt.txt" (windows) "bar\.txt" (posix) "bar\.txt" (posix) "bar\.txt" (windows) "bar\.txt" (windows) "bar\.txt.txt" (posix) "bar\.txt.txt" (posix) "bar\.txt.txt" (windows) "bar\.txt.txt" (windows) "bar\foo." (posix) "bar\foo." (posix) "bar\foo." (windows) "bar\foo." (windows) "bar\foo.txt." (posix) "bar\foo.txt." (posix) "bar\foo.txt." (windows) "bar\foo.txt." (windows) "bar\foo..txt" (posix) "bar\foo..txt" (posix) "bar\foo..txt" (windows) "bar\foo..txt" (windows) "foo.txt/" (posix) "foo.txt/" (posix) "foo.txt/" (windows) "foo.txt/" (windows) "foo.txt.txt/" (posix) "foo.txt.txt/" (posix) "foo.txt.txt/" (windows) "foo.txt.txt/" (windows) ".txt/" (posix) ".txt/" (posix) ".txt/" (windows) ".txt/" (windows) ".txt.txt/" (posix) ".txt.txt/" (posix) ".txt.txt/" (windows) ".txt.txt/" (windows) "foo./" (posix) "foo./" (posix) "foo./" (windows) "foo./" (windows) "foo.txt./" (posix) "foo.txt./" (posix) "foo.txt./" (windows) "foo.txt./" (windows) "foo..txt/" (posix) "foo..txt/" (posix) "foo..txt/" (windows) "foo..txt/" (windows) Pointer does malloc with value does malloc with value does malloc with value from block does malloc with value from block does index with count does index with count copy_from performs performs raises on negative count raises on negative count copies from union of pointers copies from union of pointers realloc raises on negative count raises on negative count copy_to performs performs raises on negative count raises on negative count copies to union of pointers copies to union of pointers move_from performs with overlap right to left performs with overlap right to left performs with overlap left to right performs with overlap left to right raises on negative count raises on negative count moves from union of pointers moves from union of pointers move_to performs with overlap right to left performs with overlap right to left performs with overlap left to right performs with overlap left to right raises on negative count raises on negative count moves to union of pointers moves to union of pointers memcmp assert assert compares two pointers by address compares two pointers by address does to_s does to_s creates from int creates from int performs arithmetic with u64 performs arithmetic with u64 performs arithmetic with u32 performs arithmetic with u32 shuffles! shuffles! maps! maps! maps_with_index! maps_with_index! maps_with_index!, with offset maps_with_index!, with offset raises if mallocs negative size raises if mallocs negative size copies/move with different types copies/move with different types clear clears one clears one clears many clears many clears with union clears with union does ! does ! clones clones p can be used with tuples can be used with tuples pp can be used with tuples can be used with tuples PrettyPrint pretty prints hello 0..6 pretty prints hello 0..6 pretty prints hello 7..8 pretty prints hello 7..8 pretty prints hello 9..10 pretty prints hello 9..10 pretty prints hello 11..12 pretty prints hello 11..12 pretty prints hello 13..13 pretty prints hello 13..13 pretty prints tree 0..19 pretty prints tree 0..19 pretty prints tree 20..22 pretty prints tree 20..22 pretty prints tree 23..43 pretty prints tree 23..43 pretty prints tree 44..44 pretty prints tree 44..44 pretty prints tree alt 0..18 pretty prints tree alt 0..18 pretty prints tree alt 19..20 pretty prints tree alt 19..20 pretty prints tree alt 21..49 pretty prints tree alt 21..49 pretty prints tree alt 50..50 pretty prints tree alt 50..50 pretty prints strict pretty 0..4 pretty prints strict pretty 0..4 pretty prints strict pretty 5..5 pretty prints strict pretty 5..5 pretty prints strict pretty 6..6 pretty prints strict pretty 6..6 pretty prints strict pretty 7..7 pretty prints strict pretty 7..7 pretty prints strict pretty 8..8 pretty prints strict pretty 8..8 pretty prints strict pretty 9..9 pretty prints strict pretty 9..9 pretty prints strict pretty 10..10 pretty prints strict pretty 10..10 pretty prints strict pretty 11..31 pretty prints strict pretty 11..31 pretty prints strict pretty 32..32 pretty prints strict pretty 32..32 pretty prints fill 0..6 pretty prints fill 0..6 pretty prints fill 7..10 pretty prints fill 7..10 pretty prints fill 11..14 pretty prints fill 11..14 pretty prints fill 15..18 pretty prints fill 15..18 pretty prints fill 19..22 pretty prints fill 19..22 pretty prints fill 23..26 pretty prints fill 23..26 pretty prints fill 27..27 pretty prints fill 27..27 pretty prints width 0 indent 23 pretty prints width 0 indent 23 pretty prints width 5 indent 20 pretty prints width 5 indent 20 pretty prints width 6 indent 20 pretty prints width 6 indent 20 pretty prints width 7 indent 20 pretty prints width 7 indent 20 tail group tail group Proc does to_s(io) does to_s(io) does to_s(io) when closured does to_s(io) when closured does to_s does to_s does to_s when closured does to_s when closured gets pointer gets pointer gets closure data for non-closure gets closure data for non-closure gets closure data for closure gets closure data for closure does new does new does == does == clones clones #arity #arity #partial #partial Process runs true runs true runs false runs false raises if command doesn't exist raises if command doesn't exist raises if command is not executable raises if command is not executable raises if command could not be executed raises if command could not be executed run waits for the process run waits for the process runs true in block runs true in block receives arguments in array receives arguments in array receives arguments in tuple receives arguments in tuple redirects output to /dev/null redirects output to /dev/null gets output gets output sends input in IO sends input in IO sends output to IO sends output to IO sends error to IO sends error to IO controls process in block controls process in block closes ios after block closes ios after block chroot raises when unprivileged chroot raises when unprivileged sets working directory sets working directory disallows passing arguments to nowhere disallows passing arguments to nowhere looks up programs in the $PATH with a shell looks up programs in the $PATH with a shell allows passing huge argument lists to a shell allows passing huge argument lists to a shell does not run shell code in the argument list does not run shell code in the argument list environ clears the environment clears the environment clears and sets an environment variable clears and sets an environment variable sets an environment variable sets an environment variable sets an empty environment variable sets an empty environment variable deletes existing environment variable deletes existing environment variable preserves existing environment variable preserves existing environment variable preserves and sets an environment variable preserves and sets an environment variable overrides existing environment variable overrides existing environment variable signal kills a process kills a process kills many process kills many process gets the pgid of a process id gets the pgid of a process id can link processes together can link processes together executes the new process with exec executes the new process with exec gets error from exec gets error from exec checks for existence checks for existence terminates the process terminates the process executable_path searches executable searches executable quote_posix assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert join assert assert assert assert assert assert assert assert quote_windows assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert join assert assert assert assert assert assert parse_arguments assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert raises an error when double quote is unclosed raises an error when double quote is unclosed raises an error if single quote is unclosed raises an error if single quote is unclosed raise should set exception's callstack should set exception's callstack shouldn't overwrite the callstack on re-raise shouldn't overwrite the callstack on re-raise Random limited number limited number limited BigInt limited BigInt limited large BigInt limited large BigInt float number float number limited float number limited float number raises on invalid number raises on invalid number raises on invalid float number raises on invalid float number does with inclusive range does with inclusive range does with exclusive range does with exclusive range does with BigInt range does with BigInt range does with inclusive range of floats does with inclusive range of floats does with exclusive range of floats does with exclusive range of floats raises on invalid range Int32 range Int32 range BigInt range BigInt range Float64 range Float64 range allows creating a new default random allows creating a new default random allows creating a new default random with a seed allows creating a new default random with a seed gets a random bool gets a random bool generates by accumulation generates by accumulation generates by truncation generates by truncation generates full-range generates full-range generates full-range by accumulation generates full-range by accumulation generates full-range by truncation generates full-range by truncation generates full-range by negation generates full-range by negation random_bytes generates random bytes generates random bytes gets random bytes with default number of digits gets random bytes with default number of digits gets random bytes with requested number of digits gets random bytes with requested number of digits fills given buffer with random bytes fills given buffer with random bytes base64 gets base64 with default number of digits gets base64 with default number of digits gets base64 with requested number of digits gets base64 with requested number of digits urlsafe_base64 gets urlsafe base64 with default number of digits gets urlsafe base64 with default number of digits gets urlsafe base64 with requested number of digits gets urlsafe base64 with requested number of digits keeps padding keeps padding hex gets hex with default number of digits gets hex with default number of digits gets hex with requested number of digits gets hex with requested number of digits returns a random integer returns a random integer returns a random static array returns a random static array Range initialized with new method initialized with new method gets basic properties gets basic properties #== #== includes? includes? does to_s does to_s does inspect does inspect is empty with .. and begin > end is empty with .. and begin > end is empty with ... and begin > end is empty with ... and begin > end is not empty with .. and begin == end is not empty with .. and begin == end is not empty with ... and begin.succ == end is not empty with ... and begin.succ == end sum called with no block is specialized for performance called with no block is specialized for performance called with no block is specialized for performance (BigInt) called with no block is specialized for performance (BigInt) is equivalent to Enumerable#sum is equivalent to Enumerable#sum bsearch Int Int BigInt BigInt Float Float each gives correct values with inclusive range gives correct values with inclusive range gives correct values with exclusive range gives correct values with exclusive range is empty with empty inclusive range is empty with empty inclusive range endless endless raises on beginless raises on beginless doesn't have Nil as a type for endless each doesn't have Nil as a type for endless each doesn't have Nil as a type for beginless each doesn't have Nil as a type for beginless each reverse_each gives correct values with inclusive range gives correct values with inclusive range gives correct values with exclusive range gives correct values with exclusive range is empty with empty inclusive range is empty with empty inclusive range raises on endless range raises on endless range iterators on beginless range iterators on beginless range each iterator does next with inclusive range does next with inclusive range does next with exclusive range does next with exclusive range does with endless range does with endless range raises on beginless range raises on beginless range cycles cycles is empty with .. and begin > end is empty with .. and begin > end is empty with ... and begin > end is empty with ... and begin > end is not empty with .. and begin == end is not empty with .. and begin == end is not empty with ... and begin.succ == end is not empty with ... and begin.succ == end reverse_each iterator does next with inclusive range does next with inclusive range does next with exclusive range does next with exclusive range does next with beginless range does next with beginless range reverse cycles reverse cycles is empty with .. and begin > end is empty with .. and begin > end is empty with ... and begin > end is empty with ... and begin > end is not empty with .. and begin == end is not empty with .. and begin == end is not empty with ... and begin.succ == end is not empty with ... and begin.succ == end raises on endless range raises on endless range sample raises on open range raises on open range samples a float range as a distribution samples a float range as a distribution samples a range with nilable types samples a range with nilable types #step "inclusive default" yielding "inclusive default" yielding "inclusive default" iterator "inclusive default" iterator "inclusive step" yielding "inclusive step" yielding "inclusive step" iterator "inclusive step" iterator "inclusive step over" yielding "inclusive step over" yielding "inclusive step over" iterator "inclusive step over" iterator "exclusive default" yielding "exclusive default" yielding "exclusive default" iterator "exclusive default" iterator "exclusive step" yielding "exclusive step" yielding "exclusive step" iterator "exclusive step" iterator "exclusive step over" yielding "exclusive step over" yielding "exclusive step over" iterator "exclusive step over" iterator "endless range" yielding "endless range" yielding "endless range" iterator "endless range" iterator raises on beginless range raises on beginless range "begin > end inclusive" yielding "begin > end inclusive" yielding "begin > end inclusive" iterator "begin > end inclusive" iterator "begin > end exclusive" yielding "begin > end exclusive" yielding "begin > end exclusive" iterator "begin > end exclusive" iterator "begin == end inclusive" yielding "begin == end inclusive" yielding "begin == end inclusive" iterator "begin == end inclusive" iterator "begin == end exclusive" yielding "begin == end exclusive" yielding "begin == end exclusive" iterator "begin == end exclusive" iterator "begin.succ == end inclusive" yielding "begin.succ == end inclusive" yielding "begin.succ == end inclusive" iterator "begin.succ == end inclusive" iterator "begin.succ == end exclusive" yielding "begin.succ == end exclusive" yielding "begin.succ == end exclusive" iterator "begin.succ == end exclusive" iterator "Float step" yielding "Float step" yielding "Float step" iterator "Float step" iterator "Time::Span step" yielding "Time::Span step" yielding "Time::Span step" iterator "Time::Span step" iterator with #succ type "basic" yielding "basic" yielding "basic" iterator "basic" iterator "basic by" yielding "basic by" yielding "basic by" iterator "basic by" iterator "missing end by" yielding "missing end by" yielding "missing end by" iterator "missing end by" iterator "at definition range" yielding "at definition range" yielding "at definition range" iterator "at definition range" iterator "at definition range by" yielding "at definition range by" yielding "at definition range by" iterator "at definition range by" iterator "at definition range missing by" yielding "at definition range missing by" yielding "at definition range missing by" iterator "at definition range missing by" iterator "at definition range by" yielding "at definition range by" yielding "at definition range by" iterator "at definition range by" iterator "at definition range missing by" yielding "at definition range missing by" yielding "at definition range missing by" iterator "at definition range missing by" iterator map optimizes for int range optimizes for int range works for other types works for other types size optimizes for int range optimizes for int range works for other types works for other types raises on beginless range raises on beginless range raises on endless range raises on endless range clones clones === inclusive inclusive exclusive exclusive endless endless beginless beginless no limits no limits record defines record with type declarations defines record with type declarations defines record with type declaration and initialization defines record with type declaration and initialization defines record with assignments defines record with assignments can clone record with parent type can clone record with parent type can copy_with record with parent type can copy_with record with parent type uses the default values on the ivars uses the default values on the ivars Reference compares reference to other reference compares reference to other reference should not be nil should not be nil should be false when negated should be false when negated does inspect does inspect does to_s does to_s does inspect for class does inspect for class does to_s for class does to_s for class does to_s for class if virtual does to_s for class if virtual returns itself returns itself dups dups can dup class that inherits abstract class can dup class that inherits abstract class clones with def_clone clones with def_clone clones with def_clone (recursive type) clones with def_clone (recursive type) pretty_print pretty_print calls #finalize on #dup'ed objects calls #finalize on #dup'ed objects Regex compare to other instances compare to other instances does =~ does =~ does inspect does inspect does to_s does to_s does inspect with slash does inspect with slash does to_s with slash does to_s with slash doesn't crash when PCRE tries to free some memory (#771) doesn't crash when PCRE tries to free some memory (#771) checks if Char need to be escaped checks if Char need to be escaped checks if String need to be escaped checks if String need to be escaped escapes escapes matches ignore case matches ignore case matches lines beginnings on ^ in multiline mode matches lines beginnings on ^ in multiline mode matches multiline matches multiline matches with =~ and captures matches with =~ and captures matches with =~ and gets utf-8 codepoint index matches with =~ and gets utf-8 codepoint index matches with === and captures matches with === and captures matches? matches but create no MatchData matches but create no MatchData can specify initial position of matching can specify initial position of matching name_table is a map of capture group number to name is a map of capture group number to name capture_count returns the number of (named & non-named) capture groups returns the number of (named & non-named) capture groups raises exception with invalid regex raises exception with invalid regex raises if outside match range with [] raises if outside match range with [] .union constructs a Regex that matches things any of its arguments match constructs a Regex that matches things any of its arguments match returns a regular expression that will match passed arguments returns a regular expression that will match passed arguments quotes any string arguments quotes any string arguments returns a Regex with an Array(String) with special characters returns a Regex with an Array(String) with special characters accepts a single Array(String | Regex) argument accepts a single Array(String | Regex) argument accepts a single Tuple(String | Regex) argument accepts a single Tuple(String | Regex) argument combines Regex objects in the same way as Regex#+ combines Regex objects in the same way as Regex#+ dups dups clones clones checks equality by == checks equality by == hashes hashes SemanticVersion compares < compares < compares build equivalence compares build equivalence does not accept bad versions does not accept bad versions SemanticVersion::Prerelease compares < compares < Set an empty set is empty is empty has size 0 has size 0 new creates new set with enumerable without block creates new set with enumerable without block add adds and includes adds and includes returns self returns self add? returns true when object is not in the set returns true when object is not in the set returns false when object is in the set returns false when object is in the set delete deletes an object deletes an object returns true when the object was present returns true when the object was present returns false when the object was absent returns false when the object was absent dup creates a dup creates a dup clone creates a clone creates a clone == compares two sets compares two sets concat adds all the other elements adds all the other elements returns self returns self does & does & does | does | aliases + to | aliases + to | does - does - does - does - does - does - does - does - does - does - does - does - does ^ does ^ does ^ does ^ does ^ does ^ does ^ does ^ does ^ does ^ does ^ does ^ does subtract does subtract does subtract does subtract does subtract does subtract does subtract does subtract does subtract does subtract does subtract does subtract does to_a does to_a does to_s does to_s does clear does clear checks intersects checks intersects compares hashes of sets compares hashes of sets does each does each "#each" yielding "#each" yielding "#each" iterator "#each" iterator #subset_of? #subset_of? #proper_subset_of? #proper_subset_of? #superset_of? #superset_of? #proper_superset_of? #proper_superset_of? has object_id has object_id compare_by_identity compares by identity compares by identity retains compare_by_identity on dup retains compare_by_identity on dup retains compare_by_identity on clone retains compare_by_identity on clone Signal runs a signal handler runs a signal handler ignores a signal ignores a signal CHLD.reset sets default Crystal child handler CHLD.reset sets default Crystal child handler CHLD.ignore sets default Crystal child handler CHLD.ignore sets default Crystal child handler CHLD.trap is called after default Crystal child handler CHLD.trap is called after default Crystal child handler CHLD.reset removes previously set trap CHLD.reset removes previously set trap Slice gets pointer and size gets pointer and size does []? does []? does [] does [] does []= does []= does + does + does []? with start and count does []? with start and count does [] with start and count does [] with start and count does empty? does empty? raises if size is negative on new raises if size is negative on new does to_s does to_s does to_s for bytes does to_s for bytes #fill replaces all values, without block replaces all values, without block works with primitive number types and 0 works with primitive number types and 0 works with Bytes works with Bytes replaces all values, with block replaces all values, with block replaces all values, with block and offset replaces all values, with block and offset does copy_from pointer does copy_from pointer does copy_to pointer does copy_to pointer .copy_to(Slice) copies bytes copies bytes raises if dst is smaller raises if dst is smaller copies at most src.size copies at most src.size .copy_from(Slice) copies bytes copies bytes raises if dst is smaller raises if dst is smaller copies at most src.size copies at most src.size .move_to(Slice) moves bytes moves bytes raises if dst is smaller raises if dst is smaller moves most src.size moves most src.size handles intersecting ranges handles intersecting ranges .move_from(Slice) moves bytes moves bytes raises if dst is smaller raises if dst is smaller moves at most src.size moves at most src.size handles intersecting ranges handles intersecting ranges does hexstring does hexstring does hexdump for empty slice does hexdump for empty slice does hexdump does hexdump "#each" yielding "#each" yielding "#each" iterator "#each" iterator "#reverse_each" yielding "#reverse_each" yielding "#reverse_each" iterator "#reverse_each" iterator "#each_index" yielding "#each_index" yielding "#each_index" iterator "#each_index" iterator does to_a does to_a does rindex does rindex does bytesize does bytesize == does == does == does == with same type, different runtime instances does == with same type, different runtime instances does == for bytes does == for bytes does macro [] does macro [] does macro [] with numbers (#3055) does macro [] with numbers (#3055) uses percent vars in [] macro (#2954) uses percent vars in [] macro (#2954) reverses reverses shuffles shuffles does map does map does map! does map! does map_with_index does map_with_index does map_with_index, with offset does map_with_index, with offset does map_with_index! does map_with_index! does map_with_index!, with offset does map_with_index!, with offset rotate! assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert creates empty slice creates empty slice creates read-only slice creates read-only slice hashes each item in collection hashes each item in collection optimizes hash for Bytes optimizes hash for Bytes #[] #[] #[] keeps read-only value #[] keeps read-only value #clone clones primitive clones primitive clones non-primitive clones non-primitive buffer copy buffer copy deep copy deep copy #dup buffer copy buffer copy don't deep copy don't deep copy sort #sort without block without block with a block with a block stable sort without a block stable sort without a block stable sort with a block stable sort with a block #sort! without block without block with a block with a block sorts with invalid block (#4379) sorts with invalid block (#4379) can sort! just by using <=> (#6608) can sort! just by using <=> (#6608) raises if <=> returns nil raises if <=> returns nil raises if sort! block returns nil raises if sort! block returns nil stable sort without a block stable sort without a block stable sort with a block stable sort with a block #sort_by sorts sorts stable sort stable sort #sort_by sorts sorts calls given block exactly once for each element calls given block exactly once for each element stable sort stable sort #unstable_sort without block without block with a block with a block #unstable_sort! without block without block with a block with a block sorts with invalid block (#4379) sorts with invalid block (#4379) can sort! just by using <=> (#6608) can sort! just by using <=> (#6608) raises if <=> returns nil raises if <=> returns nil raises if sort! block returns nil raises if sort! block returns nil #unstable_sort_by sorts sorts #unstable_sort_by sorts sorts calls given block exactly once for each element calls given block exactly once for each element <=> is comparable is comparable compares compares compares (UInt8) compares (UInt8) Spec matchers should be_truthy passes for true passes for true passes for some non-nil, non-false value passes for some non-nil, non-false value should_not be_truthy passes for false passes for false passes for nil passes for nil should be_falsey passes for false passes for false passes for nil passes for nil should_not be_falsey passes for true passes for true passes for some non-nil, non-false value passes for some non-nil, non-false value be_nil passes for nil passes for nil does not pass for overwritten `==` does not pass for overwritten `==` should contain passes when string includes? specified substring passes when string includes? specified substring works with array works with array works with set works with set works with range works with range does not pass when string does not includes? specified substring does not pass when string does not includes? specified substring should_not contain passes when string does not includes? specified substring passes when string does not includes? specified substring does not pass when string does not includes? specified substring does not pass when string does not includes? specified substring expect_raises return exception return exception should work like describe is true is true detects a nesting `it` detects a nesting `it` detects a nesting `pending` detects a nesting `pending` pending block is not compiled pending has block with valid syntax, but invalid semantics pending has block with valid syntax, but invalid semantics Spec use_colors? returns if output is colored or not returns if output is colored or not StaticArray creates with new creates with new creates with new and value creates with new and value creates with new and block creates with new and block raises index out of bounds on read raises index out of bounds on read raises index out of bounds on write raises index out of bounds on write allows using negative indices allows using negative indices == compares empty compares empty compares elements compares elements compares other compares other values_at returns the given indexes returns the given indexes raises when passed an invalid index raises when passed an invalid index does to_s does to_s #fill replaces all values, without block replaces all values, without block replaces all values, with block replaces all values, with block shuffles shuffles shuffles with a seed shuffles with a seed reverse reverse does map does map does map! does map! does map_with_index does map_with_index does map_with_index, with offset does map_with_index, with offset does map_with_index! does map_with_index! does map_with_index!, with offset does map_with_index!, with offset rotate! assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert updates value updates value clones clones "#each" yielding "#each" yielding "#each" iterator "#each" iterator "#reverse_each" yielding "#reverse_each" yielding "#reverse_each" iterator "#reverse_each" iterator "#each_index" yielding "#each_index" yielding "#each_index" iterator "#each_index" iterator String::Builder builds builds raises if invokes to_s twice raises if invokes to_s twice goes back goes back goes back all goes back all #chomp! returns self returns self StringPool is empty is empty gets string gets string gets string IO gets string IO gets slice gets slice gets pointer with size gets pointer with size puts many puts many can be created with larger initial capacity can be created with larger initial capacity StringScanner returns the string matched and advances the offset returns the string matched and advances the offset returns nil if it can't match from the offset returns nil if it can't match from the offset StringScanner returns the string matched and advances the offset returns the string matched and advances the offset returns nil if it can't match from the offset returns nil if it can't match from the offset StringScanner advances the offset but does not returns the string matched advances the offset but does not returns the string matched StringScanner advances the offset but does not returns the string matched advances the offset but does not returns the string matched StringScanner it is true when the offset is at the end it is true when the offset is at the end StringScanner returns the string matched but does not advances the offset returns the string matched but does not advances the offset returns nil if it can't match from the offset returns nil if it can't match from the offset StringScanner returns the string matched and advances the offset returns the string matched and advances the offset returns nil if it can't match from the offset returns nil if it can't match from the offset StringScanner returns the remainder of the string from the offset returns the remainder of the string from the offset StringScanner allows access to subgroups of the last match allows access to subgroups of the last match raises when there is no last match raises when there is no last match raises when there is no subgroup raises when there is no subgroup StringScanner allows access to subgroups of the last match allows access to subgroups of the last match returns nil when there is no last match returns nil when there is no last match raises when there is no subgroup raises when there is no subgroup StringScanner assert assert StringScanner returns the current position returns the current position StringScanner sets the current position sets the current position raises on negative positions raises on negative positions StringScanner has information on the scanner has information on the scanner works with small strings works with small strings StringScanner shows the next len characters without advancing the offset shows the next len characters without advancing the offset StringScanner resets the scan offset to the beginning and clears the last match resets the scan offset to the beginning and clears the last match StringScanner moves the scan offset to the end of the string and clears the last match moves the scan offset to the end of the string and clears the last match String [] gets with positive index gets with positive index gets with negative index gets with negative index gets with inclusive range gets with inclusive range gets with inclusive range with negative indices gets with inclusive range with negative indices gets with exclusive range gets with exclusive range gets with start and count gets with start and count gets with exclusive range with unicode gets with exclusive range with unicode gets with range without end gets with range without end gets with range without beginning gets with range without beginning gets when index is last and count is zero gets when index is last and count is zero gets when index is last and count is positive gets when index is last and count is positive gets when index is last and count is negative at last gets when index is last and count is negative at last assert assert gets when index is last and count is negative at last with utf-8 gets when index is last and count is negative at last with utf-8 gets when index is last and count is zero in utf-8 gets when index is last and count is zero in utf-8 gets when index is last and count is positive in utf-8 gets when index is last and count is positive in utf-8 raises IndexError if pointing after last char which is non-ASCII raises IndexError if pointing after last char which is non-ASCII raises index out of bound on index out of range with range raises index out of bound on index out of range with range raises index out of bound on index out of range with range and utf-8 raises index out of bound on index out of range with range and utf-8 gets with exclusive with start and count gets with exclusive with start and count gets with exclusive with start and count to end gets with exclusive with start and count to end gets with start and count with negative start gets with start and count with negative start raises if index out of bounds raises if index out of bounds raises if index out of bounds with utf-8 raises if index out of bounds with utf-8 raises if count is negative raises if count is negative raises if count is negative with utf-8 raises if count is negative with utf-8 gets with single char gets with single char raises on too negative left bound raises on too negative left bound with a regex assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert gets with a string gets with a string gets with a char gets with a char []? gets with a string gets with a string gets with a char gets with a char gets with index gets with index returns nil if pointing after last char which is non-ASCII returns nil if pointing after last char which is non-ASCII gets with range gets with range gets with start and count gets with start and count gets with range without end gets with range without end gets with range without beginning gets with range without beginning byte_slice gets byte_slice gets byte_slice gets byte_slice with negative count gets byte_slice with negative count gets byte_slice with negative count at last gets byte_slice with negative count at last gets byte_slice with start out of bounds gets byte_slice with start out of bounds gets byte_slice with large count gets byte_slice with large count gets byte_slice with negative index gets byte_slice with negative index gets byte_slice(Int) with start out of bounds gets byte_slice(Int) with start out of bounds to_i assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_i8 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_u8 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_i16 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_u16 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_i32 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_u32 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_i64 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_u64 assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_i128 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert to_u128 assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert does to_f does to_f does to_f32 does to_f32 does to_f64 does to_f64 compares strings: different size compares strings: different size compares strings: same object compares strings: same object compares strings: same size, same string compares strings: same size, same string compares strings: same size, different string compares strings: same size, different string interpolates string interpolates string multiplies multiplies multiplies with size one multiplies with size one multiplies with negative size multiplies with negative size #downcase assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert with IO assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #upcase assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert with IO assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #capitalize assert assert assert assert assert assert assert assert assert assert with IO assert assert assert assert assert assert assert assert assert assert #titleize assert assert assert assert assert assert assert assert assert assert assert assert assert assert with IO assert assert assert assert assert assert assert assert assert assert assert assert assert assert chomp assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert lchop assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert lchop? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert rchop assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert rchop? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert strip assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert rstrip assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert lstrip assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert empty? assert assert assert assert blank? assert assert assert assert assert assert presence assert assert assert assert assert assert #index by char assert assert assert assert assert assert assert assert assert assert assert assert with offset assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert by string assert assert assert assert assert assert assert assert assert assert assert assert assert assert with offset assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert by regex assert assert assert assert assert assert assert assert assert assert with offset assert assert assert assert assert assert assert assert assert assert assert assert assert assert #rindex by char assert assert assert assert assert assert assert assert assert assert with offset assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert by string assert assert assert assert assert assert assert assert with offset assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert by regex assert assert assert assert assert assert which matches empty string assert assert assert assert assert assert with offset assert assert assert assert assert assert assert assert assert assert assert assert assert assert partition by char assert assert assert assert assert assert assert assert by string assert assert assert assert assert assert assert assert assert assert by regex assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert rpartition by char assert assert assert assert assert assert by string assert assert assert assert assert assert assert assert assert assert assert assert assert assert by regex assert assert assert assert assert assert assert assert assert assert byte_index assert assert assert assert assert assert assert assert assert assert assert assert gets byte index of string gets byte index of string includes? by char assert assert assert assert by string assert assert assert assert assert assert split by whitespace assert assert assert assert assert assert assert assert assert assert by char assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert by string assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert by regex assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert keeps groups keeps groups starts_with? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert ends_with? assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert =~ matches with group matches with group returns nil with string returns nil with string returns nil with regex and regex returns nil with regex and regex delete assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert deletes one char deletes one char reverses string reverses string reverses utf-8 string reverses utf-8 string reverses taking grapheme clusters into account reverses taking grapheme clusters into account sub subs char with char subs char with char subs char with string subs char with string subs char with string subs char with string subs with regex and block subs with regex and block subs with regex and block with group subs with regex and block with group subs with regex and string subs with regex and string subs with regex and string, returns self if no match subs with regex and string, returns self if no match subs with regex and string (utf-8) subs with regex and string (utf-8) subs with empty string subs with empty string subs with empty regex subs with empty regex subs null character subs null character subs with string and string subs with string and string subs with string and string return self if no match subs with string and string return self if no match subs with string and string (utf-8) subs with string and string (utf-8) subs with string and string (#3258) subs with string and string (#3258) subs with string and block subs with string and block subs with char hash subs with char hash subs with regex and hash subs with regex and hash subs with regex and named tuple subs with regex and named tuple subs using $~ subs using $~ subs using with \ subs using with \ subs using with z\w subs using with z\w replaces with numeric back-reference replaces with numeric back-reference replaces with incomplete named back-reference (1) replaces with incomplete named back-reference (1) replaces with incomplete named back-reference (2) replaces with incomplete named back-reference (2) replaces with named back-reference replaces with named back-reference replaces with multiple named back-reference replaces with multiple named back-reference replaces with \a replaces with \a replaces with \\\1 replaces with \\\1 ignores if backreferences: false ignores if backreferences: false subs at index with char subs at index with char subs at index with char, non-ascii subs at index with char, non-ascii subs at negative index with char subs at negative index with char subs at index with string subs at index with string subs at negative index with string subs at negative index with string subs at index with string, non-ascii subs at index with string, non-ascii subs range with char subs range with char subs range with char, non-ascii subs range with char, non-ascii subs range with string subs range with string subs range with string, non-ascii subs range with string, non-ascii subs endless range with char subs endless range with char subs endless range with string subs endless range with string subs beginless range with char subs beginless range with char subs beginless range with string subs beginless range with string subs the last char subs the last char gsub gsubs char with char gsubs char with char gsubs char with string gsubs char with string gsubs char with string (nop) gsubs char with string (nop) gsubs char with char in non-ascii string gsubs char with char in non-ascii string gsubs char with string depending on the char gsubs char with string depending on the char gsubs with regex and block gsubs with regex and block gsubs with regex and block with group gsubs with regex and block with group gsubs with regex and string gsubs with regex and string gsubs with regex and string, returns self if no match gsubs with regex and string, returns self if no match gsubs with regex and string (utf-8) gsubs with regex and string (utf-8) gsubs with empty string gsubs with empty string gsubs with empty regex gsubs with empty regex gsubs null character gsubs null character gsubs with string and string gsubs with string and string gsubs with string and string return self if no match gsubs with string and string return self if no match gsubs with string and string (utf-8) gsubs with string and string (utf-8) gsubs with string and block gsubs with string and block gsubs with char hash gsubs with char hash gsubs with char named tuple gsubs with char named tuple gsubs with regex and hash gsubs with regex and hash gsubs with regex and named tuple gsubs with regex and named tuple gsubs using $~ gsubs using $~ replaces with numeric back-reference replaces with numeric back-reference replaces with named back-reference replaces with named back-reference replaces with incomplete back-reference (1) replaces with incomplete back-reference (1) replaces with incomplete back-reference (2) replaces with incomplete back-reference (2) replaces with incomplete back-reference (3) replaces with incomplete back-reference (3) raises with incomplete back-reference (1) raises with incomplete back-reference (1) raises with incomplete back-reference (2) raises with incomplete back-reference (2) replaces with back-reference to missing capture group replaces with back-reference to missing capture group replaces with escaped back-reference replaces with escaped back-reference ignores if backreferences: false ignores if backreferences: false scans using $~ scans using $~ #dump #dump #dump_unquoted #dump_unquoted #inspect #inspect #inspect_unquoted #inspect_unquoted does pretty_inspect does pretty_inspect does * does * + does for both ascii does for both ascii does for both unicode does for both unicode does with ascii char does with ascii char does with unicode char does with unicode char does when right is empty does when right is empty does when left is empty does when left is empty does % does % does % with floats does % with floats escapes chars escapes chars escapes with octal escapes with octal escapes with unicode escapes with unicode does char_at does char_at does byte_at does byte_at does byte_at? does byte_at? does chars does chars creating from a pointer allows creating a string with zeros allows creating a string with zeros raises an exception when creating a string with a null pointer and no size raises an exception when creating a string with a null pointer and no size raises when creating from a null pointer with a nonzero size raises when creating from a null pointer with a nonzero size doesn't raise creating from a null pointer with size 0 doesn't raise creating from a null pointer with size 0 creating from a slice allows creating from an empty slice allows creating from an empty slice tr translates translates given no replacement characters acts as #delete acts as #delete compare compares with == when same string compares with == when same string compares with == when different strings same contents compares with == when different strings same contents compares with == when different contents compares with == when different contents sorts strings sorts strings #underscore assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert with IO assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #camelcase assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert with IO assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert ascii_only? answers ascii_only? answers ascii_only? broken UTF-8 is not ascii_only broken UTF-8 is not ascii_only scan does without block does without block does with block does with block does with utf-8 does with utf-8 works when match is empty works when match is empty works with strings with block works with strings with block works with strings works with strings does with number and string does with number and string has match has match matches with position matches with position matches empty string matches empty string matches, but returns Bool matches, but returns Bool has size (same as size) has size (same as size) count assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert squeeze assert assert assert assert assert assert assert assert assert assert ljust assert assert assert assert assert assert assert assert to io assert assert assert assert assert assert assert assert rjust assert assert assert assert assert assert assert assert to io assert assert assert assert assert assert assert assert center assert assert assert assert assert assert assert assert to io assert assert assert assert assert assert assert assert succ returns an empty string for empty strings returns an empty string for empty strings returns the successor by increasing the rightmost alphanumeric (digit => digit, letter => letter with same case) returns the successor by increasing the rightmost alphanumeric (digit => digit, letter => letter with same case) increases non-alphanumerics (via ascii rules) if there are no alphanumerics increases non-alphanumerics (via ascii rules) if there are no alphanumerics increases the next best alphanumeric (jumping over non-alphanumerics) if there is a carry increases the next best alphanumeric (jumping over non-alphanumerics) if there is a carry adds an additional character (just left to the last increased one) if there is a carry and no character left to increase adds an additional character (just left to the last increased one) if there is a carry and no character left to increase uses sprintf from top-level uses sprintf from top-level formats floats (#1562) formats floats (#1562) does each_char does each_char does each_char_with_index does each_char_with_index does each_char_with_index, with offset does each_char_with_index, with offset "#each_char" yielding "#each_char" yielding "#each_char" iterator "#each_char" iterator "#each_char with empty string" yielding "#each_char with empty string" yielding "#each_char with empty string" iterator "#each_char with empty string" iterator "#each_byte" yielding "#each_byte" yielding "#each_byte" iterator "#each_byte" iterator gets lines gets lines gets lines with chomp = false gets lines with chomp = false gets each_line gets each_line gets each_line with chomp = false gets each_line with chomp = false "#each_line" yielding "#each_line" yielding "#each_line" iterator "#each_line" iterator "#each_line(chomp: false)" yielding "#each_line(chomp: false)" yielding "#each_line(chomp: false)" iterator "#each_line(chomp: false)" iterator "#each_codepoint" yielding "#each_codepoint" yielding "#each_codepoint" iterator "#each_codepoint" iterator has codepoints has codepoints gets size of \0 string gets size of \0 string char_index_to_byte_index with ascii with ascii with utf-8 with utf-8 byte_index_to_char_index with ascii with ascii with utf-8 with utf-8 % substitutes one placeholder substitutes one placeholder substitutes multiple placeholder substitutes multiple placeholder throws an error when the key is not found throws an error when the key is not found raises if expecting hash or named tuple but not given raises if expecting hash or named tuple but not given raises on unbalanced curly raises on unbalanced curly applies formatting to %<...> placeholder applies formatting to %<...> placeholder raises if string capacity is negative raises if string capacity is negative raises if capacity too big on new with UInt32::MAX raises if capacity too big on new with UInt32::MAX raises if capacity too big on new with UInt32::MAX - String::HEADER_SIZE - 1 raises if capacity too big on new with UInt32::MAX - String::HEADER_SIZE - 1 raises if capacity too big on new with UInt64::MAX raises if capacity too big on new with UInt64::MAX compare compares case-sensitive compares case-sensitive compares case-insensitive compares case-insensitive builds with write_byte builds with write_byte raises if String.build negative capacity raises if String.build negative capacity raises if String.build capacity too big raises if String.build capacity too big encode encodes encodes raises if wrong encoding raises if wrong encoding raises if wrong encoding with skip raises if wrong encoding with skip raises if illegal byte sequence raises if illegal byte sequence doesn't raise on invalid byte sequence doesn't raise on invalid byte sequence raises if incomplete byte sequence raises if incomplete byte sequence doesn't raise if incomplete byte sequence doesn't raise if incomplete byte sequence decodes decodes decodes with skip decodes with skip inserts inserts hexbytes hexbytes hexbytes? hexbytes? dups dups clones clones allocates buffer of correct size when UInt8 is given to new (#3332) allocates buffer of correct size when UInt8 is given to new (#3332) raises on String.new if returned bytesize is greater than capacity raises on String.new if returned bytesize is greater than capacity invalid UTF-8 byte sequence gets size gets size gets size (2) gets size (2) gets chars gets chars gets chars (2) gets chars (2) valid_encoding? valid_encoding? scrubs scrubs interpolation of a single string of a single string of a single non-string of a single non-string of string and char of string and char of char and string of char and string of multiple strings of multiple strings of multiple possibly non-strings of multiple possibly non-strings delete_at char assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert start, count assert assert assert assert assert assert assert assert assert assert assert assert assert assert raises on negative count raises on negative count assert assert assert assert assert assert assert assert assert assert assert assert assert assert raises on negative count raises on negative count range assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert Struct does to_s does to_s does == does == does hash does hash does hash for struct wrapper (#1940) does hash for struct wrapper (#1940) does dup does dup clones with def_clone clones with def_clone should retrieve multiple descendants from hashed data structure should retrieve multiple descendants from hashed data structure Symbol inspects inspects can be compared with another symbol can be compared with another symbol displays symbols that don't need quotes without quotes displays symbols that don't need quotes without quotes displays the empty symbol with quotes displays the empty symbol with quotes clone assert assert SystemError .from_os_error Can build an error from an errno Can build an error from an errno System hostname returns current hostname returns current hostname cpu_count returns current CPU count returns current CPU count Tuple does size does size checks empty? checks empty? does [] does [] does [] raises index out of bounds does [] raises index out of bounds does []? does []? does at does at values_at returns the given indexes returns the given indexes raises when passed an invalid index raises when passed an invalid index works with mixed types works with mixed types does == does == does == with different types but same size does == with different types but same size does == with another type does == with another type does compare does compare does compare with different sizes does compare with different sizes does to_s does to_s does each does each does dup does dup does clone does clone does Tuple.new, without type vars does Tuple.new, without type vars does Tuple.new, with type vars does Tuple.new, with type vars does Tuple.from does Tuple.from does Tuple#from does Tuple#from clones empty tuple clones empty tuple "#each" yielding "#each" yielding "#each" iterator "#each" iterator does map does map does map_with_index does map_with_index does map_with_index, with offset does map_with_index, with offset does reverse does reverse "#reverse_each" yielding "#reverse_each" yielding "#reverse_each" iterator "#reverse_each" iterator gets first element gets first element gets first? element gets first? element gets last element gets last element gets last? element gets last? element does comparison does comparison does <=> for equality does <=> for equality does <=> with the same beginning and different size does <=> with the same beginning and different size does types does types does === does === does to_a does to_a UInt compares with <=> compares with <=> &- returns the wrapped negation returns the wrapped negation URI .parse `http:` `http:` assert assert `http://www.example.com` `http://www.example.com` `http://www.foo-bar.example.com` `http://www.foo-bar.example.com` `http://www.example.com:81` `http://www.example.com:81` `http://[::1]:81` `http://[::1]:81` `http://192.0.2.16:81` `http://192.0.2.16:81` assert assert `http://[fe80::1%25en0]:8080/` `http://[fe80::1%25en0]:8080/` `mysql://a,b,c/bar` `mysql://a,b,c/bar` `scheme://!$&'()*+,;=hello!:12/path` `scheme://!$&'()*+,;=hello!:12/path` assert assert `tcp://[2020::2020:20:2020:2020%25Windows%20Loves%20Spaces]:2020` `tcp://[2020::2020:20:2020:2020%25Windows%20Loves%20Spaces]:2020` `http://www.example.com/` `http://www.example.com/` `http://www.example.com:81/` `http://www.example.com:81/` `http://[::1]:81/` `http://[::1]:81/` `http://192.0.2.16:81/` `http://192.0.2.16:81/` assert assert `http://www.example.com/foo` `http://www.example.com/foo` `http:.` `http:.` `http:..` `http:..` `http://host/!$&'()*+,;=:@[hello]` `http://host/!$&'()*+,;=:@[hello]` `http://example.com//foo` `http://example.com//foo` `///foo` `///foo` `http://www.example.com/foo?q=1` `http://www.example.com/foo?q=1` `http://www.example.com/foo?` `http://www.example.com/foo?` `?q=1` `?q=1` `?q=1?` `?q=1?` `?a+b=c%2Bd` `?a+b=c%2Bd` `?query=http://example.com` `?query=http://example.com` `https://alice:pa55w0rd@www.example.com` `https://alice:pa55w0rd@www.example.com` `https://alice@www.example.com` `https://alice@www.example.com` `https://alice:@www.example.com` `https://alice:@www.example.com` `https://%3AD:%40_%40@www.example.com` `https://%3AD:%40_%40@www.example.com` unescaped @ in user/password should not confuse host unescaped @ in user/password should not confuse host `https://www.example.com/#top` `https://www.example.com/#top` `/foo` `/foo` `/foo?q=1` `/foo?q=1` `//foo` `//foo` `//user@foo/path?q=b` `//user@foo/path?q=b` `mailto:foo@example.org` `mailto:foo@example.org` `news:comp.infosystems.www.servers.unix` `news:comp.infosystems.www.servers.unix` `tel:+1-816-555-1212` `tel:+1-816-555-1212` `urn:oasis:names:specification:docbook:dtd:xml:4.1.2` `urn:oasis:names:specification:docbook:dtd:xml:4.1.2` `telnet://192.0.2.16:80/` `telnet://192.0.2.16:80/` `ldap://[2001:db8::7]/c=GB?objectClass?one` `ldap://[2001:db8::7]/c=GB?objectClass?one` `magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a&dn` `magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a&dn` `http:example.com/?q=foo` `http:example.com/?q=foo` `http:` `http:` `http:?` `http:?` `http:?#` `http:?#` `http:#` `http:#` `http://` `http://` `http://?` `http://?` `http://?#` `http://?#` `http://#` `http://#` `http://:8000` `http://:8000` `http://:8000/foo` `http://:8000/foo` `http://user@` `http://user@` `http://user@/foo` `http://user@/foo` `foo/another@url/[]and{}` `foo/another@url/[]and{}` `http://user:pass@bitfission.com:8080/path?a=b#frag` `http://user:pass@bitfission.com:8080/path?a=b#frag` `//user:pass@bitfission.com:8080/path?a=b#frag` `//user:pass@bitfission.com:8080/path?a=b#frag` `/path?a=b#frag` `/path?a=b#frag` `file://localhost/etc/fstab` `file://localhost/etc/fstab` `file:///etc/fstab` `file:///etc/fstab` `file:///C:/FooBar/Baz.txt` `file:///C:/FooBar/Baz.txt` `test:/test` `test:/test` bad urls assert assert .new with query params with query params #hostname assert assert assert assert assert assert #authority assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #request_target assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert does not add '?' to the end if the query params are empty does not add '?' to the end if the query params are empty #absolute? assert assert assert assert assert assert assert assert assert assert assert assert #relative? assert assert #normalize doesn't modify instance doesn't modify instance normalizes scheme normalizes scheme normalizes host normalizes host removes default port removes default port removes dot notation from path removes dot notation from path prefixes relative path with colon with `./` prefixes relative path with colon with `./` #normalize! modifies the instance modifies the instance #opaque? assert assert assert assert assert assert assert assert assert assert assert assert #userinfo assert assert assert assert assert assert assert assert #to_s assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert preserves non-default port preserves non-default port preserves port for unknown scheme preserves port for unknown scheme preserves port for nil scheme preserves port for nil scheme #query_params when there is no query parameters returns an empty instance of URI::Params returns an empty instance of URI::Params returns a URI::Params instance based on the query parameters returns a URI::Params instance based on the query parameters #query_params= empty empty params with values params with values #== assert assert #hash assert assert .default_port returns default port for well known schemes returns default port for well known schemes returns nil for unknown schemes returns nil for unknown schemes treats scheme case insensitively treats scheme case insensitively .set_default_port registers port for scheme registers port for scheme unregisters port for scheme unregisters port for scheme treats scheme case insensitively treats scheme case insensitively .decode decodes "hello" decodes "hello" decodes "hello%20world" decodes "hello%20world" decodes "hello+world" decodes "hello+world" decodes "hello%" decodes "hello%" decodes "hello%2" decodes "hello%2" decodes "hello%2B" decodes "hello%2B" decodes "hello%2Bworld" decodes "hello%2Bworld" decodes "hello%2%2Bworld" decodes "hello%2%2Bworld" decodes "%E3%81%AA%E3%81%AA" decodes "%E3%81%AA%E3%81%AA" decodes "%e3%81%aa%e3%81%aa" decodes "%e3%81%aa%e3%81%aa" decodes "%27Stop%21%27+said+Fred" decodes "%27Stop%21%27+said+Fred" decodes "hello+world" decodes "hello+world" decodes "+%2B %20" decodes "+%2B %20" does not decode string when block returns true does not decode string when block returns true .encode_path_segment .encode_path_segment .encode_path .encode_path .encode encodes "hello" encodes "hello" encodes "hello world" encodes "hello world" encodes "hello%" encodes "hello%" encodes "hello%2" encodes "hello%2" encodes "hello+" encodes "hello+" encodes "hello+world" encodes "hello+world" encodes "hello%2+world" encodes "hello%2+world" encodes "なな" encodes "なな" encodes "'Stop!' said Fred" encodes "'Stop!' said Fred" encodes "\n" encodes "\n" encodes "https://en.wikipedia.org/wiki/Crystal (programming language)" encodes "https://en.wikipedia.org/wiki/Crystal (programming language)" encodes "\xFF" encodes "\xFF" encodes "hello world" encodes "hello world" encodes "'Stop!' said Fred" encodes "'Stop!' said Fred" does not encode character when block returns true does not encode character when block returns true .encode_www_form encodes "" encodes "" encodes "abc" encodes "abc" encodes "1%41" encodes "1%41" encodes "a b+" encodes "a b+" encodes "a b+" encodes "a b+" encodes "10%" encodes "10%" encodes " ?&=#+%!<>#\"{}|\\^[]`☺\t:/@$'()*,;" encodes " ?&=#+%!<>#\"{}|\\^[]`☺\t:/@$'()*,;" encodes "* foo=bar baz&hello/" encodes "* foo=bar baz&hello/" .decode_www_form decodes "" decodes "" decodes "abc" decodes "abc" decodes "1%41" decodes "1%41" decodes "1%41%42%43" decodes "1%41%42%43" decodes "%4a" decodes "%4a" encodes "hello+" encodes "hello+" encodes "hello+world" encodes "hello+world" encodes "hello%2+world" encodes "hello%2+world" encodes "'Stop!' said Fred" encodes "'Stop!' said Fred" decodes "a+b" decodes "a+b" decodes "a%20b" decodes "a%20b" decodes "%20%3F%26%3D%23%2B%25%21%3C%3E%23%22%7B%7D%7C%5C%5E%5B%5D%60%E2%98%BA%09%3A%2F%40%24%27%28%29%2A%2C%3B" decodes "%20%3F%26%3D%23%2B%25%21%3C%3E%23%22%7B%7D%7C%5C%5E%5B%5D%60%E2%98%BA%09%3A%2F%40%24%27%28%29%2A%2C%3B" decodes "+%2B %20" decodes "+%2B %20" decodes "%" decodes "%" decodes "%1" decodes "%1" decodes "123%45%6" decodes "123%45%6" decodes "%zzzzz" decodes "%zzzzz" .reserved? .reserved? .unreserved? .unreserved? #resolve absolute URI references absolute URI references path-absolute URI references path-absolute URI references multiple slashes multiple slashes scheme-relative scheme-relative path relative references path relative references removes dot-segments removes dot-segments ... ... fragment fragment encoded characters encoded characters RFC 3986: 5.4.1. Normal Examples RFC 3986: 5.4.1. Normal Examples RFC 3986: 5.4.2. Abnormal Examples RFC 3986: 5.4.2. Abnormal Examples Extras Extras relative base relative base opaque URIs opaque URIs #relativize absolute URI references absolute URI references path relative references path relative references identical identical ignore base path with dot-segments ignore base path with dot-segments ... ... fragment fragment encoded characters encoded characters RFC 3986: 5.4.1. Normal Examples RFC 3986: 5.4.1. Normal Examples RFC 3986: 5.4.2. Abnormal Examples RFC 3986: 5.4.2. Abnormal Examples relative base relative base opaque base opaque base .unwrap_ipv6 .unwrap_ipv6 .from_json .from_json #to_json #to_json .from_yaml .from_yaml #to_yaml #to_yaml UUID random initialize works with no options works with no options does inspect does inspect works with variant works with variant works with version works with version initialize from static array works with static array only works with static array only works with static array and variant works with static array and variant works with static array and version works with static array and version works with static array, variant and version works with static array, variant and version initializes with slice initializes with slice initialize with String works with string only works with string only works with string and variant works with string and variant works with string and version works with string and version can be built from strings can be built from strings initializes from UUID initializes from UUID initializes zeroed UUID initializes zeroed UUID supports different string formats normal output normal output hexstring hexstring urn urn fails on invalid arguments when creating fails on invalid arguments when creating v4? returns true if UUID is v4, false otherwise returns true if UUID is v4, false otherwise v4! returns true if UUID is v4, raises otherwise returns true if UUID is v4, raises otherwise VaList works with C code works with C code WeakRef(T) should get dereferenced object should get dereferenced object should get dereferenced object in data section should get dereferenced object in data section should not crash with object in data section during GC should not crash with object in data section during GC State counts released objects State counts released objects Referenced object should not be released Referenced object should not be released Weak referenced object should be released if no other reference Weak referenced object should be released if no other reference WinError .value .value .wsa_value .wsa_value #message #message BigDecimal initializes from valid input initializes from valid input raises InvalidBigDecimalException when initializing from invalid input raises InvalidBigDecimalException when initializing from invalid input performs arithmetic with bigdecimals performs arithmetic with bigdecimals performs arithmetic with other number types performs arithmetic with other number types exponentiates exponentiates exponentiates with negative powers exponentiates with negative powers can be converted from other types can be converted from other types can be converted from scientific notation can be converted from scientific notation is comparable with other types is comparable with other types keeps precision keeps precision converts to string converts to string converts to other number types converts to other number types hashes hashes upkeeps hashing invariant upkeeps hashing invariant can normalize quotient can normalize quotient #ceil assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #floor assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #trunc assert assert assert assert assert assert assert assert assert assert assert assert #round rounding modes to_zero to_zero to_positive to_positive to_negative to_negative ties_even ties_even ties_away ties_away default (=ties_even) default (=ties_even) with digits to_zero to_zero to_positive to_positive to_negative to_negative ties_away ties_away ties_even ties_even #inspect assert assert BigFloat .new new(String) new(String) raises an ArgumentError unless string denotes valid float raises an ArgumentError unless string denotes valid float new(BigInt) new(BigInt) new(BigRational) new(BigRational) new(BigFloat) new(BigFloat) new(Int) new(Int) unary #- assert assert assert assert assert assert #+ assert assert assert assert assert assert assert assert #- assert assert assert assert assert assert assert assert #* assert assert assert assert assert assert assert assert #/ assert assert assert assert assert assert assert assert assert assert assert assert #// assert assert assert assert assert assert assert assert assert assert assert assert assert assert #** assert assert assert assert #abs assert assert assert assert assert assert assert assert #ceil assert assert assert assert assert assert #floor assert assert assert assert assert assert #trunc assert assert assert assert assert assert #to_f assert assert assert assert assert assert #to_f! assert assert assert assert assert assert #to_i assert assert assert assert assert assert #to_i! assert assert assert assert assert assert #to_i64 basic basic assert assert assert assert assert assert #to_i64! basic basic doesn't raise on overflow doesn't raise on overflow #to_u assert assert assert assert assert assert assert assert #to_u! assert assert assert assert assert assert #to_u64 basic basic assert assert assert assert assert assert #to_u64! basic basic doesn't raise on overflow doesn't raise on overflow #to_s assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert #inspect assert assert #round rounding modes to_zero to_zero to_positive to_positive to_negative to_negative ties_even ties_even ties_away ties_away default (=ties_even) default (=ties_even) #hash #hash clones clones BigFloat Math .frexp .frexp .sqrt .sqrt BigInt creates with a value of zero creates with a value of zero creates from signed ints creates from signed ints creates from unsigned ints creates from unsigned ints creates from string creates from string raises if creates from string but invalid raises if creates from string but invalid creates from float creates from float compares compares compares against float compares against float divides and calculates the modulo divides and calculates the modulo adds adds subs subs negates negates multiplies multiplies gets absolute value gets absolute value gets factorial value gets factorial value raises if factorial of negative raises if factorial of negative raises if factorial of 2^64 raises if factorial of 2^64 divides divides divides divides divides with negative numbers divides with negative numbers divides with negative numbers divides with negative numbers tdivs tdivs does modulo does modulo does modulo with negative numbers does modulo with negative numbers does remainder with negative numbers does remainder with negative numbers does bitwise and does bitwise and does bitwise or does bitwise or does bitwise xor does bitwise xor does bitwise not does bitwise not does bitwise right shift does bitwise right shift does bitwise left shift does bitwise left shift raises if divides by zero raises if divides by zero raises if divides by zero raises if divides by zero raises if mods by zero raises if mods by zero exponentiates exponentiates #to_s base and upcase parameters assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert raises on base 1 raises on base 1 raises on base 37 raises on base 37 raises on base 62 with upcase raises on base 62 with upcase precision parameter assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert does to_big_f does to_big_f #inspect assert assert does gcd and lcm does gcd and lcm can use Number::[] can use Number::[] can be casted into other Number types can be casted into other Number types conversion to 64-bit above 64 bits above 64 bits between 63 and 64 bits between 63 and 64 bits between 32 and 63 bits between 32 and 63 bits negative under 32 bits negative under 32 bits negative between 32 and 63 bits negative between 32 and 63 bits negative between 63 and 64 bits negative between 63 and 64 bits negative above 64 bits negative above 64 bits can cast UInt64::MAX to UInt64 (#2264) can cast UInt64::MAX to UInt64 (#2264) does String#to_big_i does String#to_big_i does popcount does popcount #trailing_zeros_count #trailing_zeros_count #hash #hash clones clones #humanize_bytes assert assert assert assert has unsafe_shr (#8691) has unsafe_shr (#8691) #digits works for positive numbers or zero works for positive numbers or zero works with a base works with a base raises for invalid base raises for invalid base raises for negative numbers raises for negative numbers BigInt Math sqrt sqrt isqrt isqrt BigRational initialize initialize #numerator #numerator #denominator #denominator #to_s #to_s #to_f64 #to_f64 #to_f64! #to_f64! #to_f #to_f #to_f! #to_f! #to_f32 #to_f32 #to_f32! #to_f32! #to_big_f #to_big_f Int#to_big_r Int#to_big_r Float32#to_big_r Float32#to_big_r Float64#to_big_r Float64#to_big_r BigDecimal#to_big_r BigDecimal#to_big_r #<=>(:BigRational) and Comparable #<=>(:BigRational) and Comparable #<=>(:Int) and Comparable #<=>(:Int) and Comparable #<=>(:BigInt) and Comparable #<=>(:BigInt) and Comparable #<=>(:Float) and Comparable #<=>(:Float) and Comparable #+ #+ #- #- #* #* #/ #/ #// #// #- (negation) #- (negation) #inv #inv #abs #abs #<< #<< #>> #>> #** exponentiates with positive powers exponentiates with positive powers exponentiates with negative powers exponentiates with negative powers cannot raise 0 to a negative power cannot raise 0 to a negative power #ceil #ceil #floor #floor #trunc #trunc #hash #hash is a number is a number clones clones #inspect assert assert BigRational Math sqrt sqrt Big* as numbers initialize from value to BigInt initialize from value to BigInt initialize from value to BigFloat initialize from value to BigFloat initialize from value to BigDecimal initialize from value to BigDecimal initialize from value to BigRational initialize from value to BigRational converts from BigInt to BigInt converts from BigInt to BigInt converts from BigInt to BigInt converts from BigInt to BigInt converts from BigInt to BigFloat converts from BigInt to BigFloat converts from BigFloat to BigInt converts from BigFloat to BigInt converts from BigInt to BigDecimal converts from BigInt to BigDecimal converts from BigDecimal to BigInt converts from BigDecimal to BigInt converts from BigInt to BigRational converts from BigInt to BigRational converts from BigRational to BigInt converts from BigRational to BigInt converts from BigFloat to BigInt converts from BigFloat to BigInt converts from BigInt to BigFloat converts from BigInt to BigFloat converts from BigFloat to BigFloat converts from BigFloat to BigFloat converts from BigFloat to BigFloat converts from BigFloat to BigFloat converts from BigFloat to BigDecimal converts from BigFloat to BigDecimal converts from BigDecimal to BigFloat converts from BigDecimal to BigFloat converts from BigFloat to BigRational converts from BigFloat to BigRational converts from BigRational to BigFloat converts from BigRational to BigFloat converts from BigDecimal to BigInt converts from BigDecimal to BigInt converts from BigInt to BigDecimal converts from BigInt to BigDecimal converts from BigDecimal to BigFloat converts from BigDecimal to BigFloat converts from BigFloat to BigDecimal converts from BigFloat to BigDecimal converts from BigDecimal to BigDecimal converts from BigDecimal to BigDecimal converts from BigDecimal to BigDecimal converts from BigDecimal to BigDecimal converts from BigDecimal to BigRational converts from BigDecimal to BigRational converts from BigRational to BigDecimal converts from BigRational to BigDecimal converts from BigRational to BigInt converts from BigRational to BigInt converts from BigInt to BigRational converts from BigInt to BigRational converts from BigRational to BigFloat converts from BigRational to BigFloat converts from BigFloat to BigRational converts from BigFloat to BigRational converts from BigRational to BigDecimal converts from BigRational to BigDecimal converts from BigDecimal to BigRational converts from BigDecimal to BigRational converts from BigRational to BigRational converts from BigRational to BigRational converts from BigRational to BigRational converts from BigRational to BigRational converts from Int8 to BigInt converts from Int8 to BigInt converts from BigInt to Int8 converts from BigInt to Int8 converts from Int8 to BigFloat converts from Int8 to BigFloat converts from BigFloat to Int8 converts from BigFloat to Int8 converts from Int8 to BigDecimal converts from Int8 to BigDecimal converts from BigDecimal to Int8 converts from BigDecimal to Int8 converts from Int8 to BigRational converts from Int8 to BigRational converts from BigRational to Int8 converts from BigRational to Int8 converts from UInt8 to BigInt converts from UInt8 to BigInt converts from BigInt to UInt8 converts from BigInt to UInt8 converts from UInt8 to BigFloat converts from UInt8 to BigFloat converts from BigFloat to UInt8 converts from BigFloat to UInt8 converts from UInt8 to BigDecimal converts from UInt8 to BigDecimal converts from BigDecimal to UInt8 converts from BigDecimal to UInt8 converts from UInt8 to BigRational converts from UInt8 to BigRational converts from BigRational to UInt8 converts from BigRational to UInt8 converts from Int16 to BigInt converts from Int16 to BigInt converts from BigInt to Int16 converts from BigInt to Int16 converts from Int16 to BigFloat converts from Int16 to BigFloat converts from BigFloat to Int16 converts from BigFloat to Int16 converts from Int16 to BigDecimal converts from Int16 to BigDecimal converts from BigDecimal to Int16 converts from BigDecimal to Int16 converts from Int16 to BigRational converts from Int16 to BigRational converts from BigRational to Int16 converts from BigRational to Int16 converts from UInt16 to BigInt converts from UInt16 to BigInt converts from BigInt to UInt16 converts from BigInt to UInt16 converts from UInt16 to BigFloat converts from UInt16 to BigFloat converts from BigFloat to UInt16 converts from BigFloat to UInt16 converts from UInt16 to BigDecimal converts from UInt16 to BigDecimal converts from BigDecimal to UInt16 converts from BigDecimal to UInt16 converts from UInt16 to BigRational converts from UInt16 to BigRational converts from BigRational to UInt16 converts from BigRational to UInt16 converts from Int32 to BigInt converts from Int32 to BigInt converts from BigInt to Int32 converts from BigInt to Int32 converts from Int32 to BigFloat converts from Int32 to BigFloat converts from BigFloat to Int32 converts from BigFloat to Int32 converts from Int32 to BigDecimal converts from Int32 to BigDecimal converts from BigDecimal to Int32 converts from BigDecimal to Int32 converts from Int32 to BigRational converts from Int32 to BigRational converts from BigRational to Int32 converts from BigRational to Int32 converts from UInt32 to BigInt converts from UInt32 to BigInt converts from BigInt to UInt32 converts from BigInt to UInt32 converts from UInt32 to BigFloat converts from UInt32 to BigFloat converts from BigFloat to UInt32 converts from BigFloat to UInt32 converts from UInt32 to BigDecimal converts from UInt32 to BigDecimal converts from BigDecimal to UInt32 converts from BigDecimal to UInt32 converts from UInt32 to BigRational converts from UInt32 to BigRational converts from BigRational to UInt32 converts from BigRational to UInt32 converts from Int64 to BigInt converts from Int64 to BigInt converts from BigInt to Int64 converts from BigInt to Int64 converts from Int64 to BigFloat converts from Int64 to BigFloat converts from BigFloat to Int64 converts from BigFloat to Int64 converts from Int64 to BigDecimal converts from Int64 to BigDecimal converts from BigDecimal to Int64 converts from BigDecimal to Int64 converts from Int64 to BigRational converts from Int64 to BigRational converts from BigRational to Int64 converts from BigRational to Int64 converts from UInt64 to BigInt converts from UInt64 to BigInt converts from BigInt to UInt64 converts from BigInt to UInt64 converts from UInt64 to BigFloat converts from UInt64 to BigFloat converts from BigFloat to UInt64 converts from BigFloat to UInt64 converts from UInt64 to BigDecimal converts from UInt64 to BigDecimal converts from BigDecimal to UInt64 converts from BigDecimal to UInt64 converts from UInt64 to BigRational converts from UInt64 to BigRational converts from BigRational to UInt64 converts from BigRational to UInt64 converts from Float32 to BigInt converts from Float32 to BigInt converts from BigInt to Float32 converts from BigInt to Float32 converts from Float32 to BigFloat converts from Float32 to BigFloat converts from BigFloat to Float32 converts from BigFloat to Float32 converts from Float32 to BigDecimal converts from Float32 to BigDecimal converts from BigDecimal to Float32 converts from BigDecimal to Float32 converts from Float32 to BigRational converts from Float32 to BigRational converts from BigRational to Float32 converts from BigRational to Float32 converts from Float64 to BigInt converts from Float64 to BigInt converts from BigInt to Float64 converts from BigInt to Float64 converts from Float64 to BigFloat converts from Float64 to BigFloat converts from BigFloat to Float64 converts from BigFloat to Float64 converts from Float64 to BigDecimal converts from Float64 to BigDecimal converts from BigDecimal to Float64 converts from BigDecimal to Float64 converts from Float64 to BigRational converts from Float64 to BigRational converts from BigRational to Float64 converts from BigRational to Float64 converts from BigInt to Int8 converts from BigInt to Int8 converts from Int8 to BigInt converts from Int8 to BigInt converts from BigInt to UInt8 converts from BigInt to UInt8 converts from UInt8 to BigInt converts from UInt8 to BigInt converts from BigInt to Int16 converts from BigInt to Int16 converts from Int16 to BigInt converts from Int16 to BigInt converts from BigInt to UInt16 converts from BigInt to UInt16 converts from UInt16 to BigInt converts from UInt16 to BigInt converts from BigInt to Int32 converts from BigInt to Int32 converts from Int32 to BigInt converts from Int32 to BigInt converts from BigInt to UInt32 converts from BigInt to UInt32 converts from UInt32 to BigInt converts from UInt32 to BigInt converts from BigInt to Int64 converts from BigInt to Int64 converts from Int64 to BigInt converts from Int64 to BigInt converts from BigInt to UInt64 converts from BigInt to UInt64 converts from UInt64 to BigInt converts from UInt64 to BigInt converts from BigInt to Float32 converts from BigInt to Float32 converts from Float32 to BigInt converts from Float32 to BigInt converts from BigInt to Float64 converts from BigInt to Float64 converts from Float64 to BigInt converts from Float64 to BigInt converts from BigFloat to Int8 converts from BigFloat to Int8 converts from Int8 to BigFloat converts from Int8 to BigFloat converts from BigFloat to UInt8 converts from BigFloat to UInt8 converts from UInt8 to BigFloat converts from UInt8 to BigFloat converts from BigFloat to Int16 converts from BigFloat to Int16 converts from Int16 to BigFloat converts from Int16 to BigFloat converts from BigFloat to UInt16 converts from BigFloat to UInt16 converts from UInt16 to BigFloat converts from UInt16 to BigFloat converts from BigFloat to Int32 converts from BigFloat to Int32 converts from Int32 to BigFloat converts from Int32 to BigFloat converts from BigFloat to UInt32 converts from BigFloat to UInt32 converts from UInt32 to BigFloat converts from UInt32 to BigFloat converts from BigFloat to Int64 converts from BigFloat to Int64 converts from Int64 to BigFloat converts from Int64 to BigFloat converts from BigFloat to UInt64 converts from BigFloat to UInt64 converts from UInt64 to BigFloat converts from UInt64 to BigFloat converts from BigFloat to Float32 converts from BigFloat to Float32 converts from Float32 to BigFloat converts from Float32 to BigFloat converts from BigFloat to Float64 converts from BigFloat to Float64 converts from Float64 to BigFloat converts from Float64 to BigFloat converts from BigDecimal to Int8 converts from BigDecimal to Int8 converts from Int8 to BigDecimal converts from Int8 to BigDecimal converts from BigDecimal to UInt8 converts from BigDecimal to UInt8 converts from UInt8 to BigDecimal converts from UInt8 to BigDecimal converts from BigDecimal to Int16 converts from BigDecimal to Int16 converts from Int16 to BigDecimal converts from Int16 to BigDecimal converts from BigDecimal to UInt16 converts from BigDecimal to UInt16 converts from UInt16 to BigDecimal converts from UInt16 to BigDecimal converts from BigDecimal to Int32 converts from BigDecimal to Int32 converts from Int32 to BigDecimal converts from Int32 to BigDecimal converts from BigDecimal to UInt32 converts from BigDecimal to UInt32 converts from UInt32 to BigDecimal converts from UInt32 to BigDecimal converts from BigDecimal to Int64 converts from BigDecimal to Int64 converts from Int64 to BigDecimal converts from Int64 to BigDecimal converts from BigDecimal to UInt64 converts from BigDecimal to UInt64 converts from UInt64 to BigDecimal converts from UInt64 to BigDecimal converts from BigDecimal to Float32 converts from BigDecimal to Float32 converts from Float32 to BigDecimal converts from Float32 to BigDecimal converts from BigDecimal to Float64 converts from BigDecimal to Float64 converts from Float64 to BigDecimal converts from Float64 to BigDecimal converts from BigRational to Int8 converts from BigRational to Int8 converts from Int8 to BigRational converts from Int8 to BigRational converts from BigRational to UInt8 converts from BigRational to UInt8 converts from UInt8 to BigRational converts from UInt8 to BigRational converts from BigRational to Int16 converts from BigRational to Int16 converts from Int16 to BigRational converts from Int16 to BigRational converts from BigRational to UInt16 converts from BigRational to UInt16 converts from UInt16 to BigRational converts from UInt16 to BigRational converts from BigRational to Int32 converts from BigRational to Int32 converts from Int32 to BigRational converts from Int32 to BigRational converts from BigRational to UInt32 converts from BigRational to UInt32 converts from UInt32 to BigRational converts from UInt32 to BigRational converts from BigRational to Int64 converts from BigRational to Int64 converts from Int64 to BigRational converts from Int64 to BigRational converts from BigRational to UInt64 converts from BigRational to UInt64 converts from UInt64 to BigRational converts from UInt64 to BigRational converts from BigRational to Float32 converts from BigRational to Float32 converts from Float32 to BigRational converts from Float32 to BigRational converts from BigRational to Float64 converts from BigRational to Float64 converts from Float64 to BigRational converts from Float64 to BigRational floor_division BigInt // BigInt returns BigInt floor_division BigInt // BigInt returns BigInt floor_division BigInt // BigFloat returns BigInt floor_division BigInt // BigFloat returns BigInt floor_division BigInt // BigDecimal returns BigInt floor_division BigInt // BigDecimal returns BigInt floor_division BigInt // BigRational returns BigInt floor_division BigInt // BigRational returns BigInt floor_division BigFloat // BigInt returns BigFloat floor_division BigFloat // BigInt returns BigFloat floor_division BigFloat // BigFloat returns BigFloat floor_division BigFloat // BigFloat returns BigFloat floor_division BigFloat // BigDecimal returns BigFloat floor_division BigFloat // BigDecimal returns BigFloat floor_division BigFloat // BigRational returns BigFloat floor_division BigFloat // BigRational returns BigFloat floor_division BigDecimal // BigInt returns BigDecimal floor_division BigDecimal // BigInt returns BigDecimal floor_division BigDecimal // BigFloat returns BigDecimal floor_division BigDecimal // BigFloat returns BigDecimal floor_division BigDecimal // BigDecimal returns BigDecimal floor_division BigDecimal // BigDecimal returns BigDecimal floor_division BigDecimal // BigRational returns BigDecimal floor_division BigDecimal // BigRational returns BigDecimal floor_division BigRational // BigInt returns BigRational floor_division BigRational // BigInt returns BigRational floor_division BigRational // BigFloat returns BigRational floor_division BigRational // BigFloat returns BigRational floor_division BigRational // BigDecimal returns BigRational floor_division BigRational // BigDecimal returns BigRational floor_division BigRational // BigRational returns BigRational floor_division BigRational // BigRational returns BigRational floor_division Int8 // BigInt returns Int8 floor_division Int8 // BigInt returns Int8 floor_division Int8 // BigFloat returns Int8 floor_division Int8 // BigFloat returns Int8 floor_division Int8 // BigDecimal returns Int8 floor_division Int8 // BigDecimal returns Int8 floor_division Int8 // BigRational returns Int8 floor_division Int8 // BigRational returns Int8 floor_division UInt8 // BigInt returns UInt8 floor_division UInt8 // BigInt returns UInt8 floor_division UInt8 // BigFloat returns UInt8 floor_division UInt8 // BigFloat returns UInt8 floor_division UInt8 // BigDecimal returns UInt8 floor_division UInt8 // BigDecimal returns UInt8 floor_division UInt8 // BigRational returns UInt8 floor_division UInt8 // BigRational returns UInt8 floor_division Int16 // BigInt returns Int16 floor_division Int16 // BigInt returns Int16 floor_division Int16 // BigFloat returns Int16 floor_division Int16 // BigFloat returns Int16 floor_division Int16 // BigDecimal returns Int16 floor_division Int16 // BigDecimal returns Int16 floor_division Int16 // BigRational returns Int16 floor_division Int16 // BigRational returns Int16 floor_division UInt16 // BigInt returns UInt16 floor_division UInt16 // BigInt returns UInt16 floor_division UInt16 // BigFloat returns UInt16 floor_division UInt16 // BigFloat returns UInt16 floor_division UInt16 // BigDecimal returns UInt16 floor_division UInt16 // BigDecimal returns UInt16 floor_division UInt16 // BigRational returns UInt16 floor_division UInt16 // BigRational returns UInt16 floor_division Int32 // BigInt returns Int32 floor_division Int32 // BigInt returns Int32 floor_division Int32 // BigFloat returns Int32 floor_division Int32 // BigFloat returns Int32 floor_division Int32 // BigDecimal returns Int32 floor_division Int32 // BigDecimal returns Int32 floor_division Int32 // BigRational returns Int32 floor_division Int32 // BigRational returns Int32 floor_division UInt32 // BigInt returns UInt32 floor_division UInt32 // BigInt returns UInt32 floor_division UInt32 // BigFloat returns UInt32 floor_division UInt32 // BigFloat returns UInt32 floor_division UInt32 // BigDecimal returns UInt32 floor_division UInt32 // BigDecimal returns UInt32 floor_division UInt32 // BigRational returns UInt32 floor_division UInt32 // BigRational returns UInt32 floor_division Int64 // BigInt returns Int64 floor_division Int64 // BigInt returns Int64 floor_division Int64 // BigFloat returns Int64 floor_division Int64 // BigFloat returns Int64 floor_division Int64 // BigDecimal returns Int64 floor_division Int64 // BigDecimal returns Int64 floor_division Int64 // BigRational returns Int64 floor_division Int64 // BigRational returns Int64 floor_division UInt64 // BigInt returns UInt64 floor_division UInt64 // BigInt returns UInt64 floor_division UInt64 // BigFloat returns UInt64 floor_division UInt64 // BigFloat returns UInt64 floor_division UInt64 // BigDecimal returns UInt64 floor_division UInt64 // BigDecimal returns UInt64 floor_division UInt64 // BigRational returns UInt64 floor_division UInt64 // BigRational returns UInt64 floor_division Float32 // BigInt returns Float32 floor_division Float32 // BigInt returns Float32 floor_division Float32 // BigFloat returns Float32 floor_division Float32 // BigFloat returns Float32 floor_division Float32 // BigDecimal returns Float32 floor_division Float32 // BigDecimal returns Float32 floor_division Float32 // BigRational returns Float32 floor_division Float32 // BigRational returns Float32 floor_division Float64 // BigInt returns Float64 floor_division Float64 // BigInt returns Float64 floor_division Float64 // BigFloat returns Float64 floor_division Float64 // BigFloat returns Float64 floor_division Float64 // BigDecimal returns Float64 floor_division Float64 // BigDecimal returns Float64 floor_division Float64 // BigRational returns Float64 floor_division Float64 // BigRational returns Float64 floor_division BigInt // Int8 returns BigInt floor_division BigInt // Int8 returns BigInt floor_division BigInt // UInt8 returns BigInt floor_division BigInt // UInt8 returns BigInt floor_division BigInt // Int16 returns BigInt floor_division BigInt // Int16 returns BigInt floor_division BigInt // UInt16 returns BigInt floor_division BigInt // UInt16 returns BigInt floor_division BigInt // Int32 returns BigInt floor_division BigInt // Int32 returns BigInt floor_division BigInt // UInt32 returns BigInt floor_division BigInt // UInt32 returns BigInt floor_division BigInt // Int64 returns BigInt floor_division BigInt // Int64 returns BigInt floor_division BigInt // UInt64 returns BigInt floor_division BigInt // UInt64 returns BigInt floor_division BigInt // Float32 returns BigInt floor_division BigInt // Float32 returns BigInt floor_division BigInt // Float64 returns BigInt floor_division BigInt // Float64 returns BigInt floor_division BigFloat // Int8 returns BigFloat floor_division BigFloat // Int8 returns BigFloat floor_division BigFloat // UInt8 returns BigFloat floor_division BigFloat // UInt8 returns BigFloat floor_division BigFloat // Int16 returns BigFloat floor_division BigFloat // Int16 returns BigFloat floor_division BigFloat // UInt16 returns BigFloat floor_division BigFloat // UInt16 returns BigFloat floor_division BigFloat // Int32 returns BigFloat floor_division BigFloat // Int32 returns BigFloat floor_division BigFloat // UInt32 returns BigFloat floor_division BigFloat // UInt32 returns BigFloat floor_division BigFloat // Int64 returns BigFloat floor_division BigFloat // Int64 returns BigFloat floor_division BigFloat // UInt64 returns BigFloat floor_division BigFloat // UInt64 returns BigFloat floor_division BigFloat // Float32 returns BigFloat floor_division BigFloat // Float32 returns BigFloat floor_division BigFloat // Float64 returns BigFloat floor_division BigFloat // Float64 returns BigFloat floor_division BigDecimal // Int8 returns BigDecimal floor_division BigDecimal // Int8 returns BigDecimal floor_division BigDecimal // UInt8 returns BigDecimal floor_division BigDecimal // UInt8 returns BigDecimal floor_division BigDecimal // Int16 returns BigDecimal floor_division BigDecimal // Int16 returns BigDecimal floor_division BigDecimal // UInt16 returns BigDecimal floor_division BigDecimal // UInt16 returns BigDecimal floor_division BigDecimal // Int32 returns BigDecimal floor_division BigDecimal // Int32 returns BigDecimal floor_division BigDecimal // UInt32 returns BigDecimal floor_division BigDecimal // UInt32 returns BigDecimal floor_division BigDecimal // Int64 returns BigDecimal floor_division BigDecimal // Int64 returns BigDecimal floor_division BigDecimal // UInt64 returns BigDecimal floor_division BigDecimal // UInt64 returns BigDecimal floor_division BigDecimal // Float32 returns BigDecimal floor_division BigDecimal // Float32 returns BigDecimal floor_division BigDecimal // Float64 returns BigDecimal floor_division BigDecimal // Float64 returns BigDecimal floor_division BigRational // Int8 returns BigRational floor_division BigRational // Int8 returns BigRational floor_division BigRational // UInt8 returns BigRational floor_division BigRational // UInt8 returns BigRational floor_division BigRational // Int16 returns BigRational floor_division BigRational // Int16 returns BigRational floor_division BigRational // UInt16 returns BigRational floor_division BigRational // UInt16 returns BigRational floor_division BigRational // Int32 returns BigRational floor_division BigRational // Int32 returns BigRational floor_division BigRational // UInt32 returns BigRational floor_division BigRational // UInt32 returns BigRational floor_division BigRational // Int64 returns BigRational floor_division BigRational // Int64 returns BigRational floor_division BigRational // UInt64 returns BigRational floor_division BigRational // UInt64 returns BigRational floor_division BigRational // Float32 returns BigRational floor_division BigRational // Float32 returns BigRational floor_division BigRational // Float64 returns BigRational floor_division BigRational // Float64 returns BigRational division between Int8 / BigInt returns BigFloat division between Int8 / BigInt returns BigFloat division between Int8 / BigFloat returns BigFloat division between Int8 / BigFloat returns BigFloat division between UInt8 / BigInt returns BigFloat division between UInt8 / BigInt returns BigFloat division between UInt8 / BigFloat returns BigFloat division between UInt8 / BigFloat returns BigFloat division between Int16 / BigInt returns BigFloat division between Int16 / BigInt returns BigFloat division between Int16 / BigFloat returns BigFloat division between Int16 / BigFloat returns BigFloat division between UInt16 / BigInt returns BigFloat division between UInt16 / BigInt returns BigFloat division between UInt16 / BigFloat returns BigFloat division between UInt16 / BigFloat returns BigFloat division between Int32 / BigInt returns BigFloat division between Int32 / BigInt returns BigFloat division between Int32 / BigFloat returns BigFloat division between Int32 / BigFloat returns BigFloat division between UInt32 / BigInt returns BigFloat division between UInt32 / BigInt returns BigFloat division between UInt32 / BigFloat returns BigFloat division between UInt32 / BigFloat returns BigFloat division between Int64 / BigInt returns BigFloat division between Int64 / BigInt returns BigFloat division between Int64 / BigFloat returns BigFloat division between Int64 / BigFloat returns BigFloat division between UInt64 / BigInt returns BigFloat division between UInt64 / BigInt returns BigFloat division between UInt64 / BigFloat returns BigFloat division between UInt64 / BigFloat returns BigFloat division between Float32 / BigInt returns BigFloat division between Float32 / BigInt returns BigFloat division between Float32 / BigFloat returns BigFloat division between Float32 / BigFloat returns BigFloat division between Float64 / BigInt returns BigFloat division between Float64 / BigInt returns BigFloat division between Float64 / BigFloat returns BigFloat division between Float64 / BigFloat returns BigFloat division between BigInt / Int8 returns BigFloat division between BigInt / Int8 returns BigFloat division between BigInt / UInt8 returns BigFloat division between BigInt / UInt8 returns BigFloat division between BigInt / Int16 returns BigFloat division between BigInt / Int16 returns BigFloat division between BigInt / UInt16 returns BigFloat division between BigInt / UInt16 returns BigFloat division between BigInt / Int32 returns BigFloat division between BigInt / Int32 returns BigFloat division between BigInt / UInt32 returns BigFloat division between BigInt / UInt32 returns BigFloat division between BigInt / Int64 returns BigFloat division between BigInt / Int64 returns BigFloat division between BigInt / UInt64 returns BigFloat division between BigInt / UInt64 returns BigFloat division between BigInt / Float32 returns BigFloat division between BigInt / Float32 returns BigFloat division between BigInt / Float64 returns BigFloat division between BigInt / Float64 returns BigFloat division between BigFloat / Int8 returns BigFloat division between BigFloat / Int8 returns BigFloat division between BigFloat / UInt8 returns BigFloat division between BigFloat / UInt8 returns BigFloat division between BigFloat / Int16 returns BigFloat division between BigFloat / Int16 returns BigFloat division between BigFloat / UInt16 returns BigFloat division between BigFloat / UInt16 returns BigFloat division between BigFloat / Int32 returns BigFloat division between BigFloat / Int32 returns BigFloat division between BigFloat / UInt32 returns BigFloat division between BigFloat / UInt32 returns BigFloat division between BigFloat / Int64 returns BigFloat division between BigFloat / Int64 returns BigFloat division between BigFloat / UInt64 returns BigFloat division between BigFloat / UInt64 returns BigFloat division between BigFloat / Float32 returns BigFloat division between BigFloat / Float32 returns BigFloat division between BigFloat / Float64 returns BigFloat division between BigFloat / Float64 returns BigFloat division between BigInt / BigInt returns BigFloat division between BigInt / BigInt returns BigFloat division between BigInt / BigFloat returns BigFloat division between BigInt / BigFloat returns BigFloat division between BigFloat / BigInt returns BigFloat division between BigFloat / BigInt returns BigFloat division between BigFloat / BigFloat returns BigFloat division between BigFloat / BigFloat returns BigFloat division between Int8 / BigDecimal returns BigDecimal division between Int8 / BigDecimal returns BigDecimal division between UInt8 / BigDecimal returns BigDecimal division between UInt8 / BigDecimal returns BigDecimal division between Int16 / BigDecimal returns BigDecimal division between Int16 / BigDecimal returns BigDecimal division between UInt16 / BigDecimal returns BigDecimal division between UInt16 / BigDecimal returns BigDecimal division between Int32 / BigDecimal returns BigDecimal division between Int32 / BigDecimal returns BigDecimal division between UInt32 / BigDecimal returns BigDecimal division between UInt32 / BigDecimal returns BigDecimal division between Int64 / BigDecimal returns BigDecimal division between Int64 / BigDecimal returns BigDecimal division between UInt64 / BigDecimal returns BigDecimal division between UInt64 / BigDecimal returns BigDecimal division between Float32 / BigDecimal returns BigDecimal division between Float32 / BigDecimal returns BigDecimal division between Float64 / BigDecimal returns BigDecimal division between Float64 / BigDecimal returns BigDecimal division between BigDecimal / Int8 returns BigDecimal division between BigDecimal / Int8 returns BigDecimal division between BigDecimal / UInt8 returns BigDecimal division between BigDecimal / UInt8 returns BigDecimal division between BigDecimal / Int16 returns BigDecimal division between BigDecimal / Int16 returns BigDecimal division between BigDecimal / UInt16 returns BigDecimal division between BigDecimal / UInt16 returns BigDecimal division between BigDecimal / Int32 returns BigDecimal division between BigDecimal / Int32 returns BigDecimal division between BigDecimal / UInt32 returns BigDecimal division between BigDecimal / UInt32 returns BigDecimal division between BigDecimal / Int64 returns BigDecimal division between BigDecimal / Int64 returns BigDecimal division between BigDecimal / UInt64 returns BigDecimal division between BigDecimal / UInt64 returns BigDecimal division between BigDecimal / Float32 returns BigDecimal division between BigDecimal / Float32 returns BigDecimal division between BigDecimal / Float64 returns BigDecimal division between BigDecimal / Float64 returns BigDecimal division between BigDecimal / BigInt returns BigDecimal division between BigDecimal / BigInt returns BigDecimal division between BigDecimal / BigFloat returns BigDecimal division between BigDecimal / BigFloat returns BigDecimal division between BigDecimal / BigDecimal returns BigDecimal division between BigDecimal / BigDecimal returns BigDecimal division between BigInt / BigDecimal returns BigDecimal division between BigInt / BigDecimal returns BigDecimal division between BigFloat / BigDecimal returns BigDecimal division between BigFloat / BigDecimal returns BigDecimal division between BigDecimal / BigDecimal returns BigDecimal division between BigDecimal / BigDecimal returns BigDecimal division between Int8 / BigRational returns BigRational division between Int8 / BigRational returns BigRational division between UInt8 / BigRational returns BigRational division between UInt8 / BigRational returns BigRational division between Int16 / BigRational returns BigRational division between Int16 / BigRational returns BigRational division between UInt16 / BigRational returns BigRational division between UInt16 / BigRational returns BigRational division between Int32 / BigRational returns BigRational division between Int32 / BigRational returns BigRational division between UInt32 / BigRational returns BigRational division between UInt32 / BigRational returns BigRational division between Int64 / BigRational returns BigRational division between Int64 / BigRational returns BigRational division between UInt64 / BigRational returns BigRational division between UInt64 / BigRational returns BigRational division between Float32 / BigRational returns BigRational division between Float32 / BigRational returns BigRational division between Float64 / BigRational returns BigRational division between Float64 / BigRational returns BigRational division between BigRational / Int8 returns BigRational division between BigRational / Int8 returns BigRational division between BigRational / UInt8 returns BigRational division between BigRational / UInt8 returns BigRational division between BigRational / Int16 returns BigRational division between BigRational / Int16 returns BigRational division between BigRational / UInt16 returns BigRational division between BigRational / UInt16 returns BigRational division between BigRational / Int32 returns BigRational division between BigRational / Int32 returns BigRational division between BigRational / UInt32 returns BigRational division between BigRational / UInt32 returns BigRational division between BigRational / Int64 returns BigRational division between BigRational / Int64 returns BigRational division between BigRational / UInt64 returns BigRational division between BigRational / UInt64 returns BigRational division between BigRational / Float32 returns BigRational division between BigRational / Float32 returns BigRational division between BigRational / Float64 returns BigRational division between BigRational / Float64 returns BigRational division between BigRational / BigInt returns BigRational division between BigRational / BigInt returns BigRational division between BigRational / BigFloat returns BigRational division between BigRational / BigFloat returns BigRational division between BigRational / BigDecimal returns BigRational division between BigRational / BigDecimal returns BigRational division between BigRational / BigRational returns BigRational division between BigRational / BigRational returns BigRational division between BigInt / BigRational returns BigRational division between BigInt / BigRational returns BigRational division between BigFloat / BigRational returns BigRational division between BigFloat / BigRational returns BigRational division between BigDecimal / BigRational returns BigRational division between BigDecimal / BigRational returns BigRational division between BigRational / BigRational returns BigRational division between BigRational / BigRational returns BigRational Char::Reader iterates through empty string iterates through empty string iterates through string of size one iterates through string of size one iterates through chars iterates through chars peeks next char peeks next char sets pos sets pos is an Enumerable(Char) is an Enumerable(Char) is an Enumerable(Char) but doesn't yield if empty is an Enumerable(Char) but doesn't yield if empty starts at end starts at end gets previous char (ascii) gets previous char (ascii) gets previous char (unicode) gets previous char (unicode) starts at pos starts at pos errors if 0x80 <= first_byte < 0xC2 errors if 0x80 <= first_byte < 0xC2 errors if (second_byte & 0xC0) != 0x80 errors if (second_byte & 0xC0) != 0x80 errors if first_byte == 0xE0 && second_byte < 0xA0 errors if first_byte == 0xE0 && second_byte < 0xA0 errors if first_byte == 0xED && second_byte >= 0xA0 errors if first_byte == 0xED && second_byte >= 0xA0 errors if first_byte < 0xF0 && (third_byte & 0xC0) != 0x80 errors if first_byte < 0xF0 && (third_byte & 0xC0) != 0x80 errors if first_byte == 0xF0 && second_byte < 0x90 errors if first_byte == 0xF0 && second_byte < 0x90 errors if first_byte == 0xF4 && second_byte >= 0x90 errors if first_byte == 0xF4 && second_byte >= 0x90 errors if first_byte < 0xF5 && (fourth_byte & 0xC0) != 0x80 errors if first_byte < 0xF5 && (fourth_byte & 0xC0) != 0x80 errors if first_byte >= 0xF5 errors if first_byte >= 0xF5 errors if second_byte is out of bounds errors if second_byte is out of bounds errors if third_byte is out of bounds errors if third_byte is out of bounds errors if fourth_byte is out of bounds errors if fourth_byte is out of bounds Compress::Deflate::Reader should read byte by byte (#4192) should read byte by byte (#4192) should rewind should rewind .open yields itself to block yields itself to block Compress::Deflate::Writer should be able to write should be able to write can be closed without sync can be closed without sync can be closed with sync (1) can be closed with sync (1) can be closed with sync (2) can be closed with sync (2) .open yields itself to block yields itself to block Compress::Gzip writes and reads to memory writes and reads to memory rewinds rewinds Compress::Zip reads file from memory reads file from memory reads file from file system reads file from file system writes comment writes comment reads big file reads big file reads zip file with different extra in local file header and central directory header reads zip file with different extra in local file header and central directory header reads zip comment reads zip comment Compress::Zip writes and reads to memory writes and reads to memory writes entry writes entry writes entry uncompressed writes entry uncompressed writes entry uncompressed and reads with Compress::Zip::File writes entry uncompressed and reads with Compress::Zip::File adds a directory adds a directory writes string writes string writes bytes writes bytes writes io writes io writes file writes file Compress::Zlib::Reader should be able to read should be able to read rewinds rewinds can be closed without sync can be closed without sync can be closed with sync (1) can be closed with sync (1) can be closed with sync (2) can be closed with sync (2) should not read from empty stream should not read from empty stream should not freeze when reading empty slice should not freeze when reading empty slice should raise buffer error on error (#6575) should raise buffer error on error (#6575) Compress::Zlib write read should be inverse with random string write read should be inverse with random string write read should be inverse (utf-8) write read should be inverse (utf-8) Compress::Zlib::Writer should be able to write should be able to write can be closed without sync can be closed without sync can be closed with sync (1) can be closed with sync (1) can be closed with sync (2) can be closed with sync (2) can be flushed can be flushed select select many receivers select many receivers select many senders select many senders select many receivers, senders select many receivers, senders select should work with send which started before receive, fixed #3862 select should work with send which started before receive, fixed #3862 select fiber has one chance to be enqueued into scheduler (1) select fiber has one chance to be enqueued into scheduler (1) select fiber has one chance to be enqueued into scheduler (2) select fiber has one chance to be enqueued into scheduler (2) select same channel multiple times select same channel multiple times prioritize by order when entering in a select prioritize by order when entering in a select stress select with send/receive in multiple fibers stress select with send/receive in multiple fibers blocking raise-on-close single-channel types and exec when types and exec when raises if channel was closed raises if channel was closed non-blocking raise-on-close single-channel types and exec when if message was ready types and exec when if message was ready exec else if no message was ready exec else if no message was ready raises if channel was closed raises if channel was closed blocking raise-on-close multi-channel types and exec when (1) types and exec when (1) types and exec when (2) types and exec when (2) raises if channel was closed (1) raises if channel was closed (1) raises if channel was closed (2) raises if channel was closed (2) non-blocking raise-on-close multi-channel types and exec when (1) types and exec when (1) types and exec when (2) types and exec when (2) exec else if no message was ready exec else if no message was ready raises if channel was closed (1) raises if channel was closed (1) raises if channel was closed (2) raises if channel was closed (2) blocking nil-on-close single-channel types and exec when types and exec when types and exec when with nil if channel was closed types and exec when with nil if channel was closed blocking nil-on-close multi-channel types and exec when (1) types and exec when (1) types and exec when (2) types and exec when (2) types and exec when with nil if channel was closed (1) types and exec when with nil if channel was closed (1) types and exec when with nil if channel was closed (2) types and exec when with nil if channel was closed (2) types and exec when with nil if channel is closed while waiting (1) types and exec when with nil if channel is closed while waiting (1) types and exec when with nil if channel is closed while waiting (2) types and exec when with nil if channel is closed while waiting (2) non-blocking nil-on-close single-channel types and exec when types and exec when exec else if no message was ready exec else if no message was ready types and exec when with nil if channel was closed types and exec when with nil if channel was closed non-blocking nil-on-close multi-channel types and exec when (1) types and exec when (1) types and exec when (2) types and exec when (2) types and exec when with nil if channel was closed (1) types and exec when with nil if channel was closed (1) types and exec when with nil if channel was closed (2) types and exec when with nil if channel was closed (2) types and exec when with nil if channel is closed while waiting (1) types and exec when with nil if channel is closed while waiting (1) types and exec when with nil if channel is closed while waiting (2) types and exec when with nil if channel is closed while waiting (2) exec else if no message was ready exec else if no message was ready Crypto::Bcrypt computes digest vectors computes digest vectors validates salt size validates salt size validates cost validates cost validates password size validates password size doesn't have the sign expansion (high 8bit) security flaw doesn't have the sign expansion (high 8bit) security flaw Crypto::Blowfish encrypt and decrypt pair encrypt and decrypt pair Subtle compares constant times compares constant times compares constant time bytes on equality compares constant time bytes on equality compares constant time bytes bug compares constant time bytes bug compares constant time and slices strings compares constant time and slices strings Crypto::Bcrypt::Base64 encodes encodes decodes decodes Crypto::Bcrypt::Password new parses version parses version parses cost parses cost parses salt parses salt parses digest parses digest validates the hash string has the required amount of parts validates the hash string has the required amount of parts create uses cost uses cost generates salt generates salt generates digest generates digest verify verifies password is incorrect verifies password is incorrect verifies password is correct verifies password is correct Crystal::Hasher behavior #nil should change hasher state #nil should change hasher state #bool should change state and differ #bool should change state and differ #int should change state and differ #int should change state and differ #int should be equal for different types #int should be equal for different types Big i64 numbers should be hashed ok Big i64 numbers should be hashed ok 128bit types should be hashed ok 128bit types should be hashed ok #float should change state and differ #float should change state and differ #char should change state and differ #char should change state and differ #enum should change state and differ #enum should change state and differ #symbol should change state and differ #symbol should change state and differ #reference should change state and differ #reference should change state and differ #string should change state and differ #string should change state and differ #class should change state and differ #class should change state and differ #bytes should change state and differ #bytes should change state and differ funny_hash result should work result should work #nil should match test vectors #nil should match test vectors #bool should match test vectors #bool should match test vectors #int should match test vectors #int should match test vectors #float should match test vectors #float should match test vectors #string should match test vectors #string should match test vectors to_s should not expose internal data should not expose internal data inspect should not expose internal data should not expose internal data normalization of numbers should 1_i32 and 1_f64 hashes equal should 1_i32 and 1_f64 hashes equal should 1_f32 and 1.to_big_f hashes equal should 1_f32 and 1.to_big_f hashes equal should 1_f32 and 1.to_big_r hashes equal should 1_f32 and 1.to_big_r hashes equal should 1_f32 and 1.to_big_i hashes equal should 1_f32 and 1.to_big_i hashes equal Crystal::PointerLinkedList(T) empty? return true if there is no element in list return true if there is no element in list push append the node into the list append the node into the list delete remove a node from list remove a node from list shift? remove and return the first element remove and return the first element return nil if list is empty return nil if list is empty does each does each __divti3 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests __modti3 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests __udivti3 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests __umodti3 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests __mulodi4 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests __mulosi4 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests __muloti4 passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests passes compiler-rt builtins unit tests Crystal::Digest::MD5 #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) context are independent context are independent .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content calculates digest from string calculates digest from string calculates hash from string calculates hash from string calculates hash from unicode string calculates hash from unicode string calculates hash from UInt8 slices calculates hash from UInt8 slices calculates hash of #to_slice calculates hash of #to_slice can take a block can take a block calculates base64'd hash from string calculates base64'd hash from string resets resets can't call final twice can't call final twice return the digest size return the digest size Crystal::Digest::SHA1 #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) context are independent context are independent .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content does digest for "" does digest for "" resets resets can't call #final more than once can't call #final more than once does digest for "" in a block does digest for "" in a block does hexdigest for "" does hexdigest for "" does base64digest for "" does base64digest for "" does digest for "The quick brown fox jumps over the lazy dog" does digest for "The quick brown fox jumps over the lazy dog" resets resets can't call #final more than once can't call #final more than once does digest for "The quick brown fox jumps over the lazy dog" in a block does digest for "The quick brown fox jumps over the lazy dog" in a block does hexdigest for "The quick brown fox jumps over the lazy dog" does hexdigest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does digest for "abc" does digest for "abc" resets resets can't call #final more than once can't call #final more than once does digest for "abc" in a block does digest for "abc" in a block does hexdigest for "abc" does hexdigest for "abc" does base64digest for "abc" does base64digest for "abc" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" resets resets can't call #final more than once can't call #final more than once does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "a" does digest for "a" resets resets can't call #final more than once can't call #final more than once does digest for "a" in a block does digest for "a" in a block does hexdigest for "a" does hexdigest for "a" does base64digest for "a" does base64digest for "a" does digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "0123456701234567012345670123456701234567012345670123456701234567" resets resets can't call #final more than once can't call #final more than once does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "fooø" does digest for "fooø" resets resets can't call #final more than once can't call #final more than once does digest for "fooø" in a block does digest for "fooø" in a block does hexdigest for "fooø" does hexdigest for "fooø" does base64digest for "fooø" does base64digest for "fooø" returns the digest_size returns the digest_size CSV build builds two rows builds two rows builds with numbers builds with numbers builds with commas builds with commas builds with custom separator builds with custom separator builds with quotes builds with quotes builds with custom quote character builds with custom quote character builds row from enumerable builds row from enumerable builds row from splat builds row from splat skips inside row skips inside row concats enumerable to row concats enumerable to row concats splat to row concats splat to row builds with commas builds with commas builds with quoting builds with quoting builds with inside quoted chars and symbols builds with inside quoted chars and symbols CSV lex lexes two columns lexes two columns lexes two columns with two rows lexes two columns with two rows lexes two columns with two rows with lexes two columns with two rows with lexes two empty columns lexes two empty columns lexes last empty column lexes last empty column lexes with empty columns lexes with empty columns lexes with whitespace lexes with whitespace lexes two with quotes lexes two with quotes lexes two with inner quotes lexes two with inner quotes lexes with comma inside quote lexes with comma inside quote lexes with newline inside quote lexes with newline inside quote lexes newline followed by eof lexes newline followed by eof lexes with a given separator lexes with a given separator lexes with a given quote char lexes with a given quote char raises if single quote in the middle raises if single quote in the middle raises if command, newline or end doesn't follow quote raises if command, newline or end doesn't follow quote raises on unclosed quote raises on unclosed quote doesn't consume char after \n (#11172) doesn't consume char after \n (#11172) doesn't consume char after \r (#11172) doesn't consume char after \r (#11172) CSV parse parses empty string parses empty string parses one simple row parses one simple row parses one row with spaces parses one row with spaces parses two rows parses two rows parses two rows with the last one having a newline parses two rows with the last one having a newline parses with quote parses with quote parses with quote and newline parses with quote and newline parses with double quote parses with double quote parses some commas parses some commas parses empty quoted string parses empty quoted string raises if single quote in the middle raises if single quote in the middle raises if command, newline or end doesn't follow quote raises if command, newline or end doesn't follow quote raises if command, newline or end doesn't follow quote (2) raises if command, newline or end doesn't follow quote (2) parses from IO parses from IO takes an optional separator argument takes an optional separator argument takes an optional quote char argument takes an optional quote char argument parses row by row parses row by row does CSV.each_row does CSV.each_row does CSV.each_row with separator and quotes does CSV.each_row with separator and quotes gets row iterator gets row iterator CSV gets headers gets headers works without headers works without headers raises if trying to access before first row raises if trying to access before first row gets row values with string gets row values with string gets row values with integer gets row values with integer gets row values with regex gets row values with regex gets current row gets current row strips strips works without headers works without headers can do each can do each can do new with block can do new with block returns a Tuple(String, String) for current row with indices returns a Tuple(String, String) for current row with indices returns a Tuple(String, String) for current row with headers returns a Tuple(String, String) for current row with headers returns a Tuple(String, String) for this row with indices returns a Tuple(String, String) for this row with indices returns a Tuple(String, String) for this row with headers returns a Tuple(String, String) for this row with headers rewind string based without headers without headers with headers with headers IO based without headers without headers with headers with headers Digest::Adler32 should be able to calculate adler32 should be able to calculate adler32 should be able to calculate adler32 combined should be able to calculate adler32 combined Digest::CRC32 should be able to calculate crc32 should be able to calculate crc32 should be able to calculate crc32 combined should be able to calculate crc32 combined IO::Digest calculates digest from reading calculates digest from reading can be created with ongoing digest can be created with ongoing digest calculates digest from multiple reads calculates digest from multiple reads does not calculate digest on read does not calculate digest on read calculates digest from writing calculates digest from writing calculates digest from writing a string calculates digest from writing a string calculates digest from multiple writes calculates digest from multiple writes does not calculate digest on write does not calculate digest on write Digest::MD5 #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) context are independent context are independent .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content calculates digest from string calculates digest from string calculates hash from string calculates hash from string calculates hash from unicode string calculates hash from unicode string calculates hash from UInt8 slices calculates hash from UInt8 slices calculates hash of #to_slice calculates hash of #to_slice can take a block can take a block calculates base64'd hash from string calculates base64'd hash from string resets resets can't call final twice can't call final twice return the digest size return the digest size Digest::SHA1 #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) context are independent context are independent .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content does digest for "" does digest for "" resets resets can't call #final more than once can't call #final more than once does digest for "" in a block does digest for "" in a block does hexdigest for "" does hexdigest for "" does base64digest for "" does base64digest for "" does digest for "The quick brown fox jumps over the lazy dog" does digest for "The quick brown fox jumps over the lazy dog" resets resets can't call #final more than once can't call #final more than once does digest for "The quick brown fox jumps over the lazy dog" in a block does digest for "The quick brown fox jumps over the lazy dog" in a block does hexdigest for "The quick brown fox jumps over the lazy dog" does hexdigest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does digest for "abc" does digest for "abc" resets resets can't call #final more than once can't call #final more than once does digest for "abc" in a block does digest for "abc" in a block does hexdigest for "abc" does hexdigest for "abc" does base64digest for "abc" does base64digest for "abc" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" resets resets can't call #final more than once can't call #final more than once does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "a" does digest for "a" resets resets can't call #final more than once can't call #final more than once does digest for "a" in a block does digest for "a" in a block does hexdigest for "a" does hexdigest for "a" does base64digest for "a" does base64digest for "a" does digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "0123456701234567012345670123456701234567012345670123456701234567" resets resets can't call #final more than once can't call #final more than once does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "fooø" does digest for "fooø" resets resets can't call #final more than once can't call #final more than once does digest for "fooø" in a block does digest for "fooø" in a block does hexdigest for "fooø" does hexdigest for "fooø" does base64digest for "fooø" does base64digest for "fooø" returns the digest_size returns the digest_size Digest::SHA256 #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) context are independent context are independent .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content does digest for "" does digest for "" resets resets can't call #final more than once can't call #final more than once does digest for "" in a block does digest for "" in a block does hexdigest for "" does hexdigest for "" does base64digest for "" does base64digest for "" does digest for "The quick brown fox jumps over the lazy dog" does digest for "The quick brown fox jumps over the lazy dog" resets resets can't call #final more than once can't call #final more than once does digest for "The quick brown fox jumps over the lazy dog" in a block does digest for "The quick brown fox jumps over the lazy dog" in a block does hexdigest for "The quick brown fox jumps over the lazy dog" does hexdigest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does digest for "abc" does digest for "abc" resets resets can't call #final more than once can't call #final more than once does digest for "abc" in a block does digest for "abc" in a block does hexdigest for "abc" does hexdigest for "abc" does base64digest for "abc" does base64digest for "abc" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" resets resets can't call #final more than once can't call #final more than once does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "a" does digest for "a" resets resets can't call #final more than once can't call #final more than once does digest for "a" in a block does digest for "a" in a block does hexdigest for "a" does hexdigest for "a" does base64digest for "a" does base64digest for "a" does digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "0123456701234567012345670123456701234567012345670123456701234567" resets resets can't call #final more than once can't call #final more than once does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "fooø" does digest for "fooø" resets resets can't call #final more than once can't call #final more than once does digest for "fooø" in a block does digest for "fooø" in a block does hexdigest for "fooø" does hexdigest for "fooø" does base64digest for "fooø" does base64digest for "fooø" returns the digest_size returns the digest_size Digest::SHA512 #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop from explicit expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) #hexdigest can update within a loop by indirect expr (#9483) context are independent context are independent .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content does digest for "" does digest for "" resets resets can't call #final more than once can't call #final more than once does digest for "" in a block does digest for "" in a block does hexdigest for "" does hexdigest for "" does base64digest for "" does base64digest for "" does digest for "The quick brown fox jumps over the lazy dog" does digest for "The quick brown fox jumps over the lazy dog" resets resets can't call #final more than once can't call #final more than once does digest for "The quick brown fox jumps over the lazy dog" in a block does digest for "The quick brown fox jumps over the lazy dog" in a block does hexdigest for "The quick brown fox jumps over the lazy dog" does hexdigest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does base64digest for "The quick brown fox jumps over the lazy dog" does digest for "abc" does digest for "abc" resets resets can't call #final more than once can't call #final more than once does digest for "abc" in a block does digest for "abc" in a block does hexdigest for "abc" does hexdigest for "abc" does base64digest for "abc" does base64digest for "abc" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" resets resets can't call #final more than once can't call #final more than once does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" does digest for "a" does digest for "a" resets resets can't call #final more than once can't call #final more than once does digest for "a" in a block does digest for "a" in a block does hexdigest for "a" does hexdigest for "a" does base64digest for "a" does base64digest for "a" does digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "0123456701234567012345670123456701234567012345670123456701234567" resets resets can't call #final more than once can't call #final more than once does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does base64digest for "0123456701234567012345670123456701234567012345670123456701234567" does digest for "fooø" does digest for "fooø" resets resets can't call #final more than once can't call #final more than once does digest for "fooø" in a block does digest for "fooø" in a block does hexdigest for "fooø" does hexdigest for "fooø" does base64digest for "fooø" does base64digest for "fooø" returns the digest_size returns the digest_size ECR::Lexer lexes without interpolation lexes without interpolation lexes with <% %> lexes with <% %> lexes with <%- %> lexes with <%- %> lexes with <% -%> lexes with <% -%> lexes with -% inside string lexes with -% inside string lexes with <%= %> lexes with <%= %> lexes with <%= -%> lexes with <%= -%> lexes with <%# %> lexes with <%# %> lexes with <%# -%> lexes with <%# -%> lexes with <%% %> lexes with <%% %> lexes with <%%= %> lexes with <%%= %> lexes with <% %> and correct location info lexes with <% %> and correct location info ECR builds a crystal program from a source builds a crystal program from a source does ECR.def_to_s does ECR.def_to_s does with <%= -%> does with <%= -%> does with <%- %> (1) does with <%- %> (1) does with <%- %> (2) does with <%- %> (2) does with <% -%> does with <% -%> does with -% inside string does with -% inside string .render .render Backtrace prints file line:column prints file line:column doesn't relativize paths outside of current dir (#10169) doesn't relativize paths outside of current dir (#10169) prints exception backtrace to stderr prints exception backtrace to stderr prints crash backtrace to stderr prints crash backtrace to stderr File .tempname creates a path without creating the file creates a path without creating the file accepts single suffix argument accepts single suffix argument accepts prefix and suffix arguments accepts prefix and suffix arguments accepts prefix with separator accepts prefix with separator accepts dir argument accepts dir argument .tempfile creates and writes creates and writes accepts single suffix argument accepts single suffix argument accepts prefix and suffix arguments accepts prefix and suffix arguments accepts dir argument accepts dir argument fails in nonwriteable folder fails in nonwriteable folder with block closes file closes file accepts single suffix argument accepts single suffix argument accepts prefix and suffix arguments accepts prefix and suffix arguments accepts dir argument accepts dir argument Float::Printer::DiyFP multiply multiply multiply multiply multiply rounding multiply rounding multiply rounding multiply rounding multiply big numbers multiply big numbers converts ordered 64 converts ordered 64 converts ordered 32 converts ordered 32 converts min f64 converts min f64 converts min f32 converts min f32 converts max f64 converts max f64 converts max f32 converts max f32 normalizes ordered normalizes ordered normalizes min f64 normalizes min f64 normalizes max f64 normalizes max f64 grisu3 float64 min float min float max float max float point at end point at end large number large number small number small number another no point move another no point move failure case failure case smallest normal smallest normal largest denormal largest denormal float32 min min max max general whole number, rounding general whole number, rounding general whole number, rounding general whole number, rounding large number, rounding large number, rounding small number small number general no rounding general no rounding general with rounding up general with rounding up general with rounding down general with rounding down smallest normal smallest normal largest denormal largest denormal Float64 boundaries boundaries 1.5 boundaries 1.5 boundaries 1.0 boundaries 1.0 boundaries min float64 boundaries min float64 boundaries min normal f64 boundaries min normal f64 boundaries max denormal f64 boundaries max denormal f64 boundaries max f64 boundaries max f64 Float32 boundaries boundaries 1.5 boundaries 1.5 boundaries 1.0 boundaries 1.0 min Float32 min Float32 smallest normal 32 smallest normal 32 largest denormal 32 largest denormal 32 max Float32 max Float32 HTTP::ChunkedContent delays reading the next chunk as soon as one is consumed (#3270) delays reading the next chunk as soon as one is consumed (#3270) peeks peeks peeks into next chunk peeks into next chunk skips skips skips (2) skips (2) skips (3) skips (3) #gets reads multiple chunks #gets reads multiple chunks #gets reads multiple chunks with #gets reads multiple chunks with #read reads empty content #read reads empty content #read_byte reads empty content #read_byte reads empty content #peek reads empty content #peek reads empty content #read handles interrupted io #read handles interrupted io #read_byte handles interrupted io #read_byte handles interrupted io #peek handles interrupted io #peek handles interrupted io #read handles empty data #read handles empty data #read_byte handles empty data #read_byte handles empty data #peek handles empty data #peek handles empty data handles empty io handles empty io reads chunk extensions reads chunk extensions reads chunked trailer part reads chunked trailer part fails if unterminated chunked trailer part fails if unterminated chunked trailer part long trailer part fails for long single header fails for long single header fails for long combined headers fails for long combined headers fails if not properly delimited fails if not properly delimited fails if not properly delimited fails if not properly delimited fails if invalid chunk size fails if invalid chunk size #read stops reading after final chunk #read stops reading after final chunk #read_byte stops reading after final chunk #read_byte stops reading after final chunk #peek stops reading after final chunk #peek stops reading after final chunk HTTP::Cookie #== #== .new raises on invalid name raises on invalid name raises on invalid value raises on invalid value #name= raises on invalid name raises on invalid name #value= raises on invalid value raises on invalid value #to_set_cookie_header assert assert assert assert assert assert assert assert assert assert assert assert samesite samesite assert assert HTTP::Cookie::Parser parse_cookies parses key=value parses key=value parse_set_cookie with space parse_set_cookie with space parses key= parses key= parses key=key=value parses key=key=value parses key=key%3Dvalue parses key=key%3Dvalue parses special character in name parses special character in name parses key="value" parses key="value" parses multiple cookies parses multiple cookies parse_set_cookie parses path parses path parses Secure parses Secure parses HttpOnly parses HttpOnly SameSite Lax parses samesite parses samesite Strict parses samesite parses samesite Invalid parses samesite parses samesite parses domain parses domain leading dots in domain names are ignored leading dots in domain names are ignored parses expires iis parses expires iis parses expires rfc1123 parses expires rfc1123 parses expires rfc1036 parses expires rfc1036 parses expires ansi c parses expires ansi c parses expires ansi c, variant with zone parses expires ansi c, variant with zone parses full parses full parse domain as IP parse domain as IP parse max-age as Time::Span parse max-age as Time::Span expiration_time sets expiration_time to be current when max-age=0 sets expiration_time to be current when max-age=0 sets expiration_time with old date sets expiration_time with old date sets future expiration_time with max-age sets future expiration_time with max-age sets future expiration_time with max-age and future cookie creation time sets future expiration_time with max-age and future cookie creation time sets future expiration_time with expires sets future expiration_time with expires returns nil expiration_time when expires and max-age are not set returns nil expiration_time when expires and max-age are not set expired? expired when max-age=0 expired when max-age=0 expired with old expires date expired with old expires date not expired with future max-age not expired with future max-age not expired with future expires not expired with future expires not expired when max-age and expires are not provided not expired when max-age and expires are not provided HTTP::Cookies .from_client_headers parses Cookie header parses Cookie header does not accept Set-Cookie header does not accept Set-Cookie header .from_server_headers parses Set-Cookie header parses Set-Cookie header does not accept Cookie header does not accept Cookie header allows adding cookies and retrieving allows adding cookies and retrieving allows retrieving the size of the cookies collection allows retrieving the size of the cookies collection allows clearing the cookies collection allows clearing the cookies collection allows deleting a particular cookie by key allows deleting a particular cookie by key adding request headers overwrites a pre-existing Cookie header overwrites a pre-existing Cookie header use encode_www_form to write the cookie's value use encode_www_form to write the cookie's value merges multiple cookies into one Cookie header merges multiple cookies into one Cookie header when no cookies are set does not set a Cookie header does not set a Cookie header adding response headers overwrites all pre-existing Set-Cookie headers overwrites all pre-existing Set-Cookie headers sets one Set-Cookie header per cookie sets one Set-Cookie header per cookie uses encode_www_form on Set-Cookie value uses encode_www_form on Set-Cookie value when no cookies are set does not set a Set-Cookie header does not set a Set-Cookie header disallows adding inconsistent state disallows adding inconsistent state allows to iterate over the cookies allows to iterate over the cookies allows transform to hash allows transform to hash HTTP::FormData .parse(IO, String) parses formdata parses formdata .parse(HTTP::Request) parses formdata parses formdata raises on empty body raises on empty body raises on no Content-Type raises on no Content-Type raises on invalid Content-Type raises on invalid Content-Type .parse_content_disposition(String) parses all Content-Disposition fields parses all Content-Disposition fields .build(IO, String) builds a message builds a message .build(HTTP::Server::Response, String) builds a message builds a message HTTP::Headers is empty is empty is case insensitive is case insensitive it allows indifferent access for underscore and dash separated keys it allows indifferent access for underscore and dash separated keys raises an error if header value contains invalid character raises an error if header value contains invalid character should retain the input casing should retain the input casing is gets with []? is gets with []? fetches with default value fetches with default value fetches with block fetches with block has key has key deletes deletes #== equals other instance equals other instance case-insensitive keys case-insensitive keys different internal representation different internal representation dups dups clones clones adds string adds string adds array of string adds array of string gets all values gets all values does to_s does to_s merges and return self merges and return self matches word matches word matches word with comma separated value matches word with comma separated value matches word with comma separated value, case insensitive (#3626) matches word with comma separated value, case insensitive (#3626) doesn't match empty string doesn't match empty string matches word with comma separated value, partial match matches word with comma separated value, partial match doesn't match word with comma separated value, partial match doesn't match word with comma separated value, partial match matches word with comma separated value, partial match (array) matches word with comma separated value, partial match (array) doesn't match word with comma separated value, partial match (array) doesn't match word with comma separated value, partial match (array) matches word among headers matches word among headers does not matches word if missing header does not matches word if missing header can create header value with all US-ASCII visible chars (#2999) can create header value with all US-ASCII visible chars (#2999) validates content validates content HTTP parses RFC 1123 parses RFC 1123 parses RFC 1123 without day name parses RFC 1123 without day name parses RFC 1036 parses RFC 1036 parses ANSI C parses ANSI C parses and is UTC (#2744) parses and is UTC (#2744) parses and is local (#2744) parses and is local (#2744) generates HTTP date without time zone without time zone with local time zone with local time zone .dequote_string dequotes a string dequotes a string .quote_string quotes a string quotes a string raises on invalid characters raises on invalid characters HTTP::Params is alias for URI::Params is alias for URI::Params HTTP::Request serialize GET serialize GET serialize GET (with query params) serialize GET (with query params) serialize GET (with cookie) serialize GET (with cookie) serialize GET (with cookies, from headers) serialize GET (with cookies, from headers) serialize POST (with body) serialize POST (with body) serialize POST (with bytes body) serialize POST (with bytes body) serialize POST (with io body, without content-length header) serialize POST (with io body, without content-length header) serialize POST (with io body, with content-length header) serialize POST (with io body, with content-length header) raises if serializing POST body with incorrect content-length (less then real) raises if serializing POST body with incorrect content-length (less then real) raises if serializing POST body with incorrect content-length (more then real) raises if serializing POST body with incorrect content-length (more then real) .from_io parses GET parses GET parses GET (just \n instead of \r\n) parses GET (just \n instead of \r\n) parses GET with query params parses GET with query params parses GET without \r parses GET without \r parses empty string (EOF), returns nil parses empty string (EOF), returns nil parses empty string (EOF), returns nil (no peek) parses empty string (EOF), returns nil (no peek) parses GET with spaces in request line parses GET with spaces in request line parses empty header parses empty header parses GET with cookie parses GET with cookie headers are case insensitive headers are case insensitive parses POST (with body) parses POST (with body) handles malformed request handles malformed request handles unsupported HTTP version handles unsupported HTTP version stores normalized case for common header name (lowercase) (#8060) stores normalized case for common header name (lowercase) (#8060) stores normalized case for common header name (capitalized) (#8060) stores normalized case for common header name (capitalized) (#8060) stores normalized case for common header name (mixed) (#8060) stores normalized case for common header name (mixed) (#8060) long request lines handles long URI handles long URI fails for too-long URI fails for too-long URI handles long URI with custom size handles long URI with custom size fails for too-long URI with custom size fails for too-long URI with custom size long headers handles long headers handles long headers fails for too-long headers fails for too-long headers handles long headers with custom size handles long headers with custom size fails for too-long headers with custom size fails for too-long headers with custom size long single header handles long header handles long header fails for too-long header fails for too-long header keep-alive is false by default in HTTP/1.0 is false by default in HTTP/1.0 is true in HTTP/1.0 if `Connection: keep-alive` header is present is true in HTTP/1.0 if `Connection: keep-alive` header is present is true by default in HTTP/1.1 is true by default in HTTP/1.1 is false in HTTP/1.1 if `Connection: close` header is present is false in HTTP/1.1 if `Connection: close` header is present #path returns parsed path returns parsed path falls back to / falls back to / #path= sets path sets path updates @resource updates @resource updates serialized form updates serialized form #query returns request's query returns request's query #query= sets query sets query updates @resource updates @resource updates serialized form updates serialized form #query_params returns parsed URI::Params returns parsed URI::Params happily parses when query is not a canonical url-encoded string happily parses when query is not a canonical url-encoded string affects #query when modified affects #query when modified updates @resource when modified updates @resource when modified updates serialized form when modified updates serialized form when modified is affected when #query is modified is affected when #query is modified gets request hostname from the headers gets request hostname from the headers #hostname #hostname gets request host with port from the headers gets request host with port from the headers doesn't raise on request with multiple Content_length headers doesn't raise on request with multiple Content_length headers raises if request has multiple and differing content-length headers raises if request has multiple and differing content-length headers #if_none_match reads single value reads single value reads * reads * reads multiple values reads multiple values #if_match reads single value reads single value reads * reads * reads multiple values reads multiple values HTTP::Status .new raises when given invalid status code raises when given invalid status code returns an instance when given defined status code returns an instance when given defined status code returns an instance when given undefined status code returns an instance when given undefined status code #code returns the status code returns the status code #informational? returns true when given 1xx status code returns true when given 1xx status code returns false unless given 1xx status code returns false unless given 1xx status code #success? returns true when given 2xx status code returns true when given 2xx status code returns false unless given 2xx status code returns false unless given 2xx status code #redirection? returns true when given 3xx status code returns true when given 3xx status code returns false unless given 3xx status code returns false unless given 3xx status code #client_error? returns true when given 4xx status code returns true when given 4xx status code returns false unless given 4xx status code returns false unless given 4xx status code #server_error? returns true when given 5xx status code returns true when given 5xx status code returns false unless given 5xx status code returns false unless given 5xx status code #description returns default description for status 200 returns default description for status 200 returns nil on non-existent status returns nil on non-existent status HTTP::WebSocket receive can read a small text packet can read a small text packet can read partial packets can read partial packets can read masked text message can read masked text message can read fragmented packets can read fragmented packets read ping packet read ping packet read ping packet in between fragmented packet read ping packet in between fragmented packet read long packet read long packet read very long packet read very long packet can read a close packet can read a close packet send sends long data with correct header sends long data with correct header sets binary opcode if used with slice sets binary opcode if used with slice stream sends continuous data and splits it to frames sends continuous data and splits it to frames sets opcode of first frame to binary if stream is called with binary = true sets opcode of first frame to binary if stream is called with binary = true send_masked sends the data with a bitmask sends the data with a bitmask sends long data with correct header sends long data with correct header close closes with code closes with code closes with message closes with message closes with message and code closes with message and code closes without message closes without message using IPv4 negotiates over HTTP correctly negotiates over HTTP correctly negotiates over HTTPS correctly negotiates over HTTPS correctly using IPv6 negotiates over HTTP correctly negotiates over HTTP correctly negotiates over HTTPS correctly negotiates over HTTPS correctly sends correct HTTP basic auth header sends correct HTTP basic auth header handshake fails if server does not switch protocols handshake fails if server does not switch protocols ignores body in upgrade response (malformed) ignores body in upgrade response (malformed) doesn't compress upgrade response body doesn't compress upgrade response body handshake fails if server does not verify Sec-WebSocket-Key Sec-WebSocket-Accept missing Sec-WebSocket-Accept missing Sec-WebSocket-Accept incorrect Sec-WebSocket-Accept incorrect HTTP::Client from String raises when not a host raises when not a host from URI has sane defaults has sane defaults detects HTTPS detects HTTPS keeps context keeps context doesn't take context for HTTP doesn't take context for HTTP allows for specified ports allows for specified ports raises error if not http schema raises error if not http schema raises error if URI is missing host raises error if URI is missing host yields to a block yields to a block from a host yields to a block yields to a block sends the host header ipv6 with brackets sends the host header ipv6 with brackets sends a 'connection: close' header on one-shot request sends a 'connection: close' header on one-shot request sends a 'connection: close' header on one-shot request with block sends a 'connection: close' header on one-shot request with block will retry a broken socket will retry a broken socket will retry once on connection error will retry once on connection error will not retry if IO::Error in request handling will not retry if IO::Error in request handling doesn't read the body if request was HEAD doesn't read the body if request was HEAD raises if URI is missing scheme raises if URI is missing scheme raises if URI is missing host raises if URI is missing host tests read_timeout tests read_timeout tests write_timeout tests write_timeout tests connect_timeout tests connect_timeout tests empty Content-Type tests empty Content-Type #set_defaults sets default Host header sets default Host header works with IO works with IO can specify host and port when initialized with IO can specify host and port when initialized with IO cannot reconnect when initialized with IO cannot reconnect when initialized with IO logging emit logs emit logs emit logs with block emit logs with block can be subclassed can be subclassed HTTP::Client::Response parses response with body parses response with body parses response with streamed body parses response with streamed body parses response with streamed body, huge content-length parses response with streamed body, huge content-length parses response with body without \r parses response with body without \r parses response with body but without content-length parses response with body but without content-length parses response with empty body but without content-length parses response with empty body but without content-length parses response without body parses response without body parses response without status message parses response without status message parses response with duplicated headers parses response with duplicated headers parses response with cookies parses response with cookies parses response with chunked body parses response with chunked body parses response with streamed chunked body parses response with streamed chunked body parses response with chunked body of size 0 parses response with chunked body of size 0 parses response ignoring body parses response ignoring body parses 204 response without body but Content-Length == 0 (#2512) parses 204 response without body but Content-Length == 0 (#2512) parses response without body but Content-Length == 0, block form (#8461) parses response without body but Content-Length == 0, block form (#8461) parses long request lines parses long request lines parses long headers parses long headers handle invalid IO missing HTTP header missing HTTP header unsupported version unsupported version missing status missing status invalid status invalid status doesn't sets content length for 1xx, 204 or 304 doesn't sets content length for 1xx, 204 or 304 raises when creating 1xx, 204 or 304 with body raises when creating 1xx, 204 or 304 with body serialize with body serialize with body serialize with body and cookies serialize with body and cookies sets content length from body sets content length from body sets content length even without body sets content length even without body serialize as chunked with body_io serialize as chunked with body_io serialize as not chunked with body_io if HTTP/1.0 serialize as not chunked with body_io if HTTP/1.0 returns no content_type when header is missing returns no content_type when header is missing returns content type and no charset returns content type and no charset returns content type and charset, removes semicolon returns content type and charset, removes semicolon returns content type and charset, removes quotes returns content type and charset, removes quotes returns content type and no charset, other parameter (#2520) returns content type and no charset, other parameter (#2520) returns content type and charset, removes semicolon, with multiple parameters (#2520) returns content type and charset, removes semicolon, with multiple parameters (#2520) returns content type as nil when empty (#8398) returns content type as nil when empty (#8398) returns status_code returns status_code creates Response with status code 204, no body and Content-Length == 0 (#2512) creates Response with status code 204, no body and Content-Length == 0 (#2512) deletes Content-Encoding and Content-Length headers after gzip decompression deletes Content-Encoding and Content-Length headers after gzip decompression deletes Content-Encoding and Content-Length headers after deflate decompression deletes Content-Encoding and Content-Length headers after deflate decompression success? returns true for the 2xx returns true for the 2xx returns false for other ranges returns false for other ranges HTTP::FormData::Builder builds valid form-data messages builds valid form-data messages #field converts value to a string converts value to a string #content_type calculates the content type calculates the content type #file fails after finish fails after finish #finish fails after finish fails after finish fails when no body parts fails when no body parts HTTP::FormData::Parser parses formdata parses formdata HTTP::Server::RequestProcessor works works reads consecutive requests when body is consumed when body is consumed with empty body with empty body fail if body is not consumed fail if body is not consumed closes connection when Connection: close closes connection when Connection: close closes connection when request body is not entirely consumed closes connection when request body is not entirely consumed continues when request body is entirely consumed continues when request body is entirely consumed handles IO::Error while reading handles IO::Error while reading handles IO::Error while writing handles IO::Error while writing handles IO::Error while flushing handles IO::Error while flushing catches raised error on handler and retains context from handler catches raised error on handler and retains context from handler doesn't respond with error when headers were already sent doesn't respond with error when headers were already sent flushes output buffer when an error happens and some content was already sent flushes output buffer when an error happens and some content was already sent does not bleed Log::Context between requests does not bleed Log::Context between requests HTTP::Server::Response closes closes does not automatically add the `content-length` header if the response is a 304 does not automatically add the `content-length` header if the response is a 304 does not automatically add the `content-length` header if the response is a 204 does not automatically add the `content-length` header if the response is a 204 does not automatically add the `content-length` header if the response is informational does not automatically add the `content-length` header if the response is informational allows specifying the content-length header explicitly allows specifying the content-length header explicitly prints less then buffer's size prints less then buffer's size prints less then buffer's size to output prints less then buffer's size to output prints more then buffer's size prints more then buffer's size prints with content length prints with content length prints with content length (method) prints with content length (method) doesn't override content-length when there's no body doesn't override content-length when there's no body adds header adds header sets content type sets content type sets status code sets status code retrieves status code retrieves status code changes status and others changes status and others flushes flushes wraps output wraps output writes and flushes with HTTP 1.0 writes and flushes with HTTP 1.0 resets and clears headers and cookies resets and clears headers and cookies writes cookie headers writes cookie headers closes when it fails to write closes when it fails to write #respond_with_status uses default values uses default values sends custom code and message sends custom code and message sends HTTP::Status sends HTTP::Status sends HTTP::Status and custom message sends HTTP::Status and custom message raises when response is closed raises when response is closed raises when headers written raises when headers written HTTP::Server binds to unused port binds to unused port doesn't raise on accept after close #2692 doesn't raise on accept after close #2692 closes the server closes the server reuses the TCP port (SO_REUSEPORT) reuses the TCP port (SO_REUSEPORT) binds to different ports binds to different ports handles Expect: 100-continue correctly when body is read handles Expect: 100-continue correctly when body is read handles Expect: 100-continue correctly when body isn't read handles Expect: 100-continue correctly when body isn't read lists addresses lists addresses #bind fails after listen fails after listen fails after close fails after close with URI accepts URI accepts URI accepts String accepts String parses TCP parses TCP parses SSL parses SSL fails SSL with invalid params fails SSL with invalid params fails with unknown scheme fails with unknown scheme #bind_tls binds SSL server context binds SSL server context #listen fails after listen fails after listen fails after close fails after close #bind_unix binds to different unix sockets binds to different unix sockets handles exception during SSL handshake (#6577) handles exception during SSL handshake (#6577) can process simultaneous SSL handshakes can process simultaneous SSL handshakes #close closes gracefully closes gracefully #remote_address / #local_address for http server for http server for https server for https server #max_request_line_size sets and gets size sets and gets size respects size on request respects size on request #max_request_line_size sets and gets size sets and gets size respects size on request respects size on request #max_headers_size sets and gets size sets and gets size respects size on request respects size on request HTTP::CompressHandler doesn't deflates if doesn't have 'deflate' in Accept-Encoding header doesn't deflates if doesn't have 'deflate' in Accept-Encoding header deflates if has deflate in 'deflate' Accept-Encoding header deflates if has deflate in 'deflate' Accept-Encoding header deflates gzip if has deflate in 'deflate' Accept-Encoding header deflates gzip if has deflate in 'deflate' Accept-Encoding header doesn't compress twice doesn't compress twice fix content-length header fix content-length header don't try to compress for empty body responses don't try to compress for empty body responses don't try to compress upgraded response don't try to compress upgraded response HTTP::ErrorHandler rescues from exception rescues from exception logs to custom logger logs to custom logger can return a generic error message can return a generic error message log debug message when the output is closed log debug message when the output is closed doesn't write errors when there is some output already sent doesn't write errors when there is some output already sent HTTP::Handler responds with not found if there's no next handler responds with not found if there's no next handler HTTP::LogHandler logs logs logs to custom logger logs to custom logger log failed request log failed request HTTP::StaticFileHandler serves a file serves a file adds Etag header adds Etag header adds Last-Modified header adds Last-Modified header with If-Modified-Since header returns 304 Not Modified for equal to Last-Modified returns 304 Not Modified for equal to Last-Modified returns 304 Not Modified for younger than Last-Modified returns 304 Not Modified for younger than Last-Modified serves content for older than Last-Modified serves content for older than Last-Modified with If-None-Match header returns 304 Not Modified if header matches etag returns 304 Not Modified if header matches etag serves file if header does not match etag serves file if header does not match etag returns 304 Not Modified if header is * returns 304 Not Modified if header is * serves file if header is empty serves file if header is empty serves file if header does not contain valid etag serves file if header does not contain valid etag with multiple If-None-Match header returns 304 Not Modified if at least one header matches etag returns 304 Not Modified if at least one header matches etag serves file if no header matches etag serves file if no header matches etag with both If-None-Match and If-Modified-Since headers ignores If-Modified-Since as specified in RFC 7232 ignores If-Modified-Since as specified in RFC 7232 serves a file if header does not match etag even If-Modified-Since is fresh serves a file if header does not match etag even If-Modified-Since is fresh lists directory's entries lists directory's entries does not list directory's entries when directory_listing is set to false does not list directory's entries when directory_listing is set to false does not serve a not found file does not serve a not found file does not serve a not found directory does not serve a not found directory does not serve a file as directory does not serve a file as directory handles only GET and HEAD method handles only GET and HEAD method expands a request path expands a request path unescapes a request path unescapes a request path returns 400 returns 400 handles invalid redirect path handles invalid redirect path serve compressed content serve compressed content still serve compressed content when modification time is very close still serve compressed content when modification time is very close doesn't serve compressed content if older than raw file doesn't serve compressed content if older than raw file HTTP::WebSocketHandler returns not found if the request is not an websocket upgrade returns not found if the request is not an websocket upgrade returns not found if the request Upgrade is invalid returns not found if the request Upgrade is invalid gives upgrade response for websocket upgrade request with 'Upgrade' request gives upgrade response for websocket upgrade request with 'Upgrade' request gives upgrade response for websocket upgrade request with 'keep-alive, Upgrade' request gives upgrade response for websocket upgrade request with 'keep-alive, Upgrade' request gives upgrade response for case-insensitive 'WebSocket' upgrade request gives upgrade response for case-insensitive 'WebSocket' upgrade request returns bad request if Sec-WebSocket-Key is missing returns bad request if Sec-WebSocket-Key is missing returns upgrade required if Sec-WebSocket-Version is missing returns upgrade required if Sec-WebSocket-Version is missing returns upgrade required if Sec-WebSocket-Version is invalid returns upgrade required if Sec-WebSocket-Version is invalid Indexable::Mutable(T) #[]= sets the value at the given index sets the value at the given index wraps negative indices wraps negative indices raises on out-of-bound indices raises on out-of-bound indices #update updates the value at the given index with the block updates the value at the given index with the block wraps negative indices wraps negative indices raises on out-of-bound indices raises on out-of-bound indices #swap exchanges the values at two indices exchanges the values at two indices wraps negative indices wraps negative indices raises on out-of-bound indices raises on out-of-bound indices #reverse! reverses the order of all elements in place reverses the order of all elements in place #fill without block sets all elements to the same value sets all elements to the same value with block yields index to the block and sets all elements yields index to the block and sets all elements with block + offset yields index plus offset to the block and sets all elements yields index plus offset to the block and sets all elements #map! replaces each element with the block value replaces each element with the block value #map_with_index! without offset yields each element and index to the block yields each element and index to the block with offset yields each element and index plus offset to the block yields each element and index plus offset to the block #shuffle! randomizes the order of all elements randomizes the order of all elements #rotate! left-shifts all elements left-shifts all elements IO::ARGF reads from STDIN if ARGV isn't specified reads from STDIN if ARGV isn't specified reads from ARGV if specified reads from ARGV if specified reads when is more data left to read reads when is more data left to read gets reads from STDIN if ARGV isn't specified reads from STDIN if ARGV isn't specified reads from STDIN if ARGV isn't specified, chomp = false reads from STDIN if ARGV isn't specified, chomp = false reads from ARGV if specified reads from ARGV if specified peek peeks from STDIN if ARGV isn't specified peeks from STDIN if ARGV isn't specified peeks from ARGV if specified peeks from ARGV if specified IO::Buffered can report buffer_size can report buffer_size can set buffer_size can set buffer_size can not set buffer_size after first use can not set buffer_size after first use does gets does gets does gets with chomp = false does gets with chomp = false does gets with big line does gets with big line does gets with big line and \r\n does gets with big line and \r\n does gets with big line and chomp = false does gets with big line and chomp = false does gets with char delimiter does gets with char delimiter does gets with unicode char delimiter does gets with unicode char delimiter does gets with limit does gets with limit does gets with char and limit does gets with char and limit does gets with char and limit without off-by-one does gets with char and limit without off-by-one does gets with char and limit when not found in buffer does gets with char and limit when not found in buffer does gets with char and limit when not found in buffer (2) does gets with char and limit when not found in buffer (2) raises if invoking gets with negative limit raises if invoking gets with negative limit writes bytes writes bytes reads char reads char reads byte reads byte does new with block does new with block rewinds rewinds reads more than the buffer's internal capacity reads more than the buffer's internal capacity writes more than the buffer's internal capacity writes more than the buffer's internal capacity does puts does puts does puts with big string does puts with big string does puts many times does puts many times flush_on_newline flushes on flushes on doesn't write past count doesn't write past count sync syncs (write) syncs (write) read_buffering works with IO#read works with IO#read works with IO#read (already buffered) works with IO#read (already buffered) works with IO#read_byte works with IO#read_byte works with IO#read_byte (already buffered) works with IO#read_byte (already buffered) shouldn't call unbuffered read if reading to an empty slice shouldn't call unbuffered read if reading to an empty slice peeks peeks skips skips skips big skips big encoding decode gets_to_end gets_to_end gets gets gets with chomp = false gets with chomp = false gets big string gets big string gets big EUC-JP string gets big EUC-JP string reads char reads char IO::ByteFormat little endian encode to io writes int8 writes int8 writes int16 writes int16 writes uint16 writes uint16 writes int32 writes int32 writes int64 writes int64 writes float32 writes float32 writes float64 writes float64 to slice writes int8 writes int8 writes int16 writes int16 writes int16 to larger slice writes int16 to larger slice decode from io reads int8 reads int8 reads int16 reads int16 reads unt16 reads unt16 reads int32 reads int32 reads int64 reads int64 reads float32 reads float32 reads float64 reads float64 from slice reads int8 reads int8 reads int16 reads int16 reads int16 from larger slice reads int16 from larger slice reads float32 reads float32 reads float64 reads float64 big endian encode writes int8 writes int8 writes int16 writes int16 writes int32 writes int32 writes int64 writes int64 writes float32 writes float32 writes float64 writes float64 decode from io reads int8 reads int8 reads int16 reads int16 reads unt16 reads unt16 reads int32 reads int32 reads int64 reads int64 reads float32 reads float32 reads float64 reads float64 from slice reads int8 reads int8 reads int16 reads int16 reads float32 reads float32 reads float64 reads float64 IO::Delimited #read doesn't read past the limit doesn't read past the limit doesn't read past the limit (char-by-char) doesn't read past the limit (char-by-char) doesn't clobber active_delimiter_buffer doesn't clobber active_delimiter_buffer handles the delimiter at the start handles the delimiter at the start handles the delimiter at the end handles the delimiter at the end handles nearly a delimiter at the end handles nearly a delimiter at the end doesn't clobber the buffer on closely-offset partial matches doesn't clobber the buffer on closely-offset partial matches handles partial reads handles partial reads #write raises raises #close stops reading stops reading closes the underlying stream if sync_close is true closes the underlying stream if sync_close is true IO::FileDescriptor reopen STDIN with the right mode reopen STDIN with the right mode IO::Hexdump read prints hexdump prints hexdump write prints hexdump prints hexdump IO partial read doesn't block on first read. blocks on 2nd read doesn't block on first read. blocks on 2nd read "#each_line" yielding "#each_line" yielding "#each_line" iterator "#each_line" iterator "#each_line(chomp: false)" yielding "#each_line(chomp: false)" yielding "#each_line(chomp: false)" iterator "#each_line(chomp: false)" iterator "#char" yielding "#char" yielding "#char" iterator "#char" iterator "#char" yielding "#char" yielding "#char" iterator "#char" iterator copies copies copies with limit copies with limit raises on copy with negative limit raises on copy with negative limit reopens reopens read operations does gets does gets does gets with \r\n does gets with \r\n does gets with \r\n, chomp true goes past \r does gets with \r\n, chomp true goes past \r does gets with chomp false does gets with chomp false does gets with big line does gets with big line does gets with char delimiter does gets with char delimiter does gets with unicode char delimiter does gets with unicode char delimiter gets with string as delimiter gets with string as delimiter gets with string as delimiter and chomp = true gets with string as delimiter and chomp = true gets with empty string as delimiter gets with empty string as delimiter gets with single byte string as delimiter gets with single byte string as delimiter does gets with limit does gets with limit does gets with char and limit does gets with char and limit raises if invoking gets with negative limit raises if invoking gets with negative limit does read_line with limit does read_line with limit does read_line with char and limit does read_line with char and limit reads all remaining content reads all remaining content reads char reads char reads byte reads byte reads string reads string does each_line does each_line does each_char does each_char does each_byte does each_byte raises on EOF with read_line raises on EOF with read_line raises on EOF with readline and delimiter raises on EOF with readline and delimiter does read_fully does read_fully does read_fully? does read_fully? raises if trying to read to an IO not opened for reading raises if trying to read to an IO not opened for reading .same_content? compares two ios, one way (true) compares two ios, one way (true) compares two ios, second way (true) compares two ios, second way (true) compares two ios, one way (false) compares two ios, one way (false) compares two ios, second way (false) compares two ios, second way (false) write operations does puts does puts does puts with big string does puts with big string does puts many times does puts many times puts several arguments puts several arguments prints prints prints several arguments prints several arguments writes bytes writes bytes writes with printf writes with printf writes with printf as an array writes with printf as an array skips a few bytes skips a few bytes skips but raises if not enough bytes skips but raises if not enough bytes skips more than 4096 bytes skips more than 4096 bytes skips to end skips to end raises if trying to write to an IO not opened for writing raises if trying to write to an IO not opened for writing encoding decode gets_to_end gets_to_end gets gets gets with chomp = false gets with chomp = false gets big string gets big string gets big EUC-JP string gets big EUC-JP string does gets on unicode with char and limit without off-by-one does gets on unicode with char and limit without off-by-one gets with limit gets with limit gets with limit (small, no newline) gets with limit (small, no newline) gets with non-ascii gets with non-ascii gets with non-ascii and chomp: false gets with non-ascii and chomp: false gets with limit (big) gets with limit (big) gets with string delimiter gets with string delimiter reads char reads char reads utf8 byte reads utf8 byte reads utf8 reads utf8 raises on incomplete byte sequence raises on incomplete byte sequence says invalid byte sequence says invalid byte sequence skips invalid byte sequences skips invalid byte sequences says invalid 'invalid' option says invalid 'invalid' option says invalid encoding says invalid encoding sets encoding to utf-8 and stays as UTF-8 sets encoding to utf-8 and stays as UTF-8 sets encoding to utf8 and stays as UTF-8 sets encoding to utf8 and stays as UTF-8 does skips when converting to UTF-8 does skips when converting to UTF-8 decodes incomplete multibyte sequence with skip (#3285) decodes incomplete multibyte sequence with skip (#3285) decodes incomplete multibyte sequence with skip (2) (#3285) decodes incomplete multibyte sequence with skip (2) (#3285) decodes incomplete multibyte sequence with skip (3) (#3285) decodes incomplete multibyte sequence with skip (3) (#3285) reads string reads string gets ascii from socket (#9056) gets ascii from socket (#9056) encode prints a string prints a string prints numbers prints numbers prints bool prints bool prints char prints char prints symbol prints symbol prints big int prints big int puts puts printf printf raises on invalid byte sequence raises on invalid byte sequence skips on invalid byte sequence skips on invalid byte sequence raises on incomplete byte sequence raises on incomplete byte sequence says invalid encoding says invalid encoding #encoding returns "UTF-8" if the encoding is not manually set returns "UTF-8" if the encoding is not manually set returns the name of the encoding set via #set_encoding returns the name of the encoding set via #set_encoding #close aborts 'read' in a different thread aborts 'read' in a different thread aborts 'write' in a different thread aborts 'write' in a different thread IO::Memory writes writes writes big writes big reads byte reads byte raises if reading when closed raises if reading when closed raises if clearing when closed raises if clearing when closed appends to another buffer appends to another buffer reads single line content reads single line content reads each line reads each line reads each line with chomp = false reads each line with chomp = false gets with char as delimiter gets with char as delimiter does gets with char and limit does gets with char and limit does gets with limit does gets with limit does gets with char and limit without off-by-one does gets with char and limit without off-by-one raises if invoking gets with negative limit raises if invoking gets with negative limit write single byte write single byte writes and reads writes and reads can be converted to slice can be converted to slice reads more than available (#1229) reads more than available (#1229) writes after reading writes after reading has a size has a size can tell can tell can seek set can seek set raises if seek set is negative raises if seek set is negative can seek past the end can seek past the end can seek current can seek current raises if seek current leads to negative value raises if seek current leads to negative value can seek from the end can seek from the end can be closed can be closed seeks with pos and pos= seeks with pos and pos= clears clears raises if negative capacity raises if negative capacity raises if capacity too big raises if capacity too big creates from string creates from string creates from slice creates from slice creates from slice, non-writeable creates from slice, non-writeable creates from read-only slice creates from read-only slice writes past end writes past end writes past end with write_byte writes past end with write_byte reads at offset reads at offset raises when reading at offset outside of bounds raises when reading at offset outside of bounds consumes with gets_to_end consumes with gets_to_end peeks peeks peek readonly peek readonly skips skips skips_to_end skips_to_end encoding decode gets_to_end gets_to_end gets gets gets with chomp = false gets with chomp = false reads char reads char IO::MultiWriter #write writes to multiple IOs writes to multiple IOs #read raises raises #close stops reading stops reading closes the underlying stream if sync_close is true closes the underlying stream if sync_close is true #flush writes to IO and File writes to IO and File IO::Sized #read doesn't read past the limit when reading char-by-char doesn't read past the limit when reading char-by-char doesn't read past the limit when reading the correct size doesn't read past the limit when reading the correct size reads partially when supplied with a larger slice reads partially when supplied with a larger slice allows extending the size allows extending the size raises on negative numbers raises on negative numbers #write raises raises #close stops reading stops reading closes the underlying stream if sync_close is true closes the underlying stream if sync_close is true read_byte read_byte gets gets gets with chomp = false gets with chomp = false peeks peeks doesn't peek when remaining = 0 (#4261) doesn't peek when remaining = 0 (#4261) skips skips IO::Stapled combines two IOs combines two IOs loops back loops back #close does not close underlying IOs does not close underlying IOs closes underlying IOs when sync_close is true closes underlying IOs when sync_close is true stops access to underlying IOs stops access to underlying IOs #sync_close? #sync_close? #peek delegates to reader #peek delegates to reader #skip delegates to reader #skip delegates to reader #skip_to_end delegates to reader #skip_to_end delegates to reader .pipe creates a bidirectional pipe creates a bidirectional pipe with block creates a bidirectional pipe with block creates a bidirectional pipe JSON::Any casts gets nil gets nil gets bool gets bool gets int32 gets int32 gets int64 gets int64 gets float32 gets float32 gets float64 gets float64 gets string gets string gets array gets array gets hash gets hash #size of array of array of hash of hash #[] of array of array of hash of hash #[]? of array of array of hash of hash #dig? gets the value at given path given splat gets the value at given path given splat returns nil if not found returns nil if not found returns nil for non-Hash/Array intermediary values returns nil for non-Hash/Array intermediary values dig gets the value at given path given splat gets the value at given path given splat raises if not found raises if not found traverses big structure traverses big structure compares to other objects compares to other objects can compare with === can compare with === exposes $~ when doing Regex#=== exposes $~ when doing Regex#=== dups dups clones clones #to_yaml #to_yaml JSON::Builder writes null writes null writes bool writes bool writes integer writes integer writes float writes float errors on nan errors on nan errors on infinity errors on infinity writes string writes string writes string with controls and slashes writes string with controls and slashes errors if writing before document start errors if writing before document start errors if writing two scalars errors if writing two scalars writes array writes array writes nested array writes nested array writes object writes object writes nested object writes nested object writes array with indent level writes array with indent level writes array with indent string writes array with indent string writes object with indent level writes object with indent level writes empty array with indent level writes empty array with indent level writes empty object with indent level writes empty object with indent level writes nested array writes nested array writes object with scalar and indent writes object with scalar and indent writes object with array and scalar and indent writes object with array and scalar and indent writes raw writes raw raises if nothing written raises if nothing written raises if array is left open raises if array is left open raises if object is left open raises if object is left open writes field with scalar in object writes field with scalar in object writes field with arbitrary value in object writes field with arbitrary value in object errors on max nesting (array) errors on max nesting (array) errors on max nesting (object) errors on max nesting (object) #next_is_object_key? #next_is_object_key? JSON::Lexer lexes from string lexes from string lexes from IO lexes from IO lexes { from string lexes { from string lexes { from IO lexes { from IO lexes } from string lexes } from string lexes } from IO lexes } from IO lexes [ from string lexes [ from string lexes [ from IO lexes [ from IO lexes ] from string lexes ] from string lexes ] from IO lexes ] from IO lexes , from string lexes , from string lexes , from IO lexes , from IO lexes : from string lexes : from string lexes : from IO lexes : from IO lexes : from string lexes : from string lexes : from IO lexes : from IO lexes true from string lexes true from string lexes true from IO lexes true from IO lexes false from string lexes false from string lexes false from IO lexes false from IO lexes null from string lexes null from string lexes null from IO lexes null from IO lexes "hello" from String lexes "hello" from String lexes "hello" from IO lexes "hello" from IO lexes "hello\"world" from String lexes "hello\"world" from String lexes "hello\"world" from IO lexes "hello\"world" from IO lexes "hello\\world" from String lexes "hello\\world" from String lexes "hello\\world" from IO lexes "hello\\world" from IO lexes "hello\/world" from String lexes "hello\/world" from String lexes "hello\/world" from IO lexes "hello\/world" from IO lexes "hello\bworld" from String lexes "hello\bworld" from String lexes "hello\bworld" from IO lexes "hello\bworld" from IO lexes "hello\fworld" from String lexes "hello\fworld" from String lexes "hello\fworld" from IO lexes "hello\fworld" from IO lexes "hello\nworld" from String lexes "hello\nworld" from String lexes "hello\nworld" from IO lexes "hello\nworld" from IO lexes "hello\rworld" from String lexes "hello\rworld" from String lexes "hello\rworld" from IO lexes "hello\rworld" from IO lexes "hello\tworld" from String lexes "hello\tworld" from String lexes "hello\tworld" from IO lexes "hello\tworld" from IO lexes "\u201chello world\u201d" from String lexes "\u201chello world\u201d" from String lexes "\u201chello world\u201d" from IO lexes "\u201chello world\u201d" from IO lexes "\uD800\uDC00" from String lexes "\uD800\uDC00" from String lexes "\uD800\uDC00" from IO lexes "\uD800\uDC00" from IO lexes "\uD840\uDC00" from String lexes "\uD840\uDC00" from String lexes "\uD840\uDC00" from IO lexes "\uD840\uDC00" from IO lexes "\uDBFF\uDFFF" from String lexes "\uDBFF\uDFFF" from String lexes "\uDBFF\uDFFF" from IO lexes "\uDBFF\uDFFF" from IO lexes "\uD834\uDD1E" from String lexes "\uD834\uDD1E" from String lexes "\uD834\uDD1E" from IO lexes "\uD834\uDD1E" from IO errors if lexing "\uD800" from String errors if lexing "\uD800" from String errors if lexing "\uD800" from IO errors if lexing "\uD800" from IO errors if lexing "\uDC00" from String errors if lexing "\uDC00" from String errors if lexing "\uDC00" from IO errors if lexing "\uDC00" from IO errors if lexing "\uD800\u0020" from String errors if lexing "\uD800\u0020" from String errors if lexing "\uD800\u0020" from IO errors if lexing "\uD800\u0020" from IO lexes 0 from String lexes 0 from String lexes 0 from IO lexes 0 from IO lexes 1 from String lexes 1 from String lexes 1 from IO lexes 1 from IO lexes 1234 from String lexes 1234 from String lexes 1234 from IO lexes 1234 from IO lexes 0.123 from String lexes 0.123 from String lexes 0.123 from IO lexes 0.123 from IO lexes 1234.567 from String lexes 1234.567 from String lexes 1234.567 from IO lexes 1234.567 from IO lexes 0e1 from String lexes 0e1 from String lexes 0e1 from IO lexes 0e1 from IO lexes 0E1 from String lexes 0E1 from String lexes 0E1 from IO lexes 0E1 from IO lexes 0.1e1 from String lexes 0.1e1 from String lexes 0.1e1 from IO lexes 0.1e1 from IO lexes 0e+12 from String lexes 0e+12 from String lexes 0e+12 from IO lexes 0e+12 from IO lexes 0e-12 from String lexes 0e-12 from String lexes 0e-12 from IO lexes 0e-12 from IO lexes 1e2 from String lexes 1e2 from String lexes 1e2 from IO lexes 1e2 from IO lexes 1E2 from String lexes 1E2 from String lexes 1E2 from IO lexes 1E2 from IO lexes 1e+12 from String lexes 1e+12 from String lexes 1e+12 from IO lexes 1e+12 from IO lexes 1.2e-3 from String lexes 1.2e-3 from String lexes 1.2e-3 from IO lexes 1.2e-3 from IO lexes 9.91343313498688 from String lexes 9.91343313498688 from String lexes 9.91343313498688 from IO lexes 9.91343313498688 from IO lexes -1 from String lexes -1 from String lexes -1 from IO lexes -1 from IO lexes -1.23 from String lexes -1.23 from String lexes -1.23 from IO lexes -1.23 from IO lexes -1.23e4 from String lexes -1.23e4 from String lexes -1.23e4 from IO lexes -1.23e4 from IO lexes -1.23e4 from String lexes -1.23e4 from String lexes -1.23e4 from IO lexes -1.23e4 from IO lexes 1000000000000000000.0 from String lexes 1000000000000000000.0 from String lexes 1000000000000000000.0 from IO lexes 1000000000000000000.0 from IO lexes 6000000000000000000.0 from String lexes 6000000000000000000.0 from String lexes 6000000000000000000.0 from IO lexes 6000000000000000000.0 from IO lexes 9000000000000000000.0 from String lexes 9000000000000000000.0 from String lexes 9000000000000000000.0 from IO lexes 9000000000000000000.0 from IO lexes 9876543212345678987654321.0 from String lexes 9876543212345678987654321.0 from String lexes 9876543212345678987654321.0 from IO lexes 9876543212345678987654321.0 from IO lexes 9876543212345678987654321e20 from String lexes 9876543212345678987654321e20 from String lexes 9876543212345678987654321e20 from IO lexes 9876543212345678987654321e20 from IO lexes 10.100000000000000000000 from String lexes 10.100000000000000000000 from String lexes 10.100000000000000000000 from IO lexes 10.100000000000000000000 from IO JSON::Parser parses 1 parses 1 parses 2.5 parses 2.5 parses "hello" parses "hello" parses true parses true parses false parses false parses null parses null parses [] parses [] parses [1] parses [1] parses [1, 2, 3] parses [1, 2, 3] parses [1.5] parses [1.5] parses [null] parses [null] parses [true] parses [true] parses [false] parses [false] parses ["hello"] parses ["hello"] parses [0] parses [0] parses [ 0 ] parses [ 0 ] parses {} parses {} parses {"foo": 1} parses {"foo": 1} parses {"foo": 1, "bar": 1.5} parses {"foo": 1, "bar": 1.5} parses {"fo\no": 1} parses {"fo\no": 1} parses [[1]] parses [[1]] parses [{"foo": 1}] parses [{"foo": 1}] parses ["日"] parses ["日"] raises on parse [1,] raises on parse [1,] raises on parse {"foo": 1,} raises on parse {"foo": 1,} raises on parse {1} raises on parse {1} raises on parse {"foo"1} raises on parse {"foo"1} raises on parse "{"foo":} raises on parse "{"foo":} raises on parse [0]1 raises on parse [0]1 raises on parse [0] 1 raises on parse [0] 1 raises on parse ["\u123z"] raises on parse ["\u123z"] raises on parse [1 true] raises on parse [1 true] raises on parse {"foo": 1 "bar": 2} raises on parse {"foo": 1 "bar": 2} raises on parse [2.] raises on parse [2.] raises on parse "hello world" raises on parse "hello world" raises on parse "\u201cello world" raises on parse "\u201cello world" raises on parse "hello world" raises on parse "hello world" raises on parse "\u201cello world" raises on parse "\u201cello world" raises on parse 1 raises on parse 1 prevents stack overflow for arrays prevents stack overflow for arrays prevents stack overflow for hashes prevents stack overflow for hashes returns raw returns raw JSON::PullParser parses null parses null parses false parses false parses true parses true parses 1 parses 1 parses 1.5 parses 1.5 parses "hello" parses "hello" parses [] parses [] parses [[]] parses [[]] parses [1] parses [1] parses [1.5] parses [1.5] parses [null] parses [null] parses [true] parses [true] parses [false] parses [false] parses ["hello"] parses ["hello"] parses [1, 2] parses [1, 2] parses {} parses {} parses {"foo": 1} parses {"foo": 1} parses {"foo": "bar"} parses {"foo": "bar"} parses {"foo": [1, 2]} parses {"foo": [1, 2]} parses {"foo": 1, "bar": 2} parses {"foo": 1, "bar": 2} parses {"foo": "foo1", "bar": "bar1"} parses {"foo": "foo1", "bar": "bar1"} errors on [null 2] errors on [null 2] errors on [false 2] errors on [false 2] errors on [true 2] errors on [true 2] errors on [1 2] errors on [1 2] errors on [1.5 2] errors on [1.5 2] errors on ["hello" 2] errors on ["hello" 2] errors on [,1] errors on [,1] errors on [}] errors on [}] errors on [ errors on [ errors on {,"foo": 1} errors on {,"foo": 1} errors on []] errors on []] errors on {}} errors on {}} errors on {"foo",1} errors on {"foo",1} errors on {"foo"::1} errors on {"foo"::1} errors on ["foo":1] errors on ["foo":1] errors on {"foo": []:1} errors on {"foo": []:1} errors on [[] errors on [[] errors on {"foo": {} errors on {"foo": {} errors on {"name": "John", "age", 1} errors on {"name": "John", "age", 1} errors on {"name": "John", "age": "foo", "bar"} errors on {"name": "John", "age": "foo", "bar"} parses when the input IO is already empty parses when the input IO is already empty prevents stack overflow for arrays prevents stack overflow for arrays prevents stack overflow for hashes prevents stack overflow for hashes errors on [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] errors on [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] errors on {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} errors on {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} skip skips null skips null skips bool skips bool skips int skips int skips float skips float skips string skips string skips array skips array skips object skips object reads bool or null reads bool or null reads int or null reads int or null reads float or null reads float or null reads string or null reads string or null reads array or null reads array or null reads object or null reads object or null on key finds key finds key yields parser yields parser doesn't find key doesn't find key finds key with bang finds key with bang yields parser with bang yields parser with bang doesn't find key with bang doesn't find key with bang reads float when it is an int reads float when it is an int yields all keys when skipping 1 yields all keys when skipping 1 yields all keys when skipping [1] yields all keys when skipping [1] yields all keys when skipping {"x": [1]} yields all keys when skipping {"x": [1]} raw parses raw "null" parses raw "null" parses raw "true" parses raw "true" parses raw "false" parses raw "false" parses raw "1234" parses raw "1234" parses raw "1234.5678" parses raw "1234.5678" parses raw "\"hello\"" parses raw "\"hello\"" parses raw "[1,\"hello\",true,false,null,[1,2,3]]" parses raw "[1,\"hello\",true,false,null,[1,2,3]]" parses raw "{\"foo\":[1,2,{\"bar\":[1,\"hello\",true,false,1.5]}]}" parses raw "{\"foo\":[1,2,{\"bar\":[1,\"hello\",true,false,1.5]}]}" parses raw "{\"foo\":\"bar\"}" parses raw "{\"foo\":\"bar\"}" read? reads Int8 when the token is a compatible kind reads Int8 when the token is a compatible kind returns nil instead of Int8 when the token is not compatible returns nil instead of Int8 when the token is not compatible reads Int16 when the token is a compatible kind reads Int16 when the token is a compatible kind returns nil instead of Int16 when the token is not compatible returns nil instead of Int16 when the token is not compatible reads Int32 when the token is a compatible kind reads Int32 when the token is a compatible kind returns nil instead of Int32 when the token is not compatible returns nil instead of Int32 when the token is not compatible reads Int64 when the token is a compatible kind reads Int64 when the token is a compatible kind returns nil instead of Int64 when the token is not compatible returns nil instead of Int64 when the token is not compatible reads UInt8 when the token is a compatible kind reads UInt8 when the token is a compatible kind returns nil instead of UInt8 when the token is not compatible returns nil instead of UInt8 when the token is not compatible reads UInt16 when the token is a compatible kind reads UInt16 when the token is a compatible kind returns nil instead of UInt16 when the token is not compatible returns nil instead of UInt16 when the token is not compatible reads UInt32 when the token is a compatible kind reads UInt32 when the token is a compatible kind returns nil instead of UInt32 when the token is not compatible returns nil instead of UInt32 when the token is not compatible reads UInt64 when the token is a compatible kind reads UInt64 when the token is a compatible kind returns nil instead of UInt64 when the token is not compatible returns nil instead of UInt64 when the token is not compatible reads Float32 when the token is a compatible kind reads Float32 when the token is a compatible kind returns nil instead of Float32 when the token is not compatible returns nil instead of Float32 when the token is not compatible reads Float64 when the token is a compatible kind reads Float64 when the token is a compatible kind returns nil instead of Float64 when the token is not compatible returns nil instead of Float64 when the token is not compatible reads String when the token is a compatible kind reads String when the token is a compatible kind returns nil instead of String when the token is not compatible returns nil instead of String when the token is not compatible reads Bool when the token is a compatible kind reads Bool when the token is a compatible kind returns nil instead of Bool when the token is not compatible returns nil instead of Bool when the token is not compatible reads Float32: -3.4028235e+38 reads Float32: -3.4028235e+38 reads Float32: -10.0 reads Float32: -10.0 reads Float32: 0.0 reads Float32: 0.0 reads Float32: 10.0 reads Float32: 10.0 reads Float32: 3.4028235e+38 reads Float32: 3.4028235e+38 reads Float64: -1.7976931348623157e+308 reads Float64: -1.7976931348623157e+308 reads Float64: -10.0 reads Float64: -10.0 reads Float64: 0.0 reads Float64: 0.0 reads Float64: 10.0 reads Float64: 10.0 reads Float64: 1.7976931348623157e+308 reads Float64: 1.7976931348623157e+308 reads Int64: -9223372036854775808 reads Int64: -9223372036854775808 reads Int64: -10 reads Int64: -10 reads Int64: 0 reads Int64: 0 reads Int64: 10 reads Int64: 10 reads Int64: 9223372036854775807 reads Int64: 9223372036854775807 reads > Int64::MAX reads > Int64::MAX reads < Int64::MIN reads < Int64::MIN reads > Float32::MAX reads > Float32::MAX reads < Float32::MIN reads < Float32::MIN reads > UInt64::MAX reads > UInt64::MAX reads > Float64::MAX reads > Float64::MAX reads < Float64::MIN reads < Float64::MIN returns nil in place of Int8 when an overflow occurs returns nil in place of Int8 when an overflow occurs returns nil in place of Int16 when an overflow occurs returns nil in place of Int16 when an overflow occurs returns nil in place of Int32 when an overflow occurs returns nil in place of Int32 when an overflow occurs returns nil in place of UInt8 when an overflow occurs returns nil in place of UInt8 when an overflow occurs returns nil in place of UInt16 when an overflow occurs returns nil in place of UInt16 when an overflow occurs returns nil in place of UInt32 when an overflow occurs returns nil in place of UInt32 when an overflow occurs returns nil in place of UInt64 when an overflow occurs returns nil in place of UInt64 when an overflow occurs returns nil in place of Float32 when an overflow occurs returns nil in place of Float32 when an overflow occurs doesn't accept nan or infinity doesn't accept nan or infinity #raise #raise JSON mapping works with record works with record empty class empty class empty class with unmapped empty class with unmapped parses person parses person parses person without age parses person without age parses array of people parses array of people works with class with two fields works with class with two fields does to_json does to_json parses person with unknown attributes parses person with unknown attributes parses strict person with unknown attributes parses strict person with unknown attributes should parse extra fields (JSONAttrPersonExtraFields with on_unknown_json_attribute) should parse extra fields (JSONAttrPersonExtraFields with on_unknown_json_attribute) should to store extra fields (JSONAttrPersonExtraFields with on_to_json) should to store extra fields (JSONAttrPersonExtraFields with on_to_json) raises if non-nilable attribute is nil raises if non-nilable attribute is nil raises if not an object raises if not an object raises if data type does not match raises if data type does not match doesn't emit null by default when doing to_json doesn't emit null by default when doing to_json emits null on request when doing to_json emits null on request when doing to_json emit_nulls option emit_nulls option doesn't raises on false value when not-nil doesn't raises on false value when not-nil parses UUID parses UUID parses json with Time::Format converter parses json with Time::Format converter allows setting a nilable property to nil allows setting a nilable property to nil parses simple mapping parses simple mapping outputs with converter when nilable outputs with converter when nilable outputs with converter when nilable when emit_null is true outputs with converter when nilable when emit_null is true outputs JSON with properties key outputs JSON with properties key parses json with keywords parses json with keywords parses json with any parses json with any parses json with problematic keys parses json with problematic keys parses json array as set parses json array as set allows small types of integer allows small types of integer parses json with defaults mixed mixed bool bool with nilable with nilable create new array every time create new array every time uses Time::EpochConverter uses Time::EpochConverter uses Time::EpochMillisConverter uses Time::EpochMillisConverter parses raw value from int parses raw value from int parses raw value from float parses raw value from float parses raw value from object parses raw value from object parses with root parses with root parses with nilable root parses with nilable root parses with nilable root and emit null parses with nilable root and emit null parses nilable union parses nilable union parses nilable union2 parses nilable union2 parses JSON with presence markers parses person with absent attributes parses person with absent attributes with query attributes defines query getter defines query getter defines query getter with class restriction defines query getter with class restriction defines non-query setter and presence methods defines non-query setter and presence methods maps non-query attributes maps non-query attributes raises if non-nilable attribute is nil raises if non-nilable attribute is nil BigDecimal parses json string with BigDecimal parses json string with BigDecimal parses large json ints with BigDecimal parses large json ints with BigDecimal parses json float with BigDecimal parses json float with BigDecimal parses large precision json floats with BigDecimal parses large precision json floats with BigDecimal work with module and inheritance assert assert assert assert assert assert assert assert works together with yaml works together with yaml yaml and json with after_initialize hook yaml and json with after_initialize hook json with selective serialization json with selective serialization use_json_discriminator deserializes with discriminator deserializes with discriminator raises if missing discriminator raises if missing discriminator raises if unknown discriminator value raises if unknown discriminator value deserializes with variable discriminator value type deserializes with variable discriminator value type namespaced classes lets default values use the object's own namespace lets default values use the object's own namespace JSON serialization from_json does String.from_json does String.from_json does Path.from_json does Path.from_json does Array(Nil)#from_json does Array(Nil)#from_json does Array(Bool)#from_json does Array(Bool)#from_json does Array(Int32)#from_json does Array(Int32)#from_json does Array(Int64)#from_json does Array(Int64)#from_json does Array(Float32)#from_json does Array(Float32)#from_json does Array(Float64)#from_json does Array(Float64)#from_json does Deque(String)#from_json does Deque(String)#from_json does Hash(String, String)#from_json does Hash(String, String)#from_json does Hash(String, Int32)#from_json does Hash(String, Int32)#from_json does Hash(Int32, String)#from_json does Hash(Int32, String)#from_json does Hash(Float32, String)#from_json does Hash(Float32, String)#from_json does Hash(Float64, String)#from_json does Hash(Float64, String)#from_json does Hash(BigInt, String)#from_json does Hash(BigInt, String)#from_json does Hash(BigFloat, String)#from_json does Hash(BigFloat, String)#from_json does Hash(BigDecimal, String)#from_json does Hash(BigDecimal, String)#from_json raises an error Hash(String, Int32)#from_json with null value raises an error Hash(String, Int32)#from_json with null value does for Array(Int32) from IO does for Array(Int32) from IO does for Array(Int32) with block does for Array(Int32) with block does for tuple does for tuple does for named tuple does for named tuple does for named tuple with nilable fields (#8089) does for named tuple with nilable fields (#8089) does for named tuple with nilable fields and null (#8089) does for named tuple with nilable fields and null (#8089) does for named tuple with spaces in key (#10918) does for named tuple with spaces in key (#10918) does for named tuple with spaces in key and quote char (#10918) does for named tuple with spaces in key and quote char (#10918) does for BigInt does for BigInt raises for BigInt from unsupported types raises for BigInt from unsupported types does for BigFloat does for BigFloat does for BigFloat from int does for BigFloat from int does for BigFloat from string does for BigFloat from string raises for BigFloat from unsupported types raises for BigFloat from unsupported types does for UUID (hyphenated) does for UUID (hyphenated) does for UUID (hex) does for UUID (hex) does for UUID (urn) does for UUID (urn) does for BigDecimal from int does for BigDecimal from int does for BigDecimal from float does for BigDecimal from float does for BigDecimal from string does for BigDecimal from string raises for BigDecimal from unsupported types raises for BigDecimal from unsupported types Enum normal enum normal enum flag enum flag enum Enum::ValueConverter.from_json normal enum normal enum flag enum flag enum deserializes with root deserializes with root deserializes union deserializes union deserializes union with bool (fast path) deserializes union with bool (fast path) deserializes union with Int8 (fast path) deserializes union with Int8 (fast path) deserializes union with Int16 (fast path) deserializes union with Int16 (fast path) deserializes union with Int32 (fast path) deserializes union with Int32 (fast path) deserializes union with Int64 (fast path) deserializes union with Int64 (fast path) deserializes union with UInt8 (fast path) deserializes union with UInt8 (fast path) deserializes union with UInt16 (fast path) deserializes union with UInt16 (fast path) deserializes union with UInt32 (fast path) deserializes union with UInt32 (fast path) deserializes union with UInt64 (fast path) deserializes union with UInt64 (fast path) deserializes union with Float32 (fast path) deserializes union with Float32 (fast path) deserializes union with Float64 (fast path) deserializes union with Float64 (fast path) deserializes union of Int32 and Float64 (#7333) deserializes union of Int32 and Float64 (#7333) deserializes unions of the same kind and remains stable deserializes unions of the same kind and remains stable deserializes Time deserializes Time parse exceptions has correct location when raises in NamedTuple#from_json has correct location when raises in NamedTuple#from_json has correct location when raises in Union#from_json has correct location when raises in Union#from_json captures overflows for integer types captures overflows for integer types to_json does for Nil does for Nil does for Bool does for Bool does for Int32 does for Int32 does for Float64 does for Float64 raises if Float is NaN raises if Float is NaN raises if Float is infinity raises if Float is infinity does for String does for String does for String with quote does for String with quote does for String with slash does for String with slash does for String with control codes does for String with control codes does for String with control codes in a few places does for String with control codes in a few places does for Path does for Path does for Array does for Array does for Deque does for Deque does for Set does for Set does for Hash does for Hash does for Hash with symbol keys does for Hash with symbol keys does for Hash with int keys does for Hash with int keys does for Hash with Float32 keys does for Hash with Float32 keys does for Hash with Float64 keys does for Hash with Float64 keys does for Hash with BigInt keys does for Hash with BigInt keys does for Hash with newlines does for Hash with newlines does for Tuple does for Tuple does for NamedTuple does for NamedTuple Enum normal enum normal enum flag enum flag enum Enum::ValueConverter normal enum normal enum flag enum flag enum does for BigInt does for BigInt does for BigFloat does for BigFloat does for BigDecimal does for BigDecimal does for UUID does for UUID to_pretty_json does for Nil does for Nil does for Bool does for Bool does for Int32 does for Int32 does for Float64 does for Float64 does for String does for String does for Array does for Array does for nested Array does for nested Array does for empty Array does for empty Array does for Hash does for Hash does for nested Hash does for nested Hash does for empty Hash does for empty Hash does for Array with indent does for Array with indent does for nested Hash with indent does for nested Hash with indent Time #to_json #to_json omit sub-second precision omit sub-second precision provide symmetric encoding and decoding for Union types provide symmetric encoding and decoding for Union types LLVM::ABI::AArch64 align for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array size for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array abi_info does with primitives does with primitives does with structs less than 64 bits does with structs less than 64 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits LLVM::ABI::ARM align for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array size for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array abi_info does with primitives does with primitives does with structs less than 64 bits does with structs less than 64 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits LLVM .normalize_triple works works substitutes unknown for empty components substitutes unknown for empty components LLVM::Type .const_int support Int64 support Int64 support Int128 support Int128 LLVM::ABI::X86_64 align for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array size for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array abi_info does with primitives does with primitives does with structs less than 64 bits does with structs less than 64 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits LLVM::ABI::X86 align for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array size for integer for integer for pointer for pointer for float for float for double for double for struct for struct for packed struct for packed struct for array for array abi_info does with primitives does with primitives does with structs less than 64 bits does with structs less than 64 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits does with structs between 64 and 128 bits Log::BroadcastBackend writes to the backend based on level writes to the backend based on level overwriting log level overwrites to all backends overwriting log level overwrites to all backends #min_level on empty on empty single backend single backend multiple backends multiple backends Log::Builder creates a log with nil backend creates a log with nil backend creates a log with single backend creates a log with single backend creates a log with broadcast backend creates a log with broadcast backend uses last level for a source x backend uses last level for a source x backend uses last level for a source x backend (single-backend) uses last level for a source x backend (single-backend) returns log with backend if pattern matches returns log with backend if pattern matches returns log without backend if pattern does not match returns log without backend if pattern does not match can turn off parent and allow child source can turn off parent and allow child source returns same instance returns same instance can reconfigures existing logs can reconfigures existing logs removes all logs backends on .clear removes all logs backends on .clear should allow collection of unreferenced logs should allow collection of unreferenced logs should allow recreation of deallocated logs should allow recreation of deallocated logs .matches on top-level on top-level on first level on first level on second level on second level on third level on third level avoids prefix collision avoids prefix collision Log.context can be set and cleared can be set and cleared is extended by set is extended by set existing keys are overwritten by set existing keys are overwritten by set is restored after with_context is restored after with_context is restored after with_context of Log instance is restored after with_context of Log instance is per fiber is per fiber is assignable from a hash with symbol keys is assignable from a hash with symbol keys is assignable from a named tuple is assignable from a named tuple Log::Dispatcher create dispatcher from enum create dispatcher from enum Log::DirectDispatcher dispatches entry dispatches entry Log::SyncDispatcher dispatches entry dispatches entry Log::AsyncDispatcher dispatches entry dispatches entry wait for entries to flush before closing wait for entries to flush before closing can be closed twice can be closed twice Log.setup_from_env backend is a IOBackend is a IOBackend can be changed can be changed default_level is info is info is used if no LOG_LEVEL is set is used if no LOG_LEVEL is set is not used if LOG_LEVEL is set is not used if LOG_LEVEL is set default_sources is * is * is used is used splits sources by comma splits sources by comma raises on invalid level raises on invalid level Log::ShortFormat formats an entry formats an entry hides the source if empty hides the source if empty shows the context data shows the context data shows context and entry data shows context and entry data appends the exception appends the exception Log::ProcFormatter formats formats Log::TestFormatter formats formats Log::IOBackend creates with defaults creates with defaults logs messages logs messages logs context logs context logs any object logs any object formats message formats message uses custom formatter uses custom formatter allows setting formatter in initializer allows setting formatter in initializer yields message yields message Log Log::Severity values are ordered values are ordered parses parses filter messages to the backend above level only filter messages to the backend above level only level can be changed level can be changed can attach exception to entries can attach exception to entries contains the current context contains the current context context can be changed within the block, yet it's not restored context can be changed within the block, yet it's not restored emitter dsl can be used with message can be used with message can be used with message and exception can be used with message and exception can be used with message and metadata explicitly can be used with message and metadata explicitly can be used with message and data via named arguments can be used with message and data via named arguments can be used with message and data via named tuple can be used with message and data via named tuple can be used with exception can be used with exception can be used with data only explicitly can be used with data only explicitly can be used with data only via named arguments can be used with data only via named arguments can be used with data only via named tuple can be used with data only via named tuple Log can build sources from nested can build sources from nested can build with level override can build with level override can build nested with level override can build nested with level override can build for module type can build for module type can build for class can build for class can build for generic class (ignores generic args) can build for generic class (ignores generic args) can build for structs can build for structs building for type ignores parent source (types are absolute sources) building for type ignores parent source (types are absolute sources) can build with Log = ::Log.for(self) can build with Log = ::Log.for(self) Log::Metadata empty empty empty? empty? extend extend extend against empty values without creating a new instance extend against empty values without creating a new instance == == json json defrags defrags [] [] []? []? Log::Metadata::Value initialize initialize accessors accessors json json log/spec yield and returns the dsl yield and returns the dsl allows matching logs allows matching logs can get the entry matched by check can get the entry matched by check allows matching non-consecutive logs allows matching non-consecutive logs allows matching logs strictly allows matching logs strictly can get the entry matched by next can get the entry matched by next fails on non-consecutive logs fails on non-consecutive logs fails on non-empty logs fails on non-empty logs entries can be cleared entries can be cleared allows matching with regex allows matching with regex can capture in different checkers can capture in different checkers can capture with source pattern can capture with source pattern can capture from all sources can capture from all sources it does not capture below level it does not capture below level MIME::MediaType .new create new instance create new instance raises for invalid parameter name raises for invalid parameter name .parse parses media type parses media type parses params parses params parses params with encoding parses params with encoding sets default charset to utf-8 for text media types sets default charset to utf-8 for text media types #sub_type #sub_type #type #type #to_s #to_s #fetch #fetch #[]= #[]= #each_parameter #each_parameter MIME::Multipart .parse parses multipart messages parses multipart messages .parse_boundary parses unquoted boundaries parses unquoted boundaries parses quoted boundaries parses quoted boundaries .parse parses multipart messages parses multipart messages MIME::Multipart::Builder generates valid multipart messages generates valid multipart messages generates valid multipart messages with preamble and epilogue generates valid multipart messages with preamble and epilogue #content_type calculates the content type calculates the content type .preamble accepts different data types accepts different data types raises when called after starting the body raises when called after starting the body .body_part accepts different data types accepts different data types raises when called after finishing raises when called after finishing raises when called after epilogue raises when called after epilogue .epilogue accepts different data types accepts different data types raises when called after finishing raises when called after finishing raises when called with no body parts raises when called with no body parts .finish raises if no body exists raises if no body exists raises if already finished raises if already finished MIME::Multipart::Parser parses basic multipart messages parses basic multipart messages parses messages with preambles and epilogues parses messages with preambles and epilogues handles invalid multipart data handles invalid multipart data handles padding handles padding raises calling #next after finished raises calling #next after finished raises calling #next after errored raises calling #next after errored handles break/next in blocks handles break/next in blocks OAuth::AccessToken creates from response body creates from response body OAuth::AuthorizationHeader builds builds OAuth::Consumer gets authorize uri without callback url without callback url with callback url with callback url without custom authorize uri without custom authorize uri without block without block with absolute uri with absolute uri OAuth::Params builds builds OAuth::RequestToken creates from response creates from response OAuth::Signature key gets when token secret is empty gets when token secret is empty gets when token secret is not empty gets when token secret is not empty base string computes without port in host computes without port in host computes with port in host computes with port in host computes when TLS computes when TLS does twitter sample does twitter sample OAuth2::AccessToken::Bearer builds from json builds from json dumps to json dumps to json authenticates request authenticates request builds from json without expires_in (#4041) builds from json without expires_in (#4041) builds from json with unknown key (#4437) builds from json with unknown key (#4437) builds from json without token_type, assumes Bearer (#4503) builds from json without token_type, assumes Bearer (#4503) OAuth2::AccessToken::Mac builds from json builds from json builds with null refresh token builds with null refresh token dumps to json dumps to json authenticates request authenticates request computes signature computes signature OAuth2::Client authorization uri gets with default endpoint gets with default endpoint gets with custom endpoint gets with custom endpoint gets with state gets with state gets with block gets with block gets with absolute uri gets with absolute uri get_access_token_using_* using HTTP Basic authentication to pass credentials #get_access_token_using_authorization_code #get_access_token_using_authorization_code configures HTTP::Client configures HTTP::Client #get_access_token_using_resource_owner_credentials #get_access_token_using_resource_owner_credentials #get_access_token_using_client_credentials #get_access_token_using_client_credentials #get_access_token_using_refresh_token #get_access_token_using_refresh_token using Request Body to pass credentials #get_access_token_using_authorization_code #get_access_token_using_authorization_code #get_access_token_using_resource_owner_credentials #get_access_token_using_resource_owner_credentials #get_access_token_using_client_credentials #get_access_token_using_client_credentials #get_access_token_using_refresh_token #get_access_token_using_refresh_token OpenSSL::Cipher encrypts/decrypts encrypts/decrypts authenticated? authenticated? OpenSSL::Digest should be able to calculate SHA1 should be able to calculate SHA1 should be able to calculate SHA256 should be able to calculate SHA256 should be able to calculate SHA512 should be able to calculate SHA512 can't call #final more than once can't call #final more than once raises a UnsupportedError if digest is unsupported raises a UnsupportedError if digest is unsupported returns the digest size returns the digest size returns the block size returns the block size correctly reads from IO correctly reads from IO .dup preserves type preserves type preserves value preserves value leads to not sharing state leads to not sharing state leads to deterministic updates leads to deterministic updates digest with file content digest with file content OpenSSL::HMAC computes MD4 computes MD4 computes MD5 computes MD5 computes SHA1 computes SHA1 computes SHA224 computes SHA224 computes SHA256 computes SHA256 computes SHA384 computes SHA384 computes SHA512 computes SHA512 computes RIPEMD160 computes RIPEMD160 OpenSSL::PKCS5 computes pbkdf2_hmac_sha1 computes pbkdf2_hmac_sha1 computes pbkdf2_hmac computes pbkdf2_hmac OpenSSL::SSL::Context new for client new for client new for server new for server insecure for client insecure for client insecure for server insecure for server sets certificate chain sets certificate chain fails to set certificate chain fails to set certificate chain sets private key sets private key fails to set private key fails to set private key ciphers uses intermediate default ciphers uses intermediate default ciphers sets ciphers sets ciphers sets cipher_suites sets cipher_suites sets modern ciphers sets modern ciphers sets intermediate ciphers sets intermediate ciphers sets old ciphers sets old ciphers changes security level changes security level adds temporary ecdh curve (P-256) adds temporary ecdh curve (P-256) adds options adds options removes options removes options returns options returns options adds modes adds modes removes modes removes modes returns modes returns modes sets the verify mode sets the verify mode alpn_protocol= alpn_protocol= calls #finalize on insecure client context calls #finalize on insecure client context calls #finalize on insecure server context calls #finalize on insecure server context .from_hash builds builds errors errors OpenSSL::SSL::HostnameValidation validate_hostname matches IP from certificate SAN entries matches IP from certificate SAN entries matches domains from certificate SAN entries matches domains from certificate SAN entries verifies all SAN entries verifies all SAN entries falls back to CN entry (unless SAN entry is defined) falls back to CN entry (unless SAN entry is defined) matches_hostname? skips trailing dot skips trailing dot normalizes case normalizes case literal matches literal matches wildcard matches according to RFC 6125, section 6.4.3 wildcard matches according to RFC 6125, section 6.4.3 matches IDNA label matches IDNA label matches leading dot matches leading dot OpenSSL::SSL::Server sync_close sync_close don't sync_close don't sync_close .new .new .open .open #accept? accepts accepts #accept accepts and do handshake accepts and do handshake doesn't to SSL handshake with start_immediately = false doesn't to SSL handshake with start_immediately = false detects SNI hostname detects SNI hostname OpenSSL::SSL::Socket OpenSSL::SSL::Socket::Server auto accept client by default auto accept client by default doesn't accept client when specified doesn't accept client when specified OpenSSL::SSL::Socket returns the cipher that is currently in use returns the cipher that is currently in use returns the TLS version returns the TLS version returns the peer certificate returns the peer certificate accepts clients that only write then close the connection accepts clients that only write then close the connection closes connection to server that doesn't properly terminate SSL session closes connection to server that doesn't properly terminate SSL session interprets graceful EOF of underlying socket as SSL termination interprets graceful EOF of underlying socket as SSL termination OpenSSL::X509::Certificate subject subject extension extension #signature_algorithm #signature_algorithm #digest #digest OpenSSL::X509::Name parse parse add_entry add_entry Process.find_executable finds './inbase' as 'inbase' finds './inbase' as 'inbase' finds '../base/inbase' as 'inbase' finds '../base/inbase' as 'inbase' fails to find 'inbase' fails to find 'inbase' finds 'sub/insub' as 'sub/insub' finds 'sub/insub' as 'sub/insub' finds 'inpath' as '../path/inpath' finds 'inpath' as '../path/inpath' fails to find './inpath' fails to find './inpath' fails to find 'inbase/' fails to find 'inbase/' fails to find 'sub/insub/' fails to find 'sub/insub/' fails to find './not_exe' fails to find './not_exe' fails to find 'not_exe' fails to find 'not_exe' fails to find 'sub/not_exe' fails to find 'sub/not_exe' fails to find '' fails to find '' fails to find '.' fails to find '.' finds '/tmp/cr-spec-1b33cf1c/find_executable/base/inbase' as 'inbase' finds '/tmp/cr-spec-1b33cf1c/find_executable/base/inbase' as 'inbase' fails to find '/tmp/cr-spec-1b33cf1c/find_executable/base/inbase/' fails to find '/tmp/cr-spec-1b33cf1c/find_executable/base/inbase/' fails to find '/tmp/cr-spec-1b33cf1c/find_executable/base/sub' fails to find '/tmp/cr-spec-1b33cf1c/find_executable/base/sub' fails to find './sub' fails to find './sub' fails to find 'sub' fails to find 'sub' Random::ISAAC generates random numbers as generated official implementation generates random numbers as generated official implementation can be initialized without explicit seed can be initialized without explicit seed different instances generate different numbers (#7976) different instances generate different numbers (#7976) Random::PCG32 generates random numbers as generated official implementation generates random numbers as generated official implementation can jump ahead can jump ahead can jump back can jump back can be initialized without explicit seed can be initialized without explicit seed Random::Secure returns random number from a secure system source returns random number from a secure system source fully fills a large buffer fully fills a large buffer returns a random integer in range (#8219) returns a random integer in range (#8219) Socket::Address .parse accepts URI accepts URI parses TCP parses TCP parses UDP parses UDP parses UNIX parses UNIX fails with unknown scheme fails with unknown scheme Socket::IPAddress transforms an IPv4 address into a C struct and back transforms an IPv4 address into a C struct and back transforms an IPv6 address into a C struct and back transforms an IPv6 address into a C struct and back won't resolve domains won't resolve domains to_s to_s .parse parses IPv4 parses IPv4 parses IPv6 parses IPv6 fails host name fails host name ignores path and params ignores path and params fails with missing host fails with missing host fails with missing port fails with missing port #loopback? #loopback? #unspecified? #unspecified? .valid_port? .valid_port? #private? #private? #== #== Socket::UNIXAddress transforms into a C struct and back transforms into a C struct and back raises when path is too long raises when path is too long to_s to_s #== #== .parse parses relative parses relative parses relative subpath parses relative subpath parses relative dot parses relative dot relative with relative with parses absolute parses absolute ignores params ignores params fails with missing path fails with missing path Socket .ip? .ip? == == Socket::Addrinfo .resolve returns an array returns an array yields each result yields each result eventually raises returned error eventually raises returned error .tcp returns an array returns an array yields each result yields each result raises helpful message on getaddrinfo failure raises helpful message on getaddrinfo failure .udp returns an array returns an array yields each result yields each result #ip_address assert assert #inspect #inspect Error .new (deprecated) .new (deprecated) Socket .unix creates a unix socket creates a unix socket .accept .accept accept raises timeout error if read_timeout is specified accept raises timeout error if read_timeout is specified sends messages sends messages sends datagram over unix socket sends datagram over unix socket #bind using IPv4 binds to port binds to port binds to port using Socket::IPAddress binds to port using Socket::IPAddress using IPv6 binds to port binds to port binds to port using Socket::IPAddress binds to port using Socket::IPAddress TCPServer .new using IPv4 listens on local address listens on local address binds to port 0 binds to port 0 raises when port is negative raises when port is negative reuse_port raises when port is in use raises when port is in use raises when not binding with reuse_port raises when not binding with reuse_port raises when port is not ready to be reused raises when port is not ready to be reused binds to used port with reuse_port = true binds to used port with reuse_port = true using IPv6 listens on local address listens on local address binds to port 0 binds to port 0 raises when port is negative raises when port is negative reuse_port raises when port is in use raises when port is in use raises when not binding with reuse_port raises when not binding with reuse_port raises when port is not ready to be reused raises when port is not ready to be reused binds to used port with reuse_port = true binds to used port with reuse_port = true address resolution binds to localhost binds to localhost raises when host doesn't exist raises when host doesn't exist raises (rather than segfault on darwin) when host doesn't exist and port is 0 raises (rather than segfault on darwin) when host doesn't exist and port is 0 binds to all interfaces binds to all interfaces settings settings TCPSocket #connect using IPv4 connects to server connects to server raises when connection is refused raises when connection is refused raises when port is negative raises when port is negative raises when port is zero raises when port is zero using IPv6 connects to server connects to server raises when connection is refused raises when connection is refused raises when port is negative raises when port is negative raises when port is zero raises when port is zero address resolution connects to localhost connects to localhost raises when host doesn't exist raises when host doesn't exist raises (rather than segfault on darwin) when host doesn't exist and port is 0 raises (rather than segfault on darwin) when host doesn't exist and port is 0 fails to connect IPv6 to IPv4 server fails to connect IPv6 to IPv4 server sync from server sync from server settings settings fails when connection is refused fails when connection is refused sends and receives messages sends and receives messages UDPSocket #remote_address resets after connect #remote_address resets after connect #connect with a IPv6 address #connect with a IPv6 address using IPv4 #bind #bind sends and receives messages sends and receives messages joins and transmits to multicast groups joins and transmits to multicast groups using IPv6 #bind #bind sends and receives messages sends and receives messages joins and transmits to multicast groups joins and transmits to multicast groups sends broadcast message sends broadcast message UNIXServer .new raises when path is too long raises when path is too long creates the socket file creates the socket file deletes socket file on close deletes socket file on close raises when socket file already exists raises when socket file already exists won't delete existing file on bind failure won't delete existing file on bind failure accept returns the client UNIXSocket returns the client UNIXSocket raises when server is closed raises when server is closed accept? returns the client UNIXSocket returns the client UNIXSocket returns nil when server is closed returns nil when server is closed UNIXSocket raises when path is too long raises when path is too long sends and receives messages sends and receives messages sync flag after accept sync flag after accept creates a pair of sockets creates a pair of sockets tests read and write timeouts tests read and write timeouts tests socket options tests socket options Spec::ExampleGroup #randomize by default by default with a seed with a seed #report should include parent's description should include parent's description expectations accept a custom failure message assert assert assert assert be assert assert assert assert assert assert assert assert assert assert assert assert be assert assert assert assert be_a assert assert assert assert assert assert assert assert restricts type on should restricts type on should restricts type on should_not restricts type on should_not be_close assert assert assert assert be_nil assert assert assert assert assert assert restricts type on should_not restricts type on should_not be_falsey assert assert assert assert assert assert assert assert be_truthy assert assert assert assert assert assert assert assert be_false assert assert assert assert assert assert assert assert be_true assert assert assert assert assert assert assert assert contain assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert assert eq assert assert assert assert match assert assert assert assert assert assert start_with assert assert assert assert assert assert assert assert assert assert assert assert end_with assert assert assert assert assert assert assert assert assert assert assert assert empty assert assert assert assert assert assert assert assert assert assert assert assert assert assert expect_raises pass if raises MyError pass if raises MyError Spec::RootContext #run_filters by pattern on an example on an example on a context on a context by line on a context's start line' on a context's start line' between examples between examples on an example's start line on an example's start line in an example in an example on an example's end line on an example's end line on a context's end line' on a context's end line' by locations on a context's start line' on a context's start line' between examples between examples on an example's start line on an example's start line in an example in an example on an example's end line on an example's end line on a context's end line' on a context's end line' by focus on an example on an example on a context on a context by tags on an example on an example on a context on a context by anti_tags on an example on an example on a context on a context Spec hooks runs in correct order runs in correct order JUnit Formatter reports successful results reports successful results reports skipped reports skipped reports failures reports failures reports errors reports errors reports mixed results reports mixed results encodes class names from the relative file path encodes class names from the relative file path outputs timestamp according to RFC 3339 outputs timestamp according to RFC 3339 escapes spec names escapes spec names report failure stacktrace if present report failure stacktrace if present report error stacktrace if present report error stacktrace if present Spec::TAPFormatter reports successful results reports successful results reports failures reports failures reports errors reports errors reports pending reports pending reports mixed results reports mixed results Spec::Methods .assert_iterates_yielding basic basic more than expected elements more than expected elements less than expected elements less than expected elements ensures type equality ensures type equality infinite infinite tuple tuple .assert_iterates_iterator basic basic more than expected elements more than expected elements less than expected elements less than expected elements ensures type equality ensures type equality infinite infinite tuple tuple String UTF16 to_utf16 in the range U+0000..U+FF in the range U+0000..U+FF in the range U+0000..U+D7FF in the range U+0000..U+D7FF in the range U+E000 to U+FFFF in the range U+E000 to U+FFFF in the range U+10000..U+10FFFF in the range U+10000..U+10FFFF in the range U+D800..U+DFFF in the range U+D800..U+DFFF .from_utf16 in the range U+0000..U+D7FF in the range U+0000..U+D7FF in the range U+E000 to U+FFFF in the range U+E000 to U+FFFF in the range U+10000..U+10FFFF in the range U+10000..U+10FFFF in the range U+D800..U+DFFF in the range U+D800..U+DFFF handles null bytes handles null bytes with pointer reads multiple strings with pointer reads multiple strings System::Group .find_by(*, name) returns a group by name returns a group by name raises on nonexistent group raises on nonexistent group .find_by(*, id) returns a group by id returns a group by id raises on nonexistent group name raises on nonexistent group name .find_by?(*, name) returns a group by name returns a group by name returns nil on nonexistent group returns nil on nonexistent group .find_by?(*, id) returns a group by id returns a group by id returns nil on nonexistent group id returns nil on nonexistent group id #name is the same as the source name is the same as the source name #id is the same as the source ID is the same as the source ID #to_s returns a string representation returns a string representation System::User .find_by(*, name) returns a user by name returns a user by name raises on a nonexistent user raises on a nonexistent user .find_by(*, id) returns a user by id returns a user by id raises on nonexistent user id raises on nonexistent user id .find_by?(*, name) returns a user by name returns a user by name returns nil on nonexistent user returns nil on nonexistent user .find_by?(*, id) returns a user by id returns a user by id returns nil on nonexistent user id returns nil on nonexistent user id #username is the same as the source name is the same as the source name #id is the same as the source ID is the same as the source ID #group_id calls without raising calls without raising #name calls without raising calls without raising #home_directory calls without raising calls without raising #shell calls without raising calls without raising #to_s returns a string representation returns a string representation Time::Format RFC_3339 parses regular format parses regular format RFC_2822 parses regular format parses regular format ISO_8601_DATE formats default format formats default format parses calendar date parses calendar date parses ordinal date parses ordinal date parses week date parses week date ISO_8601_DATE_TIME formats default format formats default format parses calendar date parses calendar date parses ordinal date parses ordinal date parses hour:minutes parses hour:minutes parses decimal fractions parses decimal fractions parses hour parses hour week date week date Time::Format formats formats formats standard formats formats standard formats formats rfc3339 with different fraction digits formats rfc3339 with different fraction digits parses empty parses empty parse fails without time zone parse fails without time zone parses parses parses am/pm parses am/pm parses 24h clock parses 24h clock parses 24h clock with am/pm parses 24h clock with am/pm parses timezone parses timezone parses zone name parses zone name raises when time zone missing raises when time zone missing assert assert assert assert assert assert assert assert assert assert assert assert parses centiseconds parses centiseconds parses milliseconds with %L parses milliseconds with %L parses milliseconds with %3N parses milliseconds with %3N parses microseconds with %6N parses microseconds with %6N parses nanoseconds parses nanoseconds parses nanoseconds with %9N parses nanoseconds with %9N parses discarding additional decimals parses discarding additional decimals parses if some decimals are missing parses if some decimals are missing parses the correct amount of digits (#853) parses the correct amount of digits (#853) parses month blank padded parses month blank padded parses day of month blank padded parses day of month blank padded parses hour 24 blank padded parses hour 24 blank padded parses hour 12 blank padded parses hour 12 blank padded can parse in location can parse in location Time::Location .load loads Europe/Berlin loads Europe/Berlin invalid timezone identifier invalid timezone identifier name is folder name is folder invalid zone file invalid zone file treats UTC as special case treats UTC as special case validating name absolute path absolute path dot dot dot dot with ZONEINFO loads from custom directory loads from custom directory loads from custom zipfile loads from custom zipfile raises if not available raises if not available does not fall back to default sources does not fall back to default sources caches result caches result loads new data if file was changed loads new data if file was changed loads new data if ZIP file was changed loads new data if ZIP file was changed UTC UTC .local .local .load_local with unset TZ with unset TZ with TZ with TZ with empty TZ with empty TZ .fixed without name without name with name with name positive positive negative negative raises if offset to large raises if offset to large #lookup looks up looks up handles dst change handles dst change handles value after last transition handles value after last transition first zone PST8PDT PST8PDT Pacific/Fakaofo Pacific/Fakaofo caches last zone caches last zone reads from cache reads from cache Time::Location::Zone #inspect #inspect #name #name Time::Span initializes initializes initializes with big seconds value initializes with big seconds value days overflows days overflows max days max days min days min days max seconds max seconds min seconds min seconds max milliseconds max milliseconds min milliseconds min milliseconds negative timespan negative timespan test properties test properties test compare test compare test equals test equals #step "basic" yielding "basic" yielding "basic" iterator "basic" iterator test int extension methods test int extension methods test float extension methods test float extension methods test negate and abs test negate and abs test hash code test hash code arithmetic #+ #+ #- #- #* #* #/(Number) #/(Number) #/(self) #/(self) #sign #sign test to_s test to_s test totals test totals should sum should sum #zero? #zero? #positive? #positive? #negative? #negative? converts units converts units Time .local initializes initializes initializes max value initializes max value fails with negative nanosecond fails with negative nanosecond fails with too big nanoseconds fails with too big nanoseconds checks boundary at time min checks boundary at time min checks boundary at time max checks boundary at time max accepts midnight 24:00 accepts midnight 24:00 UNIX_EPOCH UNIX_EPOCH .unix .unix .unix_ms .unix_ms .local without arguments current time is similar in different locations current time is similar in different locations .monotonic returns always increasing monotonic clock returns always increasing monotonic clock .measure measures elapsed time measures elapsed time #clone #clone #shift adds hours, minutes, seconds adds hours, minutes, seconds raises out of range min raises out of range min raises out of range max raises out of range max checks boundary at time min checks boundary at time min checks boundary at time max checks boundary at time max adds zero span adds zero span irregular calendaric unit ratios shifts by a week if one day is left out shifts by a week if one day is left out shifts by conceptual hour even if elapsed time is less shifts by conceptual hour even if elapsed time is less adds days simple simple over dst over dst out of range max out of range max out of range max (shift days) out of range max (shift days) out of range min out of range min out of range min (shift days) out of range min (shift days) adds months adds months adds years adds years adds hours adds hours adds nanoseconds adds nanoseconds preserves location when adding preserves location when adding covers date boundaries with zone offset (#8741) covers date boundaries with zone offset (#8741) covers date boundaries with zone offset (#10869) covers date boundaries with zone offset (#10869) #time_of_day #time_of_day #day_of_week gets day of week gets day of week 1981-1-1 is 4 1981-1-1 is 4 1982-1-1 is 5 1982-1-1 is 5 1983-1-1 is 6 1983-1-1 is 6 1984-1-1 is 7 1984-1-1 is 7 1985-1-1 is 2 1985-1-1 is 2 1985-4-12 is 5 1985-4-12 is 5 1986-1-1 is 3 1986-1-1 is 3 1987-1-1 is 4 1987-1-1 is 4 1988-1-1 is 5 1988-1-1 is 5 1989-1-1 is 7 1989-1-1 is 7 1990-1-1 is 1 1990-1-1 is 1 1991-1-1 is 2 1991-1-1 is 2 1992-1-1 is 3 1992-1-1 is 3 1993-1-1 is 5 1993-1-1 is 5 1994-1-1 is 6 1994-1-1 is 6 1995-1-2 is 1 1995-1-2 is 1 1996-1-1 is 1 1996-1-1 is 1 1996-1-7 is 7 1996-1-7 is 7 1996-1-8 is 1 1996-1-8 is 1 1997-1-1 is 3 1997-1-1 is 3 1998-1-1 is 4 1998-1-1 is 4 1999-1-1 is 5 1999-1-1 is 5 2000-1-1 is 6 2000-1-1 is 6 2001-1-1 is 1 2001-1-1 is 1 2002-1-1 is 2 2002-1-1 is 2 2003-1-1 is 3 2003-1-1 is 3 2004-1-1 is 4 2004-1-1 is 4 2005-1-1 is 6 2005-1-1 is 6 2006-1-1 is 7 2006-1-1 is 7 2007-1-1 is 1 2007-1-1 is 1 2008-1-1 is 2 2008-1-1 is 2 2009-1-1 is 4 2009-1-1 is 4 2010-1-1 is 5 2010-1-1 is 5 2010-1-1 is 5 2010-1-1 is 5 2011-1-1 is 6 2011-1-1 is 6 2011-1-2 is 7 2011-1-2 is 7 2011-1-3 is 1 2011-1-3 is 1 2011-1-4 is 2 2011-1-4 is 2 2011-1-5 is 3 2011-1-5 is 3 2011-1-6 is 4 2011-1-6 is 4 2011-1-7 is 5 2011-1-7 is 5 2011-1-8 is 6 2011-1-8 is 6 2011-1-9 is 7 2011-1-9 is 7 2011-1-10 is 1 2011-1-10 is 1 2011-1-11 is 2 2011-1-11 is 2 2011-6-12 is 7 2011-6-12 is 7 2011-6-13 is 1 2011-6-13 is 1 2011-12-25 is 7 2011-12-25 is 7 2011-12-26 is 1 2011-12-26 is 1 2011-12-27 is 2 2011-12-27 is 2 2011-12-28 is 3 2011-12-28 is 3 2011-12-29 is 4 2011-12-29 is 4 2011-12-30 is 5 2011-12-30 is 5 2011-12-31 is 6 2011-12-31 is 6 1995-1-1 is 7 1995-1-1 is 7 2012-1-1 is 7 2012-1-1 is 7 2012-1-2 is 1 2012-1-2 is 1 2012-1-8 is 7 2012-1-8 is 7 2012-1-9 is 1 2012-1-9 is 1 2012-12-23 is 7 2012-12-23 is 7 2012-12-24 is 1 2012-12-24 is 1 2012-12-30 is 7 2012-12-30 is 7 2012-12-31 is 1 2012-12-31 is 1 2013-1-1 is 2 2013-1-1 is 2 2013-1-6 is 7 2013-1-6 is 7 2013-1-7 is 1 2013-1-7 is 1 2013-12-22 is 7 2013-12-22 is 7 2013-12-23 is 1 2013-12-23 is 1 2013-12-29 is 7 2013-12-29 is 7 2013-12-30 is 1 2013-12-30 is 1 2014-1-1 is 3 2014-1-1 is 3 2014-1-5 is 7 2014-1-5 is 7 2014-1-6 is 1 2014-1-6 is 1 2015-1-1 is 4 2015-1-1 is 4 2016-1-1 is 5 2016-1-1 is 5 2017-1-1 is 7 2017-1-1 is 7 2018-1-1 is 1 2018-1-1 is 1 2019-1-1 is 2 2019-1-1 is 2 2020-1-1 is 3 2020-1-1 is 3 2021-1-1 is 5 2021-1-1 is 5 2022-1-1 is 6 2022-1-1 is 6 2023-1-1 is 7 2023-1-1 is 7 2024-1-1 is 1 2024-1-1 is 1 2025-1-1 is 3 2025-1-1 is 3 2026-1-1 is 4 2026-1-1 is 4 2027-1-1 is 5 2027-1-1 is 5 2028-1-1 is 6 2028-1-1 is 6 2029-1-1 is 1 2029-1-1 is 1 2030-1-1 is 2 2030-1-1 is 2 2031-1-1 is 3 2031-1-1 is 3 2032-1-1 is 4 2032-1-1 is 4 2033-1-1 is 6 2033-1-1 is 6 2034-1-1 is 7 2034-1-1 is 7 2035-1-1 is 1 2035-1-1 is 1 2036-1-1 is 2 2036-1-1 is 2 2037-1-1 is 4 2037-1-1 is 4 2038-1-1 is 5 2038-1-1 is 5 2039-1-1 is 6 2039-1-1 is 6 2040-1-1 is 7 2040-1-1 is 7 answers day name predicates answers day name predicates #calendar_week 1981-1-1 to 1981-1 1981-1-1 to 1981-1 1982-1-1 to 1981-53 1982-1-1 to 1981-53 1983-1-1 to 1982-52 1983-1-1 to 1982-52 1984-1-1 to 1983-52 1984-1-1 to 1983-52 1985-1-1 to 1985-1 1985-1-1 to 1985-1 1985-4-12 to 1985-15 1985-4-12 to 1985-15 1986-1-1 to 1986-1 1986-1-1 to 1986-1 1987-1-1 to 1987-1 1987-1-1 to 1987-1 1988-1-1 to 1987-53 1988-1-1 to 1987-53 1989-1-1 to 1988-52 1989-1-1 to 1988-52 1990-1-1 to 1990-1 1990-1-1 to 1990-1 1991-1-1 to 1991-1 1991-1-1 to 1991-1 1992-1-1 to 1992-1 1992-1-1 to 1992-1 1993-1-1 to 1992-53 1993-1-1 to 1992-53 1994-1-1 to 1993-52 1994-1-1 to 1993-52 1995-1-2 to 1995-1 1995-1-2 to 1995-1 1996-1-1 to 1996-1 1996-1-1 to 1996-1 1996-1-7 to 1996-1 1996-1-7 to 1996-1 1996-1-8 to 1996-2 1996-1-8 to 1996-2 1997-1-1 to 1997-1 1997-1-1 to 1997-1 1998-1-1 to 1998-1 1998-1-1 to 1998-1 1999-1-1 to 1998-53 1999-1-1 to 1998-53 2000-1-1 to 1999-52 2000-1-1 to 1999-52 2001-1-1 to 2001-1 2001-1-1 to 2001-1 2002-1-1 to 2002-1 2002-1-1 to 2002-1 2003-1-1 to 2003-1 2003-1-1 to 2003-1 2004-1-1 to 2004-1 2004-1-1 to 2004-1 2005-1-1 to 2004-53 2005-1-1 to 2004-53 2006-1-1 to 2005-52 2006-1-1 to 2005-52 2007-1-1 to 2007-1 2007-1-1 to 2007-1 2008-1-1 to 2008-1 2008-1-1 to 2008-1 2009-1-1 to 2009-1 2009-1-1 to 2009-1 2010-1-1 to 2009-53 2010-1-1 to 2009-53 2010-1-1 to 2009-53 2010-1-1 to 2009-53 2011-1-1 to 2010-52 2011-1-1 to 2010-52 2011-1-2 to 2010-52 2011-1-2 to 2010-52 2011-1-3 to 2011-1 2011-1-3 to 2011-1 2011-1-4 to 2011-1 2011-1-4 to 2011-1 2011-1-5 to 2011-1 2011-1-5 to 2011-1 2011-1-6 to 2011-1 2011-1-6 to 2011-1 2011-1-7 to 2011-1 2011-1-7 to 2011-1 2011-1-8 to 2011-1 2011-1-8 to 2011-1 2011-1-9 to 2011-1 2011-1-9 to 2011-1 2011-1-10 to 2011-2 2011-1-10 to 2011-2 2011-1-11 to 2011-2 2011-1-11 to 2011-2 2011-6-12 to 2011-23 2011-6-12 to 2011-23 2011-6-13 to 2011-24 2011-6-13 to 2011-24 2011-12-25 to 2011-51 2011-12-25 to 2011-51 2011-12-26 to 2011-52 2011-12-26 to 2011-52 2011-12-27 to 2011-52 2011-12-27 to 2011-52 2011-12-28 to 2011-52 2011-12-28 to 2011-52 2011-12-29 to 2011-52 2011-12-29 to 2011-52 2011-12-30 to 2011-52 2011-12-30 to 2011-52 2011-12-31 to 2011-52 2011-12-31 to 2011-52 1995-1-1 to 1994-52 1995-1-1 to 1994-52 2012-1-1 to 2011-52 2012-1-1 to 2011-52 2012-1-2 to 2012-1 2012-1-2 to 2012-1 2012-1-8 to 2012-1 2012-1-8 to 2012-1 2012-1-9 to 2012-2 2012-1-9 to 2012-2 2012-12-23 to 2012-51 2012-12-23 to 2012-51 2012-12-24 to 2012-52 2012-12-24 to 2012-52 2012-12-30 to 2012-52 2012-12-30 to 2012-52 2012-12-31 to 2013-1 2012-12-31 to 2013-1 2013-1-1 to 2013-1 2013-1-1 to 2013-1 2013-1-6 to 2013-1 2013-1-6 to 2013-1 2013-1-7 to 2013-2 2013-1-7 to 2013-2 2013-12-22 to 2013-51 2013-12-22 to 2013-51 2013-12-23 to 2013-52 2013-12-23 to 2013-52 2013-12-29 to 2013-52 2013-12-29 to 2013-52 2013-12-30 to 2014-1 2013-12-30 to 2014-1 2014-1-1 to 2014-1 2014-1-1 to 2014-1 2014-1-5 to 2014-1 2014-1-5 to 2014-1 2014-1-6 to 2014-2 2014-1-6 to 2014-2 2015-1-1 to 2015-1 2015-1-1 to 2015-1 2016-1-1 to 2015-53 2016-1-1 to 2015-53 2017-1-1 to 2016-52 2017-1-1 to 2016-52 2018-1-1 to 2018-1 2018-1-1 to 2018-1 2019-1-1 to 2019-1 2019-1-1 to 2019-1 2020-1-1 to 2020-1 2020-1-1 to 2020-1 2021-1-1 to 2020-53 2021-1-1 to 2020-53 2022-1-1 to 2021-52 2022-1-1 to 2021-52 2023-1-1 to 2022-52 2023-1-1 to 2022-52 2024-1-1 to 2024-1 2024-1-1 to 2024-1 2025-1-1 to 2025-1 2025-1-1 to 2025-1 2026-1-1 to 2026-1 2026-1-1 to 2026-1 2027-1-1 to 2026-53 2027-1-1 to 2026-53 2028-1-1 to 2027-52 2028-1-1 to 2027-52 2029-1-1 to 2029-1 2029-1-1 to 2029-1 2030-1-1 to 2030-1 2030-1-1 to 2030-1 2031-1-1 to 2031-1 2031-1-1 to 2031-1 2032-1-1 to 2032-1 2032-1-1 to 2032-1 2033-1-1 to 2032-53 2033-1-1 to 2032-53 2034-1-1 to 2033-52 2034-1-1 to 2033-52 2035-1-1 to 2035-1 2035-1-1 to 2035-1 2036-1-1 to 2036-1 2036-1-1 to 2036-1 2037-1-1 to 2037-1 2037-1-1 to 2037-1 2038-1-1 to 2037-53 2038-1-1 to 2037-53 2039-1-1 to 2038-52 2039-1-1 to 2038-52 2040-1-1 to 2039-52 2040-1-1 to 2039-52 #day_of_year #day_of_year #<=> compares compares compares different locations compares different locations #step "advent" yielding "advent" yielding "advent" iterator "advent" iterator #to_unix gets unix seconds gets unix seconds gets unix seconds at GMT gets unix seconds at GMT #year #year #to_s prints string prints string prints date-time fields prints date-time fields omits nanoseconds omits nanoseconds prints offset for location prints offset for location prints offset for fixed location prints offset for fixed location prints local time prints local time #inspect #inspect at methods at methods does diff of utc vs local time does diff of utc vs local time #in changes location changes location #to_local_in keeps wall clock keeps wall clock is the difference of offsets apart is the difference of offsets apart #to_s #to_s .days_in_month returns days for valid month and year returns days for valid month and year raises exception for invalid month raises exception for invalid month raises exception for invalid year raises exception for invalid year .days_in_year .days_in_year .leap_year? knows that 400-year centuries are leap years knows that 400-year centuries are leap years knows that 100-year centuries are normal years knows that 100-year centuries are normal years knows that typical non-century leap years are divisible by 4 knows that typical non-century leap years are divisible by 4 knows years *not* divisible by 4 are normal knows years *not* divisible by 4 are normal Time::DayOfWeek #value #value .from_value .from_value .new does not identify 0 as Sunday .new does not identify 0 as Sunday .week_date verify test data W1981-1-4 eq 1981-1-1 W1981-1-4 eq 1981-1-1 W1981-53-5 eq 1982-1-1 W1981-53-5 eq 1982-1-1 W1982-52-6 eq 1983-1-1 W1982-52-6 eq 1983-1-1 W1983-52-7 eq 1984-1-1 W1983-52-7 eq 1984-1-1 W1985-1-2 eq 1985-1-1 W1985-1-2 eq 1985-1-1 W1985-15-5 eq 1985-4-12 W1985-15-5 eq 1985-4-12 W1986-1-3 eq 1986-1-1 W1986-1-3 eq 1986-1-1 W1987-1-4 eq 1987-1-1 W1987-1-4 eq 1987-1-1 W1987-53-5 eq 1988-1-1 W1987-53-5 eq 1988-1-1 W1988-52-7 eq 1989-1-1 W1988-52-7 eq 1989-1-1 W1990-1-1 eq 1990-1-1 W1990-1-1 eq 1990-1-1 W1991-1-2 eq 1991-1-1 W1991-1-2 eq 1991-1-1 W1992-1-3 eq 1992-1-1 W1992-1-3 eq 1992-1-1 W1992-53-5 eq 1993-1-1 W1992-53-5 eq 1993-1-1 W1993-52-6 eq 1994-1-1 W1993-52-6 eq 1994-1-1 W1995-1-1 eq 1995-1-2 W1995-1-1 eq 1995-1-2 W1996-1-1 eq 1996-1-1 W1996-1-1 eq 1996-1-1 W1996-1-7 eq 1996-1-7 W1996-1-7 eq 1996-1-7 W1996-2-1 eq 1996-1-8 W1996-2-1 eq 1996-1-8 W1997-1-3 eq 1997-1-1 W1997-1-3 eq 1997-1-1 W1998-1-4 eq 1998-1-1 W1998-1-4 eq 1998-1-1 W1998-53-5 eq 1999-1-1 W1998-53-5 eq 1999-1-1 W1999-52-6 eq 2000-1-1 W1999-52-6 eq 2000-1-1 W2001-1-1 eq 2001-1-1 W2001-1-1 eq 2001-1-1 W2002-1-2 eq 2002-1-1 W2002-1-2 eq 2002-1-1 W2003-1-3 eq 2003-1-1 W2003-1-3 eq 2003-1-1 W2004-1-4 eq 2004-1-1 W2004-1-4 eq 2004-1-1 W2004-53-6 eq 2005-1-1 W2004-53-6 eq 2005-1-1 W2005-52-7 eq 2006-1-1 W2005-52-7 eq 2006-1-1 W2007-1-1 eq 2007-1-1 W2007-1-1 eq 2007-1-1 W2008-1-2 eq 2008-1-1 W2008-1-2 eq 2008-1-1 W2009-1-4 eq 2009-1-1 W2009-1-4 eq 2009-1-1 W2009-53-5 eq 2010-1-1 W2009-53-5 eq 2010-1-1 W2009-53-5 eq 2010-1-1 W2009-53-5 eq 2010-1-1 W2010-52-6 eq 2011-1-1 W2010-52-6 eq 2011-1-1 W2010-52-7 eq 2011-1-2 W2010-52-7 eq 2011-1-2 W2011-1-1 eq 2011-1-3 W2011-1-1 eq 2011-1-3 W2011-1-2 eq 2011-1-4 W2011-1-2 eq 2011-1-4 W2011-1-3 eq 2011-1-5 W2011-1-3 eq 2011-1-5 W2011-1-4 eq 2011-1-6 W2011-1-4 eq 2011-1-6 W2011-1-5 eq 2011-1-7 W2011-1-5 eq 2011-1-7 W2011-1-6 eq 2011-1-8 W2011-1-6 eq 2011-1-8 W2011-1-7 eq 2011-1-9 W2011-1-7 eq 2011-1-9 W2011-2-1 eq 2011-1-10 W2011-2-1 eq 2011-1-10 W2011-2-2 eq 2011-1-11 W2011-2-2 eq 2011-1-11 W2011-23-7 eq 2011-6-12 W2011-23-7 eq 2011-6-12 W2011-24-1 eq 2011-6-13 W2011-24-1 eq 2011-6-13 W2011-51-7 eq 2011-12-25 W2011-51-7 eq 2011-12-25 W2011-52-1 eq 2011-12-26 W2011-52-1 eq 2011-12-26 W2011-52-2 eq 2011-12-27 W2011-52-2 eq 2011-12-27 W2011-52-3 eq 2011-12-28 W2011-52-3 eq 2011-12-28 W2011-52-4 eq 2011-12-29 W2011-52-4 eq 2011-12-29 W2011-52-5 eq 2011-12-30 W2011-52-5 eq 2011-12-30 W2011-52-6 eq 2011-12-31 W2011-52-6 eq 2011-12-31 W1994-52-7 eq 1995-1-1 W1994-52-7 eq 1995-1-1 W2011-52-7 eq 2012-1-1 W2011-52-7 eq 2012-1-1 W2012-1-1 eq 2012-1-2 W2012-1-1 eq 2012-1-2 W2012-1-7 eq 2012-1-8 W2012-1-7 eq 2012-1-8 W2012-2-1 eq 2012-1-9 W2012-2-1 eq 2012-1-9 W2012-51-7 eq 2012-12-23 W2012-51-7 eq 2012-12-23 W2012-52-1 eq 2012-12-24 W2012-52-1 eq 2012-12-24 W2012-52-7 eq 2012-12-30 W2012-52-7 eq 2012-12-30 W2013-1-1 eq 2012-12-31 W2013-1-1 eq 2012-12-31 W2013-1-2 eq 2013-1-1 W2013-1-2 eq 2013-1-1 W2013-1-7 eq 2013-1-6 W2013-1-7 eq 2013-1-6 W2013-2-1 eq 2013-1-7 W2013-2-1 eq 2013-1-7 W2013-51-7 eq 2013-12-22 W2013-51-7 eq 2013-12-22 W2013-52-1 eq 2013-12-23 W2013-52-1 eq 2013-12-23 W2013-52-7 eq 2013-12-29 W2013-52-7 eq 2013-12-29 W2014-1-1 eq 2013-12-30 W2014-1-1 eq 2013-12-30 W2014-1-3 eq 2014-1-1 W2014-1-3 eq 2014-1-1 W2014-1-7 eq 2014-1-5 W2014-1-7 eq 2014-1-5 W2014-2-1 eq 2014-1-6 W2014-2-1 eq 2014-1-6 W2015-1-4 eq 2015-1-1 W2015-1-4 eq 2015-1-1 W2015-53-5 eq 2016-1-1 W2015-53-5 eq 2016-1-1 W2016-52-7 eq 2017-1-1 W2016-52-7 eq 2017-1-1 W2018-1-1 eq 2018-1-1 W2018-1-1 eq 2018-1-1 W2019-1-2 eq 2019-1-1 W2019-1-2 eq 2019-1-1 W2020-1-3 eq 2020-1-1 W2020-1-3 eq 2020-1-1 W2020-53-5 eq 2021-1-1 W2020-53-5 eq 2021-1-1 W2021-52-6 eq 2022-1-1 W2021-52-6 eq 2022-1-1 W2022-52-7 eq 2023-1-1 W2022-52-7 eq 2023-1-1 W2024-1-1 eq 2024-1-1 W2024-1-1 eq 2024-1-1 W2025-1-3 eq 2025-1-1 W2025-1-3 eq 2025-1-1 W2026-1-4 eq 2026-1-1 W2026-1-4 eq 2026-1-1 W2026-53-5 eq 2027-1-1 W2026-53-5 eq 2027-1-1 W2027-52-6 eq 2028-1-1 W2027-52-6 eq 2028-1-1 W2029-1-1 eq 2029-1-1 W2029-1-1 eq 2029-1-1 W2030-1-2 eq 2030-1-1 W2030-1-2 eq 2030-1-1 W2031-1-3 eq 2031-1-1 W2031-1-3 eq 2031-1-1 W2032-1-4 eq 2032-1-1 W2032-1-4 eq 2032-1-1 W2032-53-6 eq 2033-1-1 W2032-53-6 eq 2033-1-1 W2033-52-7 eq 2034-1-1 W2033-52-7 eq 2034-1-1 W2035-1-1 eq 2035-1-1 W2035-1-1 eq 2035-1-1 W2036-1-2 eq 2036-1-1 W2036-1-2 eq 2036-1-1 W2037-1-4 eq 2037-1-1 W2037-1-4 eq 2037-1-1 W2037-53-5 eq 2038-1-1 W2037-53-5 eq 2038-1-1 W2038-52-6 eq 2039-1-1 W2038-52-6 eq 2039-1-1 W2039-52-7 eq 2040-1-1 W2039-52-7 eq 2040-1-1 accepts time arguments accepts time arguments URI::Params .parse parses parses parses && parses && parses parses parses foo=bar parses foo=bar parses foo=bar&foo=baz parses foo=bar&foo=baz parses foo=bar&baz=qux parses foo=bar&baz=qux parses foo=bar;baz=qux parses foo=bar;baz=qux parses foo=hello%2Bworld parses foo=hello%2Bworld parses foo=hello+world parses foo=hello+world parses foo= parses foo= parses foo parses foo parses foo=&bar parses foo=&bar parses bar&foo parses bar&foo parses foo=bar=qux parses foo=bar=qux .build builds form from {"foo" => ["bar"]} builds form from {"foo" => ["bar"]} builds form from {"foo" => ["bar", "baz"]} builds form from {"foo" => ["bar", "baz"]} builds form from {"foo" => ["bar"], "baz" => ["qux"]} builds form from {"foo" => ["bar"], "baz" => ["qux"]} builds form from {"foo" => ["hello+world"]} builds form from {"foo" => ["hello+world"]} builds form from {"foo" => ["hello world"]} builds form from {"foo" => ["hello world"]} builds form from {"foo" => [""]} builds form from {"foo" => [""]} builds form from {"foo" => [""], "bar" => [""]} builds form from {"foo" => [""], "bar" => [""]} builds form from {"bar" => [""], "foo" => [""]} builds form from {"bar" => [""], "foo" => [""]} .encode builds from hash builds from hash builds from named tuple builds from named tuple #to_s serializes params to http form serializes params to http form #[](name) returns first value for provided param name returns first value for provided param name raises KeyError when there is no such param raises KeyError when there is no such param #[]?(name) returns first value for provided param name returns first value for provided param name return nil when there is no such param return nil when there is no such param #has_key?(name) returns true if param with provided name exists returns true if param with provided name exists return false if param with provided name does not exist return false if param with provided name does not exist #[]=(name, value) sets value for provided param name sets value for provided param name adds new name => value pair if there is no such param adds new name => value pair if there is no such param sets value for provided param name (array) sets value for provided param name (array) #fetch(name, default) returns first value for provided param name returns first value for provided param name return default value when there is no such param return default value when there is no such param #fetch(name, &block) returns first value for provided param name returns first value for provided param name return default value when there is no such param return default value when there is no such param #fetch_all(name) fetches list of all values for provided param name fetches list of all values for provided param name #add(name, value) appends new value for provided param name appends new value for provided param name #set_all(name, values) sets values for provided param name sets values for provided param name #dup gives a whole new set of params gives a whole new set of params #clone gives a whole new set of params gives a whole new set of params #each calls provided proc for each name, value pair, including multiple values per one param name calls provided proc for each name, value pair, including multiple values per one param name #delete deletes first value for provided param name and returns it deletes first value for provided param name and returns it #delete_all deletes all values for provided param name and returns them deletes all values for provided param name and returns them #empty? test empty? test empty? #== compares other compares other compares other types compares other types URI::Punycode encodes 3年B組金八先生 to 3B-ww4c5e180e575a65lsy2b encodes 3年B組金八先生 to 3B-ww4c5e180e575a65lsy2b decodes 3B-ww4c5e180e575a65lsy2b to 3年B組金八先生 decodes 3B-ww4c5e180e575a65lsy2b to 3年B組金八先生 encodes 安室奈美恵-with-SUPER-MONKEYS to -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n encodes 安室奈美恵-with-SUPER-MONKEYS to -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n decodes -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n to 安室奈美恵-with-SUPER-MONKEYS decodes -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n to 安室奈美恵-with-SUPER-MONKEYS encodes Hello-Another-Way-それぞれの場所 to Hello-Another-Way--fc4qua05auwb3674vfr0b encodes Hello-Another-Way-それぞれの場所 to Hello-Another-Way--fc4qua05auwb3674vfr0b decodes Hello-Another-Way--fc4qua05auwb3674vfr0b to Hello-Another-Way-それぞれの場所 decodes Hello-Another-Way--fc4qua05auwb3674vfr0b to Hello-Another-Way-それぞれの場所 encodes ひとつ屋根の下2 to 2-u9tlzr9756bt3uc0v encodes ひとつ屋根の下2 to 2-u9tlzr9756bt3uc0v decodes 2-u9tlzr9756bt3uc0v to ひとつ屋根の下2 decodes 2-u9tlzr9756bt3uc0v to ひとつ屋根の下2 encodes MajiでKoiする5秒前 to MajiKoi5-783gue6qz075azm5e encodes MajiでKoiする5秒前 to MajiKoi5-783gue6qz075azm5e decodes MajiKoi5-783gue6qz075azm5e to MajiでKoiする5秒前 decodes MajiKoi5-783gue6qz075azm5e to MajiでKoiする5秒前 encodes パフィーdeルンバ to de-jg4avhby1noc0d encodes パフィーdeルンバ to de-jg4avhby1noc0d decodes de-jg4avhby1noc0d to パフィーdeルンバ decodes de-jg4avhby1noc0d to パフィーdeルンバ encodes そのスピードで to d9juau41awczczp encodes そのスピードで to d9juau41awczczp decodes d9juau41awczczp to そのスピードで decodes d9juau41awczczp to そのスピードで encodes Hello-Another-Way-それぞれ to Hello-Another-Way--fc4qua97gba encodes Hello-Another-Way-それぞれ to Hello-Another-Way--fc4qua97gba decodes Hello-Another-Way--fc4qua97gba to Hello-Another-Way-それぞれ decodes Hello-Another-Way--fc4qua97gba to Hello-Another-Way-それぞれ translate to ascii only host name translate to ascii only host name UUID serializes #to_json #to_json from_json_object_key? from_json_object_key? UUID serializes #to_yaml #to_yaml #from_yaml #from_yaml XML::Builder writes document writes document writes element writes element errors on invalid element names errors on invalid element names writes nested element writes nested element writes element with namespace writes element with namespace writes element with namespace, without block writes element with namespace, without block writes attribute writes attribute writes attribute with namespace writes attribute with namespace writes element with namespace writes element with namespace writes element with prefix writes element with prefix errors on invalid element name with prefix errors on invalid element name with prefix errors on invalid element name with prefix and namespace errors on invalid element name with prefix and namespace writes text writes text sets indent with string sets indent with string sets indent with count sets indent with count sets quote char sets quote char writes element with attributes as named tuple writes element with attributes as named tuple writes element with attributes as named tuple, nesting writes element with attributes as named tuple, nesting writes element with attributes as hash writes element with attributes as hash writes element with attributes as hash, nesting writes element with attributes as hash, nesting #cdata writes cdata writes cdata escapes ]]> sequences escapes ]]> sequences writes cdata with block writes cdata with block writes comment writes comment writes comment with block writes comment with block writes DTD writes DTD writes DTD with block writes DTD with block writes namespace writes namespace writes to string writes to string writes to IO writes to IO errors on null byte errors on null byte XML parses HTML parses HTML parses HTML from IO parses HTML from IO parses html5 (#1404) parses html5 (#1404) raises error when parsing empty string (#2752) raises error when parsing empty string (#2752) gets name of HTML document node (#4040) gets name of HTML document node (#4040) XML::Reader .new with default parser options can be initialized from a string can be initialized from a string can be initialized from an io can be initialized from an io with custom parser options can be initialized from a string can be initialized from a string can be initialized from an io can be initialized from an io #read reads all nodes reads all nodes reads all non-blank nodes with NOBLANKS option reads all non-blank nodes with NOBLANKS option #next reads next node in doc order, skipping subtrees reads next node in doc order, skipping subtrees #next_sibling reads next sibling node in doc order, skipping subtrees reads next sibling node in doc order, skipping subtrees #node_type returns the node type returns the node type #name reads node name reads node name #empty_element? checks if the node is empty checks if the node is empty #has_attributes? checks if the node has attributes checks if the node has attributes #attributes_count returns the node's number of attributes returns the node's number of attributes #move_to_first_attribute moves to the first attribute of the node moves to the first attribute of the node #move_to_next_attribute moves to the next attribute of the node moves to the next attribute of the node #move_to_attribute moves to attribute with the specified name moves to attribute with the specified name #[] reads node attributes reads node attributes #[]? reads node attributes reads node attributes #move_to_element moves to the element node that contains the current attribute node moves to the element node that contains the current attribute node #depth returns the depth of the node returns the depth of the node #read_inner_xml reads the contents of the node including child nodes and markup reads the contents of the node including child nodes and markup #read_outer_xml reads the xml of the node including child nodes and markup reads the xml of the node including child nodes and markup #expand raises an exception if the node could not be expanded raises an exception if the node could not be expanded parses the content of the node and subtree parses the content of the node and subtree is only available until the next read is only available until the next read #expand? parses the content of the node and subtree parses the content of the node and subtree is only available until the next read is only available until the next read #value reads node text value reads node text value #to_unsafe returns a pointer to the underlying LibXML::XMLTextReader returns a pointer to the underlying LibXML::XMLTextReader XML parses parses parses from io parses from io raises exception on empty string raises exception on empty string does to_s does to_s navigates in tree navigates in tree handles errors handles errors #namespace when the node has a namespace with a prefix return the prefixed namespace return the prefixed namespace with a default prefix return the default namespace return the default namespace without an explicit declaration on the node returns the related namespace returns the related namespace when the node does not have namespace should return nil should return nil when the element does not have a namespace, but has namespace declarations should return nil should return nil #namespace_definitions returns namespaces explicitly defined returns namespaces explicitly defined returns an empty array if no namespaces are defined returns an empty array if no namespaces are defined #namespace_scopes gets root namespaces scopes gets root namespaces scopes returns empty array if no namespaces scopes exists returns empty array if no namespaces scopes exists includes parent namespaces includes parent namespaces #namespaces gets root namespaces as hash gets root namespaces as hash includes parent namespaces includes parent namespaces returns an empty hash if there are no namespaces returns an empty hash if there are no namespaces reads big xml file (#1455) reads big xml file (#1455) sets node text/content sets node text/content doesn't set invalid node content doesn't set invalid node content escapes content escapes content escapes content HTML fragment escapes content HTML fragment gets empty content gets empty content sets node name sets node name doesn't set invalid node name doesn't set invalid node name gets encoding gets encoding gets encoding when nil gets encoding when nil gets version gets version unlinks nodes unlinks nodes does to_s with correct encoding (#2319) does to_s with correct encoding (#2319) sets an attribute sets an attribute changes an attribute changes an attribute deletes an attribute deletes an attribute shows content when inspecting attribute shows content when inspecting attribute .build .build .build_fragment builds fragment without XML declaration builds fragment without XML declaration closes open elements closes open elements XML::XPathContext finds nodes finds nodes finds string finds string finds number finds number finds boolean finds boolean raises on invalid xpath raises on invalid xpath returns nil with invalid xpath returns nil with invalid xpath finds with explicit namespace finds with explicit namespace finds with implicit (root) namespaces finds with implicit (root) namespaces finds with root namespaces finds with root namespaces finds with root namespaces (using prefix) finds with root namespaces (using prefix) finds with variable binding finds with variable binding finds with variable binding (bool) finds with variable binding (bool) finds with variable binding (float) finds with variable binding (float) finds with variable binding (nodes) finds with variable binding (nodes) finds with variable binding (node) finds with variable binding (node) finds with variable binding (string) finds with variable binding (string) NodeSet#to_s NodeSet#to_s YAML::Any casts gets nil gets nil gets bool gets bool gets string gets string gets array gets array gets hash gets hash gets int32 gets int32 gets int64 gets int64 gets float32 gets float32 gets float64 gets float64 gets time gets time gets bytes gets bytes #size of array of array of hash of hash #[] of array of array of hash of hash of hash with integer keys of hash with integer keys #[]? of array of array of hash of hash of hash with integer keys of hash with integer keys #dig? gets the value at given path given splat gets the value at given path given splat returns nil if not found returns nil if not found returns nil for non-Hash/Array intermediary values returns nil for non-Hash/Array intermediary values dig gets the value at given path given splat gets the value at given path given splat raises if not found raises if not found traverses big structure traverses big structure compares to other objects compares to other objects returns array of any when doing parse all returns array of any when doing parse all can compare with === can compare with === exposes $~ when doing Regex#=== exposes $~ when doing Regex#=== is enumerable is enumerable dups dups clones clones #to_json #to_json YAML::Builder writes scalar writes scalar writes alias writes alias writes scalar with style writes scalar with style writes scalar with tag writes scalar with tag writes scalar with anchor writes scalar with anchor writes sequence writes sequence writes sequence with tag writes sequence with tag writes sequence with anchor writes sequence with anchor writes sequence with style writes sequence with style writes mapping writes mapping writes mapping with tag writes mapping with tag writes mapping with anchor writes mapping with anchor writes mapping with alias writes mapping with alias writes mapping with merge writes mapping with merge writes mapping with style writes mapping with style errors on max nesting (sequence) errors on max nesting (sequence) errors on max nesting (mapping) errors on max nesting (mapping) .build (with block) .build (with block) YAML::Serializable works with record works with record empty class empty class empty class with unmapped empty class with unmapped parses person parses person parses person without age parses person without age parses person with blank age parses person with blank age parses array of people parses array of people parses array of people with merge parses array of people with merge parses array of people with merge, doesn't hang on infinite recursion parses array of people with merge, doesn't hang on infinite recursion works with class with three fields works with class with three fields parses person with unknown attributes parses person with unknown attributes parses strict person with unknown attributes parses strict person with unknown attributes works with selective serialization works with selective serialization does to_yaml does to_yaml doesn't emit null when doing to_yaml doesn't emit null when doing to_yaml raises if non-nilable attribute is nil raises if non-nilable attribute is nil doesn't raises on false value when not-nil doesn't raises on false value when not-nil should parse extra fields (YAMLAttrPersonExtraFields with on_unknown_yaml_attribute) should parse extra fields (YAMLAttrPersonExtraFields with on_unknown_yaml_attribute) should to store extra fields (YAMLAttrPersonExtraFields with on_to_yaml) should to store extra fields (YAMLAttrPersonExtraFields with on_to_yaml) raises if not an object raises if not an object raises if data type does not match raises if data type does not match emits null on request when doing to_yaml emits null on request when doing to_yaml emit_nulls option emit_nulls option parses yaml with Time::Format converter parses yaml with Time::Format converter allows setting a nilable property to nil allows setting a nilable property to nil parses simple mapping parses simple mapping outputs with converter when nilable outputs with converter when nilable outputs with converter when nilable when emit_null is true outputs with converter when nilable when emit_null is true outputs YAML with properties key outputs YAML with properties key parses yaml with keywords parses yaml with keywords parses yaml with any parses yaml with any parses yaml with problematic keys parses yaml with problematic keys allows small types of integer allows small types of integer parses recursive parses recursive parses recursive nilable (1) parses recursive nilable (1) parses recursive nilable (2) parses recursive nilable (2) parses recursive array parses recursive array parses recursive hash parses recursive hash parses yaml with defaults mixed mixed bool bool with nilable with nilable create new array every time create new array every time uses Time::EpochConverter uses Time::EpochConverter uses Time::EpochMillisConverter uses Time::EpochMillisConverter parses nilable union parses nilable union parses nilable union2 parses nilable union2 parses YAML with presence markers parses person with absent attributes parses person with absent attributes with query attributes defines query getter defines query getter defines query getter with class restriction defines query getter with class restriction defines non-query setter and presence methods defines non-query setter and presence methods maps non-query attributes maps non-query attributes raises if non-nilable attribute is nil raises if non-nilable attribute is nil calls #finalize calls #finalize work with module and inheritance assert assert assert assert assert assert assert assert use_yaml_discriminator deserializes with discriminator deserializes with discriminator raises if missing discriminator raises if missing discriminator raises if unknown discriminator value raises if unknown discriminator value deserializes type which nests type with discriminator (#9849) deserializes type which nests type with discriminator (#9849) deserializes with variable discriminator value type deserializes with variable discriminator value type namespaced classes lets default values use the object's own namespace lets default values use the object's own namespace YAML serialization from_yaml does Nil#from_yaml does Nil#from_yaml does Bool#from_yaml does Bool#from_yaml does Int32#from_yaml does Int32#from_yaml does Int64#from_yaml does Int64#from_yaml does String#from_yaml does String#from_yaml does String#from_yaml (empty string) does String#from_yaml (empty string) can parse string that looks like a number can parse string that looks like a number does Path.from_yaml does Path.from_yaml does Float32#from_yaml does Float32#from_yaml does Float64#from_yaml does Float64#from_yaml does Array#from_yaml does Array#from_yaml does Set#from_yaml does Set#from_yaml does Array#from_yaml from IO does Array#from_yaml from IO does Array#from_yaml with block does Array#from_yaml with block does Hash#from_yaml does Hash#from_yaml does Hash#from_yaml with merge does Hash#from_yaml with merge does Hash#from_yaml with merge (recursive) does Hash#from_yaml with merge (recursive) does Tuple#from_yaml does Tuple#from_yaml does for named tuple does for named tuple does for named tuple with nilable fields (#8089) does for named tuple with nilable fields (#8089) does for named tuple with nilable fields and null (#8089) does for named tuple with nilable fields and null (#8089) does for named tuple with spaces in key (#10918) does for named tuple with spaces in key (#10918) does for named tuple with spaces in key and quote char (#10918) does for named tuple with spaces in key and quote char (#10918) does for BigInt does for BigInt does for BigFloat does for BigFloat does for BigDecimal does for BigDecimal Enum normal enum normal enum flag enum flag enum Enum::ValueConverter.from_yaml normal enum normal enum flag enum flag enum does Time::Format#from_yaml does Time::Format#from_yaml deserializes union with nil, string and int (#7936) deserializes union with nil, string and int (#7936) deserializes time deserializes time deserializes bytes deserializes bytes parse exceptions has correct location when raises in Nil#from_yaml has correct location when raises in Nil#from_yaml has correct location when raises in Int32#from_yaml has correct location when raises in Int32#from_yaml has correct location when raises in NamedTuple#from_yaml has correct location when raises in NamedTuple#from_yaml has correct location when raises in Union#from_yaml has correct location when raises in Union#from_yaml to_yaml does for Nil does for Nil does for Nil (empty string) does for Nil (empty string) does for Bool does for Bool does for Int32 does for Int32 does for Float32 does for Float32 does for Float32 (infinity) does for Float32 (infinity) does for Float32 (-infinity) does for Float32 (-infinity) does for Float32 (nan) does for Float32 (nan) does for Float64 does for Float64 does for Float64 (infinity) does for Float64 (infinity) does for Float64 (-infinity) does for Float64 (-infinity) does for Float64 (nan) does for Float64 (nan) does for String does for String does for String with stars (#3353) does for String with stars (#3353) does for String with quote does for String with quote does for String with slash does for String with slash does for String with unicode characters (#8131) does for String with unicode characters (#8131) quotes string if reserved quotes string if reserved does for Path does for Path does for Array does for Array does for Set does for Set does for Hash does for Hash does for Hash with symbol keys does for Hash with symbol keys does for Tuple does for Tuple does for NamedTuple does for NamedTuple does for BigInt does for BigInt does for BigFloat does for BigFloat does for BigDecimal does for BigDecimal Enum normal enum normal enum flag enum flag enum Enum::ValueConverter normal enum normal enum flag enum flag enum does for utc time does for utc time does for time at date does for time at date does for utc time with nanoseconds does for utc time with nanoseconds does for bytes does for bytes does a full document does a full document writes to a stream writes to a stream serializes recursive data structures serializes recursive data structures YAML::PullParser reads empty stream reads empty stream reads an empty document reads an empty document reads a scalar reads a scalar reads a scalar having a null character reads a scalar having a null character reads a sequence reads a sequence reads a scalar with an anchor reads a scalar with an anchor reads a sequence with an anchor reads a sequence with an anchor reads a mapping reads a mapping reads a mapping with an anchor reads a mapping with an anchor parses alias parses alias raises exception at correct location raises exception at correct location skip scalar scalar alias alias sequence sequence mapping mapping stream stream document document skips event in other cases skips event in other cases YAML parser assert assert assert assert assert assert assert assert assert assert assert assert parses recursive sequence parses recursive sequence parses recursive mapping parses recursive mapping parses alias to scalar parses alias to scalar merging with << key merges other mapping merges other mapping raises if merging with missing alias raises if merging with missing alias merges other mapping with alias merges other mapping with alias merges other mapping with array of alias merges other mapping with array of alias doesn't merge explicit string key << doesn't merge explicit string key << doesn't merge empty mapping doesn't merge empty mapping doesn't merge arrays doesn't merge arrays has correct line/number info (#2585) has correct line/number info (#2585) has correct line/number info (2) has correct line/number info (2) has correct message (#4006) has correct message (#4006) parses from IO parses from IO dump returns YAML as a string returns YAML as a string writes YAML to a stream writes YAML to a stream YAML::Nodes::Builder #alias as a scalar value writes correctly writes correctly within a mapping writes correctly writes correctly #merge within a mapping writes correctly writes correctly YAML::Schema::Core parses "~" parses "~" parses "null" parses "null" parses "Null" parses "Null" parses "NULL" parses "NULL" parses "yes" parses "yes" parses "Yes" parses "Yes" parses "YES" parses "YES" parses "true" parses "true" parses "True" parses "True" parses "TRUE" parses "TRUE" parses "on" parses "on" parses "On" parses "On" parses "ON" parses "ON" parses "no" parses "no" parses "No" parses "No" parses "NO" parses "NO" parses "false" parses "false" parses "False" parses "False" parses "FALSE" parses "FALSE" parses "off" parses "off" parses "Off" parses "Off" parses "OFF" parses "OFF" parses ".inf" parses ".inf" parses ".Inf" parses ".Inf" parses ".INF" parses ".INF" parses "+.inf" parses "+.inf" parses "+.Inf" parses "+.Inf" parses "+.INF" parses "+.INF" parses "-.inf" parses "-.inf" parses "-.Inf" parses "-.Inf" parses "-.INF" parses "-.INF" parses nan parses nan parses "0" parses "0" parses "123" parses "123" parses "+123" parses "+123" parses "-123" parses "-123" parses "0b0" parses "0b0" parses "0b10110" parses "0b10110" parses "00" parses "00" parses "0o0" parses "0o0" parses "0o123" parses "0o123" parses "0755" parses "0755" parses "0x0" parses "0x0" parses "0x123abc" parses "0x123abc" parses "-0x123abc" parses "-0x123abc" parses "1.2" parses "1.2" parses "0.815" parses "0.815" parses "0." parses "0." parses "-0.0" parses "-0.0" parses "1_234.2" parses "1_234.2" parses "-2E+05" parses "-2E+05" parses "+12.3" parses "+12.3" parses ".5" parses ".5" parses "+.5" parses "+.5" parses "-.5" parses "-.5" parses "2002-12-14" parses "2002-12-14" parses "2002-1-2" parses "2002-1-2" parses "2002-1-2T10:11:12" parses "2002-1-2T10:11:12" parses "2002-1-2 10:11:12" parses "2002-1-2 10:11:12" parses "2002-1-2 1:11:12" parses "2002-1-2 1:11:12" parses "2002-1-2T10:11:12.3" parses "2002-1-2T10:11:12.3" parses "2002-1-2T10:11:12.34" parses "2002-1-2T10:11:12.34" parses "2002-1-2T10:11:12.345" parses "2002-1-2T10:11:12.345" parses "2002-1-2T10:11:12.3456" parses "2002-1-2T10:11:12.3456" parses "2002-1-2T10:11:12Z" parses "2002-1-2T10:11:12Z" parses "2002-1-2T10:11:12 Z" parses "2002-1-2T10:11:12 Z" parses "2002-1-2T10:11:12 +3" parses "2002-1-2T10:11:12 +3" parses "2002-1-2T10:11:12 +03:00" parses "2002-1-2T10:11:12 +03:00" parses "2002-1-2T10:11:12 -03:00" parses "2002-1-2T10:11:12 -03:00" parses "2002-1-2T10:11:12 -03:31" parses "2002-1-2T10:11:12 -03:31" parses "2002-1-2T10:11:12-03:31" parses "2002-1-2T10:11:12-03:31" parses "2002-1-2T10:11:12 +0300" parses "2002-1-2T10:11:12 +0300" parses "2002-34-45" parses "2002-34-45" parses "2002-12-14 x" parses "2002-12-14 x" parses "2002-1-2T10:11:12x" parses "2002-1-2T10:11:12x" parses "2002-1-2T10:11:12Zx" parses "2002-1-2T10:11:12Zx" parses "2002-1-2T10:11:12+03x" parses "2002-1-2T10:11:12+03x" parses "\"1\"" parses "\"1\"" parses "y" parses "y" parses "Y" parses "Y" parses "n" parses "n" parses "N" parses "N" parses "!!map {1: 2}" parses "!!map {1: 2}" raises on parse "!!map 1" raises on parse "!!map 1" parses "!!omap {1: 2}" parses "!!omap {1: 2}" raises on parse "!!omap 1" raises on parse "!!omap 1" parses "!!pairs [{1: 2}, {3: 4}]" parses "!!pairs [{1: 2}, {3: 4}]" raises on parse "!!pairs 1" raises on parse "!!pairs 1" raises on parse "!!pairs [{1: 2, 3: 4}]" raises on parse "!!pairs [{1: 2, 3: 4}]" parses "!!set { 1, 2, 3 }" parses "!!set { 1, 2, 3 }" raises on parse "!!set 1" raises on parse "!!set 1" parses "!!seq [ 1, 2, 3 ]" parses "!!seq [ 1, 2, 3 ]" raises on parse "!!seq 1" raises on parse "!!seq 1" parses "!!binary aGVsbG8=" parses "!!binary aGVsbG8=" raises on parse "!!binary [1]" raises on parse "!!binary [1]" raises on parse "!!binary 1" raises on parse "!!binary 1" parses "!!bool yes" parses "!!bool yes" raises on parse "!!bool 1" raises on parse "!!bool 1" parses "!!float '1.2'" parses "!!float '1.2'" parses "!!float '0.5'" parses "!!float '0.5'" parses "!!float '1_234.2'" parses "!!float '1_234.2'" parses "!!float -1" parses "!!float -1" parses "!!float 0" parses "!!float 0" parses "!!float 2.3e4" parses "!!float 2.3e4" parses !!float .nan parses !!float .nan parses "!!float .inf" parses "!!float .inf" raises on parse "!!float 'hello'" raises on parse "!!float 'hello'" parses "!!int 0" parses "!!int 0" parses "!!int 123" parses "!!int 123" parses "!!int 0b10" parses "!!int 0b10" parses "!!int 0o123" parses "!!int 0o123" parses "!!int 0755" parses "!!int 0755" parses "!!int 0xabc" parses "!!int 0xabc" parses "!!int -123" parses "!!int -123" raises on parse "!!int 'hello'" raises on parse "!!int 'hello'" parses "!!null ~" parses "!!null ~" raises on parse "!!null 1" raises on parse "!!null 1" parses "!!str 1" parses "!!str 1" raises on parse "!!str [1]" raises on parse "!!str [1]" parses "!!timestamp 2010-01-02" parses "!!timestamp 2010-01-02" raises on parse "!!timestamp foo" raises on parse "!!timestamp foo" .parse_null_or .parse_null_or YAML::Schema::FailSafe parses "123" parses "123" parses "\n context:\n replace_me: \"Yes please!\"\n " parses "\n context:\n replace_me: \"Yes please!\"\n " parses "\n first:\n document:\n\n second:\n document:\n " parses "\n first:\n document:\n\n second:\n document:\n " raises on parse "\n this: \"gives\"\n an: \"error\"\n " raises on parse "\n this: \"gives\"\n an: \"error\"\n " raises on parse ":" raises on parse ":" parses "321" parses "321" parses all "\n context:\n replace_me: \"Yes please!\"\n " parses all "\n context:\n replace_me: \"Yes please!\"\n " parses all "\n foo:\n bar: 123\n\n bar:\n foo: 321\n " parses all "\n foo:\n bar: 123\n\n bar:\n foo: 321\n " raises on parse all "\n this: \"raises\"\n an: \"yaml\"\n parse: \"exception\"\n " raises on parse all "\n this: \"raises\"\n an: \"yaml\"\n parse: \"exception\"\n " raises on parse all ":" raises on parse all ":" Pending: seg fault detects stack overflow on the main stack Math Functions for computing quotient and remainder Number #round edge cases Path #expand converts a pathname to an absolute pathname, using a complete path assert Spec matchers pending block is not compiled pending has block with valid syntax, but invalid semantics URI .parse unescaped @ in user/password should not confuse host OpenSSL::SSL::Context ciphers uses intermediate default ciphers TCPServer settings UDPSocket #connect with a IPv6 address Finished in 1:19 minutes 11260 examples, 0 failures, 0 errors, 9 pending ./bin/crystal build --no-codegen samples/http_server.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/neural_net.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/brainfuck.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/tcp_server.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/channel_select.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/pig.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/mandelbrot.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/tree.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/meteor.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/quine.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sudoku.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/spectral-norm.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/red_black_tree.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sieve.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/pretty_json.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/channel_primes.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/conway.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/tcp_client.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/llvm/brainfuck.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sdl/raytracer.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sdl/tv.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sdl/sdl/lib_sdl.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sdl/sdl/surface.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sdl/sdl/sdl.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/sdl/fire.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/2048.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/noise.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/matmul.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/nbodies.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/binary-trees.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/havlak.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/mandelbrot2.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/compiler/visitor_example.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/compiler/formatter_example.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/compiler/transformer_example.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/fannkuch-redux.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/degree_days.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/impl.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/text_raytracer.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/mt_gc_test.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/wordcount.cr Using compiled compiler at .build/crystal ./bin/crystal build --no-codegen samples/egrep.cr Using compiled compiler at .build/crystal >>> crystal: Entering fakeroot... >>> crystal-doc*: Running split function doc... >>> crystal-doc*: Preparing subpackage crystal-doc... >>> crystal-doc*: Running postcheck for crystal-doc >>> crystal-bash-completion*: Running split function bashcomp... >>> crystal-bash-completion*: Preparing subpackage crystal-bash-completion... >>> crystal-bash-completion*: Running postcheck for crystal-bash-completion >>> crystal-zsh-completion*: Running split function zshcomp... >>> crystal-zsh-completion*: Preparing subpackage crystal-zsh-completion... >>> crystal-zsh-completion*: Running postcheck for crystal-zsh-completion >>> crystal*: Running postcheck for crystal >>> crystal*: Preparing package crystal... >>> crystal*: Stripping binaries >>> crystal-bash-completion*: Scanning shared objects >>> crystal-doc*: Scanning shared objects >>> crystal-zsh-completion*: Scanning shared objects >>> crystal*: Scanning shared objects >>> crystal-bash-completion*: Tracing dependencies... >>> crystal-bash-completion*: Package size: 24.0 KB >>> crystal-bash-completion*: Compressing data... >>> crystal-bash-completion*: Create checksum... >>> crystal-bash-completion*: Create crystal-bash-completion-1.2.0-r0.apk >>> crystal-doc*: Tracing dependencies... >>> crystal-doc*: Package size: 28.0 KB >>> crystal-doc*: Compressing data... >>> crystal-doc*: Create checksum... >>> crystal-doc*: Create crystal-doc-1.2.0-r0.apk >>> crystal-zsh-completion*: Tracing dependencies... >>> crystal-zsh-completion*: Package size: 28.0 KB >>> crystal-zsh-completion*: Compressing data... >>> crystal-zsh-completion*: Create checksum... >>> crystal-zsh-completion*: Create crystal-zsh-completion-1.2.0-r0.apk >>> crystal*: Tracing dependencies... gc-dev gcc gmp-dev libatomic_ops libevent-dev libevent-static musl-dev pcre-dev so:libLLVM-12.so so:libc.musl-x86_64.so.1 so:libevent-2.1.so.7 so:libgc.so.1 so:libgcc_s.so.1 so:libpcre.so.1 so:libstdc++.so.6 >>> crystal*: Package size: 21.6 MB >>> crystal*: Compressing data... >>> crystal*: Create checksum... >>> crystal*: Create crystal-1.2.0-r0.apk >>> crystal: Build complete at Thu, 21 Oct 2021 18:15:09 +0000 elapsed time 0h 15m 21s >>> crystal: Cleaning up srcdir >>> crystal: Cleaning up pkgdir >>> crystal: Uninstalling dependencies... (1/34) Purging .makedepends-crystal (20211021.175949) (2/34) Purging gc-dev (8.0.6-r0) (3/34) Purging libgc++ (8.0.6-r0) (4/34) Purging gmp-dev (6.2.1-r0) (5/34) Purging libgmpxx (6.2.1-r0) (6/34) Purging libatomic_ops (7.6.12-r0) (7/34) Purging libevent-dev (2.1.12-r4) (8/34) Purging python3 (3.9.7-r3) (9/34) Purging libevent (2.1.12-r4) (10/34) Purging libevent-static (2.1.12-r4) (11/34) Purging pcre-dev (8.45-r1) (12/34) Purging libpcre16 (8.45-r1) (13/34) Purging libpcre32 (8.45-r1) (14/34) Purging libpcrecpp (8.45-r1) (15/34) Purging pcre (8.45-r1) (16/34) Purging libxml2-dev (2.9.12-r1) (17/34) Purging xz-dev (5.2.5-r0) (18/34) Purging llvm12-dev (12.0.1-r0) (19/34) Purging llvm12 (12.0.1-r0) (20/34) Purging llvm12-static (12.0.1-r0) (21/34) Purging zlib-static (1.2.11-r3) (22/34) Purging openssl1.1-compat-dev (1.1.1l-r4) (23/34) Purging tzdata (2021d-r0) (24/34) Purging yaml-dev (0.2.5-r0) (25/34) Purging yaml (0.2.5-r0) (26/34) Purging zlib-dev (1.2.11-r3) (27/34) Purging gc (8.0.6-r0) (28/34) Purging llvm12-libs (12.0.1-r0) (29/34) Purging libffi (3.4.2-r1) (30/34) Purging gdbm (1.20-r2) (31/34) Purging mpdecimal (2.5.1-r1) (32/34) Purging readline (8.1.1-r0) (33/34) Purging sqlite-libs (3.36.0-r0) (34/34) Purging libxml2 (2.9.12-r1) Executing busybox-1.34.1-r1.trigger OK: 344 MiB in 95 packages >>> crystal: Updating the community/x86_64 repository index... >>> crystal: Signing the index...