A dump of Grand_Master (#2693) @create #1359 named Grand_Master:Grand_Master,GrandMaster,G_M,GM,Dungeon_Master,Game_Master,Game-Master,DungeonMaster,8rb,8gms,Malarky,Malarkey,Bunkum,Malar,His_Eminem,Grhythm,Grhyme,Echelon ;;#2693.("last_read_pc_news") = 766030962 "#2693.("last_player_paged") => E_PERM (Permission denied) "#2693.("idle_watched") => E_PERM (Permission denied) "#2693.("crosspost_list") => E_PERM (Permission denied) ;;#2693.("spoof_attribution") = " --" "#2693.("idle_messages") => E_PERM (Permission denied) "#2693.("respond_to") => E_PERM (Permission denied) ;;#2693.("moved_by") = {} ;;#2693.("sessile") = 0 ;;#2693.("last_twitch") = 1110014107 ;;#2693.("idle_msg") = "'s controlling players might be active, even if His Eminence is not." ;;#2693.("page_notify") = {} ;;#2693.("eval_subs") = {{"gmorg", "#66878"}, {"hyper", "#49999"}, {"sfv", "set_feature_verbs"}} ;;#2693.("eval_ticks") = 4 ;;#2693.("eval_env") = "here=player.location;me=player;home=player.home;" ;;#2693.("banned") = {#5544, #51372} "#2693.("witnessing") => E_PERM (Permission denied) ;;#2693.("join_msg") = "Mystic energies open a path to %n." ;;#2693.("player_arrive_msg") = "teleports %n in." ;;#2693.("oplayer_port_msg") = "teleports %n out." ;;#2693.("self_arrive_msg") = "%n appears in a glow of eldritch light." ;;#2693.("oself_port_msg") = "%n disappears in a glow of eldritch light." ;;#2693.("self_port_msg") = "You arrive in a glow of eldritch light." ;;#2693.("rooms") = {{"Living", #17}, {"Dining", #28}, {"Library", #1670}, {"Pool", #1428}, {"OTS", #18448}, {"Secluded grove", #11675}, {"Kombat Arena", #54444}, {"Academy", #91}, {"Magic Department", #1401}, {"GM", #96189}, {"Transfer", #18448}, {"Auditorium", #2241}, {"Owner", #18448}, {"Estate", #9292}, {"Booth", #9292}, {"hospital", #195}, {"Makeshift", #27861}, {"Game", #96189}, {"Dark", #80523}} ;;#2693.("_mail_task") = 1773405828 "#2693.("messages_going") => E_PERM (Permission denied) ;;#2693.("mail_options") = {"sticky", {"@mail", "new"}} "#2693.("current_message") => E_PERM (Permission denied) "#2693.("messages") => E_PERM (Permission denied) ;;#2693.("features") = {#24300, #9111, #23824, #30203, #15870, #10392, #36284, #51994, #37404, #44604, #5011, #22822, #22023, #1669, #35353, #62821, #37377, #174, #21132, #10218, #88856, #66878, #48276, #65000, #34843, #38172, #55248, #54585, #54811, #41975, #98965, #60425, #306, #69060, #21412, #17311, #2677, #88113, #24262, #1090, #40842, #24874, #59623, #44688, #82128, #25552, #5077, #2223, #66666, #2470, #26787, #33500, #2534, #88922, #101529, #68433, #87735, #14141, #366, #112195, #6565, #700, #48256, #114642, #5490, #1283, #61041, #88622, #21590, #62557, #71286} "#2693.("previous_connection") => E_PERM (Permission denied) "#2693.("email_address") => E_PERM (Permission denied) ;;#2693.("last_disconnect_time") = 1137965669 ;;#2693.("help") = {#17233} ;;#2693.("linetask") = {0, 1066953853} ;;#2693.("linesleft") = -2 "#2693.("linebuffer") => E_PERM (Permission denied) ;;#2693.("owned_objects") = {#43, #45, #46, #69, #70, #74, #75, #76, #82, #83, #84, #85, #88, #89, #90, #91, #92, #93, #98, #105, #106, #107, #108, #109, #110, #111, #112, #113, #129, #146, #147, #148, #154, #155, #159, #161, #168, #175, #176, #177, #192, #193, #194, #198, #199, #200, #201, #202, #203, #220, #224, #225, #226, #227, #233, #243, #248, #258, #259, #261, #262, #263, #277, #283, #291, #292, #293, #294, #295, #296, #297, #298, #299, #300, #301, #302, #303, #304, #307, #328, #330, #331, #339, #340, #341, #342, #343, #344, #364, #370, #382, #406, #407, #418, #457, #472, #517, #529, #530, #531, #566, #577, #830, #944, #957, #979, #982, #983, #984, #986, #1131, #1138, #1140, #1151, #1204, #1247, #1265, #1371, #1387, #1390, #1394, #1397, #1454, #1512, #1587, #1610, #1660, #1760, #1774, #1804, #2015, #2058, #2078, #2138, #2157, #2209, #2231, #2241, #2242, #2243, #2388, #2451, #2521, #2565, #2616, #2657, #2693, #2731, #2763, #2802, #2803, #2895, #2968, #2971, #3018, #3089, #3221, #3235, #3236, #3237, #3259, #3288, #3345, #3358, #3451, #3537, #3548, #3622, #3734, #3741, #3782, #3787, #3791, #3916, #4004, #4038, #4039, #4044, #4052, #4091, #4144, #4145, #4318, #4320, #4350, #4489, #4515, #4631, #4649, #4728, #4878, #4893, #4894, #4895, #5011, #5048, #5056, #5285, #5430, #5481, #5506, #5779, #5781, #5784, #5830, #5967, #6162, #6175, #6176, #6178, #6232, #6249, #6275, #6357, #6368, #6451, #6499, #6512, #6531, #6564, #6665, #6749, #7016, #7096, #7127, #7144, #7210, #7252, #7326, #7342, #7384, #7439, #7468, #7565, #7607, #7680, #7689, #7750, #7790, #7805, #7849, #7873, #7949, #8048, #8078, #8108, #8169, #8323, #8355, #8384, #8506, #8552, #8751, #8816, #8833, #8844, #8909, #8932, #8983, #8986, #9031, #9040, #9064, #9080, #9092, #9097, #9130, #9324, #9338, #9350, #9355, #9356, #9357, #9358, #9551, #9655, #9667, #9742, #9828, #9869, #9876, #9903, #9926, #10103, #10161, #10173, #10330, #10543, #10555, #10590, #10618, #10807, #10887, #10898, #10902, #10923, #10967, #11013, #11156, #11281, #11286, #11332, #11390, #11401, #11532, #11561, #11573, #11636, #11776, #12151, #12163, #12210, #12289, #12424, #12477, #12538, #12565, #12758, #12778, #12893, #13007, #13011, #13091, #13252, #13268, #13399, #13433, #13502, #13940, #13944, #13947, #13950, #14035, #14281, #14579, #14643, #14795, #14925, #15191, #15517, #15623, #16001, #16045, #16049, #16070, #16131, #16177, #16322, #16403, #16672, #16735, #17076, #17078, #17142, #17149, #17233, #17251, #17311, #17620, #17709, #18244, #18659, #18671, #18688, #18754, #18806, #19050, #19051, #19148, #19184, #19226, #19230, #19231, #19235, #19243, #19316, #19343, #19804, #19835, #19856, #19988, #19989, #20253, #20523, #20769, #20779, #20847, #20864, #20865, #20868, #20875, #20936, #20943, #21134, #21259, #21336, #21543, #21564, #21835, #21867, #21893, #21996, #22023, #22272, #22276, #22517, #22572, #22707, #22763, #22841, #23270, #23662, #23825, #24128, #24130, #24275, #24330, #24345, #24346, #24507, #24620, #24769, #24840, #24979, #25257, #25664, #26184, #26269, #26738, #26994, #27411, #27441, #27734, #28038, #28065, #28617, #28961, #29022, #29404, #29441, #29454, #29862, #29901, #29919, #30279, #30293, #30386, #30459, #31277, #31489, #31690, #31791, #31931, #32034, #32039, #32310, #32602, #32755, #32761, #32762, #32771, #32773, #32774, #32775, #32776, #32778, #32779, #32780, #32781, #32783, #32854, #33376, #33402, #33514, #33584, #33887, #34302, #34390, #34523, #34595, #34688, #34977, #35371, #35454, #35881, #36301, #36302, #36455, #37142, #37195, #37198, #37216, #37347, #37646, #37658, #38098, #38427, #38579, #38584, #38715, #39001, #39025, #39284, #39604, #39924, #40305, #40308, #40336, #40357, #40448, #40553, #40722, #40790, #40972, #41096, #41153, #41175, #41289, #41833, #41849, #42349, #42517, #42764, #43337, #43431, #43482, #44020, #44094, #44370, #44591, #44604, #44938, #45276, #45309, #45809, #45865, #46054, #46377, #46616, #47311, #47326, #47568, #47795, #47817, #47855, #48046, #48060, #48400, #48507, #48794, #48923, #49436, #49444, #49518, #49887, #49937, #50023, #50100, #50181, #50329, #50648, #50746, #50840, #50892, #50965, #51009, #51123, #51172, #51275, #51620, #51638, #51677, #51744, #51775, #51818, #51988, #51994, #52130, #52177, #52310, #52374, #52377, #52437, #52535, #52610, #52611, #52728, #52766, #52772, #52999, #53156, #53172, #53375, #53517, #53826, #53978, #54015, #54026, #54064, #54071, #54211, #54417, #54481, #54518, #54620, #54696, #54711, #54769, #54898, #55012, #55068, #55147, #55164, #55191, #55200, #55357, #55481, #55763, #55824, #55891, #55937, #56084, #56269, #56343, #56377, #56519, #56639, #57116, #57124, #57444, #57478, #57735, #57870, #58135, #58137, #58286, #58290, #58302, #58410, #58411, #58456, #58764, #59247, #59253, #59472, #59643, #59821, #59933, #59937, #59956, #60016, #60226, #60332, #60484, #60590, #60614, #60721, #60727, #60746, #60793, #60852, #61041, #61107, #61229, #61532, #61605, #61608, #61688, #61774, #62033, #62036, #62082, #62129, #62807, #62888, #62976, #63206, #63435, #63560, #63731, #63769, #64134, #64213, #64275, #64372, #64423, #64833, #64887, #64915, #65042, #65060, #65063, #65369, #65586, #65756, #65870, #66136, #66228, #66229, #66624, #66791, #66878, #67302, #67379, #67393, #67433, #67546, #67571, #67652, #68157, #68745, #68814, #68846, #69060, #69062, #69207, #69302, #69416, #69585, #69804, #69882, #70205, #70336, #70510, #70513, #70577, #70640, #70665, #70680, #71119, #71182, #71231, #71253, #71258, #71490, #71689, #71785, #72092, #72201, #72236, #72269, #72274, #72310, #72703, #72773, #72786, #72945, #73064, #73102, #73510, #73513, #73705, #74106, #74113, #74217, #74301, #74393, #74807, #74835, #74932, #75056, #75107, #75149, #75212, #75264, #75329, #75686, #75697, #75817, #75899, #75932, #76087, #76202, #76229, #76388, #76989, #76993, #77202, #77297, #77303, #77636, #77749, #77953, #78083, #78254, #78307, #78412, #78473, #78716, #78840, #79154, #79618, #79702, #79705, #79903, #80069, #80245, #80281, #80553, #80923, #80973, #81055, #81184, #81317, #81327, #81358, #81467, #81683, #81749, #81918, #82124, #82527, #82729, #82749, #82789, #83399, #83714, #83906, #84167, #84464, #84829, #84904, #84951, #85044, #85404, #85909, #86067, #86237, #86252, #86339, #86436, #86454, #86812, #86870, #86896, #86906, #87015, #87461, #87507, #87563, #87663, #87720, #87759, #88503, #88576, #88604, #88722, #88792, #88856, #89034, #89057, #89159, #89199, #89210, #89508, #89609, #90308, #90345, #90355, #90364, #90502, #90708, #90875, #91165, #91479, #91595, #91803, #92041, #92227, #92230, #92462, #92558, #92765, #92788, #93140, #93189, #93294, #93337, #93776, #93782, #94369, #94427, #94490, #94516, #94637, #94754, #95035, #95126, #95273, #95476, #95493, #95506, #96270, #96378, #96441, #96550, #96740, #96845, #97049, #97067, #97224, #97225, #97231, #97238, #97240, #97242, #97252, #97264, #97267, #97296, #97312, #97313, #97320, #97757, #97793, #98185, #98202, #98619, #98658, #98717, #98861, #98885, #98895, #98978, #99314, #99395, #100228, #100360, #100451, #100494, #100567, #100630, #100822, #100848, #100994, #101146, #101305, #101379, #101475, #101620, #101992, #102012, #102020, #102022, #102024, #102052, #102165, #102263, #102418, #102501, #103087, #103196, #103345, #103657, #104052, #104279, #104445, #104447, #104992, #105206, #105362, #105442, #105990, #106035, #106226, #106321, #106869, #106922, #107205, #107403, #107641, #107680, #107767, #107885, #107982, #108023, #108033, #108314, #108317, #108334, #108846, #109227, #109701, #109951, #111137, #111722, #111936, #112502, #112995, #113709, #113734, #113804, #88834, #56196, #38324, #79809, #85385, #101056, #106610, #82014, #69378, #91346, #14632, #74421, #59917, #91199, #105335, #67470, #87649, #88730, #70920, #87349, #97530, #22618, #53073, #48368, #1359, #24997, #2677, #88622, #49788, #195, #108093, #90257, #91444, #50154, #69056, #60003, #96527, #115292, #607, #59351, #49020, #31786, #95432, #3369, #28881, #103486, #12484, #12514, #70332, #96443, #75162, #112677, #110969, #2258, #4718, #65886, #109568, #76072, #74644, #14497, #116123, #77426, #91332, #17814, #44350, #15706, #14725, #94556, #66243, #2674, #82434, #91125, #70317, #90064, #86258, #48777, #45671, #109549, #110766, #6081, #7270, #81552, #91855, #87848, #59886, #3699, #66991, #97763, #69599, #112297, #60146, #8133, #109320, #70784, #66404, #26455, #67247, #42118, #68957, #94127, #90278, #109593, #22577, #85226, #95797, #36083, #87587, #98130, #93898, #103917, #18700, #81299, #51801, #73462, #109039, #32767, #26645, #2423, #5109, #6838, #5570, #3863, #3528, #9023, #4297, #5012, #1868, #7714, #9662, #7695, #8252, #6871, #2571, #9476, #8131, #5936, #5561, #3020, #5730, #8604, #99908, #59524, #4344, #4844, #7905, #6571, #67703, #110533, #104471, #2853, #111301, #7798, #2363, #2759, #8948, #2409, #17205, #98551, #43566, #9622, #103275, #104097, #19373, #108585, #100283, #113324, #80960, #60719, #68124, #49101, #71196, #1941, #81738, #9132, #14838, #70053, #33575, #62461, #66428, #77050, #92541, #67390, #116050, #96954, #113012, #75010, #59409, #7161, #87615, #8524, #8950, #98501, #110106, #38031, #1718, #4983, #115206, #96826, #63856, #1175, #587, #1219, #1320, #83645, #91704, #49594, #86628, #10665, #49440, #61244, #112382, #91922, #7911, #8476, #7854, #55074, #3320, #53506, #43834, #63369, #74171, #102229, #89543, #4639, #75641, #63496, #78129, #90245, #81004, #66939, #116355, #109988, #85976, #62980, #67304, #50103, #106063, #89890, #89586, #115062, #53599, #8726, #99569, #106959, #45020, #105165, #34987, #105142, #100489, #87795, #116754, #104406, #39819, #112642, #108070, #43508, #43001, #59000, #45811, #105562, #42571, #112392, #109476, #71435, #75337, #73692, #72443, #67261, #79006, #63483, #86, #114571, #8402, #882, #108044, #49962, #31679, #114815, #3163, #3348, #3823, #4427, #4468, #5698, #5714, #6503, #7523, #7984, #116917, #44228, #56396, #108598, #67054, #11881, #81613, #5237, #73519, #55237, #11969, #4104, #107040, #46720, #63818, #74724, #58855, #68688, #4559, #88758, #108344, #45299, #109014, #68208, #115783, #112715, #107437, #7919, #91862, #107956, #113732, #16971, #57918, #12343, #12251, #10746, #50641, #76196, #111708, #39838, #86555, #17376, #18661, #83781, #82910, #77849, #20004, #75413, #15927, #71041, #11284, #68243, #48773, #49497, #77220, #55360, #32338, #61321, #93743, #32698, #55714, #2765, #8315, #4681, #16387, #34278, #112144, #89970, #73045, #99857, #87184, #99844, #52672, #88531, #69325, #52016, #117341, #68359, #96599, #111163, #109171, #95220, #85586, #61903, #111669, #113835, #3301, #53560, #45835, #17418, #117613, #99985, #113183, #93524, #4483, #68835, #69997, #54163, #94636, #58041, #85001, #2196, #114527, #62419, #112001, #72126, #83796, #109325, #103101, #115737, #103409, #105490, #28095, #110369, #82818, #89829, #4296, #112455, #106204, #93258, #10064, #43655, #14872, #45021, #90571, #3638, #111732, #66516, #4904, #8676, #27735, #10979, #96002, #92694, #89915, #10939, #69004, #95134, #94749, #5652, #6737, #1103, #7434, #89957, #33943, #69071, #118701, #34155, #65934, #83431, #17158, #10575, #102797, #104858, #31220, #82603, #107507, #116964, #44882, #80388, #67967, #118737, #108937, #3836, #50384, #67673, #15766, #5625, #8336, #2686, #108106, #23337, #3395, #106222, #99268, #109912, #3534, #39165, #110478, #99442, #101109, #88301, #53998, #27549, #104943, #1927, #9173, #1207, #5494, #1361, #113478, #97367, #29539, #46883, #1291, #115694, #91340, #1314, #1326, #1369, #1391, #22747, #13821, #1476, #90577, #94857, #13106, #97414, #107893, #106110, #109496, #109650, #68754, #105051, #110523, #116641, #110104, #75659, #117078, #89288, #89324, #66998, #94093, #1484, #92659, #76786, #101796, #65194, #33188, #69625, #115119, #53362, #92393, #100009, #1363, #112239, #84593, #71310, #80307, #13809, #116389, #58645, #76257, #10372, #69246, #81081, #2026, #1404, #1419, #1483, #55476, #1061, #16934, #94986, #91987, #78355, #55692, #93739, #54636, #72766, #112030, #62438, #54350, #52180, #113398, #44125, #16987, #114998, #116651, #1501, #2372, #69105, #58304, #101572, #84307, #1532, #1542, #1577, #51599, #38771, #47803, #110866, #55576, #114841, #106644, #17363, #61144, #8425, #99551, #111609, #17064, #54790, #117573, #63875, #91508, #113143, #58013, #74840, #91420, #47858, #91034, #16673, #108877, #87530, #117560, #56749, #99532, #74199, #16481, #10561, #92785, #99742, #1410, #100826, #54097, #82410, #64740, #101625, #1524, #1716, #118895, #10949, #112258, #70033, #54327, #13549, #78884, #10182, #96884, #101583, #106366, #51681, #33090, #1732, #1737, #1745, #1749, #1197, #1252, #884, #9511, #80523, #39614, #72221, #116492, #80138, #34880, #10964, #58114, #74359, #66198, #56957, #50977, #87623, #96901, #118076, #114154, #107642, #9274, #77354, #55344, #33474, #22571, #56037, #57914, #16167, #85103, #98068, #70915, #41018, #16548, #107029, #94792, #9450, #73528, #103864, #40017, #101980, #81940, #71653, #85024, #118953, #78016, #61826, #51734, #66415, #32790, #59382, #71027, #50659, #33976, #100975, #99701, #55854, #68010, #117961, #72840, #44388, #115766, #18457, #112557, #12393, #77096, #58066, #86682, #44334, #47219, #2128, #102562, #41807, #70080, #80999, #89280, #102650, #76392, #100803, #65158, #43788, #13588, #115296, #114478, #100037, #12328, #47779, #57096, #55743, #74268, #88022, #41523, #81139, #85276, #57440, #90062, #15784, #72353, #112911, #108279, #79956, #68113, #117362, #60524, #115759, #85146, #10829, #45611, #12467, #64397, #52320, #69190, #35342, #67161, #12634, #111173, #103055, #82276, #17866, #80834, #108182, #109569, #116258, #102750, #52013, #95511, #33587, #16632, #68798, #71789, #24231, #35807, #14985, #17717, #37032, #102837, #71738, #73973, #10845, #76271, #119909, #78190, #53195, #60799, #30280, #119581, #101977, #7498, #55604, #115928, #118559, #107503, #80493, #66475, #12479, #81397, #104465, #70660, #81723, #101268, #51574, #95535, #116996, #88493, #63827, #72052, #48386, #117434, #97819, #119715, #67741, #68477, #98528, #80521, #118571, #82542, #91963, #63218, #118236, #5239, #33631, #110770, #9717, #69443, #69814, #22983, #50694, #95540, #108604, #97035, #9613, #115173, #106884, #29710, #86064, #101223, #47721, #7644, #113883, #36593, #111442, #120017, #120061, #103369, #97060, #110294, #67799, #111809, #54798, #25956, #77990, #69258, #63414, #57004, #101920, #105088, #85311, #91721, #77373, #10232, #82581, #81105, #86303, #8316, #119588, #42335, #94580, #105087, #55797, #64521, #83230, #61673, #79483, #80302, #6753, #75610, #66048, #117762, #75583, #12384, #96670, #109219, #118184, #94875, #57045, #61121, #102505, #103388, #90339, #94539, #4527, #102921, #71308, #65885, #77987, #97115, #79552, #90813, #89089, #91628, #111024, #78488, #82845, #56686, #108705, #72254, #13217, #86132, #101900, #112537, #71025, #107646, #66416, #104657, #105482, #15429, #112669, #60076, #33470, #82017, #76565, #75690, #52977, #87658, #103670, #58372, #111262, #115158, #20391, #3563, #90436, #74964, #5327, #105308, #6458, #14455, #17905, #83138, #92158, #114523, #63401, #99479, #60716, #115401, #111697, #119034, #16513, #13014, #15271, #16854, #37626, #51008, #17066, #120849, #68128, #52620, #12586, #66542, #69008, #83552, #105384, #14317, #119192, #108341, #97481, #99577, #12683, #60626, #96485, #114793, #86550, #69620, #6371, #103495, #82707, #21246, #114536, #2169, #75094, #112061, #53605, #71105, #111629, #43006, #87099, #107912, #72104, #103069, #42606, #117501, #46615, #13454, #58642, #96703, #16189, #84499, #111798, #101333, #9672, #66380, #98635, #11018, #67421, #80260, #14471, #114383, #14477, #59028, #54052, #113654, #119121, #86829, #81074, #117532, #109204, #112687, #11508, #121217, #52089, #103481, #73813, #117206, #17110, #79755, #91700, #77568, #98110, #88091, #103171, #61118, #89340, #9010, #66841, #109405, #117907, #97411, #6794, #40515, #73344, #111799, #119696, #24709, #59230, #48093, #71784, #82924, #41747, #18155, #118926, #106252, #107626, #120397, #111179, #13023, #72852, #96873, #11316, #108270, #61394, #61588, #75154, #33791, #102458, #86768, #96084, #84082, #91769, #114541, #100462, #10418, #26454, #17047, #85815, #86290, #55495, #8161, #55976, #107142, #72665, #51438, #65583, #104681, #91794, #33212, #79747, #100158, #17159, #49735, #107937, #120578, #16896, #107274, #95090, #50794, #8531, #60931, #99195, #113513, #114423, #55954, #14339, #77106, #30085, #15830, #119453, #83943, #77861, #64608, #92883, #37043, #77397, #60331, #116141, #5860, #44623, #56435, #111377, #10768, #77986, #12292, #50663, #100497, #5404, #56306, #86574, #84605, #15079, #58680, #43793, #50037, #116126, #77575, #13898, #119753, #64743, #86818, #54304, #29915, #55362, #97584, #9362, #75790, #60212, #7106, #77600, #40508, #70903, #116598, #2389, #70184, #66179, #64671, #22833, #118318, #36415, #55706, #12099, #7915, #4119, #8178, #37929, #103191, #121683, #37629, #74682, #14963, #15693, #86544, #2607, #61271, #73979, #11627, #9731, #3066, #21565, #118612, #53207, #108823, #40720, #5549, #58345, #11214, #76141, #100745, #82689, #53332, #97276, #89003, #1816, #101077, #115665, #115110, #108305, #64128, #51166, #45974, #73176, #120817, #45111, #83562, #115356, #6369, #32357, #3287, #3299, #79527, #108496, #70044, #111741, #108505, #60596, #59176, #78575, #110353, #120605, #100122, #3125, #31634, #89791, #60926, #16897, #108252, #70943, #65058, #90102, #117487, #64377, #117441, #109174, #50151, #110684, #11576, #54568, #13116, #120781, #7681, #14756, #121608, #66781, #72994, #112145, #115814, #110828, #95178, #96130, #41517, #114695, #102979, #11497, #121376, #113788, #91305, #68936, #76745, #90735, #111759, #119281, #53061, #81456, #57518, #64432, #120299, #120058, #86883, #72709, #120469, #15518, #48864, #14237, #119361, #11194, #45289, #67773, #5968, #105903, #74538, #3249, #12353, #7279, #83812, #98127, #70374, #65853, #21020, #117720, #106144, #98430, #61954, #83956, #114452, #14272, #53629, #7331, #108859, #88141, #98373, #71790, #118908, #80686, #69005, #4693, #6793, #119903, #90326, #121225, #78604, #65173, #91942, #118738, #65069, #17580, #87919, #56919, #17319, #112770, #103637, #109294, #85947, #74547, #98304, #118832, #42545, #72963, #83755, #4196, #57485, #89930, #25643, #113601, #70751, #120601, #64258, #111806, #52399, #67276, #54201, #72045, #11739, #100334, #87606, #106776, #101431, #75465, #89569, #66201, #7953, #14662, #103097, #73722, #64757, #117360, #50546, #50313, #98497, #38976, #53184, #65650, #73242, #113172, #64916, #36645, #51800, #52196, #14840, #120917, #77688, #57606, #105758, #16773, #105798, #115636, #80669, #84332, #8102, #120857, #9066, #70055, #98237, #96780, #71006, #99286, #88933, #106603, #81573, #99797, #85430, #100561, #57011, #72856, #68516, #120387, #6240, #65955, #86379, #12914, #90103, #68831, #120123, #80478, #51223, #75242, #23944, #89163, #2178, #107098, #14110, #95461, #69528, #100485, #75030, #37354, #83664, #38425, #62078, #67588, #102170, #115688, #90575, #2933, #79983, #12430, #93401, #106476, #52875, #111578, #105403, #113946, #16759, #117626, #108235, #38719, #96203, #98814, #76322, #63371, #114345, #90471, #54464, #120405, #121165, #110023, #101943, #120137, #99360, #67091, #80684, #80738, #89620, #114915, #11277, #90423, #27521, #69957, #90340, #57864, #74021, #91882, #53136, #11598, #116005, #86632, #118787, #12603, #101635, #120509, #107930, #106651, #74792, #92322, #40275, #27905, #87178, #67769, #54521, #24523, #93840, #121634, #61946, #120222, #103058, #9046, #87272, #121525, #87168, #58157, #46491, #52229, #65624, #53155, #116074, #120224, #107254, #83253, #57923, #84152, #51474, #11372, #51904, #13603, #57468, #46264, #44946, #78830, #101287, #109752, #8642, #94827, #61587, #4029, #6109, #105181, #50522, #17052, #83135, #53021, #12107, #104944, #119983, #120226, #68774, #117821, #84846, #110263, #83516, #48718, #39801, #94390, #4395, #118531, #107276, #69624, #59743, #71633, #56594, #63926, #36208, #97011, #113909, #79286, #14692, #14225, #49519, #17094, #40617, #95502, #81052, #11505, #71007, #115410, #106615, #18444, #88130, #86515, #95608, #99247, #91056, #71304, #1938, #82957, #107495, #35898, #55578, #121020, #92125, #111900, #112379, #118167, #79318, #43249, #108464, #79437, #98375, #85183, #65219, #10317, #105064, #51899, #13711, #10402, #95802, #63860, #80571, #40984, #117547, #76277, #117227, #29889, #98967, #102664, #70507, #85451, #120570, #98436, #16156, #104988, #78847, #89567, #80324, #44795, #120338, #115711, #45287, #99553, #17906, #64002, #97181, #69053, #57239, #85963, #120643, #12529, #81436, #63087, #13529, #109122, #113149, #115046, #17482, #114676, #60297, #81032, #76755, #49120, #60970, #66562, #62107, #15606, #95253, #112896, #111715, #13058, #83140, #28724, #8189, #62613, #64715, #68188, #82752, #12254, #11590, #119881, #37054, #51551, #67043, #33568, #60328, #35053, #95149, #112098, #86206, #83034, #85245, #50869, #73845, #13510, #38610, #118662, #93313, #80898, #11880, #82190, #117798, #88286, #121636, #11506, #114537, #120558, #43080, #40342, #86223, #36135, #89253, #110813, #70994, #50337, #8607, #97897, #72107, #52539, #92318, #79047, #71015, #78386, #120375, #98467, #93642, #48754, #90894, #96959, #51396, #118408, #80737, #116002, #83531, #41468, #57055, #58892, #15980, #56389, #106053, #117451, #67455, #92505, #22710, #60934, #118887, #101196, #75348, #110674, #11498, #42949, #62404, #45270, #48528, #110233, #73042, #119965, #12650, #49652, #96324, #66722, #75127, #93282, #69140, #59224, #113155, #76596, #16957, #90094, #36570, #101464, #104538, #32712, #115102, #103761, #117452, #79697, #81657, #51324, #98929, #53851, #55677, #15540, #7909, #8195, #121214, #88376, #73220, #90592, #51479, #54132, #33591, #58526, #72084, #110113, #53752, #95523, #71498, #109939, #98991, #9941, #77472, #99017, #113725, #87045, #57941, #97535, #93084, #49780, #106517, #55984, #26252, #55395, #107499, #57014, #62774, #77805, #17702, #118185, #115587, #4980, #59491, #51071, #40352, #34924, #36033, #107775, #102459, #70922, #84758, #10195, #106114, #107926, #48872, #50434, #83973, #117675, #46356, #53936, #115336, #59143, #74832, #75200, #54027, #119655, #16030, #102759, #54153, #46236, #46066, #74255, #114273, #74049, #62311, #68296, #8413, #118273, #54941, #93794, #116712, #6267, #19665, #67343, #116035, #113749, #63329, #25225, #75956, #68626, #8819, #45710, #113873, #67565, #14022, #70126, #92935, #87078, #10637, #8797, #105256, #8369, #72110, #39580, #16714, #74443, #54830, #64605, #67837, #12866, #121581, #80614, #66571, #62818, #78293, #12947, #117358, #67903, #112386, #53975, #90468, #63545, #80743, #111062, #66345, #86972, #82119, #121713, #117431, #8587, #58087, #108504, #111849, #114461, #121988, #109713, #68773, #94510, #73482, #60300, #12017, #70642, #22663, #105935, #67651, #34043, #113736, #81189, #119507, #69914, #72381, #95914, #113505, #87131, #78822, #2981, #6346, #56979, #102626, #34190, #48359, #108843, #6980, #115174, #58942, #27831, #87629, #74684, #2764, #94702, #104423, #109089, #60749, #5828, #39277, #52408, #50254, #111571, #121452, #85372, #10542, #85497, #2383, #113106, #14650, #86567, #74527, #94489, #51628, #76595, #109955, #107773, #43727, #10292, #114573, #15781, #85889, #58172, #43159, #89765, #71914, #43726, #80641, #80533, #19018, #119984, #95247, #75403, #108521, #46515, #103205, #73148, #73300, #18038, #116217, #63852, #102885, #117899, #107179, #98144, #63535, #47924, #4326, #114057, #64863, #17643, #103222, #118590, #111551, #97615, #115246, #16422, #107218, #13825, #89367, #115865, #71122, #62638, #119933, #106235, #60737, #120097, #121406, #99587, #80937, #109875, #53501, #33109, #120334, #107374, #45870, #16991, #67361, #5322, #111626, #25769, #40859, #43338, #67408, #74752, #10619, #74366, #9353, #117908, #116012, #22278, #81213, #69448, #12357, #95925, #6141, #66295, #84858, #60078, #16358, #60369, #93531, #16463, #18159, #94385, #109933, #66383, #9784, #15747, #73321, #44248, #31090, #65778, #109363, #1997, #104090, #103800, #13847, #113773, #91222, #69268, #9518, #107492, #32370, #103765, #27344, #94685, #107433, #80827, #100733, #70659, #109639, #116999, #118384, #85537, #54083, #41484, #8053, #112811, #67420, #38289, #47991, #93724, #40062, #98706, #95786, #88171, #84527, #53788, #63881, #61839, #64845, #100224, #78057, #11341, #4967, #110254, #117234, #65552, #59205, #61570, #91297, #15946, #69608, #63804, #100897, #54611, #111359, #36077, #119861, #16844, #14596, #46667, #120196, #40809, #66735, #120930, #46460, #7218, #117290, #74210, #25568, #66355, #30294, #82258, #118306, #116136, #64267, #81479, #118856, #69009, #69185, #39045, #117297, #89167, #13472, #118642, #48102, #53869, #88624, #12003, #86333, #15734, #112889, #12743, #94106, #54582, #31128, #116085, #90659, #57766, #57699, #46853, #52724, #7820, #105444, #74784, #79686, #43892, #113076, #107978, #120887, #87506, #99894, #12960, #108507, #114956, #108936, #67645, #15746, #78177, #14948, #7827, #9771, #100951, #25977, #114672, #111952, #63618, #55549, #65634, #85447, #103225, #23186, #94410, #72869, #121554, #114882, #116882, #80460, #6095, #52073, #78004, #98708, #71634, #65646, #13282, #116197, #26816, #65467, #107496, #97309, #118933, #61060, #62344, #68100, #79769, #119435, #87638, #100333, #14716, #103135, #118483, #75531, #56184, #91644, #45620, #116193, #36827, #16917, #92942, #80150, #48475, #106871, #118649, #48483, #24945, #65830, #119521, #111284, #102067, #45662, #65537, #49917, #93887, #68466, #84841, #12961, #71208, #21866, #65183, #101784, #111902, #15436, #78640, #93726, #92576, #116643, #96766, #93336, #15708, #94072, #33563, #103434, #11942, #119612, #57904, #99574, #119620, #52035, #93409, #97199, #102793, #65341, #87403, #4207, #34328, #119087, #12643, #108806, #119223, #113276, #57020, #59203, #52601, #76051, #66607, #11099, #116557, #62627, #22996, #92026, #58401, #43228, #108622, #104861, #51442, #100714, #90620, #54103, #76148, #114930, #50738, #120088, #106006, #75990, #65809, #41841, #109979, #85306, #13163, #52337, #28163, #114700, #48225, #76467, #13997, #77624, #113891, #3014, #63120, #115986, #58899, #5433, #37187, #113240, #12539, #22659, #61199, #15010, #14606, #58483, #114198, #119689, #53328, #14093, #7392, #8115, #111760, #54566, #44071, #116773, #120964, #96794, #16564, #16623, #7284, #119455, #120330, #73233, #80495, #102201, #106909, #17099, #99433, #118486, #21021, #15718, #109437, #102422, #9653, #4233, #101542, #17701, #117972, #7329, #94204, #7184, #15243, #98404, #103161, #90711, #6629, #66002, #79452, #66655, #37377, #31194, #43906, #92858, #41027, #28245, #39733, #111142, #16316, #67445, #73631, #14192, #106161, #79867, #52243, #94384, #22568, #71861, #85620, #23132, #113980, #112095, #95183, #16619, #64386, #107017, #94683, #100517, #99846, #114568, #111883, #92506, #58010, #5279, #102465, #41802, #9366, #94187, #70667, #114298, #101674, #118102, #42338, #82989, #89038, #112270, #23687, #49510, #111095, #12908, #45975, #117099, #80573, #109093, #90253, #83957, #34035, #112185, #94087, #61573, #60629, #113595, #73460, #5344, #4742, #96137, #115983, #67552, #65619, #105889, #58525, #29981, #38954, #72634, #72891, #117088, #116316, #53454, #111755, #107833, #92855, #77087, #112675, #115191, #23105, #101647, #90521, #68735, #119680, #110506, #105027, #80801, #95609, #78739, #105211, #73389, #111129, #121639, #97838, #11688, #117201, #85618, #78362, #57359, #115934, #54877, #57176, #5946, #121399, #46521, #20312, #54524, #121492, #112097, #15900, #111283, #80540, #97200, #74919, #91848, #7413, #97995, #117953, #15514, #100430, #121955, #102211, #34062, #7886, #108741, #51665, #102058, #93669, #104892, #97390, #114646, #56102, #97761, #83095, #109781, #32438, #17144, #104707, #103415, #30680, #73969, #102971, #45267, #108979, #46614, #112383, #87026, #108659, #71654, #107684, #44225, #55919, #62127, #6519, #99887, #28544, #92320, #69543, #12978, #51508, #15887, #120305, #6205, #15284, #70708, #60327, #50994, #56214, #76768, #77082, #94866, #61645, #71411, #78714, #72237, #52285, #65990, #86585, #54622, #90474, #112106, #114712, #59405, #119314, #32847, #92689, #69818, #42682, #117091, #112797, #39417, #46190, #117540, #113403, #81998, #31779, #99709, #66577, #121119, #9795, #66693, #79985, #117983, #26348, #44017, #9016, #86248, #89016, #120441, #43634, #72919, #14714, #11068, #96467, #15459, #109749, #114875, #57549, #92501, #49779, #4626, #65686, #94054, #71477, #7567, #71483, #68196, #86279, #112280, #39521, #93497, #113839, #41688, #54160, #65378, #39836, #95942, #2064, #76803, #111776, #79229, #75463, #121098, #16407, #7431, #62164, #40218, #120145, #81090, #97907, #116583, #110471, #80393, #91216, #10312, #17174, #111654, #109879, #10566, #53934, #91302, #14391, #92739, #98444, #58479, #8968, #8278, #65307, #107538, #103539, #34063, #96098, #114544, #100912, #112791, #82526, #91771, #86373, #50160, #83528, #99495, #83619, #97829, #19290, #118537, #36104, #107586, #82158, #101216, #4723, #61685, #75391, #102741, #114580, #93969, #72717, #91815, #119703, #74895, #77107, #112034, #34399, #89991, #95756, #85373, #58500, #72523, #60996, #100666, #48029, #81744, #53481, #120649, #90704, #57725, #20786, #84182, #120813, #2018, #86146, #16091, #112947, #94467, #108459, #12342, #49131, #12209, #82536, #17481, #111350, #86375, #52573, #8294, #61247, #81022, #63693, #110439, #13794, #114511, #66337, #13468, #56044, #10683, #108779, #81028, #86117, #54752, #39628, #14438, #60480, #16955, #121404, #63744, #93655, #69387, #70003, #13092, #38387, #12571, #24554, #37561, #90512, #89809, #88653, #119716, #93269, #107942, #55893, #107370, #53516, #51402, #109941, #57481, #109876, #7932, #66496, #23836, #7034, #52540, #111364, #75352, #54465, #70208, #115670, #122059, #5316, #57981, #117759, #74796, #70664, #51858, #80850, #5470, #44114, #117208, #96283, #82474, #92278, #57495, #77226, #118975, #94034, #83373, #88509, #45841, #33101, #85917, #114630, #111597, #113951, #89036, #118685, #48115, #58045, #26025, #101249, #32814, #71090, #81540, #25548, #75087, #37308, #92514, #15847, #75710, #14711, #96433, #80165, #81363, #77015, #105443, #70315, #66637, #112354, #80702, #47438, #94107, #115786, #82620, #120238, #115015, #75361, #119821, #78622, #15759, #116925, #80149, #87850, #96350, #94356, #87989, #43173, #51311, #67288, #108455, #115022, #7947, #11712, #83629, #22414, #16806, #87394, #54820, #62987, #109619, #7922, #68937, #23844, #97537, #106702, #14345, #32412, #86122, #118860, #94989, #51743, #116403, #5872, #101389, #41242, #31539, #114446, #5487, #118580, #61459, #112477, #101878, #35373, #64933, #88849, #71579, #114412, #72348, #111042, #108412, #85030, #70522, #6173, #120286, #78333, #16781, #21044, #76090, #110875, #47063, #74612, #56520, #120310, #113336, #99203, #55226, #27421, #116692, #119555, #5240, #53755, #5725, #53740, #93822, #3851, #92896, #13584, #71529, #95055, #113825, #103894, #58495, #108569, #59940, #92908, #113593, #115479, #77649, #17882, #94596, #1778, #86660, #113200, #67193, #104087, #121956, #99828, #75334, #62364, #63364, #66645, #57963, #6073, #107903, #92572, #7262, #104796, #108021, #55932, #118717, #57002, #79068, #107776, #64615, #13762, #85215, #112606, #11055, #112572, #44492, #26840, #13759, #89427, #20419, #65522, #99162, #65151, #42323, #84579, #49605, #98589, #106106, #38112, #99383, #23327, #95927, #93638, #10926, #86445, #120954, #10079, #91399, #70703, #103844, #105212, #81359, #108048, #12977, #94225, #25312, #118934, #5104, #96569, #121565, #93662, #67500, #68402, #8890, #99624, #76262, #74948, #71416, #116849, #15610, #4162, #8690, #100715, #121981, #14531, #5458, #105318, #66412, #108311, #71742, #76785, #33046, #117233, #67464, #78865, #5977, #116397, #65251, #108886, #109806, #114757, #59308, #94488, #121566, #113904, #67969, #19646, #61183, #113250, #39780, #118278, #29166, #56371, #9789, #102054, #117812, #117337, #45723, #109865, #92677, #14719, #91279, #94993, #59367, #95763, #117148, #30740, #24969, #66286, #81425, #122230, #35455, #2766, #79230, #120460, #71406, #87979, #80989, #94847, #116564, #91956, #93522, #118089, #15384, #108357, #78242, #111995, #108724, #71118, #98290, #110720, #33852, #83648, #97648, #108348, #120516, #70322, #76343, #65986, #10306, #106807, #7530, #101202, #121333, #65921, #78370, #24926, #10877, #66546, #112909, #28058, #64969, #120436, #102291, #61330, #73104, #110295, #110580, #71508, #111080, #67404, #55312, #57348, #100995, #73949, #67472, #113496, #112313, #73392, #28767, #118086, #84876, #79862, #119135, #7649, #97488, #117133, #4927, #51611, #85358, #50506, #117662, #69355, #72036, #101072, #67496, #112342, #72116, #41310, #69819, #14366, #88398, #71763, #12752, #7663, #12793, #73864, #114250, #14938, #112979, #41376, #115727, #47338, #109850, #65485, #62899, #116708, #81364, #87980, #49315, #63282, #7610, #93133, #5372, #14260, #59322, #91826, #71205, #118418, #69617, #3695, #97078, #69149, #15959, #94066, #15821, #17062, #71780, #101157, #93214, #26236, #12840, #2717, #59337, #105916, #120835, #93051, #21308, #76483, #50498, #5332, #5045, #106379, #59373, #102030, #7821, #97106, #99003, #66082, #85093, #87116, #35187, #10612, #112148, #12109, #9369, #81400, #78274, #100578, #65710, #76376, #59439, #29517, #79362, #111692, #60178, #108837, #110859, #112236, #116581, #93056, #75983, #104336, #8257, #122318, #83928, #27259, #107522, #36022, #80266, #23798, #119890, #107217, #84142, #22308, #115995, #2595, #20503, #84327, #80459, #120339, #104032, #62654, #43072, #98321, #88634, #118027, #64569, #78125, #79155, #56505, #79076, #60856, #67297, #109432, #69091, #56573, #10691, #62074, #25978, #91501, #5137, #36617, #92825, #36910, #109820, #15207, #99370, #118670, #114651, #113657, #16085, #14039, #119108, #10367, #11670, #91374, #102428, #64153, #2911, #118617, #96891, #98873, #19725, #76915, #94200, #56303, #10871, #108836, #56260, #48021, #111132, #85100, #40877, #115490, #17203, #66087, #14842, #7694, #86737, #11970, #92681, #62580, #82184, #110194, #91368, #121552, #91934, #107650, #18438, #14352, #52510, #74517, #50750, #8138, #77184, #105311, #62616, #98650, #42644, #69469, #30117, #61544, #36554, #92470, #116647, #84061, #103890, #14085, #80971, #85078, #67165, #7048, #46149, #15985, #14140, #88345, #71673, #115152, #93710, #43955, #92962, #110966, #8480, #90903, #122218, #1977, #76907, #56068, #106569, #105869, #16894, #30397, #94189, #53419, #95373, #85565, #119856, #51657, #94705, #109118, #86323, #58910, #64111, #114528, #87737, #119285, #120513, #119077, #6257, #93004, #93549, #71872, #14164, #52069, #111331, #80178, #67505, #94381, #66949, #82299, #43439, #54660, #108186, #79588, #85619, #21764, #10085, #11545, #71229, #53471, #101557, #79127, #95092, #90047, #60227, #28877, #112603, #57974, #102854, #114448, #106194, #75229, #13889, #76286, #64480, #74145, #71226, #107697, #118661, #50047, #117378, #51532, #119709, #98833, #58799, #103007, #93312, #85944, #10057, #101381, #103049, #68877, #50919, #61517, #114773, #15227, #80608, #45558, #122184, #90246, #84891, #103636, #59525, #95139, #85240, #118317, #114073, #73946, #17652, #13882, #91873, #105856, #118532, #74504, #76775, #60973, #121654, #4861, #35351, #58261, #118396, #44251, #119691, #96559, #9764, #75360, #25713, #110978, #118674, #118037, #52881, #120011, #82390, #120031, #13192, #85164, #114810, #60801, #108822, #16234, #62747, #3266, #56806, #7213, #88702, #83924, #97645, #84513, #59931, #54227, #12559, #9482, #118411, #70089, #73621, #88344, #92008, #76084, #16512, #53840, #100571, #99423, #17030, #68802, #104924, #4573, #15311, #115608, #4729, #82629, #2446, #72507, #81242, #111950, #90997, #121586, #101275, #46889, #54553, #72012, #103065, #115294, #71026, #122099, #103886, #120223, #75494, #116436, #120308, #83662, #88861, #86151, #33723, #106791, #49794, #111242, #106732, #111991, #119025, #80524, #61218, #118816, #13347, #121284, #4684, #24248, #110519, #62018, #93611, #80561, #10243, #93079, #58540, #118255, #54537, #108728, #96472, #102189, #74926, #9378, #7109, #7712, #69693, #113426, #87746, #7283, #28744, #86345, #9406, #25212, #116797, #102587, #56827, #78138, #118854, #58568, #14869, #115775, #65310, #15825, #102019, #10987, #122207, #38254, #78976, #27241, #60198, #104360, #8938, #109103, #93915, #77571, #96863, #24368, #77120, #111764, #104117, #42689, #54073, #105386, #78691, #51892, #81395, #111037, #68671, #114091, #97172, #103351, #81002, #90773, #108567, #77455, #93666, #114949, #79783, #86221, #100512, #108169, #119512, #91369, #56016, #62523, #121412, #112022, #117739, #77254, #36601, #80798, #113713, #66519, #117103, #64978, #2041, #79042, #50883, #113013, #87392, #62224, #89876, #12859, #15632, #86841, #73660, #115846, #54236, #10300, #80598, #102525, #117239, #50876, #72339, #58323, #118573, #73339, #26020, #78845, #25177, #99649, #104837, #122235, #64844, #36354, #12698, #90950, #109083, #73791, #113437, #103175, #50718, #115984, #47954, #103140, #81758, #92563, #104181, #88309, #63105, #51587, #107391, #44689, #94334, #107428, #35987, #111942, #43512, #62094, #74624, #116992, #74392, #92716, #97092, #104773, #54063, #70816, #8698, #82016, #17535, #80700, #101007, #94361, #66456, #72152, #74476, #109900, #102965, #9574, #84024, #10240, #56965, #79782, #75663, #52557, #117655, #97113, #90985, #67504, #72506, #12806, #49727, #85115, #72813, #40276, #83602, #84087, #119307, #103854, #52564, #106134, #42218, #42670, #120896, #63844, #26943, #76689, #91948, #82808, #16084, #109319, #101404, #74673, #71094, #10155, #119209, #9785, #98762, #33163, #36103, #105089, #119539, #97294, #85154, #95501, #75995, #47978, #7297, #8211, #87916, #86231, #70598, #5799, #106618, #9516, #4359, #78855, #107738, #17721, #59042, #11321, #88667, #51484, #99264, #7011, #63990, #108925, #37780, #73696, #38591, #59182, #93123, #4973, #10549, #114929, #118801, #60279, #22426, #85185, #64434, #69090, #70241, #118671, #112160, #57073, #56776, #119937, #63892, #120620, #92683, #90092, #96920, #112817, #62851, #53029, #75353, #57284, #70887, #66780, #121954, #91083, #48427, #90622, #119267, #48284, #120162, #60572, #96828, #42853, #111285, #115923, #15740, #39258, #89661, #67900, #6930, #4817, #45738, #22175, #96251, #121682, #109763, #21330, #35359, #121071, #98131, #68123, #63737, #110922, #85894, #70235, #41308, #95413, #76094, #13278, #6850, #51300, #28379, #14682, #14983, #38790, #63936, #17098, #106260, #119243, #8134, #95543, #120624, #81488, #63531, #118414, #110676, #83067, #12269, #120630, #68921, #72486, #120530, #33881, #90593, #29820, #3140, #121670, #94785, #119580, #108914, #16717, #5501, #66631, #61258, #110705, #99338, #14970, #79920, #54735, #113139, #70968, #13539, #121369, #44352, #98758, #23249, #47510, #70094, #121495, #11549, #121468, #117398, #94123, #70518, #7857, #42113, #8770, #55092, #110344, #103226, #102802, #39663, #34758, #4137, #101374, #58672, #117450, #49373, #108145, #94700, #10899, #78657, #41398, #41321, #59495, #118951, #41748, #23886, #104397, #56946, #91870, #97412, #80455, #56262, #20261, #109655, #90740, #106232, #99977, #92777, #92624, #112875, #81948, #100744, #79224, #68893, #31775, #76964, #36844, #95721, #66032, #99070, #9413, #92937, #56506, #109106, #46627, #89222, #63007, #11629, #91168, #24011, #84322, #61106, #107342, #21031, #118777, #9380, #29283, #23540, #94823, #89834, #40130, #61741, #69058, #8612, #61594, #85550, #114602, #16390, #9011, #80566, #98123, #32095, #90015, #11662, #56674, #91452, #6292, #74411, #103913, #28212, #105131, #57117, #102811, #15804, #79810, #119434, #121417, #113753, #110663, #34970, #56914, #15400, #113420, #121293, #73524, #40403, #17422, #112593, #38612, #10283, #115435, #16601, #82796, #55343, #101115, #6819, #99181, #87412, #49391, #19936, #113233, #53800, #56848, #118514, #120421, #117246, #40960, #96174, #120726, #43233, #84769, #91370, #61638, #29131, #86041, #98950, #11821, #95849, #104008, #75106, #32715, #11128, #13836, #56813, #19786, #50645, #34932, #70105, #95492, #58437, #103823, #120417, #121958, #53597, #114593, #95894, #100304, #69471, #96308, #84441, #87818, #58884, #76922, #5325, #79189, #113983, #104323, #102152, #54919, #84244, #122195, #113010, #69636, #110991, #71699, #25446, #88734, #78148, #62106, #61314, #10466, #18545, #95867, #119255, #112662, #121687, #44355, #26328, #107228, #50998, #120275, #53103, #102822, #92762, #15687, #25199, #100197, #119585, #43316, #115038, #77594, #96755, #6827, #76763, #15487, #88915, #90215, #102940, #2870, #103867, #73720, #73900, #16067, #108955, #89348, #90293, #73381, #118432, #74372, #59773, #87269, #106718, #114680, #49905, #111803, #87831, #106304, #57419, #76463, #58674, #103177, #22703, #108011, #9154, #66225, #104140, #77498, #41921, #107953, #36188, #13164, #83305, #80769, #67028, #82286, #73092, #114596, #74423, #52492, #118280, #69421, #120845, #60943, #95226, #62741, #57433, #14342, #85514, #72549, #26625, #119666, #101481, #98294, #45793, #62992, #118382, #51019, #38397, #94545, #4672, #121054, #119842, #80342, #63190, #109490, #90070, #56017, #102062, #60445, #71610, #118131, #122353, #120862, #108471, #96422, #65569, #97123, #102241, #82229, #15882, #23304, #112650, #49562, #16879, #114155, #49903, #49555, #32866, #60662, #117192, #13100, #40440, #50843, #63653, #14529, #122321, #65379, #96939, #39679, #64823, #60643, #87975, #38372, #86137, #15864, #18005, #28693, #120844, #107606, #110981, #26717, #122175, #5480, #115841, #108874, #118338, #87259, #3121, #68283, #23545, #5441, #122227, #65780, #40910, #93248, #91088, #4995, #55273, #65999, #113892, #112702, #114761, #100169, #112070, #35480, #24264, #86926, #60095, #88259, #97579, #6936, #73967, #110948, #67819, #106976, #34572, #90438, #85348, #107262, #65335, #94582, #89679, #107907, #120455, #91330, #96273, #114868, #81673, #113509, #104544, #10558, #93422, #111730, #85561, #91001, #65413, #90194, #16261, #96297, #100528, #91442, #91981, #106987, #33370, #103510, #10184, #78999, #87007, #103370, #68896, #16306, #108991, #14428, #13946, #121598, #109634, #66820, #13842, #117976, #121159, #50007, #80261, #113269, #107973, #74672, #117713, #16583, #50208, #17101, #82026, #6048, #36367, #16220, #71534, #81736, #64044, #91137, #121609, #71194, #114176, #119727, #85370, #111945, #103576, #113074, #90105, #32729, #54376, #64417, #84230, #110587, #79442, #67791, #86052, #106890, #120542, #117269, #107352, #109716, #101756, #65352, #95706, #24348, #65892, #89914, #64117, #16743, #121799, #63803, #15682, #121096, #16615, #85014, #93984, #11103, #78560, #110173, #94011, #108814, #99546, #86086, #70237, #116936, #62507, #120941, #52082, #116092, #102832, #14388, #117553, #76982, #62708, #108406, #51161, #120848, #37550, #73318, #115254, #66940, #104745, #4271, #99720, #55930, #115270, #75579, #82816, #100185, #117119, #114758, #80870, #84672, #61488, #111672, #98107, #14089, #15583, #72750, #56374, #104878, #82688, #3087, #115183, #30414, #78521, #113659, #54456, #63392, #83277, #13338, #120087, #7945, #9718, #17934, #11553, #98500, #5850, #2618, #81592, #4347, #100471, #99654, #98435, #112088, #112547, #106080, #118309, #86928, #109364, #56381, #102656, #93494, #11375, #84551, #98077, #53190, #15219, #15071, #5085, #38665, #2427, #84031, #119950, #116432, #88660, #83081, #92857, #71686, #2514, #73689, #97302, #63160, #69294, #4198, #119271, #60803, #15371, #37295, #13421, #120991, #53346, #97081, #21151, #118208, #15100, #61549, #70749, #15258, #91457, #88248, #86723, #65684, #10611, #52345, #26799, #48024, #98571, #116768, #29777, #119298, #82867, #55136, #84191, #85098, #54551, #90783, #16727, #4349, #91350, #118029, #16678, #92350, #60033, #80690, #4274, #76849, #49502, #62337, #60917, #55988, #9943, #9038, #102327, #92317, #49720, #102762, #85053, #5317, #88696, #83547, #117413, #73214, #119018, #16219, #14991, #111772, #121867, #116504, #23712, #64770, #63457, #119008, #42462, #121668, #74786, #80781, #111997, #112731, #87800, #121062, #88754, #42339, #73625, #98656, #88133, #17928, #14203, #93143, #118218, #85047, #77934, #111620, #91261, #61781, #44291, #87635, #109758, #110222, #101563, #118595, #38298, #91140, #66508, #29198, #103436, #76626, #103985, #57563, #102972, #121303, #85521, #58653, #10518, #65563, #85134, #95190, #116124, #57895, #71157, #58552, #101508, #12252, #59827, #7266, #22059, #5438, #17971, #28335, #111241, #75809, #117399, #66094, #57538, #94583, #89544, #119346, #106981, #8631, #71852, #63024, #61623, #65270, #71769, #115476, #113556, #29527, #112489, #114720, #105994, #114220, #69047, #53967, #114726, #80441, #27099, #106930, #65612, #10567, #83368, #57954, #114951, #112201, #67772, #69983, #89909, #71033, #117257, #58141, #79044, #107085, #77517, #107222, #60836, #9846, #90843, #100919, #78489, #89378, #13144, #40257, #30636, #65726, #113765, #47073, #34732, #46777, #21848, #80974, #107829, #75283, #107350, #112793, #18339, #50412, #112485, #69485, #113860, #121614, #60669, #102099, #20288} "#2693.("current_folder") => E_PERM (Permission denied) "#2693.("all_connect_places") => E_PERM (Permission denied) "#2693.("last_connect_place") => E_PERM (Permission denied) "#2693.("lines") => E_PERM (Permission denied) ;;#2693.("pq") = "His Eminence's" ;;#2693.("pqc") = "His Eminence's" ;;#2693.("page_origin_msg") = "%n imposes %p will upon you from %l." ;;#2693.("page_echo_msg") = "%n receives your message." ;;#2693.("last_connect_time") = 1137965161 "#2693.("ownership_quota") => E_PERM (Permission denied) ;;#2693.("gender") = "Eminence" ;;#2693.("prc") = "His Eminent Self" ;;#2693.("ppc") = "His Eminence's" ;;#2693.("poc") = "His Eminence" ;;#2693.("psc") = "His Eminence" ;;#2693.("pr") = "His Eminent Self" ;;#2693.("pp") = "His Eminence's" ;;#2693.("po") = "His Eminence" ;;#2693.("ps") = "His Eminence" ;;#2693.("home") = #175 "#2693.("password") => E_PERM (Permission denied) ;;#2693.("first_connect_time") = 0 "#2693.("size_quota") => E_PERM (Permission denied) "#2693.("last_password_time") => E_PERM (Permission denied) "#2693.("last_connect_attempt") => E_PERM (Permission denied) "#2693.("key") => E_PERM (Permission denied) ;;#2693.("aliases") = {"Grand_Master", "GrandMaster", "G_M", "GM", "Dungeon_Master", "Game_Master", "Game-Master", "DungeonMaster", "8rb", "8gms", "Malarky", "Malarkey", "Bunkum", "Malar", "His_Eminem", "Grhythm", "Grhyme", "Echelon"} ;;#2693.("description") = "The Grandmaster of the Bovine Illuminati. He carries a rubbery black object, which he gnaws on occasionally, and wears an enormous flat black hat. In fact, he wears many hats, as he is frequently inspired by other's spirits." ;;#2693.("object_size") = {128556, 1141286558} @verb #2693:"description" this none this @program #2693:description if (this.who in $local.rpg.grand_masters) return ((pass(@args) + " At present he is under the control of his '") + this.who.name) + "' personality."; else return pass(@args) + " At present, he appears slightly confused as to which spirit is motivating him, and he would appreciate you asking him."; endif . @verb #2693:"disfunc" this none this @program #2693:disfunc if (((valid(cp = caller_perms()) && (caller != this)) && (!$perm_utils:controls(cp, this))) && (caller != #0)) return E_PERM; endif this.who = $nothing; this:unfiddle_options(); force_input(this, "@more flush"); pass(@args); "Mooshie (#106469) - Mon Oct 6 10:38:38 1997 PDT - Added security (which was oddly lacking) and added an ugly force to flush out lines left by previous users."; . @verb #2693:"confunc" this none this @program #2693:confunc if (valid(caller_perms()) && (!(caller in {$sysobj, this}))) return E_PERM; else rpg = $local.rpg; this:notes(); "newsdate = rpg.news:messages_in_seq({1, 2})[1][2][1]"; "devdate = rpg.development:messages_in_seq({1, 2})[1][2][1]"; "newsexpire = rpg.news.expire_period"; "devexpire = rpg.development.expire_period"; "cushion = ((14 * 24) * 60) * 60"; "if ((x = (newsexpire - time()) + newsdate) < cushion)"; "this:tell(\"The first message on *RPG-NEWS will expire in \", $time_utils:english_time(x), \"; time to archive!\")"; "endif"; "if ((y = (devexpire - time()) + devdate) < cushion)"; "this:tell(\"The first message on *RPG-DEV will expire in \", $time_utils:english_time(y), \"; time to archive!\")"; "endif"; ("sample_lag" in $list_utils:slice(queued_tasks(), 7)) || rpg:sample_lag(); (lngth = length(this.todo)) && this:notify(((("His Eminence has " + tostr(lngth)) + " item") + ((lngth > 1) ? "s" | "")) + " in His @todo list."); if (command = rpg.user_utils.thx1138:login_command(connection_name(this))) eval(command); else this:notify("Remember to use `me '."); endif endif "31-JAN-95 DR -- Took out pass(@args) to save time logging in."; "Profane 17-MAR-96 1743PST -- added expire checking."; "THX (#105941) - Wed Nov 11, 1998 - Added a conditional to _only_ start :sample_lag() if a task isn't already running."; "Hannibal (#104762) - Mon March 17, 2003 - Commented out the list checking stuff since we aren't archiving them."; . @verb #2693:"title" none none none rxd @program #2693:title return pass(@args) + (valid(this.who) ? (" [" + `this.who:credit()[1] ! E_VERBNF => this.who.name') + "]" | ""); . @verb #2693:"@login" any any any @program #2693:@login "This verb leaves a message that is shown to Grand_Master when he logs in, thus letting us communicate minor updates, etc. to each other. -- Phantom"; "Usage: @login -- see current login messages"; " @login -- add a login message"; if (argstr) this.login_tell = listappend(this.login_tell, ((valid(this.who) ? this.who.name | this.name) + ": ") + argstr); this:tell("Message ", length(this.login_tell), " added."); else this:notes(); endif . @verb #2693:"@clear-log*in" any none none @program #2693:@clear-login if (dobjstr) this.login_tell = listdelete(this.login_tell, number = tonum(dobjstr)); this:tell("Login message ", number, " removed."); else this.login_tell = {}; this:tell("All login messages removed."); endif . @verb #2693:"mail_manage" any none none @program #2693:mail_manage if (!(dobjstr in {"notify", "forward"})) player:tell("Usage: mail_manage notify"); player:tell(" or mail_manage forward"); return; endif gms = (rpg = $local.rpg).gms; {news, core} = {rpg.news, rpg.development}; for t in ({news, core}) for guy in (t.("mail_" + dobjstr)) if (!(((guy in gms) || (guy in t.readers)) || (guy == t))) t:("delete_" + dobjstr)(guy); endif endfor endfor . @verb #2693:"notes" this none this @program #2693:notes if (caller_perms() in {this, @$local.rpg.grand_masters}) if (this.login_tell) for msg_num in [1..length(this.login_tell)] this:tell(msg_num, "--", this.login_tell[msg_num]); this:tell(); endfor else this:tell("No login messages."); endif endif . @verb #2693:"me I'm" any none none @program #2693:me "me -- Sets Grand_Master's identity for this session."; if (!dobjstr) player:tell("You are currently controlled by your ", $string_utils:nn(this.who), " personality."); elseif (!valid(x = $string_utils:match(dobjstr, gms = $local.rpg.grand_masters, "name", gms, "aliases"))) player:tell("That isn't one of Grand_Master's identities."); else player:tell("You set Grand_Master's identity to ", $string_utils:nn(this.who = x), "."); this:fiddle_options(); endif "Now sets G_M's options to those of - Profane 2/1/95 20:11EST"; . @verb #2693:"queued_tasks kill_task" this none this @program #2693:queued_tasks "Verbs for use by Grand_Master's other-selves."; "This could be done more elegantly, but I'd rather not right now."; cp = caller_perms(); if (verb == "kill_task") if ($local.rpg:is_grandmaster(caller_perms())) else return E_PERM; endif elseif ($local.rpg:trusted(caller_perms())) else return E_PERM; endif return call_function(verb, @args); "6/15/95 Slither -- allowed GMs to get the task queue."; "Mooshie (#106469) - Fri Jun 5, 1998 - Rewrote... more elegantly."; . "#2693:11 --- Permission denied"; @verb #2693:"_recycle" this none this @program #2693:_recycle "Allow Grand_Master and its various incarnations to create and recycle objects owned by His Eminency."; rpg = $local.rpg; if ((!$perm_utils:controls(caller_perms(), this)) && (!rpg:is_grandmaster(caller_perms()))) return E_PERM; endif "Prevent accidental recycling of worthwhile objects."; {doomed} = args; if ((!rpg.recycler:ok_to_recycle(doomed)) && ((!rpg:is_grandmaster(player)) || (!$command_utils:yes_or_no($string_utils:nn(doomed) + " has verbs, properties, and/or children. Are you sure you want to recycle it?")))) player:tell("Praise be! ", $string_utils:nn(doomed), " has been saved!"); return ((c = callers())[length(c)][2] in {"@create", "@destroy"}) ? kill_task(task_id()) | E_NONE; endif return pass(doomed); "THX (#105941) - Thu Mar 11, 1999 - Move the return line to here to cancel logging. Move it to $ to enable logging."; props = verbs = {}; for prop in (properties(doomed)) props = {@props, {prop, `doomed.(prop) ! ANY'}}; $command_utils:suspend_if_needed(0); endfor for v in (verbs(doomed)) verbs = {@verbs, {v, verb_code(doomed, v)}}; $command_utils:suspend_if_needed(0); endfor (props || verbs) && (this.nuked = {@this.nuked, {doomed, doomed.object_size[1], doomed.name, props, verbs}}); . @verb #2693:"@code" any any any r @program #2693:@code "Copied from Quinn (#19845):@code Thu Feb 25 19:32:44 1993 PST"; if (!(spec = $code_utils:parse_verbref(args[1]))) player:notify("Usage: @code :"); return; endif object = player:my_match_object(spec[1]); if ($command_utils:object_match_failed(object, spec[1])) return; endif what = object; vname = spec[2]; while ((what != $nothing) && ((code = verb_code(what, vname)) == E_VERBNF)) what = parent(what); endwhile if (code == E_VERBNF) player:notify("That object does not define that verb."); elseif (typeof(code) == ERR) player:notify(tostr("Error getting verbcode: ", code)); elseif (code == {}) player:notify("That verb has not been programmed."); else if (what != object) player:notify(tostr("Object ", object, " does not define that verb, but its ancestor ", what, " does.")); endif info = verb_info(what, vname); vargs = verb_args(what, vname); if (index(vargs[2], "/")) vargs = listset(vargs, $code_utils:short_prep(vargs[2]), 2); endif player:notify(tostr("@verb ", what, ":", $string_utils:print(info[3]), " ", $string_utils:from_list(vargs, " "), " ", info[2])); player:notify(tostr("@prog ", what, ":", vname)); player:notify_lines(code); player:notify("."); endif . @verb #2693:"@props @properties" any none none r @program #2693:@props "Copied from Quinn (#19845):@props Sat Feb 27 23:26:31 1993 PST"; "@properties -- a list of the readable properties on `object'"; dobj = player:my_match_object(dobjstr); if ($command_utils:object_match_failed(dobj, dobjstr)) return; endif props = properties(dobj); set_task_perms(player); if (props) names = {}; for p in (props) value = property_info(dobj, p); names = {@names, value ? p | value}; endfor else names = props; endif player:tell(";properties(", dobj, ") => ", $string_utils:print(names)); "...oh btw: i KNOW this allows people to read my properties. don't care..."; . @verb #2693:"grep_and_replace" this none this @program #2693:grep_and_replace "Copied from Quinn (#19845):grep_and_replace Thu Aug 19 10:41:25 1993 PDT"; ":grep_and_replace(object|object_list, sublist[, prompt])"; "Will perform a search and replace with regular expressions. If prompt is given and false, don't prompt user before changing each verb. 'Subset' is a list with each element in the format {regex, index, replace[, index, replace]*}, allowing one to replace several elements of one match pattern. For example:"; " ;player:grep_and_replace(player.owned_objects, {{\"%(fo[opb]%) is %([gd]o[dg]%)\", 1, \"Fob\", 2, \"God\"}})"; "Would replace all \"Foo is dog\", \"Fob is gog\", etc lines with \"Foo is God.\"."; if (caller_perms() != this.owner) "... for where I'm NOT a wizard ..."; return E_PERM; endif set_task_perms(caller_perms()); subsets = args[2]; prompt = {@args, 1}[3]; maxsub = 6; for object in ((typeof(o = args[1]) == LIST) ? o | {o}) objchanged = 0; for x in [0..(lv = length(verbs(object))) - 1] names = verb_info(object, v = tostr(x))[3]; changes = {}; for l in [1..length(code = verb_code(object, v))] for set in (subsets) sc = maxsub; verbchanged = 0; while ((rm = $sysobj:rmatch(line = code[l], set[1])) && ((sc = sc - 1) > 0)) subs = rm[3]; for i in [1..length(set) / 3] index = set[i * 2]; redex = set[(i * 2) + 1]; code[l] = line = tostr(line[1..max(subs[index][1] - 1, 1)], redex, line[min(subs[index][2] + 1, ll = length(line))..ll]); endfor verbchanged = verbchanged + 1; endwhile endfor if (verbchanged) changes = {@changes, {l, line}}; endif if ($command_utils:running_out_of_time()) player:notify(tostr("... Suspending after ", $string_utils:nn(object), " (", x, "/", lv - 1, ")")); suspend(random(2) - 1); endif endfor if (changes) player:notify(tostr(";", object, ":", names)); for set in (changes) player:notify(tostr($string_utils:right(set[1], 4), ": ", set[2])); endfor if (prompt && (!$command_utils:yes_or_no("Change this verb?"))) player:notify("**** Aborted."); elseif (r = set_verb_code(object, v, code)) player:notify("**** Failed: " + r[1]); for line in (listdelete(r, 1)) player:notify(" " + line); endfor elseif (changes) objchanged = objchanged + 1; endif endif endfor player:notify(tostr("---- ", objchanged, " changes to ", $string_utils:nn(object), ".")); endfor . @verb #2693:"@name" any is any @program #2693:@name "Copied from Quinn (#19845):@name Wed Sep 1 11:19:35 1993 PDT"; "@name object as newname -- Changes objects name without buggering with aliases."; if (caller != this) player:tell("@copy #19845:@name to me."); return E_PERM; elseif (!(dobjstr && iobjstr)) player:tell("@name is "); return E_ARGS; endif object = player:my_match_object(dobjstr); if ($command_utils:player_match_failed(object, dobjstr)) "...you foolish swine! choose a valid object!..."; return E_INVARG; elseif (typeof(result = object:set_name(iobjstr)) == ERR) player:tell("Couldn't set the name of ", $string_utils:nn(object), " => ", result, "."); return result; else player:tell("Name of ", $string_utils:nn(object), " set to \"", object.name, "\"."); return 1; endif . @verb #2693:"@sweeplog @sweep-log" any none none rxd @program #2693:@sweeplog "@sweep-log [num] -- Show RPG vacuum cleaner performance stats."; " Optional arg limits the output to the last 'num' sweeps."; header = tostr($string_utils:centre("Start Time", 28), " ", "Duration", " ", "Recycled", " ", "Remaining", " ", "Doomed"); lengthlog = length(sweeplog = #10161.sweep_log); range = dobjstr ? min(lengthlog, tonum(dobjstr)) | lengthlog; for info in (sweeplog[1..range]) msg = {}; for i in (info[6]) $command_utils:suspend_if_needed(5, tostr("Suspending on ", i in info[6], " entries.")); msg = {@msg, tostr(" ", i[1], " ", i[2] ? "(DOOMED)" | "", " while in ", $string_utils:name_and_number_list(i[3]), ".")}; endfor line = tostr(player:ctime(info[1]), " ", $string_utils:right($time_utils:dhms(info[2] - info[1]), 8), " ", $string_utils:right(tostr(info[4]), 8), " ", $string_utils:right(tostr(info[3] - info[4]), 9), " ", $string_utils:right(tostr(info[5]), 6)); player:tell_lines_suspended({header, line, "", @msg, "", ""}); endfor player:tell("----- End Sweep-Log"); . @verb #2693:"@propedit .propedit" any any any r @program #2693:@propedit "Copied from Quinn (#19845):@propedit Mon Sep 27 12:14:46 1993 PDT"; set_task_perms(player); if (caller != this) "...hack since i lack wizperms here..."; return E_PERM; endif if (!(spec = $code_utils:parse_propref(dobjstr))) player:tell("Usage: ", verb, " . [as string|list]"); elseif ($command_utils:object_match_failed(object = player:my_match_object(spec[1]), spec[1])) "...no matching object..."; elseif ((value = object.(propname = spec[2])) == E_PROPNF) "...property doesn't exist..."; player:tell("That object does not have that property definition."); elseif ((dt = typeof(value)) == ERR) "...some other kind of error..."; player:tell("(", value, ") Command aborted."); elseif ((!(dt in {STR, LIST})) || ((dt == LIST) && ((value != {}) && (typeof(value[1]) != STR)))) "...only allow players to edit a string or list a list of strings..."; player:tell(object.name, "(", object, ").", propname, " is not a string or a list of strings."); else save_as = (prepstr == "as") ? index(iobjstr, "str") ? STR | (index(iobjstr, "list") ? LIST | dt) | dt; as_str = (save_as == STR) ? " as a single string." | " as a list of strings."; propref = tostr(object.name, "(", object, ").", propname); player:tell("Now entering text to ", propref, as_str); if (lines = $command_utils:read_lines()) result = object.(propname) = (save_as == STR) ? $string_utils:from_list(lines) | lines; if (typeof(result) == ERR) player:tell("(", result, ") Property not written to."); else player:tell("Text written to ", propref, as_str); endif endif endif . @verb #2693:"clear_equipment" this none this rx @program #2693:clear_equipment ":clear_equipment(@classes)"; "Clears all property values identical to those on their parent."; if (!$local.rpg:is_grandmaster(caller_perms())) return E_PERM; endif total = {}; for w in (args) cleared = already = changed = 0; properties = properties(w); for o in (d = $object_utils:descendants_suspended(w)) for p in (properties) if ((ticks_left() < 100) || (seconds_left() < 2)) suspend(1 + random(5)); player:tell("... suspending ", w, ":", o in d, "/", length(d), "-(", cleared, "c)-(", changed, "o)-(", already, "a)"); endif if (is_clear_property(o, p)) already = already + 1; elseif (o.(p) == parent(o).(p)) clear_property(o, p); cleared = cleared + 1; else changed = changed + 1; endif endfor endfor player:tell(cleared, " properties of ", $string_utils:nn(w), " cleared."); player:tell(already, " were already clear."); player:tell(changed, " were genuinely opaque."); total = {@total, {w, cleared, already, changed}}; endfor return total; . @verb #2693:"@desc*ribe" any as any @program #2693:@describe "@describe as "; "Describe the given object with the text of 'description'. You may use the caret (^) character to represent line breaks in your description text."; set_task_perms(player); dobj = player:my_match_object(dobjstr); if ($command_utils:object_match_failed(dobj, dobjstr)) return E_INVARG; endif desc = index(iobjstr, "^") ? $string_utils:explode(iobjstr, "^") | iobjstr; if (e = dobj:set_description(desc)) player:notify(("Description for " + $string_utils:nn(dobj)) + " set."); elseif (e == E_PERM) player:notify(("You aren't allowed to set the description of " + $string_utils:nn(dobj)) + "."); else player:notify(tostr("Couldn't set the description of ", $string_utils:nn(dobj), ": ", e)); endif . @verb #2693:"mail_forward" this none this @program #2693:mail_forward "if (!(player in (g_ms = $local.rpg.grand_masters)) && #18448 in $list_utils:slice(callers()))"; " return {this};"; "else"; if (callers()[$][1] == #0) "Stop uncaught_error mail, which we handle over in our own version of handle_uncaught_error"; return {}; else original_to = {@$local.rpg.grand_masters, this.mail_forward_list}; moderated = $set_utils:diff(original_to, this.mail_abstentions); return moderated; endif "Um, maybe check callers instead of args?"; "Mooshie (#106469) - Fri Jun 5, 1998 - Added .mail_abstentions for people who don't want mail at all or who prefer to just subscribe to this.mail_forward_list (aka *Grand_Masters)"; . @verb #2693:"grep" this none this rx @program #2693:grep ":grep(object|object_list, regex-string)"; if (caller_perms() != this.owner) "... for where I'm NOT a wizard ..."; return E_PERM; endif set_task_perms(caller_perms()); string = args[2]; for object in ((typeof(o = args[1]) == LIST) ? o | {o}) total = 0; for x in [0..(lv = length(verbs(object))) - 1] names = verb_info(object, v = tostr(x))[3]; found = {}; for l in [1..length(code = verb_code(object, v))] if (m = $sysobj:match(line = code[l], string)) found = {@found, {l, line}}; endif if ($command_utils:running_out_of_time()) player:notify(tostr("... Suspending after ", $string_utils:nn(object), " (", x, "/", lv - 1, ")")); suspend(random(5) - 1); endif endfor if (found) player:notify(tostr(";", object, ":", names)); for set in (found) player:notify(tostr($string_utils:right(set[1], 4), ": ", set[2])); endfor endif endfor player:notify(tostr("---- Found ", total, " occurences in ", $string_utils:nn(object), ".")); endfor "Copied from Quinn (#19845):grep Mon Jul 11 22:18:34 1994 PDT"; . @verb #2693:"fiddle_options" this none this rx @program #2693:fiddle_options ":fiddle_options() -- set the options in this.options_to_set to the values of this.who's options."; if (caller != this) return E_PERM; elseif (!((who = this.who) in $local.rpg.grand_masters)) this:unfiddle_options(); else for option in (this.options_to_set) what = (typeof(x = who.(option)) == ERR) ? parent(this).(option) | x; this.(option) = what; endfor this:set_linelength(who.linelen, 1); if (who.pagelen != this.pagelen) force_input(this, tostr("@pagelen ", who.pagelen)); endif this:notify(("Options set to those of " + $string_utils:nn(who)) + "."); endif " - Sun Oct 5 16:51:42 1997 PDT - Mooshie - Added pagelength setting. A bit ugly with the force, but there's no executable verb to set pagelength."; . @verb #2693:"unfiddle_options" this none this rx @program #2693:unfiddle_options ":unfiddle_options() -- make all the options in this.options_to_set clear."; if (caller != this) return E_PERM; else for option in (this.options_to_set) clear_property(this, option); endfor this:set_linelength(parent(this).linelen, 1); this.laggy_tell = 1; if (this in connected_players()) this:notify("Options reset to default."); endif endif . @verb #2693:"read_error_msgs(obsolete)" this none this @program #2693:read_error_msgs(obsolete) if ($local.rpg:trusted(caller_perms())) return this.error_msgs; endif . @verb #2693:"report_error" this none this @program #2693:report_error if (caller_perms() == this) "this.error_msgs = {@this.error_msgs, args[1]};"; $local.rpg:log_error(@args); return 1; else return E_PERM; endif "THX (#105941) - Wed Mar 28, 2001 - Altered this to forward to rpg:log_error() instead."; . @verb #2693:"@clear_error_msgs(obsolete)" none none none rxd @program #2693:@clear_error_msgs(obsolete) if ($local.rpg:trusted(caller_perms())) this.error_msgs = {}; callers() || player:tell("Error messages erased."); return 1; else return E_PERM; endif . @verb #2693:"tell" this none this rx @program #2693:tell "Copied from StarDancer (#82267):tell Wed May 1 14:44:39 1996 PDT"; if (this.laggy_tell) return pass(@args); else notify(this, tostr(@args)); endif . @verb #2693:"qtell" none none none @program #2693:qtell "Copied from StarDancer (#82267):qtell Wed May 1 14:45:52 1996 PDT"; this.laggy_tell = !this.laggy_tell; laggy_msg = this.laggy_tell ? "on" | "off"; this:tell("Your your spoof protection, etc is now ", laggy_msg, "."); . @verb #2693:"acceptable" this none this @program #2693:acceptable return (!$object_utils:isa(args[1], #8185)) && pass(@args); . @verb #2693:"@snoop-dolls" none none none @program #2693:@snoop-dolls rpg = $local.rpg; who = this.who; player:tell("Snooping, this'll take a while.."); fork (5) {c_u, s_u, trash} = {$command_utils, $string_utils, $garbage}; main_text = {}; threshhold = 30; skills = $object_utils:leaves_suspended(rpg.skill_object); skill_names = $list_utils:map_prop(skills, "aliases"); skill_names = $list_utils:slice(skill_names, 1); dolls = rpg.dolls; for doll in (dolls) text = {}; if (((valid(doll) && (parent(doll) != trash)) && is_player(char = doll.character)) && (!(char in rpg.gms))) for each in (skill_names) if ((val = doll.(each)) > threshhold) text = {@text, ((" ." + each) + " = ") + tostr(val)}; endif c_u:suspend_if_needed(0, (tostr(doll in dolls) + " of ") + tostr(length(dolls))); endfor if (doll.pot > 250) text = {@text, " .pot = ", tostr(doll.pot)}; endif if (text) main_text = {@main_text, (("Player : " + s_u:nn(char)) + ", doll: ") + tostr(doll), @text, ""}; endif endif endfor this.snoop_data = main_text; $mail_agent:send_message(this, this.who, "Report from @snoop-dolls", main_text); endfork . @verb #2693:"checker" this none this @program #2693:checker day = 24 * 3600; c_u = $command_utils; n = 0; for doll in (#46.dolls) if ((time() - doll.last_action) <= day) n = n + 1; endif c_u:suspend_if_needed(3); endfor return n; . @verb #2693:"@check-caps" none none none @program #2693:@check-caps if (player != this) raise(E_PERM); else rpg = $local.rpg; caps = {}; player:tell("Figuring out which properties are caps."); for prop in (properties(rpg.doll)) if (match(prop, "CAP.*")) caps = setadd(caps, prop); endif endfor $command_utils:suspend_if_needed(0); player:tell("Checking caps of dolls."); bad = {}; for doll in (rpg.dolls) data = {}; if (is_player(doll.character)) for cap in (caps) if (doll.(cap) > 30) data = {@data, cap}; endif endfor if (data) bad = {@bad, {doll.character, data}}; endif $command_utils:suspend_if_needed(0); endif endfor this.test = bad; player:tell(tostr(length(bad)), " players are miscreants."); endif . @verb #2693:"note" any any any @program #2693:note "Usage: note "; "If in an editor. Records the time, G_M user, and the given note in the present insert line, presumably of code."; where = this.location; if (!$object_utils:isa(where, $generic_editor)) player:tell("You should really be editing something to do that."); elseif (!valid(who = this.who)) player:tell("You need to set your identity using `me ' first."); elseif (!(active = this in where.active)) player:tell("You need to be actively editing something to do that."); else credit = `who:credit(this) ! E_VERBNF => {$string_utils:nn(who)}'; msg = tostr(@credit, " - ", ctime()[1..10], ",", ctime()[20..24], " - ", argstr); ". . now make it a comment - and add semi-colon . ."; msg = toliteral(msg) + ";"; if (typeof(error = where:insert_line(active, msg)) == ERR) player:tell("Something got fucked up inserting: ", error); endif endif "Sun Oct 5 22:36:11 1997 PDT - Mooshie (#106469) - Added and testing to see if it works. WOO ;)"; "THX (#105941) - Fri Dec 12, 1997 - Sliced out the time part of ctime() to save bytes."; "THX (#105941) - Sat Jan 9, 1999 - Added call to who:credit() to control the Name-and-Number of the person editting if desired."; . @verb #2693:"@o*wned" any any any @program #2693:@owned "Copied from Mooshie (#106469):@rev Sat Dec 27 01:03:47 1997 PST"; "Usage: @review start end"; "Reviews owned objects, using index of given args."; {start, end} = args; if ((start = toint(start)) && (end = toint(end))) if (typeof(range = `this.owned_objects[start..end] ! ANY') != LIST) player:tell("Error in given indexes: ", range); elseif (!range) player:tell("Empty index range."); else su = $string_utils; cu = $command_utils; player:tell("Starting with .owned_objects[", start, "]"); player:tell("Kids Verbs Properties Parent"); player:tell("----- ---------- ------"); for thing in (range) cu:suspend_if_needed(0, "Suspending output..."); player:tell(su:nn(thing), ": ", su:group_number(thing.object_size[1])); player:tell(su:left(length(children(thing)), -5), su:left(length(verbs(thing)), -6), su:left(length(properties(thing)), -11), su:nn(parent(thing))); endfor player:tell("Ended with .owned_objects[", end, "]"); endif else player:tell("Arguments must be integers."); endif . "#2693:36 --- Permission denied"; "#2693:37 --- Permission denied"; @verb #2693:"moveto" this none this @program #2693:moveto return (((player == this) || $perm_utils:controls(caller_perms(), this)) || (caller in {this, this.location})) ? pass(@args) | E_PERM; . @verb #2693:"handle_uncaught_error" this none this @program #2693:handle_uncaught_error "Custom version to redirect the mail to the right place."; if (caller == #0) {code, msg, value, stack, traceback} = args; who = `stack[1][1].owner ! E_INVIND => this'; $mail_agent:send_message(#0, who, "traceback", traceback); endif . @verb #2693:"_create _chparent" this none this @program #2693:_create "Usage: _chparent(OBJ what, OBJ parent)"; " _create(OBJ parent)"; "This is a hack for GMs in the LRPG so they can create children of"; "RPG objects that have :make_fertile verbs to allow GM access."; if ($perm_utils:controls(caller_perms(), this)) what = args[(verb == "_chparent") + 1]; rpg = $local.rpg; if (yes = ((!what.f) && (what.owner != this)) && rpg:trusted_verb(what, "make_fertile")) `what:make_fertile() ! ANY'; rpg:s_i_n(0); endif p = pass(@args); yes && `what:make_fertile(1) ! ANY'; return p; else return E_PERM; endif . @verb #2693:"command" this none this @program #2693:command rpg = $local.rpg; for t in (rpg.vacuum.monsters) if (t.tell_forward) notify(player, (("Tell: " + #20:nn(t)) + " ") + #20:nn(t.tell_forward)); endif if (t.monitor_ok) notify(player, (("Mon: " + #20:nn(t)) + " ") + #20:nn(t.monitor_ok)); endif if (t.command_ok) notify(player, (("Com: " + #20:nn(t)) + " ") + #20:nn(t.command_ok)); endif rpg:s_i_f_i_n(); endfor . "#2693:42 --- Permission denied"; @verb #2693:"newdesc" this none this @program #2693:newdesc $local.rpg:secure(); (this == this.owner) || this:set_description(@args); . @verb #2693:"@verbed*_propped_update" none none none @program #2693:@verbed_propped_update rpg = $local.rpg; verbed = propped = verb_size = prop_size = {}; for t in (this.owned_objects) verbs = `verbs(t) ! E_PERM => E_PERM'; if (verbs == E_PERM) this:tell($string_utils:nn(t), " is giving me trouble."); elseif (verbs) verbed = {@verbed, t}; verb_size = {@verb_size, t.object_size[1]}; elseif (properties(t)) propped = {@propped, t}; prop_size = {@prop_size, t.object_size[1]}; endif rpg:s_i_f_i_n(); endfor verbed = $list_utils:sort_suspended(0, verbed, verb_size); this.verbed_objects = $list_utils:reverse(verbed); this.propped_objects = propped; this:tell("Updated verbed and propped objects lists."); . @verb #2693:"wasted_verbs" this none this @program #2693:wasted_verbs {rpg, su} = {$local.rpg, $string_utils}; exten = {}; bytes = 0; for t in (this.verbed_objects) for s in (verbs(t)) if (indx = index(s, "(")) exten = setadd(exten, s[indx..$]); this:tell(t, ":", s); bytes = bytes + value_bytes(`verb_code(t, su:first_word(s)[1]) ! ANY'); "force_input(this, \"@rmverb \"+tostr(t)+\":\"+tostr(s));"; else rpg:s_i_f_i_n(); endif endfor endfor return {bytes, exten}; . @verb #2693:"notify" this none this @program #2693:notify if ((caller != this) && (!$perm_utils:controls(caller_perms(), this))) return E_PERM; elseif (this.ftp_dumping) this.ftp_dump = {@this.ftp_dump, @args}; if (args[1] == "\"***finished***") this.ftp_dumping = 0; fork (5) #44604:finish_ftp_dump(); endfork endif else return pass(@args); endif . @verb #2693:"find_batch" this none this @program #2693:find_batch {start, end} = args; rpg = $local.rpg; dolls = rpg.dolls; total = 0; for dude in ($list_utils:sort(pcs = rpg.pcs)) if ((is_player(dude) && (dude > start)) && (dude <= end)) doll = dolls[dude in pcs]; total = total + doll.object_size[1]; endif endfor return total; . "#2693:48 --- Permission denied"; @verb #2693:"notify_mail" this none this @program #2693:notify_mail return; "THX (#105941) - Fri Oct 22, 1999 - Just added this so G_M doesn't get notified when *G_Ms gets mail. The notification was screwy from #100068 anyway."; . @verb #2693:"find_prop" this none this @program #2693:find_prop {lookfor} = args; lookfor = tostr(lookfor); (rpg = $local.rpg):secure(); {s_u, o_u} = {$string_utils, $object_utils}; for t in ({@this.verbed_objects, @this.propped_objects}) rpg:s_i_f_i_n(); for s in ({@properties(t), @`properties(parent(t)) ! ANY => {}'}) index(`toliteral(t.(s)) ! ANY => ""', lookfor) && player:tell(s_u:nn(t), " ", s); for r in (o_u:descendents_suspended(t)) rpg:s_i_f_i_n(); index(`toliteral(r.(s)) ! ANY => ""', lookfor) && player:tell(s_u:nn(t), " ", s); endfor endfor endfor . @verb #2693:"chexx" this none this @program #2693:chexx xoo = {}; ou = $object_utils; gms = #46.gms; for t in (ou:descendents(#258)) #46:s_i_f_i_n(); for s in ({@t:exits(), @t:entrances()}) #46:s_i_f_i_n(); (ou:has_verb(s, "move") == {#7}) && (((t.owner in gms) || (s.owner in gms)) && (xoo = setadd(xoo, {s, parent(s), s.owner}))); endfor endfor xoo = $list_utils:sort_suspended(0, xoo, $list_utils:slice(xoo, 3)); for t in (xoo) {exit, parent, owner} = t; player:tell(#20:nn(t)); player:tell("From: ", #20:nn(exit.source), " to: ", #20:nn(exit.dest)); #46:s_i_f_i_n(); endfor . @verb #2693:"millionaires" this none this @program #2693:millionaires (rpg = $local.rpg):secure(); this.millionaires = {}; for dude in (rpg.pcs) rpg:s_i_f_i_n(); if (is_player(dude)) cash = rpg.user_utils.thx1138:calculate(dude); if (cash >= 100000000) this.millionaires = setadd(this.millionaires, dude); endif endif endfor return this.millionaires; . @verb #2693:"check_efunc" this none this @program #2693:check_efunc {?verbname = "exitfunc"} = args; (rpg = $local.rpg):secure(); {ou, su} = {$object_utils, $string_utils}; n = {}; for t in (ou:descendents(rpg.dungeon)) rpg:s_i_f_i_n(); if (((t.owner in rpg.gms) && (ou:has_verb(t, verbname) == {t})) && (!((index(verbcode = toliteral(`verb_code(t, verbname) ! ANY => ""'), "trusted_efunc") || index(verbcode, "secure_stack")) || (verbcode == "{\"return;\"}")))) n = {@n, {t, t.owner}}; endif endfor n = $list_utils:sort(n, $list_utils:slice(n, 2)); for t in (n) {t1, t2} = t; player:tell(su:left(su:nn(t1), 43), " ", su:nn(t2)); endfor . @verb #2693:"update_dolls(obsolete)" this none this @program #2693:update_dolls(obsolete) if (!(caller_perms() in $Local.rpg.grand_masters)) return "E_NOSY_SCHMUCK"; endif skills = $object_utils:descendants_suspended(#19051); prices = {1, 2, 4, 8}; price_max = {15, 20, 25, 30}; dolls = #46.dolls; for doll in (dolls) if (is_player(doll.character)) cost = 0; for skill in (skills) sk = skill.aliases[1]; cp = skill.cap_names; mult = skill.cap_boost_mult; for cn in (cp) for n in [1..4] if (doll.(sk) > max(price_max[n] - 5, doll.(cn))) cost = cost + (mult * prices[n]); doll.(cn) = price_max[n]; endif endfor $command_utils:suspend_if_needed(1, "Suspending cap update..."); endfor endfor doll.total = min(590, doll.total + cost); endif $command_utils:suspend_if_needed(1, "Suspending cap update..." + doll.name); endfor . @verb #2693:"receive_shatter" this none this @program #2693:receive_shatter {target, spell} = args; (rpg = $local.rpg):secure(); return rpg.object_db.hack_db:fragment(target, spell, player, caller); "A relay verb for Hydros' l'il rubbery crumb interaction."; . @verb #2693:"usager" this none this @program #2693:usager rpg = $local.rpg; rpg:secure(); su = $string_utils; for t in (rpg.dispenser.dispenses) (($object_utils:has_property(t, "track_usage") && t.track_usage) && t.track_usage[1]) && player:tell(su:nn(t), " ", toliteral(t.track_usage)); endfor return; ok = {#82951, #8833, #93776, #11312, #97283, #99988, #86864, #24507, #1265, #65063, #9511, #6571, #11332, #65042, #1252, #77953, #1920, #1325, #7775}; player:tell("Exempting kids that track usage on the following: ", su:nn(ok)); for t in ($object_utils:descendents(#82)) track = t.track_usage; if ((track && (!(track[$] in ok))) && (t.name != track[$].name)) if ($command_utils:yes_or_no(((su:nn(t) + " ") + su:nn(track[$])) + " rationalize?")) t.track_usage[$] = t; endif elseif ((track && (!is_clear_property(t, "track_usage"))) && (!children(t))) if ($command_utils:yes_or_no(tostr(su:nn(t), " has no kids and has parent ", su:nn(parent(t)), " and is tracked by ", su:nn(track[$]), ". Zero?"))) t.track_usage = {}; endif endif endfor . @verb #2693:"wha" this none this @program #2693:wha ou = $object_utils; n = this.owned_objects; for t in (n) #46:s_i_f_i_n(); if (children(t)) u = ou:descendents_suspended(t); for r in (u) #46:s_i_f_i_n(); (r in n) || (n = {@n, r}); endfor endif endfor return length(n); . @verb #2693:"gac gdl" this none this @program #2693:gac "attribute-changes: {character, player, perms, attribute, newvalue, time}"; "death-logs: {victim-character, perms, killer, time}"; "This is not intended for use as a public verb and the values above may change at any time."; "When attribute changes are concerned, the `player' is, in most cases, the culprit. Many changes use my (Quinn's) perms, so don't start screaming that I'm changing everyone's stats."; (rpg = $local.rpg):secure(); res = (verb == "gac") ? this.attribute_changes | rpg.death_db.deathlog; return res; "DR 20-APR-94 -- Added perms check."; . @verb #2693:"trii" this none this @program #2693:trii $local.rpg:secure_x(); for t in (#69105:read_misc_note("Daily_log")[5..$]) indx = index(t, "{{"); if (indx) player:tell(t[1..indx - 1]); callers = t[indx - 1..$]; $code_utils:display_callers($no_one:eval(callers)[$]); else player:tell(toliteral(t)); endif endfor . @verb #2693:"DO_archive_dolls" this none this @program #2693:DO_archive_dolls "==> Use Mooshie's old archival code to send us a log of the dolls. It's not FTP anymore, but it works. Double the security, just in case."; (rpg = $local.rpg):secure(); if (caller_perms() != this) return E_PERM; elseif (this.doll_archival_task_running) else this.doll_archival_task_running = 1; header = "Doll Archive"; txt = rpg.archiver:doll_archive_text(#0, max_object()); txt = setadd(txt, header); txt = {txt[$], @txt[1..$ - 1]}; "We were losing one doll's listing in the email; hence this cludgy hack insert of a header."; this:send_self_netmail(txt); this.doll_archival_task_running = 0; endif "Hydros (#106189) - Wed Feb 23, 2005 - To call this verb, use G_M's Orb (#44604):@archive-dolls."; "Hydros (#106189) - Mon Feb 28, 2005 - Now to be used as a back up in case we lose the -new- FTP site provided by Mooshie."; . @verb #2693:"set_val" this none this @program #2693:set_val (rpg = $local.rpg):secure(); {object, prop, newval} = args; if (caller_perms() != #102427) return E_PERM; elseif (!(object.owner in {rpg.owner, #106189, #43860})) return E_PERM; elseif (!$object_utils:isoneof(object, {#82, #418})) return E_PERM; else oldval = object.(prop); #102427:tell(((("Old value of " + tostr(prop)) + ": ") + tostr(oldval)) + ""); return object.(prop) = newval; endif . "***finished***