#!/usr/bin/perl # ---------------------------------------------------------------------------- # This Software is Copyright (C) 2003, All Rights Reserved # ---------------------------------------------------------------------------- # This program is protected by local and international copyright laws. Any # use of this program is subject to the terms of the license agreement # included as part of this distribution archive. Any other uses are strictly # prohibited without the written permission of the Vendor and all # other rights are reserved. # ----------------------------------------------------------------------------- # Warning : Modifying this program violates your license agreement! # ----------------------------------------------------------------------------- BEGIN{@z=('4d4f445f5045524c','64656661756c745f696e7374616c6c5f646972','6a6d','70726f675f766572','31' .'2e3037','70726f675f6275696c64','31313131','70726f675f6964','6c6f676f6666','61626f75745f6c6963656e7' .'365','6c6f67696e5f6c6963656e7365','736f72746279','2d23636174736f72742320','6a6f625f736f7274','6163' .'6c','6a6f625f616464','6a6f625f65646974','6a6f625f636f6e6669726d5f6572617365','6a6f625f6572617365', '6a6f625f73617665','6a6f625f6c697374616c6c','6a6f625f6c697374','6361745f616464','6361745f65646974', '6361745f636f6e6669726d5f6572617365','6361745f6572617365','6361745f73617665','6361745f6c697374616c6' .'c','6361745f6c697374','6361745f6d6f7665','6361745f616c706861','73686f775f6c6963656e7365','64656d6f', '5f696e746572666163652e68746d6c','64656d6f5f6e6f5f6d6b646972','62726f7773655f646972','6d6b646972','' .'64656d6f5f6e6f5f6d6b6469725f7265646972','64656d6f5f6e6f5f62726f777365','646972','64656d6f5f6e6f5f6' .'2726f7773655f7265646972','73657475705f73617665','64656d6f5f6e6f5f73657475705f73617665','62726f7773' .'655f66696c65','66696c65','7075626c6973685f616c6c','73657475705f65646974','73657475705f74616231','7' .'3657475705f74616232','73657475705f74616233','73657475705f74616239','6163636f756e745f616464','61636' .'36f756e745f65646974','6163636f756e745f636f6e6669726d5f6572617365','6163636f756e745f6572617365','61' .'63636f756e745f73617665','6163636f756e745f6c697374616c6c','6163636f756e745f6c697374','64656661756c7' .'45f616374696f6e','6e616d65','6a6f62','6461746166696c65','6a6f622e646174','6669656c6473','6e756d206' .'3726561746564207570646174656420757064617465645f62792063617420636174736f7274206a6f625f6964206e616d6' .'520636f6e74656e7420636f6e74656e745f666f726d61742073756d6d6172792073756d6d6172795f666f726d6174206c6' .'f636174696f6e2073616c61727920636f6d70616e7920656d61696c207765627369746520636c6f73655f6461746520737' .'461747573','736561726368','2d23636174736f727423','7075626c6973685f737562','6c6973745f737562','6c69' .'73745f726f77636f6465','65726173655f737562','636174','6361742e646174','6e756d2063726561746564207570' .'646174656420757064617465645f627920736f7274206e616d65','2d23736f727423206e616d65','6163636f756e74', '6163636f756e742e6461742e636769','6e756d2063726561746564207570646174656420757064617465645f6279206e6' .'16d652069642070772061636c206e6f746573','6e616d65206964','73657373696f6e','73657373696f6e2e6461742e' .'636769','6e756d20637265617465642075706461746564206e616d652069642070772061636c206e6f746573','736574' .'7570','73657475702e6461742e636769','6e756d207469746c6562617220','636f6e6669726d5f657261736520636f6' .'e6669726d5f65726173656420636f6e6669726d5f73617665642073657475705f7761726e696e6720','6c6f67696e5f74' .'696d656f7574206c6f67696e5f74696d656f75745f6d696e20','75706c6f61646c696d69742075706c6f61646d6178207' .'5706c6f61645f6865696768742075706c6f61645f77696474682075706c6f616465787420','6c686f7572206c686f7572' .'5f6f6666736574206c6d696e206c6d696e5f6f666673657420','726567312072656732207265673320642063206920','' .'6469725f62617365206469725f75706c6f6164206469725f7075626c69736820','75726c5f696d6167652075726c5f686' .'56c702075726c5f75706c6f61642075726c5f7075626c69736820','656469746f725f666f726d617420656469746f725f' .'68696464656e20616c6c6f775f73736920','7075626c6973685f696e646578207075626c6973685f626173656e616d652' .'07075626c6973685f66696c6565787420','696d675f68656967687420696d675f776964746820696d675f616c69676e20', '7075626c6973685f656d7074795f63617473206a6f625f736f727420','64656d6f20','666f6f7465726261722075726c' .'5f6c6f676f6666206272616e64696e6720777973697779672076657273696f6e','5343524950545f46494c454e414d45', '2f','5343524950545f4e414d45','6e65737465645f6c6f636b73','66696c656c6f636b','6669656c645f6e616d65', '6469725f62617365','73646972','6d6b6469725f6e616d65','6469725f6572726f72','4e6f206469726563746f7279' .'206e616d652073706563696669656421','4469726563746f7279206e616d65206d6179206f6e6c7920636f6e7461696e2' .'0412d5a2c20612d7a2c20302d392c202d206f72205f','556e61626c6520746f2063726561746520646972203a20','6d6' .'b66696c65','6d6b66696c655f6e616d65','66696c655f6572726f72','4e6f2066696c65206e616d6520737065636966' .'69656421','46696c65206e616d65206d6179206f6e6c7920636f6e7461696e20412d5a2c20612d7a2c20302d392c202d2' .'c205f206f72202e','46696c6520616c72656164792065786973747321','556e61626c6520746f2063726561746520666' .'96c65203a20','636769646972','64697232','706172656e74','706172656e745f7565','6c697374','6572726f72', '4469726563746f727920646f65736e277420657869737421','4469726563746f72792069736e2774207265616461626c6' .'521','636f6e74656e74686561646572','5f62726f7773655f6469722e68746d6c','70617468','706174685f7565','' .'73697a65','6d74696d65','6d6f646966696564','6f74686572','6e6f66696c6573','436f756c646e27742066696e6' .'420','21','66696c6573','64697273','646972203a20556e6b6e6f776e2066696c652074797065203a20','706f73', '6c656e','64656275675f6f7574707574','3c62723e','51554552595f535452494e47','436f6e74656e742d74797065' .'3a20696d6167652f676966','436f6e74656e742d747970653a20696d6167652f6a706567','706c61696e','6370203a2' .'063616e2774207265616420','6370203a2063616e277420777269746520','746370','3830','43616e277420636f6e6' .'e65637420746f20','47455420','20485454502f312e30','557365722d4167656e743a204d6f7a696c6c612f342e3020' .'28636f6d70617469626c653b204d53494520352e303b2057696e646f7773204e543b2044696745787429','486f73743a2' .'0','434f4e54454e545f4c454e475448','52656164466f726d203a20496e7075742065786365656473206d617820696e7' .'07574206c696d6974206f6620','434f4e54454e545f54595045','524551554553545f4d4554484f44','504f5354','5' .'f70617468','5f66696c65','5f657874','474554','43','74727565','616c6c6f775f737369','56','4d','41','4' .'4','6c686f7572','616464','6c686f75725f6f6666736574','6d696e7573','6c6d696e','6c6d696e5f6f666673657' .'4','6e6f2d6361636865','6361636865','737369','54656d706c6174653a20556e6b6e6f776e2074656d706c6174652' .'0666c616720','54656d706c617465203a204e6f2074656d706c6174652066696c65207761732073706563696669656421', '48415348','54656d706c617465203a20546865207365636f6e6420617267756d656e74206d75737420626520612048415' .'348207265666572656e6365206f7220756e646566696e656421','54656d706c617465203a2054656d706c617465206669' .'6c6520','20636f756c64206e6f7420626520666f756e6421','54656d706c617465203a20436f756c646e2774206f7065' .'6e20','776562726f6f74','444f43554d454e545f524f4f54','696e736964655f737369','54656d706c61746543656c' .'6c203a204e6f2074656d706c6174652063656c6c207761732073706563696669656421','54656d706c61746543656c6c2' .'03a2054656d706c6174652063656c6c20','206973206e6f7420646566696e656421','54656d706c61746543656c6c203' .'a20546865207365636f6e6420617267756d656e74206d75737420626520612048415348207265666572656e6365206f722' .'0756e646566696e656421','5a','61','7a','2b','422a','3d','4d494d453634203a204e6f7468696e6720746f2064' .'65636f6465','252525303278','536574436f6f6b6965203a20436f6f6b6965206e616d65206d75737420626520737065' .'636966696564','536574436f6f6b6965203a2045787069726520446174652069736e277420696e207365636f6e6473207' .'573696e672074696d6528293b','4d6f6e2c2030312d4a616e2d313939392048483a4d4d3a535320474d54','474d54','' .'657870697265733d','706174683d','646f6d61696e3d','7365637572653b20','5365742d436f6f6b69653a20','485' .'454505f434f4f4b4945','4a616e','466562','4d6172','417072','4d6179','4a756e','4a756c','417567','5365' .'70','4f6374','4e6f76','446563','4a616e75617279','4665627275617279','4d61726368','417072696c','4a75' .'6e65','4a756c79','417567757374','53657074656d626572','4f63746f626572','4e6f76656d626572','44656365' .'6d626572','53756e','4d6f6e','547565','576564','546875','467269','536174','53756e646179','4d6f6e646' .'179','54756573646179','5765646e6573646179','5468757273646179','467269646179','5361747572646179','2' .'5303264','7374','6e64','7264','7468','44425f5365656b203a2054686520666972737420617267756d656e74206d' .'75737420626520612048415348207265666572656e636521','44425f5365656b203a20546865207365636f6e642061726' .'7756d656e74206d75737420626520612048415348207265666572656e636521','44425f5365656b203a204e6f20736565' .'6b206669656c64207761732073706563696669656421','44425f4c697374203a2054686520666972737420617267756d6' .'56e74206d75737420626520612048415348207265666572656e636521','434f4445','44425f4c697374203a205468652' .'07365636f6e6420617267756d656e74206d757374206265206120434f4445207265666572656e636521','44425f4c6973' .'74203a2054686520666f7572746820617267756d656e74206d75737420626520612048415348207265666572656e636521', '44425f4c697374203a20416e6f6e207375622024726f77636f6465206973206e6f7420646566696e656421','44425f4c6' .'97374203a204e6f206461746166696c6520646566696e656420696e20646174616261736520646566696e6974696f6e202' .'82544424465662921','6f776e6572','6e','2d','44425f4c697374203a2044424465662d3e736f7274627920636f6e7' .'461696e7320756e6b6e6f776e206669656c64206e616d6520','a1','44425f4c69737450616765203a205468652066697' .'2737420617267756d656e74206d75737420626520612048415348207265666572656e636521','44425f4c697374506167' .'65203a2054686520746869726420617267756d656e74206d757374206265206120434f4445207265666572656e636521', '44425f4c69737450616765203a2054686520666966746820617267756d656e74206d757374206265206120484153482072' .'65666572656e636521','44425f4c69737450616765203a20416e6f6e207375622024726f77636f6465206973206e6f742' .'0646566696e656421','44425f4c69737450616765203a204e6f206461746166696c6520646566696e656420696e206461' .'74616261736520646566696e6974696f6e20282544424465662921','44425f4c69737450616765203a2044424465662d3' .'e73656172636820636f6e7461696e7320756e6b6e6f776e206669656c64206e616d6520','44425f4c6973745061676520' .'3a2044424465662d3e736f7274627920636f6e7461696e7320756e6b6e6f776e206669656c64206e616d6520','44425f4' .'c69737453617665203a2044424465662d3e736f7274627920636f6e7461696e7320756e6b6e6f776e206669656c64206e6' .'16d6520','bf25303278','44425f416464203a2054686520666972737420617267756d656e74206d75737420626520612' .'048415348207265666572656e636521','44425f416464203a20546865207365636f6e6420617267756d656e74206d7573' .'7420626520612048415348207265666572656e636521','44425f4c6f6164203a2054686520666972737420617267756d6' .'56e74206d75737420626520612048415348207265666572656e636521','44425f4c6f6164203a20546865207365636f6e' .'6420617267756d656e74206d75737420626520612048415348207265666572656e636521','44425f4c6f6164203a204e6' .'f207265636f7264206e756d626572207761732073706563696669656421','44425f44656c203a20546865206669727374' .'20617267756d656e74206d75737420626520612048415348207265666572656e636521','44425f44656c203a205468652' .'07365636f6e6420617267756d656e74206d7573742062652061207265636f7264206e756d62657221','44425f53617665' .'203a2054686520666972737420617267756d656e74206d75737420626520612048415348207265666572656e636521','4' .'4425f53617665203a20546865207365636f6e6420617267756d656e74206d7573742062652061204841534820726566657' .'2656e636521','44425f53617665203a204e6f207265636f7264206e756d626572207761732073706563696669656421', '6d61785f66696c656c6f636b5f77616974','6578636c7573697665','6e6f7772697465','64617461646972','736572' .'76657262757379','66696c6573797374656d','5f73756273','46485f437265617465','6e756d','64697361626c655' .'f66696c656c6f636b696e67','6c6f636b','737461636b','736861726564','756e6c6f636b3a206e657374656420666' .'96c656c6f636b20756e64657272756e','6c6f636b696e666f','66696c656e616d65','68616e646c65','6c6f67696e', '6964','7077','6c6f67696e5f696e76616c6964','63726561746564','75706461746564','6c6f67696e5f657870697' .'26564','6c6f67696e5f74696d656f7574','6c6f67696e5f74696d656f75745f6d696e','6c6f67696e5f6e6f61636365' .'7373','436f6e74656e742d747970653a20746578742f68746d6c','75695f6c6f67696e5f696e746572666163653a2074' .'656d706c61746563656c6c20','6d657373616765','686561646572','6c6f67696e5f6d657373616765','666f6f7465' .'72','75726c5f6c6f676f6666','75695f6c697374203a2054686520666972737420617267756d656e74206d7573742062' .'6520612048415348207265666572656e636521','6c697374203a205461626c65206e616d6520756e646566696e6564','' .'5f','5f6d656e75732e68746d6c','5f70657270616765','706167656e756d','5f706167656e756d','6b6579776f726' .'4','5f6b6579776f7264','5f6c697374616c6c','5f706572706167655f','5f73656c6563746564','73656c65637465' .'64','64617465','4a616e203173742c2032303030202d2048483a4d4d3a5353','6267636f6c6f72','23454545454646', '23444444444545','726f77','70636f756e74','6d636f756e74','72636f756e74','6370616765','6c70616765','6' .'e70616765','6e6f745f666f756e64','616363657373','616464203a205461626c65206e616d6520756e646566696e65' .'64','6d61785f7265636f726473','6572726f725f6d61785f7265636f726473','6e6f6e65','757064617465645f6279', '77797369777967','777973697779675f6a617661736372697074','777973697779674a53','73756d6d617279','636f' .'6e74656e74','65646974','65646974203a205461626c65206e616d6520756e646566696e6564','5f65646974','6e6f' .'7265636f7264','5f636865636b6564','636865636b6564','636f6e6669726d5f6572617365203a205461626c65206e6' .'16d6520756e646566696e6564','636f6e6669726d5f6572617365','5f636f6e6669726d5f6572617365','6572617365' .'203a205461626c65206e616d6520756e646566696e6564','6572617365203a2043616e27742066696e64207265636f726' .'4202320','636f6e6669726d5f657261736564','657261736564','6572726f725f65726173655f73656c66','6572726' .'f725f6c6173745f61646d696e','73617665203a205461626c65206e616d6520756e646566696e6564','75706c6f61646' .'d6178','75706c6f61646c696d6974','6d617873697a65','6d6178686569676874','75706c6f61645f686569676874', '6d61787769647468','75706c6f61645f7769647468','616363657074657874','75706c6f6164657874','4e6f6e65', '6572726f725f75706c6f61645f6e6f745f7361766564','636f6e6669726d5f7361766564','7361766564','6469725f7' .'5706c6f6164','303030','25303364','75695f736176655f75706c6f616473203a2063616e277420736176652075706c' .'6f616465642066696c6520','6572726f725f757365726e616d655f74616b656e','73617665203a2043616e2774206669' .'6e64207265636f7264202320','717569636b5f65646974203a205461626c65206e616d6520756e646566696e6564','71' .'7569636b5f73617665203a205461626c65206e616d6520756e646566696e6564','717569636b5f656469745f737562','' .'5f73657475705f6d656e75732e68746d6c','72656733','2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a','7374696d65','6c' .'74696d65','656e765f7065726c5f6f73','656e765f7065726c5f766572','656e765f6d6f645f7065726c','656e765f' .'72656d6f74655f686f7374','656e765f72656d6f74655f61646472','76656e646f725f6e616d65','5f7375626c69636' .'56e73655f6e6f74696365','5f7565','74616231','74616232','74616233','74616239','73657475705f7761726e6' .'96e67','73617665645f74616231','73617665645f74616232','73617665645f74616233','73617665645f74616239', '496e76616c69642050726f64756374204944213c62723e','596f75206d75737420656e74657220796f75722050726f647' .'56374204944213c62723e','72656732','596f75206d75737420656e74657220796f757220646f6d61696e206e616d652' .'13c62723e','72656731','596f75206d75737420656e74657220796f757220636f6d70616e79206e616d65213c62723e', '75726c5f696d616765','656469746f725f666f726d6174','696d61676575726c','75695f7469746c65','7469746c65' .'626172','75695f666f6f746572','666f6f746572626172','75726c5f68656c70','7075626c69736865645f616c6c', '496e74657266616365203a204e6f2074656d706c6174652063656c6c207761732073706563696669656421','496e74657' .'266616365203a20546865207365636f6e6420617267756d656e74206d75737420626520612048415348207265666572656' .'e636521','6e6f5f68656c70','6d656e756261725f61636c','6d656e75626172','5f6f6e6c79','63757365725f6964', '696e74657266616365','6465627567','457865637574652074696d653a2025303164207365636f6e6473','7e','2573', '252d20353073','69676e6f7265','75726c','26','3c696e70757420747970653d68696464656e206e616d653d22','2' .'22076616c75653d22','223e','6c6963656e73655f6e756d','25303764','64','6c6f67696e5f64697361626c6564', '6373756d','253332432a','30313130313130303031','313031313131303131303031313130313130313030313031313' .'03131313030313031313131313031313030303131303131','303131313130313131303031303031313130303130303131' .'313031303130313131303030','30303131313031303030313130303130313031313030313030','69','63','5f696e73' .'74616c6c5f6d656e75732e68746d6c','63616e63656c','7374657032','5f6c6963656e7365','7374657033','48545' .'4505f484f5354','5345525645525f4e414d45','7374657034','6167726565','72656734','31','746f6f5f6d616e7' .'95f7369746573','504154485f494e464f','737465703461','696d616765735f75726c','6f6e6c6f6164','6f6e6c6f' .'61643d2277696e646f772e666f637573282922','7374657035','75726c5f75706c6f6164','6469725f7075626c69736' .'8','7374657036','7374657037','61646d696e5f6964','61646d696e5f7077','596f75206d75737420656e74657220' .'6120757365726e616d6520616e642070617373776f726421','5468617420757365726e616d6520697320616c726561647' .'92074616b656e2c20706c656173652073656c65637420616e6f746865722e','39','7374657031','5030593546394734' .'433852334c374132453655314448544e514a4b58424d57565a','5345525645525f41444452','26726567313d','26726' .'567323d','266c6e756d3d','2670726f673d','267665723d','2675726c3d','266373756d3d','72656769737465727' .'36f6674776172652e746f','5f6c6963656e73652e68746d6c','4141','57686b4d4b7a7947723767304a586873617567' .'616d32347937554f74687a2f453632544d646b49596c735677','3c7461626c6520626f726465723d312063656c6c73706' .'163696e673d302063656c6c70616464696e673d382077696474683d313030253e3c74723e3c7464206267636f6c6f723d2' .'223454545454545223e3c666f6e7420666163653d226d732073616e732073657269662c20617269616c222073697a653d3' .'23e','3c703e3c623e506c65617365204e6f74653a3c2f623e20245f76656e646f725f6e616d6524206861732067697665' .'6e20796f752074686520726967687420746f203c623e7375626c6963656e73653c2f623e20','7468697320736f6674776' .'1726520756e64657220746865207465726d73206f6620746865203c6120687265663d222463676975726c243f73686f775' .'f6c6963656e73653d3122207461726765743d225f6e6577223e6c6963656e73652061677265656d656e743c2f613e2e3c2' .'f703e','3c703e466f7220696e737472756374696f6e73206f6e20686f7720746f207375626c6963656e736520616e642f' .'6f722070726976617465206c6162656c207468697320736f6674776172652c20636f6e73756c7420796f757220646f6375' .'6d656e746174696f6e206f7220636f6e74616374203c6120687265663d22245f76656e646f725f75726c24222074617267' .'65743d225f6e6577223e245f76656e646f725f6e616d65243c2f613e20666f7220696e666f726d6174696f6e2e3c2f703e', '3c2f666f6e743e3c2f74643e3c2f74723e3c2f7461626c653e','63676975726c','3c68746d6c3e','3c686561643e','' .'3c7469746c653e245f76656e646f725f6e616d6524202d20536f667477617265204c6963656e73652041677265656d656e' .'743c2f7469746c653e','3c7374796c6520747970653d22746578742f637373223e3c212d2d','2e686561646572202020' .'207b20666f6e742d66616d696c793a20417269616c2c2048656c7665746963612c2073616e732d73657269663b20666f6e' .'742d73697a653a20313670783b20666f6e742d7765696768743a20626f6c643b207d','2e6d61696e7465787420207b206' .'66f6e742d66616d696c793a2056657264616e612c20417269616c2c2048656c7665746963612c2073616e732d736572696' .'63b20666f6e742d73697a653a20313170787d','2d2d3e3c2f7374796c653e','3c2f686561643e','3c626f6479206267' .'636f6c6f723d22234646464646462220746578743d222330303030303022206c696e6b3d22233030303043432220766c69' .'6e6b3d22233030303043432220616c696e6b3d222330303030434322206d617267696e77696474683d3135206d61726769' .'6e6865696768743d313520746f706d617267696e3d3135206c6566746d617267696e3d3135206f6e6c6f61643d2277696e' .'646f772e666f6375732829223e','3c666f6e7420636c6173733d226d61696e74657874223e','3c703e3c666f6e742066' .'6163653d22617269616c222073697a653d3420636c6173733d22686561646572223e3c623e3c666f6e7420636f6c6f723d' .'2223434330303030223e536f667477617265204c6963656e73652041677265656d656e743c2f666f6e743e3c2f623e3c2f' .'666f6e743e3c62723e','3c703e3c623e494d504f5254414e54202d2052454144204341524546554c4c593a3c2f623e205' .'4686973204c6963656e73652041677265656d656e742069732061206c6567616c20','61677265656d656e742062657477' .'65656e20596f7520616e642056656e646f722e2052656164206974206361726566756c6c79206265666f726520636f6d70' .'6c6574696e672074686520','696e7374616c6c6174696f6e2070726f6365737320616e64207573696e672074686520536' .'f6674776172652e2049742070726f76696465732061206c6963656e736520746f207573652074686520','536f66747761' .'726520616e6420636f6e7461696e732077617272616e747920696e666f726d6174696f6e20616e64206c696162696c6974' .'7920646973636c61696d6572732e203c623e425920','494e5354414c4c494e472c20434f5059494e47204f52204f54484' .'55257495345205553494e472054484520534f4654574152452c20594f552041524520434f4e4649524d494e4720594f555' .'220','414343455054414e4345204f462054484520534f46545741524520414e44204147524545494e4720544f20424543' .'4f4d4520424f554e4420425920544845205445524d53204f46205448495320','41475245454d454e542e20494620594f5' .'520444f204e4f542041475245452c20444f204e4f5420494e5354414c4c204f5220555345205448452050524f445543542' .'e3c2f623e','3c703e54686520536f667477617265206973206f776e65642062792056656e646f7220616e642f6f722069' .'7473206c6963656e736f727320616e642069732070726f74656374656420627920','636f70797269676874206c6177732' .'0616e6420696e7465726e6174696f6e616c20636f707972696768742074726561746965732c2061732077656c6c2061732' .'06f7468657220','696e74656c6c65637475616c2070726f7065727479206c61777320616e642074726561746965732e20' .'3c623e54484520534f465457415245204953204c4943454e5345442c204e4f5420','534f4c442e3c2f623e','3c703e3c' .'68722073697a653d313e','3c703e312e203c623e444546494e4954494f4e532e3c2f623e','3c6f6c20747970653d2261' .'223e','3c6c693e202256656e646f7222206d65616e73203c6120687265663d22245f76656e646f725f75726c242220746' .'1726765743d225f6e6577223e245f76656e646f725f6e616d65243c2f613e','3c6c693e2022596f75222c2022596f7572' .'22206d65616e7320796f7520616e6420796f757220636f6d70616e792e','3c6c693e2022536f66747761726522206d656' .'16e73207468652070726f647563742070726f766964656420746f20596f752c20776869636820696e636c7564657320636' .'f6d707574657220736f667477617265','616e64206d617920696e636c756465206173736f636961746564206d65646961' .'2c207072696e746564206d6174657269616c732c20616e6420226f6e6c696e6522206f7220656c656374726f6e6963','6' .'46f63756d656e746174696f6e2e','3c2f6f6c3e','3c703e322e203c623e4f574e4552534849502e3c2f623e','546865' .'20536f667477617265206973206f776e656420616e6420636f7079726967687465642062792056656e646f7220616e642f' .'6f7220697473206c6963656e736f72732e20596f757220','6c6963656e736520636f6e66657273206e6f207469746c652' .'06f72206f776e65727368697020696e2074686520536f66747761726520616e64206973206e6f7420612073616c65206f6' .'620','616e792072696768747320696e2074686520536f6674776172652e20','3c703e332e203c623e4752414e54204f4' .'6204c4943454e53452e3c2f623e20','56656e646f72206772616e747320596f752074686520666f6c6c6f77696e672072' .'69676874732070726f766964656420596f7520636f6d706c79207769746820616c6c207465726d7320','616e6420636f6' .'e646974696f6e73206f6620746869732061677265656d656e742e2020466f722065616368206c6963656e736520596f752' .'06861766520616371756972656420666f722074686520','536f6674776172653a','3c6c693e596f75206172652067726' .'16e7465642061206e6f6e2d6578636c757369766520726967687420746f2075736520616e6420696e7374616c6c204f4e4' .'520636f7079206f662074686520736f667477617265206f6e204f4e4520776562736974652e','3c6c693e596f75206d61' .'7920616c6c6f7720616e20756e6c696d69746564206e756d626572206f6620757365727320746f20616363657373206f72' .'206f7468657277697365207574696c697a6520746865','7365727669636573206f722066756e6374696f6e616c6974792' .'06f662074686520696e7374616c6c656420736f6674776172652e','3c6c693e596f75206d6179206d616b65206f6e6520' .'636f707920666f72206261636b7570206f7220617263686976616c20707572706f7365732e','3c6c693e596f75206d617' .'9206d6f64696679207468652074656d706c6174652066696c657320636f6e7461696e656420696e207468652074656d706' .'c6174657320666f6c64657220286966206170706c696361626c65292e','3c703e342e203c623e52455354524943544544' .'205553452e3c2f623e','3c6c693e20596f7520616772656520746f2075736520726561736f6e61626c65206566666f727' .'47320746f2070726576656e7420756e617574686f72697a656420636f7079696e67206f662074686520536f66747761726' .'52e','3c6c693e20596f75206d6179206e6f742064697361626c6520616e79206c6963656e73696e67206f7220636f6e74' .'726f6c206665617475726573206f662074686520536f667477617265206f7220616c6c6f772074686520536f6674776172' .'65','746f2062652075736564207769746820737563682066656174757265732064697361626c65642e','3c6c693e596f' .'75206d6179206e6f742073686172652c2072656e742c206f72206c6561736520596f757220726967687420746f20757365' .'2074686520536f6674776172652e','3c6c693e20596f75206d6179206e6f74206d6f646966792c207375626c6963656e7' .'3652c20636f70792c2072656e742c2073656c6c2c2064697374726962757465206f72207472616e7366657220616e79207' .'061727420','6f662074686520536f667477617265206578636570742061732070726f766964656420696e207468697320' .'41677265656d656e742e','3c6c693e596f75206d6179206e6f74207265766572736520656e67696e6565722c206465636' .'f6d70696c652c207472616e736c6174652c20637265617465206465726976617469766520776f726b732c20','64656369' .'706865722c20646563727970742c20646973617373656d626c652c206f72206f746865727769736520636f6e7665727420' .'74686520536f66747761726520746f2061206d6f726520','68756d616e2d7265616461626c6520666f726d20666f72206' .'16e7920726561736f6e2e','3c6c693e20596f752077696c6c2072657475726e206f722064657374726f7920616c6c2063' .'6f70696573206f662074686520536f66747761726520616e642067656e65726174656420636f6e74656e74','286966206' .'170706c696361626c652920696620616e64207768656e20596f757220726967687420746f2075736520697420656e64732' .'e20','3c6c693e3c623e596f75206d6179206e6f74207573652074686520536f66747761726520666f7220616e79207075' .'72706f7365207468617420697320756e6c617766756c2e3c2f623e','3c703e352e203c623e4144444954494f4e414c205' .'34f4654574152453c2f623e2054686973206c6963656e7365206170706c69657320746f20757064617465732c207570677' .'2616465732c20','706c75672d696e7320616e6420616e79206f74686572206164646974696f6e7320746f20746865206f' .'726967696e616c20536f6674776172652070726f76696465642062792056656e646f722c20','756e6c6573732056656e6' .'46f722070726f7669646573206f74686572207465726d7320616c6f6e67207769746820746865206164646974696f6e616' .'c20736f6674776172652e','3c703e362e203c623e3352442050415254592053455256494345533c2f623e205468697320' .'536f667477617265206d6179206d616b6520757365206f662c206f7220686176652074686520','6162696c69747920746' .'f206d616b6520757365206f662c206c696e6b20746f2c206f7220696e74656772617465207769746820337264207061727' .'47920636f6e74656e74206f7220','73657276696365732e2054686520617661696c6162696c697479206f662074686520' .'636f6e74656e74206f722073657276696365732069732061742074686520736f6c652064697363726574696f6e20','6f6' .'6207468652033726420706172747920736572766963652070726f76696465727320616e64206d6179206265207375626a6' .'5637420746f2075736167652061677265656d656e747320616e6420','6f74686572207265737472696374696f6e732e20' .'20596f7520616772656520746f20696e64656d6e69667920616e642073617665206861726d6c6573732056656e646f7220' .'616e642069747320','6c6963656e736f72732066726f6d20616c6c20636c61696d732c2064616d616765732c20616e642' .'0657870656e736573206f66207768617465766572206e61747572652074686174206d617920626520','6d616465206167' .'61696e73742056656e646f7220616e6420697473206c6963656e736f72732062792033726420706172747920636f6e7465' .'6e7420616e6420736572766963652070726f76696465727320','6173206120726573756c74206f6620596f75722075736' .'5206f662074686520536f6674776172652e','3c703e372e203c623e524547495354524154494f4e2e3c2f623e20546865' .'20736f6674776172652077696c6c20656c656374726f6e6963616c6c7920726567697374657220697473656c6620','647' .'572696e6720696e7374616c6c6174696f6e206f722072656c6f636174696f6e20616e6420636f6e6669726d20746861742' .'0596f75206861766520656e746572656420612076616c696420','2250726f64756374204944222e205468652072656769' .'7374726174696f6e2070726f63657373206f6e6c792073656e647320746865206c6963656e736520696e666f726d617469' .'6f6e207468617420','596f7527766520656e74657265642028436f6d70616e79204e616d652c20446f6d61696e204e616' .'d652c2050726f647563742049442920616e6420696e666f726d6174696f6e2061626f75742074686520','736f66747761' .'726520696e7374616c6c6564202850726f6772616d2049442c2056657273696f6e2c20496e7374616c6c2055524c2c2043' .'6865636b73756d292e20204e6f206f7468657220','696e666f726d6174696f6e2069732073656e742e','3c703e382e20' .'3c623e55504752414445532e203c2f623e204966207468697320636f7079206f662074686520736f667477617265206973' .'20616e20757067726164652066726f6d20616e20','6561726c6965722076657273696f6e206f662074686520736f66747' .'76172652c2069742069732070726f766964656420746f20596f75206f6e2061206c6963656e73652065786368616e67652' .'0','62617369732e2020596f757220757365206f662074686520536f667477617265207570677261646520697320737562' .'6a65637420746f20746865207465726d73206f66207468697320','6c6963656e73652c20616e6420596f7520616772656' .'520627920596f757220696e7374616c6c6174696f6e20616e6420757365206f66207468697320636f7079206f662074686' .'520536f66747761726520','746f20766f6c756e746172696c79207465726d696e61746520596f7572206561726c696572' .'206c6963656e736520616e64207468617420596f752077696c6c206e6f7420636f6e74696e756520746f20','757365207' .'46865206561726c6965722076657273696f6e206f662074686520536f667477617265206f72207472616e7366657220697' .'420746f20616e6f7468657220706572736f6e206f7220','656e746974792e','3c703e392e203c623e5452414e5346455' .'22e203c2f623e2020596f75206d6179206d616b652061206f6e652d74696d65207472616e73666572206f6620746865205' .'36f66747761726520','616e6420596f75722072696768747320756e6465722074686973206c6963656e736520746f2061' .'6e6f746865722070617274792070726f766964656420746861743a','3c6c693e20596f752070726f76696465207468652' .'0706172747920776974682074686520536f6674776172652c20616e79202250726f647563742049442220636f6465732c2' .'0616e642074686973206c6963656e73652e','3c6c693e2054686520706172747920616363657074732074686520746572' .'6d73206f662074686973206c6963656e7365206173206120636f6e646974696f6e206f6620746865207472616e73666572' .'2e','3c6c693e20596f752064657374726f7920616e79206f7468657220636f70696573206f662074686520536f6674776' .'1726520616e642067656e65726174656420636f6e74656e7420286966206170706c696361626c652920696e20596f75722' .'0706f7373657373696f6e2e','3c6c693e20596f75206e6f746966792056656e646f72206f6620746865207472616e7366' .'65722e','596f75722072696768747320756e6465722074686973206c6963656e7365206175746f6d61746963616c6c792' .'07465726d696e6174652075706f6e207472616e736665722e','3c703e31302e203c623e5355424c4943454e53494e472e' .'3c2f623e20596f75206d6179207375626c6963656e73652074686520536f66747761726520616e6420596f757220726967' .'68747320756e646572','74686973206c6963656e736520746f20616e6f746865722070617274792070726f76696465642' .'0746861743a','3c6c693e20596f7520756e6465727374616e6420616e6420616772656520746f20746865207465726d73' .'206f662074686973206c6963656e73652061677265656d656e742e','3c6c693e2054686520536f6674776172652069732' .'06f6e6c79207375626c6963656e736564204f4e43452c20746f20612073696e676c652070617274792e','3c6c693e2059' .'6f7520617265206e6f74207573696e672074686520536f667477617265206166746572206772616e74696e672074686520' .'7375626c6963656e73652e','3c6c693e20546865207375626c6963656e736520697320612076616c69642c2062696e646' .'96e67206c6963656e73652e','3c6c693e20546865207375626c6963656e736520636f6e7461696e73207465726d732074' .'68617420617265206e6f206c657373207265737472696374697665207468616e20746869732061677265656d656e74','2' .'0202020286f72207468652073616d65207465726d7320617320746869732061677265656d656e742920616e6420646f657' .'3206e6f7420636f6e7461696e207468697320726967687420746f207375626c6963656e73652e','3c6c693e2054686520' .'6c6567616c206a7572697364696374696f6e20666f7220746865207375626c6963656e736520697320646566696e656420' .'6173206569746865722074686174206f66207468652056656e646f72206f72','202020202074686174206f6620596f757' .'220636f72706f726174652068656164206f66666963652e','3c6c693e20596f7520646f206e6f74206d616b6520616e79' .'20726570726573656e746174696f6e73206f722077617272616e74696573206f6e20626568616c66206f662056656e646f' .'722e','3c6c693e20596f7520616772656520746f20656e666f72636520746865207465726d73206f6620616e792073756' .'26c6963656e7365207468617420596f752061726520617574686f72697a656420746f206d616b652e20','496620596f75' .'206661696c20746f20646f20736f2c20596f7520616772656520746861742056656e646f72206d61792074616b65207375' .'636820737465707320696e20596f7572206e616d6520616e6420','617320596f7572206167656e742c20696e636c75646' .'96e67206c6567616c2070726f63656564696e6773206966206e65636573736172792c20746f20656e666f7263652074686' .'520','7375626c6963656e7365206772616e74656420627920596f752e','3c6c693e20596f75206e6f746966792056656' .'e646f72206f6620746865207375626c6963656e736520616e6420616e792073756273657175656e74207472616e7366657' .'27320627920746865207375626c6963656e7365642070617274792e','3c703e31312e203c623e5445524d494e4154494f' .'4e2e3c2f623e2056656e646f72206d6179207465726d696e61746520596f7572206c6963656e736520696620596f752064' .'6f206e6f7420616269646520','627920746865206c6963656e7365207465726d732e205465726d696e6174696f6e206f6' .'620746865206c6963656e7365206d617920696e636c7564652c20627574206e6f74206265206c696d6974656420','746f' .'2c206d61726b696e67207468652050726f6475637420494420617320696e76616c696420746f2070726576656e74206675' .'727468657220696e7374616c6c6174696f6e732e2055706f6e20','7465726d696e6174696f6e206f66206c6963656e736' .'52c20596f75207368616c6c20696d6d6564696174656c7920646973636f6e74696e75652074686520757365206f6620746' .'86520','536f66747761726520616e64207368616c6c2077697468696e2074656e20283130292064617973207265747572' .'6e20746f2056656e646f7220616c6c20636f70696573206f662074686520','536f667477617265206f7220636f6e66697' .'26d207468617420596f7520686176652064657374726f79656420616c6c20636f70696573206f662069742e203c623e596' .'f757220','6f626c69676174696f6e7320746f207061792061636372756564206368617267657320616e6420666565732c' .'20696620616e792c207368616c6c207375727669766520616e7920','7465726d696e6174696f6e206f662074686973204' .'1677265656d656e742e3c2f623e2056656e646f722773207468697264207061727479206c6963656e736f7273206d61792' .'070726f7465637420','74686569722072696768747320696e20746865206576656e74206f6620616e792076696f6c6174' .'696f6e206f6620746865207465726d7320616e6420636f6e646974696f6e73206f66207468697320','6c6963656e73652' .'e20596f7520616772656520746f20696e64656d6e6966792056656e646f7220616e6420697473206c6963656e736f72732' .'0666f7220726561736f6e61626c65206174746f726e657920','6665657320696e20656e666f7263696e67206974732072' .'6967687473207075727375616e7420746f2074686973206c6963656e73652e','3c703e31322e203c623e444953434c414' .'94d4552204f462057415252414e54592e3c2f623e2054686520536f6674776172652069732070726f7669646564206f6e2' .'0616e202241532049532220','62617369732c20776974686f75742077617272616e7479206f6620616e79206b696e642c' .'20696e636c7564696e672c20776974686f7574206c696d69746174696f6e2c2074686520','77617272616e74696573206' .'f66206d65726368616e746162696c6974792c206669746e65737320666f72206120706172746963756c617220707572706' .'f736520616e64206e6f6e2d','696e6672696e67656d656e742e2054686520656e74697265207269736b20617320746f20' .'746865207175616c69747920616e6420706572666f726d616e6365206f662074686520536f66747761726520','6973206' .'26f726e6520627920596f752e2053686f756c642074686520536f6674776172652070726f7665206465666563746976652' .'c20596f752c206e6f742056656e646f72206f722069747320','6c6963656e736f72732c20617373756d65207468652065' .'6e7469726520636f7374206f6620616e79207365727669636520616e64207265706169722e2049662074686520536f6674' .'7761726520697320','696e74656e64656420746f206c696e6b20746f2c206578747261637420636f6e74656e742066726' .'f6d206f72206f746865727769736520696e746567726174652077697468206120746869726420','706172747920736572' .'766963652c2056656e646f72206d616b6573206e6f20726570726573656e746174696f6e206f722077617272616e747920' .'7468617420596f757220706172746963756c617220','757365206f662074686520536f667477617265206973206f72207' .'7696c6c20636f6e74696e756520746f20626520617574686f72697a6564206279206c617720696e20596f757220','6a75' .'72697364696374696f6e206f7220746861742074686520746869726420706172747920736572766963652077696c6c2063' .'6f6e74696e756520746f20626520617661696c61626c6520746f20','596f752e205468697320646973636c61696d65722' .'06f662077617272616e747920636f6e737469747574657320616e20657373656e7469616c2070617274206f66207468652' .'061677265656d656e742e','3c703e31332e203c623e4c494d49544154494f4e204f46204c494142494c4954592e20554e' .'444552204e4f2043495243554d5354414e43455320414e4420554e444552204e4f204c4547414c20','5448454f52592c2' .'0544f52542c20434f4e54524143542c204f52204f54484552574953452c205348414c4c2056454e444f52204f522049545' .'3204c4943454e534f5253204245204c4941424c4520','544f20594f55204f5220414e59204f5448455220504552534f4e' .'20464f5220414e5920494e4449524543542c205350454349414c2c2050554e49544956452c20494e434944454e54414c2c' .'204f5220','434f4e53455155454e5449414c2044414d41474553204f4620414e592043484152414354455220494e434c5' .'544494e472c20574954484f5554204c494d49544154494f4e2c2044414d4147455320','464f5220574f524b2053544f50' .'504147452c20434f4d5055544552204641494c555245204f52204c4f5353204f4620524556454e5545532c2050524f4649' .'54532c20474f4f4457494c4c2c205553452c20','44415441204f52204f5448455220494e54414e4749424c45204f52204' .'5434f4e4f4d4943204c4f535345532e20494e204e4f204556454e542057494c4c2056454e444f52204f522049545320','' .'4c4943454e534f5253204245204c4941424c4520464f5220414e592044414d4147455320494e20455843455353204f4620' .'54484520414d4f554e54205041494420544f204c4943454e53452054484520','534f4654574152452c204556454e20494' .'620594f55204f5220414e59204f54484552205041525459205348414c4c204841564520494e464f524d45442056454e444' .'f52204f522049545320','4c4943454e534f5253204f462054484520504f53534942494c495459204f4620535543482044' .'414d414745532c204f5220464f5220414e5920434c41494d2e204e4f20434c41494d2c20','5245474152444c455353204' .'f4620464f524d2c204d4159204245204d414445204f5220414354494f4e2042524f5547485420425920594f55204d4f524' .'5205448414e204f4e45205945415220','41465445522054484520424153495320464f522054484520434c41494d204245' .'434f4d4553204b4e4f574e20544f2054484520504152545920415353455254494e472049542e3c2f623e','3c703e31342' .'e203c623e4150504c494341424c45204c41572e3c2f623e2054686973206c6963656e7365207368616c6c20626520696e7' .'4657270726574656420696e206163636f7264616e6365207769746820746865206c61777320','6f6620245f76656e646f' .'725f6c6f636174696f6e242e20416e792064697370757465732061726973696e67206f7574206f662074686973206c6963' .'656e7365207368616c6c20','62652061646a756469636174656420696e206120636f757274206f6620636f6d706574656' .'e74206a7572697364696374696f6e20696e20245f76656e646f725f6c6f636174696f6e242e','3c703e31352e203c623e' .'474f5645524e494e47204c414e47554147452e3c2f623e20416e79207472616e736c6174696f6e206f662074686973204c' .'6963656e736520697320646f6e6520666f7220','6c6f63616c20726571756972656d656e747320616e6420696e2074686' .'5206576656e74206f6620612064697370757465206265747765656e2074686520456e676c69736820616e6420616e7920', '6e6f6e2d456e676c6973682076657273696f6e732c2074686520456e676c6973682076657273696f6e206f662074686973' .'204c6963656e7365207368616c6c20676f7665726e2e','3c703e31362e203c423e454e544952452041475245454d454e5' .'42e3c2f623e2054686973206c6963656e736520636f6e73746974757465732074686520656e746972652061677265656d6' .'56e7420','6265747765656e2074686520706172746965732072656c6174696e6720746f2074686520536f667477617265' .'20616e64207375706572736564657320616e792070726f706f73616c206f7220','7072696f722061677265656d656e742' .'c206f72616c206f72207772697474656e2c20616e6420616e79206f7468657220636f6d6d756e69636174696f6e2072656' .'c6174696e6720746f2074686520','7375626a656374206d6174746572206f662074686973206c6963656e73652e20416e' .'7920636f6e666c696374206265747765656e20746865207465726d73206f662074686973204c6963656e736520','41677' .'265656d656e7420616e6420616e79205075726368617365204f726465722c20696e766f6963652c206f722072657072657' .'3656e746174696f6e207368616c6c206265207265736f6c76656420','696e206661766f7572206f662074686520746572' .'6d73206f662074686973204c6963656e73652041677265656d656e742e20496e20746865206576656e7420746861742061' .'6e7920636c6175736520','6f7220706f7274696f6e206f6620616e79207375636820636c61757365206973206465636c6' .'172656420696e76616c696420666f7220616e7920726561736f6e2c20737563682066696e64696e6720','7368616c6c20' .'6e6f74206166666563742074686520656e666f7263656162696c697479206f66207468652072656d61696e696e6720706f' .'7274696f6e73206f662074686973204c6963656e736520','616e642074686520756e656e666f72636561626c6520636c6' .'1757365207368616c6c20626520736576657265642066726f6d2074686973206c6963656e73652e203c623e416e7920','' .'616d656e646d656e7420746f20746869732061677265656d656e74206d75737420626520696e2077726974696e6720616e' .'64207369676e656420627920626f746820706172746965732e3c2f623e','3c703e536f667477617265204c6963656e736' .'52041677265656d656e742076332e3120284a756e652033302c203230303329','53686f756c6420796f75206861766520' .'616e79207175657374696f6e7320636f6e6365726e696e672074686973206c6963656e73652c','6f7220696620796f752' .'064657369726520746f20636f6e7461637420757320666f7220616e7920726561736f6e2c20706c6561736520656d61696' .'c206f722074656c6570686f6e652e','3c2f666f6e743e','3c2f626f64793e3c2f68746d6c3e','5f76656e646f725f6e' .'616d65','5f76656e646f725f75726c','5f76656e646f725f6c6f636174696f6e','482a','75706c6f6164646972','7' .'4656d706c61746564697231','74656d706c61746564697232','73656e646d61696c','2f7573722f62696e2f73656e64' .'6d61696c','2f7573722f7362696e2f73656e646d61696c','756d61736b','76657273696f6e','313035','6272616e6' .'4696e67','457870697265642055736572','44697361626c6564','4e65772055736572','526567756c6172205573657' .'2','41646d696e6973747261746f72','5f70726f675f6e616d65','5f70726f675f766572','76656e646f725f75726c', '76656e646f725f6c6f636174696f6e','53657276657220746f6f206275737921','546865207365727665722069732063' .'757272656e746c7920746f6f206275737920746f2070726f6365737320796f75722072657175657374207269676874206e' .'6f772e2020506c6561736520776169742061206d6f6d656e7420616e64207468656e2074727920616761696e2e','4e6f2' .'0737563682066696c65206f72206469726563746f7279','5065726d697373696f6e2064656e696564','6d6163667470', '736f7274','636174736f7274','6261636b6c696e6b','7075626c6973685f696e646578','73756d6d6172795f666f72' .'6d6174','74657874','636f6e74656e745f666f726d6174','77656273697465','5f6a6f622e68746d6c','7075626c6' .'973685f656d7074795f63617473','6e6f74666f756e64','63617465676f7279','6a756d705f726f77','6a756d705f6' .'c697374','2073656c6563746564','68746d6c','2e2e2e','6361745f6c697374203a205461626c65206e616d6520756' .'e646566696e6564','3c623e','3c2f623e','626f6c64','7570','646e','6d656e75','2d6e616d65','6361745f636' .'f6e6669726d5f6572617365203a205461626c65206e616d6520756e646566696e6564','6a6f625f636f756e74','206a6' .'f6273','206a6f62','4a616e203173742c20323030302048483a4d4d3a5353' );for(@z){$_=pack('H*',$_)}}use Fcntl qw(:DEFAULT :flock);if($ENV{$z[0]}){&aa("Your server is running mod_perl: ".$ENV{MOD_PERL}."\n\nThis program is not compatible with mod_perl\n\nIf you would like more information on how to disable it, please contact your vendor."); exit;}$ab{$z[1]}=$z[2];$ab{$z[3]}=$z[4];$ab{$z[5]}=$z[6];$ab{$z[7]}=17;∾MAIN:;sub mm{;}if($ad{$z[8]}) {&ae;}if($ad{$z[9]}){&af($z[10]);}%ag=&ah;my@ai=(undef,qw(-#updated# name location job_id -job_id #job_id# -#job_id#)); $aj{$z[11]}=$z[12].$ai[$ak{$z[13]}];if($ag{$z[14]}>=3){if($ad{$z[15]}){&al(\%aj);}if($ad{$z[16]}){&am(\%aj); }if($ad{$z[17]}){&an(\%aj);}if($ad{$z[18]}){&ao(\%aj);}if($ad{$z[19]}){&ap(\%aj);}if($ad{$z[20]}){&aq(\%aj); }if($ad{$z[21]}){&aq(\%aj);}if($ad{$z[22]}){&ar(\%as);}if($ad{$z[23]}){&at(\%as);}if($ad{$z[24]}){&au(\%as); }if($ad{$z[25]}){&av(\%as);}if($ad{$z[26]}){&ap(\%as);}if($ad{$z[27]}){&aw(\%as);}if($ad{$z[28]}){&aw(\%as); }if($ad{$z[29]}){&ax(\%as);}if($ad{$z[30]}){&ay(\%as);}if($ad{$z[31]}){&az();}}if($ag{$z[14]}>=9){if ($ak{$z[32]}){if($ad{"demo_no_mkdir"}){&ba($z[33]);&af($z[34]);}if($ad{$z[35]}&&$ad{$z[36]}){&ba($z[33]); &af($z[37]);}if($ad{"demo_no_browse"}){&ba($z[33]);&af($z[38]);}if($ad{$z[35]}&&$ad{$z[39]}){&ba($z[33]); &af($z[40]);}if($ad{$z[41]}){&ba($z[33]);&af($z[42]);}}if($ad{$z[35]}){&bb($z[39]);}if($ad{$z[43]}) {&bb($z[44]);}&ba("_setup_menus.html");foreach(grep/^header_tab/,keys%bc){$bd{$_}=&bc($_);}if($ad{$z[45]}) {if(defined$ad{$z[13]}){$aj{$z[11]}=$z[12].$ai[$ad{$z[13]}];}&be;}if($ad{$z[41]}){&bf;}if($ad{$z[46]}) {&bg;}if($ad{$z[47]}){&bg;}if($ad{$z[48]}){&bg;}if($ad{$z[49]}){&bh(\%bi);}if($ad{$z[50]}){&bg;}if($ad{$z[51]}) {&bj(\%bi);}if($ad{$z[52]}){&at(\%bi);}if($ad{$z[53]}){&bk(\%bi);}if($ad{$z[54]}){&bl(\%bi);}if($ad{$z[55]}) {&bm(\%bi);}if($ad{$z[56]}){&bh(\%bi);}if($ad{$z[57]}){&bh(\%bi);}}if($ad{$z[58]}){$ad{$ad{$z[58]}}++; undef$ad{$z[58]};goto MAIN;}&aq(\%aj);exit;sub la{%aj=($z[59]=>$z[60],$z[61]=>$z[62],$z[63]=>$z[64], $z[65]=>$z[59],$z[11]=>$z[66],$z[67]=>\&bn,$z[68]=>\&aq,$z[69]=>\&bo,$z[70]=>\&ao,);push@bp,\%aj;%as =($z[59]=>$z[71],$z[61]=>$z[72],$z[63]=>$z[73],$z[65]=>$z[59],$z[11]=>$z[74],$z[67]=>\&bq,$z[68]=>\&aw, $z[69]=>\&br,$z[70]=>\&bs,);push@bp,\%as;%bi=($z[59]=>$z[75],$z[61]=>$z[76],$z[63]=>$z[77],$z[65]=> $z[78],$z[11]=>$z[59],);push@bp,\%bi;%bt=($z[59]=>$z[79],$z[61]=>$z[80],$z[63]=>$z[81]);push@bp,\%bt; %bu=($z[59]=>$z[82],$z[61]=>$z[83],$z[63]=>$z[84].$z[85].$z[86].$z[87].$z[88].$z[89].$z[90].$z[91]. $z[92].$z[93].$z[94].$z[95].$z[96].$z[97]);push@bp,\%bu;}sub ac{BEGIN{my@bv=($0,$ENV{$z[98]});$bw=(grep(s/^(.*)[\\\/].*/$1/,@bv))[0] ||(($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0];$bw=~s/\\/\//g;$bw=($bw=~m/(.+)/s)[0];$bx=(split($z[99],$ENV{$z[100]}))[-1]; unshift(@INC,$bw);$SIG{__DIE__}=\&aa;}END{if($ab{$z[101]}>0){my($by)=$ab{$z[102]};rmdir($by);}}if(!$ENV{$z[100]}) {print"\nThis program can only be run through a web server. \n";exit;}if("¡"ne"\xA1"){&aa("macftp"); }sub bb{my($bz)=$_[0];my($ca)=$ad{$z[103]}||die("browse: you must pass a name/value for the 'fieldname'!\n"); my(%cb,$cc);if($bz ne$z[39]&&$bz ne$z[44]){die("browse: the first argument must be either 'dir' or 'file'!\n"); }if(!-d$ak{$z[104]}){delete$ak{$z[104]};}if($ad{$z[105]}){if(-f$ad{$z[105]}){$ad{$z[105]}=~s!^(.+)(\\|/).*?$!$1!; }if(-d$ad{$z[105]}){$ad{$z[39]}=$ad{$z[105]};}}if($ak{$z[32]}){$ad{$z[39]}=$ak{$z[104]};}&ba("_browse_$bz.html"); my$cd=$z[99];$cb{$z[103]}=$ad{$z[103]};if($ad{$z[36]}){$cb{$z[106]}=$ad{$z[106]};if(!$ad{$z[106]}){ $bd{$z[107]}=$z[108];}elsif($ad{$z[106]}=~m/[^\w\-]/i){$bd{$z[107]}=$z[109];}elsif(!mkdir("$ad{'cdir'}$cd$ad{'mkdir_name'}",0777)){ $bd{$z[107]}=$z[110].$!;}if($bd{$z[107]}){$bd{$z[107]}=&bc($z[107],\%bd);}}if($ad{$z[111]}){local(*AA); $cb{$z[112]}=$ad{$z[112]};if(!$ad{$z[112]}){$bd{$z[113]}=$z[114];}elsif($ad{$z[112]}=~m/[^\w\-\.]/i) {$bd{$z[113]}=$z[115];}elsif(-e"$ad{'cdir'}$cd$ad{'mkfile_name'}"){$bd{$z[113]}=$z[116];}elsif(!open(AA,">$ad{'cdir'}$cd$ad{'mkfile_name'}")) {$bd{$z[113]}=$z[117].$!;}elsif(!close(AA)){$bd{$z[113]}=$z[117].$!;}if($bd{$z[113]}){$bd{$z[113]}= &bc($z[113],\%bd);}}$cb{$z[39]}=$ad{$z[39]}||$ak{$z[104]}||$ab{$z[118]};$cb{$z[39]}=~s/^(.+)(\\|\/)+$/$1/; $cb{$z[119]}=$cb{$z[39]};$cb{$z[119]}=~s!^([a-z]:)!$1/..!i;$cb{$z[120]}=($cb{$z[39]}=~m#^(.*)[\\/]#,$1||$cd); $cb{$z[121]}=&ce($cb{$z[120]});$cb{$z[122]}.=&bc($z[120],\%cb)if($cb{$z[39]}=~m!.+(\\|/)!);if(!-e$cb{$z[39]}) {$cb{$z[123]}=$z[124];}elsif(!-r$cb{$z[39]}){$cb{$z[123]}=$z[125];}if($cb{$z[123]}){print"Content-type: text/html\n\n" unless($ab{$z[126]}++);$cb{$z[122]}.=&bc($z[123],\%cb);print&ba($z[127],\%cb);exit;}opendir(AB,"$cb{'dir2'}"); my@cc=sort{lc$a cmp lc$b}grep(!/^\.+$/,readdir(AB));closedir(AB);my($cf);foreach$cf(@cc){-d"$cb{'dir'}$cd$cf" ||next;$cb{$z[59]}=$cf;$cb{$z[128]}="$cb{'dir'}$cd$cf";$cb{$z[128]}=~s/$cd+/$cd/g;$cb{$z[129]}=&ce($cb{$z[128]}); ($cb{$z[130]},$cb{$z[131]})=(stat($cb{$z[128]}))[7,9];next if$cb{$z[131]}eq"";$cb{$z[132]}=&cg("Jan 1st, 2000 - HH:MM:SS",$cb{$z[131]}); $cb{$z[122]}.=&bc($z[39],\%cb);$cc++;}my($ch);foreach$ch(@cc){-d"$cb{'dir'}$cd$ch"&&next;$cb{$z[59]} =$ch;$cb{$z[128]}="$cb{'dir'}$cd$ch";($cb{$z[130]},$cb{$z[131]})=(stat($cb{$z[128]}))[7,9];next if$cb{$z[131]} eq"";if($cb{$z[130]}){$cb{$z[130]}=(int($cb{$z[130]}/1000)||1)."KB";}else{$cb{$z[130]}="0KB";}$cb{$z[132]} =&cg("Jan 1st, 2000 - HH:MM:SS",$cb{$z[131]});$cb{$z[128]}=~s/'/\\'/g;$cb{$z[128]}=~s/\\/\\\\/g;if(-f "$cb{'dir'}$cd$ch"){$cb{$z[122]}.=&bc($z[44],\%cb);}else{$cb{$z[122]}.=&bc($z[133],\%cb);}$cc++;}if (!$cc){$cb{$z[122]}.=&bc($z[134]);}print"Content-type: text/html\n\n"unless($ab{$z[126]}++);print&ba("_browse_$bz.html",\%cb); &ci();exit;}sub mn{&ba("_browse_dir.html");my(%cb,$cc);$cb{$z[103]}=$ad{$z[103]};my$cd=$z[99];$cb{$z[39]} =$ad{$z[39]}||$bw;$cb{$z[39]}=~s/^(.+)(\\|\/)+$/$1/;$cb{$z[119]}=$cb{$z[39]};$cb{$z[119]}=~s!^([a-z]:)!$1/..!i; $cb{$z[120]}=($cb{$z[39]}=~m#^(.*)[\\/]#,$1||$cd);$cb{$z[121]}=&ce($cb{$z[120]});$cb{$z[122]}.=&bc($z[120],\%cb); my$cj;if(!-e$cb{$z[39]}){$cj="Directory doesn't exist!";}elsif(!-r$cb{$z[39]}){$cj="Directory isn't readable!"; }if($cj){$cb{$z[122]}.=&bc($z[123]);print&ba("_browse.html",\%cb);exit;}opendir(AB,"$cb{'dir2'}");my @cc=sort{lc$a cmp lc$b}grep(!/^\.+$/,readdir(AB));closedir(AB);my($cf,%cf);foreach$cf(@cc){-d"$cb{'dir'}$cd$cf" ||next;$cf{$z[128]}="$cb{'dir'}$cd$cf";$cf{$z[128]}=~s/$cd+/$cd/g;$cf{$z[129]}=&ce($cf{$z[128]});($cf{$z[130]},$cf{$z[131]}) =(stat($cf{$z[128]}))[7,9];next if$cb{$z[131]}eq"";$cf{$z[132]}=&cg("Jan 1st, 2000 - HH:MM:SS",$cf{$z[131]}); $cb{$z[122]}.=&bc($z[39],\%cf);$cc++;}my($ch,%ch);foreach$ch(@cc){-d"$cb{'dir'}$cd$ch"&&next;$ch{$z[59]} =$ch;$ch{$z[128]}="$cb{'dir'}$cd$ch";($ch{$z[130]},$ch{$z[131]})=(stat($ch{$z[128]}))[7,9];next if$cb{$z[131]} eq"";$ch{$z[130]}=(int($ch{$z[130]}/1000)||1)."KB";$ch{$z[132]}=&cg("Jan 1st, 2000 - HH:MM:SS",$ch{$z[131]}); $ch{$z[128]}=~s/'/\\'/g;if(-f"$cb{'dir'}$cd$ch"){$cb{$z[122]}.=&bc($z[44],\%ch);}else{$cb{$z[122]}.= &bc($z[133],\%ch);}$cc++;}if(!$cc){$cb{$z[122]}.=&bc($z[134]);}print"Content-type: text/html\n\n"unless ($ab{$z[126]}++);print&ba("_browse_dir.html",\%cb);&ci();exit;}sub cf{my($ck,$bz)=@_;my(%cc);local(*AB); if(!-e$ck){$!=$z[135].$ck.$z[136];return(0);}if($bz&&$bz ne$z[137]&&$bz ne$z[138]){die($z[139]."$bz\n"); }opendir(AB,$ck);foreach(grep(!/^\.+$/,readdir(AB))){if($bz eq$z[137]){$cc{$_}++if-f"$ck/$_";}elsif ($bz eq$z[138]){$cc{$_}++if-d"$ck/$_";}else{$cc{$_}++;}}closedir(AB);return%cc;}sub mo{my%cl;open(AA,"<$ab{'archive'}") ||return();$/= ~$/;binmode(AA);while(){chomp;$_||last;my($cm,$cn,$co,$ch)=split(/ /,~$_);$cl{$ch}{$z[44]} =$ch;$cl{$ch}{$z[140]}=int$cn;$cl{$ch}{$z[141]}=int$co;}close(AA);$/= ~$/;return%cl;}sub ko{$ab{$z[142]} .=join$z[143],@_;}sub mp{if($ENV{$z[144]}=~/^[\w\-]+\.gif$/){print$z [145]."\n\n";}elsif($ENV{$z[144]} =~/^[\w\-]+\.jpg$/){print$z [146]."\n\n";}else{return;}binmode(STDOUT);print&ba($ENV{$z[144]},'',$z[147]); exit;}sub mq{my($cp,$cq)=@_;local(*AC);local(*AD);open(AC,"<$cp")||die($z[148]."$cp : $!\n");open(AD, ">$cq")||die($z[149]."$cq : $!\n");binmode(AC);binmode(AD);print AD;close(AC);close(AD)||die("cp : can't write $cq : $!\n"); }sub mr{my$cr=shift;$cr=~s|\w+://||g;my$cs=($cr=~/^([^\/]+)/)[0];my$ch=($cr=~/(\/.*)$/)[0]||$z[99]; my$ct;my$cu;$ct=IO::Socket::INET->new(Proto=>$z[150],PeerAddr=>$cs,PeerPort=>$z[151]);unless($ct){die $z[152].$cs;}$ct->autoflush(1);print$ct $z[153].$ch.$z[154]."\n";print$ct $z[155]."\n";print$ct $z[156]."$cs\n\n"; while(<$ct>){$cu.=$_;}$cu=~s/^.*?(\r\n|\n)(\r\n|\n)//s;$cu=~s/\r\n/\n/sgo;close($ct);return$cu;}sub lf{my($cv)=$_[0];my($cw,$cx,$cy,@cz,$da,%db);my($ch,$ck,$dc);my($dd);binmode(STDIN);if($cv&&($ENV{$z[157]}||length $ENV{$z[144]})>$cv){die($z[158]."$cv bytes\n");}($dd)=$ENV{$z[159]}=~/boundary=(?:"?)(\S+?)(?:"?)$/; if($ENV{$z[160]}eq$z[161]&&$ENV{$z[159]}=~m|^multipart/form-data|){my$da;read(STDIN,$da,$ENV{$z[157]}); foreach(split(/\n/,$da)){if(/^--$dd--/){$da.="--$dd";last;}else{$da.=$_;}}@cz=split(/--$dd/,$da);foreach $cy(@cz){unless($cy=~/^(\r\n|\n)Content-Disposition/){next;}($cw,$cx)=$cy=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s; ($ck)=$cw=~/filename="([^"]+)"/;($cw)=$cw=~/name="([^"]+)"/;($ch)=$ck=~/([^\/\\]+)$/;($dc)=$ck=~/\.(\w+)$/; if(!$ck){$cw=~s/\r\n/\n/g;$cx=~s/\r\n/\n/g;$cw=~s/\x00//g;$cx=~s/\x00//g;}$db{$cw}=&de($cx);$db{$cw.$z[162]} =$ck;$db{$cw.$z[163]}=$ch;$db{$cw.$z[164]}=$dc;}}else{if($ENV{$z[160]}eq$z[161]){read(STDIN,$da,$ENV{$z[157]}); }elsif($ENV{$z[160]}eq$z[165]){$da=$ENV{$z[144]};}@cz=split(/&/,$da);foreach$cy(@cz){($cw,$cx)=split(/=/, $cy);$cw=~tr/+/ /;$cx=~tr/+/ /;$cw=~s/%([A-F0-9]{2})/pack($z[166],hex($1))/egi;$cx=~s/%([A-F0-9]{2})/pack($z[166], hex($1))/egi;$cw=~s/\r\n/\n/g;$cx=~s/\r\n/\n/g;$cw=~s/\x00//g;$cx=~s/\x00//g;$db{$cw}=&de($cx);}}foreach (keys%db){if(/^(.*)(\.x|\.y)$/){$db{$1}=$z[167];}}unless($ak{$z[168]}){foreach(keys%db){$db{$_}=~s///ig; };}return%db;}sub ms{my($df)=$_[0];my($dg,$cs)=split(/@/,$df);if($df eq''){return 0;}if($df=~/[^A-Za-z0-9-_\.\@]/) {return 0;}if($dg!~/^([\w\-]+[\w\-.])*[\w\-]+$/){return 0;}if($cs!~/^([\w\-]+[\w\-.])*[\w\-]+\.[A-Za-z]{2,8}$/) {return 0;}return 1;}sub mt{my($dh,$di)=@_;unless($dh eq$z[169]||$dh eq$z[170]||$dh eq$z[171]||$dh eq$z[172]){return undef;}$di=~s/[^\d]//g;my@dj=split//,$di;unless(($dh eq$z[169]&&$dj[0]==4)||($dh eq$z[170]&&$dj[0]==5)||($dh eq$z[171]&&$dj[0]==3)||($dh eq$z[172]&&$dj[0]==6)){return undef;}unless (($dh eq$z[169]&&($#dj==12||$#dj==15))||($dh eq$z[170]&&$#dj==15)||($dh eq$z[171]&&$#dj==14)||($dh eq$z[172]&&$#dj==15)){return undef;}my$dk;for(my$cn=($#dj+1)% 2;$cn<=$#dj;$cn+=2){if($dj[$cn]<5){$dj[$cn] *=2;}else{$dj[$cn]=($dj[$cn]* 2)-9}}foreach(@dj){$dk+=$_;}unless($dk% 10==0){return undef;}return 1; }sub ho{my$cm=$_[0]||die("time_adj: first argument must be time()\n");if($ak{$z[173]}eq$z[174]){$cm +=$ak{$z[175]}*60*60;}if($ak{$z[173]}eq$z[176]){$cm-=$ak{$z[175]}*60*60;}if($ak{$z[177]}eq$z[174]){ $cm+=$ak{$z[178]}*60;}if($ak{$z[177]}eq$z[176]){$cm-=$ak{$z[178]}*60;}return$cm;}sub ba{local(*AA); my($ch);my(%db)=%{$_[1]};my($dl,$dm);my%dn;%dn=($z[179]=>0,$z[180]=>0,$z[147]=>0,$z[181]=>0);foreach (split(/ /,$_[2])){if(undef$dn{$_}){die($z[182]."'$_'\n");}$dn{$_}=1;}if(!$_[0]){die$z[183]."\n";}if ($_[1]&&ref($_[1])ne$z[184]){die$z[185]."\n";}if(!$dn{$z[180]}||!$do{$_[0]}){if(-e"$_[0]"){$ch=$_[0]; }else{foreach(grep/^templatedir/,sort keys%ab){if(-e"$ab{$_}/$_[0]"){$ch="$ab{$_}/$_[0]";last;}}if(!$ch) {die$z[186]."'$_[0]'".$z[187]."\n";}}}if($dn{$z[180]}&&$do{$_[0]}){$dl=$do{$_[0]};}else{open(AA,"<$ch") ||die$z[188]."$ch! $!\n";binmode(AA)if($ch=~/gif$/i||$ch=~/jpg$/i);while(){$dl.=$_;}close(AA);} if($dn{$z[147]}){return$dl;}if($dn{$z[181]}){$ab{$z[189]}||=$ENV{$z[190]};$ab{$z[189]}||die("Template: webroot isn't defined!
\n"); while($dl=~//g){my$dp=$1;if(($dp=~m!^/!)||(!$_[3])){$dp="$ab{'webroot'}/$dp"; }else{my@dq=split$z[99],$ch;my$dq=join$z[99],@dq[0..$#dq-1];$dp="$dq/$dp";}my$dr=&ba($dp,$_[1],$_[2], $z[191]);$dl=~s//$dr/;}}if(!$dn{$z[180]}||!$do{$_[0]}){foreach$dm($dl=~m//g) {$bc{$1}=$2 if($dl=~m/(?:\r\n|\n)?(.*?)/is); }$dl=~s/(?:\r\n|\n)?(.*?)//gis; if($dn{$z[180]}){$do{$_[0]}=$dl;}}$dl=~s//$1/gi;if($_[1]){$dl=~ s/\$(\w+)\$/defined$bd{$1}?$bd{$1}:$db{$1}/ge;}else{$dl=~s/\$(\w+)\$/defined$bd{$1}?$bd{$1}:${$1}/ge; }return$dl;}sub bc{if(!$_[0]){die$z[192]."\n";}if(!defined$bc{$_[0]}){die$z[193]."'$_[0]'".$z[194]."\n"; }if($_[1]&&ref($_[1])ne"HASH"){die$z[195]."\n";}local(*AA);my(%db)=%{$_[1]};my($dl)=$bc{$_[0]};$dl=~ s/(?:\r\n|\n)?(.*?)//gs;$dl=~ s//$1/gi;if($_[1]){$dl=~s/\$(\w+)\$/defined$bd{$1}?$bd{$1}:$db{$1}/ge; }else{$dl=~s/\$(\w+)\$/defined$bd{$1}?$bd{$1}:${$1}/ge;}return$dl;}sub mu{my($ad)=$_[0];my(@ds)=(($z[171]..$z[196],$z[197]..$z[198],0..9),$z[199],$z[99]); my($cb)=unpack($z[200],$ad);$cb=~s/(\d{6}|\d+$)/$ds[ord(pack$z[200],"00$1")]/ge;while(length($cb)%4) {$cb.=$z[201];}return$cb;}sub mv{my($ad)=$_[0];my(%ds);my($cb);my$dt;for(($z[171]..$z[196],$z[197]..$z[198],0..9),$z[199],$z[99]){ $ds{$_}=$dt++}$ad=$_[0]||return$z[202];$ad=~s/[^A-Za-z0-9+\/]//g;$ad=~s/[A-Za-z0-9+\/]/unpack'B*',chr($ds{$&})/ge; $ad=~s/\d\d(\d{6})/$1/g;$ad=~s/\d{8}/$cb.=pack($z[200],$&)/ge;return$cb;}sub ce{my($du)=$_[0];$du=~ tr/ /+/;$du=~s/([^A-Za-z0-9\+\*\.\@\_\-])/uc sprintf($z[203],ord($1))/egx;return$du;}sub ed{my($du) =$_[0];$du=~tr/+/ /;$du=~s/%([A-F0-9]{2})/pack($z[166],hex($1))/egi;return$du;}sub hf{my($dv);my($cw,$cx,$dw,$ck,$dx,$dy) =@_;my($dz);if($cw eq''){die($z[204]."\n");}if($dw&&$dw ne int($dw)){die($z[205]."\n");}$ea{$cw}=$cx; if($dw){$dz=&cg($z[206],$dw,$z[207]);}if($cw){$cw=&ce($cw);}if($cx){$cx=&ce($cx);}if($dw){$dv.=$z[208]."$dz; "; }if($ck){$dv.=$z[209]."$ck; ";}if($dx){$dv.=$z[210]."$dx; ";}if($dy){$dv.=$z[211];}print$z [212]."$cw=$cx; $dv\n"; }sub lg{my($eb,$cw,$cx,%ec);foreach$eb(split(/; /,$ENV{$z[213]})){($cw,$cx)=split(/=/,$eb);foreach($cw,$cx) {$_=&ed($_);}$ec{$cw}=$cx;}return%ec;}sub cg{my$ee=$_[0];my$cm=$_[1];my$AE=$_[2];if(!$cm||$cm ne int($cm)) {return undef;}my($ef,$eg,$eh,$ei,$ej,$ek,$el);if($AE){($ef,$eg,$eh,$ei,$ej,$ek,$el)=gmtime($cm);}else {($ef,$eg,$eh,$ei,$ej,$ek,$el)=localtime($cm);}my(%el,%em,%ej,%en);my@ej=($z[214],$z[215],$z[216],$z[217],$z[218],$z[219],$z[220],$z[221],$z[222],$z[223],$z[224],$z[225]); my@en=($z[226],$z[227],$z[228],$z[229],$z[218],$z[230],$z[231],$z[232],$z[233],$z[234],$z[235],$z[236]); my@el=($z[237],$z[238],$z[239],$z[240],$z[241],$z[242],$z[243]);my@em=($z[244],$z[245],$z[246],$z[247],$z[248],$z[249],$z[250]); foreach(@el){$el{lc$_}++;}foreach(@em){$em{lc$_}++;}foreach(@ej){$ej{lc$_}++;}foreach(@en){$en{lc$_}++; }$ee=~s/\b[A-Za-z]{3,9}\b/if($el{lc$&}){if(uc($&)eq$&){uc$el[$el];}elsif(lc($&)eq$&){lc$el[$el];}else {ucfirst lc$el[$el];}}elsif($em{lc$&}){if(uc($&)eq$&){uc$em[$el];}elsif(lc($&)eq$&){lc$em[$el];}else {ucfirst lc$em[$el];}}elsif($ej{lc$&}){if(uc($&)eq$&){uc$ej[$ej];}elsif(lc($&)eq$&){lc$ej[$ej];}else {ucfirst lc$ej[$ej];}}elsif($en{lc$&}){if(uc($&)eq$&){uc$en[$ej];}elsif(lc($&)eq$&){lc$en[$ej];}else {ucfirst lc$en[$ej];}}else{$&;}/ge;$ee=~s/\d{1,4}\b/if(length$&==4){$ek+1900;}elsif(length$&<=2){if (substr($&,0,1)eq 0){sprintf($z[251],$ei);}else{$ei;}}else{$&;}/ge;$ee=~s/(\d{1,2})(st|nd|rd|th)/if ($ei==1||$ei==21||$ei==31){$ei.$z[252];}elsif($ei==2||$ei==22){$ei.$z[253];}elsif($ei==3||$ei==23){ $ei.$z[254];}else{$ei.$z[255];}/gei;$ee=~s/SS/sprintf($z[251],$ef)/gei;$ee=~s/MM/sprintf($z[251],$eg)/gei; $ee=~s/HH/sprintf($z[251],$eh)/gei;return$ee;}sub hn{my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}";my(@ep); if(ref($_[0])ne$z[184]){die"DB_Count : The first argument must be a HASH reference!\n";}if(!$_[0]->{$z[61]}) {die"DB_Count : No datafile defined in database definition (\%DBDef)!\n";}unless(-e$eo){return(0);} &eq;open(AA,"<$eo")or&er("DB_Count : Can't open '$eo'");@ep=grep/^\d/,;close(AA);&es;my$et=@ep; return$et||0;}sub id{if(ref($_[0])ne$z[184]){die$z[256]."\n";}if(defined($_[1])&&ref($_[1])ne$z[184]) {die$z[257]."\n";}if(!$_[2]){die$z[258]."\n";}my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}";my(@eu)= split(/ /,$_[0]->{$z[63]});my($cb)=$_[1]if defined($_[1]);my($ev)=grep{$eu[$_]eq$_[2]}(0..$#eu);my($ew)= $_[3];my($ex)=$_[4];my(@ep);my(@ey);unless(-e$eo){return(0);}if(-e$eo){&eq;open(AA,"<$eo")or&er("DB_Seek : Can't open '$eo'"); @ep=;close(AA);&es;}foreach(@ep){/^(\d+)\¡/;($1&&$1>=$ex)||next;s/[^¡]+$//;undef%$cb if defined($cb); @ey=split(/\¡/);next if($ey[$ev]ne$ew);if(defined($cb)){for(0..$#eu){$cb->{$eu[$_]}=$ey[$_];$cb->{$eu[$_]} =~s/¿([A-F0-9]{2})/pack($z[166],hex($1))/egix;}}return 1;}return 0;}sub hc{my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}"; my(@eu)=split(/ /,$_[0]->{$z[63]});my(%ez);for(0..$#eu){$ez{$eu[$_]}=$_;}my($fa)=$_[1];my($cb)=$_[2]; my($fb)=int$_[3];my(@ep);my(@ey);my($fc,$fd);my$dt;if(ref($_[0])ne$z[184]){die$z[259]."\n";}if(ref($_[1]) ne$z[260]&&$_[1]){die$z[261]."\n";}if(ref($_[2])ne$z[184]&&$_[2]){die$z[262]."\n";}if(!defined&$fa) {die$z[263]."\n";}if(!$_[0]->{$z[61]}){die$z[264]."\n";}unless(-e$eo){return(0);}&eq;open(AA,"<$eo") or&er("DB_List : Can't open '$eo'");@ep=;close(AA);&es;@ep=grep/^\d/,@ep;if($fb&&$ez{$z[265]}){ @ep=grep{$_=~/¡$fb¡/&&$fb==(split(/\¡/,$_))[$ez{$z[265]}]}@ep;}if($_[0]->{$z[11]}){my($fe,$ff);foreach (split(/ /,$_[0]->{$z[11]})){if(s/#//g){$fc=$z[266];}else{$fc='';}if(s/-//g){$fd=$z[267];}else{$fd=''; }if(!defined$ez{$_}){die($z[268]."'$_'!\n");}$ff.="$fd$ez{$_}$fc ";}@ep=&fg($z[269],$ff,\@ep);}foreach (@ep){s/[^¡]+$//;undef%$cb;@ey=split(/\¡/);for$dt(0..$#eu){$cb->{$eu[$dt]}=$ey[$dt];$cb->{$eu[$dt]} =~s/¿([A-F0-9]{2})/pack($z[166],hex($1))/egix;}&$fa;}}sub hk{my($fh)=$_[1];my($fi)=$_[2];my($cb)=$_[3]; my($fj)=int$_[4]||1;my($fk)=int$_[5];my($fb)=int$_[6];my($fc,$fd);my($fl,$fm,$dt);if(ref($_[0])ne$z[184]) {die$z[270]."\n";}if(ref($_[2])ne$z[260]&&$_[2]){die$z[271]."\n";}if(ref($_[3])ne$z[184]&&$_[3]){die $z[272]."\n";}if(!defined&$fi){die$z[273]."\n";}if(!$_[0]->{$z[61]}){die$z[274]."\n";}my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}"; my(@eu)=split(/ /,$_[0]->{$z[63]});my(%ez);for(0..$#eu){$ez{$eu[$_]}=$_;}my($fn,$fo,$fp,$fq,$fr)=(0,0,0,0,0); my(@ep);my(@ey);unless(-e$eo){return(0,0,0,0,0,0);}&eq;open(AA,"<$eo")or&er("DB_ListPage : Can't open '$eo'"); @ep=;close(AA);&es;@ep=grep/^\d/,@ep;if($fb&&$ez{$z[265]}){@ep=grep{$_=~/¡$fb¡/&&$fb==(split(/\¡/,$_))[$ez{$z[265]}] }@ep;}$fp=$#ep+1;if($fh){my(@fs);foreach(split(/ /,$_[0]->{$z[65]})){if(!defined$ez{$_}){die($z[275]."'$_'!\n"); }push(@fs,$ez{$_});}@ep=grep($_=~/\Q$fh\E/i&&join($z[269],(split(/\¡/,$_))[@fs])=~/\Q$fh\E/i,@ep);} $fo=$#ep+1;if($_[0]->{$z[11]}){my($fe,$ff);foreach(split(/ /,$_[0]->{$z[11]})){if(s/#//g){$fc=$z[266]; }else{$fc='';}if(s/-//g){$fd=$z[267];}else{$fd='';}if(!defined$ez{$_}){die($z[276]."'$_'!\n");}$ff.= "$fd$ez{$_}$fc ";}@ep=&fg($z[269],$ff,\@ep);}$fm=($fj*$fk)-($fk-1);$fl=$fj*$fk;if($fl>$#ep){$fl=$#ep+1; }for($fm..$fl){$_=$ep[$_-1];s/[^\¡]+$//;undef%$cb;@ey=split(/\¡/);for$dt(0..$#eu){$cb->{$eu[$dt]}=$ey[$dt]; $cb->{$eu[$dt]}=~s/¿([A-F0-9]{2})/pack($z[166],hex($1))/egix;}&$fi;}$fn=int($fo/$fk);if($fo%$fk){$fn++; }if(($fj-1)<1||($fj-1)>$fn){$fq=$fn;}else{$fq=$fj-1;}if(($fj+1)>$fn){$fr=1;}else{$fr=$fj+1;}if(!$fn) {$fj=$fq=$fr=0;}return($fn,$fo,$fp,$fj,$fq,$fr);}sub lt{if(ref($_[0])ne$z[184]){die"DB_ListSave : The first argument must be a HASH reference!\n"; }if(ref($_[1])ne$z[260]&&$_[1]){die"DB_ListSave : The second argument must be a CODE reference!\n"; }if(ref($_[2])ne$z[184]&&$_[2]){die"DB_ListSave : The third argument must be a HASH reference!\n";} my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}";my(@eu)=split(/ /,$_[0]->{$z[63]});my(%ez);for(0..$#eu) {$ez{$eu[$_]}=$_;}my($fa)=$_[1];my($cb)=$_[2];my($fb)=int$_[3];my(@ep,$ft,%fu);my(@ey,$fc,$fd,$dt); unless(-e$eo){return(0);}&eq;open(AA,"<$eo")or&er("DB_ListSave : Can't open '$eo'");@ep=;close(AA); if($ep[1]=~m/#(\d+)/){$ft=$1;}else{foreach(@ep){/^\d/||next;$fu{(split(/\¡/))[0]}=1;}$ft=(sort{$b<=> $a}keys%fu)[0];}@ep=grep/^\d/,@ep;if($_[0]->{$z[11]}){my($fe,$ff);foreach(split(/ /,$_[0]->{$z[11]})) {if(s/#//g){$fc=$z[266];}else{$fc='';}if(s/-//g){$fd=$z[267];}else{$fd='';}if(!defined$ez{$_}){die($z[277]."'$_'!\n"); }$ff.="$fd$ez{$_}$fc ";}@ep=&fg($z[269],$ff,\@ep);}foreach(@ep){s/[^¡]+$//;undef%$cb;@ey=split(/\¡/); for$dt(0..$#eu){$cb->{$eu[$dt]}=$ey[$dt];$cb->{$eu[$dt]}=~s/¿([A-F0-9]{2})/pack($z[166],hex($1))/egix; }&$fa unless($fb&&$fb!=$cb->{$z[265]});if($cb->{num}){$_="$ey[$dt]¡";for$dt(1..$#eu){my($fv)=$cb->{$eu[$dt]}; $fv=~s/[\x1a\r\n\¡\¿]/sprintf($z[278],ord($&))/egx;$_.="$fv¡";}$_.="\n";}else{undef$_;}}open(AA,">$eo.tmp") or&er("DB_ListSave : Can't open '$eo' for write");print AA"#!$^X\n"or&er("DB_ListSave : Can't write '$eo' header"); print AA"#$ft\n"or&er("DB_ListSave : Can't write '$eo' header");print AA qq|print "Content-type: text/html\\n\\n";\n__END__\n| or&er("DB_ListSave : Can't write '$eo' header");foreach(@ep){/^\d/||next;s/[^¡]+$//;print AA"$_\n"or &er("DB_ListSave : Can't write to '$eo'");}close(AA)or&er("DB_ListSave : Can't close '$eo'");rename("$eo.tmp",$eo) or&er("DB_ListSave : Can't rename '$eo'");&es;}sub gc{if(ref($_[0])ne$z[184]){die$z[279]."\n";}if(ref($_[1]) ne$z[184]){die$z[280]."\n";}my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}";my(@eu)=split(/ /,$_[0]->{$z[63]}); my($ad)=$_[1];my($fw)=int$_[2];my(@ep);my(@ey);my(%fu);my($fx,$dt,$ft);&eq;if(-e$eo){open(AA,"<$eo") or&er("DB_Add : Can't open '$eo'");@ep=;close(AA);}if($ep[1]=~m/#(\d+)/){$ft=$1;}else{foreach(@ep) {/^\d/||next;$fu{(split(/\¡/))[0]}=1;}$ft=(sort{$b<=>$a}keys%fu)[0];}if($fw&&$fu{$fw}){&es;return&fy(@_); }elsif($fw){$fx=$fw;}else{$fx=$ft=$ft+1;}open(AA,">$eo.tmp")or&er("DB_Add : Can't open '$eo' for write"); print AA qq|#!$^X\n|or&er("DB_Add : Can't write '$eo' header");print AA qq|#$ft\n|or&er("DB_Add : Can't write '$eo' header"); print AA qq|print "Content-type: text/html\\n\\n";\n__END__\n|or&er("DB_Add : Can't write '$eo' header"); foreach(@ep){/^\d/||next;s/[^¡]+$//;print AA"$_\n"or&er("DB_Add : Can't write to '$eo'");}my($fz)="$fx¡"; for$dt(1..$#eu){my($fv)=$ad->{$eu[$dt]};$fv=~s/[\x1a\r\n\¡\¿]/sprintf($z[278],ord($&))/egx;$fz.="$fv¡"; }print AA"$fz\n"or&er("DB_Add : Can't write to '$eo'");close(AA)or&er("DB_Add : Can't close '$eo'"); rename("$eo.tmp",$eo)or&er("DB_Add : Can't rename '$eo'");&es;return$fx;}sub hd{if(ref($_[0])ne$z[184]) {die$z[281]."\n";}if(ref($_[1])ne$z[184]){die$z[282]."\n";}if(!$_[2]){die$z[283]."\n";}my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}"; my(@eu)=split(/ /,$_[0]->{$z[63]});my($cb)=$_[1];my($fu)=int$_[2];my(@ep);my(@ey);my($dt);unless(-e $eo){return(0);}if(-e$eo){&eq;open(AA,"<$eo")or&er("DB_Load : Can't open '$eo'");@ep=;close(AA); &es;}foreach(@ep){/^$fu\¡/||next;s/[^¡]+$//;undef%$cb;@ey=split(/\¡/);for$dt(0..$#eu){$cb->{$eu[$dt]} =$ey[$dt];$cb->{$eu[$dt]}=~s/¿([A-F0-9]{2})/pack($z[166],hex($1))/egix;}return 1;}return 0;}sub he{ if(ref($_[0])ne$z[184]){die$z[284]."\n";}if(!$_[1]){die$z[285]."\n";}my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}"; my(@eu)=split(/ /,$_[0]->{$z[63]});my($fu)=int$_[1];my(%fl);my($ga)=0;for(1..$#_){$fl{$_[$_]}++;}my(@ep,$ft,%fu); unless(-e$eo){return(0);}&eq;if(-e$eo){open(AA,"<$eo")or&er("DB_Del : Can't open '$eo'");@ep=;close(AA); }if($ep[1]=~m/#(\d+)/){$ft=$1;}else{foreach(@ep){/^\d/||next;$fu{(split(/\¡/))[0]}=1;}$ft=(sort{$b<=> $a}keys%fu)[0];}open(AA,">$eo.tmp")or&er("DB_Del : Can't open '$eo' for write");print AA qq|#!$^X\n| or&er("DB_Del : Can't write '$eo' header");print AA qq|#$ft\n|or&er("DB_Del : Can't write '$eo' header"); print AA qq|print "Content-type: text/html\\n\\n";\n__END__\n|or&er("DB_Del : Can't write '$eo' header"); foreach(@ep){/^(\d+)\¡/||next;if($fl{$1}){$ga++;next;}s/[^¡]+$//;print AA"$_\n"or&er("DB_Del : Can't write to '$eo'"); }close(AA)or&er("DB_Del : Can't close '$eo'");rename("$eo.tmp",$eo)or&er("DB_Del : Can't rename '$eo'"); &es;return$ga;}sub fy{if(ref($_[0])ne$z[184]){die$z[286]."\n";}if(ref($_[1])ne$z[184]){die$z[287]."\n"; }if(!$_[2]){die$z[288]."\n";}my($eo)="$ab{'datadir'}/$_[0]->{'datafile'}";my(@eu)=split(/ /,$_[0]->{$z[63]}); my($ad)=$_[1];my($fu)=int$_[2];my($gb)=0;my(@ep);my(@ey);my($dt,$cb,$ft,%fu);if(!-e$eo){return&gc(@_); }&eq;open(AA,"<$eo")or&er("DB_Save : Can't open '$eo'");@ep=;close(AA);if($ep[1]=~m/#(\d+)/){$ft =$1;}else{foreach(@ep){/^\d/||next;$fu{(split(/\¡/))[0]}=1;}$ft=(sort{$b<=>$a}keys%fu)[0];}open(AA,">$eo.tmp") or&er("DB_Save : Can't open '$eo' for write");print AA qq|#!$^X\n|or&er("DB_Save : Can't write '$eo' header"); print AA qq|#$ft\n|or&er("DB_Save : Can't write '$eo' header");print AA qq|print "Content-type: text/html\\n\\n";\n__END__\n| or&er("DB_Save : Can't write '$eo' header");foreach(@ep){/^\d/||next;if(/^$fu\¡/){my($fz)="$fu¡";for $dt(1..$#eu){my($fv)=$ad->{$eu[$dt]};$fv=~s/[\x1a\r\n\¡\¿]/sprintf($z[278],ord($&))/egx;$fz.="$fv¡"; }print AA"$fz\n"or&er("DB_Save : Can't write to '$eo'");$gb++;next;}s/[^¡]+$//;print AA$_,"\n"or&er("DB_Save : Can't write to '$eo'"); }close(AA)or&er("DB_Save : Can't close '$eo'");rename("$eo.tmp",$eo)or&er("DB_Save : Can't rename '$eo'"); &es;unless($gb){return&gc(@_);}}sub eq{my$gd=$ge{$z[289]}||5;&gf($z[290],$gd);}sub es{my$gd=$ge{$z[289]} ||5;&gg($gd);}sub mw{return if$ab{$z[101]}++;my($by)=$ab{$z[102]};my($dt);while(!mkdir($by,0777)){my $gh=(stat($by))[9];if($gh&&$gh<$^T-300){&aa($z[102],$by);}sleep 1;if(++$dt>5){if(!-e$by){&aa($z[291],$ab{$z[292]}); }else{&aa($z[293]);}}}}sub mx{die"Nested Filelock Underrun"unless$ab{$z[101]};return if--$ab{$z[101]}; my($by)=$ab{$z[102]};rmdir($by);}sub er{my($gi)=(@_);my($gj)=$!;if($gj eq''){$gj="Unknown error. Maybe disk quota exceeded?"; }&aa($z[294],"$gi : $gj\n");}sub gu{my$gk=$ab{$z[295]}{$z[296]}||={};my$gl=int++$gk->{$z[297]};my$cw ="FH$gl";return eval"local *$cw";}sub gf{return if($ge{$z[298]});my$gk=$ab{$z[295]}{$z[299]}||={};$gk->{$z[300]} ||=[];my($gm,$gn)=@_;$gm||=$z[290];$gn||=0;if($gm ne$z[290]and$gm ne$z[301]){&aa("lock: invalid lock type: '$gm'"); }my$go;if(@{$gk->{$z[300]}}>0){$go=$gk->{$z[300]}[-1];}if($go eq$z[290]){$gm=$go;}if($go eq$gm){push(@{$gk->{$z[300]}}, $gm);return 1;}my$gp;if($go eq$z[301]and$gm eq$z[290]){&aa("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock"); }$gp=&gq('',$gm,$gn);if($gp){push(@{$gk->{$z[300]}},$gm);}return$gp;}sub gg{return if($ge{$z[298]}); my$gk=$ab{$z[295]}{$z[299]}||={};$gk->{$z[300]}||=[];my($gn)=@_;$gn||=0;unless(@{$gk->{$z[300]}}>0) {&aa($z[302])}my$go=pop(@{$gk->{$z[300]}});return if(@{$gk->{$z[300]}}>0 and$gk->{$z[300]}[-1]eq$go); if(@{$gk->{$z[300]}}==0){&gr('');}}sub gq{my$gk=$ab{$z[295]}{$z[299]}||={};my($gs,$gm,$gn)=@_;my$gt; if($gs){$gt="$ab{'datadir'}/$gs.lock";}else{$gt=$ab{$z[102]};}if(not exists$gk->{$z[303]}{$gs}){$gk->{$z[303]}{$gs}{$z[304]} =$gt;$gk->{$z[303]}{$gs}{$z[305]}=&gu();sysopen($gk->{$z[303]}{$gs}{$z[305]},$gk->{$z[303]}{$gs}{$z[304]}, O_RDWR|O_CREAT)||&aa($z[102],"error opening $gm file lock $gk->{'lockinfo'}{$gs}{'filename'}: $!\n"); }else{&aa("_lock_flock: already a lock for semaphore '$gs'");}my$gv;if($gm eq$z[301]){$gv=LOCK_SH;} if($gm eq$z[290]){$gv=LOCK_EX;}if($gn>0){$gv|=LOCK_NB;}my$gw=time()+$gn;until(flock($gk->{$z[303]}{$gs}{$z[305]}, $gv)){if(time()<$gw){sleep(1);}else{close($gk->{$z[303]}{$gs}{$z[305]});&aa($z[293]);}}return 1;}sub gr{my$gk=$ab{$z[295]}{$z[299]}||={};my($gs)=@_;unless(flock($gk->{$z[303]}{$gs}{$z[305]},LOCK_UN)){ &aa($z[102],"error releasing a flock() on file lock $gk->{'lockinfo'}{$gs}{'filename'}: $!\n");}unless (close($gk->{$z[303]}{$gs}{$z[305]})){&aa($z[102],"error closing file lock $gk->{'lockinfo'}{$gs}{'filename'}: $!\n"); }delete$gk->{$z[303]}{$gs};return 1;}sub ah{my($fa,$gx,$gy,$gz,%ha);my(%cb,%hb);if(!$ad{$z[306]}&&!$ea{$z[307]}) {&af(undef,\%cb);}if($ad{$z[306]}){($gx,$gy)=(lc$ad{$z[307]},lc$ad{$z[308]});if(!$gx&&!$gy){&af($z[309], \%cb);}if(!$gx||!$gy){&af($z[309],\%cb);}$fa=sub{if(lc$hb{$z[307]}eq$gx&&lc$hb{$z[308]}eq$gy){$gz=$hb{$z[297]}; }};&hc(\%bi,$fa,\%hb);if(!$gz){&af($z[309],\%cb);}&hd(\%bi,\%hb,$gz);$hb{$z[310]}=$^T;$hb{$z[311]}= $^T;&fy(\%bt,\%hb,$gz);}else{($gx,$gy)=(lc$ea{$z[307]},lc$ea{$z[308]});if(!$gx||!$gy){&af($z[312],\%cb); }$fa=sub{if($ak{$z[313]}&&$ak{$z[314]}&&$hb{$z[311]}<$^T-60*(int($ak{$z[314]})||1)){&he(\%bt,$hb{$z[297]}); }elsif(lc$hb{$z[307]}eq$gx&&lc$hb{$z[308]}eq$gy){$gz=$hb{$z[297]};}};&hc(\%bt,$fa,\%hb);if(!$gz){&af($z[312], \%cb);}&hd(\%bt,\%hb,$gz);$hb{$z[311]}=$^T;&fy(\%bt,\%hb,$gz);}&hf($z[307],$gx);&hf($z[308],$gy);if ($hb{$z[14]}<3){&af($z[315],\%cb);}return%hb;}sub af{if(!$ab{$z[126]}++){print$z [316]."\n\n";}my($gi) =$_[0];my(%cb)=%{$_[1]};&ba($z[33]);if($gi&&!$bc{$gi}){die($z[317]."'$gi' isn't defined!\n");}if($gi) {$cb{$z[318]}=&bc($gi);}print&bc($z[319]);if($gi){print&bc($z[320],\%cb);}else{print&bc($z[306],\%cb); }print&bc($z[321]);&ci();exit;}sub ae{&ba($z[33]);&hf($z[307],'');&hf($z[308],'');if($ak{$z[322]}){ print"Content-type: text/html\n\n"unless($hg++);print qq|\n|; exit;}else{&af();}}sub hq{if(ref($_[0])ne$z[184]){die$z[323]."\n";}my($hh)=$_[0]->{$z[59]}||die($z[324]); &ba($z[325].$hh.$z[326]);my(%hh,%cb);my$fh;my$fk=$ad{$hh.$z[327]}||$ea{$hh.$z[327]}||10;my$hi=$ad{$z[328]} ||$ea{$hh.$z[329]}||1;if(defined$ad{$z[330]}){$fh=$ad{$z[330]};$hi=1;}else{$fh=$ea{$hh.$z[331]};}if ($ad{$hh.$z[332]}){$fh='';$hi=1;}&hf($hh.$z[331],$fh);&hf($hh.$z[327],$fk);&hf($hh.$z[329],$hi);$cb{$z[330]} =$fh;$cb{$hh.$z[333].$fk.$z[334]}=$z[335];my($hj);if(defined&{$_[0]->{$z[69]}}){$hj=$_[0]->{$z[69]}; }else{$hj=sub{$hh{$z[336]}="$ej[$hh{'mon'}-1] $hh{'day'}, $hh{'year'}"if(!defined$hh{$z[336]});$hh{$z[310]} =&cg($z[337],int($hh{$z[310]}))if$hh{$z[310]};$hh{$z[311]}=&cg($z[337],int($hh{$z[311]}))if$hh{$z[311]}; $bd{$z[338]}=$bd{$z[338]}eq$z[339]?$z[340]:$z[339];$cb{$z[122]}.=&bc($z[341],\%hh);};}($cb{$z[342]}, $cb{$z[343]},$cb{$z[344]},$cb{$z[345]},$cb{$z[346]},$cb{$z[347]})=&hk(\%{$_[0]},$fh,$hj,\%hh,$hi,$fk); unless($cb{$z[122]}){$cb{$z[122]}=&bc($z[348]);}print&hl($z[122],\%cb);exit;}sub bh{my($hh)=$_[0]->{$z[59]} ||die($z[324]);&ba($z[325].$hh.$z[326]);my(%hh,%cb);my$fh;my$fk=$ad{$hh.$z[327]}||$ea{$hh.$z[327]}|| 10;my$hi=$ad{$z[328]}||$ea{$hh.$z[329]}||1;if(defined$ad{$z[330]}){$fh=$ad{$z[330]};$hi=1;}else{$fh =$ea{$hh.$z[331]};}if($ad{$hh.$z[332]}){$fh='';$hi=1;}&hf($hh.$z[331],$fh);&hf($hh.$z[327],$fk);&hf($hh.$z[329],$hi); $cb{$z[330]}=$fh;$cb{$hh.$z[333].$fk.$z[334]}=$z[335];my$hj=sub{$hh{$z[349]}=$hm[$hh{$z[14]}];$bd{$z[338]} =$bd{$z[338]}eq$z[339]?$z[340]:$z[339];$cb{$z[122]}.=&bc($z[341],\%hh);};($cb{$z[342]},$cb{$z[343]}, $cb{$z[344]},$cb{$z[345]},$cb{$z[346]},$cb{$z[347]})=&hk(\%{$_[0]},$fh,$hj,\%hh,$hi,$fk);unless($cb{$z[122]}) {$cb{$z[122]}=&bc($z[348]);}print&hl($z[122],\%cb);exit;}sub bj{my($hh)=$_[0]->{$z[59]}||die($z[350]); &ba($z[325].$hh.$z[326]);my(%hh);if($_[0]->{$z[351]}&&&hn($_[0])>=$_[0]->{$z[351]}){print&hl($z[352],$_[0]); }my($ei,$ej,$ek)=(localtime(&ho($^T)))[3,4,5];$ej++;$ek+=1900;$hh{"day_$ei".$z[334]}=$z[335];$hh{"mon_$ej" .$z[334]}=$z[335];$hh{"year_$ek".$z[334]}=$z[335];foreach(split(/ /,$_[0]->{$z[63]})){if(/^ufile/&& !$hh{$_}){$hh{$_}=$z[353];}}$hh{$z[310]}=&cg($z[337],&ho($^T));$hh{$z[311]}=&cg($z[337],&ho($^T));$hh{$z[354]} =$ag{$z[59]}||"unknown user";if($ak{$z[355]}){$hh{$z[356]}.=&bc($z[357],{field=>$z[358]});$hh{$z[356]} .=&bc($z[357],{field=>$z[359]});}if($bc{$z[174]}){print&hl($z[174],\%hh);}else{print&hl($z[360],\%hh); }exit;}sub at{my($hh)=$_[0]->{$z[59]}||die($z[361]);&ba($z[325].$hh.$z[326]);my($gl)=int$ad{$hh.$z[362]}; my(%hh);&hd(\%{$_[0]},\%hh,$gl)||&aa($z[363],$gl);foreach(split(/ /,$_[0]->{$z[63]})){if(/^ufile/&& !$hh{$_}){$hh{$_}=$z[353];}}foreach(keys%hh){$hh{$_}=~s/\&/&/g;$hh{$_}=~s/\"/"/g;$hh{$_}=~ s/\/>/g;}foreach(keys%hh){if(!/\W/&&$hh{$_}!~/\W/){$hh{$_.$z[325].$hh{$_}.$z[364]} =$z[365];$hh{$_.$z[325].$hh{$_}.$z[334]}=$z[335];}}$hh{$z[310]}=&cg($z[337],&ho($hh{$z[310]}))if$hh{$z[310]}; $hh{$z[311]}=&cg($z[337],&ho($hh{$z[311]}))if$hh{$z[311]};my%hp;&hd(\%bi,\%hp,$hh{$z[354]})if$hh{$z[354]}; $hh{$z[354]}=$hp{$z[59]}||"unknown user";if($ak{$z[355]}){$hh{$z[356]}.=&bc($z[357],{field=>$z[358] });$hh{$z[356]}.=&bc($z[357],{field=>$z[359]});}print&hl($z[360],\%hh);exit;}sub an{my($hh)=$_[0]->{$z[59]} ||die($z[366]);my(%hh);if(!$ak{$z[367]}){if(defined&{$_[0]->{$z[70]}}){&{$_[0]->{$z[70]}}($_[0]);}else {&av($_[0]);}exit;}&ba($z[325].$hh.$z[326]);my($gl)=int$ad{$hh.$z[368]};&hd(\%{$_[0]},\%hh,$gl)||&aa($z[363],$gl); print&hl($z[367],\%hh);exit;}sub av{my($hh)=$_[0]->{$z[59]}||die($z[369]);&ba($z[325].$hh.$z[326]); my($gl)=$ad{$z[297]}||$ad{$hh.$z[368]};my(%hh);&hd(\%{$_[0]},\%hh,$gl)||&aa($z[363],$gl);&he(\%{$_[0]}, $gl)||die($z[370].$gl);foreach(split(/ /,$_[0]->{$z[63]})){if(/^ufile/&&$hh{$_}){if(-e"$ak{'dir_upload'}/$hh{$_}") {$hh{$_}=&de($hh{$_});unlink("$ak{'dir_upload'}/$hh{$_}");}}}if(defined&{$_[0]->{$z[67]}}){&{$_[0]->{$z[67]}}($_[0]); }if(!$ak{$z[371]}){if(defined&{$_[0]->{$z[68]}}){&{$_[0]->{$z[68]}}($_[0]);}else{&hq($_[0]);}}print &hl($z[372],\%hh);exit;}sub bk{my($hh)=$_[0]->{$z[59]}||die($z[366]);&ba($z[325].$hh.$z[326]);my($gl) =int$ad{$hh.$z[368]};my(%hh,%hp);&hd(\%{$_[0]},\%hh,$gl)||&aa($z[363],$gl);print&hl($z[373],\%hh)if ($gl==$ag{$z[297]});if($hh{$z[14]}>=9){my$hr=0;my$fa=sub{if($hp{$z[14]}>=9){$hr++;}};&hc(\%{$_[0]}, $fa,\%hp);print&hl($z[374],\%hh)if($hr==1);}if(!$ak{$z[367]}){&bl($_[0]);}print&hl($z[367],\%hh);}sub bl{my($hh)=$_[0]->{$z[59]}||die($z[369]);&ba($z[325].$hh.$z[326]);my($gl)=$ad{$z[297]}||$ad{$hh.$z[368]}; my(%hh,%cb);&hd(\%{$_[0]},\%hh,$gl)||die($z[370].$gl);&he(\%{$_[0]},$gl)||die($z[370].$gl);&he(\%bt, $gl);foreach(split(/ /,$_[0]->{$z[63]})){if(/^ufile/&&$hh{$_}){if(-e"$ak{'dir_upload'}/$hh{$_}"){$hh{$_} =&de($hh{$_});unlink("$ak{'dir_upload'}/$hh{$_}");}}}if(!$ak{$z[371]}){&bh($_[0]);}print&hl($z[372],\%cb); exit;}sub ap{my($hh)=$_[0]->{$z[59]}||die($z[375]);&ba($z[325].$hh.$z[326]);my($gl)=int$ad{$z[297]}; my(%hh,%cj,%cb);if($_[0]->{$z[351]}){my($et)=&hn($_[0]);if($gl&&$et>$_[0]->{$z[351]}){print&hl($z[352],$_[0]); }elsif(!$gl&&$et>=$_[0]->{$z[351]}){print&hl($z[352],$_[0]);}}if($gl){&hd(\%{$_[0]},\%hh,$gl)||die("ui_save : Can't find record #$gl"); }if(grep{/^ufile/}split(/ /,$_[0]->{$z[63]})){%cj=&hs($_[0],\%hh);}if($gl){$ad{$z[310]}=$hh{$z[310]}; $ad{$z[311]}=$^T;$ad{$z[354]}=$ag{$z[297]};&fy(\%{$_[0]},\%ad,$gl);}else{$ad{$z[310]}=$^T;$ad{$z[311]} =$^T;$ad{$z[354]}=$ag{$z[297]};$ad{$z[297]}=&gc(\%{$_[0]},\%ad,$gl);}if(defined&{$_[0]->{$z[67]}}){ &{$_[0]->{$z[67]}}($_[0]);}if(keys%cj){undef$ak{$z[376]}if!$ak{$z[377]};$cj{$z[378]}=&bc($z[378],\%ak) if$ak{$z[376]};$cj{$z[379]}=&bc($z[379],\%ak)if$ak{$z[380]};$cj{$z[381]}=&bc($z[381],\%ak)if$ak{$z[382]}; $cj{$z[383]}=&bc($z[383],{$z[384]=>$ak{$z[384]}?$ak{$z[384]}:$z[385]});print&hl($z[386],\%cj);exit; }if(!$ak{$z[387]}){if(defined&{$_[0]->{$z[68]}}){&{$_[0]->{$z[68]}}($_[0]);}else{&hq($_[0]);}}print &hl($z[388],\%cb);exit;}sub hs{my($hh)=$_[0]->{$z[59]}||die($z[375]);my($gl)=int$ad{$z[297]};my(%hh) =%{$_[1]};my(%ch,%dc,$ht,%cj,%cb);if(!$ak{$z[389]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n"); }if(!-d$ak{$z[389]}){die("ui_save_uploads: Upload directory '$ak{'dir_upload'}' doesn't exist!\n"); }if(!-w$ak{$z[389]}){die("ui_save_uploads: Upload directory isn't writable!\n");}%ch=&cf($ak{$z[389]}); foreach(split(/ |\,/,$ak{$z[384]})){$dc{$_}++if$_;}foreach$ht(split(/ /,$_[0]->{$z[63]})){if($ht!~/^ufile/) {next;}$hh{$ht}=&de($hh{$ht});if($ad{$ht}){if($ak{$z[377]}&&length($ad{$ht})>$ak{$z[376]}*1000){my$hu =length($ad{$ht});$cj{$z[318]}.=qq|$ad{$ht."_file"} ($hu bytes, file too large)
\n|;$ad{$ht}=$hh{$ht}; next;}if(!$dc{lc$ad{$ht.$z[164]}}){$cj{$z[318]}.=qq|$ad{$ht."_file"} ('$ad{$ht.'_ext'}' files not accepted)
\n|; $ad{$ht}=$hh{$ht};next;}if($hh{$ht}&&$ch{$hh{$ht}}){unlink("$ak{'dir_upload'}/$hh{$ht}");}my($hv);my($hw) =lc$ad{$ht.$z[163]};my($hx)=lc$ad{$ht.$z[164]};my($hy)=$z[390];$hw=~s/\.[^\.]*$//g;$hw=~s/[^a-z0-9_\-]/_/g; $hx=~s/[^a-z0-9_\-]/_/g;$hv="$hw.$hx";if(-e"$ak{'dir_upload'}/$hv"){do{$hy=sprintf($z[391],++$hy);$hv =$hw."_$hy.$hx";}while(-e"$ak{'dir_upload'}/$hv");}open(AA,">$ak{'dir_upload'}/$hv")||die($z[392]."$hv $!\n"); binmode AA;print AA$ad{$ht};close(AA)||die("ui_save_uploads : Can't write $hv : $!\n");if($hv=~/\.(gif|jpg|jpeg|png)$/i) {my($hz,$ia,$ib)=&ic("$ak{'dir_upload'}/$hv");if(($ak{$z[380]}&&$ia>$ak{$z[380]})||($ak{$z[382]}&&$hz >$ak{$z[382]})){unlink("$ak{'dir_upload'}/$hv");$cj{$z[318]}.=qq|$ad{$ht."_file"} (${ia}x$hz, image too big)
\n|; $ad{$ht}=$hh{$ht};next;}}$ad{$ht}=$hv;}elsif($ad{$ht.$z[163]}){if($hh{$ht}&&$ch{$hh{$ht}}){unlink("$ak{'dir_upload'}/$hh{$ht}"); }$hh{$ht}='';}else{$ad{$ht}=$hh{$ht};}}return%cj;}sub bm{my($hh)=$_[0]->{$z[59]}||die($z[369]);&ba($z[325].$hh.$z[326]); my($gl)=int$ad{$z[297]};my(%hh,%hb,%cb,%hp);if($_[0]->{$z[351]}){my($et)=&hn($_[0]);if($gl&&$et>$_[0]->{$z[351]}) {print&hl($z[352],$_[0]);}elsif(!$gl&&$et>=$_[0]->{$z[351]}){print&hl($z[352],$_[0]);}}if(&id($_[0], \%cb,$z[307],$ad{$z[307]})){if($gl&&$cb{$z[297]}!=$gl){print&hl($z[393],$_[0]);}if(!$gl&&$cb{$z[297]}) {print&hl($z[393],$_[0]);}}if($gl){&hd(\%{$_[0]},\%hh,$gl)||die($z[394].$gl);if($hh{$z[14]}>=9&&$ad{$z[14]} <9){my$hr=0;my$fa=sub{if($hp{$z[14]}>=9){$hr++;}};&hc(\%{$_[0]},$fa,\%hp);print&hl($z[374],\%hh)if($hr ==1);}$ad{$z[310]}=$hh{$z[310]};$ad{$z[311]}=$^T;$ad{$z[354]}=$ag{$z[297]};&fy(\%{$_[0]},\%ad,$gl); if(&hd(\%bt,\%hb,$gl)){$ad{$z[310]}=$hb{$z[310]};$ad{$z[311]}=$hb{$z[311]};$ad{$z[354]}=$ag{$z[297]}; &fy(\%bt,\%ad,$gl);}if($ag{$z[297]}==$gl){&hf($z[307],$ad{$z[307]});&hf($z[308],$ad{$z[308]});$ea{$z[307]} =$ad{$z[307]};$ea{$z[308]}=$ad{$z[308]};%ag=&ah;}}else{$ad{$z[310]}=$^T;$ad{$z[311]}=$^T;&gc(\%{$_[0]}, \%ad,$gl);}if(!$ak{$z[387]}){&bh($_[0]);}print&hl($z[388],\%cb);exit;}sub ie{my($hh)=$_[0]->{$z[59]} ||die($z[395]);&ba($z[325].$hh.$z[326]);my(%hh);&hd(\%{$_[0]},\%hh,1);foreach(split(/ /,$_[0]->{$z[63]})) {if(/^ufile/&&!$hh{$_}){$hh{$_}=$z[353];}}foreach(keys%hh){$hh{$_}=~s/\&/&/g;$hh{$_}=~s/\"/"/g; $hh{$_}=~s/\/>/g;}foreach(keys%hh){if(!/\W/&&$hh{$_}!~/\W/){$hh{$_.$z[325].$hh{$_}.$z[364]} =$z[365];$hh{$_.$z[325].$hh{$_}.$z[334]}=$z[335];}}$hh{$z[310]}=&cg($z[337],&ho($hh{$z[310]}))if$hh{$z[310]}; $hh{$z[311]}=&cg($z[337],&ho($hh{$z[311]}))if$hh{$z[311]};my%hp;&hd(\%bi,\%hp,$hh{$z[354]})if$hh{$z[354]}; $hh{$z[354]}=$hp{$z[59]}||"unknown user";print&hl($z[360],\%hh);exit;}sub my{my($hh)=$_[0]->{$z[59]} ||die($z[396]);&ba($z[325].$hh.$z[326]);my(%ch,%dc,$ht,$cj,%cj);my(%hh,%cb);my($gl)=1;if($gl){&hd(\%{$_[0]}, \%hh,$gl);}if(grep{/^ufile/}split(/ /,$_[0]->{$z[63]})){%cj=&hs($_[0],\%hh);}$ad{$z[310]}=$hh{$z[310]} ||$^T;$ad{$z[311]}=$^T;$ad{$z[354]}=$ag{$z[297]};&fy(\%{$_[0]},\%ad,1);if(defined&{$_[0]->{$z[67]}}) {&{$_[0]->{$z[67]}}($_[0]);}if(keys%cj){undef$ak{$z[376]}if!$ak{$z[377]};$cj{$z[376]}=$ak{$z[376]}|| "(no limit)";$cj{$z[384]}=$ak{$z[384]}||"(none)";$cj{$z[380]}=$ak{$z[380]}||"(any size)";$cj{$z[382]} =$ak{$z[382]}||"(any size)";print&hl($z[386],\%cj);exit;}if(!$ak{$z[387]}){if(defined&{$_[0]->{$z[397]}}) {&{$_[0]->{$z[397]}}($_[0]);}else{&ie($_[0]);}}print&hl($z[388],\%cb);exit;}sub bg{&ba($z[398]);&hd(\%bu, \%ak,1);$ak{$z[399]}=$bd{$z[399]}=$z[400]if$ak{$z[32]};foreach(keys%ak){if(!/\W/&&$ak{$_}!~/\W/){$ak{$_."_$ak{$_}".$z[364]} =$z[365];$ak{$_."_$ak{$_}".$z[334]}=$z[335];}}$ak{$z[401]}=localtime($^T);$ak{$z[175]}||=0;$ak{$z[178]} ||=0;$ak{$z[402]}=localtime(&ho($^T));foreach(keys%ENV){$ak{"env_".lc($_)}=$ENV{$_};}$ak{$z[403]}=$^O; $ak{$z[404]}=$];$ak{$z[405]}||="not available";$ak{$z[406]}||=$ak{$z[407]};if(&if($ge{$z[408]})){$bd{$z[409]} =&ig();}foreach(keys%ak){$ak{$_.$z[410]}=&ce($ak{$_})if/^dir/;}if($ad{$z[47]}){print&hl($z[411],\%ak); }elsif($ad{$z[48]}){print&hl($z[412],\%ak);}elsif($ad{$z[49]}){print&hl($z[413],\%ak);}elsif($ad{$z[50]}) {print&hl($z[414],\%ak);}elsif($ak{$z[415]}){print&hl($z[415],\%ak);}else{print&hl($z[411],\%ak);}exit; }sub bf{&ba($z[398]);&ih;if(!$ak{$z[387]}){&bg;}if($ad{$z[47]}){print&hl($z[416],{});}elsif($ad{$z[48]}) {print&hl($z[417],{});}elsif($ad{$z[49]}){print&hl($z[418],{});}elsif($ad{$z[50]}){print&hl($z[419], {});}else{print&hl($z[416],{});}exit;}sub ih{my($cj);if(defined$ad{$z[399]}){$ad{$z[399]}=~s/\s+//g; if(defined&ii&&!&ii($ad{$z[399]})){$cj=$z[420];}if(!$ad{$z[399]}){$cj=$z[421];}if(!$ad{$z[422]}){$cj =$z[423];}if(!$ad{$z[424]}){$cj=$z[425];}if($cj){$bd{$z[123]}=$cj;$bd{$z[424]}=$ad{$z[424]};$bd{$z[422]} =$ad{$z[422]};$bd{$z[399]}=$ad{$z[399]};&hl($z[414],\%bd)}}foreach(qw(login_timeout_min uploadmax lhour_offset lmin_offset)) {if(exists$ad{$_}){$ad{$_}=int($ad{$_});}}foreach(qw(upload_height upload_width)){if(exists$ad{$_}) {$ad{$_}&&=int($ad{$_});}}foreach(grep{/_default_to$/i}keys%ad){my($ij,$ik)=/^((.*)_default_to)$/;if ($ad{$ij}=~/^null$/i){$ad{$ij}='';}$ad{$ik}||=$ad{$ij};}foreach(qw(publish_index publish_basename publish_fileext)) {$ad{$_}=~s/^\.+//;$ad{$_}=~s/\.+$//;}if($ad{$z[426]}&&$ad{$z[426]}!~/\/$/){$ad{$z[426]}.=$z[99];}if ($ad{$z[355]}){$ad{$z[427]}=0;}my$il=0;if(defined$ad{$z[424]}&&$ad{$z[424]}ne$ak{$z[424]}){$il=1;}if (defined$ad{$z[422]}&&$ad{$z[422]}ne$ak{$z[422]}){$il=1;}if(defined$ad{$z[399]}&&$ad{$z[399]}ne$ak{$z[399]}) {$il=1;}&hd(\%bu,\%ak,1);foreach(sort keys%ak){$ak{$_}=$ad{$_}if defined$ad{$_};}&fy(\%bu,\%ak,1);$bd{$z[428]} =$ak{$z[426]};foreach(keys%ak){$bd{$_}=$ak{$_}if/^ui_/;}$bd{$z[424]}=$ak{$z[424]};$bd{$z[422]}=$ak{$z[422]}; $bd{$z[399]}=$ak{$z[399]};$bd{$z[314]}=int$ak{$z[314]};$ak{$z[402]}=localtime(&ho($^T));$bd{$z[429]} =$ak{$z[430]};$bd{$z[431]}=$ak{$z[432]};$bd{$z[433]}=$ak{$z[433]};if($il){&im();}}sub be{&ih unless $ak{$z[32]};foreach(@bp){if(defined&{$_->{$z[67]}}){&{$_->{$z[67]}}($_);}}print&hl($z[434],{});}sub hl{my($dm)=$_[0];my($cb)=$_[1];unless($dm){die($z[435]."\n");}if(ref($_[1])ne$z[184]){die$z[436]."\n"; }my(%cb);if(!$ab{$z[126]}++){print$z [316]."\n\n";}&ba($z[33]);$bd{$z[437]}=$ak{$z[433]}?'':&bc($z[437], $cb);print&bc($z[319]);for(1..9){if($ag{$z[14]}>=$_&&$bc{$z[438].$_}){$cb{$z[439]}.=&bc($z[438].$_); }if($ag{$z[14]}==$_&&$bc{$z[438].$_.$z[440]}){$cb{$z[439]}.=&bc($z[438].$_.$z[440]);}}$bd{$z[441]}= "$ag{'name'} ($hm[$ag{'acl'}])";$cb{$z[359]}=&bc($dm,$cb);print&bc($z[442],\%cb);print&bc($z[321],$cb); if($ab{$z[443]}){print"
execute time: ",time()-$^T," seconds
\n"; }if($ab{$z[443]}>=2){print"

Stack Trace
";my$dt=0;while(my($ch,$fz,$in) =(caller($dt++))[1,2,3]){print qq!

($in) called from ($ch) line ($fz)
\n!;}}&ci();if($ab{$z[443]}) {print"

";print"

$ab{'debug_output'}"if($ab{$z[142]});print"";
}exit;}sub ci{print"\n";}sub le{unless(!$ENV{$z[144]}&&$ENV{$z[160]}ne$z[161]){return;}my($io,$ch);my(@cc)=(map"$ab{'datadir'}/${$_}{'datafile'}",
grep/^[a-z]+DB$/i&&defined$::{$_}{$z[61]},sort keys%::);my(@ip)=($ab{$z[292]},$ak{$z[389]});foreach
$ch(sort@ip){$ch||next;if(!-e$ch||!-w$ch){$io.="$ch
\n";}}foreach$ch(sort@cc){$ch=~s/\\/\//g;$ch =~s/\/[^\/]+\/\.\.\//\//;if(-e$ch&&!-w$ch){$io.="$ch
\n";}}if($io){&aa($z[291],$io);}}sub fg{my($iq, $ff,$arrayref_nopack)=@_;my(@f_nopack,$fe,$ir,$is,$it,$dt);my($fc,$fd);$dt=0;foreach(split(/ /,$ff)) {if(s/\#//g){$fc=1;}elsif(s/n//g){$fc=1;}else{$fc=0;}if(s/\-//g){$fd=$z[445];}elsif(s/\+//g){$fd=''; }else{$fd='';}s/[^0-9]//gs;push(@f_nopack,$_);if($fc){$fe+=15;$is.=$z[446];$it.=qq|$fd sprintf('%015s',substr(int(\$str[$dt]*100000),0,15)),|; }else{$fe+=50;$is.=$z[447];$it.="$fd substr(\$str[$dt],0,50),";}$dt++;}$ir.=qq|return map { substr(\$_,$fe) } sort map {\n|; $ir.=qq| my \@str = (split(/\\$iq/,lc \$_))[\@f_nopack];\n|;$ir.=qq| sprintf("$is\%s" ,$it\$_);\n|; $ir.=qq| } \@\$arrayref_nopack;\n|;eval$ir;}sub iy{$_=shift;s/&/&/g;s/"/"/g;s//>/g; return$_;}sub iw{my%iu=map{$_,1}split//,shift;my@eu=split//,shift;my($iv)=shift||\%ad;my$iw;if($iu{$z[448]} ||!@eu){my%ix=map{$_,1}@eu;if($iu{$z[449]}){$iw=&iy(join($z[450],map{$ix{$_}?():&ce($_).$z[201].&ce($iv->{$_}) }keys%{$iv}));}else{$iw=join("\n",map{$ix{$_}?():$z[451].&iy($_).$z[452].&iy($iv->{$_}).$z[453]}keys %{$iv});}}else{if($iu{$z[449]}){$iw=&iy(join($z[450],map{&ce($_).$z[201].&ce($iv->{$_})}@eu));}else {$iw=join("\n",map{$z[451].&iy($_).$z[452].&iy($iv->{$_}).$z[453]}@eu);}}return$iw;}sub ic{$_=$_[0]; /\.gif$/i&&return(&iz($_[0]));(/\.jpeg$/i||/\.jpg$/i)&&return(&ja($_[0]));/\.png$/i&&return(&jb($_[0])); undef;}sub jb{my($jc)=@_;my($jd);open(PNG,$jc)||return(undef,undef,"PNG - Couldn't Open $jc");binmode(PNG); seek(PNG,12,0);read(PNG,$jd,4);if($jd ne"IHDR"){close PNG;return(undef,undef,"PNG - Missing Image Header - $jd"); }read(PNG,$jd,8);close PNG;return unpack("NN",$jd);}sub ja{my($jc)=@_;my($jd,$je,$jf,$jg,$co);open(JPEG, $jc)||return(undef,undef,"JPEG - Couldn't Open $jc");binmode(JPEG);read(JPEG,$jd,2);while(1){read(JPEG, $je,4);($jf,$jg,$co)=unpack("a a n",$je);if($jf ne"\xFF"){close JPEG;return(undef,undef,"JPEG - Marker not Found"); }if((ord($jg)>=0xC0)&&(ord($jg)<=0xC3)){read(JPEG,$jd,5);close(JPEG);my($jh,$ji)=unpack("xnn",$jd); return($ji,$jh);}else{read(JPEG,$jd,$co-2);}}}sub jo{my($jj,$jk)=@_;my($jl);read($jj,$jl,$jk);while (1){if(eof($jj)){close AF;return(undef);}read($jj,$jl,1);last if ord($jl)==0;read($jj,$jl,ord($jl)); }1;}sub iz{my($jc)=@_;my($jd,$ji,$bz,$jm,$jn,$ji,$hz,$jh,$ia);open(AF,$jc)||return(undef,undef,"GIF - Couldn't Open $jc"); binmode(AF);read(AF,$bz,6);read(AF,$jd,7);if(length($jd)!=7){close AF;return(undef,undef,"GIF - Corrupted Header"); }($ji)=unpack("x4 C",$jd);if($ji&0x80){$jm=3*(2**(($ji&0x07)+1));read(AF,$jn,$jm);if(!$jn){close AF; return(undef,undef,"GIF - Corrupted Colour Map");}}while(1){if(eof(AF)){close AF;return(undef,undef, "GIF - EOF at BlockStart");}read(AF,$jd,1);($ji)=unpack("C",$jd);if($ji==0x2c){read(AF,$jd,8);if(length($jd) !=8){close AF;return(undef,undef,"GIF - Missing Image Header");}($ji,$hz,$jh,$ia)=unpack("x4 C4",$jd); close(AF);return($ji+$hz* 256,$jh+$ia* 256);}if($ji==0x21){read(AF,$jd,1);($ji)=unpack("C",$jd);if($ji ==0xF9){read(AF,$jd,6);}elsif($ji==0xFE){&jo(\*AF,0)||return(undef,undef,"GIF - Bad Block - skip=0"); }elsif($ji==0x01){&jo(\*AF,13)||return(undef,undef,"GIF - Bad Block - skip=13");}elsif($ji==0xFF){&jo(\*AF, 12)||return(undef,undef,"GIF - Bad Block - skip=12");}else{close AF;return(undef,undef,"GIF - Unknown Block Extension"); }}else{close AF;return(undef,undef,"GIF - Unknown Block Type");}}}sub de{return($_[0]=~/(.+)/s)[0]; }sub mz{my$hj;foreach(split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!$jv){$jt=1;}push(@{$js[$jt]},$_);}if(defined $jr){foreach(0..$#js){while(scalar@{$js[$_]}<$jq){push(@{$js[$_]},$jr);}}}shift@js;return@js;}1;sub lh{$bd{$z[454]}=int sprintf($z[455],&ii($ak{$z[399]}));if($ak{$z[456]}){&af($z[457]);}local(*AA);open(AA,"<$bw/$bx"); ;binmode(AA);my$jw.=join'',();close(AA);$jw=~tr/\r\n//d;$ab{$z[458]}=unpack($z[459],$jw);my $jx=$z[460].$z[461].$z[462].$z[463];("328::5955555555555555555555555555","7820051")-$ab{$z[458]}&&&af(pack($z[200],$jx)); if(!$ak{$z[464]}){&jy;}if(!$bd{$z[454]}){die("Invalid Product ID number $ak{'reg3'}\n");}my($jz);($jz =lc$ab{$z[118]})=~s/[^a-z0-9]//g;if($ak{$z[465]}!=unpack($z[459],$jz)){$ak{$z[465]}=unpack($z[459],$jz); &fy(\%bu,\%ak,1);&im;}}sub jy{my($cj,$ka,$dl);&ba($z[466]);my@kb=("../","../../../$ab{default_install_dir}/", "../../../htdocs/$ab{default_install_dir}/","../../../www/$ab{default_install_dir}/","../../../web/$ab{default_install_dir}/", "../../../html/$ab{default_install_dir}/","../../../htdocs/","../../../www/","../../../web/","../../../html/", "../",);if($ad{$z[467]}){$dl=&bc($z[467]);}elsif($ad{$z[468]}){$bd{$z[469]}=&kc();$dl=&bc($z[468]); }elsif($ad{$z[470]}){$bd{$z[422]}||=$ENV{$z[471]}||$ENV{$z[472]};$dl=&bc($z[470]);}elsif($ad{$z[473]}) {$ad{$z[399]}=~s/\s+//g;if(defined&ii&&!&ii($ad{$z[399]})){$cj=$z[420];}if(!$ad{$z[474]}||$ad{$z[475]} ne$z[476]){$cj=&bc($z[477]);}if(!$ad{$z[399]}){$cj=$z[421];}if(!$ad{$z[422]}){$cj=$z[423];}if(!$ad{$z[424]}) {$cj=$z[425];}if($cj){print"Content-type: text/html\n\n";$bd{$z[123]}=$cj;foreach($z[424],$z[422],$z[399], $z[475]){$bd{$_}=$ad{$_};}foreach($z[319],$z[470],$z[321]){print&bc($_);}exit;}foreach($z[424],$z[422],$z[399]) {$ak{$_}=$ad{$_};}&fy(\%bu,\%ak,1);my$kd=$ENV{$z[100]}||$ENV{$z[478]};$kd=~s%/[^/]+$%/%;my$ke;foreach (@kb){$ke="$kd${_}images";1 while($ke=~s%/[^/]+/\.\.%%);last if(-e"$ab{cgidir}/${_}images");}$ak{$z[426]} ||=$ke;$dl=&bc($z[473],\%ak);}elsif($ad{$z[479]}){$bd{$z[480]}=$ad{$z[428]};if($bd{$z[480]}!~/\/$/) {$bd{$z[480]}.=$z[99];}$bd{$z[481]}=$z[482];$dl=&bc($z[479],\%ak);}elsif($ad{$z[35]}){$bd{$z[428]}= $ak{$z[426]};if($bd{$z[428]}!~/\/$/){$bd{$z[428]}.=$z[99];}&bb($z[39]);}elsif($ad{$z[483]}){$ak{$z[426]} =$ad{$z[426]}if($ad{$z[426]});if($ak{$z[426]}!~/\/$/){$ak{$z[426]}.=$z[99];}&fy(\%bu,\%ak,1);my$kd= $ENV{$z[100]}||$ENV{$z[478]};$kd=~s%/[^/]+$%/%;my$kf;my$kg;foreach(@kb){$kf="$kd${_}uploads";$kg="$ab{cgidir}/${_}uploads"; 1 while($kf=~s%/[^/]+/\.\.%%);1 while($kg=~s%/[^/]+/\.\.%%);last if(-e"$ab{cgidir}/${_}uploads");}my $kh;foreach(@kb){$kh="$ab{cgidir}/${_}publish";1 while($kh=~s%/[^/]+/\.\.%%);last if(-e"$ab{cgidir}/${_}publish"); }$ak{$z[484]}||=$kf;$ak{$z[389]}||=$kg;$ak{$z[485]}||=$kh;$dl=&bc($z[483],\%ak);}elsif($ad{$z[486]}) {$ak{$z[484]}=$ad{$z[484]}if($ad{$z[484]});if($ak{$z[484]}!~/\/$/){$ak{$z[484]}.=$z[99];}$ak{$z[389]} =$ad{$z[389]}if($ad{$z[389]});$ak{$z[485]}=$ad{$z[485]}if($ad{$z[485]});&fy(\%bu,\%ak,1);$dl=&bc($z[486],\%ak); }elsif($ad{$z[487]}){my%cb;if(!$ad{$z[488]}||!$ad{$z[489]}){$bd{$z[123]}=$z[490];}elsif(&id(\%bi,\%cb, $z[307],$ad{$z[488]})){$bd{$z[123]}=$z[491];}if($bd{$z[123]}){print$z [316]."\n\n";foreach($z[319],$z[486],$z[321]) {print&bc($_,\%ad);}exit;}if(!&ii($ak{$z[399]})){print"Location: $ab{'cgiurl'}?step3=1\n\n";exit;}if (!$ak{$z[399]}){print"Location: $ab{'cgiurl'}?step3=1\n\n";exit;}if(!$ak{$z[422]}){print"Location: $ab{'cgiurl'}?step3=1\n\n"; exit;}if(!$ak{$z[424]}){print"Location: $ab{'cgiurl'}?step3=1\n\n";exit;}if($bd{$z[123]}){print$z [316]."\n\n"; foreach($z[319],$z[483],$z[321]){print&bc($_,\%ad);}exit;}my($jz);($jz=lc$ab{$z[118]})=~s/[^a-z0-9]//g; $ak{$z[465]}=unpack($z[459],$jz);$ak{$z[464]}=1;&fy(\%bu,\%ak,1);my%dg=($z[310]=>$^T,$z[311]=>$^T,$z[59] =>$ad{$z[488]},$z[307]=>$ad{$z[488]},$z[308]=>$ad{$z[489]},$z[14]=>$z[492]);&gc(\%bi,\%dg);&hf($z[307],''); undef$ea{$z[307]};&hf($z[308],'');undef$ea{$z[308]};&im;return();}if(!$dl){if(&if($ge{$z[408]})){$bd{$z[409]} =&ig();}$dl=&bc($z[493]);}print$z [316]."\n\n";print&bc($z[319]);print$dl ;print&bc($z[321]);exit;} sub ii{my($ak,$dt,$ki,$kj,@kk)=(shift,(undef)x3,265,193);my%kl=map{$_,$dt++}split(//,$z[494]);$ak=~s/-//g; my@ak=split(//,$ak);for(0,1){my$km;for(0..7){$km*=33;$km+=$kl{shift@ak}}$ki=$km/(35771* shift(@kk))-1261; ($ki-int$ki||$ki<1||($kj&&$ki!=$kj))?return undef:($kj=$ki)}$ki}sub im{$bd{$z[454]}=int sprintf($z[455],&ii($ak{$z[399]})); my($kn);my$cs=$ENV{$z[471]}||$ENV{$z[472]}||$ENV{$z[495]};my$ck=$ENV{$z[100]}||$ENV{$z[478]};$kn.=$z[496] .&ce($ak{$z[424]});$kn.=$z[497].&ce($ak{$z[422]});$kn.=$z[498].&ce($bd{$z[454]});$kn.=$z[499].&ce($ab{$z[7]}); $kn.=$z[500].&ce($ab{$z[3]});$kn.=$z[501].&ce("$cs$ck");$kn.=$z[502].&ce($ab{$z[458]});&ko($kn);my($AG, $kp,$kq);$AG=0;my$kr=$SIG{__DIE__};undef$SIG{__DIE__};if($@||!$kp||!$kq){if($^O=~/solaris/i){$kp=2; }elsif($^O=~/irix/i){$kp=2;}else{$kp=1;}$kq=2;}$SIG{__DIE__}=$kr;my$ks=gethostbyname($z[503])||return; local(*AH);socket(AH,$kq,$kp,$AG)||die("No Socket: $!");connect(AH,pack"SnA4x8",$kq,80,$ks)||return; select(AH);$|=1;select(STDOUT);print AH"GET /register/register.cgi?$kn HTTP/1.0\n";print AH"Referer: $ENV{'HTTP_REFERER'}\n"; print AH"User-Agent: software\n\n";my$kt=join("",);close(AH);if($kt=~/license\.invalid/){$ak{$z[456]} =1;}if($kt=~/license\.valid/){$ak{$z[456]}=0;}&fy(\%bu,\%ak,1);if($ak{$z[456]}){&af($z[457]);}}sub az{if(!$ab{$z[126]}++){print$z [316]."\n\n";}print&kc();exit;}sub kc{if(&if($ge{$z[408]})){return&ku(); }else{return&ba($z[504]);}}sub if{my$kv=shift||die("No 'vendor' name specified (make sure it's defined in INI file)"); my$kw=$kv;$kw=~s/^\s+|\s+$//sg;$kw=~s/(.{1,8})/crypt($1,$z[505])/sge;$kw=~s/AA//gs;if($kw eq$z[506]) {return 1;}return 0;}sub ig{my$ak=join("\n",$z[507],$z[508],$z[509],'',$z[510],$z[511],);$ak=~s|\$cgiurl\$|$ab{$z[512]}|iges; return&kx($ak);}sub ku{my$ak=join("\n",$z[513],$z[514],$z[515],$z[516],$z[517],$z[518],$z[519],$z[520], $z[521],'',$z[522],'',$z[523],'',$z[524],$z[525],$z[526],$z[527],$z[528],$z[529],$z[530],'',$z[531], $z[532],$z[533],$z[534],'',$z[535],'',$z[536],'',$z[537],$z[538],$z[539],$z[540],$z[541],$z[542],$z[543], '',$z[544],'',$z[545],$z[546],$z[547],'',$z[548],'',$z[549],$z[550],$z[551],$z[537],$z[552],$z[553], $z[554],$z[555],$z[556],$z[543],'',$z[557],'',$z[537],$z[558],$z[559],$z[560],$z[561],$z[562],$z[563], $z[564],$z[565],$z[566],$z[567],$z[568],$z[569],$z[543],'',$z[570],$z[571],$z[572],'',$z[573],$z[574], $z[575],$z[576],$z[577],$z[578],$z[579],$z[580],'',$z[581],$z[582],$z[583],$z[584],$z[585],$z[586], '',$z[587],$z[588],$z[589],$z[590],$z[591],$z[592],$z[593],'',$z[594],$z[595],'',$z[537],$z[596],$z[597], $z[598],$z[599],$z[543],'',$z[600],'',$z[601],$z[602],'',$z[537],$z[603],$z[604],$z[605],$z[606],$z[607], $z[608],$z[609],$z[610],$z[611],'',$z[612],$z[613],$z[614],$z[615],'',$z[616],$z[543],'',$z[617],$z[618], $z[619],$z[620],$z[621],$z[622],$z[623],$z[624],$z[625],$z[626],$z[627],'',$z[628],$z[629],$z[630], $z[631],$z[632],$z[633],$z[634],$z[635],$z[636],$z[637],$z[638],'',$z[639],$z[640],$z[641],$z[642], $z[643],$z[644],$z[645],$z[646],$z[647],$z[648],$z[649],'',$z[650],$z[651],$z[652],'',$z[653],$z[654], $z[655],'',$z[656],$z[657],$z[658],$z[659],$z[660],$z[661],$z[662],$z[663],$z[664],$z[665],'','',$z[666], '','',$z[535],$z[667],$z[668],'',$z[669],'',$z[670],);return&kx($ak);}sub kx{my$ak=shift;$ak=~s|\$_vendor_name\$|$bd{$z[671]}|iges; $ak=~s|\$_vendor_url\$|$bd{$z[672]}|iges;$ak=~s|\$_vendor_location\$|$bd{$z[673]}|iges;return$ak;}sub nb{my$db=shift;my$ak;foreach$ky(keys%$db){$cx=&ce($db->{$ky});$ak.="&"if($ak);$ak.="$ky=$cx";}$ak=unpack($z[674], $ak);$ak=~tr/[A-F][a-f][0-9]/[A-F][A-F][G-P]/;return$ak;}sub lk{my$ak=shift;my$db={};$ak=~tr/[A-F][G-P]//cd; $ak=~tr/[G-P]/[0-9]/;$ak=pack($z[674],$ak);foreach$kz(split($z[450],$ak)){($cw,$cx)=split($z[201],$kz); $cx=&ed($cx);$db->{$cw}=$cx;}return$db;}1;&la;srand;$|++;my($lb)=(split($z[99],$ENV{$z[100]}))[-1]; %ab=(%ab,$z[142]=>'',$z[118]=>$bw,$z[512]=>$lb,$z[292]=>"$bw/../data",$z[102]=>"$bw/../data/filelock.lock", $z[675]=>"$bw/../uploads",$z[676]=>"$bw/../templates",$z[677]=>"$bw/../templates/interface",$z[678] =>'',$z[126]=>0,);foreach($z[679],$z[680]){$ab{$z[678]}||=$_ if(-e$_);}foreach(keys%ab){$ab{$_}=~s|\\|/|g; $ab{$_}=~s|/[^/]+/\.\./|/|;}%ge=&lc("$ab{'cgidir'}/config.ini");umask oct($ge{$z[681]})if$ge{$z[681]}; &ld("$ab{'cgidir'}/vconfig.dat",\%ge);≤&hd(\%bu,\%ak,1);if($ak{$z[682]}<"105"){$ak{$z[682]}=$z[683]; $ak{$z[430]}='';$ak{$z[432]}='';$ak{$z[684]}=1;$ak{$z[355]}=1;&fy(\%bu,\%ak,1);}foreach(keys%ak){$ak{$_} =&de($ak{$_});}%ad=&lf;%ea=≶@ej=qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);@en=qw(January February March April May June July August September October November December); @el=qw(Sun Mon Tue Wed Thu Fri Sat);@em=qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday); @hm[0,1,2,3,9]=($z[685],$z[686],$z[687],$z[688],$z[689]);foreach(qw(prog_ver cgidir cgiurl)){$bd{$_} =$ab{$_};}foreach(qw(imageurl url_help reg1 reg2 reg3)){$bd{$_}=$ak{$_};}$bd{$z[428]}=$ak{$z[426]}; $bd{$z[429]}=$ak{$z[430]};$bd{$z[431]}=$ak{$z[432]};$bd{$z[690]}=$ak{$z[430]};$bd{$z[691]}=$ab{$z[3]}; $bd{$z[671]}=$ge{$z[408]};$bd{$z[672]}=$ge{$z[692]};$bd{$z[673]}=$ge{$z[693]};if($ad{$z[31]}){&az(); }&lh if defined&lh;}sub lc{local(*AA);my($ch)=$_[0];my(@li,$lj,%db);$lj=\%db;if(!$_[0]){die"INI_Load : No ini file was specified!\n"; }if(!-e$_[0]){return%db=();}open(AA,"<$ch")||die("INI_Load : Could open ini file! $!\n");@li=;close(AA); foreach(@li){/^\s*#/m&&next;if(/^\s*\[/m){$lj=\%db;foreach(/\[(.+?)\]/g){$lj=\%{$lj->{$_}};}next;}my $cn=index($_,$z[201]);if($cn>0){my$cw=substr($_,0,$cn);my$cx=substr($_,$cn+1);foreach($cw,$cx){s/^\s+//; s/\s+$//;}$cw=~/[^\w]/&&die("INI_Load : Invalid key '$cw' in ini file '$ch'!\n");defined$lj->{$cw}&& die("INI_Load : Key '$cw' defined twice in ini file '$ch'!\n");$lj->{$cw}=$cx;}elsif($cn==-1){my$cw =$_;for($cw){s/^\s+//;s/\s+$//;}if(!length$cw){next;}defined$lj->{$cw}&&die("INI_Load : Key '$cw' defined twice in ini file '$ch'!\n"); $lj->{$cw}=1;}}delete($db{$z[408]});delete($db{$z[692]});delete($db{$z[693]});return%db;}sub ld{local(*AA); my($ch)=$_[0];my($lj)=$_[1];my(@li);if(!$_[0]){die"INI_Load_Vendor : No data file was specified!\n"; }open(AA,"<$ch")||die("INI_Load_Vendor : Could open data file! $!\n");@li=;close(AA);my($db);foreach $fz(@li){next if$fz=~/^#/;$db=&lk($fz);my$ky;foreach$ky(%$db){$lj->{$ky}=$db->{$ky};}}if(!$lj->{$z[408]} ||!$lj->{$z[692]}||!$lj->{$z[693]}){die("Keys missing from INI_Load_Vendor!\n");}return;}sub aa{if(!$ab{$z[126]}++) {print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n";print"Content-type: text/html\n\n"; }my($lb)=$bd{$z[512]};my($bz,$ll,$lm,$ln)=@_;my(%lo,$cj,$lp);$ll=&iy($ll);%lo=($z[363]=>[("Can't find record # $ll","The program can't find the specified record number in the database. This is usually because the record has already been erased. Reload the record list and try again.")], $z[291]=>[("Warning: File/Directory not writeable!","This web application needs to be able to create and update it's data files. Please ask your server administrator to make the following files and directories writeable:

$ll")], $z[102]=>[("Filelock Error!","This web application uses 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing/accessing data because it could not obtain a filelock. Please ask your server administrator to fix the permissions (you need read-write access on your data directory).

For your reference, the filelock error was: '$ll'.")], $z[293]=>[($z[694],$z[695])],$z[696]=>[("No such file or directory","The program can't find the file or directory it's looking for. Please make sure the following file or directory exists:

$ll")], $z[697]=>[("Permission denied","The program doesn't have permission to access a required file. Please make sure the program has read and write access to the following directories and files:

$ll")], $z[698]=>[("Warning: Program corrupted during upload!","This is usually caused by Mac FTP clients that have an \"Translate ISO characters\" setting enabled.

If you are using a Mac, try disabling this setting and re-uploading all the files, otherwise, contact support for assistance. ")], $z[294]=>[("File System Error!","The program is unable to access a required file. Please contact your server administrator or technical support for assistance.

The error was: $ll")], );my($lq)=$bd{$z[429]}||$lo{$bz}[0]||"Program Message";if($lo{$bz}[0]){$lp=$lo{$bz}[0];}elsif($ll&& $bz){&iy($bz);}else{$lp="Program Message";}$cj=$lo{$bz}[1]||$ll||&iy("@_");if(!$lo{$bz}[1]){$cj=~s/\n/

\n/g; }if($ab{$z[443]}){$cj.="

Stack Trace
";my$dt=0;while(my($ch,$fz,$in)=(caller($dt++))[1,2,3]) {$cj.=qq!

($in) called from ($ch) line ($fz)
\n!;}}print qq|\n \n $lq\n \n \n\n

\n
\n
\n
\n \n

$lp

\n $cj\n

\n
\n
\n
\n
\n
\n\n\n| ;if($ab{$z[443]}){print"

";print"

$ab{'debug_output'}"if($ab{$z[142]});
print"";}if($ab{$z[101]}){rmdir($ab{$z[102]})&&undef$ab{$z[101]};}exit;}sub ao{my($hh)=$_[0]->{$z[59]}
||die($z[369]);my($gl)=$ad{$z[297]}||$ad{$hh.$z[368]};unlink"$ak{'dir_publish'}/$ak{'publish_basename'}$gl.$ak{'publish_fileext'}";
&av(@_);}sub bn{my%lr;my%ls;my$fa=sub{$lr{$z[699]}||=$lr{$z[297]};$ls{$lr{$z[297]}}=$lr{$z[699]};};
<(\%as,$fa,\%lr);my%lu;my$fa=sub{$lu{$z[700]}=$ls{$lu{$z[71]}};};<(\%aj,$fa,\%lu);my%aw;my$io;my
$lv;my%lw;&ba("_index.html");&ba("_job.html");my$fa=sub{return if!$lw{$z[71]};$lw{$z[336]}="$ej[$lw{'mon'}-1] $lw{'day'}, $lw{'year'}";
$lw{$z[449]}="$ak{'publish_basename'}$lw{'num'}.$ak{'publish_fileext'}";$lw{$z[701]}=$ak{$z[702]};$lw{$z[358]}
=~s/\n/
/g if$lw{$z[703]}eq$z[704];$lw{$z[359]}=~s/\n/
/g if$lw{$z[705]}eq$z[704];if($lw{$z[706]}) {if($lw{$z[706]}!~/:\/\//){$lw{$z[706]}="http://$lw{'website'}";}}$lw{$z[297]}=&de($lw{$z[297]});my $ch="$ak{'dir_publish'}/$ak{'publish_basename'}$lw{'num'}.$ak{'publish_fileext'}";open(AA,">$ch")|| &aa("Publishing Error","The program cannot create or write to the file:\n\n$ch\n\nEither the directory does not exist, the permissions on the directory are not set correctly, or the file itself exists and it is owned by another program."); my$dl=&ba($z[707],\%lw);&lx(\$dl);print AA$dl;close AA;$aw{$lw{$z[71]}}.=&bc("row",\%lw);};&hc(\%aj, $fa,\%lw);$fa=sub{if(!$ak{$z[708]}&&!$aw{$lr{$z[297]}}){return;}$aw{$lr{$z[297]}}||=$bc{$z[709]};$lr{$z[710]} =$lr{$z[59]};$io.=&bc($z[319],\%lr)if$bc{$z[319]};$io.=$aw{$lr{$z[297]}};$io.=&bc($z[321],\%lr)if$bc{$z[321]}; $lv.=&bc($z[711],\%lr);};&hc(\%as,$fa,\%lr);my$ch="$ak{'dir_publish'}/$ak{'publish_index'}";open(AA, ">$ch")||&aa("Publishing Error","The program cannot create or write to the file:\n\n$ch\n\nEither the directory does not exist, the permissions on the directory are not set correctly, or the file itself exists and it is owned by another program."); my$dl=&ba("_index.html",{$z[122]=>$io,$z[712]=>$lv,});&lx(\$dl);print AA$dl;close AA;}sub ma{$bd{$z[28]} =qq|\n|;my$ly=shift;my%lr;my$fa=sub{my$lz=($ly==$lr{$z[297]}) ?$z[713]:'';$bd{$z[28]}.=qq|\n|;};&hc(\%as,$fa,\%lr); }sub al{my$fs=$ak{$z[427]}?$z[704]:$z[714];$bd{"content_format_${fs}_checked"}="checked";$bd{"summary_format_${fs}_checked"} ="checked";&ma(0);&bj(@_);}sub am{my($gl)=int$ad{$z[16]};my(%lu);&hd(\%aj,\%lu,$gl)||&aa($z[363],$gl); &ma($lu{$z[71]});&at(@_);}sub aq{my%lr;my%mb;my%ls;my$fa=sub{$ls{$lr{$z[297]}}=$lr{$z[699]};$mb{$lr{$z[297]}} =($lr{$z[59]}=~/^(.{0,20})/)[0];$mb{$lr{$z[297]}}.=$z[715]if(length$mb{$lr{$z[297]}}!=length$lr{$z[59]}); };&hc(\%as,$fa,\%lr);$ls{0}=0;if(ref($_[0])ne$z[184]){die$z[323]."\n";}my($hh)=$_[0]->{$z[59]}||die($z[324]); &ba($z[325].$hh.$z[326]);my(%hh,%cb);my$fh;my$fk=$ad{$hh.$z[327]}||$ea{$hh.$z[327]}||10;my$hi=$ad{$z[328]} ||$ea{$hh.$z[329]}||1;if(defined$ad{$z[330]}){$fh=$ad{$z[330]};$hi=1;}else{$fh=$ea{$hh.$z[331]};}if ($ad{$hh.$z[332]}){$fh='';$hi=1;}&hf($hh.$z[331],$fh);&hf($hh.$z[327],$fk);&hf($hh.$z[329],$hi);$cb{$z[330]} =$fh;$cb{$hh.$z[333].$fk.$z[334]}=$z[335];my($hj);if(defined&{$_[0]->{$z[69]}}){$hj=$_[0]->{$z[69]}; }else{$hj=sub{$hh{$z[336]}="$ej[$hh{'mon'}-1] $hh{'day'}, $hh{'year'}"if(!defined$hh{$z[336]});$hh{$z[310]} =&cg($z[337],int($hh{$z[310]}))if$hh{$z[310]};$hh{$z[311]}=&cg($z[337],int($hh{$z[311]}))if$hh{$z[311]}; $hh{$z[71]}=$mb{$hh{$z[71]}};$hh{$z[71]}="(not displayed)"unless($hh{$z[71]}ne'');$hh{$z[699]}=$ls{$hh{$z[71]}}; $bd{$z[338]}=$bd{$z[338]}eq$z[339]?$z[340]:$z[339];$cb{$z[122]}.=&bc($z[341],\%hh);};}($cb{$z[342]}, $cb{$z[343]},$cb{$z[344]},$cb{$z[345]},$cb{$z[346]},$cb{$z[347]})=&hk(\%{$_[0]},$fh,$hj,\%hh,$hi,$fk); unless($cb{$z[122]}){$cb{$z[122]}=&bc($z[348]);}print&hl($z[122],\%cb);exit;}sub ar{$bd{"sort"}=$^T; &bj(@_);}sub aw{my($hh)=$_[0]->{$z[59]}||die($z[716]);&ba($z[325].$hh.$z[326],'',$z[179]);my(%hh,%cb); my$fh;my$fk=$ad{$hh.$z[327]}||$ea{$hh.$z[327]}||25;my$hi=$ad{$z[328]}||$ea{$hh.$z[329]}||1;if(defined $ad{$z[330]}){$fh=$ad{$z[330]};$hi=1;}else{$fh=$ea{$hh.$z[331]};}if($ad{$hh.$z[332]}){$fh='';$hi=1; }&hf($hh.$z[331],$fh);&hf($hh.$z[327],$fk);&hf($hh.$z[329],$hi);$cb{$z[330]}=$fh;$cb{$hh.$z[333].$fk.$z[334]} =$z[335];my$hj=sub{$hh{$z[59]}=$z[717].$hh{$z[59]}.$z[718]if$hh{$z[719]};$bd{$z[338]}=$bd{$z[338]}eq $z[339]?$z[340]:$z[339];$cb{$z[122]}.=&bc($z[341],\%hh);};($cb{$z[342]},$cb{$z[343]},$cb{$z[344]},$cb{$z[345]}, $cb{$z[346]},$cb{$z[347]})=&hk(\%{$_[0]},$fh,$hj,\%hh,$hi,$fk);unless($cb{$z[122]}){$cb{$z[122]}=&bc($z[348]); }print&hl($z[122],\%cb);exit;}sub bq{&bn;}sub ax{my(%lr,%ax,%mc,@md,$me,$fa);&hd(\%as,\%ax,$ad{$z[29]}); my$mf=$ax{$z[297]};my$mg=$ax{$z[699]};$fa=sub{push(@md,$lr{$z[297]})if$lr{$z[120]}==$ax{$z[120]};$mc{$lr{$z[297]}} =$lr{$z[699]};};&hc(\%as,$fa,\%lr);my$mh;for(0..$#md){if($md[$_]==$ad{$z[29]}){if($ad{$z[39]}eq$z[720] &&$_>0){$mh=$md[$_-1];}if($ad{$z[39]}eq$z[721]&&$_<$#md){$mh=$md[$_+1];}}}my$mi=$mc{$mh};if(!$mh){&aw(@_); exit;}$fa=sub{if($lr{$z[297]}==$mf){$lr{$z[699]}=$mi;}if($lr{$z[297]}==$mh){$lr{$z[699]}=$mg;}};<(\%as, $fa,\%lr);&bq($z[722]);&aw(@_);exit;}sub ay{$as{$z[11]}=$z[723];my%lr;my$et;my$fa=sub{$lr{$z[699]}= ++$et;};<(\%as,$fa,\%lr);&la();$ad{$z[27]}++;&hq(\%as);}sub au{my($hh)=$_[0]->{$z[59]}||die($z[724]); my(%hh,%lu,$mj,$mk);my$fa=sub{if($lu{$z[71]}==$ad{$z[24]}){$mj++;}};&hc(\%aj,$fa,\%lu);if($mj){$bd{$z[725]} =$mj.($mj>1?$z[726]:$z[727]);$mk="_cascade";}if(!$ak{$z[367]}&&!$mk){if(defined&{$_[0]->{$z[70]}}){ &{$_[0]->{$z[70]}}($_[0]);}else{&av($_[0]);}}&ba($z[325].$hh.$z[326]);my($gl)=int$ad{$hh.$z[368]};&hd(\%{$_[0]}, \%hh,$gl)||&aa($z[363],$gl);print&hl("confirm${mk}_erase",\%hh);exit;}sub lx{unless($ak{$z[684]}){return; }my$dl=shift;my$cm=&cg($z[728],$^T);my$ml=qq||;$$dl ="\n\n".$$dl;unless($$dl=~s/(]+>)/$ml\n$1/is){$$dl=~s/(]*>)/$1\n$ml\n/i; }} # ---------------------------------------------------------------------------- #