По-прежнему мы можем дополнять список с помощью флага ?I или переменной окру-жения PERL6LIB, например


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте файл и откройте на своем компьютере.
Np_eN_rJaNcpM12 np_eN_rJancpMamN ίϨϜϠϞϗ12αϒϗύώϝϩ0./3 αϝϠϐϕϒϏϨϜϠϞϗϕϕϡϛϝϙύϟϨϓϠϝϚύϘύϏϞϒϐϑύ ϙϛϓϚϛϔύϐϝϠϔϕϟϩϞ np_eN_rJancpMamN ξϏϛ ϜϝϛϞύϙϕϕϜϝϒϑϘϛϓϒϚϕϬϙϕϜϕϥϕϟϒϚύϜϛϤϟϠ cbJrmp>np_eN_rJancpMamN  ηϛϙϙϒϚϟύϝϕϕϗϗύϓϑϛϖϞϟύϟϩϒϒϞϟϩϏfrNM ϏϒϝϞϕϕμϛϑϜϕϞύϟϩϞϬϚύϚϛϏϨϒϏϨϜϠϞϗϕϙϛϓϚϛ ϜϛϞϞϨϘϗϒ np_eN_rJancpMamN/qs`qapJ`c  έϏϟϛϝϨϞϟύϟϒϖίϘύϑϕϙϕϝθϒϟϟϕϒϏ έϚϑϝϒϖυϕ ϟϛϏ αϒϚϕϞρϒϑϛϞϒϒϏ λώϘϛϓϗύιύϝϗϛεϏύϚϨϗ ηϛϝϝϒϗϟϛϝέϚϑϝϒϖυϕϟϛϏ ίϨϜϠϞϗύϫϦϕϖϝϒϑύϗϟϛϝίϬϤϒϞϘύϏοϕϢύϚϛϏ Ϟϗϕϖ νϒϏϕϔϕϬ0./3/01//.14 ©kNp_eN_rJaNcpM{ О;лͻͽление /λϟϝϒϑύϗϟϛϝύ / 0ίϜϒϤύϟϘϒϚϕϬϛϟϏϛϝϗϥϛϜύ S_JOrNcpM0./3 0 1ίϔϐϘϬϑϚύ0./3ϐ /0 2πϜϝύϏϘϒϚϕϒϙϛϑϠϘϬϙϕϕϜϝϒ ϗϛϙϜϕϘϬϣϕϬϏNcpM4 /4 3NcpM4ϏϕϚϒϐϝϒϟ 10 4εϞϜϛϘϩϔϛϏύϚϕϒPsqrϕϔNcpM 25 5λώϔϛϝANA/ϔύϚϛϬώϝϩ0./3ϐ . 6εϚϟϒϝϏϩϫϞαϙϕϟϝϕϒϙυύ ϙύϟϝϕϚϨϙ /.3 / О΍΋еͿͻк΍о΋ͻ ίϞϒϢϤϕϟύϟϒϘϒϖϜϛϔϑϝύϏϘϬϒϙϞϚύϞϟϠϜύϫ ϦϕϙϕϜϝύϔϑϚϕϗύϙϕϕϓϒϘύϒϙϕϚϟϒϝϒϞϚϨϢ ϜϝϛϒϗϟϛϏϏϚϛϏϛϙϐϛϑϠ! αϝϠϔϩϬ ϓϠϝϚύϘϕϦϒϟϚϛϏϨϢύϏϟϛϝϛϏκϒ ϠϜϠϞϗύϖϟϒϟύϗϛϖϏϛϔϙϛϓϚϛϞϟϕ!βϞϘϕϠϏύϞ ϒϞϟϩϕϑϒϕϕϘϕϓϒϘύϚϕϒϜϛϙϛϤϩ ϜϛϓύϘϠϖ Ϟϟύ ϞϏϬϓϕϟϒϞϩ ϞϚύϙϕ μϝϕϬϟϚϛϐϛϤϟϒϚϕϬ ■ ΢ϟϗυϑϋπςβψϕπύώςϑϊψω 0 ͝Ίечͻ΍лениΚо΍ͽо΋кшоΊͻS_JOrNcpM 0./3 έυψχόυύϟϟϒϐπτψϖψψ/τυϊπρϐϟ0./3σϏϐώ ϘϡϋϑυτϜόώωυφυσώτύϛωςώϐϊϘώϏ S_JOrNcpM τϋϟςϑυϕϋϞρψϒυϋυωψϏϐώϔυϑϑψώύπϋώςόψϐπ NcpMςαπύϊϒίυϒυϐρϓϐσυ αϘϬϙϒϚϬϚϒϔύώϨϏύϒϙϨϒϏϜϒϤύϟϘϒϚϕϬϛϗϛϚ ϡϒϝϒϚϣϕϕϚύϤύϘϕϞϩϒϦϮϞϙϛϙϒϚϟύϜϝϕώϨ ϟϕϬϏξύϚϗϟμϒϟϒϝώϠϝϐϔύϟϬϚϠϟϛϒϞϒϝϨϙϕ ϛώϘύϗύϙϕϚϒώϛ ϙϛϝϛϞϬϦϕϖϑϛϓϑϩϕ 4zA κϒϛώϨϤϚϛϑϘϬϞϒϝϒϑϕϚϨϑϒϗύώϝϬ ϑύϕϜϛ ϞϘϒϑϠϫϦϕϒϑϚϕϞϟύϏϕϘϕϟϒϙϜϒϝύϟϠϝϚϨϒϝϒ ϗϛϝϑϨ ίϪϟϛϙϐϛϑϠϗϛϚϡϒϝϒϚϣϕϬϜϝϛϢϛϑϕϘύϚύ ϜϘϛϦύϑϗϒ ϜϝϒϑϛϞϟύϏϘϒϚϚϛϖϐϒϚϒϝύϘϩϚϨϙ ϜύϝϟϚϮϝϛϙϗϛϚϡϒϝϒϚϣϕϕۘϗϛϙϜύϚϕϒϖ B_r_Apr κύ Ϟύϖϟϒ ϗϛϚϡϒϝϒϚϣϕϕϔύϝϒϐϕ ϞϟϝϕϝϛϏύϘϕϞϩ31ϤϒϘϛϏϒϗύ ϜϝϕϤϮϙϟϝϛϒϕϔ ϚϕϢϞϑϒϘύϘϕϪϟϛϠϓϒϏϑϒϚϩϗϛϚϡϒϝϒϚϣϕϕ κϒϏϞϒϞϝύϔϠϞϙϛϐϘϕϚύϖϟϕϏϢϛϑϏϔϑύϚϕϒ ϜϛϪϟϛϙϠϔύ/.ϙϕϚϠϟϑϛϚύϤύϘύϔύϘώϨϘϒϦϮ ϜϛϤϟϕϜϠϞϟϛϖ ϚϛϏϞϗϛϝϒϛϚϔύϜϛϘϚϕϘϞϬ ϜϛϑϛϥϘϕ ϏϛϔϙϛϓϚϛ ϚϒϏϞϒ ϚϛώϘϕϔϗϛϗϔύ ϬϏϘϒϚϚϛϙϠϤϕϞϘϠήϨϘύϑύϓϒϏϕϑϒϛϞϧϮϙϗύ ϚϛϜϛϘϠϤϕϘύϞϩϘϕϛϚύϕϐϑϒώϠϑϠϟϔύϜϕϞϕ ϜϛϗύϚϒϕϔϏϒϞϟϚϛ λϟϗϝϨϘϗϛϚϡϒϝϒϚϣϕϫξϒϝϐϒϖνϛϙύϚϛϏ ϜϛϜϝϕϏϒϟϞϟϏϛϏύϏϞϘϠϥύϟϒϘϒϖϕϝύϞϞϗύϔύϏ ϛϜϘύϚϒϗϛϚϡϒϝϒϚϣϕϕϕϚύϙϒϤύϫϦϕϢϞϬ ϙϒϝϛϜϝϕϬϟϕϬϢ μϒϝϏϨϖϑϛϗϘύϑϚύϔϨϏύϘϞϬk μϝϛϟϛϗϛϘ FRRN/0δύϤϒϙϕϗύϗϕϞϜϛϘϩϔϛϏύϟϩϏNcpM { ϕϪϟϛώϨϘϙϛϖϑϛϗϘύϑιϚϒϟϝϠϑϚϛϞϗύϔύϟϩ ϗύϗϏϛϞϜϝϕϚϬϘϕϑϛϗϘύϑϞϘϠϥύϟϒϘϕ Ϛϛ2. ϙϕϚϠϟϑϘϬϙϒϚϬϜϝϛϘϒϟϒϘϕϚϒϔύϙϒϟϚϛ ήϛϘϩϥύϬϤύϞϟϩϑϛϗϘύϑύώϨϘύϜϛϞϏϬϦϒϚύ ϜϝϛϟϛϗϛϘϠFRRNϕϞϟϛϝϕϕϜϝϛϟϛϗϛϘύ Ϛϒϑϛ ϞϟύϟϗύϙFRRN///ϕϑϛϞϟϛϕϚϞϟϏύϙFRRN/0 δύϟϒϙϜϝϛϏϛϑϕϘϞϬϛώϔϛϝϝϒύϘϕϔύϣϕϖϑϘϬ NcpMϜϛϑϝϛώϚϛϝύϞϞϙϛϟϝϒϚ NetCurO ϕϒϐϛ ϝύώϛϟύϞFRRN/0 ύϟύϗϓϒ ProtocoO+TTP2 ۘϗύϗϏϛϔϙϛϓϚύϬϛϞϚϛϏύϑϘϬϝϒύϘϕϔύϣϕϖ ϗϘϕϒϚϟϛϏϕϞϒϝϏϒϝϛϏϞϜϛϑϑϒϝϓϗϛϖFRRN/0 μϛϞϘϒϑϛϗϘύϑύώϨϘϏϛϜϝϛϞϛϞϠϑϩώϒ Uc`SmaLcr ϕϑϘϬϙϚϛϐϕϢϞϟύϘϛϛϟϗϝϛϏϒ Ϛϕϒϙ ϤϟϛUc`SmaLcrϚϒϝύώϛϟύϒϟϜϛϏϒϝϢ FRRN/0ϕϚϕϗύϗϛϖύϘϩϟϒϝϚύϟϕϏϨϑϘϬϒϐϛ ϔύϙϒϚϨFRRN/0ϚϒϜϝϒϑϘύϐύϒϟνύϔϝύώϛϟϗύ ϞϜϒϣϕϡϕϗύϣϕϕUc`SmaLcrϜϛϏϒϝϢFRRN/0 ϔύϐϘϛϢϘύϕϜϛϢϛϓϒϚϕϗϛϙϠϚϒϚϠϓϚύ ξϘϒϑϠϫϦϕϙϑϛϗϘύϑϤϕϗϛϙϑϛϘϓϒϚώϨϘ ϞϟύϟϩεϘϩϬτϒϞϚϛϗϛϏ ϗϛϟϛϝϨϖϐϛϟϛϏϕϘϕϚ ϟϒϝύϗϟϕϏϚϨϖϑϛϗϘύϑ ϚϛϕϔϔύϟϒϢϚϕϤϒϞϗϛϖ ϚύϗϘύϑϗϕϑϛϗϘύϑϜϝϕϥϘϛϞϩϜϒϝϒϚϒϞϟϕ μϛϪϟϛϙϠϞϘϒϑϠϫϦϕϙϏϨϞϟϠϜύϘιϕϢύϕϘ ιύϟϏϒϒϏϞϑϛϗϘύϑϛϙkεϚϞϟϝϠϙϒϚϟϨϑϘϬ ϝύώϛϟϨϞϕϔϛώϝύϓϒϚϕϬϙϕϏNcpM{ ίϑϛϗϘύϑϒώϨϘϞϑϒϘύϚϛώϔϛϝϞύϙϨϢϜϛϜϠ ϘϬϝϚϨϢϙϛϑϠϘϒϖNcpMϑϘϬϝύώϛϟϨϞϕϔϛώ ϝύϓϒϚϕϬϙϕ*N_ec._eJaL Ep_nfJa._eJaL ϕϑϝϠϐϕϒηύϗϛώϨϤϚϛ ϏϛϜϝϛϞϏϨώϛϝύ ϙϛϑϠϘϬϏϛϔϚϕϗϏϝϒϔϠϘϩϟύϟϒϝύώϛϟϨϚύϑ ϜϝύϗϟϕϤϒϞϗϛϖϔύϑύϤϒϖϚύϜϕϞύϚϕϒϞϏϛϒϖ ϞϛώϞϟϏϒϚϚϛϖϗύϜϤϕλϞϛώϛϏϑϛϗϘύϑϒώϨϘ ϏϨϑϒϘϒϚϙϛϑϠϘϩ*N_ecp ϗϛϟϛϝϨϖϏϛϟϘϕϤϕϒ ϛϟϑϝϠϐϕϢώϕώϘϕϛϟϒϗϚϒϟϝϒώϠϒϟϠϞϟύϚϛϏ ϘϒϚϚϨϢAώϕώϘϕϛϟϒϗϞϔύϐϛϘϛϏϗύϙϕ&Ϥϟϛ ϕϚϛϐϑύϑϛϞϟύϏϘϬϒϟϜϝϛώϘϒϙϨϜϝϕϞώϛϝϗϒϚύ ϚϒϗϛϟϛϝϨϢϑϕϞϟϝϕώϠϟϕϏύϢ ϟύϗϓϒϚύϜϕϞύϚ ϞϕϞϜϛϘϩϔϛϏύϚϕϒϙA/VS ϚϛϞϛώϕϝύϒϟϞϬ ώϒϔϜϝϛώϘϒϙ ϝύώϛϟύϒϟώϨϞϟϝϒϒ ϢϛϟϩϕϚϒ ϜϛϑϑϒϝϓϕϏύϒϟώϛϘϩϥϛϐϛϞϜϒϗϟϝύϡϛϝϙύϟϛϏ ήϨϘϕϜϝϒϑϞϟύϏϘϒϚϨώϒϚϤϙύϝϗϕ ϏϗϛϟϛϝϨϢ ϟύϗϓϒϙϛϓϚϛώϨϘϛϞϝύϏϚϕϟϩϝύϔϘϕϤϕϬϏ ϞϗϛϝϛϞϟϕϝύώϛϟϨϙϛϑϠϘϒϖ αύϘϒϒώϨϘϛώϒϑϒϚϚϨϖϜϒϝϒϝϨϏ ύϔύϟϒϙ εϘϩϬ ϑϘϬϗϛϟϛϝϛϐϛϚύϥϘϕϜϒϝϒϢϛϑϚϕϗ ϑϘϬϏϕϑϒϛϝύϔϧϮϙύ ϞϙϛϐϜϛϑϗϘϫϤϕϟϩϞϏϛϖ ϚϛϠϟώϠϗϕϜϛϗύϔύϟϩϑϛϗϘύϑkοϒϢϚϛϘϛϐϕϕ ύϞϕϚϢϝϛϚϚϛϐϛϜϝϛϐϝύϙϙϕϝϛϏύϚϕϬ{μϝϒ ϔϒϚϟύϣϕϬώϨϘύϞϑϒϘύϚύϞϜϛϙϛϦϩϫ TpmmN ۘϕϚϞϟϝϠϙϒϚϟύ ϜϛϔϏϛϘϬϫϦϒϐϛϜϛϗύϔϨϏύϟϩ ϞϘύϖϑϨϏϝϒϑύϗϟϛϝϒtJNαϛϗϘύϑϥϮϘϣϒ ϘϨϖϤύϞϕϡύϗϟϕϤϒϞϗϕϛώϧϒϑϕϚϕϘϏϞϒώϒ ϚϒϞϗϛϘϩϗϛώϛϘϩϥϕϢϑϛϗϘύϑϛϏϜϛϝύϔϘϕϤ ϚϨϙϟϒϢϚϕϗύϙύϞϕϚϢϝϛϚϚϛϐϛϜϝϛϐϝύϙϙϕ ϝϛϏύϚϕϬϪϟϛϡϛϝϗϕ ϟϝϒϑϨϕϞϛϜϝϛϐϝύϙϙϨ ήϨϘϛϝύϞϞϗύϔύϚϛ ϤϒϙϠϓύϞϚϨNcpMϟϝϒϑϨ ϕϜϛϤϒϙϠAmpmۘϪϟϛϒϑϕϚϞϟϏϒϚϚϨϒϚϛϝ ϙύϘϩϚύϬϝϒύϘϕϔύϣϕϬϟϝϒϑϛϏ&ϢϛϟϬϪϟϛϕϚϒ ϞϛϏϞϒϙϟϝϒϑϨϏϜϝϕϏϨϤϚϛϙϜϛϚϕϙύϚϕϕ  ήϒϚϤϙύϝϗϕϕϘϘϫϞϟϝϕϝϛϏύϘϕϝύϔϘϕϤϕϬϏϝύ ώϛϟϒϝύϔϘϕϤϚϨϢϝϒύϘϕϔύϣϕϖύϞϕϚϢϝϛϚϚϨϢ ϟϒϢϚϕϗ ϗύϗϜϛϚύϐϝϠϔϗϒϜϝϛϣϒϞϞϛϝύ ϟύϗϕ ϜϛϕϞϜϛϘϩϔϛϏύϚϕϫϜύϙϬϟϕ ξϘϒϑϠϫϦϕϙϑϛϗϘύϑϤϕϗϛϙώϨϘαϒϚϕϞρϒϑϛ ϞϒϒϏ ϗϛϟϛϝϨϖϜϝϒϑϞϟύϏϕϘϑϛϗϘύϑkθϒϐύϞϕ ϪϟϛϚϒϞϟϝύϥϚϛ{αϒϚϕϞϜϛϑϒϘϕϘϞϬϛϜϨϟϛϙ ώϛϝϩώϨϞϛϐϝϛϙϚϨϙϘϒϐύϞϕϜϝϛϒϗϟϛϙ ϐϑϒ ϚϒϟϚϕϟϒϞϟϛϏ ϚϕϝύϔϑϒϘϒϚϕϬϚύϜύϗϒϟϨ Ϛϕ ϑύϓϒϪϘϒϙϒϚϟύϝϚϛϐϛ usestrLct &ϚύϪϟϛϙ ϙϒϞϟϒϛϞϛώϛϤϠϏϞϟϏϕϟϒϘϩϚϨϒϜϒϝϘϛϏϕϗϕ ϑϛϘϓϚϨϠϜύϞϟϩϏϛώϙϛϝϛϗ νύϞϞϗύϔύϘϛ ϟϒϢϚϕϗύϢϕϔϛϘϬϣϕϕϗϛϑύ ϞϜϛϞϛώύϢϏϒϑϒϚϕϬ ϕϞϜϝύϏϘϒϚϕϖμϝϒϔϒϚϟύϣϕϬώϨϘύϛϤϒϚϩϗϝύ ϞϛϤϚϛϖ ϜϛϔϏϛϘϬϬϣϒϘϕϗϛϙϜϝϛϚϕϗϚϠϟϩϞϬ ύϟϙϛϞϡϒϝϛϖώϒϔϨϞϢϛϑϚϛϞϟϕϓϕϏϨϒϙϒϝϟϏϒ ϣϨ ϏϒϘϛϞϕϜϒϑϨϞϗϏύϑϝύϟϚϨϙϕϗϛϘϮϞύϙϕ κϛϏϕϟϛϐϒώϨϘϞϑϒϘύϚϏϨϏϛϑ ϤϟϛϏϨϓϕϏύϟϩ ϞϘϒϐύϞϕϙϛϓϚϛ ϕϪϟϛϚϒϞϟϝύϥϚϛ μϛϞϘϒϗϛϡϒώϝϒϖϗύϏϨϞϟϠϜϕϘϘϕϑϒϝ .mqamunNμύϏϒϘφϒϝώϕϚϕϚϞϑϛϗϘύ ϑϛϙk*ObcvAmObJrJmONsqfbmuO{ ϗϛϟϛϝϨϖ ώϨϘϜϛϞϏϬϦϮϚϛϑϚϛϕϙϮϚϚϛϖϡϕϤϒ ϗϛϟϛ ϝύϬϜϛϬϏϕϘύϞϩϏ.ZSO-34ξϘύϖϑϛϏϗύϗ ϟύϗϛϏϨϢώϨϘϛϚϒϙϚϛϐϛ ϏϛϞϚϛϏϚϛϙϏϞϒ ϛώϧϬϞϚϒϚϕϬϔύϝϕϞϛϏϨϏύϘϕϞϩϚύϡϘϕϜϤύϝϟϒ ϜϝϕϪϟϛϙϛϤϒϚϩύϗϟϕϏϚϛϜϝϛϕϞϢϛϑϕϘϛϏϔύ ϕϙϛϑϒϖϞϟϏϕϒϞϛϞϘϠϥύϟϒϘϬϙϕ ϞϛώϞϟϏϒϚϚϛ ϪϟϛϕώϨϘϛώϘϕϓϒϗϑϠϢϠϏϛϝϗϥϛϜύ&Ϟϒϙϕ Ϛύϝύ ϗϛϐϑύϙϛϓϚϛϚϒϟϛϘϩϗϛϞϘϠϥύϟϩ Ϛϛ ϕϜϨϟύϟϩϞϬϜϛϚϬϟϩ ϛϤϮϙϝϒϤϩϕϜϨϟύϟϩϞϬ ϛϟϏϒϤύϟϩϚύϏϛϜϝϛϞϨ αϛϗϘύϑϔύϗϛϚϛϙϒϝϚϛϜϛϝϛϑϕϘϏϛϜϝϛϞ ϔύϤϒϙ.ZSO- ϒϞϘϕϒϞϟϩNmqrepcSO- Ϛϛ ϡϘϒϖϙώϨϘώϒϞϜϛϦύϑϚϛϛϟϞϒϤϮϚۘϗύϓϑϨϖ ϕϞϜϛϘϩϔϠϒϟϟϛ ϤϟϛϒϐϛϠϞϟϝύϕϏύϒϟϕϏϤϮϙ ϛϚϘϠϤϥϒϝύϔώϕϝύϒϟϞϬ ίϔύϏϒϝϥϒϚϕϕϗϛϚϡϒϝϒϚϣϕϕώϨϘϕώϘϕϣ ϑϛϗϘύϑϨκύϑϛϞϗύϔύϟϩ ϤϟϛώϛϘϩϥϕϚϞϟϏϛ ϑϛϗϘύϑϛϏώϨϘϕϔύϝϒϐϕϞϟϝϕϝϛϏύϚϨϠϓϒϜϛ ϢϛϑϠϗϛϚϡϒϝϒϚϣϕϕ ۦ AprspNcO�JOcOϞϑϒϘύϘϞϝύϔϠϑϏύώϘϕϣ ϑϛϗϘύϑύϛϟϛϙϗύϗϙϛϓϚϛϝύϞϜύϝϞϕϟϩ ϗϛϚϡϕϐϠϝύϣϕϛϚϚϨϖϡύϖϘϛϑϚϛϞϟϝϛϤ ϚϕϗϛϙϕϤύϞϟϚϨϖϞϘϠϤύϖϞϗϛϚϡϕϐϠϝύ ϣϕϛϚϚϨϙϡύϖϘϛϏϏϡϛϝϙύϟϒJOJ ۦ εϘϩϬτϒϞϚϛϗϛϏ kλϝϒϐϠϘϬϝϚϛϞϟϕ{ κϒϙϚϛϐϛϡϕϘϛϞϛϡϞϗϕϖϑϛϗϘύϑϛ ϞϛώϨϟϕϬϢϏϚύϥϒϖϓϕϔϚϕϕϡϛϝ ϙϕϝϛϏύϚϕϕϜϛϘϒϔϚϨϢϜϝϕϏϨϤϒϗ ϚύϜϝϕϙϒϝ ϝϒϐϠϘϬϝϚϛϒϜϝϛϏϒϑϒϚϕϒ ϗϛϚϡϒϝϒϚϣϕϖϕϘϕϒϓϒϐϛϑϚϛϒϏϒϑϒϚϕϒ ϣϕϗϘύϝϛϓϑϒϞϟϏϒϚϞϗϕϢϞϟύϟϒϖ NcpM AbtcOrA_McOb_p  ۦ εϘϩϬτϒϝϚϛϏ kNSNMmrۘϐϝύϡϕϗϕ ϏCNS{αϛϗϘύϑώϨϘϜϛϞϏϬϦϮϚϞϛώ ϞϟϏϒϚϚϛϖϝύϔϝύώϛϟϗϒϙϛϑϠϘϫnqnMmr ϗϛϟϛϝϨϖϜϛϔϏϛϘϬϒϟϝϕϞϛϏύϟϩϑϏϠϙϒϝ ϚϨϒϐϝύϡϕϗϕϏϡϛϝϙύϟϒCNS ۦ αϛϗϘύϑϨιϕϢύϕϘύεϏύϚϛϏύkSUAR{ ϕέϘϒϗϞϒϬιϒϘϒϓϕϗύkSn_ppmuFs`{ ώϨϘϕϘϛϐϕϤϒϞϗϕϛώϧϒϑϕϚϒϚϨϕϜϛ ϞϏϬϦϒϚϨϞϕϞϟϒϙϒ Su_r ۘBS-ϬϔϨϗϠ ϕϠϟϕϘϕϟύϙϑϘϬώϨϞϟϝϛϖϝύϔϝύώϛϟϗϕ ύϏϟϛϙύϟϕϤϒϞϗϕϢϟϒϞϟϛϏuc`ϜϝϕϘϛ ϓϒϚϕϖϕϒϐϛϞϜϠϟϚϕϗϠ qn_ppmufs` ϞϘϠϓύϦϒϐϛϑϘϬϢϝύϚϒϚϕϬϞϣϒϚύ ϝϕϒϏϟϒϞϟϕϝϛϏύϚϕϬϑϘϬϚύϕώϛϘϒϒ ϜϛϜϠϘϬϝϚϨϢϏϒώϜϝϕϘϛϓϒϚϕϖ&ϟϕϜύ umpbnpcqq  ۦ ξϒϝϐϒϖνϛϙύϚϛϏϏϑϛϗϘύϑϒkAfpJqrN_q JqamNJOe{ϚύϗϛϚϒϣϠϜϛϙϬϚϠϘϟϛ ϤϟϛϜϝύϗϟϕϤϒϞϗϕϚϒϔϏϠϤύϘϛϚύϗϛϚ ϡϒϝϒϚϣϕϕNcpM4κύϝϛϓϑϒϞϟϏϛϚύϞ ϏϞϒϢϓϑϮϟϞϟύώϕϘϩϚϨϖϝϒϘϕϔNcpM4 ϗϛϟϛϝϛϐϛϟύϗϓϑύϘϕϜϛϞϘϒϑϚϕϒ/3Ϙϒϟ μϛϞϘϒϛϗϛϚϤύϚϕϬϑϛϗϘύϑϛϏϜϛϞϘϒϑϛϏύϘύ ϟϝύϑϕϣϕϛϚϚύϬ_ॏcpn_prZϏϛϑϚϛϙϕϔώύϝϛϏ ϞϒϏϒϝϚϛϖϞϟϛϘϕϣϨ&ύϑϘϬϚϒϗϛϟϛϝϨϢϕϚϒϏ ϛϑϚϛϙ κϛϪϟϛϠϓϒϑϝϠϐύϬϕϞϟϛϝϕϬ ϏϜϒϤύϟ ϘϒϚϕϬϛϗϛϟϛϝϛϖϟϝϠϑϚϛϏϨϝύϔϕϟϩϞϘϛϏύϙϕ ϚϛϙϛϓϚϛϕϔϙϒϝϕϟϩϏϒϑϕϚϕϣύϢϛώϧϮϙύ ■ ΢ϋπτψόψϐΫυϒϒψυς 1 ͝з;лΚͿнͻ0./3; Ϊϐπϒϊψωώρχώϐχπόυϒύϛϕϑώρϛϒψωςόψϐυ NcpMχπϏϐώϘυτϘψωσώτ /ϔυςϐπϋϟ κύϗϛϚϡϒϝϒϚϣϕϕDMSBC.ϏήϝϫϞϞϒϘϒ θύϝϝϕπϛϘϘϛώϧϬϏϕϘ ϤϟϛϛϡϕϣϕύϘϩϚύϬ ώϒϟύϏϒϝϞϕϬNcpM4ϜϛϬϏϕϟϞϬ05ϞϒϚϟϬώϝϬ &Ϛύϒϐϛ4/Ϙϒϟϕϒ ύϝϒϘϕϔ4.ϛϓϕϑύϒϟϞϬϚύ νϛϓϑϒϞϟϏϛ0./3ϐϛ ξϟύϟϩϬϏϓϠϝϚύϘϒϞϔύϙϒϟϗύϙϕϞϪϟϛϐϛϏϨ ϞϟϠϜϘϒϚϕϬ NcpM4 ϕϘϕEcrpc_bZrmn_prZ  0ϔυςϐπϋϟ ίϘύϑϕϙϕϝθϒϟϟϕϒϏϛϟϗϝϨϘϞύϖϟ ncpMOcuqps ۘϚϛϏϛϞϟϚϛϖώϘϛϐϛϏϞϒϢϔύϙϒϟϚϨϢϞϛώϨϟϕ ϬϢϙϕϝύNcpMϚύϝϠϞϞϗϛϙϬϔϨϗϒ /4ϔυςϐπϋϟ νύϔϝύώϛϟϤϕϗϕP_Lsbm ϛώϧϬϏϕϘϕ ϤϟϛϜϝϒ ϗϝύϦύϫϟϜϛϑϑϒϝϓϗϠϏϕϝϟϠύϘϩϚϛϖϙύϥϕϚϨ N_ppmr ϤϟϛώϨϚϒϟϝύϟϕϟϩϞϕϘϨϚύϜϛϑϑϒϝϓύ ϚϕϒώϒϗϒϚϑύ ϗϛϟϛϝϨϖϏϞϒϝύϏϚϛϚϒϞϙϛϓϒϟ ϛώϒϞϜϒϤϕϟϩϚϒϗϛϟϛϝϨϒϚϠϓϚϨϒϏϛϔϙϛϓϚϛ Ϟϟϕ ϗϛϟϛϝϨϒϜϛϟϝϒώϠϫϟϞϬϏϜϝϒϑϞϟϛϬϦϒϙ ϝϒϘϕϔϒNcpM4.Ϗ0./3ϐϛϑϠ 4πϏϐυϋϟ य़cNcpMDmsOb_rJmO ϛώϧϬϏϕϘϕϛϞϛϔϑύϚϕϕ ϡϛϚϑύ ϜϛϑϑϒϝϓϗϕϝύϔϏϕϟϕϬϬϑϝύNcpM4&NcpM 4AmpcBctcMmnNcOrDsOb  06πϏϐυϋϟ .JapmqmॏϏϨϜϠϞϟϕϘϟϒϗϞϟϛϏϨϖϝϒϑύϗϟϛϝϑϘϬ ϜϝϛϐϝύϙϙϕϞϟϛϏ TJqs_MSrsbJmAmbc ξϝϒϑϕ ϬϔϨϗϛϏ ϑϘϬϗϛϟϛϝϨϢϑϛϞϟϠϜϚύϜϛϑϞϟϏϒϟϗύ ϞϕϚϟύϗϞϕϞύ ۘNcpMϕNcpM4 /ψϞύϟ ίϨϥϒϘϝϒϘϕϔNcpM300ξϟύϟϩϕϏϓϠϝϚύϘϒ ۦ τϟϛϚϛϏϛϐϛϏNcpM300 ۦ μϒϝϒϏϛϑϑϛϗϠϙϒϚϟύncpM300.bcMr_nmb ϚύϝϠϞϞϗϕϖϬϔϨϗ 4ψϞύϟ ιύϝϗθϒϙύϚ ύϚϛϚϞϕϝϛϏύϘϞϏϛϖϡϛϝϗ NcpM 300 ϜϝϛϏϛϗύϣϕϛϚϚϛϚύϔϏύϏϒϐϛqr_`McncpM /4πςσϓϑϒπ 0.Ϙϒϟ ANA/ Ϡ 05ϑυύϒϟρϐϟ NcpM4&ϏϘϕϣϒP_LsbmSr_p0./3. ϛϡϕϣϕύϘϩ ϚϛϜϛϘϠϤϕϘϞϟύϟϠϞώϒϟύϏϒϝϞϕϕ /6τυϊπρϐϟ όϔϨϗϠϜϝϛϐϝύϙϙϕϝϛϏύϚϕϬ NcpM ϕϞϜϛϘϚϕ ϘϛϞϩ06Ϙϒϟ 03τυϊπρϐϟ νϒϘϕϔ NcpM4  ■ Πύτϐυωθψϒώς 2 ͮΊ΋ͻͽлениемоͿΎлΚмииΊ΋екомΊилΚ циΚͽNcpM4 03τυϊπρϐϟ0./3σςϛϘυϋϏυϐςϛωϑϒπρψϋϜύϛω ϐυϋψχP_LsbmNcpM4 ϑϐυτψύώςϘυϑϒςϊώϒώϐώ σώϑώςυϐϘυύύώύώςπϟϑψϑϒυόπϓϏϐπςϋυύψϟόώ τϓϋϟόψψϏϐυϊώόϏψϋϟϖψϟΰπϑϑόώϒϐψόςτυ ϒπϋϟϕϏϐώϖυϑϑχπσϐϓχϊψ ϐπχϐυϘυύψϟχπςψϑψ όώϑϒυωψϊώόϏψϋϟϖψψόώτϓϋυω ОͼычнͻΚзͻ;΋ΎзкͻмоͿΎлΚ οϝύϑϕϣϕϛϚϚϨϖϜϝϛϣϒϞϞϔύϐϝϠϔϗϕϙϛϑϠϘϬϏ NcpM3ϏϨϐϘϬϑϕϟϑϛϞϟύϟϛϤϚϛϜϝϛϞϟϛϕϙϬϙϛ ϑϠϘϬϜϝϒϛώϝύϔϠϒϟϞϬϗϕϙϒϚϕϡύϖϘύ ϚύϜϝϕ ϙϒϝ FooBar ϛϓϕϑύϒϟϞϬώϨϟϩϚύϖϑϒϚϚϨϙ ϏϡύϖϘϒDmm/@_pnNίϙύϞϞϕϏϒ @,NC Ϟϛϑϒϝ ϓϕϟϞϬϞϜϕϞϛϗϗύϟύϘϛϐϛϏ ϏϗϛϟϛϝϨϢϞϘϒϑϠϒϟ ϜϝϛϕϔϏϛϑϕϟϩϜϛϕϞϗϡύϖϘϛϏϙϛϑϠϘϒϖτύϞϟϩ ϗύϟύϘϛϐϛϏϬϏϘϬϒϟϞϬϡϕϗϞϕϝϛϏύϚϚϨϙϕϕϜϛ ϘϠϤϕϘϕϞϏϛϕϛώϛϔϚύϤϒϚϕϬ ϚύϜϝϕϙϒϝ ۦ qJrc ۘϗύϟύϘϛϐϑϘϬϜϛϕϞϗύϙϛϑϠϘϒϖ ϠϞϟύϚϛϏϘϒϚϚϨϢύϑϙϕϚϕϞϟϝύϟϛϝϛϙ ϞϕϞϟϒϙϨ ۦ tcObmp ۘϗύϟύϘϛϐϑϘϬϙϛϑϠϘϒϖ ϜϛϞϟύϏ ϘϬϒϙϨϢϞϑϕϞϟϝϕώϠϟϕϏϛϙ ۦ ncpM ۘϗύϟύϘϛϐϙϛϑϠϘϒϖ ϕϑϠϦϕϢϏϜϛ ϞϟύϏϗϒNcpM ιϛϑϠϘϕϕϦϠϟϞϬϕϔύϐϝϠϓύϫϟϞϬϏϛϏϝϒϙϬ ϗϛϙϜϕϘϬϣϕϕϜϝϛϐϝύϙϙϨϕϔϕϞϢϛϑϚϛϐϛ ϗϛϑύϚύϑϕϞϗϒούϗϛϖϓϒϙϒϟϛϑϑϛϚϒϑύϏ ϚϒϐϛϏϝϒϙϒϚϕϕϞϜϛϘϩϔϛϏύϘϞϬϕϏNcpM4 Ϛϛ ϝϛϓϑϒϞϟϏϒϚϞϗϕϖϝϒϘϕϔϏϚϮϞϞϠϦϒϞϟϏϒϚϚϨϒ ϕϔϙϒϚϒϚϕϬϏϟύϗϛϒϜϛϘϛϓϒϚϕϒϏϒϦϒϖ ͫеΊози΍о΋ии οϒϜϒϝϩϏNcpM4ϙϨϝύώϛϟύϒϙϞϝϒϜϛϔϕϟϛϝϕ ϬϙϕۘϛϜϝϒϑϒϘϮϚϚϨϙϛώϝύϔϛϙϛϝϐύϚϕϔϛ ϏύϚϚϛϒϢϝύϚϕϘϕϦϒϙϛϑϠϘϒϖνϒϜϛϔϕϟϛϝϕϕ ϙϛϐϠϟώϨϟϩϝύϔϘϕϤϚϨϢϟϕϜϛϏ ϕϪϟϛϜϒϝϏϛϒ ϛϟϘϕϤϕϒϛϟϟϝύϑϕϣϕϛϚϚϨϢϗύϟύϘϛϐϛϏμϝϛ ϞϟϒϖϥϕϖϏύϝϕύϚϟϝϒϜϛϔϕϟϛϝϕϬϞϛϏϙϒϞϟϕϙϞ ϟϝύϑϕϣϕϛϚϚϨϙϜϛϑϢϛϑϛϙϕϢϝύϚϕϟϡύϖϘϨ ϙϛϑϠϘϒϖϏϞϛϛϟϏϒϟϞϟϏϕϕϞϕϙϒϚϒϙϜύϗϒϟύ ήϛϘϒϒϞϘϛϓϚϨϖϏύϝϕύϚϟϜϛϑϑϒϝϓϕϏύϒϟ ϠϞϟύϚϛϏϗϠϑϕϞϟϝϕώϠϟϕϏϛϏϙϛϑϠϘϒϖϏϙϒϞϟϒ ϞϙϒϟύϕϚϡϛϝϙύϣϕϒϖϕϝϒϞϠϝϞύϙϕ ύϟύϗϓϒ ϜϝϛϕϔϏϛϑϕϟϜϝϒϗϛϙϜϕϘϬϣϕϫϙϛϑϠϘϒϖϏ ώύϖϟϗϛϑ νύϚϒϒϕϞϜϛϘϩϔϠϒϙϨϖϙύϞϞϕϏ @ ,NC ϠϥϮϘ ϏϚϒώϨϟϕϒϕϟϒϜϒϝϩϜϝϕϔύϐϝϠϔϗϒϙϛϑϠ ϘϒϖϕϞϜϛϘϩϔϠϒϟϞϬϜϒϝϒϙϒϚϚύϬϜϝϛϣϒϞϞύ PROCESS$REPO> ϗϛϟϛϝύϬϬϏϘϬϒϟϞϬ ϞϏϬϔύϚϚϨϙϞϜϕϞϗϛϙϞϕϚϡϛϝϙύϣϕϒϖϛ ϑϛϞϟϠϜϚϨϢϝϒϜϛϔϕϟϛϝϕϬϢ / $perO6 � e for$ REPO.repo � cKaLn � >$n^sa\$n} 0 1 Lnst#/Kome/user/.perO6/2015.12 2 Lnst#/usr/sKare/perO6/sLte 3 Lnst#/usr/sKare/perO6/vendor 4 Lnst#/usr/sKare/perO6 5 ... ηύϗϏϕϑϚϛ ϏϛϟϘϕϤϕϒϛϟNcpM3 ϏϣϒϜϛϤϗϒ ϝϒϜϛϔϕϟϛϝϕϒϏϜϝϕϞϠϟϞϟϏϠϒϟϚϛϏϨϖϗύϟύϘϛϐ ϚύϢϛϑϬϦϕϖϞϬϏϗύϟύϘϛϐϒϜϛϘϩϔϛϏύϟϒϘϬ ϔύϜϠϞϟϕϏϥϒϐϛϜϝϛϐϝύϙϙϠ ϕϛϚϕϙϒϒϟ ϙύϗϞϕϙύϘϩϚϨϖϜϝϕϛϝϕϟϒϟηϝϛϙϒϟϛϐϛ ϜϝϕϞϠϟϞϟϏϠϒϟϜϝϒϡϕϗϞ Lnst# ϗϛϟϛϝϨϖ ϠϗύϔϨϏύϒϟϚύϟϕϜϝϒϜϛϔϕϟϛϝϕϬ ϏϑύϚϚϛϙ ϞϘϠϤύϒϟϕϜ CompUnLtReposLtor\ ,nstaOOatLon ϗϛϟϛϝϨϖϜϛϑϑϒϝϓϕϏύϒϟ ϕϚϞϟύϘϘϬϣϕϫ μϛϜϝϒϓϚϒϙϠϙϨϙϛϓϒϙϑϛϜϛϘϚϬϟϩϞϜϕϞϛϗ ϞϜϛϙϛϦϩϫϡϘύϐύ � , ϕϘϕϜϒϝϒϙϒϚϚϛϖϛϗϝϠ ϓϒϚϕϬ PER/6/,B ϚύϜϝϕϙϒϝ / $perO6 � ,/opt/perO6 for$ REPO .repo � cKaLn � >$n^sa\$n} 0 1 fLOe#/opt/perO6 2 Lnst#/Kome/user/.perO6/2015.12 3 Lnst#/usr/sKare/perO6/sLte 4 Lnst#/usr/sKare/perO6/vendor 5 ... ηύϗϏϕϑϚϛ ϒϞϘϕϚϒϠϗύϔύϟϩϟϕϜϝϒϜϛϔϕϟϛ ϝϕϬϜϒϝϒϑϜϠϟϮϙ ϟϛϛϚώϠϑϒϟϞϤϕϟύϟϩϞϬϟϝύ ϑϕϣϕϛϚϚϨϙϡύϖϘϛϏϨϙ fLOe#  τϟϛϗύϞύϒϟϞϬϏϨϝύϓϒϚϕϬ useOLb /patK/ to/OLb ϟϛϟϒϜϒϝϩϒϮϚϒϘϩϔϬϕϞϜϛϘϩϔϛϏύϟϩ ϏϙϛϑϠϘϬϢ ϟϛϘϩϗϛϏϞϗϝϕϜϟύϢ ИнΌ΍ͻллΚциΚͽ΋еΊози΍о΋ий εϚϞϟύϘϘϬϣϕϬϏϟϝύϑϕϣϕϛϚϚϨϖϡύϖϘϛϏϨϖ ϝϒϜϛϔϕϟϛϝϕϖۘϪϟϛϜϝϛϞϟϛϒϗϛϜϕϝϛϏύϚϕϒ ϡύϖϘϛϏξϚϛϏϨϙϟϕϜϛϙϝϒϜϛϔϕϟϛϝϕϬ ϏϞϮϚϒϞϗϛϘϩϗϛϞϘϛϓϚϒϒνύϞϞϙϛϟϝϕϙϗύϗ ϛϝϐύϚϕϔϛϏύϚϟύϗϛϖϝϒϜϛϔϕϟϛϝϕϖ / ? 0  � dLst 1 _ 2  � sources 3 _ 4  � resources 5 _ 6  � sKort  _ /.  � precomp // ? /0 compLOer.Ld /1 ? /2 .. μϝϕϕϚϞϟύϘϘϬϣϕϕϑϕϞϟϝϕώϠϟϕϏύ Foo Ϟϛ ϑϒϝϓύϦϒϐϛϙϛϑϠϘϩ FooBar ϏϗύϟύϘϛϐϒ bJqrϞϛϔϑύϮϟϞϬϡύϖϘϞϕϙϒϚϒϙ ϜϝϒϑϞϟύϏϘϬ ϫϦϕϙϞϛώϛϖSFA/ϛϟϠϚϕϗύϘϩϚϛϐϛϕϑϒϚ ϟϕϡϕϗύϟϛϝύϑϕϞϟϝϕώϠϟϕϏύ ϞϛϑϒϝϓύϦϕϖ ϙϒϟύϕϚϡϛϝϙύϣϕϫϛϑϕϞϟϝϕώϠϟϕϏϒϏϡϛϝ ϙύϟϒ+SM/ίϗύϟύϘϛϐqmspacqϜϛϙϒϦύϫϟϞϬ ϕϞϢϛϑϚϨϒϗϛϑϨϙϛϑϠϘϬ ϏϗύϟύϘϛϐpcqmspac ϞϏϬϔύϚϚϨϒϝϒϞϠϝϞϚϨϒϡύϖϘϨ ϏϞϒϕϙϒϚύ ϡύϖϘϛϏϐϒϚϒϝϕϝϠϫϟϞϬϗύϗϠϚϕϗύϘϩϚϨϒ 2.ϞϕϙϏϛϘϩϚϨϒϕϑϒϚϟϕϡϕϗύϟϛϝϨ ίϗύϟύϘϛϐqfmprϜϛϙϒϦύϫϟϞϬϡύϖϘϨϞϕϙϒ ϚύϙϕϗύϗϝϒϔϠϘϩϟύϟϢϒϥϡϠϚϗϣϕϕSFA/ϛϟ ϕϙϒϚϕϞϛϛϟϏϒϟϞϟϏϠϫϦϒϐϛϙϛϑϠϘϬίϟύϗϛϙ ϡύϖϘϒϜϛϙϒϦύϒϟϞϬ2.ϞϕϙϏϛϘϩϚϨϖϕϑϒϚϟϕ ϡϕϗύϟϛϝϑϕϞϟϝϕώϠϟϕϏύ ϏϞϛϞϟύϏϗϛϟϛϝϛϐϛ ϏϢϛϑϕϟϑύϚϚϨϖϙϛϑϠϘϩ ίϗύϟύϘϛϐnpcamNnϜϛϙϒϦύϒϟϞϬϝϒϔϠϘϩϟύϟ ϗϛϙϜϕϘϬϣϕϕϕϞϢϛϑϚϛϐϛϗϛϑύϏώύϖϟϗϛϑ ίϚϠϟϝϕϗύϟύϘϛϐύnpcamNnϞϛϔϑύϮϟϞϬϗύϟύϘϛϐ ϑϘϬϟϒϗϠϦϒϖϏϒϝϞϕϕϗϛϙϜϕϘϬϟϛϝύ&ϏϕϙϬ ϏϗϘϫϤύϒϟϞϬϑύϓϒϏϝϒϙϬϞώϛϝϗϕϗϛϙϜϕϘϬϟϛ ϝύ αύϘϩϚϒϖϥύϬϛϝϐύϚϕϔύϣϕϬϏϘϛϓϒϚϚϨϢ ϗύϟύϘϛϐϛϏnpcamNnϚύϜϛϙϕϚύϒϟeJrϏϚϠϟϝϕ ϞϛϔϑύϮϟϞϬϑϛ034ϑϏϠϢώϠϗϏϒϚϚϨϢϗύϟύϘϛϐϛϏ ϏϗϛϟϛϝϨϖϜϛϙϒϦύϫϟϞϬϞϗϛϙϜϕϘϕϝϛϏύϚ ϚϨϖώύϖϟϗϛϑ ϚύϜϝϕϙϒϝ /  � 5C 0 ? 1 5 C4B123EB33BB6EC53A5CEE4F4531BD 2 5 C4B123EB33BB6EC53A5CEE4F4531BD .deps 3 5 C4B123EB33BB6EC53A5CEE4F4531BD .rev � deps 4  � E 5 ? 6  E4AC40F562C4CCBD30FEB4B2200451024   E4AC40F562C4CCBD30FEB4B2200451024 .deps /.  E4AC40F562C4CCBD30FEB4B2200451024 .rev � deps ξϛϔϑύϫϟϞϬϟύϗϓϒϡύϖϘϨbcnqϕpctbcnqϗϠ ϑύϜϛϙϒϦύϒϟϞϬϑύϚϚϨϒϛϔύϏϕϞϕϙϛϞϟϬϢϕϛώ ϝύϟϚϨϢϔύϏϕϞϕϙϛϞϟϬϢ&qf_/ϢϒϥϕϙϒϚϕϙϛ ϑϠϘϬ  ούϗϕϙϛώϝύϔϛϙ ϗϛϐϑύϏϗϛϑϒϏϞϟϝϒϤύϒϟϞϬϔύ ϜϕϞϩ useFooBar ϗϛϙϜϕϘϬϟϛϝϏϨϜϛϘϚϬ ϒϟϟύϗϠϫϣϒϜϛϤϗϠϑϒϖϞϟϏϕϖ / ϏϨϤϕϞϘϬϒϟqf_/ϞϠϙϙϠϕϙϒϚϕ Foo Bar  0 ϕϦϒϟϡύϖϘϞϜϛϘϠϤϕϏϥϕϙϞϬJbϏϗύϟύ Ϙϛϐϒqfmpr 1 ϒϞϘϕϚύϢϛϑϕϟ ϟϛϜϛϞϛϑϒϝϓϕϙϛϙϠ ϠϔϚύϮϟJbϑϕϞϟϝϕώϠϟϕϏύ 2 ϔύϐϝϠϓύϒϟϙϒϟύϕϚϡϛϝϙύϣϕϫϑϕϞϟϝϕ ώϠϟϕϏύϕϔϗύϟύϘϛϐύbJqr 3 ϕϔϙϒϟύϕϚϡϛϝϙύϣϕϕϠϔϚύϮϟϝύϞϜϛϘϛ ϓϒϚϕϒϕϞϢϛϑϚϛϐϛϗϛϑύϚϠϓϚϛϐϛϙϛϑϠ ϘϬϑϕϞϟϝϕώϠϟϕϏύ 4 ϜϝϛϏϒϝϬϒϟϚύϘϕϤϕϒϕϞϢϛϑϚϛϐϛϗϛϑύϏ ϗύϟύϘϛϐύqmspacq&ϚϛϚϒϔύϐϝϠϓύϒϟ  5 ϜϝϛϏϒϝϬϒϟϚύϘϕϤϕϒϜϝϒϗϛϙϜϕϘϕϝϛ ϏύϚϚϛϐϛϗϛϑύϏnpcamNn 6 ϒϞϘϕϚϒϟϜϝϒϗϛϙϜϕϘϕϝϛϏύϚϚϛϐϛϗϛϑύ ϟϛϏϨϜϛϘϚϬϒϟϔύϐϝϠϔϗϠϕϞϢϛϑϚϛϐϛϗϛ ϑύϕϜϝϒϗϛϙϜϕϘϬϣϕϫϞϞϛϢϝύϚϒϚϕϒϙ ώύϖϟϗϛϑύ  ϔύϐϝϠϓύϒϟϕϔϗύϟύϘϛϐύnpcamNnϡύϖϘ ϞϜϝϒϗϛϙϜϕϘϕϝϛϏύϚϚϨϙϗϛϑϛϙϙϛϑϠ ϘϬ /. ϜϝϛϏϒϝϬϒϟϚύϘϕϤϕϒϏϗύϟύϘϛϐϒ npcamNnϡύϖϘύϞϟύϗϕϙϓϒϕϙϒϚϒϙ ϚϛϞϛϗϛϚϤύϚϕϒϙbcnq // ϒϞϘϕϒϞϟϩbcnqϡύϖϘ ϟϛϚύϢϛϑϕϟϏϚϮϙ ϕϙϒϚύqmspacϡύϖϘϛϏϔύϏϕϞϕϙϛϞϟϒϖ /0 ϏϣϕϗϘϒϜϝϛϢϛϑϕϟϥύϐϕ0ۗ/0ϑϘϬϏϞϒϢ ϔύϏϕϞϕϙϛϞϟϒϖ δύϕϚϞϟύϘϘϬϣϕϫϛϟϏϒϤύϒϟϗϘύϞϞ CompUnLt ReposLtor\,nstaOOatLon μϝϕϙϒϝ ϗϛϑύ ϏϨϜϛϘϚϬϫϦϒϐϛϠϞϟύϚϛϏϗϠ ϙϛϓϚϛ ϠϏϕϑϒϟϩϏ ϞϗϝϕϜϟϒ ϠϞϟύϚϛϏϗϕϑϕϞϟϝϕώϠ ϟϕϏύAMPCϜϝϕϞώϛϝϗϒP_LsbmίϣϒϘϛϙ ϜϝϕϙϒϝϚϛϟύϗ / m\%provLdes= 0 "FooBar"=>"OLb/Foo/Bar. pm6" 1  2 3 #ǑNJǎNJǪǖǙǝǜǦǔǚǏǙǘǑǒǜǘǚǒǨǎǕǩ ǎNJǗǗǘǍǘǙǚǘǠǏǛǛNJ 4 PROCESS$REPO>=CompUnLt ReposLtor\ReJLstr\ 5 .reposLtor\ � for � spec "Lnst#/ patK/to/repo"  6  #ǝǛǜNJǗNJnjǕǒnjNJǏǖ/ǙǚǏǔǘǖǙǒǕǒǚǝǏǖ /. $ REPO.LnstaOO // DLstrLbutLon.neZ /0 name=>"Foo" /1 autK=>"vendor" /2 ver =>"0.1" /3 provLdes=>%provLdes /4  /5 %provLdes /6 force /  НеͿоΌ΍ͻ΍ки ηϞϛϓύϘϒϚϕϫ ϞϗϛϝϛϞϟϩ ϞϗϛϟϛϝϛϖϜϛϬϏϕ ϘϕϞϩϚϛϏϨϒϝϒϜϛϔϕϟϛϝϕϕ&ϢϛϟϒϘϕϠϞϜϒϟϩϗ νϛϓϑϒϞϟϏϠ ϜϛϙϒϥύϘύϑϛϞϟύϟϛϤϚϛϢϛϝϛϥϛ ϜϝϛϟϒϞϟϕϝϛϏύϟϩϕϚϛϝϙύϘϩϚϛϝϒύϘϕϔϛϏύϟϩ ϡϠϚϗϣϕϛϚύϘ $ DESTD,R ήϛϘϩϥϕϚϞϟϏϛϑϕϞϟϝϕώϠϟϕϏϛϏ-JOsvϕ S/*VϞϕϞϟϒϙϕϞϜϛϘϩϔϠϫϟϜϒϝϒϙϒϚϚϠϫ ϛϗϝϠϓϒϚϕϬ $ DESTD,R ϤϟϛώϨϠϗύϔύϟϩ ϏϝϒϙϒϚϚϨϖϗύϟύϘϛϐϑϘϬϕϚϞϟύϘϘϬϣϕϕϜϝϕ Ϟώϛϝϗϒ&ϚύϜϝϕϙϒϝ ϜϝϕϞώϛϝϗϒϜύϗϒϟϛϏ  κϛϏϨϖϙϒϢύϚϕϔϙϝϒϜϛϔϕϟϛϝϕϒϏϔύϟϝϠϑϚϬϒϟ ϠϗύϔύϚϕϒϏϝϒϙϒϚϚϛϐϛϜϝϒϡϕϗϞύ ϜϛϪϟϛϙϠ ϏϨϥϒϑϥϕϖP_Lsbm0./3/0ϜϝϛϞϟϛϜύϑύϒϟϞ ϛϥϕώϗϛϖϜϝϕϠϞϟύϚϛϏϗϒϞϕϞϜϛϘϩϔϛϏύϚϕϒϙ $ DESTD,R  ηϞϤύϞϟϩϫ ϪϟϛώϨϞϟϝϛϔύϙϒϟϕϘϕϕϏϏϒϘϕϚϛ ϏϠϫϜϒϝϒϙϒϚϚϠϫϛϗϝϠϓϒϚϕϬ RA.UDO_PREF,; ϗϛϟϛϝύϬϜϛϔϏϛϘϬϒϟϜϒϝϒϛϜϝϒϑϒϘϕϟϩϜϝϒ ϡϕϗϞϜϝϕϛϜϒϝύϣϕϬϢϞϝϒϜϛϔϕϟϛϝϕϬϙϕκϛ ϪϟϛϠϓϒϏϛϖϑϮϟϟϛϘϩϗϛϏϞϘϒϑϠϫϦϕϖϝϒϘϕϔ ͪ΋екомΊилΚциΚ εϞϜϛϘϩϔϛϏύϚϕϒϝϒϔϠϘϩϟύϟϛϏϜϝϒϗϛϙϜϕϘϬ ϣϕϕϕϞύϙύϜϝϒϗϛϙϜϕϘϬϣϕϬϏϨϜϛϘϚϬϒϟϞϬ ϟϛϘϩϗϛϏϞύϙϛϙϜϒϝϏϛϙϝϒϜϛϔϕϟϛϝϕϕϕϔ ϞϜϕϞϗύμϛϠϙϛϘϤύϚϕϫϪϟϛϝϒϜϛϔϕϟϛϝϕϖϕϔ ϑϛϙύϥϚϒϐϛϗύϟύϘϛϐύϜϛϘϩϔϛϏύϟϒϘϬαύϓϒ ϒϞϘϕϕϞϢϛϑϚϨϖϗϛϑϚύϢϛϑϕϟϞϬ ϚύϜϝϕϙϒϝ ϏϝϒϜϛϔϕϟϛϝϕϕ tcObmp ϕϟύϙϓϒϒϞϟϩϜϝϒ ϗϛϙϜϕϘϕϝϛϏύϚϚϨϖϗϛϑ ϟϛp_LsbmϚϒώϠϑϒϟ ϕϞϜϛϘϩϔϛϏύϟϩϝϒϔϠϘϩϟύϟϜϝϒϗϛϙϜϕϘϬϣϕϕ ύϔύϚϛϏϛϏϨϜϛϘϚϕϟϜϝϒϗϛϙϜϕϘϬϣϕϫϕ ϞϛϔϑύϞϟϚϒϛώϢϛϑϕϙϨϒϡύϖϘϨϏϗύϟύϘϛϐϒ ϜϛϘϩϔϛϏύϟϒϘϬ ίϪϟϛϙϛϟϚϛϥϒϚϕϕϗύϟύϘϛϐϕϜϝϒϗϛϙ ϜϕϘϬϣϕϕϏϨϐϘϬϑϬϟϏϛϛώϦϒϛϟϑϒϘϩϚϛϖ ϞϠϦϚϛϞϟϩϫϛϟϝϒϜϛϔϕϟϛϝϕϒϏ μϝϛϣϒϞϞϜϝϒϗϛϙϜϕϘϬϣϕϬϗύϓϑϛϐϛϙϛϑϠϘϬ ϏϨϜϛϘϚϬϒϟϞϬϏϛϟϑϒϘϩϚϛϙϜϝϛϣϒϞϞϒ&cvca ϤϟϛώϒϔϠϙϚϛϔύϟϛϝϙύϓϕϏύϒϟϜϒϝϏϨϖϔύϜϠϞϗ ϜϝϛϐϝύϙϙϨ ϕϙϜϛϝϟϕϝϠϫϦϒϖϙϚϛϓϒϞϟϏϛ ϙϛϑϠϘϒϖ ήϛϘϒϒϟϛϐϛ ϒϞϘϕϝϒϜϛϔϕϟϛϝϕϖϛϗύϓϒϟϞϬ ϚϒϑϛϞϟϠϜϚϨϙϑϘϬϔύϜϕϞϕϜϛϘϩϔϛϏύϟϒϘϫ ϟϛϜϝϛϐϝύϙϙύϜϝϛϞϟϛϚϒϔύϜϠϞϟϕϟϞϬϞ ϛϥϕώϗϛϖ P_Lsbm0./4./ /4ϬϚϏύϝϬ0./4ϐϛϓϕϑύϒϟϞϬϛϤϒϝϒϑϚϛϖϝϒ ϘϕϔP_LsbmίϒϝϛϬϟϚϛ ϤϟϛϟϛϕϔϛώϚύϝϠϓϒϚ ϚϨϢϜϝϛώϘϒϙώϠϑϒϟϕϞϜϝύϏϘϒϚϛ ■ ΢ϋπτψόψϐΫυϒϒψυς 3 NcpM4ͽине;΋е΍ έώςώσώτύψωώϋψςϜυڞϑρώϐύπϟϑώϋϟύϊπϏϐώϐπχ ύϛυψύϒυϐυϑύϛυϘϒϓϊψςNcpM4 ЮникоͿ ςϝύϚϒϚϕϒϕϛώϝύώϛϟϗύϞϕϙϏϛϘϛϏϏϚϠϟϝϕ ϞϟϝϛϗNcpM4ϜϝϛϕϞϢϛϑϕϟϏϡϛϝϙύϟϒ/DE &/mpN_MDmpNEp_nfcNc ϊϟϛϚύϔϏύϚϕϒ ϜϝϕϑϠϙύϚϛϒϦϒ ϏώϨϟϚϛϞϟϩN_ppmr ύϞϜϝύϗ ϟϕϤϒϞϗϛϖϟϛϤϗϕϔϝϒϚϕϬϑϛϞϟύϟϛϤϚϛϔϚύϟϩ ϤϟϛϕϔϘϫώϛϐϛϞϕϙϏϛϘύϙϛϓϚϛϜϛϘϠϤϕϟϩ ϒϐϛ/DA /DB /D,Aϕ/D,BϡϛϝϙϨ  ϊϟϛϝύϔϚϨϒϗύϚϛϚϕϤϒϞϗϕϒϕϑϒϗϛϙϜϛ ϔϕϝϛϏύϚϚϨϒϜϝϒϑϞϟύϏϘϒϚϕϬϞϕϙϏϛϘϛϏϏ ϫϚϕϗϛϑϒ μϛϑϝϛώϚϛϞϟϕϜϝϛϝύϔϚϨϒϡϛϝϙϨϜϝϒϑϞϟύϏ ϘϒϚϕϖϞϕϚϟϒϝϒϞϚϨϙϕϜϝϕϙϒϝύϙϕ ϛϜϠώϘϕ ϗϛϏύϚϨϚύϞύϖϟϒϫϚϕϗϛϑύ ύϕϞϟϛϝϕϬ/DEۘ ϏώϘϛϐϒαϓϛϚύϟύϚύ  μϛϞϙϛϟϝϒϟϩϝύϔϚϨϒϡϛϝϙϨϜϛϙϛϐϠϟϛϑϚϛ ϕϙϒϚϚϨϒϙϒϟϛϑϨ ϗϛϟϛϝϨϒϙϛϓϚϛϏϨϔϨ ϏύϟϩϚύϛϑϚϛϞϕϙϏϛϘϩϚϨϢϞϟϝϛϗύϢ / sa\$s.NFC#codepoLnt 0 sa\$s.NFD 1 sa\$s.NF.C 2 sa\$s.NF.D μϛϘϚϛϒϗύϚϛϚϕϤϒϞϗϛϒϚύϔϏύϚϕϒϏϛϔϏϝύϦύϒϟ ϙϒϟϛϑ .unLname  / sa\ Ǔ .unLname#C &ϊϟϛϟϙϒϟϛϑϚϒϜϛϙϛϓϒϟϜϒϝϒϗϛϑϕϝϛϏύϟϩ AN/0/3Ϗηλε6 αϘϬϔύϗϝϒϜϘϒϚϕϬϙύϟϒϝϕύϘύϜϝϒϑϘύϐύϫϜϛ ϞϙϛϟϝϒϟϩϚύϏϨϏϛϑϠϜϛϙϬϚϠϟϨϢϙϒϟϛϑϛϏϚύ ϝύϔϚϨϢϢϕϟϝϨϢϞϕϙϏϛϘύϢ / unLdump ￿  0 unLdump ǥ  1 unLdump §  2 unLdump «  3 unLdump ￿ #ǘǎǒǗǒǑǗǏǖǗǘǍǒǟ ǛǒǖnjǘǕǘnj 4 #ǎǕǩǔǘǜǘǚǘǍǘ ǚNJǑǕǒǡNJǨǜǛǩ 5 #njǛǏǔNJǗǘǗǒǡǏǛǔǒǏ ǙǚǏǎǛǜNJnjǕǏǗǒǩ 6 unLdump Ǔ   unLdump ²  /. unLdump Æ  // /0 subunLdump $s ^ /1 sa\$s /2 /3 sa\$s.cKars#ǡǒǛǕǘǍǚNJǞǏǖ /4 sa\$s.NFC#codepoLnt /5 sa\$s.NFD /6 sa\$s.NF.C / sa\$s.NF.D 0. sa\$s.unLname#ǨǗǒǔǘǎǗǘǏ ǗNJǑnjNJǗǒǏNjǝǔnjǥ 0/ 00 sa\$s.NFD.OLst#ǛǙǒǛǔǘǖ 01 02 sa\$s.encode UTF �  .eOems #ǛǔǘǕǦǔǘNjNJǓǜǘnj 03 sa\$s.encode UTF � 16 .eOems  04 05 sa\$s.encode UTF �  #nj njǒǎǏutf0[...> 06 0 sa\  1. } ρϛϝϙϨ/D,Aϕ/D,B ϏϤύϞϟϚϛϞϟϕ ϙϛϐϠϟ ϜϝϒϛώϝύϔϛϏύϟϩϚύϑϞϟϝϛϤϚϨϒϕϜϛϑϞϟϝϛϤ ϚϨϒϕϚϑϒϗϞϨϏϛώϨϤϚϨϒϣϕϡϝϨ / sa\ 2 .NF.D#NF.D0[0032> 0 sa\ ² .NF.D#NF.D0[0032> ξϜϛϙϛϦϩϫϡϠϚϗϣϕϕ unLmatcK ϙϛϓϚϛ ϠϔϚύϟϩ ϜϝϕϚύϑϘϒϓϕϟϘϕϞϕϙϏϛϘϗϟϛϖ ϕϘϕϕϚϛϖϐϝϠϜϜϒϞϕϙϏϛϘϛϏϏϫϚϕϗϛϑϒ κύϜϝϕϙϒϝ / sa\unLmatcK Ǟ  C\rLOOLc # True κϛϚϠϓϚϛώϨϟϩϛϞϟϛϝϛϓϚϨϙ ϤϟϛώϨϚϒϝύϔ ϓϕϐύϟϩ / sa\unLmatcK ǰ  C\rLOOLc # True 0 sa\unLmatcK ±  C\rLOOLc # FaOse δϑϒϞϩώϨϘϕϛϑϕϚύϗϛϏϛϏϨϐϘϬϑϬϦϕϒ Ϛϛ ϝύϔϚϨϒϞϕϙϏϛϘϨεϢ/DBϞϛϛϟϏϒϟϞϟϏϒϚϚϛ 0 [0456030> ϕ 0[006030> ύϕϙϒϚύ ۘ C/ 0 sa\1Lf ǧ ~~//O>/#/etter OoZercase αϘϬϞϛϔϑύϚϕϬϫϚϕϗϛϑϚϨϢϞϟϝϛϗϙϛϓϚϛ ϚύϜϝϬϙϠϫϏϛϞϜϛϘϩϔϛϏύϟϩϞϬϗϛϚϞϟϝϠϗϟϛϝϛϙ ϗϘύϞϞύ UnL  / sa\UnL.neZ 0[043 .Str#Ǔ 0 sa\UnL.neZ 0[cf0[4 .Str#Ï Uf_rctcp& Uf_rctcpۘϪϟϛϗϘύϞϞ ϗϛϟϛϝϨϖϜϛϔϏϛϘϬϒϟ ϞϛϔϑύϏύϟϩϛώϧϒϗϟϨ ϟϕϜϕϔϚύϤϒϚϕϒϗϛϟϛ ϝϨϢϛϜϝϒϑϒϘϬϫϟϞϬϕϔϗϛϚϟϒϗϞϟύτϟϛώϨ Ϟϛϔϑύϟϩϟύϗϛϖϛώϧϒϗϟ ϑϛϞϟύϟϛϤϚϛϜϛϞϟύ ϏϕϟϩϔϏϒϔϑϛϤϗϠ&ϒϞϘϕϛϚύ ϝύϔϠϙϒϒϟϞϬ Ϛϒ ϛϔϚύϤύϒϟϠϙϚϛϓϒϚϕϒ  / sa\ .:+AT# :Katever Uf_rctcpϠϑϛώϚϛϕϞϜϛϘϩϔϛϏύϟϩϑϘϬϞϛϔϑύ ϚϕϬϜϝϛϞϟϨϢϡϠϚϗϣϕϖ ϚύϜϝϕϙϒϝ / m\$f= 2#njǘǑnjǏǎǏǗǒǏnj ǔnjNJǎǚNJǜ 0 sa\$f 16 #256 1 2 m\$[\= #njǘǑnjǏǎǏǗǒǏnj ǙǚǘǒǑnjǘǕǦǗǝǨǛǜǏǙǏǗǦ 3 sa\$[\ 34 #1 οϛϐϛϓϒϝϒϔϠϘϩϟύϟύϠϑύϞϟϞϬϑϛϞϟϕϤϩώϛϘϒϒ ϟϝύϑϕϣϕϛϚϚϨϙ&ϑϘϬϞϟύϝϛϐϛNcpM4 ϞϕϚϟύϗ ϞϕϞϛϙ / #ƪǗǘǗǒǖǗǥǓNjǕǘǔǔǘǎNJǛǘǎǗǒǖ NJǚǍǝǖǏǗǜǘǖ$[ 0 m\$J= � >$[^$[ 2} 1 sa\$J 16  2 3 #ƫǕǘǔǛǎnjǝǖǩNJǚǍǝǖǏǗǜNJǖǒǒǖǏǗNJ ǛǘǚǜǒǚǝǨǜǛǩǙǘNJǕǞNJnjǒǜǝ 4 m\$K=^$^a $^b} 5 sa\$K 34  ίϜϛϘϚϒϛϜϝύϏϑύϚϛϕϞϜϛϘϩϔϛϏύϚϕϒϔϏϒϔϑϛϤ ϗϕϑϘϬϞϛϔϑύϚϕϬϕϚϟϒϝϏύϘϛϏ&P_Oec  μϝϕϙϒϝϞϣϕϗϘϛϙ / for 5.. ^ 0 .sa\#ǙǘǛǜǚǘǡǗǘǙǏǡNJǜNJǏǜǘǜ 5ǎǘ10 1 OastLf$_==10 2 } μϝϕϙϒϝϞϙύϞϞϕϏϛϙ / m\@a=2461012> 0 sa\@a>3.. ]# 1012 λϟϑϒϘϩϚϛϞϘϒϑϠϒϟϝύϞϞϙϛϟϝϒϟϩ ϤϟϛϜϝϛϕϞ ϢϛϑϕϟϞϛϟϝϕϣύϟϒϘϩϚϨϙϕϔϚύϤϒϚϕϬϙϕ ίϞϒ ϚύϤϕϚύϬϞϤϒϟϏϒϝϟϛϐϛϪϘϒϙϒϚϟύϕϔύϗύϚ ϤϕϏύϬϜϝϒϑϜϛϞϘϒϑϚϕϙ / sa\@a>3.. � 2]# 10 τϟϛώϨϜϛϘϠϤϕϟϩϜϛϞϘϒϑϚϕϖϪϘϒϙϒϚϟ ϚϒϘϩ ϔϬϜϝϛϞϟϛϚύϜϕϞύϟϩ @a> � 1]  / UnsupporteduseofaneJatLve � 1 subscrLpttoLnde[fromtKe end 0 LnPerO6pOeaseuseafunctLon sucKas � 1 ξϘϒϑϠϒϟϑϛώύϏϕϟϩϔϏϒϔϑϛϤϗϠ / sa\@a> � 1]#12 δϏϒϔϑϛϤϗύϜϛϑϢϛϑϕϟϕϑϘϬϞϛϔϑύϚϕϬϘϒϚϕ ϏϨϢϞϜϕϞϗϛϏ&ϟϛϒϞϟϩϟύϗϕϢϞϜϕϞϗϛϏ ϛϤϒϝϒϑ ϚϛϖϪϘϒϙϒϚϟϗϛϟϛϝϨϢϏϨϤϕϞϘϬϒϟϞϬϜϛϙϒϝϒ ϚϒϛώϢϛϑϕϙϛϞϟϕ  / m\@a= 1...  0 for 0..5 ^ 1 sa\@a>$_] 2 } ίϘϒϚϕϏϨϢϞϜϕϞϗύϢϑϛϜϠϞϟϕϙϛϜϛϑϞϗύϔύϟϩ ϗϛϙϜϕϘϬϟϛϝϠ ϗύϗϐϒϚϒϝϕϝϛϏύϟϩϜϛϞϘϒϑϛϏύ ϟϒϘϩϚϛϞϟϩ / m\@a= 12... #Ǜ ǢNJǍǘǖ1 0 m\@a= 24... #ǡǏǜǗǥǏ ǡǒǛǕNJ 1 m\@a= 24... # ǛǜǏǙǏǗǒǎnjǘǓǔǒ θϕώϛϕϞϜϛϘϩϔϛϏύϟϩϬϏϚϛϛϜϝϒϑϒϘϒϚϚϨϖ ώϘϛϗϞϛϞϜϛϞϛώϛϙϏϨϤϕϞϘϒϚϕϬ / m\@fLb=01  ... # ƾǒNjǘǗNJǡǡǒ ͯͻйлы εϙϬϡύϖϘύ ϗϛϟϛϝϨϖϞϒϖϤύϞϕϞϜϛϘϚϬϒϞϬ ϟϒ ϜϒϝϩϚύϢϛϑϕϟϞϬϏϜϒϝϒϙϒϚϚϛϖ $ PRO*RAM � NAME ύϚϒ $ PRO*RAM_NAME ϗύϗώϨϘϛϒϦϒ ϞϛϏϞϒϙϚϒϑύϏϚϛ  έϏϛϟϜϝϛϐϝύϙϙύ ϗϛϟϛϝύϬϕϞϜϛϘϩϔϠϒϟϏϞϟϝϛ ϒϚϚϠϫϡϠϚϗϣϕϫ sOurp ϤϕϟύϫϦϠϫϞϛϑϒϝ ϓϕϙϛϒϟϒϗϠϦϒϐϛϡύϖϘύ / sa\sOurp$ PRO*RAM � NAME μϝϛϟϕϏϛϜϛϘϛϓϚύϬϡϠϚϗϣϕϬۘ spurt &kώϕϟϩϞϟϝϠϒϖ{ ϛϚύϔύϜϕϞϨϏύϒϟϑύϚϚϨϒϏ ϡύϖϘίϛϟϜϝϕϙϒϝϝϒύϘϕϔύϣϕϕϫϚϕϗϞϛϏϛϖ ϡϠϚϗϣϕϕ cp ϚύNcpM4 / m\ $source$dest [email protected] AR*S 0 1 m\$data=sOurp$source 2 spurt$dest$data μϛϠϙϛϘϤύϚϕϫϡύϖϘϘϕώϛϞϛϔϑύϒϟϞϬ Ϙϕώϛ ϜϒϝϒϔύϜϕϞϨϏύϒϟϞϬηϘϫϤ&ϕϙϒϚϛϏύϚϚϨϖ ύϝϐϠϙϒϚϟ append ϜϛϜϝϛϞϕϟϑϛώύϏϘϬϟϩ ϚϛϏϨϒϑύϚϚϨϒϏϗϛϚϒϣϡύϖϘύ / spurt$dest$dataappend τϟϛώϨϠϜύϞϟϩϞϛϥϕώϗϛϖϜϝϕϜϛϜϨϟϗϒϔύ ϜϕϞϕϏϞϠϦϒϞϟϏϠϫϦϕϖϡύϖϘ ϑϛώύϏϩϟϒϛϜ ϣϕϫ createonO\ & append ϜϝϕϪϟϛϙϞϟύ ϚϒϟϚϒύϗϟϠύϘϩϚϛϖ  / spurt$dest$datacreateonO\ ε sOurp ϕ spurt ϜϝϕϚϕϙύϫϟύϝϐϠϙϒϚϟ ϞϕϙϒϚϒϙϗϛϑϕϝϛϏϗϕ enc ϚϛϛϜϬϟϩϓϒ ϞϟύϝϨϢϗϛϑϕϝϛϏϛϗϟϕϜύ .O, ϟύϙϚϒϟ&ϑύ ϕϚϒϚύϑϛ  / m\$data=sOurp$sourceenc=> UTF �   0 spurt$dest$dataenc=> UTF � 16  βϞϘϕϚύϞϟϝϛϗϒϏϨϔϏύϟϩϙϒϟϛϑ .,O ϟϛϏϛϔ ϏϝύϦύϒϟϞϬϛώϧϒϗϟϗϘύϞϞύ *MN_rf ιϒϟϛϑ ϛϜϝϒϑϒϘϒϚϟύϗ / metKod,O returns,OPatKD & D ϔϑϒϞϩϚϒϝϓύϤϚϨϖϞϙύϖϘ ύϛϔϚύϤύϒϟ bc੗Ocb κύϜϝϕϙϒϝ ϗύϗϜϛϘϠϤϕϟϩύώϞϛϘϫϟϚϨϖϜϠϟϩ ϗϘϛϗύϘϩϚϛϙϠϡύϖϘϠ / sa\ fLOe1.pO .,O.abspatK ηύϗϜϛϘϠϤϕϟϩϞϛϑϒϝϓϕϙϛϒϟύϗϛϐϛϟϛϗύϟύϘϛ ϐύ / sa\ . .,O.dLr μϝϛϏϒϝϗϕϞϠϦϒϞϟϏϛϏύϚϕϬϡύϖϘϛϏϕϗύϟύϘϛ ϐϛϏϟϒϜϒϝϩϏϨϐϘϬϑϬϟϟύϗ / sa\1Lf fLOe.t[t .,O.e# � e fLOe.t[t njPerO5 0 sa\1Lf fLOe.t[t .,O.f# � f 1 sa\1Lf .. .,O.d # � d λϞϟύϘϩϚϨϒϙϒϟϛϑϨ ϜϒϝϒϤϕϞϘϒϚϚϨϒϏ ϑϛϗϠϙϒϚϟύϣϕϕ ϏϜϛϘϚϒϜϛϚϬϟϚϨώϒϔϛώϧϬϞ ϚϒϚϕϖκύϜϝϕϙϒϝ ϑϘϬϏϨϑϒϘϒϚϕϬϕϔϕϙϒϚϕ ϡύϖϘύϝύϞϥϕϝϒϚϕϬϙϛϓϚϛϏϛϞϜϛϘϩϔϛϏύϟϩϞϬ ϙϒϟϛϑϛϙ .e[tensLon  / sa\$fLOename.,O.e[tensLon ■ Πύτϐυωθψϒώς 4 ИΌΊользоͽͻниеPsqrизNcpM ΢ϑϒϐπψςπύψυPsqrςNcpMϑϏώόώϙϜϞDD* Rust ۘϬϔϨϗϞϕϞϟϒϙϚϛϐϛϜϝϛϐϝύϙϙϕϝϛ ϏύϚϕϬ ϝύϔϏϕϏύϒϙϨϖ.m[JMM_DsOb_rJmO μϝϕϔϏύϚϔύϙϒϚϕϟϩϞϛώϛϖξλώϒϞϜϒϤϕϏύϒϟ ώϒϔϛϜύϞϚϠϫϝύώϛϟϠϞϜύϙϬϟϩϫϕϜϝϛϤϕϒ ϜϝϕϬϟϚϨϒϙϒϘϛϤϕ ϗϛϟϛϝϨϢϕϚϛϐϑύϟύϗϚϒ ϢϏύϟύϒϟϏξ ϜϝϕϪϟϛϙϚϒϑύϒϟϛϏϒϝϢϒϑύϜϛ ϜϝϛϕϔϏϛϑϕϟϒϘϩϚϛϞϟϕ&Ϗϟϒϛϝϕϕ  μϛϑϝϛώϚϛϞϟϕϬϔϨϗϛϏϨϢϗϛϚϞϟϝϠϗϣϕϖϬϟϠϟ ϝύϞϜϕϞϨϏύϟϩϞϕϘϩϚϛϚϒώϠϑϠ ϏϣϒϘϛϙ ϏϞϒ ϜϝϕϙϒϝϨϠϗϘύϑϨϏύϫϟϞϬϏϜϒϝϏϨϒ2ϐϘύϏϨ ϗϚϕϐϕϜϛPsqr  ξϚύϤύϘύϠϞϟύϚϛϏϕϙ Rust ϜϛϞϘϒϑϚϒϖϏϒϝϞϕϕ &/3ϚύϙϛϙϒϚϟϚύϜϕϞύϚϕϬ εϚϞϟϝϠϗϣϕϕ ϜϛϠϞϟύϚϛϏϗϒϚύϏϞϒϜϛϑϑϒϝϓϕϏύϒϙϨϒ ϜϘύϟϡϛϝϙϨϙϛϓϚϛϚύϖϟϕϚύϞύϖϟϒۘ frrnq//uuupsqrM_Oempe/bmuOMm_bqfrNM  ήϠϑϒϙϞϤϕϟύϟϩ Ϥϟϛ Rust ϠϓϒϠϞϟύϚϛϏϘϒϚϕ ϑύϓϒϝύώϛϟύϒϟμϛϜϝϛώϠϒϙϒϐϛϕϞϜϛϘϩϔϛϏύϟϩ ϕϔ PerO  ξϚύϤύϘύϛϜϝϛώϠϒϙϜϝϕϙϒϝϕϔϑϛϗϠϙϒϚϟύ ϣϕϕ ϞϛϔϑύϑϕϙϚϛϏϨϖϜϝϛϒϗϟϞϜϛϙϛϦϩϫ CarJo  / carJoneZembed 0 cdembed αϛώύϏϕϙϏ CarJo.tomO ϞϘϒϑϠϫϦϒϒϞϛϑϒϝ ϓϕϙϛϒ / >OLb] 0 name="embed" 1 crate � t\pe=>"d\OLb"] ϊϟϕϙϙϨϐϛϏϛϝϕϙϗύϝϐϛ ϤϟϛϙϨϢϛϟϕϙ ϜϛϘϠϤϕϟϩώϕώϘϕϛϟϒϗϠ ύϚϒώϕϚύϝϚϕϗϕ ώϕώϘϕϛϟϒϗύϑϛϘϓϚύϘϕϚϗϛϏύϟϩϞϬϞϗϛϑϛϙ ϚύA οϒϜϒϝϩϛϟϝϒϑύϗϟϕϝϠϒϙ src/OLb.rs ϕϜϝϕ ϏϒϑϒϙϒϐϛϗϟύϗϛϙϠϏϕϑϠ / usestdtKread 0 1 #>no_manJOe] 2 pube[ternfnprocess ^ 3 OetKandOesVec_>= 0..10 .map ___^ 4 tKreadspaZn __^ 5 Oetmut[=0 6 for_Ln 0..5 _000_000 ^  [=1 /. } // [ /0 } /1 } .coOOect  /2 /3 forKLnKandOes^ /4 prLntOn! "TKreadfLnLsKed ZLtKcount=^}" /5 K.MoLn .map_err ___" CouOdnotMoLna tKread!" .unZrap  /6 } / 0. prLntOn! "done!"  0/ } ϊϟϛϜϝϕϘϛϓϒϚϕϒϔύϜϠϞϗύϒϟ/.ϟϝϒϑϛϏ ϗύϓ ϑϨϖϕϔϗϛϟϛϝϨϢϞϤϕϟύϒϟϑϛ3...... Ϟϛώϕϝύ ϒϟϛϟϚϕϢϏϛϔϏϝύϦύϒϙϛϒϔϚύϤϒϚϕϒ&ϞϤϒϟϤϕϗ [ ϕϏϨϏϛϑϕϟϪϟϛϚύϙ ξϛώϒϝϒϙϒϐϛ / carJobuLOd �� reOease ίϗύϟύϘϛϐϒ tarJet/reOease ϠϚύϞϜϛϬϏϕϟ ϞϬϡύϖϘ OLbembed.so &ϑϘϬ._aMSϝύϞϥϕϝϒ ϚϕϒώϠϑϒϟbZMJ` ϑϘϬUJOۘbMM ϬϏϞϒϪϟϛϜϝϛ ϑϒϘϨϏύϫϚύϙύϗϒ ϟύϗϤϟϛώϕώϘϕϛϟϒϗϕϏϒϔ ϑϒώϠϑϠϟϞϝύϞϥϕϝϒϚϕϒϙbZMJ` ϏύϙϓϒϚύϑϛ ώϠϑϒϟϜϛϜϝύϏϕϟϩϜϛϑϞϏϛϫϞϕϞϟϒϙϠ ۘϪϟϛ ϚύϥύϜϛϑϗϘϫϤύϒϙύϬώϕώϘϕϛϟϒϗύμϝϕϡϛϝ ϙϕϝϛϏύϚϕϕώϕώϘϕϛϟϒϗϕ CarJo ύϏϟϛϙύϟϕϤϒ ϞϗϕϑϛώύϏϘϬϒϟϜϝϒϡϕϗϞ OLb ϗϕϙϒϚϕϜϝϛϒϗ ϟύ ϠϗύϔύϚϚϛϐϛϏ name  κύϞϟύϘϛϏϝϒϙϬϏϨϔϏύϟϩϒϒϕϔ PerO ούϗ ϗύϗVSώϕϚϑϕϚϐϛϏϏ PerO ϑϘϬ Rust ϒϦϒϚϒ ϞϠϦϒϞϟϏϠϒϟ&ϚϠϕϘϕϬϕϢϚϒϚύϥϒϘ ϟϛϙϨ ώϠϑϒϙϕϞϜϛϘϩϔϛϏύϟϩ DD*P_u ϊϟϛϟϙϛϑϠϘϩ ϜϛϔϏϛϘϬϒϟϕϔϗϛϑύϚύ PerO ϑϒϝϐύϟϩϡϠϚϗ ϣϕϕϏώϕώϘϕϛϟϒϗύϢϚύξιϛϑϠϘϩϏϒϞϩϙύ ϚϕϔϗϛϠϝϛϏϚϒϏϨϖ ϚϛϑϘϬϚύϤύϘύϪϟϛϑύϓϒ Ϣϛϝϛϥϛ ξϛϔϑύϑϕϙϡύϖϘ maLn.pO ϞϛϞϘϒϑϠϫϦϕϙϞϛ ϑϒϝϓϕϙϨϙ / #!/usr/bLn/envperO 0 1 usev5.16 2 useFF,RaZ 3 4 m\$process=FF,RaZ � >neZ 5 tarJet/reOease/OLbembed.d\OLb  process  6 FF,RaZvoLd   /. // sa\$process � >caOO  /0 /1 sa\"Done!" δϑϒϞϩϏϗϛϚϞϟϝϠϗϟϛϝϒϙϨϠϗύϔϨϏύϒϙϜϠϟϩϗ ϚύϥϒϖώϕώϘϕϛϟϒϗϒ ϕϙϬϡϠϚϗϣϕϕ ϗϛϟϛϝϠϫ ϙϨϢϛϟϕϙϕϞϜϛϘϩϔϛϏύϟϩ ϕϟϕϜϏϛϔϏϝύϦύϒ ϙϛϐϛϔϚύϤϒϚϕϬίϑύϚϚϛϙϞϘϠϤύϒϡϠϚϗϣϕϬϠ ϚύϞϚϕϤϒϐϛϚϒϏϛϔϏϝύϦύϒϟ ϟύϗϤϟϛϪϟϛώϠϑϒϟ voLd  εϔύϜϠϞϟϕϙϚύϥϜϒϝϘϛϏϨϖϞϗϝϕϜϟ / aOpKa6$perO./maLn.pO 0 TKreadfLnLsKedZLtKcount =5000000 1 TKreadfLnLsKedZLtKcount =5000000 2 TKreadfLnLsKedZLtKcount =5000000 3 TKreadfLnLsKedZLtKcount =5000000 4 TKreadfLnLsKedZLtKcount =5000000 5 TKreadfLnLsKedZLtKcount =5000000 6 TKreadfLnLsKedZLtKcount =5000000  TKreadfLnLsKedZLtKcount =5000000 /. TKreadfLnLsKedZLtKcount =5000000 // TKreadfLnLsKedZLtKcount =5000000 /0 done! /1 Done! ϊϟϛϟϗϛϑϙϛϓϒϟϏύϘϕϟϩϞϬϞ SeJmentatLon fauOt11 ϜϒϝϒϑϏϨϢϛϑϛϙϕϔϞϗϝϕϜϟύϊϟϛ ϞϏϬϔύϚϛϞϏϨϏϛϑϛϙϞSRBMSRϕϔϗϛϑύϚύ Rust ίϕϑϕϙϛ DD*ϗύϗϟϛϗϝϕϏϛϛώϝύώύϟϨϏύ ϒϟϔύϗϝϨϟϕϒϑϒϞϗϝϕϜϟϛϝϛϏκύϙύϗϒϏύϘϕϟϞϬ ϞϟύώϕϘϩϚϛ Ϛύ-JOsvϝύώϛϟύϒϟώϒϔϛϥϕώϛϗ ϚύUJObmuqϚϒϜϝϛϏϒϝϬϘίϕϑϕϙϛ ϏϘϕϬϫϟ ϗύϗϕϒϟϛϛϞϛώϒϚϚϛϞϟϕϜϘύϟϡϛϝϙϨ ίϨϔϨϏύϟϩϤϕϞϘϛϑϝϛώϕϘϗϕϕϔ PerO Ϫϟϛϗϛ ϚϒϤϚϛϢϛϝϛϥϛ ϚϛϗύϗϚύϞϤϒϟϜϒϝϒϑύϤϕϜύ ϝύϙϒϟϝϛϏϡϠϚϗϣϕϕ=οϛϓϒϙϛϓϚϛ ϜϛϞϤϕϟύ ϒϙϡύϗϟϛϝϕύϘ μϝϕϏϒϑϒϙqpa/MJ`pqϗϏϕϑϠ / #>no_manJOe] 0 pube[ternfnfact [L32 � >L32 ^ 1 Oetmutfact=1 2 forLLn1..[1^ 3 fact =L 4 } 5 6 returnfact  } δϑϒϞϩϙϨϛώϧϬϏϘϬϒϙϜϠώϘϕϤϚϠϫϡϠϚϗϣϕϫ fact ϗϛϟϛϝύϬϜϝϕϚϕϙύϒϟϚύϏϢϛϑϤϕϞϘϛϏ Ϗϕϑϒ10ώϕϟϚϛϐϛϣϒϘϛϐϛϕϟϛϓϒϞύϙϛϒϏϛϔ ϏϝύϦύϒϟϏϗύϤϒϞϟϏϒϝϒϔϠϘϩϟύϟύ ούϗϓϒϛώϝύϟϕϟϒϏϚϕϙύϚϕϒ #>no_manJOe] ϚύϑϛϠϗύϔϨϏύϟϩϜϒϝϒϑϗύϓϑϛϖϡϠϚϗϣϕϒϖ ϗϛϟϛϝϠϫϙϨϢϛϟϕϙϪϗϞϜϛϝϟϕϝϛϏύϟϩβϞϘϕ ϠώϝύϟϩϪϟϠϞϟϝϛϗϠϕϜϛϜϝϛώϛϏύϟϩϏϨϔϏύϟϩ ϝύϞϞϤϒϟϡύϗϟϛϝϕύϘύ ϙϨϜϛϘϠϤϕϙϛϥϕώϗϠ ϚϒϞϙϛϟϝϬϚύϟϛ ϤϟϛϡϠϚϗϣϕϬϛώϧϬϏϘϒϚύ ϜϠώϘϕϤϚϛϖ / aOpKa6$perO./maLn.pO 0 dOs\m 0[ffeda40abd0fact  s\mboOnotfoundat./maLn.pO OLne13. no_manJOe ϐϛϏϛϝϕϟϗϛϙϜϕϘϬϟϛϝϠ ϤϟϛώϨϛϚ ϚϒϕϔϙϒϚϬϘϕϙϬϡϠϚϗϣϕϕϏϛϏϝϒϙϬϗϛϙϜϕ ϘϬϣϕϕ ϤϟϛϑϒϘύϒϟϏϛϔϙϛϓϚϨϙϑϛϞϟϠϜϗϚϒϖ ϕϔϑϝϠϐϕϢϬϔϨϗϛϏ μϝϕϏϒϑϒϙ maLn.pO ϗϏϕϑϠ / m\$fact_fn=FF,RaZ � >neZ 0 tarJet/reOease/OLbembed.d\OLb  fact  1 FF,RaZLnt 2 FF,RaZLnt 3  4 5 m\$fact_vaO=$fact_fn � >caOO 30  6  sa\"FactorLaO>$fact_vaO]" ξϛϢϝύϚϬϒϙ ϔύϜϠϞϗύϒϙ / aOpKa6$perO./maLn.pO 0 FactorLaO>14026144] 1 PerOcodedone! ςϙ ϗύϓϒϟϞϬ ϤϟϛϟϛϜϛϥϘϛϚϒϟύϗ۪ ίϪϟϛϙϜϝϕϙϒϝϒϙϛϓϚϛϠϏϕϑϒϟϩϚύϐϘϬϑϚϛ ϝύϔϘϕϤϕϬ PerO ϕϬϔϨϗϛϏώϛϘϒϒϚϕϔϗϛϐϛ ϠϝϛϏϚϬβϞϘϕϜϛϞϙϛϟϝϒϟϩϚύϝϒϔϠϘϩϟύϟ ϝύώϛϟϨϡϠϚϗϣϕϕ ϟϛϏϕϑϚϛϤϟϛϡύϗϟϛϝϕύϘ 1.ϚϒϙϚϛϓϗϛϚϒϬϏϘϬϒϟϞϬϡύϗϟϛϝϕύϘϛϙ1. ϢϛϟϬώϨϜϛϟϛϙϠϤϟϛϏϚϒϙϑϛϘϓϚϛώϨϟϩ00 ϣϕϡϝϨμϝϕϪϟϛϙϜϝϛϞϟϛϠϏϒϘϕϤϒϚϕϒϝύϔ ϝϬϑϚϛϞϟϕϑϛs42ϚϒϜϛϙϛϓϒϟ ϜϛϟϛϙϠϤϟϛ ϟϠϑύϛϚϟϛϓϒϚϒϏϘϒϔύϒϟίϛώϦϒϙ ϙϛϝύϘϩ ϞϒϖώύϞϚϕϟύϗϛϏύۘϞϘϒϑϕϟϒϔύϜϒϝϒϜϛϘ ϚϒϚϕϒϙϜϒϝϒϙϒϚϚϨϢ ϟύϗϗύϗϗϛϙϜϕϘϬϟϛϝ ϪϟϛϐϛϚϒϛϟϞϘϒϓϕϏύϒϟ ϕϝύϚϟύϖϙϜϝϛϏϒϝϛϗ ϜϛϠϙϛϘϤύϚϕϫϟϛϓϒϚϒϟ ίϜϝϛϤϒϙ ϜϝϕϕϔϙϒϚϒϚϕϕϝύϔϝϬϑϚϛϞϟϕϞJOr ϑϛJOr42 ϡύϗϟϛϝϕύϘ/2ϝύϞϞϤϕϟϨϏύϒϟϞϬϏϒϝ Ϛϛ ϒϞϘϕϏϒϝϕϟϩ ϗύϘϩϗϠϘϬϟϛϝϠ ύϏϞϒ ϤϟϛϏϨ ϥϒ/3ۘϪϟϛϠϓϒϙύϟϒϙύϟϕϗύϞϢϕϟϝϨϙϕύϘ ϐϛϝϕϟϙύϙϕ Rust ϕϔϗϛϝϛώϗϕϞϚϒϖϝύώϛϟύϟϩ ϚϒϠϙϒϒϟ βϦϒϛϑϚύϜϝϛώϘϒϙύۘ FF,RaZ ϚϒϜϛϔϏϛ ϘϬϒϟϚύϜϝϬϙϠϫϜϒϝϒϑύϏύϟϩϕϏϛϔϏϝύϦύϟϩϕϔ ϏϚϒϥϚϒϐϛϗϛϑύϤϟϛϟϛϞϘϛϓϚϒϒϜϝϕϙϕϟϕϏ ϚϨϢϟϕϜϛϏοϛϒϞϟϩϜϒϝϒϑύϟϩϏϡϠϚϗϣϕϫϢϒϥ ϕϘϕϏϒϝϚϠϟϩϏϒϗϟϛϝϚϒϜϛϘϠϤϕϟϞϬκϛϏϞϒ ϐϑύϙϛϓϚϛϝύώϛϟύϟϩϞϛϞϟϝϠϗϟϠϝύϙϕξ ύϜϒ ϝϒϐϚύϟϩNcpMϞϟϝϠϗϟϠϝϠϏϞϕϥϚϠϫۘϔύϑύϤύ ϪϘϒϙϒϚϟύϝϚύϬ μϝϕϏϒϑϒϙϚύϥ OLb.rs ϗϏϕϑϠ / pubstructArJs^ 0 LnLtu32 1 b\u32 2 } 3 4 #>no_manJOe] 5 pube[ternfnuse_struct arJs& ArJs � >u32^ 6 prLntOn! "ArJs^} � ^}" arJs.LnLtarJs.b\   /. returnarJs.LnLt // } δϑϒϞϩϙϨϛώϧϬϏϘϬϒϙϞϟϝϠϗϟϠϝϠApeqϕϑϒϘύ ϒϙϒϒϑϛϞϟϠϜϚϛϖϞϚύϝϠϓϕϚύϥϒϖώϕώϘϕϛϟϒ ϗϕϠϗύϔύϚϕϒϙ pub ίϡϠϚϗϣϕϕ use_struct ϙϨϐϛϏϛϝϕϙϗϛϙϜϕϘϬϟϛϝϠ ϤϟϛϛϓϕϑύϒϙϚύ ϏϢϛϑϒϠϗύϔύϟϒϘϩϚύϪϟϠϞϟϝϠϗϟϠϝϠκϠϕϏϛϔ ϏϝύϦύϒϙϛώϝύϟϚϛϜϒϝϏϨϖϪϘϒϙϒϚϟϞϟϝϠϗϟϠ ϝϨ ίϜϒϝϘϛϏϨϖϗϛϑϏϞϟύϏϕϙϟύϗϛϒ / m\$pacNed=pacN // 4221  0 m\$arJ=FF,RaZMemPtr � > neZ_from_buf $pacNedOenJtK $pacNed  1 2 m\$foo=FF,RaZ � >neZ 3 $sKared test_struct  4 FF,RaZuLnt 5 FF,RaZptr 6   /. m\$vaO=$foo � > $arJ #ƹǘǕǝǡNJǏǖ ǛǜǚǝǔǜǝǚǝǒǑRustǔǘǎNJ // sa\"resuOt>$vaO]" δϑϒϞϩϙϨϠϜύϗϛϏϨϏύϒϙϑύϚϚϨϒϑϘϬϞϟϝϠϗ ϟϠϝϨ&ϑϏύϤϕϞϘύJOr10 ϔύϟϒϙϞϛϔϑύϒϙϕϔ ϚϕϢϛώϧϒϗϟ FF,RaZMemPtr ϗϛϟϛϝϨϖ ϏϨϑϒϘϬϒϟϛώϘύϞϟϩϜύϙϬϟϕϕϠϗϘύϑϨϏύϒϟ ϟϠϑύϠϜύϗϛϏύϚϚϠϫϞϟϠϗϟϠϝϠδύϟϒϙϙϨ ϜϝϕϏϬϔϨϏύϒϙϞϬϗϡϠϚϗϣϕϕ test_struct ϕϔϚύϥϒϖώϕώϘϕϛϟϒϗϕϕϐϛϏϛϝϕϙ ϤϟϛώϠϑϒϙ ϜϒϝϒϑύϏύϟϩϏϚϒϒϠϗύϔύϟϒϘϩ ξϛώϒϝϒϙϕϔύϜϠϞϟϕϙ / aOpKa6$carJobuLOd �� reOease 0 aOpKa6$perO./maLn.pO 1 ArJs42 � 21 2 resuOt>42] μϛϔϑϝύϏϘϬϫ ϙϨϟϛϘϩϗϛϤϟϛϜϒϝϒϑύϘϕϞϟϝϠϗ ϟϠϝϠϑύϚϚϨϢϏϚύϥϠώϕώϘϕϛϟϒϗϠϚύ Rust  μϛϜϝϛώϠϒϙϟϒϜϒϝϩϞϑϒϘύϟϩϞϪϟϛϖϞϟϝϠϗϟϠ ϝϛϖϤϟϛϟϛώϛϘϒϒϛϞϙϨϞϘϒϚϚϛϒ ξϛϔϑύϑϕϙϞϤϒϟϤϕϗ&ϑϒϖϞϟϏϕϒϚϒϛϞϛώϛ ϛϞϙϨϞϘϒϚϚϛϒ ϔύϟϛϜϛϗύϔϨϏύϒϟϗύϗϞϪϟϕϙ ϏϞϒϙϝύώϛϟύϟϩ μϝϕϏϒϑϒϙϚύϥ OLb.rs ϗ ϏϕϑϠ / #!>aOOoZ non_snaNe_case ] 0 usestdmemtransmute 1 2 pubstructArJs^ 3 LnLtu32 4 b\u32 5 } 6  pubstructCounter^ /. vaOu32 // b\u32 /0 } /1 /2 LmpOCounter^ /3 pubfnneZ arJs&ArJs � > Counter^ /4 Counter^ /5 vaOarJs.LnLt /6 b\arJs.b\ / } 0. } 0/ 00 pubfnJet &seOf � >u32^ 01 seOf.vaO 02 } 03 04 pubfnLncr &mutseOf � >u32 ^ 05 seOf.vaO=seOf.b\ 06 seOf.vaO 0 } 1. 1/ pubfndecr &mutseOf � >u32 ^ 10 seOf.vaO � =seOf.b\ 11 seOf.vaO 12 } 13 } 14 15 #>no_manJOe] 16 pube[ternfncreateCounter arJs &ArJs � > mutCounter^ 1 Oet_counter=unsafe^ transmute Bo[neZ Counter neZ arJs } 2. _counter 2/ } 20 21 #>no_manJOe] 22 pube[ternfnJetCounterVaOue ptr  mutCounter � >u32^ 23 Oetmut_counter=unsafe^& mut ptr} 24 OetvaO=_counter.Jet  25 returnvaO 26 } 2 3. #>no_manJOe] 3/ pube[ternfnLncrementCounterB\ ptr mutCounter � >u32^ 30 Oetmut_counter=unsafe^& mut ptr} 31 _counter.Lncr 32 } 33 34 #>no_manJOe] 35 pube[ternfndecrementCounterB\ ptr mutCounter � >u32^ 36 Oetmut_counter=unsafe^& mut ptr} 3 _counter.decr 4. } 4/ 40 #>no_manJOe] 41 pube[ternfndestro\Counter ptr mutCounter ^ 42 Oet_counterBo[Counter>= unsafe^transmute ptr } 43 //Drop 44 } ϊϟϛϟϗϛϑϬϤϒϞϟϚϛϠϟύϦϕϘ ϛϟϞϫϑύ ϜϝύϏϑύ ϛϚϚϒϔύϝύώϛϟύϘϚύϚϛϏϛϖϏϒϝϞϕϕϗϛϙϜϕϘϬ ϟϛϝύ ϑύϕϞ FF,RaZ ϠϚϒϐϛϟϛϓϒϘϫώϛϏϩ ϚϒϞϘϛϓϕϘύϞϩ ϜϝϕϥϘϛϞϩϒϐϛϚϒϙϚϛϐϛϜϛ ϜϝύϏϕϟϩκϛϚϕϤϒϐϛ Ϛύϙ ϜϛϘϩϔϛϏύϟϒϘϬϙ MoMoOLcLous ϚϒϜϝϕϏϨϗύϟϩ τϟϛϔϑϒϞϩϜϝϛϕϞϢϛϑϕϟ=ξϚύϤύϘύϞϛϔϑύϫϟϞϬ ϑϏϒϞϟϝϠϗϟϠϝϨϑύϚϚϨϢ ArJs ϕ Counter ί ϣϒϘϛϙϛϚϕϛϑϕϚύϗϛϏϨϒ ϚϛϑϘϬ Counter ϙϨ ϞϛϔϑύϒϙϝϒύϘϕϔύϣϕϫ ϗϛϟϛϝύϬϑϛώύϏϘϬϒϟϚύ ώϛϝϙϒϟϛϑϛϏϗϚύϥϒϖϞϟϝϠϗϟϠϝϒ δύϟϒϙϙϨϛώϧϬϏϘϬϒϙϜϠώϘϕϤϚϠϫϡϠϚϗϣϕϫ createCounter ϗϛϟϛϝύϬϚύϏϢϛϑϜϝϕϚϕ ϙύϒϟϠϗύϔύϟϒϘϩϚύϞϟϝϠϗϟϠϝϠϑύϚϚϨϢ ArJs  εϔϪϟϛϖϞϟϝϠϗϟϠϝϨϙϨϞϛϔϑύϒϙϛώϧϒϗϟ Counter ϗϛϟϛϝϨϖϠϜύϗϛϏϨϏύϒϙϏϗϛϚϟϒϖ Ϛϒϝ Bo[neZ ϗϛϟϛϝϨϖώϠϑϒϟϑϛϞϟϠϜϒϚ ϤϒϝϒϔϠϗύϔύϟϒϘϩνύώϛϟύϞ transmute ϑϒϘϛ ϛϜύϞϚϛϒ ϜϛϪϟϛϙϠϙϨϛώϛϝύϤϕϏύϒϙϞϛϔϑύ ϚϕϒϗϛϚϟϒϖϚϒϝύϏ unsafe ϕϪϟϕϙϞύϙϨϙ ϙϨϐϛϏϛϝϕϙϗϛϙϜϕϘϬϟϛϝϠ ϤϟϛϙϨϞύϙϕ ϜϛϔύώϛϟϕϙϞϬϛϜϝϛϏϒϝϗϒϚύώϒϔϛϜύϞϚϛϞϟϩ ϏϞϒϖϪϟϛϖϗϛϚϞϟϝϠϗϣϕϕ&ϤϒϐϛϙϨϚϒϑϒϘύϒϙ ϏϑύϚϚϛϙϞϘϠϤύϒ  μϛϞϘϒϞϛϔϑύϚϕϬϗϛϚϟϒϖϚϒϝύϙϨϏϛϔϏϝύϦύ ϒϙϕϔϡϠϚϗϣϕϕϕϔϙϒϚϬϒϙϨϖϠϗύϔύϟϒϘϩ Ϟϗϛ ϟϛϝϨϙϕώϠϑϒϙϑύϘϩϥϒϝύώϛϟύϟϩϏϒϔϑϒ οϒϜϒϝϩϞϛϔϑύϑϕϙϡύϖϘ counter.pO ϗϛ ϟϛϝϨϖώϠϑϒϟϕϞϜϛϘϩϔϛϏύϟϩϚύϥϠϚϛϏϠϫ ώϕώϘϕϛϟϒϗϠ / #!/usr/bLn/envperO 0 1 usev5.16 2 useFF,RaZ 3 4 m\$sKared= tarJet/reOease/ OLbembed.d\OLb  5 6 m\$pacNed=pacN // 4221   m\$arJ=FF,RaZMemPtr � > neZ_from_buf $pacNedOenJtK $pacNed  /. // m\$createCounter=FF,RaZ � >neZ /0 $sKared createCounter  /1 FF,RaZptrFF,RaZptr /2  /3 /4 m\$JetCounterVaOue=FF,RaZ � > neZ /5 $sKared JetCounterVaOue  /6 FF,RaZuLntFF,RaZptr /  0. 0/ m\$LncrementCounterB\=FF,RaZ � >neZ 00 $sKared LncrementCounterB\  01 FF,RaZuLntFF,RaZptr 02  03 04 m\$ptr=$createCounter � > $arJ  05 06 m\$vaO=$JetCounterVaOue � > $ptr  0 sa\"CurrentvaOue>$vaO]" 1. 1/ m\$nvaO=$LncrementCounterB\ � > $ptr  10 sa\"NeZvaOue>$nvaO]" δϑϒϞϩϙϨϞϚύϤύϘύϜϝϕϏϬϔϨϏύϒϙϞϬϗϡϠϚϗ ϣϕϕ createCounter ϕϐϛϏϛϝϕϙ ϤϟϛώϠϑϒϙ ϜϒϝϒϑύϏύϟϩϠϗύϔύϟϒϘϩϕϓϑϒϙϚύϏϨϢϛϑϒ ϠϗύϔύϟϒϘϩδύϟϒϙϜϝϕϏϬϔϨϏύϒϙϞϬϗϡϠϚϗ ϣϕϕ JetCounterVaOue ϕϐϛϏϛϝϕϙ Ϥϟϛ ϜϒϝϒϑύϒϙϒϖϠϗύϔύϟϒϘϩϕϓϑϒϙsOqJeOcbJOr αϘϬϏϞϒϢϛϞϟύϘϩϚϨϢϡϠϚϗϣϕϖϑϛϘϓϚϨώϨϟϩ ϞϛϔϑύϚϨύϚύϘϛϐϕϤϚϨϒϔύϜϕϞϕ ϔϑϒϞϩϬϕϢ ϛϜϕϞϨϏύϟϩϚϒϞϟύϘ αύϘϩϥϒϙϨϏϨϔϨϏύϒϙ createCounter ϗϛϟϛϝϛϙϠϜϒϝϒϑύϒϙϞϛώϝύϚϚϠϫϝϠϗύϙϕ ϞϟϝϠϗϟϠϝϠ ArJs ϕϜϛϘϠϤύϒϙϛώϝύϟϚϛϠϗύϔύ ϟϒϘϩϚύϗϛϚϟϒϖϚϒϝϞϛϞϤϒϟϤϕϗϛϙαύϘϩϥϒ ϙϨϕϞϜϛϘϩϔϠϒϙϪϟϛϟϠϗύϔύϟϒϘϩϑϘϬϕϔϙϒϚϒ ϚϕϬϔϚύϤϒϚϕϖϞϤϒϟϤϕϗύ ξϛώϒϝϒϙϪϟϛϏϞϒϑϒϘϛϕϔύϜϠϞϟϕϙ / aOpKa6$carJobuLOd �� reOease 0 aOpKa6$perO./maLn.pO 1 CurrentvaOue>42] 2 NeZvaOue>63] ίϏϨϏϛϑϒϏϕϑϚϛ ϤϟϛϙϨϜϛϘϠϤϕϘϕϟϒϗϠϦϒϒ ϔϚύϤϒϚϕϒϞϤϒϟϤϕϗύϜϛϞϘϒϞϛϔϑύϚϕϬ ύϜϛϟϛϙ ϕϔϙϒϚϕϘϕϒϐϛϔϚύϤϒϚϕϒ οϒϜϒϝϩϙϨϠϙϒϒϙϜϛϘϠϤύϟϩϞϟϝϠϗϟϝϠϕϔ Rust ϕϜϒϝϒϑύϏύϟϩϒϒϛώϝύϟϚϛϏώϕώϘϕϛϟϒ ϗϠλϑϚύϗϛϒϞϟϩϜϝϛώϘϒϙύۘϒϞϘϕϙϨϢϛϟϕϙ ϕϞϜϛϘϩϔϛϏύϟϩϪϟϠϞϟϝϠϗϟϠϝϠϏϚϠϟϝϕ PerO ϗϛϑύ ϟϛϚύϞϓϑϒϟϚϒώϛϘϩϥϛϒϝύϔϛϤύϝϛϏύ ϚϕϒπϙϒϚϬϟύϗϕϚϒϜϛϘϠϤϕϘϛϞϩϜϝϕϏϒϞϟϕ ϟϛ ϤϟϛϏϛϔϏϝύϦύϒϟ Rust ϏϛϤϟϛϟϛϜϝϕ ϐϛϑϚϛϒϑϘϬϕϞϜϛϘϩϔϛϏύϚϕϬϏ PerO βϞϘϕ ϗϟϛϟϛϔϚύϒϟ ϗύϗϪϟϛϞϑϒϘύϟϩ ۘϚύϜϕϥϕϟϒ ϏϗϛϙϙϒϚϟύϝϕϬϢ ύ= κϛϞϟϝϠϗϟϠϝϨϟϛϜϛϘϠϤύϟϩϢϛϤϒϟϞϬ!τϟϛϓ ϜϝϕϥϘϛϏϝϒϙϬϑϛώύϏϕϟϩϒϦϒϛϑϕϚϞϘϛϖύώ ϞϟϝύϗϣϕϕۘϕϞϜϛϘϩϔϠϒϙ DD*NM_rZnsq ϏϙϒϞϟϛ FF,RaZ  FF,POat\pus ϬϏϘϬϒϟϞϬϚύϙϚϛϐϛώϛϘϒϒϞϠ ϝϛϏϨϙϕϚϞϟϝϠϙϒϚϟϛϙϕϜϝϒϑϛϞϟύϏϘϬϒϟϗϠϤϠ ϛϜϣϕϖ ϜϛϔϏϛϘϬϬϚϒϔύϙϛϝύϤϕϏύϟϩϞϬϞϚϕϔ ϗϛϠϝϛϏϚϒϏϛϖϝύώϛϟϛϖϞϑύϚϚϨϙϕϏϛϟϘϕϤϕϒ ϛϟ FF,RaZ  μϝϛϏϒϝϕϙ ϤϟϛϠϚύϞϏϞϒϝύώϛϟύϒϟϗύϗ ϚύϑϛπϞϟύϚϛϏϕϙ FF,POat\pus ϕ FF, POat\pus/anJRust ϪϟϛϟϙϛϑϠϘϩ ϜϛϔϏϛϘϬϒϟϕϞϜϛϘϩϔϛϏύϟϩϜϝϕϛώϧϬϏϘϒϚϕϬϢ ϞϟϝϠϗϟϠϝϕϡϠϚϗϣϕϖϞϟϝϠϗϟϠϝϨϕϔ Rust ύ ϚϒϔύϜϛϙϕϚύϟϩϙύϜϜϕϚϐϙϒϓϑϠ Rust ϕ C  εϔϙϒϚϕϙ OLb.rs ϕϞϛϔϑύϑϕϙϡύϖϘ pOat. pO ϞϞϛϑϒϝϓϕϙϨϙ ϠϗύϔύϚϚϨϙϚϕϓϒ src/OLb.rs  / #>no_manJOe] 0 pube[ternfnKeOOo_pOat arJu32 ^ 1 prLntOn! "+eOOoP/^}"arJ  2 } pOat.pO  / #!/usr/bLn/envperO 0 usev5.16 1 useFF,POat\pus 2 3 m\$sKared= tarJet/reOease/ OLbembed.d\OLb  4 5 m\$ffL=FF,POat\pus � >neZ  6  $ffL � >OLb $sKared  /. $ffL � >OanJ Rust  // $ffL � >attacK KeOOo_pOat=>> u32 ]=> voLd  /0 KeOOo_pOat 1  δϑϒϞϩϙϨϞϛϔϑύϒϙϛώϧϒϗϟ FF,POat\pus ϕϠϗύϔϨϏύϒϙϒϙϠϜϠϟϩϗώϕώϘϕϛϟϒϗϒۘ $ffL � >OLb $sKared ϔύϟϒϙϠϗύϔϨϏύϒϙ ϗύϗϛϖϬϔϨϗϙϨϢϛϟϕϙϕϞϜϛϘϩϔϛϏύϟϩ $ffL � >OanJ Rust μϛϞϘϒϪϟϛϐϛϠϗύϔύϚϕϬ DD*ϞύϙϜϛϑϐϝϠϔϕϟϙϛϑϠϘϩ FF,PaOt\pus /anJ/anJName> ϕϙϛϓϚϛώϠϑϒϟ ϕϞϜϛϘϩϔϛϏύϟϩϡϕϤϕϑϘϬϗϛϚϗϝϒϟϚϛϐϛϬϔϨϗύ &ϞϛϛϟϏϒϟϞϟϏϠϫϦϕϖϙϛϑϠϘϩϑϛϘϓϒϚώϨϟϩ ϜϝϒϑϏύϝϕϟϒϘϩϚϛϠϞϟύϚϛϏϘϒϚ  αύϘϒϒϙϨϑϛώύϏϘϬϒϙϡϠϚϗϣϕϫϕϔώϕώϘϕϛ ϟϒϗϕϏϜϒϝϘϛϏϨϖϗϛϑ ϗϛϚϞϟϝϠϗϣϕϬ $ffL � >attacK ϞϛϔϑύϒϟϡϠϚϗϣϕϫϞϠϗύϔύϚϚϨϙ ϕϙϒϚϒϙ ϗϛϟϛϝύϬϟϝύϚϞϘϕϝϠϒϟϑύϚϚϨϒϏ/ϕϔ ϞϛϛϟϏϒϟϞϟϠϫϦϠϫώϕώϘϕϛϟϒϤϚϠϫϡϠϚϗϣϕϫ ρϠϚϗϣϕϬϞϛϔϑύϒϟϞϬϏϜϝϛϞϟϝύϚϞϟϏϒϕϙϒϚ ϙϛϑϠϘϬ ϟύϗϤϟϛϚύϑϛϞϘϒϑϕϟϩ ϤϟϛώϨϚϒ ώϨϘϛϜϒϝϒϗϝϨϟϕϬϡϠϚϗϣϕϖϕϔώϕώϘϕϛϟϒϗϕ ϕϟϒϗϠϦϒϐϛϜύϗϒϟύ ξϛώϕϝύϒϙ ϔύϜϠϞϗύϒϙ / aOpKa6$carJobuLOd �� reOease 0 aOpKa6$perO./pOat.pO 1 +eOOoP/1 ίϞϒϝύώϛϟύϒϟϗύϗϕϔύϑϠϙύϚϛ κύϞϟύϘϛϏϝϒϙϬϜϛϘϠϤϕϟϩϓϒϘύϚϚϠϫϞϟϝϠϗ ϟϠϝϠϕϔϚύϥϒϖώϕώϘϕϛϟϒϗϕ ίϛϤϒϝϒϑϚϛϖϝύϔϜϒϝϒϑϒϘύϒϙϚύϥ src/OLb .rs  / usestdmemtransmute 0 1 pubstructArJs^ 2 LnLtu32 3 b\u32 4 descrStrLnJ 5 } 6  LmpOArJs^ /. pubfnneZ LnLtu32b\ u32descrStrLnJ � > ArJs^ // ArJs^ /0 LnLtLnLt /1 b\b\ /2 descrdescr /3 } /4 } /5 } /6 / #>no_manJOe] 0. pube[ternfnJet_struct � > mutArJs^ 0/ Oetm\_struct=unsafe^ transmute Bo[neZ ArJs neZ 421"KLfromRust!" .to_strLnJ } 00 m\_struct 01 } δϑϒϞϩϙϨϑϛώύϏϘϬϒϙϗϚύϥϒϖϞϟύϝϛϖϑϛώϝϛϖ ArJs ϒϦϒϛϑϚϛϜϛϘϒϞϟϕϜϛϙ StrLnJ Ϗϗϛ ϟϛϝϛϒϙϨώϠϑϒϟϔύϜϕϞϨϏύϟϩϞϟϝϛϗϠ δύϟϒϙϙϨϞϛϔϑύϑϕϙϕϙϜϘϒϙϒϚϟύϣϕϫ ϑϘϬώϛϘϒϒϗύϚϛϚϕϤϚϛϐϛϞϛϔϑύϚϕϬϚύϥϒϖ ϞϟϝϠϗϟϠϝϨ&ώϒϔϪϟϛϐϛϙϛϓϚϛϛώϛϖϟϕϞϩ Ϛϛ ϚϒϜϝύϏϕϘϩϚϛϪϟϛϗύϗϟϛ ξϛϔϑύϑϕϙϙϒϟϛϑ neZ ϚύϏϢϛϑϗϛϟϛϝϛϐϛώϠϑϒϙϜϒϝϒϑύϏύϟϩ ϑϏύϤϕϞϘύϕϞϟϝϛϗϠκϠύϑύϘϩϥϒϏϡϠϚϗ ϣϕϕϜϝϛϞϟϛϞϛϔϑύϑϕϙϠϗύϔύϟϒϘϩϚύϚύϥϠ ϞϟϝϠϗϟϠϝϠϕϏϒϝϚϒϙϒϐϛϜϒϝϘϛϏϛϙϠϗϛϑϠ λώϝύϟϕϟϒϏϚϕϙύϚϕϒ ϗύϗϞϛϔϑύϒϟϞϬϛώϧϒϗϟ StrLnJ Ϗ Rust ϒϞϟϩϑϏύϟϕϜύϞϟϝϛϗۘ str ϕ StrLnJ ίϤϒϙϓϒϛϟϘϕϤϕϬϙϒϓϑϠ str ϕ StrLnJ = str ϪϟϛϟύϗϚύϔϨϏύϒϙϨϖϞϟϝϛϗϛ ϏϨϖϞϝϒϔλϚϕϙϒϒϟϡϕϗϞϕϝϛϏύϚϚϠϫϑϘϕϚϠ ϕϚϒϕϔϙϒϚϬϒϙ ϜϛϪϟϛϙϠϙϨϚϒϙϛϓϒϙϕϞ ϜϛϘϩϔϛϏύϟϩϕϢϏϞϟϝϠϗϟϠϝϒ&ϚύϞύϙϛϙϑϒϘϒ ϙϛϓϒϙ ϚϛϞϚϒϗϛϟϛϝϨϙϕϔύϟϒϖϘϕϏϨϙϕϟϒ ϘϛϑϏϕϓϒϚϕϬϙϕ οϕϜ StrLnJ ϜϝϒϑϞϟύϏϘϬϒϟ ϞϛώϛϖϞϟϝϛϗϠ ϝύϔϙϒϦύϒϙϠϫϏϗϠϤϒϕϐύ ϝύϚϟϕϝϛϏύϚϚϛϬϏϘϫϦϠϫϞϬSRD6Ϟϟϝϛϗϛϖ λώϨϤϚϛ StrLnJ ϜϛϘϠϤύϒϟϞϬϕϔ str ϜϠϟϒϙ ϜϝϒϛώϝύϔϛϏύϚϕϬϤϒϝϒϔ .to_strLnJ  λώϝύϟϚϛϒϜϝϒϛώϝύϔϛϏύϚϕϒϛϞϠϦϒϞϟϏϘϬϒϟϞϬ Ϥϒϝϒϔ & ۘ str=&StrLnJ  ήϛϘϒϒϜϛϑϝϛώϚϛϛώϪϟϛϙϙϛϓϚϛϜϛϤϕϟύϟϩϏ ϑϛϗϠϙϒϚϟύϣϕϕ  οϒϜϒϝϩϜϛϘϠϤϕϙϑύϚϚϨϒϕϔ Rust  / usev5.16 0 pacNaJeM\RustStr 1 2 useFF,POat\pusRecord 3 4 #ƸǙǒǛǥnjNJǏǖǛǜǚǝǔǜǝǚǝǎNJǗǗǥǟ ǔǘǜǘǚǝǨǖǥǐǎǏǖǒǑNjǒNjǕǒǘǜǏǔǒ 5 record_Oa\out qZ 6 uLntrs_counter  uLntrs_b\ /. strLnJrs_descr //  /0 /1 m\$sKared= tarJet/reOease/ OLbembed.d\OLb  /2 /3 m\$ffL=FF,POat\pus � >neZ /4 $ffL � >OLb $sKared  /5 $ffL � >OanJ Rust  /6 / #ƻnjǩǑǥnjNJǏǖǛǜǚǝǔǜǝǚǝǛǗNJǢǒǖ ǙNJǔǏǜǘǖM\RustStrǒ ǙǚǒǛnjNJǒnjNJǏǖǏǓNJǕǒNJǛrstruct 0. $ffL � >t\pe "record M\RustStr " => rstruct  0/ 00 #ƪǜǜNJǡǒǖNjǒNjǕǒǘǜǏǡǗǝǨǞǝǗǔǠǒǨ Jet_structnjǗNJǢǙNJǔǏǜ 01 #ǒǝǔNJǑǥnjNJǏǖǡǜǘǐǎǏǖǘǜǗǏǏ ǘNjǤǩnjǕǏǗǗǝǨnjǥǢǏǛǜǚǝǔǜǝǚǝ 02 $ffL � >attacK Jet_struct=>>]=> rstruct sub^ 03 m\ $Lnner$cOass [email protected]_ 04 $Lnner � >  05 }  06 0 pacNaJemaLn 1. 1/ #ƲǛǙǘǕǦǑǝǏǖǗNJǢǙNJǔǏǜM\ RustStrǎǕǩǚNJNjǘǜǥǛ NjǒNjǕǒǘǜǏǔǘǓ 10 m\$str=M\RustStr � >Jet_struct  11 12 prLntf"StructLs>%d]>%d]>%s]?n"  13 $str � >rs_counter 14 $str � >rs_b\ 15 $str � >rs_descr ξϚύϤύϘύϙϨϛώϧϬϏϘϬϒϙϜύϗϒϟ M\RustStr ϏϗϛϟϛϝϛϙϛϜϕϞϨϏύϒϙϞϟϝϠϗϟϠϝϠϑύϚϚϨϢ ϗϛϟϛϝϠϫϙϨϢϛϟϕϙϛϟϚύϥϒϖώϕώϘϕϛϟϒϗϕ εϔϔύϛϞϛώϒϚϚϛϞϟϒϖϙϛϑϠϘϬ FF, ϔύϜϕϞϩ record_Oa\out ϙϛϓϒϟώϨϟϩϟϛϘϩϗϛϛϑϚύ ϚύϜύϗϒϟ&ϚύϞύϙϛϙϑϒϘϒϚϒϟ ϚϛϘϠϤϥϒϟύϗ ϚϒϑϒϘύϟϩ ϜϛϪϟϛϙϠϙϨϏϨϑϒϘϬϒϙϚύϥϠ ϡϠϚϗϣϕϫϏϛϟϑϒϘϩϚϨϖϜύϗϒϟ δύϟϒϙϙϨϞϛϔϑύϒϙϚϛϏϨϖϟϕϜϑύϚϚϨϢϏϜύ ϗϒϟϒ M\RustStr $ffL � >t\pe "record M\RustStr "=> rstruct  ϕϚύϔϨ Ϗύϒϙϒϐϛ rstruct  αύϘϒϒϙϨ ϗύϗϛώϨϤϚϛ ϞϛϔϑύϒϙώϕϚϑϕϚϐ ϑϛώϕώϘϕϛϟϒϗϕϕϪϞϜϛϝϟϕϝϠϒϙϒϒϏϜϝϛ ϞϟϝύϚϞϟϏϛϕϙϒϚϜύϗϒϟύ M\RustStr  λώϝύϟϕϟϒϏϚϕϙύϚϕϒϚύ $ffL � >attacK Jet_struct=>>]=> rstruct  sub^ ϔϑϒϞϩϏϗύϤϒϞϟϏϒϏϛϔϏϝύϦύϒϙϛϐϛ ϔϚύϤϒϚϕϬϡϠϚϗϣϕϕϙϨϠϗύϔϨϏύϒϙ Ϥϟϛ ϢϛϟϕϙϜϛϘϠϤϕϟϩϚύϥϠϞϟϝϠϗϟϠϝϠ rstruct  ούϗϓϒϙϨϠϗύϔϨϏύϒϙϗύϞϟϛϙϚϠϫϡϠϚϗϣϕϫ ϛώϝύώϛϟϤϕϗ ϜϒϝϒϑύϏύϬambcpcdϜϛϞϘϒϑϚϕϙ ύϝϐϠϙϒϚϟϛϙίϑύϚϚϛϙϞϘϠϤύϒϛϚϚϒϑϒ ϘύϒϟϚϕϤϒϐϛϗϝϛϙϒϏϨϔϛϏύώϕώϘϕϛϟϒϤϚϛϖ ϡϠϚϗϣϕϕ ϚϛϟϠϑύϙϛϓϚϛϑϛώύϏϕϟϩϗύϗϠϫ ϟϛϑϛϜϛϘϚϕϟϒϘϩϚϠϫϛώϝύώϛϟϗϠϑϛ/ϜϛϞϘϒ ϏϨϔϛϏύϏϚϒϥϚϒϖώϕώϘϕϟϒϗϕ δύϟϒϙϙϨϜϝϛϞϟϛϝύϞϜϒϤύϟϨϏύϒϙϞϛϑϒϝϓϕ ϙϛϒϚύϥϒϖϞϟϝϠϗϟϠϝϨ οϒϜϒϝϩϙϨϟύϗϓϒϙϛϓϒϙϜϒϝϒϑύϟϩϞϟϝϠϗϟϠ ϝϠϏϚύϥϠώϕώϘϕϛϟϒϗϠώϒϔϥύϙύϚϞϟϏύϞn_aL ϕϠϗύϔύϟϒϘϬϙϕεϔϙϒϚϕϙϚύϥϜϒϝϘϛϏϨϖ ϗϛϑϝύώϛϟϨϞϛϞϤϒϟϤϕϗϛϙ / usev5.16 0 1 pacNaJeM\Counter 2 3 useFF,POat\pusRecord 4 5 record_Oa\out qZ 6 uLntrs_counter  uLntrs_b\ /.  // /0 pacNaJemaLn /1 /2 m\$sKared= tarJet/reOease/ OLbembed.d\OLb  /3 /4 m\$ffL=FF,POat\pus � >neZ /5 $ffL � >OLb $sKared  /6 $ffL � >OanJ Rust  / 0. #ƻǘǑǎNJǏǖǗǘnjǝǨǛǜǚǝǔǜǝǚǝǎNJǗǗǥǟ ǛǒǖǏǗǏǖCounterStr 0/ $ffL � >t\pe record M\Counter => CounterStr  00 01 #ƪǜǜNJǡǒǖǞǝǗǔǠǒǒǒǑNjǒNjǕǒǘǜǏǔǒ 02 $ffL � >attacK createCounter=>> CounterStr ]=> opaque  03 $ffL � >attacK JetCounterVaOue=>> opaque ]=> u32  04 $ffL � >attacK LncrementCounterB\ =>> opaque ]=> u32  05 06 #ƻǘǑǎNJǏǖǛǜǚǝǔǜǝǚǝǒǑǔǘǜǘǚǘǓ ǖǥǛǘǑǎNJǎǒǖǛǡǏǜǡǒǔ 0 m\$counter=M\Counter � >neZ 1. rs_counter=>10 1/ rs_b\=>2 10  11 12 #ƻǘǑǎNJǏǖǘNjǤǏǔǜǛǡǏǜǡǒǔNJǒ ǒǛǙǘǕǦǑǝǏǖǏǍǘǎǕǩǚNJNjǘǜǥ 13 m\$ptr=createCounter $counter  14 sa\JetCounterVaOue $ptr  15 sa\LncrementCounterB\ $ptr  δϑϒϞϩϙϨϕϞϜϛϘϩϔϠϒϙ opaque ϏϗύϤϒ ϞϟϏϒϏϛϔϏϝύϦύϒϙϛϐϛϔϚύϤϒϚϕϬϡϠϚϗϣϕϕ createCounter ϟύϗϗύϗϚύϙϚϠϓϒϚϞϨ ϝϛϖϠϗύϔύϟϒϘϩϑϘϬϝύώϛϟϨϞϛϞϟύϘϩϚϨϙϕ ϜϛϑϗϘϫϤϒϚϚϨϙϕϡϠϚϗϣϕϬϙϕκϛϜϝϕϓϒ ϘύϚϕϕϪϟϛϟϠϗύϔύϟϒϘϩϙϛϓϚϛϜϝϒϏϝύϟϕϟϩ ϏϞϟϝϠϗϟϠϝϠϚϠϓϚϛϐϛϡϛϝϙύϟύϞϜϛϙϛϦϩϫ ϡϠϚϗϣϕϕ a_qr  ί Rust ϗϛϑϒϚϕϤϒϐϛϙϒϚϬϟϩϚϒϚύϑϛ δύϜϠϞϗύϒϙ / aOpKa6$perO./pOat.pO 0 10 1 12 εϟϛϐϛ ϙϨϞϛϔϑύϘϕϚϛϏϨϖϛώϧϒϗϟϞϤϒϟϤϕϗύ ϕϕϔϙϒϚϕϘϕϒϐϛ οϒϜϒϝϩϙϨϠϙϒϒϙϝύώϛϟύϟϩϞώϛϘϩϥϒϖ ϤύϞϟϩϫϞϘϠϤύϒϏ ϗϛϟϛϝϨϒϚύϙϙϛϐϠϟϜϝϕϐϛ ϑϕϟϩϞϬϜϝϕϕϞϜϛϘϩϔϛϏύϚϕϕϜϛϑϗϘϫϤύϒϙϨϢ ώϕώϘϕϛϟϒϗ&ϚϒϟϛϘϩϗϛϚύ Rust λϞϟύϘϛϞϩ ϚύϠϤϕϟϩϞϬϏϞϒϪϟϛύϏϟϛϙύϟϕϤϒϞϗϕϞϛώϕϝύϟϩ ϜϝϕϠϞϟύϚϛϏϗϒϜϒϝϘϛϏϛϐϛϙϛϑϠϘϬ αϘϬϪϟϛϐϛϚύϙϜϝϕϐϛϑϬϟϞϬ ModuOeBuLOd ϕ ModuOeBuLOdFF,Rust  μϝϕϏϒϑϒϙϞϟϝϠϗϟϠϝϠϜϝϛϒϗϟύϗϏϕϑϠ / BuLOd.P/ 0 ffL 1 OLb 2 pOat.pO ί OLb ϠϚύϞϘϒϓύϟ PerO ώϕώϘϕϛϟϒϗϕϚύϥϒϐϛ Ϝϝϛϒϗϟύ Ϗ ffL ۘ Rust ϕϞϢϛϑϚϕϗϕ BuLOd. P/ ϏϨϐϘϬϑϕϟϟύϗ / #!/usr/bLn/env/perO 0 1 usestrLct 2 useModuOeBuLOd 3 useModuOeBuLOdFF,Rust 4 5 m\$buLOd=ModuOeBuLOdFF, Rust � >neZ 6 moduOe_name => M\CounterRecord   dLst_abstract => FF, test  /. create_maNefLOe_pO=> tradLtLonaO  // dLst_autKor => DenLs FedoseevdenLs. [email protected]>  /0 create_readme => 0  /1 OLcense => perO  /2 confLJure_requLres=>^ /3 ModuOeBuLOd =>0.3 /4 FLOe:KLcK =>0 /5 ModuOeBuLOdFF, => 0.1 /6 } / buLOd_requLres=>^} 0. requLres =>^ 0/ perO => 5.016000  00 FF,POat\pus =>0 01 FF,POat\pus/anJ Rust =>0 02 03 } 04 recommends =>^} 05 recursLve_test_fLOes=>0 06 sLJn =>0 0 create_readme =>1 1. create_OLcense =>1 1/  10 11 $buLOd � >create_buLOd_scrLpt λώϝύϟϕϟϒϏϚϕϙύϚϕϒϚύϕϞϜϛϘϩϔϛϏύϚϕϒ ModuOeBuLOdFF,Rust ϏϙϒϞϟϛ ϛώϨϤϚϛϐϛ ModuOeBuLOd δύϜϠϞϗύϒϙ ϠϞϟύϚϛϏϗϠ ϜϛϑϐϛϟύϏϘϕϏύϒϙ BuLOd ϞϗϝϕϜϟ / aOpKa6$perO./BuLOd.P/ 0 Can tfLnddLstpacNaJesZLtKout aMAN,FESTfLOe 1 Run BuLOdmanLfest toJenerate one 2 3 :ARN,N*PossLbOemLssLnJor corrupt MAN,FEST fLOe. 4 NotKLnJtoenterfor provLdes fLeOdLnmetafLOe. 5 CreatedMneZ EOF  0 dLv> 1 pLd="a">Test/p> 2 pLd="b">123/p> 3 /dLv> 4 EOF 5 6 sa\$dom � >at #b � >te[t#123  /. $dom � >fLnd dLvp � >Oast � >append pLd="c">456/p>  // /0 sa\$dom � >at #c � >te[t#456 AnnpcN_pLnM AppremarNpO ۘϪϟϛϠϟϕϘϕϟύ ϜϛϔϏϛϘϬϫ ϦύϬϔύϜϠϞϟϕϟϩϘϛϗύϘϩϚϨϖϏϒώϞϒϝϏϒϝϚύϛϞ ϚϛϏϒ.mKmMJaJmsqϑϘϬϛϟϛώϝύϓϒϚϕϬϜϝϒϔϒϚϟύ ϣϕϖϚύϛϞϚϛϏϒ pcN_pL ίϗύϤϒϞϟϏϒϜύϝύϙϒϟ ϝύϠϗύϔϨϏύϒϟϞϬϜϠϟϩϗϡύϖϘϠϞϜϝϒϔϒϚϟύϣϕϕ Ϗϡϛϝϙύϟϒ._pLbmuO ϜϛϞϘϒϔύϜϠϞϗύϜϝϒϔϒϚ ϟύϣϕϬϙϛϓϒϟώϨϟϩϛϟϗϝϨϟύϏώϝύϠϔϒϝϒϜϛύϑ ϝϒϞϠMma_Mfmqr1... BctcMRpcn_OBcn_pqc DeveOTrepanDeparse ۘϪϟϛϜϘύϐϕϚ ϑϘϬϛϟϘύϑϤϕϗύ DeveOTrepan ϗϛϟϛϝϨϖ ϑϛώύϏϘϬϒϟϑϏϒϚϛϏϨϒϗϛϙύϚϑϨ bcn_pqc ϕ bct_M ηϛϙύϚϑύbcn_pqcϜϛϔϏϛϘϬϒϟϜϛϗύϔύϟϩ ϗύϗϛϖϗϛϑώϠϑϒϟϏϨϜϛϘϚϬϟϩϞϬϏϞϘϒϑϠϫϦϒϖ ϕϚϞϟϝϠϗϣϕϕ ϤϟϛώϨϏύϒϟϜϛϘϒϔϚϛ ϗϛϐϑύ ϛϟϘύϑϤϕϗϛϞϟύϚϛϏϕϘϞϬϚύϞϟϝϛϗϒ Ϗϗϛϟϛϝϛϖ ϚϒϞϗϛϘϩϗϛϛϜϒϝύϣϕϖϕϚϒϬϞϚϛϗύϗύϬϕϔϚϕϢ ώϠϑϒϟϏϨϜϛϘϚϬϟϩϞϬϚύϞϘϒϑϠϫϦϒϙϥύϐϒ / Lf Jrep^$_eq foo }@bar ^...} ϏϨϝύϓϒϚϕϒϏϚϠϟϝϕ Lf ϕϘϕϠϓϒώϘϛϗϗϛϑύ Jrep ϑϘϬϗύϗϛϐϛϟϛϟϒϗϠϦϒϐϛϔϚύϤϒϚϕϬ @bar =ηϛϙύϚϑύbcn_pqcϜϛϗύϓϒϟϗύϗύϬ ϕϙϒϚϚϛϛϜϒϝύϣϕϬώϠϑϒϟϏϨϜϛϘϚϬϟϩϞϬ ϞϘϒϑϠϫϦϒϖ / deparse 0 #codetoberunne[t... 1 $_ 2 #contaLnedLn... 3 $_eq foo ._JMB,*.*rcp_rmp ιϛϑϠϘϩ MaLOD.,M,terator ϜϛϔϏϛϘϬ ϒϟϛϝϐύϚϕϔϛϏύϟϩϜϝϛϏϒϝϗϠB,*.ϔύϜϕϞϒϖ ϏϜϛϤϟϛϏϨϢϞϛϛώϦϒϚϕϬϢϕϑϛώύϏϘϬϟϩ B,*.ϜϛϑϜϕϞϩϗϚϕϙλϞϚϛϏϚϛϒϛϟϘϕϤϕϒ ϛϟ MaLOD.,M ۘϪϟϛϏϛϔϙϛϓϚϛϞϟϩϛϝϐύ ϚϕϔϛϏύϟϩϚϒώϘϛϗϕϝϠϫϦϠϫϞϬϜϛϟϛϗϛϏϠϫ ϛώϝύώϛϟϗϠϜϕϞϒϙ SOJvNMcbec κϒϑύϏϚϛϜϛϬϏϕϏϥϕϖϞϬϏ[email protected]ϞϕϞϟϒϙ ϚϨϖϏϨϔϛϏ nMcbec&0 ϟϒϜϒϝϩϙϛϓϚϛϕϞϜϛϘϩ ϔϛϏύϟϩϏncpMϜϝϛϐϝύϙϙύϢ ϗϛϟϛϝϨϒώϠϑϠϟϝύ ώϛϟύϟϩϚύϪϟϛϖϜϘύϟϡϛϝϙϒ ϞϜϛϙϛϦϩϫϙϛ ϑϠϘϬ UnL[POedJe ιϛϑϠϘϩϜϛϔϏϛϘϬϒϟϚύ ϘϛϓϕϟϩϛϐϝύϚϕϤϒϚϕϬϚύϜϝϛϣϒϞϞ ϚύϜϝϕϙϒϝ ϔύϜϝϒϟϕϟϩϤϟϒϚϕϒϕϘϕϔύϜϕϞϩϡύϖϘϛϏ ϞϠϗύ ϔύϚϕϒϙϞϜϕϞϗύϡύϖϘϛϏϕϞϗϘϫϤϒϚϕϖ NcpM4Cvnmpr PerO6E[port ϝϒύϘϕϔϠϒϟNcpM4ϝϛϘϩ Lse[port ϑϘϬNcpM3ϙϛϑϠϘϒϖ ϜϛϔϏϛϘϬϬ ϕϔϬϦϚϛϪϗϞϜϛϝϟϕϝϛϏύϟϩϡϠϚϗϣϕϕϙϛϑϠϘϬ κύϜϝϕϙϒϝ ϞϝύϏϚϒϚϕϒϞCvnmprcp / pacNaJeM\ModuOe _ pacNaJeM\ModuOe 0 useE[porter _ usePerO6E[port 1 _ 2 [email protected];PORT=qZ foobar _ subfooLse[port MANDATOR<  3 _ sub bar Ls e[port  MANDATOR<  4 _ 5 [email protected];PORT_O.=qZ ba] _ subba]Lse[port DEFAU/T qu[  6 our%E;PORT_TA*S= _  qZ qu[=>>qZ ba] ] _ NePcJObcv εϚϑϒϗϞϨNmqrepcqoM ϑϛϘϓϚϨ ϜϒϝϕϛϑϕϤϒϞϗϕ ϜϒϝϒϞϛϔϑύϏύϟϩϞϬϑϘϬϑϛϞϟϕϓϒϚϕϬϛϜϟϕ ϙύϘϩϚϛϖϜϝϛϕϔϏϛϑϕϟϒϘϩϚϛϞϟϕκύϜϝϕϙϒϝ ϪϟϛϙϛϓϚϛϞϑϒϘύϟϩϞϜϛϙϛϦϩϫϗϛϙύϚϑϨ RE,NDE; ϚϛϏϪϟϛϙϞϘϠϤύϒϜϛϟϝϒώϠϒϟϞϬ ϪϗϞϗϘϫϔϕϏϚύϬώϘϛϗϕϝϛϏϗύϏϞϒϖϟύώϘϕϣϨ ιϛϑϠϘϩ PJReLnde[ ϏϨϜϛϘϚϬϒϟϞϛϔϑύϚϕϒ ϕϚϑϒϗϞύϞϜϛϙϛϦϩϫ CREATE,NDE; CONCURRENT/< ϗϛϟϛϝϨϖϙϛϓϒϟϏϨϜϛϘ ϚϬϟϩϞϬώϒϔώϘϛϗϕϝϛϏϗϕδύϟϒϙϛϚϚύϤϕϚύϒϟ ϟϝύϚϔύϗϣϕϫ ϏϗϛϟϛϝϛϖϠϑύϘϬϒϟϞϟύϝϨϖ ϕϚϑϒϗϞϕϜϒϝϒϕϙϒϚϛϏϨϏύϒϟϚϛϏϨϖούϗϕϙ ϛώϝύϔϛϙϑϛϞϟϕϐύϒϟϞϬϜϒϝϒϞϛϔϑύϚϕϒϕϚϑϒϗϞύ ώϒϔϑϘϕϟϒϘϩϚϛϖώϘϛϗϕϝϛϏϗϕ ОͼноͽлΜнныемоͿΎли Scpc_M 1./. ίϨϥϘϛϛώϚϛϏϘϒϚϕϒ&ϑϒ ϞϒϝϕύϘϕϔύϟϛϝύ SereaO ίϚϛϏϨϢϏϨϜϠϞϗύϢϕϞϜϝύϏϘϒϚϛ ϙϚϛϓϒϞϟϏϛώύϐϛϏ ϏϗϘϫϤύϬϚϒϞϗϛϘϩϗϛϞϘϠ ϤύϒϏϗϝύϢύϑϒϞϒϝϕύϘϕϔύϟϛϝύ ϗϛϟϛϝϨϒώϨϘϕ ϛώϚύϝϠϓϒϚϨϜϝϕϟϒϞϟϕϝϛϏύϚϕϒϞϜϛϙϛϦϩϫ ϡύϔϒϝύAD- +SM/T_MJb_rmp .41 ιϛϑϠϘϩ -SONVaOLdator ϜϛϔϏϛϘϬϒϟϜϝϛ ϏϛϑϕϟϩϜϝϛϏϒϝϗϠϑύϚϚϨϢϏϡϛϝϙύϟϒ+SM/ ϚύϞϛϛϟϏϒϟϞϟϏϕϒ+SM/ϞϢϒϙϒίϚϛϏϛϖϏϒϝ ϞϕϕϠϑύϘϒϚύϜϛϑϑϒϝϓϗύϕϞϜϛϘϩϔϛϏύϚϕϬ ϙϛϑϠϘϒϖ

Приложенные файлы

  • pdf 6992428
    Размер файла: 515 kB Загрузок: 0

Добавить комментарий