ruby2.3-rubygem-ruby_parser-doc-3.7.1-4.3>t  DH`pY.꾸/=„#\[y; 5/Q[4d)gI1? ҃`#?]pK6`G\:Yߧ$a}yYn16rn)ٛB XM-Try}gQr8aWW=Zq9jh5^[mdekչwL>9?|d"( , O 17@    T /  0$49?f?CD0D@D(D8D9E@:FFuDGuXHyI~X(Y0\D]^b8cd+e0f5l7uLvwxzlCruby2.3-rubygem-ruby_parser-doc3.7.14.3RDoc documentation for ruby_parserDocumentation generated at gem installation time. Usually in RDoc and RI formats.Y.lamb53openSUSE Leap 42.3openSUSEMIThttp://bugs.opensuse.orgDevelopment/Languages/Rubyhttps://github.com/seattlerb/ruby_parserlinuxx86_64Z) Zppppp ^   "  $gn  G  P?+    &    E        /   L.jAAA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.b352ce94631148d02fe39fbbd90a7d470315c36c5a08911f39236e8ef0643ad7858b44e978bd2e5b4c2e7ae6a7db044ab2858185fa33fdb224c956a96d0d054f2e62200e5aa163a31f996addc30d4533d88e0b33a484287f2097930ccbe7af5bad69a028fcfa25af76cbba78d3012261f6fccdbd8587d8077198086d9f0121c61dab43bfa9aea505af9c8fbedcc03a7706d71e41cdd8deb1e889a1ddc735da94202146dbab39359fbbfac9487de520358a9f55ce9dd727b601521279e5593f6512112b25028c46d49e67bf722532833cfced3043ad5f8bbc4e63b2b97fc154c66048fca8a26071550e4dbdfb2ef8f7c239e66e2f6180eaaf816d3872f3e159175fb818d6c0358280a46fe629e0f163da0ee651259cad9b5d36cc4359b2953e8deb5df19c3ddd42a786da6c66b1425b8352e8734df29a77ad4d72dca2d0893c0b5c9227a387f346f6d0d074c9e68503c1d9e79bfad99cdd23c5dfb4d95393a62f4fc05928db0bc177f175b858fa8c436bc0695ce238dd62f8cd4bf4c3fa2b58dc8ed2f663d07397b12bfdf990e8ef1f3799ab784b3477898556c8772ef8598b5492739720d6ceeb3712657d9083ac2e91f918889553457a7f4d94562180ae53fb0e5d3868e2941d41388a7697c937abed13f61790ab75ce4729dd928b751db09b6cbcb9361eef3f1cb9bf7c84ca8fd3bd027ba27b20bcc876a59413fdab6ebf257f2d69253d3d456ae26626d0a949e47dbe907f0a2bd01396641d9d9a978314f8cb75fc8f261b98c8384e31bc1bacbbf9881d3a4f03e44e9d56ff60e7601fdccccecc630c2f556c0aadda98d2417d887904040662ece7fb7f3ecf4c88cc249dcfaa68bc7965e203bc150bbf104d172a08dd3defe01bafaf7688e932d8eb09d4c1eac21374291df775692d46448d20ddfbb5667ffdf7a4fb7229037b1c8ec59c0a33b4b9181135506625f0ca36e01f35a92af66637ebf799d4c519335b5bfdc1dad3ef15e5534067ed1d18b56c4c48d25ac49a86e1ea2b6cc4b67d640268de536de56240343d20576a805ebf8aee90d4f9fdd020a93f4834cb5daaa935b0ff871b257f70a8d780fdc267823b57f5fdc8acdb924e6cdf1f8ce31afdd404eb6786732d7532b3f46dacb640bf4b4c5e680b7c179fa2b8c374395a4668cbad4216d2dd437ce105f13c42d12edb0a25f19f925e44ba95110fb0c081f95fccabdda880b9bdc058db97d61b1e5b8196a7c66b0da7fbde71296ba1a665d827af75e3cd19d0166ad5a366695c878e73a7dc4fd0d61563c26ba98ada2a956917b795cdbdf6d4a6b4b86517e6125a03e438556c7be06e0fd0f8dd1836a946dec82199528b545036047fb35c64756b4f303159778823fe7b2dbfc5dc46fef0262253d5709e9e35bad25633afb0d5257766aae45d4ed071f8fe8461533fbda40a202cd0d37f91496ead9e75cf16fce1b28c0a04b801f23dec149e481e48d7c72e007c6c9e440f710422b43c56f845e75ba65ffd7c317d1d162077adc9f934c56055f4f51bbdb40ce7b80b1b4a793ac860faf19c7f6722613fdc48f9d81633248aac6649c2c9695f1cd97f31e29b75b0eb5ea8cc7a655860b07377768df54f65b220b8f9c0cd574a9d114856d587d2b5a935352c1ff668c018f92c79c96ec1e54915be3e0fbd48f6628355529d7738f29940d7cb85c83954d371c4b5e2d740fe0ad0c7315aeff1043abd43e3416dac8a8333c3a4e7e1465fc4506e7e1e898daef90089f8589a9c9e5a2a667dee5899f7787d7e0c53ef83cc8ff0bd4e734416a55545d145621321a5bfd9d5e83e5f8d5c970d8389426b1f9c0be83ee72dfd7c72657f1fcb9e9dcea067ab59b296e99895697a247ffb18b813f6fe8a07a6f81037839b03aa24bbc74873ece0189b9eda38ab74354eb9cbf258d49ea3a453d555c11db8d115dc280eb585aeefd2a35b6b35738e14bc56ee471bd4b80092924f2fc28f663e19af585bb6ced772dffa60176cba0f7d0f17de7c5349c43afb56e11e24bf618df2e095c825fd6876f9e9f412c4be88392622e76e3ea5926c9de21b1db31c76b2c54c5b2d1bc4bf0fc4756b1df1e8c82d1a3424f4096f5b1356fca50087ca3a53d2bc5d1ed58cebf50fb0e1c2c9ad5ac044dfb417757191912c2dfaee185bd3098fff18a845dc4d0f5c7541eb9bbfe38cf3943b0b7bc1a008336c8341077aa54ff36d7caf1f7480ebb8c1d150cdfe4cfdc7d1e61709bea28894dd8a422c0fc3445c6bca285205c75f64c5f22da7e1587dc40c3a67811b119e7ed64ee86d844b690cf64cde0982971c615ca15612e508ea44ae35528957a29968c51b66887baf157d96f6a644152ec1c4da44bef17012f2f2f57720682d8507a3fdf55cbdb5300981f3c9c70ae3765790d98e0a30c4077b3fbccaa02b321ae7c3a11081f5072fe25e90fc3c769989c7bf86154b52c824f81443c19ee238c93ceedbd3f0601c1201e42df85552ccc58299e9688414a224de36cd2e246cdba6926d75284e8c4e8b308fa7d270ec4e72a20508970afa9ffc0963b038ad1227c9e9e19a26fcfe006da2f3a71996d822f149a8cad3b8b34760f9967c782f8f1de02289d494346a983000c0968c4e2574a5b5694892c8e37439efe6c849a2782f9e1403ee89362fda990c233adcdaff1702048c0e722a574976aabbeca531941bf48788cfac891ebf2ea4d86b40cde6ccff01c2bec10f3e99c462d36887ba40fc44eb417bc20542f4f493fd784394e4ea4383954402f5e68e2be65ac1574bc45c9e682d33f45b9c58eb7033ada4243f19ef35fd2501f39eda00e8b722ce4a561498e1e6b2ed15b38fddd14c22364e75e2ed6135ad16fc789f29d371a568322cebe38370eda1a8675a4c9ca5f5cd252e2a935df2720df54f8e84c0620abb81e56a81a5e32d695a752c0066630b6ef39d08f1b7d93f69ed3a7e42668e74dfdeee04a75038634140ca4234d4e8b0f0e99fbb4c2ed355fc8f4f82c81abbecf03dcc664a53c8796bd1ee3b000bfb0b923df2de4816b1e31eff572f0d5f2189aeb0b48323e3979e16bf58e1279d27c5ee871b0df24f27c11a4b7fe7b6225e8a1289a146d7416b5df29e6c1ea8d9594b4ea431d6f3508ba0e365ef9f9868d12eca3ef0cde2afd8a9970f6602c04421a455a53ab2d7b866bc4787d559cd6f41138836bf0db48895fe51cdc54a2f9a8431ecaea26876f51cf3190f981f3b36a278d306fe2bf305802f13138e6fe7bfc1779c1bd3b17760ad0fb120b71c355b344a93ba4d6ded66e97652334ffbc83ba4ed32545907106d49982844528fb5278f8df7e006d715e1b794cef7d535c9f465a6a149ef80b81e6a2f293c4136f08408227cb985f851e7bcabc2f87118d36a33f86c2065837534c35d0e6776234cbb1e297418d0a781a9ebd8e8bd57cc124bf6561dcce5a70a3c32ec7abb9838c8086a559ddb23c47da19d3e1948b84c7372e9c8d3bd8b79ad3fa52abda9b29bed5413b057c7f797dca1e644331fe1783ebbea14907201b53fd2cebb9e957515398f22172dbe1d7bafe23c0df0fc09cc70feefbce068a93e95427c322395c02372af4e5759243bae57d3b9c0ed3f2b4e68aeca268bf2c672a45550f1169473cd882c8db603c4db36c9e894dccec673d60b69149741631de71d3b65d082b1a9087ba89fc215b41086fc3a672ffd08b5ed6e5d902ba3760334b672b055d133db4d7d9d0e8025d7acaa2d48530591131610f7160a08880ab04bd421bb5233071f82b9ded489106cc975c3945f01a59b7d96f4376024e3ea44a10d6beca1e742e085756c11c217266bacb35e54f1581dd710ab9570a922168cc240b5f6277c362f721ed2aaa47f05549f4c506dab6f3897eb8eb0f140676695ddd63937fe5afe719bb981b4c369415e9cf2c7cfe41a89fbc45a0875f0b11a2d8529b2f1ed43e51a3b9570144339190141c5de6cc9b635ed751b6db604aafedcca4ec1718f2bde84308011ad5e42cea37acf55af47c03a2af9b8ddd98cb1a29f0573f0780386e77a925e66b8d1cd1f6229bae2af9e0d13142bfc6bc43a968836d9d4bdddf3aecf4ad2ea28d4d2dda8f78dc731c5a8736b92aa323aadedf8d5a285cf2d8e9046bf24e2948109a4c365616c24008baadbf6284327cdb59875e45a017627addacb4d99606a84e56b694e35037e567d064380aa368765e1f1c78e3637505d58d718079702e29804295835a7880a23eaea76703cbbf25bdbab8cf43ac398b37bcbbee7909e1d995964683eb3356c23d2044b89436e5b69c6a0644cfa5ac7aa4356bddfb6cf629e737743efb9f9dc0634db440c3e2a9f6b9852c50fef9ca6b4d8083d72f96d3f6f38a62b34922d9344f9ec9e3610770b2146b8abb0d0e9d3db79905475fa9bcbe86c69976c70a38aa4a9d0f1923f24694bb0ad32ab125e8f503e77d05debd663842f903db17633bc68e21ebdf65846ebb48f3b869180160b3533bc72b1bfcd91d59c72507ff584ea8b00b45e2c61e4a083bb62d81511eb51028979ddd1b7989ce3762d2658328db9c2bd1057ac0e96b4b08faf47b59ddc99158dd606e73ff7b930f096eb334bc2d7835ff02448aff7ef40b28f4d02432816cf8cb03534c27e8d11f3f85acf01b8a0a89f9ea2334c39a76b68ffde3c5cf5162e3ab99159fefb96fb2a3ff7a5089171fed554213f62e81ea1cba75325c4d061dff5bd421aca2bb78e8d669a57e48921ec9bbedda29b1c6bc0b08d2da9250ee5afdfdb7544c8354878dc2a36f06a8ec68133fd75a30fe22f6bf8a43d714e45310d8670da27d1759c9ed04f7a27e102e0c114d930b976c305c08e3678db938a53457b502315752a1519977e36161df8d4274d9745f53823d37129cb663f04649f1b673feeee95a5d76d6ff7b5b84336e6132c15f5ac0a396cae8089f90fce8716c2c586c73776d9f05d864b598872d05cc779747ecf58fc7897de4f9e1c2b95e05b7b621f00b4c37fa45c91fafc8cde5b27f29ad9322e4fc5d03692e2e51c9508d7aef78a2edd7b3e262a952b48bb86349d9a1f06a450df1490b76d611d597e45ab4f25f2ffdf98df78513edcf6df81bddd63d03e9b956e3c06c2c65211ca10b0d60ff431062b818b318c8db3477d894fecc46470d0f84116f54faaa8ed624d39f8d1bf5ea442c131d8774f4880305b595f37ebc9be66b46a0f7702547e447dc113a41943588054f4a142280c22c4ae86c6a3ca1449f871154656f76a59e2a66906eaf58a0d8ae12004e867f5682c6982d8774bf112cbdaf947c0071140985d7c1d0b300d4c39af4f3e445cffaba66bf8e9c15884adb5d84e24ba9e449469538795f7b935ef03d22417b0128cc5fd3bc2f0ff2c96f4e3b20a458d098120bf2de002fe3454ccc2221358e86fd129625fc142273ce929fde422388770c9e23b014d91f384af49693c56475dfac7f696c5d744231c48c4d967a88eca7a60fce6b33cbec038874846ad067fa3dbbf54862167204063838c6e528a56b22f24b5f089c139c860ebf8df4a5ae90d0e838e7b9330c5d5a3ee05b1b59da8e0b8ca158e10a041ecbc6f9446c446170327ff75075e01c1b80dcb84eb887f3c87f4379ed7522c3ca40fa0ae7bea21ce7706521c43043d2cf1df7588a1a37adfa626d0dacd3e03aadb6cd8a108c30beac5c2ab48b9da1d4e24bd708b71aa29cfc925f393dda8fbb9312d17a36524275eb503fdea96rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-ruby_parser-3.7.1-4.3.src.rpmruby2.3-rubygem-ruby_parser-docruby2.3-rubygem-ruby_parser-doc(x86-64)   rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)ruby2.3-rubygem-ruby_parserrpmlib(PayloadIsLzma)3.0.4-14.0-13.7.14.4.6-14.11.2UĝUhTU-@U Tء@T>aT;T=@T=@SxSAAS@Ry@RQQr@QHS@PՠP@P@P@PO@OpZ@LL%@K4@JlE@coolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comadrian@suse.demrueckert@suse.demrueckert@suse.decoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcfarrell@suse.commrueckert@suse.demrueckert@suse.deprusnak@suse.czdmacvicar@suse.de- updated to version 3.7.1 see installed History.txt === 3.7.1 / 2015-08-06 * 1 minor enhancement: * Improved understandability of lexing postfix symbols. * 2 bug fixes: * Fixed timeout caused by regexp backtracking bug w/ long strings in 2.2 parser. (presidentbeef) * Rename DEBUG env toggle to RB_LINENO_DEBUG. (tenderlove)- updated to version 3.7.0 see installed History.txt === 3.7.0 / 2015-05-28 * 2 major enhancements: * Added preliminary support for ruby 2.2 syntax. * Now writing all 2.x parsers from one source, generating racc files. * 1 minor enhancement: * Added RubyLexer#process_label and hooked it up to "x": and 'x': productions. * 4 bug fixes: * Fixed handling of block_args to be consistent across all parse versions. * Fixed lexing of label assoc args w/ newlines in between k/v. (jeremyf) * Fixed lexing of x?'':y for ruby22 (not a label). (presidentbeef) * clear and restore cmdarg stack around def args and body.- updated to version 3.6.6- updated to version 3.6.5 * 1 minor enhancement: * Add line numbers from block comments =begin/=end. (presidentbeef)- updated to version 3.6.4 * 1 bug fix: * Removed shebangs in tests because of bugs (aka 'features') in RPM packaging tools.- updated to version 3.6.3 * 1 bug fix: * Fixed bug caused by latest version of oedipus_lex not exporting lineno accessor. * Handle return/next/break/yield w/ block call (WHY).- adapt to new rubygem packaging style- added gem2rpm.yml as source- added a small scriptlet to fix the shebang line of the test scripts - also added a gem2rpm.yml for later, but did not regenerate the specfile just yet.- updated to version 3.6.1 * 1 bug fix: * Strings that don't match the encoding of the file are now returned as ASCII-8BIT. * 1 minor enhancement: * Added new_string and switched all parsers to it. * 1 bug fix: * Fixed line numbers of nodes following multi-line strings. (presidentbeef)- updated to version 3.5.0 * 1 major enhancement: * Added initial support for ruby 2.1 syntax. Doesn't have numeric extensions yet. * 2 minor enhancements: * Converted ruby_lexer.rex to use new grouping mechanism. ~15% improvement in speed. * Various lexer cleanup. * 2 bug fixes: * 2.0/2.1: Fixed block kw args. * Fixed env for kwargs and friends.- updated to version 3.4.1 * 1 minor enhancement: * Added StackState#store and #restore. * 1 bug fix: * 1.8/1.9/2.0: Fixed tSTRING_DBEG w/ f'd up amounts of nesting + braces + do/end. yeah. I'm as confused as you are.- updated to version 3.4.0 * 1 major enhancement: * Replaced hand-written/optimized f'd-up lexer with an oedipus_lex generated lexer. This makes it roughly 40-50% faster. * 30 minor enhancements: * 2.0: Added support for a.b c() do d end.e do |f| g end * 2.0: Added support for a.b c() do d end.e f do |g| h end * Added -s flag to ruby_parse_extract_error to output timings. * Added RubyLexer #command_state and #last_state to deal with oedipus_lex differences. * Added String#lineno and #lineno= because I'm a bad bad person. * Added a bunch of RubyLexer scanning methods: beginning_of_line?, check, scan, etc. * Added a bunch of process_* methods extracted from old yylex. process_amper, etc. * Added lib/.document to save my laptop's battery from pain and suffering * Adjust lineno when we lex a bunch of blank lines. * Attach lineno to tIDENTIFIER values (strings, ugh) * Cleaned up and re-ordered node_assign to be faster (ordered by actual occurrance). * Extend RubyParserStuff#gettable to set the lineno if it comes in with the id. * Extended RubyParserStuff#new_case to take line number. * Finally dropped RPStringScanner's BS #current_line. * Finally dropped RPStringScanner's BS line number calculation (lineno). * Implemented Sexp#add_all since we now have a test case for it. * Removed :call case of node_assign. I don't think it is possible. * Removed RubyLexer #extra_lines_added. No longer used. Complex heredoc lineno's possible screwed up. * Removed RubyLexer#parse_number. Handled by oedipus_lex. * Removed RubyLexer#yacc_value now that next_token returns pairs. * Removed RubyLexer's @src. Now taken care of by oedipus_lex. * Removed RubyParser#advance. RubyParser#next_token takes care of everything now. * Removed RubyParserExtras#arg_add. (presidentbeef! YAY!) * Removed lib/gauntlet_rubyparser.rb. I just don't use it anymore. Too slow. * RubyLexer#is_label_possible? doesn't need an arg- updated to version 3.3.0 * Notes: 39 files failed to parse out of ~834k files makes this 99.9953% or 4.07σ. * 15 minor enhancements: * 2.0: Parse kwarg as lvars. (chastell) * Added RubyLexer#beginning_of_line?, check(re), end_of_stream? * Added RubyLexer#process_token_keyword. * Added RubyLexer#scan, #matched, #beginning_of_line? and others to decouple from internals. * Added lexing of \u### and \u{###}." * Added optimizations for simple quoted symbols. * Aliased Lexer#src to ss (since that is what it is). * Allow for 20 in parser class name. * Modified parsers line number calculations for defn nodes. * Removed Env#dynamic, #dynamic?, #use, #used? * Removed RubyLexer#tern. Introduced and disused during 3.0 alpha. (whitequark) * Removed unused RubyLexer#warnings. * Renamed *_RE consts to just * (IDENT_CHAR, ESC, etc). * new_defn now sets arg node line number directly. * zero byte is allowed in symbols for 1.9 / 2.0. * 11 bug fixes: * 2.0: Fixed paren-less kwargs in defn. * Don't bother with regexp encoding options on 1.9+ to avoid warnings. * Fix constant re-build on ruby 2.0 + rake 10. * Fix lexing of %i with extra whitespace. (flori) * Fixed RubyParserStuff#new_body to deal with nonsensical code better (begin-empty+else). (snatchev) * Fixed bug lexing h[k]=begin ... end. Use your space bars people! * Fixed env scoping in new lambdas. * Fixed handling of single array arg in attrasgn. * Fixed test to call RubyLexer#reset between assertions. * No longer assigning ivar/cvars to env. Only locals should be in env. * Refactored initialize and reset to more properly re-initialize as needed.- updated to version 3.2.2 * 5 bug fixes: * 1.9/2.0: fixed assocs in return args. (presidentbeef) * Fixed handling of parse error when class is nested in multiple defs. (whitequark) * Fixed lexing of %w[] w/ funny whitespace separators. (whitequark) * Fixed more call nodes that have trailing comma syntax. (presidentbeef) * Fixed more call_args slippage. === 3.2.1 / 2013-07-03 * 1 bug fix: * 1.9/2.0: Trailing assocs were being munged into arrays. (presidentbeef) === 3.2.0 / 2013-07-02 * 1 major enhancement: * Added (rough draft) 2.0 support. Still missing some small / rare things. * 12 minor enhancements: * Added %i(symbol-names...) support. (%I too) * Added 140 more tests, jumping test count from 1376 to 2143. Yay for test reuse! * Added RubyLexer#brace_nest. * Added compare20 rake task to diff the grammar architecture against MRI. * Added lpar_beg and paren_nest to lexer to track state of parens in stabbies * Added shadow nodes for scoped block args. * Compound RubyParser now defaults to 2.0. * Fixed rake to < 10, because 10's file dependency handling is so very broken. * Made it possible to specify version in bin/ruby_parse_extract_error w/ -v 18|19|20 * Refactored to RubyParserStuff::ENCODING_ORDER to allow custom tweaking of encoding guessing. (samlown) * Switched `rake debug` to default to 2.0. * Translated some fixes across 1.8 and 1.9 from 2.0. * 42 bug fixes: * 2.0: Fixed a number of block args scenarios w/ kwargs * 2.0: Fixed args_tail mismatching against lexer. * 2.0: Fixed assocs to return a hash node. * 2.0: Fixed f_block_kw production. * 2.0: Fixed f_block_kwarg production. * 2.0: Fixed handling of stabby proc args in parens. * 2.0: Fixed lexing of kwsplat nodes. * 2.0: Implemented kwsplat nodes. * Added tUBANG to lexer. ...- updated to version 3.1.3 * 2 bug fixes: * Fixed begin w/ else but no rescue. (whitequark) * Removed literal stripping from block_append. Not its job.- updated to version 3.1.2 * 1 minor enhancement: * OMG A SECURITY ISSUE FOR CODE NOBODY USES... EVER- updated to version 3.1.1 * 1 minor enhancement: * Added MOVE_TIMEOUT env var for ruby_parse_extract_error to move slow files to a sibling directory * 4 bug fixes: * 1.9: Fixed lexing of "0o". (whitequark) * 1.9: Fixed parsing of unary plus on literals. (whitequark) * Added timeout arg to RubyParser#process to pass through to the real parser * Updated Synopsis to reflect new options for running RP. (louismullie)- updated to version 3.1.0 * 2 minor enhancements: * Added RubyParser.for_current_ruby to provide a parser that matches your runtime. (neilconway) * Duck-typed IDENT_CHAR_RE instead of using RUBY_VERSION * 3 bug fixes: * Cleared out body comments in class/module/defn/defs * Flipped lexer tests to US-ASCII to avoid encoding hell * yyerror is now an alias for syntax_error- updated to version 3.0.4 * 1 bug fix: * RPStringScanner#lineno was still using byte offset, not char offset. (brynary) * 1 minor enhancement: * Improved error output on invalid char in expression. * 1 bug fix: * Fixed lexing of no-name ivars. (whitequark) 52 down makes 99.9767% or 3.7σ. 130 files failed to parse out of 558k. * 4 minor enhancements: * Added RP_TIMEOUT env var to override default timeout of 10 seconds. * Minor optimization to RubyLexer#parse_number * Only output parseerror output to stderr if $DEBUG. * ruby_parse_extract_error modified to include 'it' blocks in its search. * 7 bug fixes: * 1.9: Fixed args in dot-call forms (eg f.(...)). * 1.9: Fixed lexing stabby lambda w/ do/end * Deal better with DOS files. Ugh. * Fix line number of production after heredoc. * Fixed RubyParser#process to reuse parser instances across calls. * Fixed line numbers for several productions. * new_call sets line number to smallest line number of members.- updated to version 3.0.1, see the long History.txt- fix gem requires- update to 2.3.1 * Fixed line numbers at end of special var+whitespace (larsch) * Holy crap I was smokin' something good... Fixed 1.9.3 warning * Add -g flag to parser compile if DEBUG * Lexer now embeds line number in yacc_value for keywords, helping fix up line numbers * Fix method line numbers when no args and no parens (quix) * Fixed line numbers on return/break/next w/ result expr. (pjnz) * Fixed some lexing state in order to parse: 'f (1), 2' as 'f(1, 2)'. (invernizzi) * Moved Keyword, Environment, and StackState inside of RubyParser * Added proper dsym and dsym->sym support. * Added extra (failing) tests for call/iter line number checking (quix) * Fixed line numbers for certain call/iter edge cases * Fixed parsing of: alias :"<<" :">>". * Added new accessor canonicalize_conditions to toggle conditional canonicalization (on by default). (confused) * Awesome cleanup: Replaced call to append_block by block_append. (Confusion) * Fixed handling last line of =begin/=end. (raybaxter) * Fixed source line numbers after heredocs. (jbarreneche) * Switched to hoe's racc plugin to clean up rakefile and builds * Fixed empty =begin/end.- license update: MIT See README.txt- update to version 2.0.5 * Started merging like lexical cases to try to squeeze some optimization out- use rubygems_requires macro- update to 2.0.4 * Changed requires around to be more accurate. * Fixed .autotest for minitest * Fixed emacs escape lexing bug: "\C-\\" (maglev/gemstone) * Fixed octal lexing edgecases. (maglev/gemstone) * Fixed regexp lexing edgecases. (maglev/gemstone)- initial package for 2.0.3lamb53 1496246954  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.7.1-4.33.7.1-4.3               ruby_parser-3.7.1riFixnumcdesc-Fixnum.riRPStringScannercdesc-RPStringScanner.richarpos-i.rid-i.rigetch-i.riold_getch-i.riold_scan-i.riscan-i.ristring_to_pos-i.riunread_many-i.riRegexpcdesc-Regexp.riRuby18Parsercdesc-Ruby18Parser.riRuby19Parsercdesc-Ruby19Parser.riRuby20Parsercdesc-Ruby20Parser.riRuby21Parsercdesc-Ruby21Parser.riRuby22Parsercdesc-Ruby22Parser.riRubyLexerScanErrorcdesc-ScanError.riaction-i.riarg_ambiguous-i.riarg_state-i.ribeginning_of_line%3f-i.ribol%3f-i.ribrace_nest-i.ricdesc-RubyLexer.richeck-i.ricmdarg-i.ricommand_start-i.ricommand_state-i.ricomments-i.ricond-i.rid-i.riend_of_stream%3f-i.riexpr_dot%3f-i.riexpr_fname%3f-i.riexpr_result-i.riextra_lineno-i.rifilename-i.riheredoc-i.riheredoc_identifier-i.riin_arg_state%3f-i.riin_fname%3f-i.riin_lex_state%3f-i.riint_with_base-i.riis_arg%3f-i.riis_beg%3f-i.riis_end%3f-i.riis_label_possible%3f-i.riis_label_suffix%3f-i.riis_space_arg%3f-i.rilast_state-i.rilex_state-i.rilex_strterm-i.rilineno%3d-i.rilineno-i.rilpar_beg-i.rimatch-i.rimatched-i.rimatches-i.rinew-c.rinext_token-i.rinot_end%3f-i.riold_lineno%3d-i.riparen_nest-i.riparse-i.riparse_file-i.riparse_quote-i.riparse_string-i.riparser-i.riprocess_amper-i.riprocess_backref-i.riprocess_begin-i.riprocess_bracing-i.riprocess_colon1-i.riprocess_colon2-i.riprocess_curly_brace-i.riprocess_float-i.riprocess_gvar-i.riprocess_gvar_oddity-i.riprocess_ivar-i.riprocess_label-i.riprocess_label_or_string-i.riprocess_lchevron-i.riprocess_newline_or_comment-i.riprocess_nthref-i.riprocess_paren-i.riprocess_paren18-i.riprocess_paren19-i.riprocess_percent-i.riprocess_plus_minus-i.riprocess_questionmark-i.riprocess_slash-i.riprocess_square_bracket-i.riprocess_string-i.riprocess_symbol-i.riprocess_token-i.riprocess_token_keyword-i.riprocess_underscore-i.rirb_compile_error-i.riread_escape-i.riregx_options-i.rireset-i.riruby18-i.riruby19-i.riruby22%3f-i.riruby22_label%3f-i.riscan-i.riscanner_class-i.rispace_seen-i.rispace_vs_beginning-i.riss-i.ristate-i.ristring-i.ristring_buffer-i.ristring_nest-i.ritokadd_escape-i.ritokadd_string-i.ritoken-i.riunescape-i.riversion-i.riwarning-i.riwas_label%3f-i.riRubyParserStuffEnvironment%5b%5d%3d-i.ri%5b%5d-i.riall-i.ricdesc-Environment.ricurrent-i.ridyn-i.rienv-i.riextend-i.rinew-c.rireset-i.riunextend-i.riKeywordKWtablecdesc-KWtable.riid0-i.riid1-i.riname-i.rinew-c.ristate-i.ricdesc-Keyword.rikeyword18-c.rikeyword19-c.riRuby18Parsercdesc-Ruby18Parser.riRuby19Parsercdesc-Ruby19Parser.riRuby20Parsercdesc-Ruby20Parser.riRuby21Parsercdesc-Ruby21Parser.riRuby22Parsercdesc-Ruby22Parser.riRubyParserSyntaxErrorcdesc-SyntaxError.ricdesc-RubyParser.rifor_current_ruby-c.rinew-c.riparse-i.riprocess-i.rireset-i.riSexpadd_all-i.riblock_pass%3f-i.ricdesc-Sexp.riparen-i.rito_sym-i.rivalue-i.riStackStatecdesc-StackState.ridebug-i.riinspect-i.riis_in_state-i.rilexpop-i.riname-i.rinew-c.ripop-i.ripush-i.rirestore-i.ristack-i.ristore-i.riStringcdesc-String.rigrep-i.rilineno-i.riarg_blk_pass-i.riarg_concat-i.riargl-i.riargs-i.riarray_to_hash-i.riaryset-i.riassignable-i.ribackref_assign_error-i.riblock_append-i.riblock_dup_check-i.riblock_var-i.riblock_var18-i.ricall_args-i.ricanonicalize_conditions-i.ricdesc-RubyParserStuff.riclean_mlhs-i.ricomments-i.ricond-i.ridebug20-i.rido_parse-i.rienv-i.rifile-i.riget_match_node-i.rigettable-i.rihack_encoding-i.rihandle_encoding-i.riin_def-i.riin_single-i.riinvert_block_call-i.riinverted%3f-i.rilexer-i.rilist_append-i.rilist_prepend-i.riliteral_concat-i.rilogop-i.rinew-c.rinew_aref-i.rinew_body-i.rinew_call-i.rinew_case-i.rinew_class-i.rinew_compstmt-i.rinew_defn-i.rinew_defs-i.rinew_for-i.rinew_if-i.rinew_iter-i.rinew_masgn-i.rinew_masgn_arg-i.rinew_module-i.rinew_op_asgn-i.rinew_regexp-i.rinew_resbody-i.rinew_sclass-i.rinew_string-i.rinew_super-i.rinew_undef-i.rinew_until-i.rinew_until_or_while-i.rinew_when-i.rinew_while-i.rinew_xstring-i.rinew_yield-i.rinext_token-i.rinode_assign-i.rion_error-i.riprocess-i.riremove_begin-i.rireset-i.riret_args-i.ris-i.risyntax_error-i.rivalue_expr-i.rivoid_stmts-i.riwarning-i.ricache.ripage-History_txt.ripage-Manifest_txt.ripage-README_txt.ri/usr/lib64/ruby/gems/2.3.0/doc//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Fixnum//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RPStringScanner//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Regexp//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Ruby18Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Ruby19Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Ruby20Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Ruby21Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/Ruby22Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyLexer//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyLexer/ScanError//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Environment//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Keyword//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Keyword/KWtable//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby18Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby19Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby20Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby21Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby22Parser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/RubyParser//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/RubyParser/SyntaxError//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Sexp//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/StackState//usr/lib64/ruby/gems/2.3.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/String/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Leap:42.3/standard/3b2836b0495228247901653e33b164c9-rubygem-ruby_parsercpiolzma5x86_64-suse-linuxdirectoryv^88CWW?p] crt:bLLD1P<;z*gOsDLXlLhcp@\&8s*sqGfI}]#&!n0!vo:~=4 qaNo(4rv/ `Q$aj`K=E 㬄~p"X9/:!:fG7%5ټY]dNh`gqq:7DxcVBHOeuIYHBMeLJЛ-0x i5p}=2bTsR:--B9q#B>kBgS-°B읪Ȫ>uzfn'[H"hh7нiJ")hJ6":u7_hW07 ,<Ʉ"=+y}[X8~fQr-6C=,m`heԯCjL=gV, m>a2q|nwNS4h%@Rx)z3&hKWmrh"ϳO~cpS[43➣cz#SL5'{tk*gWv*}ij,JOpq$dU1f[jyLإù}x]: mgo:Y ܋!,sj&I4F&q9q jC"OйZd3x x ?֐qSO>TU{]t cw06[jVgA3&jW/8zSՙ wQd)7!i "0:Ճo'. {h]Mfo1gF`5m 5C{q l-NQϛ;uP,cG/kEmРB?7;kd~l=!`HsM3BZGjZ%}\i4A3_bb=TzG%uuKf(X[o"Dpu:q{D@Tk,8+5yCB̫=L [dV@L/r!UぽZ|N CX]&澊@RU>v!lZ%ֽܪ(ʩk+}仠JGrWk-Ǡ N!0@gGIXqxVG`7ᭋ[*ܚW}`ҥGn$|:nҸnFvV\033|ӂCRL2pxVcpWфJ̱D&[lӟδVԎBFf\)ns8<6H P[ psnc7 Կx7bsyyfS 0vu!:/gݑSv}$/3䑪j4Ot:,tڅ1.1.~ Prnժ50dX=†7QƼш|G:l&jcxi F:rJ>A,\;^|<W喏fXp\ϒxczd5=}#sbgKOmϩ,fއż䀹s=a*q}`c > v)?~S P\ɶQb0nʹ/ Pe #廎dH ~K=?.RE H{3l+\bYUaV8ݤqMj&r`ET/dg*fOacHmp;ʻ:?F7}\(>L4eήq9[eͬ\lL7L.;DO o}qPQE\>T$`=y .DaCHL!Ap/pskhٜq!jA2̴_4,@hHyI:T5nñ|#)NclH Unxǡ83F"U_d;;j=0)*N.M18?!fR9{%ї3t^`"~"2ʩ\<WV_8,T D٢Y|n{^ZMSmY㉪}bR+K[tHbWS},ty: LDf+#=p#eeoHTe:DRDB*:ukT6#(9)r7v(KӭLiG}xGo{1 )B`AE+qrE^Sdz$'uKhV(:UZUc*vڦa:6 (v:2=6Q@)5[1]~ Q]^ە܁9NeqUbUyEeiޗ~cp 2 TT_7I-UeBu/w Ppޘ ǷTHg3a6T< ' C`${I+~s3Ɔ }ݭf)3ǒ?˯b9FԦ^d^: Z 5g,V& irZ0N2oy$AqDCpTk~.etEXM#6D wI,n0?g}Tf4?*m%YѨ(LdE:,ލg s\v)qJ0A*#z7wd)pxtpG)$D6Q([o5kdEm& .}gA()ҎcNla7>ȴU WXň|t+t`РwЅVBgp~ߑ%Cm,"g9٩n wN]K 5((Yz-&8 Z6UoFd4xrdoei4hA P|XrY,P9$,|5v2C|\^υbg<3OKnsa߀]O\>o[a<YTPdL}R/ O Mq\0̌ÐheH,.#މx'ufȗR|CD EU E۠tc fhT@/[+hRl7KB]C TXpiC װĿdi .%4"/õm\ T9S;Mzu?B&~ `'7H8)}0:&):JY `L 45&?}E9kDO7q4l8ArN|i,Doi bޓ/a0a{F*xhl|cRrm9&f[8):U3}da Jmdb-ccJQJDQ+m !A#&:̌/cNKռ^ ]k^l[^#W=,'yry^n5=ptܔRKUz8x$.>Rpߌ~&qjpVOZ`f1З?Mb@Ыlr@}F,d0*?[kX}샸)qߞLVEzl PRo b8fhUqt3B,XAY?F6Qn97\r NTj+0s͉P3\~ʁb3Uo?;)`﹠Jn'<0*!eҖ=/-PLLJ|i?0 I_5hJ$!k^@UЈ_H$&^ 6Iq1txRYX4b`֊_(1Yy$W`5?R^SC:yO\Ui(3C-!\y:{e}3-_GXAմ*Z+?'>[5YZTW6#)8_.4P(`vm7Z@ <`6%P4:ح:7Xݕ:Ɗ 'N#2lB!c_RkpnU/ iQF@-mf\&XY (\{,Ro.Qҁ]6ɑ{ouGkbȤ)b}7qr}ֺ/cF3`[lg'HDJ1/ro@p؇\iiAg `c- ЧHxlLe'nOؓ%!uܐrdā,_W{ogNo65}t~jLbx^kƄ aCy{ڗ#$-æ\oVЌ*ӱfjǯ8fǶY \h{$Y4IfyOs§{q>hR6r΂vͱ|`*hOIHߗa&kOEȡ.U:r78Ģ|]bjTBPb ɢӪ̃i~ D(%@ Dhwn.{!QS?/cxtJhIeJ$a|K:f]EgJۛyDHdyq srR#BYA'BDN8#iDiRmC3ltwc'-d:%EPߣ#pJ9O!=bH,44Xì^u^۔b^m7M ׆8gUUq9ACHoA~^lNv(٢jX@T0֫Q$0%:js4ru~p'$r,%dYfB]] r@4 T׷26Ɖ?Zvŷ¿ee Pa" :e_¨8bv)'2Etmdi/)Mp)˝'OLD!MߖtL="d)gp0?"5j.|ܧSI#sUp+Rv\݂PzoZ|=^p&. [nH~?O3rEw3-0vd0+9]Ῥ num450xԼGpZ4p1k<\>i9ߢ_JU}-IZ y. ,>I# t(ޑ!8MaUT4zPĪ`ŰV61G$N/S>h5#k 4lv9 nIs1LG9A$ |1qcqM-Ec{Gיώ^IfJ 6 !N=Rj+ Md+Rtq<B:q眶#yz 8ϡ?u@}hqOڝo%Ҳj%J{$"0C_quj7O4c~:-Ca,QFv7~kuҳk I9f̫;exC;Ӽ-٥\˸'l 3hm\*`H>J¤P* P2G2k{m#ڜuK UP6[Y3!;Ե iYUc.Xo;tǪ#hwVMbIhqvysU]$TT 5hh[0ޜֶ=ÎS9?%ϔf {/wFvj({udbo_U{\Ԩr浛HK4fWbv]i-l ֜6泏|<O&8%Sfے[ڴ!a =`)sw{`XAϲ{A (SGX:±Jn YɊlΝoB?:}&cy(3@#׾GMoC^w) Ʈp5n6+-Dqc/|?21vn_Qq1c1+"IY@Ɂ6+_T0/ . X=zK-%ЁVNHVVOgȘુN&v,=Of摶=Q})(^u )7vS`8W{1`Ƹ6w'Ȍ1vۂp7Cz=54%-?9MW(1^h3t7%;)kG:/[pthC՝,5yxVgEjkm$m~ .QL&\G{@ 62՝B?Ãl-Lzޟw[jWЧӺi19QU[٦#pO6o0Q;\HP0LUkfM##l& &@fdʆ(; PE6"SNn\qBEƶpT%.oO]{OQ^BDBҞ0Ϩ.H֡̍,\Mwx]w{M(CN+3('B76p}b^*X %/FrH! >t~i5{LF!PIWXp#&1zDShg"|wHS'\jbS >UCfgZs ?! #kW(:gn\<3c42B(_q u`T.Vmr[^8>tMV /𳙏'(R#=F YG:p6t1_;#OujGg9ʆCv4zZ;جKYx4\i\$r?+q|7g W)6ˏ,z=kh>)|ߊ}o$ o rT]L⫬ymªW̌b3;La!EKZ%Ct)u(SxP20%?)܈L@k6\wcx"%CoĞc?tyG(oz Jl9A9Ù[`/aYbө+e]? (2]1S d,vi!\V 'X/jAX=7s-@0m:( cOUlm o㥹y]vcz =y7`OIa2B}` ;o\_J3d_#)tc<1@^B_|6X Z[NL+?}(σʪoՇ(^_[Nk&%i]!g|Eh|4&%s4F.Ͻ.ph'^Pje>FsN}A吮 740S[Ԇ'/< Z1@ZZ:\{Z!9\ #V07rԟ4@Zlҩqh=1*:Nd>exWc e!)* q@ NK?~LaTӧC&Uy/Ӫ.i1E#az!Qԣ<ad՚bgiAAvHOb0| #4i`Ö:Oؠ́Ol40l0 0WCsD?~8 P[[.!e11N, ^TG`JFl@2(zav@c5m5Pe%''kZ·}eSm/ 6U`Eέ]l[M77}UH% g^3naFHkW{ f\ãůlF{xf&3-DU/>aKY1 IA75d`Lý$FB> XSe/'7B7@nWx:$ԈD(xHdJb[/@_Ó6VS6bztL C"'cAqqؤ[A_yk@MClIX谆2dyo^y'n :ᙅ!:kY`&rv0P=D\=7 S^t R]QN8wA[.Z>(mI0L#s>!4=]tćRHJ vFEoiɔ3ij4\@JHCOk.K'.6v|ÚI&t; fh^тc0K #- C9CKS\ 'IG$lA `z<% D#>x<|b9tp8MsNCL*4< Df4ZcUD 9TRٳԠT?U xtFwuTn}ձ@Y̢h}y|8<ޫ&2I1t0ojw+0- )#Q=.RL"u0.z-ל[LWf\F960`4w*s1dC pb(,  K4Ln|=+T#w'̡q}W2K5'M³웟JW pަ\Ѯk*%< dS:h-hlLS@X@\G(͕ ˡS\` .0 \CQ_ Ŷ^ ɡ|JK:3۴ZqIWr 7J9Vi>Y7jN5!ͿE+d/FR<)-gҜ&ڈDRGwh^~ vn~_wAZs<l81V4JX*$\DU$kmPj(ϞH&gڕ5$a&:;RjI;<^>0"G':63"Z/gqO~FvW'AC:bliAFu5+X-dZ:hDPcdFۂ|mj/&P.0n4PԩFҼ:E0$_ה}ԎRĆ- pt1NHG6Xb׹_,bvoNhfc55O7PS^Y?wżM9/iT?qUqeofhak#~vѿMS}:QAK1>ojENsch`::]wׯm߬l!Iop^s CQ# 4a=({wi &5FPlH$[ZSͼ==~k[k2ČGn*`I hkv4i9S,QoϚ` aX kFC1\UӔ5LULRK&x,YE~N/ bd- -fFkwܲf ?V}>7t: o]SQnE :wMz2(BtP}9V8sוH0R(ϭ]M1$F=ˮ Gs @Jˇǘ-DFS)E؈ iI!;z죿+04]<}2*X6bƬ!ؓ{Gti‚JgUӖiWqI?J?z_Mv.s'+QrQ"c7t*q_Ļ->o;OX*"-qv.eY5[S|5>B܅㺇 zWIAM2GiQ wiQa|tjWE7=IaI YrpwU_fs|xQ#8%C#-. nG(P.1XW'3A¯UI`$LcZR"gxrK/m6mGP$aMHuc 3@; B}hD9 Zرro|h=lZMo}A C=@MDu޺+؊JT2+Gʹ1֟pP!t/rb¹Qy`٣0y;b&POIv`n4󈅊ֻ+Slp8_Yssѳ~xsO;A "B!M1n?ߚՆJ^VR ڙ99ŝZb:LQ!8F_x̽l 1{`%2$:V+Gk`^QgHήX8Įq0//=yr$71,,JV&-!yƴvKෆwd| FM0KZ%Й^zxk$mGHQ+JNDS4`%s**4/FcL= wٰ9ުeSA˼OL oyu/dkdT,ZE)}! M3]n/9[zz:I7,RЃ&aM WqviX2iKuV>ʀ?Y.Sq,tZ*L IHLIP8s;";%SF5lulQrtϋȇɰgy#-Q˽0e)|CV؊qEnֳi):kvo;zOs9(^cyڥmviy )2 vU< swr+j\!riGnQo036 X¿o.mќoݩ*\ւʁ`!=^@ QڬX/{g̖%|\[ f &})nc3ak,է{0 m1KTz"//l|TgiI#GR3Mc@-RS!)`[#V'ǚhqr;ͭI-+`Ckݱ@ߴpanZoPЎ'/M6^g—F:oP0f1$YTCK..zAмi,njU#ɎډW؟CjunXې #kKR3 Fr-EJLʑ/Q{"V2:H<& QEM*lqh~µ]N̪~}ڳy꼔S !CwfŀDrO:<A-  4g#e9SX)6j aSÞo|L4&: gѠqc?5N'`3[t|}2(A3PcqI.@!QHA' ȿ)V FxqV21ٷaDy:TN|H阤mS؁5ቼp%~Iu횘ȠEPICPt&t9]QcFEUY^A9m$Yy~GHbj̐7VS{GvSbh|Tty +.ri`Ga 5xUtT9r#u]1% "I:6vk VerO^En] U§$C3+vkٽ2_6nf|M% o?[(jģJ aBFl+;⿖ㄇ ,DglPN/*X ޟ#f8*7*~RzQuՀ9dY]yd,G0p)וP "\Д=ڎlfItk .l@(i5~u1)u%ŕs%LC~>܋+tpH)H!-UϘ.N֔I ذXgCfV g/1P8籧z)J?] Tk}v?\=Dg^4ZFT*%;bqT6dC䥅g |0y$@AēP*E*IY34Yh1`(G_1d2N8q22a.um=F+2Y{5;i`][ݑ&Z=Isk!:ϛDlA%8OjK ^hl**:]bO*Sl%hK8u؇WX/r5o!܁`DXa7 ݒ-\|&`8 ~-a{UY~~P+E-cw`UC##KBhTS:hE J\6{?ob7 ĞRKNh6%X4%_s<`@L4PgdgAHc4PtO}Mt%F ;2bC1UXRɅoRp4;IB}HR$%İ=icJ>"3ZlUiДU=ms^$A+ֶsHח1( e m BtSp3ޤd) P^s ߮?׹d7Ħh)- 8)4Oz0b4e$&j3ok$_[Q/y@05X\@T6 qסD4ƫ;ydڣNa'7cPpQTɬVFK֋C`nwI0*S}ܹm?6ΙE+dyƯ7S>sʶTlvB[eÜ4P9`++s1xwK275SrR.4}Dv7xbGp5~pPb2 .O{36.|"ir3|zNNsH83jDɸF^_hJ-Vt3Q q Sء-k+T/]}A,hzJ!+m.|.!"rT2)ͧBGC?U6J8 ꨊ֯ {mn](Vp!e{ ]ZgVnqS?(._D'ިUf^og5 M.3``̢rKD«~W@}H [ee%*?s=2%_n)IC[M]i.]+J|UZ:eZ<3N& {ٴD 6<.hE8\!X{uŏr3>[HkW l"W3yEpp^ {*PHGخV]= B6/ BYE1 Y|Q:M򄲮?FUvGY,y%4Pۑ$ _5ϡsu/mzv@.eꭄ`OBm5N 1 T+de$f+m\g;[Dn{IdQtIPCGm{G@l"_ŠMMeQV ٿĽY] GAlcЯKwrd6d3d&(\ SxvIffaVqqr^btX0cnY~ZZFܷE D4A6y, $rңDa4>sR7woL%g! (D7 .`R"3 `\J0mr&zs(NɴZS nVD<`X.nSuI~ѻ0r>I;ZdIH*Pt6FNvUs<]KНZQ'&߱p I&' w.U^$p_ IZea!Ʊq#!?m#rvU`un+X+,Sjg)NT+e "2Aro~SCFFU\՗ǿdBYQΛc÷#`4۞tl9A/JTPhabLuғ5&lYlo%7]q7ۊ [ḐBAtCX8xW Ei}on=E ? +xP4CɽcJg5ۻE>%vyP4|g&db~'ϥ|-XC'){x&v 2uBo]+70PII\Ac7 ڀP _"̦KOpA+d-‹cTIBw-F2{ˉV2z8K1mv5yK^: {NaJ$ 2v"Q>>akZ.ʽb(]qkVd")ns WHn}(udBz>^$\/=SfH#}}->[-x҂3"@to%w A.`kC28%#_}}e5Ni 19= Cb{{S7w8rL윳_C"|=IXmթ6pɻN|m P ul'`]]~FΝ}Ym?3fv=Z5VI1FeM6Iݬ6a ȃql,삝n`(zEK'EW~8,ya^p oP܄erIE ݯd4J&gO4ul9剜X^d6c4.z-hv$rm*:k7Eӻ nBS" $.i-7NK LAt4j!ƒmGE~hH)՘!5(Oe@䭮8Y (ٝf˅să=2#LI-[*L}*mLT D5ݎ];sE~7-V hdw~!1S+xi=!8@lp)tWY?X7\VƲ7/9;eIi[#%wXhgW Ru șMtY7urk݋448-="ehڦ$TT'*an)Z0Ԋƌ`g`kqMtPvL&=Ո"&g;, eVZz[je(w/^x*3 lOFA/KS~Els[*}菁pьbl!&tC׆ZqNSE Tʞ~^@ZK 'ټ9:l4oonanUCD'2TC c䷐ FX=댓}l^>|6"; g7^ 219VX%\\x}꣆!X|EN(tCBu3(>0>hCV,U-R}bt'F&h#ل62K3{0)}6'Ai*"r.0m9 -߫V2#4`sKZvin+5[=Aق,SNڑ?ua?, ^2EDu,s X-˗“(sUX-&o5aL,ITZ&@Yt7!^4# b5#Av wSбϣx ޔLC|=cNSmȔz$~(U,E9F.rtn )O`m gEMe^Z{^v?׊ͶB%mk N]ƇWخqB2K`]"WmLSȽ߼QΫF ^t&!bReya'lh PU(V `0bt =R~H 0 ~XFȳJA1kEyxl:tB\bufrl`lUMl'][2gY3% -EV^Fw,eb1ϛM&zQ0#tFjAȎe˻UHؿ9ɱk`'%i/Y0Q!#}61Նaljk7+@Vћy#Y۔RcEo}ϭpv?5--BL.NӨR3@]6L#9\l_?d #io3]A>)W8(}F%|O[paoQ1i(*i RCS:G޿F׬Tͮ- ]zȚ|{*  K6ӰnE{J)@= |on.IRA}l ? U&״{oq28k(]+Kh& <%o l iӚyO_8>I"oU/E&@STVbↃDsu4豭F*yލEu+ȝ)2\<5U0j e'`wf>_#]Fͩ Paf7/&c-1>8eXčNօ8T[2c!u)A}\Y)H`ѵ:W 6UC[;:@vv1s9S+{"L^hU`W6YȦ"̢^9cיT{Vf9a`[ $&'!t-Eσ-@ [IO'̵9u͝fF8]qa;F1EwM ~3JBbcwڌRsOxA" v9 tm^+1HOz[Gf^L+_m가o>M 3Q:R-j3R)Eź;bOגøD&Q4xBZ %way"_=Y`Bd(<| O!2L1IFziPd"˲{#XSq>yIuS0a"RO2/~EzNOJ4"HLFs:X4PO@ 9cw `1/2d_bWL.víCr[@(DfZ~X`qK=4JmuMk}5 ,QmJ e=+J~])4 q=.ߏX|g |㾁c,4\xT7NayY~L{XaóKzwx.*Kuvc|Jrٰ'/ :iXv6zhs< ;ɡiιdMx*F0ҶػQNNR^/U}>a>gl>w(Q'ڙ<79i[!`|g{w,cFOc+.WgE S3i7 W)] 3E+'rӈ}+'ݨ6, ??CaBsGBZ;թh10Ƭ☟bQ2#[ Z"Ïtm̗UY }h W߃mi\{;ZH9'#H6"j`{\lN *AScA T$k][hBJ2"OQ / sEJ>xe`rg#*\ar')*Xn*|~2[y