#!/usr/bin/perl # ---------------------------------------------------------------------------- # This software is Copyright (C) 2004, All Rights Reserved # ---------------------------------------------------------------------------- # This program is protected by local and international copyright laws. Any # use of this program is subject to the 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=('70726f675f766572','312e3338','70726f675f6275696c' .'64','31','73706172655f6669656c6473','457870697265642055736' .'572','44697361626c6564','4e65772055736572','526567756c6172' .'2055736572','41646d696e6973747261746f72','7365617263685f70' .'726f6772616d5f616374697665','76','75726c5f7075626c697368', '696e746572666163652f64697361626c65645f7365617263682e68746d' .'6c','61726368697665','617274','6461746166696c65','73656172' .'63685f73756263617473','696e636c7564655f7375626361745f61727' .'469636c6573','636174','6c696e65616765','6e756d','6361745f6' .'e756d','253034642530326425303264','79656172','6d6f6e','646' .'179','7965617232','6d6f6e32','64617932','66696c655f6361746' .'5676f72696573','7075626c6973685f6361745f6c6973745f66696c65' .'707265666978','2e','7075626c6973685f66696c65657874','66696' .'c655f686561646c696e6573','7075626c6973685f6361745f68656164' .'6c696e655f66696c65707265666978','7669727475616c5f636174656' .'76f72696573','7669727475616c5f686561646c696e6573','66696c6' .'55f6763617465676f72696573','66696c655f67686561646c696e6573', '63617465676f72795f70756c6c646f776e','6e6f68696464656e','61' .'7263686976655f70756c6c646f776e','3c6f7074696f6e2076616c756' .'53d22','223e','6e616d65','70617273655f737369','73656172636' .'82f616476616e6365645f7365617263682e68746d6c','74656d705f62' .'6173655f646972','74656d705f626173655f75726c','74656d706c61' .'74655f696e636c756465','6469725f7075626c697368','74656d706c' .'617465','7365617263682f7365617263685f726573756c74732e68746' .'d6c','70657270616765','7374617274','696e5f','696e6465782f', '686561646c696e65732f','7365617263682f','74656d706c61746564' .'697231','2f','536f7272792c207468652074656d706c61746520796f' .'7527766520726571756573746564206973206e6f742061207265676973' .'74657265642074656d706c6174652e','75706461746564','68696464' .'656e','7566696c655f696d616765','696d6167656865696768745f69' .'6d616765','696d61676577696474685f696d616765','7075626c6973' .'685f73706563696679','75726c5f75706c6f6164','7075625f66696c' .'657072656669785f73706563696679','7075625f66696c65707265666' .'978','7075626c6973685f6361745f66696c65707265666978','75726' .'c5f67696e646578','75726c5f7365617263685f63617465676f7279', '6669656c6473','73756d6d617279','636f6e74656e74','737061726' .'5','737461747573','736561726368','69676e6f72655f776f72645f' .'626f756e646172696573','5c62','6b6579776f7264','73656172636' .'85f6d61746368','6172745f','6172745f73756d6d617279','73756d' .'6d6172795f666f726d6174','6172745f636f6e74656e74','636f6e74' .'656e745f666f726d6174','6172745f7370617265','666f726d61745f' .'7370617265','686f7572','616d706d','706d','6d696e','6172745' .'f64617465','646174655f666f726d6174','6172745f74696d65','74' .'696d655f666f726d6174','6361745f6e616d65','6361745f62726561' .'646372756d62','6361745f696d616765','6361745f696d6167655f68' .'6569676874','6361745f696d6167655f7769647468','6172745f7072' .'696e7465725f75726c','616c6c6f775f6172745f66696c656e616d65', '66696c656e616d65','7075626c6973685f6172745f7072696e7465725' .'f66696c65707265666978','75726c5f696e646578','64657461696c5' .'f6c696e6b','7075626c6973685f6172745f66696c65707265666978', '7669657765725f70617468696e666f','7669657765725f75726c','61' .'72745f6e756d','3f617263686976653d','266e756d3d','6172745f7' .'4797065','6c696e6b','7566696c655f646f63756d656e74','617274' .'5f696d6167655f75726c','63617074696f6e','6172745f6669656c64', '726f77','726f775f73756d6d617279','726f775f6c696e6b','726f7' .'75f7566696c65','61727469636c655f6c697374','32','6e6f745f66' .'6f756e64','70726576','707265765f75726c','5f63676975726c','' .'3f','54656d706c617465','63656c6c','6e6f5f70726576','6e6578' .'74','6e6578745f75726c','6e6f5f6e657874','7365617263685f747' .'0616765','7365617263685f6370616765','7365617263685f6c6e756' .'d','7365617263685f686e756d','6361745f75706461746564','6461' .'746574696d655f666f726d6174','676361745f6e616d65','676c6f62' .'616c5f75706461746564','5343524950545f46494c454e414d45','6d' .'656e755f686561646572','41727469636c6520456469746f72','6d65' .'6e755f74656d706c617465','5f6172745f6d656e75732e68746d6c','' .'61727469636c652e646174','6e756d206372656174656420637265617' .'465645f6279207570646174656420757064617465645f6279206d6f6e2' .'06461792079656172206e616d652073756d6d61727920636f6e74656e7' .'420','73756d6d6172795f666f726d617420636f6e74656e745f666f72' .'6d61742063617420','7566696c655f696d61676531207566696c655f6' .'96d61676532207566696c655f696d61676533207566696c655f696d616' .'76534207566696c655f696d61676535207566696c655f696d616765362' .'07566696c655f696d61676537207566696c655f696d616765382075666' .'96c655f696d61676539207566696c655f696d616765313020','636170' .'74696f6e312063617074696f6e322063617074696f6e33206361707469' .'6f6e342063617074696f6e352063617074696f6e362063617074696f6e' .'372063617074696f6e382063617074696f6e392063617074696f6e3130' .'20','686f7572206d696e20616d706d206f776e6572206c696e6b20617' .'2745f74797065207566696c655f646f63756d656e742068696464656e2' .'0','696d6167656e616d653120696d6167656e616d653220696d616765' .'6e616d653320696d6167656e616d653420696d6167656e616d65352069' .'6d6167656e616d653620696d6167656e616d653720696d6167656e616d' .'653820696d6167656e616d653920696d6167656e616d65313020','696' .'d61676577696474685f696d6167653120696d61676577696474685f696' .'d6167653220696d61676577696474685f696d6167653320696d6167657' .'7696474685f696d6167653420696d61676577696474685f696d6167653' .'520696d61676577696474685f696d6167653620696d616765776964746' .'85f696d6167653720696d61676577696474685f696d6167653820696d6' .'1676577696474685f696d6167653920696d61676577696474685f696d6' .'16765313020','696d6167656865696768745f696d6167653120696d61' .'67656865696768745f696d6167653220696d6167656865696768745f69' .'6d6167653320696d6167656865696768745f696d6167653420696d6167' .'656865696768745f696d6167653520696d6167656865696768745f696d' .'6167653620696d6167656865696768745f696d6167653720696d616765' .'6865696768745f696d6167653820696d6167656865696768745f696d61' .'67653920696d6167656865696768745f696d616765313020','7374617' .'4757320','737061726531207370617265322073706172653320737061' .'7265342073706172653520737061726536207370617265372073706172' .'6538207370617265392073706172653130207370617265313120737061' .'7265313220','7374616d7020','7566696c655f696d61676531312075' .'66696c655f696d6167653132207566696c655f696d6167653133207566' .'696c655f696d6167653134207566696c655f696d616765313520756669' .'6c655f696d6167653136207566696c655f696d6167653137207566696c' .'655f696d6167653138207566696c655f696d6167653139207566696c65' .'5f696d6167653230207566696c655f696d6167653231207566696c655f' .'696d6167653232207566696c655f696d6167653233207566696c655f69' .'6d6167653234207566696c655f696d616765323520','696d6167656e6' .'16d65313120696d6167656e616d65313220696d6167656e616d6531332' .'0696d6167656e616d65313420696d6167656e616d65313520696d61676' .'56e616d65313620696d6167656e616d65313720696d6167656e616d653' .'13820696d6167656e616d65313920696d6167656e616d65323020696d6' .'167656e616d65323120696d6167656e616d65323220696d6167656e616' .'d65323320696d6167656e616d65323420696d6167656e616d65323520', '696d61676577696474685f696d616765313120696d6167657769647468' .'5f696d616765313220696d61676577696474685f696d61676531332069' .'6d61676577696474685f696d616765313420696d61676577696474685f' .'696d616765313520696d61676577696474685f696d616765313620696d' .'61676577696474685f696d616765313720696d61676577696474685f69' .'6d616765313820696d61676577696474685f696d616765313920696d61' .'676577696474685f696d616765323020696d61676577696474685f696d' .'616765323120696d61676577696474685f696d616765323220696d6167' .'6577696474685f696d616765323320696d61676577696474685f696d61' .'6765323420696d61676577696474685f696d616765323520','696d616' .'7656865696768745f696d616765313120696d6167656865696768745f6' .'96d616765313220696d6167656865696768745f696d616765313320696' .'d6167656865696768745f696d616765313420696d61676568656967687' .'45f696d616765313520696d6167656865696768745f696d61676531362' .'0696d6167656865696768745f696d616765313720696d6167656865696' .'768745f696d616765313820696d6167656865696768745f696d6167653' .'13920696d6167656865696768745f696d616765323020696d616765686' .'5696768745f696d616765323120696d6167656865696768745f696d616' .'765323220696d6167656865696768745f696d616765323320696d61676' .'56865696768745f696d616765323420696d6167656865696768745f696' .'d616765323520','66696c656e616d6520','737061726531332073706' .'1726531342073706172653135207370617265313620737061726531372' .'0737061726531382073706172653139207370617265323020','636170' .'74696f6e31312063617074696f6e31322063617074696f6e3133206361' .'7074696f6e31342063617074696f6e31352063617074696f6e31362063' .'617074696f6e31372063617074696f6e31382063617074696f6e313920' .'63617074696f6e32302063617074696f6e32312063617074696f6e3232' .'2063617074696f6e32332063617074696f6e32342063617074696f6e32' .'3520','666f726d61745f73706172653120666f726d61745f737061726' .'53220666f726d61745f73706172653320666f726d61745f73706172653' .'420666f726d61745f73706172653520666f726d61745f7370617265362' .'0666f726d61745f73706172653720666f726d61745f737061726538206' .'66f726d61745f73706172653920666f726d61745f73706172653130206' .'66f726d61745f7370617265313120666f726d61745f737061726531322' .'0666f726d61745f7370617265313320666f726d61745f7370617265313' .'420666f726d61745f7370617265313520666f726d61745f73706172653' .'13620666f726d61745f7370617265313720666f726d61745f737061726' .'5313820666f726d61745f7370617265313920666f726d61745f7370617' .'2653230','736f72746279','2d237374616d7023','7075626c697368' .'5f737562','6d656e755f73756273','6572617365','6c697374','74' .'656d70','4372656174652041727469636c65','5f7772697465725f6d' .'656e75732e68746d6c','74656d702e646174','43617465676f727920' .'456469746f72','5f6361745f6d656e75732e68746d6c','6361746567' .'6f72792e646174','6e756d206372656174656420637265617465645f6' .'279207570646174656420757064617465645f6279206e616d6520736f7' .'26465725f6465707265636174656420','74656d706c6174655f66696c' .'652061727469636c655f74656d706c6174655f66696c6520686561646c' .'696e655f74656d706c6174655f66696c6520','7566696c655f696d616' .'765207075625f66696c65707265666978207075625f66696c657072656' .'669785f7370656369667920','706572706167655f696e646578207065' .'72706167655f686561646c696e65732068696464656e207072696e7465' .'725f74656d706c6174655f66696c6520','696d61676577696474685f6' .'96d61676520696d6167656865696768745f696d616765207075625f706' .'572706167655f7370656369667920','6469725f7075626c6973682075' .'726c5f7075626c697368207075626c6973685f73706563696679206469' .'725f75706c6f61642075726c5f75706c6f616420','646973706c61795' .'f6f6e6c7920706172656e7420676c6f62616c5f6f72646572207369626' .'c696e675f6f72646572206465707468206c696e65616765','23676c6f' .'62616c5f6f7264657223206e616d65','41726368697665204d616e616' .'76572','5f617263686976655f6d656e75732e68746d6c','617263686' .'976652e646174','6e756d206372656174656420637265617465645f62' .'79207570646174656420757064617465645f6279206e616d6520636f75' .'6e74','236e756d23','6163636f756e74','5f6163636f756e745f6d6' .'56e75732e68746d6c','6163636f756e742e6461742e636769','6e756' .'d206372656174656420637265617465645f62792075706461746564207' .'57064617465645f6279206e616d652069642070772061636c206e6f746' .'573206361747320616c6c5f6361747320656d61696c5f6361747320656' .'d61696c5f616c6c5f6361747320656d61696c5f6e6f746966696361746' .'96f6e5f6576656e747320656d61696c','6e616d65206964','7365737' .'3696f6e','73657373696f6e2e6461742e636769','7365747570','5f' .'73657475705f6d656e75732e68746d6c','73657475702e6461742e636' .'769','6e756d207469746c65626172','20636f6e6669726d5f6572617' .'36520636f6e6669726d5f736176656420636f6e6669726d5f657261736' .'5642073657475705f7761726e696e67','2075706c6f61646c696d6974' .'2075706c6f61646d61782075706c6f61645f6865696768742075706c6f' .'61645f77696474682075706c6f6164657874206c686f7572206c686f75' .'725f6f6666736574206c6d696e206c6d696e5f6f666673657420726567' .'3120726567322072656733206420632069','206469725f62617365206' .'469725f75706c6f6164206469725f7075626c697368','2075726c5f69' .'6d6167652075726c5f68656c702075726c5f75706c6f61642075726c5f' .'7075626c6973682075726c5f6c6f676f6666207365617263685f75726c', '2064656661756c745f6175746f666f726d617420616c6c6f775f68746d' .'6c20616c6c6f775f6172745f7479706573206175746f5f7075626c6973' .'68','207075626c6973685f696e6465785f66696c65707265666978207' .'075626c6973685f686561646c696e655f66696c6570726566697820707' .'5626c6973685f6361745f66696c65707265666978207075626c6973685' .'f6361745f686561646c696e655f66696c65707265666978207075626c6' .'973685f6172745f66696c65707265666978207075626c6973685f61727' .'45f7072696e7465725f66696c65707265666978207075626c6973685f6' .'361745f6c6973745f66696c65707265666978207075626c6973685f736' .'16d706c65725f66696c65707265666978207075626c6973685f66696c6' .'5657874','207075626c6973685f696e6465785f717479207075626c69' .'73685f686561646c696e655f717479207075626c6973685f6361745f71' .'7479207075626c6973685f6361745f686561646c696e655f7174792070' .'75626c6973685f73616d706c65725f717479','207075626c6973685f6' .'96e646578207075626c6973685f686561646c696e6573207075626c697' .'3685f636174207075626c6973685f6361745f686561646c696e6573207' .'075626c6973685f61727469636c65207075626c6973685f7072696e746' .'572207075626c6973685f6c6973745f6f665f63617473207075626c697' .'3685f73616d706c6572','207075626c6973685f7365617263685f666f' .'726d5f66696c65707265666978207075626c6973685f7365617263685f' .'666f726d','20676361745f6e616d65','20676c6f62616c5f75706461' .'746564','20736669656c645f6e616d653120736669656c645f6e616d6' .'53220736669656c645f6e616d653320736669656c645f6e616d6534207' .'36669656c645f6e616d653520736669656c645f6e616d6536207366696' .'56c645f6e616d653720736669656c645f6e616d653820736669656c645' .'f6e616d653920736669656c645f6e616d65313020736669656c645f6e6' .'16d65313120736669656c645f6e616d653132','20736669656c645f6f' .'726465723120736669656c645f6f726465723220736669656c645f6f72' .'6465723320736669656c645f6f726465723420736669656c645f6f7264' .'65723520736669656c645f6f726465723620736669656c645f6f726465' .'723720736669656c645f6f726465723820736669656c645f6f72646572' .'3920736669656c645f6f72646572313020736669656c645f6f72646572' .'313120736669656c645f6f726465723132','20736669656c645f74797' .'0653120736669656c645f747970653220736669656c645f74797065332' .'0736669656c645f747970653420736669656c645f74797065352073666' .'9656c645f747970653620736669656c645f747970653720736669656c6' .'45f747970653820736669656c645f747970653920736669656c645f747' .'97065313020736669656c645f74797065313120736669656c645f74797' .'0653132','207075626c6973685f73796e6469636174655f66696c6570' .'7265666978207075626c6973685f73796e6469636174655f7174792070' .'75626c6973685f73796e64696361746520776562666565645f67656e5f' .'616374697665','2076206272616e64696e6720666f6f7465722073746' .'17469635f617263686976655f7061676573207669657765725f75726c2' .'07669657765725f70617468696e666f20616c6c6f775f6172745f66696' .'c656e616d65','20736669656c645f6e616d65313320736669656c645f' .'6e616d65313420736669656c645f6e616d65313520736669656c645f6e' .'616d65313620736669656c645f6e616d65313720736669656c645f6e61' .'6d65313820736669656c645f6e616d65313920736669656c645f6e616d' .'653230','20736669656c645f6f72646572313320736669656c645f6f7' .'2646572313420736669656c645f6f72646572313520736669656c645f6' .'f72646572313620736669656c645f6f72646572313720736669656c645' .'f6f72646572313820736669656c645f6f72646572313920736669656c6' .'45f6f726465723230','20736669656c645f7479706531332073666965' .'6c645f74797065313420736669656c645f74797065313520736669656c' .'645f74797065313620736669656c645f74797065313720736669656c64' .'5f74797065313820736669656c645f74797065313920736669656c645f' .'747970653230','20736f7274316669656c6420736f727431726576657' .'2736520736f7274316e756d6572696320736f7274326669656c6420736' .'f7274327265766572736520736f7274326e756d6572696320736f72743' .'36669656c6420736f7274337265766572736520736f7274336e756d657' .'26963','2073756d6d6172795f6e616d6520636f6e74656e745f6e616d' .'652073756d6d6172795f7479706520636f6e74656e745f747970652073' .'756d6d6172795f656e61626c656420636f6e74656e745f656e61626c65' .'64','20736669656c645f656e61626c65643120736669656c645f656e6' .'1626c65643220736669656c645f656e61626c65643320736669656c645' .'f656e61626c65643420736669656c645f656e61626c656435207366696' .'56c645f656e61626c65643620736669656c645f656e61626c656437207' .'36669656c645f656e61626c65643820736669656c645f656e61626c656' .'43920736669656c645f656e61626c6564313020736669656c645f656e6' .'1626c6564313120736669656c645f656e61626c6564313220736669656' .'c645f656e61626c6564313320736669656c645f656e61626c656431342' .'0736669656c645f656e61626c6564313520736669656c645f656e61626' .'c6564313620736669656c645f656e61626c6564313720736669656c645' .'f656e61626c6564313820736669656c645f656e61626c6564313920736' .'669656c645f656e61626c65643230','207075626c6973685f68696464' .'656e5f696e64657820656d61696c5f6e6f74696669636174696f6e5f65' .'6e61626c6564206d61696c5f73656e6465725f656d61696c206d61696c' .'5f73656e6465725f6e616d65206d61696c5f6d61696c6572206d61696c' .'5f73656e646d61696c206d61696c5f736d7470206d61696c5f706f7033' .'61757468206d61696c5f706f7033206d61696c5f706f70337573657220' .'6d61696c5f706f7033706173732070617273655f737369','207365617' .'263685f70726f6772616d5f61637469766520766965775f70726f67726' .'16d5f616374697665207373695f687474705f617574685f757365726e6' .'16d65207373695f687474705f617574685f70617373776f7264','2069' .'6e636c7564655f7375626361745f61727469636c6573206d61785f7375' .'626361745f6465707468207375626361745f666f726d6174','4841534' .'8','44425f5365656b203a2054686520666972737420617267756d656e' .'74206d75737420626520612048415348207265666572656e636521','4' .'4425f5365656b203a20546865207365636f6e6420617267756d656e742' .'06d75737420626520612048415348207265666572656e636521','4442' .'5f5365656b203a204e6f207365656b206669656c642077617320737065' .'63696669656421','43','6669656c646e','44425f4c697374203a205' .'4686520666972737420617267756d656e74206d7573742062652061204' .'8415348207265666572656e636521','434f4445','44425f4c6973742' .'03a20546865207365636f6e6420617267756d656e74206d75737420626' .'5206120434f4445207265666572656e636521','44425f4c697374203a' .'2054686520746869726420617267756d656e74206d7573742062652061' .'2048415348207265666572656e636521','44425f4c697374203a20416' .'e6f6e207375622024726f77636f6465206973206e6f7420646566696e6' .'56421','44425f4c697374203a204e6f206461746166696c6520646566' .'696e656420696e20646174616261736520646566696e6974696f6e2028' .'2544424465662921','6e','2d','44425f4c697374203a20444244656' .'62d3e736f7274627920636f6e7461696e7320756e6b6e6f776e2066696' .'56c64206e616d6520','a1','44425f4c69737450616765203a2054686' .'520666972737420617267756d656e74206d75737420626520612048415' .'348207265666572656e636521','44425f4c69737450616765203a2054' .'686520746869726420617267756d656e74206d75737420626520612043' .'4f4445207265666572656e636521','44425f4c69737450616765203a2' .'0416e6f6e2073756220246d61746368636f6465206973206e6f7420646' .'566696e656421','44425f4c69737450616765203a204e6f2064617461' .'66696c6520646566696e656420696e2064617461626173652064656669' .'6e6974696f6e20282544424465662921','44425f4c697374506167652' .'03a2044424465662d3e736f7274627920636f6e7461696e7320756e6b6' .'e6f776e206669656c64206e616d6520','44425f4c6973745361766520' .'3a2044424465662d3e736f7274627920636f6e7461696e7320756e6b6e' .'6f776e206669656c64206e616d6520','414c4c','bf25303278','707' .'2696e742022436f6e74656e742d747970653a20746578742f68746d6c5' .'c6e5c6e3c68746d6c3e3c2f68746d6c3e223b','5f5f454e445f5f','4' .'4425f416464203a2054686520666972737420617267756d656e74206d7' .'5737420626520612048415348207265666572656e636521','44425f41' .'6464203a20546865207365636f6e6420617267756d656e74206d757374' .'20626520612048415348207265666572656e636521','736f72646572', '44425f4c6f6164203a2054686520666972737420617267756d656e7420' .'6d75737420626520612048415348207265666572656e636521','44425' .'f4c6f6164203a20546865207365636f6e6420617267756d656e74206d7' .'5737420626520612048415348207265666572656e636521','44425f4c' .'6f6164203a204e6f207265636f7264206e756d62657220776173207370' .'6563696669656421','44425f44656c203a20546865206669727374206' .'17267756d656e74206d757374206265206120484153482072656665726' .'56e636521','44425f44656c203a20546865207365636f6e6420617267' .'756d656e74206d7573742062652061207265636f7264206e756d626572' .'21','44425f53617665203a2054686520666972737420617267756d656' .'e74206d75737420626520612048415348207265666572656e636521','' .'44425f53617665203a20546865207365636f6e6420617267756d656e74' .'206d75737420626520612048415348207265666572656e636521','444' .'25f53617665203a204e6f207265636f7264206e756d626572207761732' .'073706563696669656421','6d61785f66696c656c6f636b5f77616974', '6578636c7573697665','4152524159','556e6b6e6f776e206669656c' .'642022','2220696e20636f6e646974696f6e3c62723e3c62723e','4c' .'494b45','4e4f54204c494b45','3d3d','3c','3e','3c3d','3e3d', '213d','4245545745454e','4e4f54204245545745454e','494e','28', '207c7c20','29','4e4f5420494e','2128','556e6b6e6f776e206f70' .'657261746f722022','284066203d2073706c6974282fa12f2929','6d' .'792040663b2020407b247265635f6e6f7061636b7d203d206772657020' .'7b20','20262620','207d20407b247265635f6e6f7061636b7d3b','6' .'d792040663b2020666f72656163682028407b247265635f6e6f7061636' .'b7d29207b202069662028','29207b20246d617463685f6e6f7061636b' .'7b24665b305d7d2b2b3b207d207d','66696c6573797374656d','3d', '766172','436f756c646e27742066696e6420','21','66696c6573','' .'64697273','646972203a20556e6b6e6f776e2066696c6520747970652' .'03a20','26','64656275675f6f7574707574','6370203a2063616e27' .'74207265616420','6370203a2063616e277420777269746520','434f' .'4e54454e545f4c454e475448','51554552595f535452494e47','5265' .'6164466f726d203a20496e7075742065786365656473206d617820696e' .'707574206c696d6974206f6620','434f4e54454e545f54595045','52' .'4551554553545f4d4554484f44','504f5354','5f70617468','5f666' .'96c65','5f657874','474554','74727565','56','4d','41','44', '6e6f2d6361636865','6361636865','706c61696e','737369','5465' .'6d706c6174653a20556e6b6e6f776e2074656d706c61746520666c6167' .'20','54656d706c617465203a204e6f2074656d706c6174652066696c6' .'5207761732073706563696669656421','54656d706c617465203a2054' .'6865207365636f6e6420617267756d656e74206d757374206265206120' .'48415348207265666572656e636521','54656d706c617465203a20546' .'56d706c6174652066696c6520','20636f756c64206e6f742062652066' .'6f756e6421','54656d706c617465203a20436f756c646e2774206f706' .'56e20','5f7565','5f6865','5f6e627370','5f6a65','54656d706c' .'61746543656c6c203a204e6f2074656d706c6174652063656c6c207761' .'732073706563696669656421','54656d706c61746543656c6c203a205' .'4656d706c6174652063656c6c20','206973206e6f7420646566696e65' .'6421','54656d706c61746543656c6c203a20546865207365636f6e642' .'0617267756d656e74206d7573742062652061204841534820726566657' .'2656e636521','5a','61','7a','2b','422a','4d494d453634203a2' .'04e6f7468696e6720746f206465636f6465','252525303278','53657' .'4436f6f6b6965203a20436f6f6b6965206e616d65206d7573742062652' .'0737065636966696564','536574436f6f6b6965203a20457870697265' .'20446174652069736e277420696e207365636f6e6473207573696e6720' .'74696d6528293b','30','657870697265733d','706174683d','646f' .'6d61696e3d','7365637572653b20','5365742d436f6f6b69653a20', '485454505f434f4f4b4945','6c616e6775616765','6f7264696e616c' .'73','20307468','20317374','20326e64','20337264','20347468', '20357468','20367468','20377468','20387468','20397468','313' .'07468','31317468','31327468','31337468','31347468','313574' .'68','31367468','31377468','31387468','31397468','32307468', '32317374','32326e64','32337264','32347468','32357468','323' .'67468','32377468','32387468','32397468','33307468','333173' .'74','7765656b5f66756c6c','7765656b5f61626272','6d6f6e74685' .'f66756c6c','6d6f6e74685f61626272','25','62','42','63','256' .'d2f25642f25792025483a254d3a2553','256120256220256520255420' .'255a202559','64','25303264','256d2f25642f2579','65','25326' .'4','68','48','49','6a','25303364','6b','6c','6d','6f','70', '50','71','72','25493a254d3a2553202570','52','25483a254d','' .'73','53','74','54','25483a254d3a2553','55','77','57','78', '58','79','59','25303464','44617465537472696e67203a2054696d' .'652076616c7565206d75737420626520616e20696e7465676572','4a6' .'16e','466562','4d6172','417072','4d6179','4a756e','4a756c', '417567','536570','4f6374','4e6f76','446563','4a616e7561727' .'9','4665627275617279','4d61726368','417072696c','4a756e65', '4a756c79','417567757374','53657074656d626572','4f63746f626' .'572','4e6f76656d626572','446563656d626572','53756e','4d6f6' .'e','547565','576564','546875','467269','536174','53756e646' .'179','4d6f6e646179','54756573646179','5765646e6573646179', '5468757273646179','467269646179','5361747572646179','7374', '6e64','7264','7468','7e','2573','252d20353073','3c696e7075' .'7420747970653d68696464656e206e616d653d22','222076616c75653' .'d22','534d54505f73656e646d61696c','686f7374','706f7274','6' .'8656c6f','6c6f63616c686f7374','74696d656f7574','6465627567', '6572726f72','706f70335f61757468','5c62283f3a5b5c775c2d5d2b' .'5b5c775c2d5c2e5d292a5b5c775c2d5d2b5c40','283f3a5b5c775c2d5' .'d2b5b5c775c2d5c2e5d292a5b5c775c2d5d2b5c2e5b412d5a612d7a5d7' .'b322c387d5c62','66726f6d','706f70335f75736572','706f70335f' .'70617373','534d54505f706f703361757468','617574686f72697a65' .'64','706f70335f686f7374','706f70335f706f7274','706f70335f7' .'4696d656f7574','5f73756273','46485f437265617465','66696c65' .'6c6f636b696e67','6c6f636b','737461636b','736861726564','75' .'6e6c6f636b3a206e65737465642066696c656c6f636b20756e64657272' .'756e','66696c656c6f636b','6c6f636b696e666f','68616e646c65', '73657276657262757379','636769646972','2e2e2e','414e59','5b' .'56414c55455d2c205b56414c55455d2c205b484153485d','6d61785f7' .'373695f726563757273696f6e5f64657074685f616c6c6f776564','48' .'5454505f5353495f524543555253494f4e5f4445505448','5f2530336' .'4','7373695f687474705f617574685f757365726e616d65','7373695' .'f687474705f617574685f70617373776f7264','417574686f72697a61' .'74696f6e','70726576656e745f656e636f6465645f726573706f6e736' .'5','4163636570742d456e636f64696e67','43616368652d436f6e747' .'26f6c','2c20','6e6f2d7472616e73666f726d','7365727665725f73' .'6964655f70617273696e67','646f5f6e6f745f65726173655f74656d7' .'05f66696c6573','416c6c6f77','436f6e6e656374696f6e','436f6e' .'74656e742d456e636f64696e67','436f6e74656e742d4c616e6775616' .'765','436f6e74656e742d4c656e677468','436f6e74656e742d4c6f6' .'36174696f6e','436f6e74656e742d4d4435','436f6e74656e742d526' .'16e6765','436f6e74656e742d54797065','457870656374','457870' .'69726573','486f7374','49662d4d61746368','49662d4d6f6469666' .'965642d53696e6365','49662d4e6f6e652d4d61746368','49662d526' .'16e6765','49662d556e6d6f6469666965642d53696e6365','4c61737' .'42d4d6f646966696564','4d61782d466f727761726473','5445','54' .'7261696c6572','5472616e736665722d456e636f64696e67','557067' .'72616465','566961','436f6f6b6965','3b20','5373692d52656375' .'7273696f6e2d4465707468','52454d4f54455f41444452','53455256' .'45525f41444452','4c4f43414c5f41444452','485454505f585f464f' .'525741524445445f464f52','485454505f434c49454e545f4950','58' .'2d466f727761726465642d466f72','436c69656e742d4950','5b5641' .'4c55455d','75726c','70726f746f636f6c','6469726563746f7279', '66696c65','7175657279','616e63686f72','75695f73756273','5f', '65646974','636f6e6669726d5f6572617365','7569','706167656e7' .'56d','64617465','63726561746564','5f6267636f6c6f72','23454' .'545454646','23444444444545','5f6d656e755f686561646572','5f' .'6d656e755f6e616d65','6d61785f7265636f726473','6572726f725f' .'6d61785f7265636f726473','5f73656c6563746564','73656c656374' .'6564','6e6f6e65','637265617465645f6279','757064617465645f6' .'279','616464','5f65646974','6e6f7265636f7264','5f636865636' .'b6564','636865636b6564','5f636f6e6669726d5f6572617365','65' .'72617365203a2043616e27742066696e64207265636f7264202320','6' .'469725f75706c6f6164','636f6e6669726d5f657261736564','65726' .'1736564','73617665203a205461626c65206e616d6520756e64656669' .'6e6564','75706c6f6164657874','75706c6f61646c696d6974','757' .'06c6f61646d6178','6d657373616765','303030','75695f73617665' .'5f75706c6f616473203a2063616e277420736176652075706c6f616465' .'642066696c6520','75706c6f61645f686569676874','75706c6f6164' .'5f7769647468','6f776e6572','696d6167657769647468','696d616' .'765686569676874','7566696c65','73617665','6d617873697a65', '6d6178686569676874','6d61787769647468','616363657074657874', '4e6f6e65','6572726f725f75706c6f61645f6e6f745f7361766564','' .'636f6e6669726d5f7361766564','7361766564','75695f6c69737420' .'3a2054686520666972737420617267756d656e74206d75737420626520' .'612048415348207265666572656e636521','5f6c697374616c6c','5f' .'7374617465','5f70657270616765','5f6c697374','5f70636f756e7' .'4','5f6d636f756e74','5f72636f756e74','5f6370616765','5f6c7' .'0616765','5f6e70616765','6e6f745f666f756e645f736561726368', '616363657373','61636c','6964','6572726f725f757365726e616d6' .'55f74616b656e','6572726f725f6c6173745f61646d696e','6c6f676' .'96e5f696e76616c6964','6d61696c5f6d61696c6572','736d7470','' .'6d61696c5f736d7470','534d5450','736d74705f68656c6f','736d7' .'4705f74696d656f7574','6d61696c5f706f703361757468','6d61696' .'c5f706f7033','6d61696c5f706f703375736572','6d61696c5f706f7' .'03370617373','73656e646d61696c','6d61696c5f73656e646d61696' .'c','6669656c645f6e616d65','646972','6d6b646972','546865206' .'162696c69747920746f20637265617465206e6577206469726563746f7' .'269657320686173206265656e2072656d6f7665642066726f6d206f757' .'22064656d6f2076657273696f6e2e2020','4120726567697374657265' .'642076657273696f6e206f6620','70726f675f6e616d65','20776f75' .'6c6420616c6c6f7720796f7520746f20646f20736f2e','6d6b66696c6' .'5','546865206162696c69747920746f20637265617465206e65772066' .'696c657320686173206265656e2072656d6f7665642066726f6d206f75' .'722064656d6f2076657273696f6e2e2020','546865206162696c69747' .'920746f2062726f7773652061726f756e6420796f75722073657276657' .'220686173206265656e2072656d6f7665642066726f6d206f757220646' .'56d6f2076657273696f6e2e2020','6469725f62617365','73646972', '64656d6f','6d6b6469725f6e616d65','6469725f6572726f72','4e6' .'f206469726563746f7279206e616d652073706563696669656421','44' .'69726563746f7279206e616d65206d6179206f6e6c7920636f6e746169' .'6e20412d5a2c20612d7a2c20302d392c202d206f72205f','556e61626' .'c6520746f2063726561746520646972203a20','6d6b66696c655f6e61' .'6d65','66696c655f6572726f72','4e6f2066696c65206e616d652073' .'706563696669656421','46696c65206e616d65206d6179206f6e6c792' .'0636f6e7461696e20412d5a2c20612d7a2c20302d392c202d2c205f206' .'f72202e','46696c6520616c72656164792065786973747321','556e6' .'1626c6520746f206372656174652066696c65203a20','64697232','7' .'06172656e74','706172656e745f7565','4469726563746f727920646' .'f65736e277420657869737421','4469726563746f72792069736e2774' .'207265616461626c6521','636f6e74656e74686561646572','5f6272' .'6f7773655f6469722e68746d6c','70617468','706174685f7565','7' .'3697a65','6d74696d65','6d6f646966696564','6f74686572','6e6' .'f66696c6573','436f6e74656e742d747970653a20696d6167652f6769' .'66','436f6e74656e742d747970653a20696d6167652f6a706567','6c' .'686f7572','6c686f75725f6f6666736574','6d696e7573','6c6d696' .'e','6c6d696e5f6f6666736574','6c6f67696e','7077','6c6f67696' .'e5f65787069726564','6c6f67696e5f74696d656f7574','436f6e746' .'56e742d747970653a20746578742f68746d6c','5f696e746572666163' .'652e68746d6c','75695f6c6f67696e5f696e746572666163653a20746' .'56d706c61746563656c6c20','686561646572','6c6f67696e5f6d657' .'373616765','666f6f746572','75726c5f6c6f676f6666','3c6d6574' .'6120687474702d65717569763d22526566726573682220636f6e74656e' .'743d22303b55524c3d','7374696d65','6c74696d65','656e765f706' .'5726c5f6f73','656e765f7065726c5f766572','656e765f6d6f645f7' .'065726c','656e765f72656d6f74655f686f7374','656e765f72656d6' .'f74655f61646472','656e765f636769646972','73656e646d61696c5' .'f726f77','2f7573722f6c69622f73656e646d61696c','2f7573722f6' .'2696e2f73656e646d61696c','2f7573722f7362696e2f73656e646d61' .'696c','2f7573722f6c6f63616c2f62696e2f73656e646d61696c','2f' .'7362696e2f73656e646d61696c','2f62696e2f73656e646d61696c','' .'2f6574632f73656e646d61696c','73656e646d61696c5f6c697374','' .'74616231','73657475705f7761726e696e67','636c6f73655f77696e' .'646f775f6f6e5f636f6e6669726d','73657475705f746573746d61696' .'c','5f73657475705f746573746d61696c2e68746d6c','5f636f6e746' .'56e74','6d61696c5f74657374','706167655f7469746c65','546573' .'74204d61696c','6d61696c746f','62616420656d61696c2061646472' .'657373','496e76616c696420656d61696c2061646472657373','6e6f' .'20656d61696c2061646472657373','456d61696c20616464726573732' .'06c65667420626c616e6b2e','63616e74206f70656e2074657374206d' .'657373616765','626164206d61696c2074656d706c617465','737562' .'2073656e646d61696c206572726f72','20','6d61696c207465737420' .'737563636565646564','796573','6d61696c5f746573745f6661696c' .'6564','4572726f723a204e6f20456d61696c2041646472657373','45' .'72726f723a20496e76616c696420456d61696c2041646472657373','6' .'e6f','4572726f723a2050726f626c656d20776974682054657374204d' .'657373616765','4572726f723a2050726f62656c6d207769746820546' .'57374204d657373616765','4572726f723a2050726f62656c6d207365' .'6e64696e67204d657374204d657373616765','6d61696c5f746573745' .'f737563636565646564','54657374204d61696c205375636365656465' .'64','5f6261636b5f627574746f6e','546865206162696c6974792074' .'6f20616c746572205365747570204f7074696f6e732068617320626565' .'6e2072656d6f7665642066726f6d206f75722064656d6f207665727369' .'6f6e2e2020','20776f756c6420616c6c6f7720796f7520746f2063686' .'16e676520616e79206f66207468657365206669656c64732e','736176' .'65645f74616231','6d61785f7375626361745f6465707468','646570' .'7468','72656733','496e76616c69642050726f64756374204944213c' .'62723e','596f75206d75737420656e74657220796f75722050726f647' .'56374204944213c62723e','72656732','596f75206d75737420656e7' .'4657220796f757220646f6d61696e206e616d65213c62723e','726567' .'31','596f75206d75737420656e74657220796f757220636f6d70616e7' .'9206e616d65213c62723e','5f72656731','5f72656732','5f726567' .'33','74616239','5f6c6963656e73655f6e756d','25303764','6373' .'756d','23','73756d6d6172795f74797065','636f6e74656e745f747' .'97065','5f696d61676575726c','75726c5f696d616765','5f75695f' .'7469746c65','7469746c65626172','5f75695f666f6f746572','5f7' .'5726c5f68656c70','75726c5f68656c70','7075626c69736865645f6' .'16c6c','496e74657266616365203a204e6f2074656d706c6174652063' .'656c6c207761732073706563696669656421','496e746572666163652' .'03a20546865207365636f6e6420617267756d656e74206d75737420626' .'520612048415348207265666572656e636521','6e6f5f68656c70','6' .'d656e756261725f61636c','6d656e75626172','5f6f6e6c79','5f63' .'757365725f6964','696e74657266616365','3c212d2d','2076','20' .'284275696c643a20','70726f645f6964','4c6963656e73652023','2' .'07e20','457865637574652074696d653a2025303164207365636f6e64' .'73','2d2d3e','64617461646972','6e6f7772697465','64656d6f5f' .'6d657373616765','73657475705f74616273','7461625f6e756d','7' .'461625f6e616d65','7461625f756e73656c6563746564','7461625f7' .'3656c6563746564','5f6865616465725f746162','7461625f626172', '7461625f6c697374','4334','696e736964655f737369','54656d706' .'c617465203a20546865207365636f6e6420617267756d656e74206d757' .'37420626520612048415348207265666572656e6365206f7220756e646' .'566696e656421','696e636c75646573','61736466','636c6f7365', '557365722d4167656e74','6170706c69636174696f6e2f782d7777772' .'d666f726d2d75726c656e636f646564','646f6e745f666f7277617264' .'5f687474705f68656164657273','20485454502f312e30','3a20','6' .'96d675f616c69676e','61727469636c655f656469746f72','696d616' .'7655f616c69676e6d656e74','7269676874','696d675f75726c','69' .'6d675f63617074696f6e','696d675f686569676874','696d675f7769' .'647468','696d675f6e6f63617074696f6e','3c6d657461206e616d65' .'3d2267656e657261746f722220636f6e74656e743d22','3c212d2d204' .'c617374205570646174656420','202d2d3e','5f5f4449455f5f','5f' .'5f5741524e5f5f','656d61696c5f6e6f74696669636174696f6e5f656' .'e61626c6564','6e6f74696669636174696f6e5f6576656e7473','2c', '656d61696c','6576656e745f6e616d6573','2d2d2d','73746174757' .'35f6e616d6573','70656e64696e67','76697369626c65','75736572' .'5f66756c6c6e616d65','6576656e74','75726c5f736561726368','7' .'365617263685f75726c','7075626c6973685f696e6465785f66696c65' .'707265666978','7075626c6973685f686561646c696e655f66696c657' .'07265666978','6172745f636174','66696c655f686561646c696e657' .'35f6279636174','7075626c6973685f73616d706c65725f66696c6570' .'7265666978','66696c655f736561726368','7075626c6973685f7365' .'617263685f666f726d5f66696c65707265666978','75726c5f7468697' .'370616765','6172745f66696c656e616d65','6d61696c5f73656e646' .'5725f656d61696c','6d61696c5f73656e6465725f6e616d65','656d6' .'1696c2f6e6f746966792e747874','54686520656d61696c2074656d70' .'6c617465206e6f746966792e74787420697320696d70726f7065726c79' .'20666f726d61747465642e','436f6e74656e742d547970653a2074657' .'8742f706c61696e','656d61696c5f616c6c5f63617473','656d61696' .'c5f63617473','656d61696c5f6e6f74696669636174696f6e5f657665' .'6e7473','6e6f74696669636174696f6e735f746f5f6669656c64','62' .'63635f6c6973745f736570617261746f72','6361745f6572617365','' .'6361745f636f6e6669726d5f6572617365','637573746f6d5f75695f7' .'36176655f75706c6f616473203a2063616e277420736176652075706c6' .'f616465642066696c6520','7669727475616c5f7075626c6973685f64' .'6972','7075626c6973686469725f66696c6570617468','7075626c69' .'73686469725f7669727475616c70617468','7669727475616c5f67636' .'17465676f72696573','7669727475616c5f67686561646c696e6573', '7669727475616c5f686561646c696e65735f6279636174','766972747' .'5616c5f736561726368','6361745f67656e65726174655f6272656164' .'6372756d625f68746d6c','63617465676f72795f62726561646372756' .'d622e68746d6c','5f62726561646372756d625f6c696e6b','6272656' .'1646372756d625f6c696e6b','5f62726561646372756d625f6c696e6b' .'5f73656c6563746564','62726561646372756d625f6c696e6b5f73656' .'c6563746564','62726561646372756d625f64697669646572','676c6' .'f62616c5f6f72646572','616c6c5f63617473','63617473','646973' .'706c61795f6f6e6c79','6361745f67656e65726174655f62726561646' .'372756d625f74657874','63617465676f72696573','6d61785f62726' .'561646372756d625f6f7074696f6e5f6c656e677468','6f7074696f6e' .'5f696e64656e746174696f6e5f737472696e67','6f7074696f6e5f696' .'e64656e746174696f6e5f737566666978','5f75695f6267636f6c6f72', '53657276657220746f6f206275737921','41727469636c65732063616' .'e6e6f74206265206163636573736564206f72207361766564207269676' .'874206e6f772e20536f6d656f6e6520656c736520697320747279696e6' .'720746f20736176652074686569722061727469636c652c206f7220746' .'8652073797374656d20697320696e20746865206d69647374206f66207' .'2652d7075626c697368696e67206f7220617263686976696e672061727' .'469636c65732e20506c6561736520776169742061206d6f6d656e74206' .'16e64207468656e2074727920616761696e2e','6d6163667470','707' .'5626c697368','6d6f645f7065726c','6e6f68656c70','4e6f204865' .'6c7020417661696c61626c65','536f7272792c206e6f2068656c70206' .'9732063757272656e746c7920617661696c61626c6520666f722074686' .'973206170706c69636174696f6e2e2020506c6561736520636f6e74616' .'37420796f75722073797374656d2061646d696e6973747261746f72206' .'66f7220617373697374616e63652e','4e6f20737563682066696c6520' .'6f72206469726563746f7279','5065726d697373696f6e2064656e696' .'564','206f6e436c69636b3d2277696e646f772e636c6f736528293b22' .'20','5343524950545f4e414d45','6267636f6c6f72','2e2e2f64617' .'4612f','2e2e2f646174612f66696c656c6f636b2e6c6f636b','25622' .'0256f2c202559202d2025483a254d3a2553','25622025652c202559', '6e6f5f7765625f736572766572','4d4f445f5045524c','616c6c6f77' .'5f6d6f645f7065726c','63676975726c','63676966696c65','2e2e2' .'f74656d706c61746573','74656d706c61746564697232','2e2e2f746' .'56d706c617465732f696e74657266616365','74656d706c6174656469' .'7233','2e2e2f5f736f757263655f696d61676573','69','506c65617' .'36520696e7374616c6c207468652070726f6772616d206669727374206' .'2792072756e6e696e672061646d696e2e636769','5f70726f675f6e61' .'6d65','5f70726f675f766572','5f76656e646f725f6e616d65','766' .'56e646f725f6e616d65','5f76656e646f725f75726c','76656e646f7' .'25f75726c','5f76656e646f725f6c6f636174696f6e','76656e646f7' .'25f6c6f636174696f6e' );for(@z){$_=pack('H*',$_)}}use Socket;use Time::Local;use Fcntl qw(:DEFAULT :flock);%ab=();%ac=();%ad=();%ae=();%af=(); %ag=();%ah=();%ai=();$ab{$z[0]}=$z[1];$ab{$z[2]}=$z[3];$ab{$z[4]} =20;@aj[0,1,2,3,9]=($z[5],$z[6],$z[7],$z[8],$z[9]);$SIG{__DIE__} =\&ak;srand;$|=1;$^T=time();binmode(STDOUT);&al;sub uj{;}MAIN:; if(!$ac{$z[10]}&&$ac{$z[11]}>=1.33){$ad{$z[12]}=$ac{$z[12]}; print"Content-type: text/html\n\n";print&am($z[13],{});exit; }&an();my$ao=length$ag{$z[14]}?int$ag{$z[14]}:undef;if($ao) {$ae{$z[15]}{$z[16]}="archive$ao.dat";}my%ap;my$aq;my$ar;if (length$ag{$z[17]}&&$ag{$z[17]}){$ar=1;}elsif(length$ag{$z[17]} &&!$ag{$z[17]}){$ar=0;}else{$ar=$ac{$z[18]};}my@as=grep{$_} map{int($_)}split(/,/,$ag{$z[19]});my@at;if($ar){my$au=&av($z[19]); foreach(keys%$au){my$aw=$au->{$_};my$ax=0;my$ay;foreach$ay(@as) {my$az=$au->{$ay}{$z[20]};if($aw->{$z[20]}=~/^$az/){$ax=1;} }if($ax){push@at,$aw->{$z[21]};}}}my%ba=map{$_,1}(@as,@at); my@ba=keys%ba;my$bb;my$bc;if(scalar(@as)==1){$ap{$z[22]}=$as[0]; $bc=$as[0];$bb=1;}else{$ap{$z[22]}=undef;}my($bd,$be);$bd=sprintf($z[23], $ag{$z[24]},$ag{$z[25]},$ag{$z[26]})if($ag{$z[24]}&&$ag{$z[25]} &&$ag{$z[26]});$be=sprintf($z[23],$ag{$z[27]},$ag{$z[28]},$ag{$z[29]}) if($ag{$z[27]}&&$ag{$z[28]}&&$ag{$z[29]});my$bf=&bg();$ad{$z[30]} =$ac{$z[31]}.$ap{$z[22]}.$z[32].$ac{$z[33]};$ad{$z[34]}=$ac{$z[35]} .$ap{$z[22]}.$z[32].$ac{$z[33]};$ad{$z[36]}=$bf.$ad{$z[30]}; $ad{$z[37]}=$bf.$ad{$z[34]};if($bb){$ad{$z[30]}=$ac{$z[31]} .$bc.$z[32].$ac{$z[33]};$ad{$z[34]}=$ac{$z[35]}.$bc.$z[32]. $ac{$z[33]};}else{$ad{$z[30]}=$ad{$z[38]};$ad{$z[34]}=$ad{$z[39]}; }$ad{$z[40]}=&bh($z[41],[]);if(!keys%ag){&bi($ae{$z[14]},sub {my$ao=shift;$ad{$z[42]}.=$z[43].$ao->{$z[21]}.$z[44].$ao->{$z[45]}; });my($bj,$bk);if($ac{$z[46]}){$bk=&bl($z[47],{});my$bm={$z[48] =>"$ac{'dir_publish'}",$z[49]=>"$ac{'url_publish'}",};($bj, $bk)=&bn($bk,$ac{$z[33]},$bm);}else{$bj="Content-type: text/html\n\n"; $bk=&bl($z[47],{},$z[50],undef,$ac{$z[51]});}print$bj ;print$bk ;exit;}$ag{$z[52]}||=$z[53];$ag{$z[54]}||=10;$ag{$z[55]}||= 1;my($bo);foreach$bo(sort keys%ag){$ad{"in_$bo"}=$ag{$bo};$ad{$z[56]} .="in_$bo"." = ".$ad{"in_$bo"}."
";}my%bp;my$bq;foreach$bq ('',$z[57],$z[58],$z[59]){opendir AC,$ab{$z[60]}.$z[61].$bq; %bp=(%bp,map{$bq.$_,1}grep{not-d"$ab{'templatedir1'}/$bq$_" }readdir(AC));closedir AC;}unless($bp{$ag{$z[52]}}){&ak($z[62]); }&bl($ag{$z[52]},{},'','',$ac{$z[51]});my(%br,%bs,%bt,%bu,%bv, %bw,%bx,%by);$aq=sub{my%bz=%{shift()};$br{$bz{$z[21]}}=$bz{$z[45]}; $bw{$bz{$z[21]}}=$bz{$z[63]};$bt{$bz{$z[21]}}=$bz{$z[64]};$bs{$bz{$z[21]}} =$bz{$z[65]}?"$ac{'url_upload'}$bz{'ufile_image'}":"$ac{'url_image'}spacer.gif"; $bu{$bz{$z[21]}}=$bz{$z[66]};$bv{$bz{$z[21]}}=$bz{$z[67]};if ($bz{$z[68]}){$by{$bz{$z[21]}}{$z[12]}=$bz{$z[12]};$by{$bz{$z[21]}}{$z[69]} =$bz{$z[69]};}else{$by{$bz{$z[21]}}{$z[12]}=$ac{$z[12]};$by{$bz{$z[21]}}{$z[69]} =$ac{$z[69]};}if($bz{$z[21]}){my$ca=$bz{$z[70]}?$bz{$z[71]} :$ac{$z[72]}.$bz{$z[21]};$bx{$bz{$z[21]}}=$ac{$z[12]}.$ca.$z[32] .$ac{$z[33]};}else{$bx{$bz{$z[21]}}=$ad{$z[73]};}};&bi($ae{$z[19]}, $aq);if($bb){$ad{$z[74]}=$bx{$bc};}else{$ad{$z[74]}=$ad{$z[73]}; }&bi($ae{$z[14]},sub{my$ao=shift;$ad{$z[42]}.=$z[43].$ao->{$z[21]}.$z[44].$ao->{$z[45]}; });my@cb;if($ag{$z[75]}){@cb=split(/[\s,]+/,$ag{$z[75]});foreach (@cb){$_=~s/art_field/spare/ig;$_=~s/art_//ig;}}else{foreach ($z[45],$z[76],$z[77],map{$z[78].$_}1..$ab{$z[4]}){push(@cb,$_); }}my$cc;$aq=sub{my$cd=shift;return unless($cd->{$z[19]});return if($cd->{$z[79]}!=2);return if($bt{$cd->{$z[19]}});if(@ba){ my$ce;my$bz;foreach$bz(@ba){if($bz==$cd->{$z[19]}){$ce=1;}} return if!$ce;}my$cf=sprintf($z[23],@{$cd}{qw/year mon day/}); if($bd&&$be){return unless($cf>=$bd&&$cf<=$be);}elsif($bd){ return unless($cf>=$bd);}elsif($be){return unless($cf<=$be); }my$cg;my$ch=($af{$z[80]}{$z[81]}?'':$z[82]).quotemeta($ag{$z[83]}); foreach(@cb){$cg++if($cd->{$_}=~m/$ch/i);}return if(defined $ag{$z[83]}&¬$cg);$ap{$z[84]}++;if($ap{$z[84]}>=$ag{$z[55]} &&$ap{$z[84]}<$ag{$z[55]}+$ag{$z[54]}){my($ci,$cj);foreach$ci (keys%{$cd}){$cj->{$z[85].$ci}=$cd->{$ci};}$cj->{$z[86]}=~s|\n|
\n|g if$cd->{$z[87]};$cj->{$z[88]}=~s|\n|
\n|g if$cd->{$z[89]}; for(1..$ab{$z[4]}){$cj->{$z[90].$_}=~s|\n|
\n|g if$cd->{$z[91] .$_};}my@ck=($cd->{$z[24]},$cd->{$z[25]}-1,$cd->{$z[26]},$cd->{$z[92]} +($cd->{$z[93]}eq$z[94]?12:0),$cd->{$z[95]});$cj->{$z[96]}= &cl($ab{$z[97]},@ck);$cj->{$z[98]}=&cl($ab{$z[99]},@ck);$cj->{$z[22]} =$cd->{$z[19]};$cj->{$z[100]}=$br{$cd->{$z[19]}};$cj->{$z[101]} =&cm($cd->{$z[19]});$cj->{$z[102]}=$bs{$cd->{$z[19]}};$cj->{$z[103]} =$bu{$cd->{$z[19]}};$cj->{$z[104]}=$bv{$cd->{$z[19]}};$cj->{$z[105]} =$by{$cd->{$z[19]}}{$z[12]}.($ac{$z[106]}&&$cd->{$z[107]}?$ac{$z[108]} .$cd->{$z[107]}:$ac{$z[108]}.$cd->{$z[21]}).$z[32].$ac{$z[33]}; $cj->{$z[30]}=$ac{$z[31]}.$cd->{$z[19]}.$z[32].$ac{$z[33]}; $cj->{$z[34]}=$ac{$z[35]}.$cd->{$z[19]}.$z[32].$ac{$z[33]}; $cj->{$z[109]}=$bx{$cd->{$z[19]}};$cj->{$z[110]}=$by{$cd->{$z[19]}}{$z[12]} .($ac{$z[106]}&&$cd->{$z[107]}?$cd->{$z[107]}:$ac{$z[111]}. $cd->{$z[21]}).$z[32].$ac{$z[33]};if(defined$ao){if($ac{$z[112]}) {$cj->{$z[110]}=$ac{$z[113]}.$z[61].$ao.$z[61].$cj->{$z[114]}; }else{$cj->{$z[110]}=$ac{$z[113]}.$z[115].$ao.$z[116].$cj->{$z[114]}; }}if($cd->{$z[117]}==3){$cj->{$z[118]}="http://$cd->{'link'}" unless($cd->{$z[118]}=~m|^\w+://|);$cj->{$z[110]}=$cd->{$z[118]} }if($cd->{$z[117]}==4){$cj->{$z[110]}=$by{$cd->{$z[19]}}{$z[69]} .$cd->{$z[119]};}foreach(1..25){$cj->{$z[120].$_}=$by{$cd->{$z[19]}}{$z[69]} .$cd->{"ufile_image$_"};$cj->{$z[121].$_}=$cd->{$z[121].$_}; $cj->{$z[67].$_}=$cd->{$z[67].$_};$cj->{$z[66].$_}=$cd->{$z[66] .$_};}$cj->{$z[86]}=&cn($cj->{$z[86]},$cj,'');$cj->{$z[88]} =&cn($cj->{$z[88]},$cj,'');foreach(1..$ab{$z[4]}){if($cj->{$z[90] .$_}=~/\*{3}image(\d+)(:\w+)?\*{3}/s){$cj->{$z[122].$_}=&cn($cj->{$z[90] .$_},$cj,'');}else{$cj->{$z[122].$_}=$cj->{$z[90].$_};}}my$co =($z[123],$z[124],$z[125],$z[126])[$cd->{$z[117]}-1];$ap{$z[127]} .=&cp($co,$cj,($cc++% 2==0)?'':$z[128]);}};&bi($ae{$z[15]}, $aq);if(!$ap{$z[127]}){$ap{$z[127]}=&cq($z[129],{});$ap{$z[84]} =0;}else{if($ag{$z[55]}>1){my$cr=$ag{$z[55]}-$ag{$z[54]};$cr =1 if$cr<1;$ap{$z[130]}=&cq($z[130],{$z[131]=>$ad{$z[132]}. $z[133].&cs({%ag,$z[55]=>$cr})});}elsif(defined$ab{$z[134]}{$z[135]}{$z[136]}) {$ap{$z[130]}=&cq($z[136],{});}if($ap{$z[84]}>=$ag{$z[55]}+ $ag{$z[54]}){my$ct=$ag{$z[55]}+$ag{$z[54]};$ap{$z[137]}=&cq($z[137], {$z[138]=>$ad{$z[132]}.$z[133].&cs({%ag,$z[55]=>$ct})});}elsif (defined$ab{$z[134]}{$z[135]}{$z[139]}){$ap{$z[137]}=&cq($z[139], {});}}$ap{$z[140]}=&cu($ap{$z[84]}/$ag{$z[54]});$ap{$z[141]} =&cu($ag{$z[55]}/$ag{$z[54]});$ap{$z[142]}=$ag{$z[55]};$ap{$z[143]} =&cv($ag{$z[55]}+$ag{$z[54]}-1,$ap{$z[84]});if($bb){$ap{$z[100]} =$br{$bc};$ap{$z[101]}=&cm($bc);$ap{$z[144]}=&cl($ab{$z[145]}, &cw($bw{$bc}))if$bw{$bc};$ap{$z[102]}=$bs{$bc};$ap{$z[104]} =$bv{$bc}||1;$ap{$z[103]}=$bu{$bc}||1;}else{$ap{$z[100]}=$ac{$z[146]}; $ap{$z[101]}=&cm(0);$ap{$z[144]}=&cl($ab{$z[145]},&cw($ac{$z[147]})) if$ac{$z[147]};}my($bj,$bk);if($ac{$z[46]}){$bk=&bl($ag{$z[52]}, \%ap);my$bm={$z[48]=>"$ac{'dir_publish'}",$z[49]=>"$ac{'url_publish'}", };($bj,$bk)=&bn($bk,$ac{$z[33]},$bm);}else{$bj="Content-type: text/html\n\n"; $bk=&bl($ag{$z[52]},\%ap,$z[50],undef,$ac{$z[51]});}print$bj ;print$bk ;exit;sub al{my$cx=$0;$cx=~s/.*[\\\/]//;my@cy=($0,$ENV{$z[148]}); my$cz=(grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@cy))[0];$cz||= (($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0];$cz=~s/\\/\//g;if(!$cz) {die("Can't determine cgi directory!\n");}$ae{$z[15]}={$z[45] =>$z[15],$z[149]=>$z[150],$z[151]=>$z[152],$z[16]=>$z[153], $z[75]=>$z[154].$z[155].$z[156].$z[157].$z[158].$z[159].$z[160]. $z[161].$z[162].$z[163].$z[164].$z[165].$z[166].$z[167].$z[168] .$z[169].$z[170].$z[171].$z[172],$z[80]=>$z[45],$z[173]=>$z[174], $z[175]=>\&da,$z[176]=>[[$z[177],\&db],[$z[178],\&dc],],};$ae{$z[179]} ={$z[45]=>$z[15],$z[149]=>$z[180],$z[151]=>$z[181],$z[16]=> $z[182],$z[75]=>$ae{$z[15]}{$z[75]},$z[80]=>$ae{$z[15]}{$z[80]}, $z[173]=>$ae{$z[15]}{$z[173]},$z[176]=>[[$z[178],\&dc],],}; $ae{$z[19]}={$z[45]=>$z[19],$z[149]=>$z[183],$z[151]=>$z[184], $z[16]=>$z[185],$z[75]=>$z[186].$z[187].$z[188].$z[189].$z[190]. $z[191].$z[192],$z[80]=>$z[45],$z[173]=>$z[193],$z[175]=>\&dd, $z[176]=>[[$z[177],\&de],[$z[178],\&df],],};$ae{$z[14]}={$z[45] =>$z[14],$z[149]=>$z[194],$z[151]=>$z[195],$z[16]=>$z[196], $z[75]=>$z[197],$z[80]=>$z[45],$z[173]=>$z[198],$z[176]=>[[ $z[178],\&dg],],};$ae{$z[199]}={$z[45]=>$z[199],$z[151]=>$z[200], $z[16]=>$z[201],$z[75]=>$z[202],$z[80]=>$z[203],$z[173]=>$z[45], $z[176]=>[[$z[177],\&dh],[$z[178],\&di],],};$ae{$z[204]}={$z[45] =>$z[204],$z[16]=>$z[205],$z[75]=>$ae{$z[199]}{$z[75]},};$ae{$z[206]} ={$z[45]=>$z[206],$z[151]=>$z[207],$z[16]=>$z[208],$z[75]=> $z[209].$z[210].$z[211].$z[212].$z[213].$z[214].$z[215].$z[216] .$z[217].$z[218].$z[219].$z[220].$z[221].$z[222].$z[223].$z[224] .$z[225].$z[226].$z[227].$z[228].$z[229].$z[230].$z[231].$z[232] .$z[233].$z[234],};1;;sub oa{my$ae=$_[0];my($dj)="$ab{'datadir'}$ae->{'datafile'}"; my(@dk);if(ref($ae)ne$z[235]){die"DB_Count : The first argument must be a HASH reference!\n"; }if(!$ae->{$z[16]}){die"DB_Count : No datafile defined in database definition (\%DBDef)!\n"; }unless(-e$dj){return(0);}&dl;open(AB,"<$dj")||&dm("DB_Count : Can't open '$dj'"); @dk=grep/^\d/,;close(AB);&dn;my$cc=@dk;return$cc||0;}sub or{my$ae=$_[0];if(ref($ae)ne$z[235]){die$z[236]."\n";}if(defined($_[1]) &&ref($_[1])ne$z[235]){die$z[237]."\n";}if(!$_[2]){die$z[238]."\n"; }my($dj)="$ab{'datadir'}$ae->{'datafile'}";my(@cb)=split(/ /,$ae->{$z[75]}); my($ap)=$_[1]if defined($_[1]);my($dp)=grep{$cb[$_]eq$_[2]} (0..$#cb);my($dq)=$_[3];my($dr)=$_[4];my(@dk);my(@ds);unless (-e$dj){return(0);}if(-e$dj){&dl;open(AB,"<$dj")||&dm("DB_Seek : Can't open '$dj'"); @dk=;close(AB);&dn;}foreach(@dk){/^(\d+)\¡/;($1&&$1>=$dr) ||next;s/[^¡]+$//;undef%$ap if defined($ap);@ds=split(/\¡/); next if($ds[$dp]ne$dq);if(defined($ap)){for(0..$#cb){$ap->{$cb[$_]} =$ds[$_];$ap->{$cb[$_]}=~s/¿([A-F0-9]{2})/pack($z[239],hex($1))/egix; }}return 1;}return 0;}sub bi{my$ae=$_[0];my($dj)="$ab{'datadir'}$ae->{'datafile'}"; my(@cb)=split(/ /,$ae->{$z[75]});unless($ae->{$z[240]}){for (0..$#cb){$ae->{$z[240]}{$cb[$_]}=$_;}}my($aq)=$_[1];my($ap) =$_[2]||{};my($dt)=$_[3];my(@dk);my(@ds);my($du,$dv);my$dw; if(ref($ae)ne$z[235]){die$z[241]."\n";}if(ref($_[1])ne$z[242] &&$_[1]){die$z[243]."\n";}if(ref($_[2])ne$z[235]&&$_[2]){die $z[244]."\n";}if(!defined&$aq){die$z[245]."\n";}if(!$ae->{$z[16]}) {die$z[246]."\n";}unless(-e$dj){return(0);}&dl;open(AB,"<$dj") ||&dm("DB_List : Can't open '$dj'");@dk=;close(AB);&dn; @dk=grep/^\d/,@dk;&dx($ae,\@dk,$dt);if($ae->{$z[173]}){my($dy,$dz); foreach(split(/ /,$ae->{$z[173]})){if(s/#//g){$du=$z[247];} else{$du='';}if(s/-//g){$dv=$z[248];}else{$dv='';}if(!defined $ae->{$z[240]}{$_}){die($z[249]."'$_'!\n");}$dz.="$dv$ae->{'fieldn'}{$_}$du "; }@dk=&ea($z[250],$dz,\@dk);}foreach(@dk){s/[^¡]+$//;undef%$ap; @ds=split(/\¡/);for$dw(0..$#cb){$ap->{$cb[$dw]}=$ds[$dw];$ap->{$cb[$dw]} =~s/¿([A-F0-9]{2})/pack($z[239],hex($1))/egix;}&$aq($ap);}} sub op{my($ae)=$_[0];my($eb)=$_[1];my($ec)=int$_[2]||1;my($ed) =int$_[3];my($ee)=$_[4];my($ef)=$_[5];my($du,$dv);my($eg,$eh,$dw); my($ap)={};if(ref($ae)ne$z[235]){die$z[251]."\n";}if(ref($_[1]) ne$z[242]&&$_[1]){die$z[252]."\n";}if(!defined&$eb){die$z[253]."\n"; }if(!$ae->{$z[16]}){die$z[254]."\n";}my($dj)="$ab{'datadir'}$ae->{'datafile'}"; my(@cb)=split(/ /,$ae->{$z[75]});unless($ae->{$z[240]}){for (0..$#cb){$ae->{$z[240]}{$cb[$_]}=$_;}}my($ei,$ej,$ek,$el,$em) =(0,0,0,0,0);my(@dk);my(@ds);unless(-e$dj){return(0,0,0,0,0,0); }&dl;open(AB,"<$dj")||&dm("DB_List : Can't open '$dj'");@dk =;close(AB);&dn;@dk=grep/^\d/,@dk;&dx($ae,\@dk,$ee);$ek =scalar@dk;&dx($ae,\@dk,$ef);$ej=scalar@dk;if($ae->{$z[173]}) {my($dy,$dz);foreach(split(/ /,$ae->{$z[173]})){if(s/#//g){ $du=$z[247];}else{$du='';}if(s/-//g){$dv=$z[248];}else{$dv=''; }if(!defined$ae->{$z[240]}{$_}){die($z[255]."'$_'!\n");}$dz .="$dv$ae->{'fieldn'}{$_}$du ";}@dk=&ea($z[250],$dz,\@dk);} $eh=($ec*$ed)-($ed-1);$eg=$ec*$ed;if($eg>$#dk){$eg=$#dk+1;} for($eh..$eg){$_=$dk[$_-1];s/[^\¡]+$//;undef%$ap;@ds=split(/\¡/); for$dw(0..$#cb){$ap->{$cb[$dw]}=$ds[$dw];$ap->{$cb[$dw]}=~s/¿([A-F0-9]{2})/pack($z[239],hex($1))/egix; }&$eb($ap);}$ed||=1;$ei=int($ej/$ed);if($ej%$ed){$ei++;}if(($ec-1) <1||($ec-1)>$ei){$el=$ei;}else{$el=$ec-1;}if(($ec+1)>$ei){$em =1;}else{$em=$ec+1;}if(!$ei){$ec=$el=$em=0;}return($ei,$ej, $ek,$ec,$el,$em);}sub qc{my$ae=$_[0];if(ref($ae)ne$z[235]){ die"DB_ListSave : The first argument must be a HASH reference!\n"; }if(ref($_[1])ne$z[242]&&$_[1]){die"DB_ListSave : The second argument must be a CODE reference!\n"; }if(ref($_[2])eq$z[235]){die"DB_ListSave : Use of an output hash reference is depricated. Argument order has been changed.\n"; }my($dj)="$ab{'datadir'}$ae->{'datafile'}";my(@cb)=split(/ /,$ae->{$z[75]}); unless($ae->{$z[240]}){for(0..$#cb){$ae->{$z[240]}{$cb[$_]} =$_;}}my($aq)=$_[1];my($dt)=$_[2];my($en)=$_[3];my($ap)=$_[4] ||{};my(@dk,$eo,%ep);my(@ds,$du,$dv,$dw);unless(-e$dj){return(0); }&dl;open(AB,"<$dj")||&dm("DB_List : Can't open '$dj'");@dk =;close(AB);if($dk[1]=~m/#(\d+)/){$eo=$1;}else{foreach(@dk) {/^\d/||next;$ep{(split(/\¡/))[0]}=1;}$eo=(sort{$b<=>$a}keys %ep)[0];}@dk=grep/^\d/,@dk;my$eq=&er($ae,\@dk,$dt);if($en&& $ae->{$z[173]}){my($dy,$dz);foreach(split(/ /,$ae->{$z[173]})) {if(s/#//g){$du=$z[247];}else{$du='';}if(s/-//g){$dv=$z[248]; }else{$dv='';}if(!defined$ae->{$z[240]}{$_}){die($z[256]."'$_'!\n"); }$dz.="$dv$ae->{'fieldn'}{$_}$du ";}@dk=&ea($z[250],$dz,\@dk); }foreach(@dk){if(!$eq->{$z[257]}&&!$eq->{(/^(\d+)/)[0]}){next; }s/[^¡]+$//;undef%$ap;@ds=split(/\¡/);for$dw(0..$#cb){$ap->{$cb[$dw]} =$ds[$dw];$ap->{$cb[$dw]}=~s/¿([A-F0-9]{2})/pack($z[239],hex($1))/egix; }&$aq($ap);if($ap->{num}){$_="$ds[$dw]¡";for$dw(1..$#cb){my($es) =$ap->{$cb[$dw]};$es=~s/[\x1a\r\n\¡\¿]/sprintf($z[258],ord($&))/egx; $_.="$es¡";}$_.="\n";}else{undef$_;}}open(AB,">$dj.tmp$$")or &dm("DB_ListSave : Can't open '$dj.tmp$$' for writing");print AB qq|#!$^X\n|or&dm("DB_ListSave : Can't write section 1 header to '$dj.tmp$$'"); print AB qq|#$eo\n|or&dm("DB_ListSave : Can't write section 2 header to '$dj.tmp$$'"); print AB$z[259]."\n".$z[260]."\n"or&dm("DB_ListSave : Can't write section 3 header to '$dj.tmp$$'"); foreach(@dk){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&dm("DB_ListSave: Can't write to $dj.tmp$$"); }close(AB)or&dm("DB_ListSave : Can't close $dj.tmp$$");rename("$dj.tmp$$",$dj) or&dm("DB_ListSave : Can't rename '$dj.tmp$$' to '$dj'.");&dn; }sub fb{my$ae=$_[0];if(ref($ae)ne$z[235]){die$z[261]."\n";} if(ref($_[1])ne$z[235]){die$z[262]."\n";}my($dj)="$ab{'datadir'}$ae->{'datafile'}"; my(@cb)=split(/ /,$ae->{$z[75]});my($ag)=$_[1];my($et)=int$_[2]; my(@dk);my(@ds);my(%ep);my($eu,$dw,$eo);&dl;if(-e$dj){open(AB,"<$dj") ||&dm("DB_Add : Can't open '$dj'");@dk=;close(AB);}if($dk[1] =~m/#(\d+)/){$eo=$1;}else{foreach(@dk){/^\d/||next;$ep{(split(/\¡/))[0]} =1;}$eo=(sort{$b<=>$a}keys%ep)[0];}if($et&&$ep{$et}){&dn;return &ev(@_);}elsif($et){$eu=$et;}else{$eu=$eo=$eo+1;}$ag{$z[263]} =$eu;open(AB,">$dj.tmp$$")or&dm("DB_Add : Can't open '$dj.tmp$$' for writing"); print AB qq|#!$^X\n|or&dm("DB_Add : Can't write section 1 header to '$dj.tmp$$'"); print AB qq|#$eo\n|or&dm("DB_Add : Can't write section 2 header to '$dj.tmp$$'"); print AB$z[259]."\n".$z[260]."\n"or&dm("DB_Add : Can't write section 3 header to '$dj.tmp$$'"); foreach(@dk){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&dm("DB_Add : Can't copy record to $dj.tmp$$ : $!\n"); }my($ew)="$eu¡";for$dw(1..$#cb){my($es)=$ag->{$cb[$dw]};$es =~s/[\x1a\r\n\¡\¿]/sprintf($z[258],ord($&))/egx;$ew.="$es¡"; }print AB"$ew\n"or&dm("DB_Add : Can't add new record to $dj.tmp$$"); close(AB)or&dm("DB_Add : Can't close $dj.tmp$$");rename("$dj.tmp$$",$dj) or&dm("DB_Add : Can't rename '$dj.tmp$$' to '$dj'.");&dn;return $eu;}sub ob{my$ae=$_[0];my($ex,$ey,$ew)=caller;if(ref($ae)ne $z[235]){die$z[264]."\n";}if(ref($_[1])ne$z[235]){die$z[265]."\n"; }if(!$_[2]){die$z[266]."caller: $ew\n";}my($dj)="$ab{'datadir'}$ae->{'datafile'}"; my(@cb)=split(/ /,$ae->{$z[75]});my($ap)=$_[1];my($ep)=int$_[2]; my(@dk);my(@ds);my($dw);unless(-e$dj){return(0);}if(-e$dj){ &dl;open(AB,"<$dj")||&dm("DB_Load : Can't open '$dj'");@dk= ;close(AB);&dn;}foreach(@dk){/^$ep\¡/||next;s/[^¡]+$//; undef%$ap;@ds=split(/\¡/);for$dw(0..$#cb){$ap->{$cb[$dw]}=$ds[$dw]; $ap->{$cb[$dw]}=~s/¿([A-F0-9]{2})/pack($z[239],hex($1))/egix; }return 1;}return 0;}sub od{my$ae=$_[0];if(ref($ae)ne$z[235]) {die$z[267]."\n";}if(!$_[1]){die$z[268]."\n";}my($dj)="$ab{'datadir'}$ae->{'datafile'}"; my(@cb)=split(/ /,$ae->{$z[75]});my($ep)=int$_[1];my(%eg);my($ez) =0;for(1..$#_){$eg{$_[$_]}++;}my(@dk,$eo,%ep);unless(-e$dj) {return(0);}&dl;if(-e$dj){open(AB,"<$dj")||&dm("DB_Del : Can't open '$dj'"); @dk=;close(AB);}if($dk[1]=~m/#(\d+)/){$eo=$1;}else{foreach (@dk){/^\d/||next;$ep{(split(/\¡/))[0]}=1;}$eo=(sort{$b<=>$a }keys%ep)[0];}open(AB,">$dj.tmp$$")or&dm("DB_Del : Can't open '$dj.tmp$$' for writing"); print AB qq|#!$^X\n|or&dm("DB_Del : Can't write section 1 header to '$dj.tmp$$'"); print AB qq|#$eo\n|or&dm("DB_Del : Can't write section 2 header to '$dj.tmp$$'"); print AB$z[259]."\n".$z[260]."\n"or&dm("DB_Del : Can't write section 3 header to '$dj.tmp$$'"); foreach(@dk){/^(\d+)\¡/||next;if($eg{$1}){$ez++;next;}s/[^¡]+$//; print AB"$_\n"or&dm("DB_Del : Can't copy record to $dj.tmp$$ : $!\n"); }close(AB)or&dm("DB_Del : Can't close $dj.tmp$$");rename("$dj.tmp$$",$dj) or&dm("DB_Del : Can't rename '$dj.tmp$$' to '$dj'.");&dn;return $ez;}sub ev{my$ae=$_[0];if(ref($ae)ne$z[235]){die$z[269]."\n"; }if(ref($_[1])ne$z[235]){die$z[270]."\n";}if(!$_[2]){die$z[271]."\n"; }my($dj)="$ab{'datadir'}$ae->{'datafile'}";my(@cb)=split(/ /,$ae->{$z[75]}); my($ag)=$_[1];my($ep)=int$_[2];my($fa)=0;my(@dk);my(@ds);my($dw,$ap,$eo,%ep); if(!-e$dj){return&fb(@_);}&dl;open(AB,"<$dj")||&dm("DB_Save : Can't open '$dj'"); @dk=;close(AB);if($dk[1]=~m/#(\d+)/){$eo=$1;}else{foreach (@dk){/^\d/||next;$ep{(split(/\¡/))[0]}=1;}$eo=(sort{$b<=>$a }keys%ep)[0];}open(AB,">$dj.tmp$$")or&dm("DB_Save : Can't open '$dj.tmp$$' for writing"); print AB qq|#!$^X\n|or&dm("DB_Save : Can't write section 1 header to '$dj.tmp$$'"); print AB qq|#$eo\n|or&dm("DB_Save : Can't write section 2 header to '$dj.tmp$$'"); print AB$z[259]."\n".$z[260]."\n"or&dm("DB_Save : Can't write section 3 header to '$dj.tmp$$'"); foreach(@dk){/^\d/||next;if(/^$ep\¡/){my($ew)="$ep¡";for$dw (1..$#cb){my($es)=$ag->{$cb[$dw]};$es=~s/[\x1a\r\n\¡\¿]/sprintf($z[258],ord($&))/egx; $ew.="$es¡";}print AB"$ew\n"or&dm("DB_Save : Can't save modified record to $dj.tmp$$"); $fa++;next;}s/[^¡]+$//;print AB$_,"\n"or&dm("DB_Save : Can't copy record to $dj.tmp$$"); }close(AB)or&dm("DB_Save : Can't close $dj.tmp$$");rename("$dj.tmp$$",$dj) or&dm("DB_Save : Can't rename '$dj.tmp$$' to '$dj'.");&dn;unless($fa) {return&fb(@_);}}sub dl{my$fc=$af{$z[272]}||5;&fd($z[273],$fc); }sub dn{my$fc=$af{$z[272]}||5;&fe($fc);}sub fq{my($ae,$ff,$fg) =@_;my(@fh,@fi);unless($ae->{$z[240]}){my(@cb)=split(/ /,$ae->{$z[75]}); for(0..$#cb){$ae->{$z[240]}{$cb[$_]}=$_;}}foreach(@{$fg}){my ($fj,$fk,$fl)=@{$_};next if$fl eq'';if(ref($fl)eq$z[274]){foreach (@$fl){s/[\x1a\r\n\¡\¿]/sprintf($z[258],ord($&))/egx;$_=quotemeta($_); }}else{$fl=~s/[\x1a\r\n\¡\¿]/sprintf($z[258],ord($&))/egx;$fl =quotemeta($fl);}$fk=uc$fk;my$fm=$ae->{$z[240]}{$fj};unless (defined$fm){&ak($z[275].$fj.$z[276].&fn($fg));}if($fk eq$z[277]) {push@fh,"/$fl/i";push@fi,"\$f[$fm] =~ /$fl/i";}elsif($fk eq $z[278]){push@fi,"\$f[$fm] ne /$fl/i";}elsif($fk eq$z[279]) {push@fh,"/¡$fl¡/i";push@fi,"\$f[$fm] eq q/$fl/";}elsif($fk eq$z[280]||$fk eq$z[281]||$fk eq$z[282]||$fk eq$z[283]||$fk eq$z[284]){push@fi,"\$f[$fm] $fk $fl";}elsif($fk eq$z[285]) {my($fo,$fp)=@{$fl};push@fi,"\$f[$fm] >= $fo && \$f[$fm] <= $fp"; }elsif($fk eq$z[286]){my($fo,$fp)=@{$fl};push@fi,"!(\$f[$fm] >= $fo && \$f[$fm] <= $fp)"; }elsif($fk eq$z[287]){push@fi,$z[288].join($z[289],map{"\$f[$fm] eq q/$_/" }@{$fl}).$z[290];}elsif($fk eq$z[291]){push@fi,$z[292].join($z[289], map{"\$f[$fm] eq q/$_/"}@{$fl}).$z[290];}else{&ak($z[293].$fk .$z[276].&fn($fg));}}unshift(@fi,$z[294])if@fi;return(\@fh, \@fi);}sub dx{my($ae,$rec_nopack,$fg)=@_;my($fh,$fi)=&fq($ae, $rec_nopack,$fg);return unless(@$fh||@$fi);my$fr=$z[295].join($z[296], @$fh,@$fi).$z[297];&fs($fr);eval$fr;&fs($@);}sub er{my($ae, $rec_nopack,$fg)=@_;my($fh,$fi)=&fq($ae,$rec_nopack,$fg);return ({$z[257]=>1})unless(@$fh||@$fi);my%match_nopack;my$fr=$z[298] .join($z[296],@$fi).$z[299];&fs($fr);eval$fr;&fs($@);return(\%match_nopack); }sub dm{my($ft)=(@_);my($fu)=$!;if($fu eq''){$fu="Unknown error. Maybe disk quota exceeded?"; }&ak($z[300],"$ft : $fu\n");}1;;sub ug{local(*AB);my($fv)=$_[0]; my(@fw,$fx,%fy);$fx=\%fy;if(!$_[0]){die"INI_Load : No ini file was specified!\n"; }if(!-e$_[0]){die"INI_Load : The ini file '$_[0]' could not be found!\n"; }open(AB,"<$fv")||die("INI_Load : Could open ini file! $!\n"); @fw=;close(AB);foreach(@fw){/^\s*#/m&&next;if(/^\s*\[/m) {$fx=\%fy;foreach(/\[(.+?)\]/g){$fx=\%{$fx->{$_}};}next;}my $fz=index($_,$z[301]);if($fz>0){my$ga=substr($_,0,$fz);my$fl =substr($_,$fz+1);foreach($ga,$fl){s/^\s+//;s/\s+$//;}$ga=~ /[^a-zA-Z\/0-9_\-]/&&die("INI_Load : Invalid key '$ga' in ini file '$fv'!\n"); defined$fx->{$ga}&&die("INI_Load : Key '$ga' defined twice in ini file '$fv'!\n"); $fx->{$ga}=$fl;}elsif($fz==-1){my$ga=$_;for($ga){s/^\s+//;s/\s+$//; }if(!length$ga){next;}defined$fx->{$ga}&&die("INI_Load : Key '$ga' defined twice in ini file '$fv'!\n"); $fx->{$ga}=1;}}return%fy;}sub fn{my$fx=$_[0];my$gb=$_[1];my $gc=$_[2]||$z[302];my$ap;if(ref($fx)eq$z[235]){foreach(sort keys%{$fx}){if(ref($fx->{$_})){$ap.=&fn($fx->{$_},"$gb\{$_}"); }else{$ap.="\$$gc$gb"."{$_} = $fx->{$_}\n";}}}elsif(ref($fx) eq$z[274]){for(0..$#{$fx}){if(ref($fx->[$_])){$ap.=&fn($fx->[$_],"$gb\[$_]"); }else{$ap.="\$$gc$gb"."[$_] = $fx->[$_]\n";}}}return$ap;}sub bq{my($gd,$ge)=@_;my(%gf);local(*AC);if(!-e$gd){$!=$z[303].$gd.$z[304]; return(0);}if($ge&&$ge ne$z[305]&&$ge ne$z[306]){die($z[307]."$ge\n"); }opendir(AC,$gd);foreach(grep(!/^\.+$/,readdir(AC))){if($ge eq$z[305]){$gf{$_}++if-f"$gd/$_";}elsif($ge eq$z[306]){$gf{$_}++ if-d"$gd/$_";}else{$gf{$_}++;}}closedir(AC);return%gf;}sub fs{my$gg;my$dw;while(my($fv,$ew,$gh)=(caller($dw++))[1,2,3]) {$fv=~s/^.*[\/\\]//;$gh=~s/^main:://;unless($gh=~s/__ANON__/(anonymous)/) {$gh=$z[308].$gh;}$gg.=qq!$fv ($ew)¡called $gh¡¡!;}$gg=~s/\\/\\\\/g; $gg=~s/'/\\'/g;$gg=~s/¡/\\n/g;$ab{$z[309]}.=qq|>|; $ab{$z[309]}.=join("\n
",map{&gi($_)}@_)."
\n
"; }sub uk{my($gj,$gk)=@_;local(*AD);local(*AE);open(AD,"<$gj") ||die($z[310]."$gj : $!\n");open(AE,">$gk")||die($z[311]."$gk : $!\n"); binmode(AD);binmode(AE);print AE;close(AD);close(AE);}sub uh{my($gl)=$_[0];my($ga,$fl,$gm,@gn,$go,%fy);my($fv,$gd,$gp); my($gq);binmode(STDIN);if($gl&&($ENV{$z[312]}||length$ENV{$z[313]}) >$gl){die($z[314]."$gl bytes\n");}($gq)=$ENV{$z[315]}=~/boundary=(?:"?)(\S+?)(?:"?)$/; if($ENV{$z[316]}eq$z[317]&&$ENV{$z[315]}=~m|^multipart/form-data|) {my$go;read(STDIN,$go,$ENV{$z[312]});foreach(split(/\n/,$go)) {if(/^--$gq--/){$go.="--$gq";last;}else{$go.=$_;}}@gn=split(/--$gq/,$go); foreach$gm(@gn){unless($gm=~/^(\r\n|\n)Content-Disposition/) {next;}($ga,$fl)=$gm=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s; ($gd)=$ga=~/filename="([^"]+)"/;($ga)=$ga=~/name="([^"]+)"/; ($fv)=$gd=~/([^\/\\]+)$/;($gp)=$gd=~/\.(\w+)$/;if(!$gd){$ga =~s/\r\n/\n/g;$fl=~s/\r\n/\n/g;$ga=~s/\x00//g;$fl=~s/\x00//g; }$fy{$ga}=$fl;$fy{$ga.$z[318]}=$gd;$fy{$ga.$z[319]}=$fv;$fy{$ga.$z[320]} =$gp;}}else{if($ENV{$z[316]}eq$z[317]){read(STDIN,$go,$ENV{$z[312]}); }elsif($ENV{$z[316]}eq$z[321]){$go=$ENV{$z[313]};}@gn=split(/&/, $go);foreach$gm(@gn){($ga,$fl)=split(/=/,$gm);$ga=~tr/+/ /; $fl=~tr/+/ /;$ga=~s/%([A-F0-9]{2})/pack($z[239],hex($1))/egi; $fl=~s/%([A-F0-9]{2})/pack($z[239],hex($1))/egi;$ga=~s/\r\n/\n/g; $fl=~s/\r\n/\n/g;$ga=~s/\x00//g;$fl=~s/\x00//g;if($ga=~/_multi$/) {push@{$fy{$ga}},$fl;}else{$fy{$ga}=$fl;}}}foreach(keys%fy) {if(/^(.*)(\.x|\.y)$/){$fy{$1}=$z[322];}}return%fy;}sub ph{ my($gr)=$_[0];my($gs,$gt)=split(/@/,$gr);if($gr eq''){return 0;}if($gr=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($gs!~/^([\w\-]+[\w\-\.])*[\w\-]+$/) {return 0;}if($gt!~/^([\w\-]+[\w\-\.])*[\w\-]+\.[A-Za-z]{2,8}$/) {return 0;}return 1;}sub ul{my($gu,$gv)=@_;unless($gu eq$z[323] ||$gu eq$z[324]||$gu eq$z[325]||$gu eq$z[326]){return undef; }$gv=~s/[^\d]//g;my@gw=split//,$gv;unless(($gu eq$z[323]&&$gw[0] ==4)||($gu eq$z[324]&&$gw[0]==5)||($gu eq$z[325]&&$gw[0]==3) ||($gu eq$z[326]&&$gw[0]==6)){return undef;}unless(($gu eq$z[323] &&($#gw==12||$#gw==15))||($gu eq$z[324]&&$#gw==15)||($gu eq $z[325]&&$#gw==14)||($gu eq$z[326]&&$#gw==15)){return undef; }my$gx;for(my$fz=($#gw+1)% 2;$fz<=$#gw;$fz+=2){if($gw[$fz]< 5){$gw[$fz]*=2;}else{$gw[$fz]=($gw[$fz]* 2)-9}}foreach(@gw) {$gx+=$_;}unless($gx% 10==0){return undef;}return 1;}sub am {local(*AB);my($fv,%fy,$bk,$gy);%fy=%{$_[1]}if$_[1];my%gz;%gz =($z[327]=>0,$z[328]=>0,$z[329]=>0,$z[330]=>0);foreach(split(/ /,$_[2])) {if(undef$gz{$_}){die($z[331]."'$_'\n");}$gz{$_}=1;}if(!$_[0]) {die$z[332]."\n";}if(ref($_[1])ne$z[235]){die$z[333]."\n";} if((!$gz{$z[328]}||!$ab{$z[134]}{$z[328]}{$_[0]})){if(-e"$_[0]") {$fv=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if (-e"$ab{$_}/$_[0]"){$fv="$ab{$_}/$_[0]";last;}}if(!$fv){die $z[334]."'$_[0]'".$z[335]."\n";}}}if($gz{$z[328]}&&$ab{$z[134]}{$z[328]}{$_[0]}) {$bk=$ab{$z[134]}{$z[328]}{$_[0]};}else{open(AB,"<$fv")||die $z[336]."$fv! $!\n";binmode(AB)if($fv=~/gif$/i||$fv=~/jpg$/i); read(AB,$bk,-s AB);close(AB);}if($gz{$z[329]}){return$bk;}if (!$gz{$z[328]}||!$ab{$z[134]}{$z[328]}{$_[0]}){foreach$gy($bk =~m//g){$ab{$z[134]}{$z[135]}{$1}=$2 if($bk=~m/(?:\r\n|\n)?(.*?)/is); }$bk=~s/(?:\r\n|\n)?(.*?)//gis; if($gz{$z[328]}){$ab{$z[134]}{$z[328]}{$_[0]}=$bk;}}$bk=~s//$1/gi; $bk=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$fl=defined$ad{$1} ?$ad{$1}:$fy{$1};if($2 eq$z[337]){$fl=&ha($fl);}if($2 eq$z[338]) {$fl=&hb($fl);}if($2 eq$z[339]){$fl=&hb($fl);$fl=~s/ / /g; }if($2 eq$z[340]){$fl=&hc($fl);}$fl;]ge;return$bk;}sub cq{if (!$_[0]){die$z[341]."\n";}if(!defined$ab{$z[134]}{$z[135]}{$_[0]}) {die$z[342]."'$_[0]'".$z[343]."\n";}if(ref($_[1])ne"HASH"){ die$z[344]."\n";}local(*AB);my(%fy);%fy=%{$_[1]}if$_[1];my($bk) =$ab{$z[134]}{$z[135]}{$_[0]};$bk=~s/(?:\r\n|\n)?(.*?)//gs; $bk=~s//$1/gi;$bk=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][ my$fl=defined$ad{$1}?$ad{$1}:$fy{$1};if($2 eq$z[337]){$fl=&ha($fl); }if($2 eq$z[338]){$fl=&hb($fl);}if($2 eq$z[339]){$fl=&hb($fl); $fl=~s/ / /g;}if($2 eq$z[340]){$fl=&hc($fl);}$fl;]ge;return $bk;}sub ml{my($ag)=$_[0];my(@hd)=(($z[325]..$z[345],$z[346]..$z[347],0..9),$z[348],$z[61]); my($ap)=unpack($z[349],$ag);$ap=~s/(\d{6}|\d+$)/$hd[ord(pack$z[349],"00$1")]/ge; while(length($ap)%4){$ap.=$z[301];}return$ap;}sub um{my($ag) =$_[0];my(%hd);my($ap);my$dw;for(($z[325]..$z[345],$z[346]..$z[347],0..9),$z[348],$z[61]){ $hd{$_}=$dw++}$ag=$_[0]||return$z[350];$ag=~s/[^A-Za-z0-9+\/]//g; $ag=~s/[A-Za-z0-9+\/]/unpack'B*',chr($hd{$&})/ge;$ag=~s/\d\d(\d{6})/$1/g; $ag=~s/\d{8}/$ap.=pack($z[349],$&)/ge;return$ap;}sub ha{my($he) =$_[0];$he=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[351],ord($1))/egx; $he=~tr/ /+/;return$he;}sub hw{my($he)=$_[0];$he=~tr/+/ /;$he =~s/%([A-F0-9]{2})/pack($z[239],hex($1))/egi;return$he;}sub oo{my($hf);my($ga,$fl,$hg,$gd,$hh,$hi)=@_;my($hj);if($ga eq ''){die($z[352]."\n");}if($hg&&$hg ne int($hg)){die($z[353]."\n"); }$ah{$ga}=$fl;if($hg){my($hk,$hl,$hm,$hn,$ho,$hp,$hq,$hr)=gmtime($hg); ($hk,$hl,$hm,$hn)=map{$_<10?$z[354].$_:$_}($hk,$hl,$hm,$hn); $hj=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$hq],", $hn-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$ho],$z[248],1900+$hp, " $hs$ht$hk GMT");}if($ga){$ga=&ha($ga);}if($fl){$fl=&ha($fl); }if($hg){$hf.=$z[355]."$hj; ";}if($gd){$hf.=$z[356]."$gd; "; }if($hh){$hf.=$z[357]."$hh; ";}if($hi){$hf.=$z[358];}print$z [359]."$ga=$fl; $hf\n";}sub ui{my($hu,$ga,$fl,%hv);foreach$hu (split(/; /,$ENV{$z[360]})){($ga,$fl)=split(/=/,$hu);foreach($ga,$fl) {$_=&hw($_);}$hv{$ga}=$fl;}return%hv;}sub cl{my$hx=$_[0]||die("DateString: The first parameter must be a date or time format string\n"); $hx=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n"); my$hy=$_[1];my($hp,$ho,$hn,$hz,$hl,$hk,$hq,$hr);my@ia=(0,0,1,0,0,0); my$ib=$_[-1]=~/^GMT$/i;pop(@_)if$ib;if(scalar(@_)>=3){die("DateString: Too many arguments\n") if scalar(@_)>7;my$ic;foreach$ic(1..scalar(@_)-1){$ia[$ic-1] =$_[$ic];}($hp,$ho,$hn,$hz,$hl,$hk)=@ia;if($hn>28){($hp,$ho, $hn)=&id($hp,$ho,$hn);}$hy=$ib?&ie($hk,$hl,$hz,$hn,$ho,$hp) :&ig($hk,$hl,$hz,$hn,$ho,$hp);}else{}($hk,$hl,$hz,$hn,$ho,$hp, $hq,$hr)=($ib?gmtime($hy):localtime($hy));my$ih;if(exists($ab{DateString}{rhNames})) {$ih=$ab{DateString}{rhNames};}else{$ih={$z[93]=>exists($af{$z[361]}{ampm}) ?[split(/,/,$af{$z[361]}{ampm})]:[qw(AM PM)],$z[362]=>exists($af{$z[361]}{ordinals}) ?[split(/,/,$af{$z[361]}{ordinals})]:[$z[363],$z[364],$z[365], $z[366],$z[367],$z[368],$z[369],$z[370],$z[371],$z[372],$z[373], $z[374],$z[375],$z[376],$z[377],$z[378],$z[379],$z[380],$z[381], $z[382],$z[383],$z[384],$z[385],$z[386],$z[387],$z[388],$z[389], $z[390],$z[391],$z[392],$z[393],$z[394]],$z[395]=>exists($af{$z[361]}{week_full}) ?[split(/,/,$af{$z[361]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)], $z[396]=>exists($af{$z[361]}{week_abbr})?[split(/,/,$af{$z[361]}{week_abbr})] :[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[397]=>exists($af{$z[361]}{month_full}) ?[split(/,/,$af{$z[361]}{month_full})]:[qw(January February March April May June July August September October November December)], $z[398]=>exists($af{$z[361]}{month_abbr})?[split(/,/,$af{$z[361]}{month_abbr})] :[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$ab{DateString}{rhNames} =$ih;}my($ii,$ij)=(0,1);my$ik={$z[399]=>$z[399],$z[346]=>$ih->{week_abbr}[$hq], $z[325]=>$ih->{week_full}[$hq],$z[400]=>$ih->{month_abbr}[$ho], $z[401]=>$ih->{month_full}[$ho],$z[402]=>$z[403],$z[239]=>$z[404], $z[405]=>sprintf($z[406],$hn),$z[326]=>$z[407],$z[408]=>sprintf($z[409], $hn),$z[410]=>$ih->{month_abbr}[$ho],$z[411]=>sprintf($z[406], $hz),$z[412]=>sprintf($z[406],$hz% 12||12),$z[413]=>sprintf($z[414],$hr +1),$z[415]=>sprintf($z[409],$hz),$z[416]=>sprintf($z[409], $hz% 12||12),$z[417]=>sprintf($z[406],$ho+1),$z[324]=>sprintf($z[406], $hl),$z[247]=>"\n",$z[418]=>$ih->{ordinals}[$hn],$z[419]=>$ih->{ampm}[$hz >=12?1:0],$z[420]=>lc($ih->{ampm}[$hz>=12?1:0]),$z[421]=>int($ho /3)+1,$z[422]=>$z[423],$z[424]=>$z[425],$z[426]=>$hy,$z[427] =>sprintf($z[406],$hk),$z[428]=>"\t",$z[429]=>$z[430],$z[431] =>&il($ii,$hq,$hr),$z[432]=>$hq,$z[433]=>&il($ij,$hq,$hr),$z[434] =>$z[407],$z[435]=>$z[430],$z[436]=>sprintf($z[406],$hp% 100), $z[437]=>sprintf($z[438],$hp+1900),$z[345]=>'',$z[347]=>'', };$hx=&im($ik,$hx);return$hx;}sub im{my($ik,$hx)=@_;$hx=~s/%(O?[%a-zA-Z])/&in($ik, $1)/sgeox;return$hx;}sub in{my$io=$_[1];return(exists($_[0]->{$io})) ?($_[0]->{$io}=~/\%/&&$io ne$z[399]?&im($_[0],$_[0]->{$io}) :$_[0]->{$io}):"\%$io";}sub il{my($ip,$hq,$hr)=@_;$hq=($hq+ 7-$ip)% 7;return int(($hr-$hq+13)/7-1);}sub id{my($hp,$ho,$iq) =@_;return@_ if$iq<=28;my$ir;if($ho==1){if(($hp% 4==0)&&(!($hp % 100==0)||($hp% 400==0))){$ir=29;}else{$ir=28;}}elsif($ho== 3||$ho==5||$ho==8||$ho==10){$ir=30;}else{$ir=31;}return($hp, $ho,$iq<$ir?$iq:$ir);}sub un{my$is=$_[0];my$it=$_[1]||die("DateString: The second argument must time()\n"); my$AF=$_[2];if($it ne int($it)){die($z[439]."\n");}my($hk,$hl,$hm,$iq,$ho,$hp,$hq); if($AF){($hk,$hl,$hm,$iq,$ho,$hp,$hq)=gmtime($it);}else{($hk,$hl,$hm,$iq,$ho,$hp,$hq) =localtime($it);}if($it=~tr/://){($hp,$ho,$iq,$hm,$hl,$hk,$hq) =split(/:/,$it);$hp-=1900;$ho-=1;foreach($hp,$ho,$iq,$hm,$hl,$hk,$hq) {$_||=0;}}my(%hq,%iu,%ho,%iv);my@ho=($z[440],$z[441],$z[442],$z[443],$z[444],$z[445],$z[446],$z[447],$z[448],$z[449],$z[450],$z[451]); my@iv=($z[452],$z[453],$z[454],$z[455],$z[444],$z[456],$z[457],$z[458],$z[459],$z[460],$z[461],$z[462]); my@hq=($z[463],$z[464],$z[465],$z[466],$z[467],$z[468],$z[469]); my@iu=($z[470],$z[471],$z[472],$z[473],$z[474],$z[475],$z[476]); foreach(@hq){$hq{lc$_}++;}foreach(@iu){$iu{lc$_}++;}foreach (@ho){$ho{lc$_}++;}foreach(@iv){$iv{lc$_}++;}$is=~s/\b[A-Za-z]{3,9}\b/ if($hq{lc$&}){if(uc($&)eq$&){uc$hq[$hq];}elsif(lc($&)eq$&){ lc$hq[$hq];}else{ucfirst lc$hq[$hq];}}elsif($iu{lc$&}){if(uc($&) eq$&){uc$iu[$hq];}elsif(lc($&)eq$&){lc$iu[$hq];}else{ucfirst lc$iu[$hq];}}elsif($ho{lc$&}){if(uc($&)eq$&){uc$ho[$ho];}elsif (lc($&)eq$&){lc$ho[$ho];}else{ucfirst lc$ho[$ho];}}elsif($iv{lc $&}){if(uc($&)eq$&){uc$iv[$ho];}elsif(lc($&)eq$&){lc$iv[$ho]; }else{ucfirst lc$iv[$ho];}}else{$&;}/ge;$is=~s/\d{1,4}\b/if (length$&==4){$hp+1900;}elsif(length$&<=2){if(substr($&,0,1) eq 0){sprintf($z[406],$iq);}else{$iq;}}else{$&;}/ge;$is=~s/(\d{1,2})(st|nd|rd|th)/ if($iq==1||$iq==21||$iq==31){$iq.$z[477];}elsif($iq==2||$iq ==22){$iq.$z[478];}elsif($iq==3||$iq==23){$iq.$z[479];}else {$iq.$z[480];}/gei;$is=~s/YYYY/sprintf($z[438],$hp+1900)/gei; $is=~s/YY/sprintf($z[406],$hp%100)/gei;$is=~s/MO\b/sprintf($z[406],$ho+1)/gei; $is=~s/DD/sprintf($z[406],$iq)/gei;$is=~s/SS/sprintf($z[406],$hk)/gei; $is=~s/MM/sprintf($z[406],$hl)/gei;$is=~s/HH/sprintf($z[406],$hm)/gei; return$is;}sub ea{my($iw,$dz,$arrayref_nopack)=@_;my(@f_nopack,$dy,$ix, $iy,$iz,$dw);my($du,$dv);$dw=0;foreach(split(/ /,$dz)){if(s/\#//g) {$du=1;}elsif(s/n//g){$du=1;}else{$du=0;}if(s/\-//g){$dv=$z[481]; }elsif(s/\+//g){$dv='';}else{$dv='';}s/[^0-9]//gs;push(@f_nopack,$_); if($du){$dy+=15;$iy.=$z[482];$iz.=qq|$dv sprintf('%015s',int(substr(\$str[$dw]*100,0,15))),|; }else{$dy+=50;$iy.=$z[483];$iz.="$dv substr(\$str[$dw],0,50),"; }$dw++;}$ix.=qq|return map { substr(\$_,$dy) } sort map {\n|; $ix.=qq| my \@str = (split(/\\$iw/,lc \$_))[\@f_nopack];\n|; $ix.=qq| sprintf("$iy\%s" ,$iz\$_);\n|;$ix.=qq| } \@\$arrayref_nopack;\n|; eval$ix;}sub hc{my$ja=shift;$ja=~s/\\/\\\\/g;$ja=~s/'/\\'/g; $ja=~s/\n/\\n/g;$ja=~s/\r/\\r/g;$ja=~s/\000//g;$ja=~s/-->/--'+'>/g; $ja=~s!!!g;return$ja;}sub gi{my$jb=shift; $jb=~s/&/&/g;$jb=~s/"/"/g;$jb=~s//>/g; return$jb;}sub hb{my$jb=shift;$jb=~s/&([^\w#]|$)/&$1/g; $jb=~s/"/"/g;$jb=~s//>/g;return$jb; }sub uo{my$jb=shift;$jb=~s//>/g;return$jb; }sub cs{my$jc=shift;my%jd=map{$_,1}@_;return join($z[308],map {$jd{$_}?():&ha($_).$z[301].&ha($jc->{$_})}keys%{$jc});}sub up{my$jc=shift;my%jd=map{$_,1}@_;return join("\n",map{$jd{$_} ?():$z[484].&gi($_).$z[485].&gi($jc->{$_}).$z[44]}keys%{$jc}); }sub ol{$_=$_[0];/\.gif$/i&&return(&je($_[0]));(/\.jpeg$/i|| /\.jpg$/i)&&return(&jf($_[0]));/\.png$/i&&return(&jg($_[0])); undef;}sub jg{my($ey)=@_;my($jh);open(PNG,$ey)||return(undef, undef,"PNG - Couldn't Open $ey");binmode(PNG);seek(PNG,12,0); read(PNG,$jh,4);if($jh ne"IHDR"){close PNG;return(undef,undef, "PNG - Missing Image Header - $jh");}read(PNG,$jh,8);close PNG;return unpack("NN",$jh);}sub jf{my($ey)=@_;my($jh,$ji,$jj, $jk,$jl);open(JPEG,$ey)||return(undef,undef,"JPEG - Couldn't Open $ey"); binmode(JPEG);read(JPEG,$jh,2);while(1){read(JPEG,$ji,4);($jj, $jk,$jl)=unpack("a a n",$ji);if($jj ne"\xFF"){close JPEG;return(undef, undef,"JPEG - Marker not Found");}if((ord($jk)>=0xC0)&&(ord($jk) <=0xC3)){read(JPEG,$jh,5);close(JPEG);my($jm,$jn)=unpack("xnn", $jh);return($jn,$jm);}else{read(JPEG,$jh,$jl-2);}}}sub jv{my ($jo,$jp)=@_;my($jq);read($jo,$jq,$jp);while(1){if(eof($jo)) {close AG;return(undef);}read($jo,$jq,1);last if ord($jq)== 0;read($jo,$jq,ord($jq));}1;}sub je{my($ey)=@_;my($jh,$ge,$jr, $js,$jn,$jt,$jm,$ju);open(AG,$ey)||return(undef,undef,"GIF - Couldn't Open $ey"); binmode(AG);read(AG,$ge,6);read(AG,$jh,7);if(length($jh)!=7) {close AG;return(undef,undef,"GIF - Corrupted Header");}($jn) =unpack("x4 C",$jh);if($jn&0x80){$jr=3*(2**(($jn&0x07)+1)); read(AG,$js,$jr);if(!$js){close AG;return(undef,undef,"GIF - Corrupted Colour Map"); }}while(1){if(eof(AG)){close AG;return(undef,undef,"GIF - EOF at BlockStart"); }read(AG,$jh,1);($jn)=unpack("C",$jh);if($jn==0x2c){read(AG, $jh,8);if(length($jh)!=8){close AG;return(undef,undef,"GIF - Missing Image Header"); }($jn,$jt,$jm,$ju)=unpack("x4 C4",$jh);close(AG);return($jn +$jt* 256,$jm+$ju* 256);}if($jn==0x21){read(AG,$jh,1);($jn) =unpack("C",$jh);if($jn==0xF9){read(AG,$jh,6);}elsif($jn==0xFE) {&jv(\*AG,0)||return(undef,undef,"GIF - Bad Block - skip=0"); }elsif($jn==0x01){&jv(\*AG,13)||return(undef,undef,"GIF - Bad Block - skip=13"); }elsif($jn==0xFF){&jv(\*AG,12)||return(undef,undef,"GIF - Bad Block - skip=12"); }else{close AG;return(undef,undef,"GIF - Unknown Block Extension"); }}else{close AG;return(undef,undef,"GIF - Unknown Block Type"); }}}sub uq{return($_[0]=~/(.+)/s)[0]||$_[0];}sub ur{my$jw;foreach (split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!$kc){$co=1;}push(@{$ka[$co]},$_);}if(defined$jz){ foreach(0..$#ka){while(scalar@{$ka[$_]}<$jy){push(@{$ka[$_]}, $jz);}}}shift@ka;return@ka;}sub ou{my($kd,%bm,$AH);$kd=$_[0]; %bm=%{$_[1]};$AH="\x0D\x0A";local(*AI);if(!defined&ke){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n"); }if(!defined&kf){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n"); }if(!defined&kg){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n"); }if(!defined&kh){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n"); }if(!defined&ki){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n"); }if(!defined&kj){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n"); }foreach(keys%{$ab{$z[486]}}){defined$bm{$_}&&next;$bm{$_}= $ab{$z[486]}{$_};}my($gt,$kk,$kl,$km,$fs);$gt=$bm{$z[487]}; $kk=$bm{$z[488]}||25;$kl=$bm{$z[489]}||$z[490];$km=$bm{$z[491]} ||30;$fs=$bm{$z[492]}||0;$km+=time()if$km<10**8&&$km>0;if($gt =~s/:(\d+)//){$kk=$1;}$gt=&kn($gt);if(!$gt){$ab{$z[493]}="No SMTP host specified.\n"; return 0;}if(!$kk){$ab{$z[493]}="No SMTP port specified.\n"; return 0;}my($ko,@kp)=&ke($kd);$kd=~tr/\r//d;$kd=~s/\n/\r\n/gs; $kd=~s/^\s*bcc\s*:.*\n//mgi;if($bm{$z[494]}){&kh(\%bm)||return 0;}my($kq)=gethostbyname($gt)||do{$ab{$z[493]}="Could not connect to SMTP server. Unknown host $gt\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[493]} ="Could not connect to SMTP server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$kk,$kq)||do{if($!eq"Unknown error") {$ab{$z[493]}="Could not connect to SMTP server. SMTP server does not exist or is not responding.\n"; return 0;}else{$ab{$z[493]}="Could not connect to SMTP server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$kr =&kg(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"220"){$ab{$z[493]} ="An unknown error occured. Server response: $kr\n";return 0;}print AI"HELO $kl",$AH;if($fs){&kf("HELO $kl",$AH);}$kr= &kg(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"250"){$ab{$z[493]} ="An unknown error occured. Server response: $kr\n";return 0;}print AI"MAIL FROM:<$ko>",$AH;if($fs){&kf("MAIL FROM:<$ko>", $AH);}$kr=&kg(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"250"){$ab{$z[493]} ="An unknown error occured. Server response: $kr\n";return 0;}my$kp;foreach$kp(@kp){print AI"RCPT TO:<$kp>",$AH;if($fs) {&kf("RCPT TO:<$kp>",$AH);}$kr=&kg(\*AI,$km)||do{$ab{$z[493]} ="Timed out waiting for SMTP server to respond.\n";return 0; };if($fs){&kf($kr);}if(substr($kr,0,2)eq"55"){$ab{$z[493]}= "The server won't accept mail for '$kp'. Server response: $kr\n"; return 0;}if(substr($kr,0,2)ne"25"){$ab{$z[493]}="An unknown error occured. Server response: $kr\n"; return 0;}}print AI"DATA",$AH;if($fs){&kf("DATA",$AH);}$kr= &kg(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"354"){$ab{$z[493]} ="An unknown error occured. Server response: $kr\n";return 0;}$kd=~s/^\./\.\./gm;print AI$kd,$AH;if($fs){&kf($kd,$AH); }print AI".",$AH;if($fs){&kf(".",$AH);}$kr=&kg(\*AI,$km)||do {$ab{$z[493]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"250"){$ab{$z[493]} ="An unknown error occured. Server response: $kr\n";return 0;}print AI"QUIT",$AH;if($fs){&kf("QUIT",$AH);}close(AI);return 1;}sub ke{my($kd,$ch,$ks,$kt,$ew);$kd=$_[0];$kd=~tr/\r//d;$ch =$z[495];$ch.=$z[496];if($kd=~m/^(.*?)\n\n(.*)$/s){($ks,$kt) =($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n"); }my($ko,@kp);foreach$ew(split(/\n/,$ks)){foreach(qw(from to cc bcc)) {if($ew=~/^\s*$_\s*:/i){my$ku=$_;foreach($ew=~m/($ch)/g){if ($ku eq$z[497]){$ko=$_;}else{push@kp,$_;}}}}}$ko||die("SMTP_parseheader: couldn't find from: address in mail header\n"); $#kp>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n"); return($ko,@kp);}sub kg{my$AJ=$_[0];my$km=int($_[1]);if(!$km) {die("SMTP_readline: no timeout value specified!\n");}if($km <10**8){die("SMTP_readline: timeout value must be in time() format!Rec'd: $km\n"); }fileno($AJ)||die("SMTP_readline: invalid filehandle or filehandle not open!\n"); my($ew,$kv);while(!$ew||substr($ew,3,1)eq$z[248]){$ew=&ki($AJ,$km); $kv.=$ew;}return$kv;}sub kf{my$ft=join'',@_;$ft=~s/\s+$//m; my$kw=localtime();local*AK;if(!$ft){$kw="";$ft="\n";}if($ft =~/^From:/i){$ft="[email content]";}if($ft=~/^PASS /i){$ft= "PASS (not shown)";}$ft=~s//>/g;$ft=~s/\r\n|\n/
\n/g; print"

$ft
\n\n";}sub kh{my($kd,%bm,$AH);%bm=%{$_[0]}; $AH="\x0D\x0A";local(*AI);if(!$bm{$z[498]}){die("SMTP_pop3auth: POP3 username not defined'\n"); }if(!$bm{$z[499]}){die("SMTP_pop3auth: POP3 password not defined'\n"); }if($ab{$z[500]}{$z[501]}){return 1;}my($gt,$kk,$gs,$kx,$km,$fs); $gt=$bm{$z[502]}||$bm{$z[487]};$kk=$bm{$z[503]}||110;$gs=$bm{$z[498]}; $kx=$bm{$z[499]};$km=$bm{$z[504]}||$bm{$z[491]}||30;$fs=$bm{$z[492]} ||0;$km+=time()if$km<10**8&&$km>0;if($gt=~s/:(\d+)//){$kk=$1; }$gt=&kn($gt);my($kq)=gethostbyname($gt)||do{$ab{$z[493]}="Could not connect to POP3 server. Unknown host $gt\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[493]} ="Could not connect to POP3 server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$kk,$kq)||do{if($!eq"Unknown error") {$ab{$z[493]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n"; return 0;}else{$ab{$z[493]}="Could not connect to POP3 server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$kr =&ki(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($fs){&kf($kr);}if(uc(substr($kr,0,3))ne"+OK") {$ab{$z[493]}="An unknown error occured. Server response: $kr\n"; return 0;}print AI"USER $gs",$AH;if($fs){&kf("USER $gs",$AH); }$kr=&ki(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"+OK"){$ab{$z[493]} ="The server didn't accept the login info for '$gs'. Server response: $kr\n"; return 0;}print AI"PASS $kx",$AH;if($fs){&kf("PASS $kx",$AH); }$kr=&ki(\*AI,$km)||do{$ab{$z[493]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($fs){&kf($kr);}if(substr($kr,0,3)ne"+OK"){$ab{$z[493]} ="The server didn't accept the login info for '$gs'. Server response: $kr\n"; return 0;}print AI"QUIT",$AH;if($fs){&kf("QUIT",$AH);}close(AI); $ab{$z[500]}{$z[501]}=1;return 1;}sub kj{my$AJ=$_[0];my$km= $_[1]||$z[354];my($ky,$kz,$la,$lb,$ld,$le,$lf);fileno($AJ)|| die("fh_can_read: invalid filehandle or filehandle not open!\n"); vec($ky,fileno($AJ),1)=1;$lf=select($kz=$ky,undef,undef,$km); return vec($kz,fileno($AJ),1);}sub ki{my$AJ=$_[0];my$km=int($_[1]); if(!$km){die("FH_readline: no timeout value specified!\n"); }if($km<10**8){die("FH_readline: timeout value must be in time() format!\n"); }fileno($AJ)||die("FH_readline: invalid filehandle or filehandle not open!\n"); my($ew,$lg);while($km>=time()){&kj(\*AI,0.25)||next;sysread(\*AI,$lg, 1)||last;$ew.=$lg;if($lg eq"\x0A"){last;}}return$ew;}sub lq {my$lh=$ab{$z[505]}{$z[506]}||={};my$li=int++$lh->{$z[21]}; my$ga="FH$li";return eval"local *$ga";}sub fd{return unless ($af{$z[507]});my$lh=$ab{$z[505]}{$z[508]}||={};$lh->{$z[509]} ||=[];my($lj,$km)=@_;$lj||=$z[273];$km||=0;if($lj ne$z[273] and$lj ne$z[510]){&ak("lock: invalid lock type: '$lj'");}my $lk;if(@{$lh->{$z[509]}}>0){$lk=$lh->{$z[509]}[-1];}if($lk eq$z[273]){$lj=$lk;}if($lk eq$lj){push(@{$lh->{$z[509]}},$lj); return 1;}my$ll;if($lk eq$z[510]and$lj eq$z[273]){&ak("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock"); }$ll=&lm('',$lj,$km);if($ll){push(@{$lh->{$z[509]}},$lj);}return $ll;}sub fe{return unless($af{$z[507]});my$lh=$ab{$z[505]}{$z[508]} ||={};$lh->{$z[509]}||=[];my($km)=@_;$km||=0;unless(@{$lh->{$z[509]}} >0){&ak($z[511])}my$lk=pop(@{$lh->{$z[509]}});return if(@{$lh->{$z[509]}} >0 and$lh->{$z[509]}[-1]eq$lk);if(@{$lh->{$z[509]}}==0){&ln(''); }}sub lm{my$lh=$ab{$z[505]}{$z[508]}||={};my($lo,$lj,$km)=@_; my$lp;if($lo){$lp="$ab{'datadir'}$lo.lock";}else{$lp=$ab{$z[512]}; }if(not exists$lh->{$z[513]}{$lo}){$lh->{$z[513]}{$lo}{$z[107]} =$lp;$lh->{$z[513]}{$lo}{$z[514]}=&lq();sysopen($lh->{$z[513]}{$lo}{$z[514]}, $lh->{$z[513]}{$lo}{$z[107]},O_RDWR|O_CREAT)||&ak($z[512],"error opening $lj file lock $lh->{'lockinfo'}{$lo}{'filename'}: $!\n"); }else{&ak("_lock_flock: already a lock for semaphore '$lo'"); }my$lr;if($lj eq$z[510]){$lr=LOCK_SH;}if($lj eq$z[273]){$lr =LOCK_EX;}if($km>0){$lr|=LOCK_NB;}my$ls=time()+$km;until(flock($lh->{$z[513]}{$lo}{$z[514]}, $lr)){if(time()<$ls){sleep(1);}else{close($lh->{$z[513]}{$lo}{$z[514]}); &ak($z[515]);}}return 1;}sub ln{my$lh=$ab{$z[505]}{$z[508]} ||={};my($lo)=@_;unless(flock($lh->{$z[513]}{$lo}{$z[514]}, LOCK_UN)){&ak($z[512],"error releasing a flock() on file lock $lh->{'lockinfo'}{$lo}{'filename'}: $!\n"); }unless(close($lh->{$z[513]}{$lo}{$z[514]})){&ak($z[512],"error closing file lock $lh->{'lockinfo'}{$lo}{'filename'}: $!\n"); }delete$lh->{$z[513]}{$lo};return 1;}sub ut{my$gd=shift;$gd =~s|\\|/|g;if($gd=~m|^/|){return$gd;}if($gd=~m|^\w:/|){return $gd;}return<($ab{$z[516]}.$z[61].$gd);}sub lt{my$gd=shift; $gd=~s|\\|/|g;1 while$gd=~s|[^/]*/\.\./||;return$gd;}sub ma {my($lu,@bm)=@_;$lu=~s/\s+//g;$lu=uc$lu;my$lv;my$lw=-1;my$lx; foreach$lx(split(/,/,$lu)){$lw++;my$ly=shift@bm;my$lz=$lx=~ s/\[|\]//g;if($lx eq$z[517]){@bm=();last;}next if($lz and not defined$ly);next if($lx eq$z[518]and defined$ly);next if($lx =~/\bVALUE\b/and not ref($ly)and defined($ly));next if(uc(ref $ly)=~/\b$lx\b/);next if($lx=~/\bINT\b/and$ly!~/[^0-9\.\e\-]/i and$ly==int($ly));$lv.=", "if$lv;$lv.="\$_[$lw] must be ";$lv .="either "if$lz;$lv.=$lx;$lv.=" or undefined"if$lz;$lv.=" ARG: $ly."; }if(@bm){$lw++;$lv.=", "if$lv;$lv.="extra argument(s) \@_[" .($lw)." .. ".($lw+$#bm)."]";}return 1unless$lv;my$gh=(caller(1))[3]; $gh=~s/^main:://;&ak("Invalid arguments passed to $gh".": $lv"); }sub bn{&ma($z[519],@_);my($bk,$mb,$bm)=@_;$bm||={};my$mc;foreach $mc($z[48],$z[49]){unless(exists$bm->{$mc}){$bm->{$mc}=$ab{$mc}; }}unless($mb){&ak("resolve_server_markup: file_extension not supplied"); }unless($bm->{$z[48]}){&ak("resolve_server_markup: temp_base_dir argument not supplied"); }unless($bm->{$z[49]}){&ak("resolve_server_markup: temp_base_url argument not supplied"); }unless(-e"$bm->{'temp_base_dir'}"){&ak("resolve_server_markup: temp directory does not exist"); }my$md=$af{$z[520]}||3;if($ENV{$z[521]}>=$md){return("Content-type: text/html\n\n", "[Dynamic SSI Error: SSI recursion limit of $md reached. This page was not parsed for server-side markup.]\n\n" .$bk);}my$me;my($mf,$mg)=("temp_$^T","");my$mh;&fd();while(1) {$me="$mf$mg.$mb";last unless-e"$bm->{'temp_base_dir'}$me"; $mh++;$mg=sprintf($z[522],$mh);}&fe();open(AB,">$bm->{'temp_base_dir'}$me") ||&ak("resolve_server_markup: could not create temp file '$bm->{'temp_base_dir'}$me' : $!"); print AB$bk||&ak("resolve_server_markup: could not write to temp file '$bm->{'temp_base_dir'}$me' : $!"); close(AB)||&ak("resolve_server_markup: could not close temp file '$bm->{'temp_base_dir'}$me' : $!"); my$mi=&mj();if($ac{$z[523]}||$ac{$z[524]}){my$mk=$ac{$z[523]} .":".$ac{$z[524]};$mi->{$z[525]}="Basic ".&ml($mk);}if($bm->{$z[526]}) {$mi->{$z[527]}='';$mi->{$z[528]}.=$z[529]if length$mi->{$z[528]}; $mi->{$z[528]}.=$z[530];}my$mm="$bm->{'temp_base_url'}$me"; my($mn,$mo,$mp)=&mq($mm,$mi);unless($af{$z[531]}{$z[532]}){ unlink("$bm->{'temp_base_dir'}$me");}return($mo,$mp);}sub mj {&ma('',@_);my%bj;my$mr;foreach$mr(keys%ENV){$mr=~/^HTTP_/i ||next;my$ms=$ENV{$mr};my$mt;$mt=$mr;$mt=~s/^HTTP_//;$mt=~s/_/-/g; $mt=~s/(\w+)/ucfirst lc$1/eg;$bj{$mt}=$ms;}my@mu=($z[533],$z[525], $z[528],$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[552],$z[553],$z[554],$z[555],$z[556] );my%mv=map{uc($_)=>1}@mu;my$mt;foreach$mt(keys%bj){if($mv{uc $mt}){delete$bj{$mt};}}$bj{$z[557]}=join($z[558],map{"$_=$ah{$_}" }keys%ah);if(not exists$bj{$z[559]}){$bj{$z[559]}=1;}$bj{$z[559]}++; my$mw;if($ENV{$z[560]}eq($ENV{$z[561]}||$ENV{$z[562]})){$mw =$ENV{$z[563]}||$ENV{$z[564]}||$ENV{$z[560]};}else{$mw=$ENV{$z[560]}; }$bj{$z[565]}=$mw;$bj{$z[566]}=$mw;return\%bj;}sub qb{&ma($z[567], @_);my($mx)=@_;my$mz={};$mz->{$z[568]}=$mx;@{$mz}{$z[569],$z[487], $z[570],$z[571],$z[572],$z[573]}=$mx=~m{^(?:(\w+://)([^/]*))?([^?\#]*?)([^/?\#]*)(?:(\?[^\#]*))?(?:(\#.*))?$}; unless(length$mz->{$z[570]}){$mz->{$z[570]}=$z[61];}return$mz; }sub kn{my($gt)=@_;if($gt=~/^\d+\.\d+\.\d+\.\d+$/){return$gt; }else{$gt.=$z[32]unless$gt=~/\.$/;return$gt;}}1;;sub ni{my($na, $nb)=@_;foreach(@{$na->{$z[176]}}){my($nc,$gh)=@{$_};if(!defined &{$gh}&&!defined&{$ab{$z[574]}{$nc}}){die("The action '$nc' defined as a handler for db '$na->{'name'}' does not have a custom handler or a default handler"); }if((!$nb&&$ag{$na->{$z[45]}.$z[575].$nc})||$nb eq$nc){if(defined &{$gh}){&{$gh}($na);exit;}else{&{$ab{$z[574]}{$nc}}($na);exit; }}}if($nb){die"Unable to execute forced action '$nb' on db '$na->{'name'}'"; }}sub uu{my$na=shift;my$ap=&nd($na);&ne($na,$ap);}sub uv{my $na=shift;my$ap=&nf($na);&ng($na,$ap);&nh($z[576],$ap);exit; }sub uw{my$na=shift;if(!$ac{$z[577]}){&ni($na,$z[177]);}my$ap =&nj($na);&nh($z[577],$ap);exit;}sub ux{my$na=shift;my$ap=&nk($na); &nl($na,$ap);}sub uy{my$na=shift;&dl;my$nm=&nn($na);my$np=&nq($na, $nm);&nr($na,$nm);&ns($na,$nm);&dn;&nt($na,$np);&nu($na);}sub uz{my$na=shift;my($ee,$ef);my$nv={$z[54]=>$af{$z[578]}{$z[54]}, $z[579]=>1,$z[83]=>'',};$nv=&nw($na,$nv);foreach(split(/\s+/,$na->{$z[80]})) {push(@$ef,[$_,$z[277],$nv->{$z[83]}]);}my$aq=sub{my$nx=shift; if(!defined$nx->{$z[580]}&&$nx->{$z[25]}){my$it=&ig(0,0,0,$nx->{$z[26]},$nx->{$z[25]}-1,$nx->{$z[24]}); $nx->{$z[580]}=&cl($ab{$z[97]},$it);}$nx->{$z[581]}=&cl($ab{$z[145]},int($nx->{$z[581]})) if$nx->{$z[581]};$nx->{$z[63]}=&cl($ab{$z[145]},int($nx->{$z[63]})) if$nx->{$z[63]};$ad{$z[582]}=$ad{$z[582]}eq$z[583]?$z[584]: $z[583];return&cq($z[123],$nx);};my$ap=&ny($na,$aq,$nv,$ee, $ef);&nz($ap);}sub nd{my$na=shift;$ad{$z[585]}=$na->{$z[149]}; $ad{$z[586]}=$na->{$z[45]};&am($na->{$z[151]},{});my($ap)={}; if($na->{$z[587]}&&&oa($na)>=$na->{$z[587]}){&nh($z[588],$na); }my($iq,$ho,$hp)=(localtime(&cw($^T)))[3,4,5];$ho++;$hp+=1900; $ap->{"day_$iq".$z[589]}=$z[590];$ap->{"mon_$ho".$z[589]}=$z[590]; $ap->{"year_$hp".$z[589]}=$z[590];foreach(split(/ /,$na->{$z[75]})) {if(/^ufile/&&!$ap->{$_}){$ap->{$_}=$z[591];}}$ap->{$z[581]} =&cl($ab{$z[145]},&cw($^T));$ap->{$z[63]}=&cl($ab{$z[145]},&cw($^T)); $ap->{$z[592]}=$ai{$z[45]}||"unknown user";$ap->{$z[593]}=$ai{$z[45]} ||"unknown user";return$ap;}sub ne{my($na,$ap)=@_;if($ab{$z[134]}{$z[135]}{$z[594]}) {&nh($z[594],$ap);}else{&nh($z[576],$ap);}exit;}sub nf{my$na =shift;$ad{$z[585]}=$na->{$z[149]};$ad{$z[586]}=$na->{$z[45]}; &am($na->{$z[151]},{});my($li)=int$ag{$na->{$z[45]}.$z[595]}; my$ap={};&ob($na,$ap,$li)||&ak($z[596],$li);return$ap;}sub ng{my($na,$ap)=@_;foreach(split(/ /,$na->{$z[75]})){if(/^ufile/ &&!$ap->{$_}){$ap->{$_}=$z[591];}}foreach(keys%{$ap}){$ap->{$_} =&gi($ap->{$_});}foreach(keys%{$ap}){if(!/\W/&&$ap->{$_}!~/\W/) {$ap->{$_.$z[575].$ap->{$_}.$z[597]}=$z[598];$ap->{$_.$z[575].$ap->{$_}.$z[589]} =$z[590];}}$ap->{$z[581]}=&cl($ab{$z[145]},&cw($ap->{$z[581]})) if$ap->{$z[581]};$ap->{$z[63]}=&cl($ab{$z[145]},&cw($ap->{$z[63]})) if$ap->{$z[63]};my%oc;&ob($ae{$z[199]},\%oc,$ap->{$z[592]}) if$ap->{$z[592]};$ap->{$z[592]}=$oc{$z[45]}||"unknown user"; &ob($ae{$z[199]},\%oc,$ap->{$z[593]})if$ap->{$z[593]};$ap->{$z[593]} =$oc{$z[45]}||"unknown user";return$ap;}sub nj{my$na=shift; $ad{$z[585]}=$na->{$z[149]};$ad{$z[586]}=$na->{$z[45]};&am($na->{$z[151]}, {});my($li)=int($ag{$na->{$z[45]}.$z[599]})||int($ag{$z[21]}); my($ap)={};&ob($na,$ap,$li)||&ak($z[596],$li);return$ap;}sub nk{my$na=shift;$ad{$z[585]}=$na->{$z[149]};$ad{$z[586]}=$na->{$z[45]}; &am($na->{$z[151]},{});my($li)=$ag{$z[21]}||$ag{$na->{$z[45]}.$z[599]}; my$ap={};&dl();&ob($na,$ap,$li)||&ak($z[596],$li);&od($na,$li) ||die($z[600].$li);&dn();&oe($ap,$ac{$z[601]});if(defined&{$na->{$z[175]}}) {&{$na->{$z[175]}}($li,$z[177],$ap);}return$ap;}sub nl{my($na, $ap)=@_;if(!$ac{$z[602]}){&ni($na,$z[178]);}&nh($z[603],$ap); exit;}sub nn{my$na=shift;$ad{$z[585]}=$na->{$z[149]};$ad{$z[586]} =$na->{$z[45]};&am($na->{$z[151]},{});my($li)=int($ag{$z[21]}); my$nm={};if($na->{$z[587]}){my($cc)=&oa($na);if($li&&$cc>$na->{$z[587]}) {&nh($z[588],$na);}elsif(!$li&&$cc>=$na->{$z[587]}){&nh($z[588],$na); }}if($li){&ob($na,$nm,$li)||die("ui_save : Can't find record #$li"); }return($nm);}sub nq{my($nx)=$_[0]->{$z[45]}||die($z[604]); my($li)=int($ag{$z[21]});my(%nx)=%{$_[1]||{}};my(%fv,%gp,$fj,%np,%ap); if(!$ac{$z[601]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n"); }if(!-d$ac{$z[601]}){die("ui_save_uploads: Upload directory '$ac{'dir_upload'}' doesn't exist!\n"); }if(!-w$ac{$z[601]}){die("ui_save_uploads: Upload directory isn't writable!\n"); }%fv=&bq($ac{$z[601]});foreach(split(/ |\,/,$ac{$z[605]})){ $gp{$_}++if$_;}foreach$fj(split(/ /,$_[0]->{$z[75]})){if($fj !~/^ufile/){next;}if($ag{$fj}){if($ac{$z[606]}&&length($ag{$fj}) >$ac{$z[607]}*1000){my$of=length($ag{$fj});$np{$z[608]}.=qq|$ag{$fj."_file"} ($of bytes, file too large)
\n|; $ag{$fj}=$nx{$fj};next;}if(!$gp{lc$ag{$fj.$z[320]}}){$np{$z[608]} .=qq|$ag{$fj."_file"} ('$ag{$fj.'_ext'}' files not accepted)
\n|; $ag{$fj}=$nx{$fj};next;}if($nx{$fj}&&$fv{$nx{$fj}}){unlink("$ac{'dir_upload'}/$nx{$fj}"); }my($og);my($oh)=lc$ag{$fj.$z[319]};my($oi)=lc$ag{$fj.$z[320]}; my($oj)=$z[609];$oh=~s/\.[^\.]*$//g;$oh=~s/[^a-z0-9_\-]/_/g; $oi=~s/[^a-z0-9_\-]/_/g;$og="$oh.$oi";if(-e"$ac{'dir_upload'}/$og") {do{$oj=sprintf($z[414],++$oj);$og=$oh."_$oj.$oi";}while(-e "$ac{'dir_upload'}/$og");}open(AB,">$ac{'dir_upload'}/$og") ||die($z[610]."$og $!\n");binmode AB;print AB$ag{$fj};close(AB); if($og=~/\.(gif|jpg|jpeg|png)$/i){my($jt,$ju,$ok)=&ol("$ac{'dir_upload'}/$og"); if(($ac{$z[611]}&&$ju>$ac{$z[611]})||($ac{$z[612]}&&$jt>$ac{$z[612]})) {unlink("$ac{'dir_upload'}/$og");$np{$z[608]}.=qq|$ag{$fj."_file"} (${ju}x$jt, image too big)
\n|; $ag{$fj}=$nx{$fj};next;}}$ag{$fj}=$og;}elsif($ag{$fj.$z[319]}) {if($nx{$fj}&&$fv{$nx{$fj}}){unlink("$ac{'dir_upload'}/$nx{$fj}"); }$nx{$fj}='';}else{$ag{$fj}=$nx{$fj};}}return\%np;}sub nr{my ($na,$nm)=@_;my($li)=int($ag{$z[21]});$ag{$z[581]}=$li?$nm->{$z[581]} :$^T;$ag{$z[592]}=$li?$nm->{$z[592]}:$ai{$z[21]};$ag{$z[613]} =$li?$nm->{$z[613]}:$ai{$z[21]};$ag{$z[63]}=$^T;$ag{$z[593]} =$ai{$z[21]};my$om;foreach$om($na->{$z[75]}=~/\bufile([^ ]*)\b/g) {if($na->{$z[75]}=~/\bimagewidth\Q$om\E\b/){($ag{$z[614].$om}, $ag{$z[615].$om})=&ol($ac{$z[601]}.$ag{$z[616].$om});}}}sub ns{my($na,$nm)=@_;my($li)=int($ag{$z[21]});if($li){&ev($na, \%ag,$li);}else{$ag{$z[21]}=&fb($na,\%ag,$li);}if(defined&{$na->{$z[175]}}) {&{$na->{$z[175]}}($ag{$z[21]},$z[617],$nm);}}sub nt{my($na, $np)=@_;if(keys%{$np}){undef$ac{$z[607]}if!$ac{$z[606]};$np->{$z[21]} =$ag{$z[21]};$np->{$z[618]}=&cq($z[618],\%ac)if$ac{$z[607]}; $np->{$z[619]}=&cq($z[619],\%ac)if$ac{$z[611]};$np->{$z[620]} =&cq($z[620],\%ac)if$ac{$z[612]};$np->{$z[621]}=&cq($z[621], {$z[605]=>$ac{$z[605]}?$ac{$z[605]}:$z[622]});&nh($z[623],$np); exit;}}sub nu{my($na)=@_;if(!$ac{$z[624]}){&ni($na,$z[178]); }&nh($z[625],\%ag);exit;}sub nz{my$ap=shift;&nh($z[178],$ap); exit;}sub nw{my($na,$nv)=@_;$ad{$z[585]}=$na->{$z[149]};$ad{$z[586]} =$na->{$z[45]};if(ref($na)ne$z[235]){die$z[626]."\n";}&am($na->{$z[151]}, {});if($ag{$na->{$z[45]}.$z[627]}){my$on={};while($ah{$na->{$z[45]}.$z[628]} =~/(.*?)\t(.*?)\t/g){$on->{$1}=$2;}$nv->{$z[54]}=$ag{$z[629]} ||$on->{$z[54]};}else{while($ah{$na->{$z[45]}.$z[628]}=~/(.*?)\t(.*?)\t/g) {$nv->{$1}=$2;}foreach(keys%{$nv}){if(defined$ag{$z[575].$_}) {if($_ ne$z[54]&&$_ ne$z[579]){$nv->{$z[579]}=1;}$nv->{$_}= $ag{$z[575].$_};}}}&oo($na->{$z[45]}.$z[628],join("\t",map{ $_,$nv->{$_}}keys%{$nv})."\t");foreach(keys%{$nv}){$ad{$z[575] .$_}=$nv->{$_};$ad{$z[575].$_.$z[575].$nv->{$_}.$z[589]}=$z[590]; $ad{$z[575].$_.$z[575].$nv->{$_}.$z[597]}=$z[598];}return$nv; }sub ny{my($na,$aq,$nv,$ee,$ef)=@_;my%ap;my$jw=sub{$ap{$z[630]} .=&{$aq}(@_);};($ap{$z[631]},$ap{$z[632]},$ap{$z[633]},$ap{$z[634]}, $ap{$z[635]},$ap{$z[636]})=&op($na,$jw,$nv->{$z[579]},$nv->{$z[54]}, $ee,$ef);unless($ap{$z[630]}){if($ab{$z[134]}{$z[135]}{$z[637]} &&scalar grep{$_ ne$z[54]&&$_ ne$z[579]&&$nv->{$_}ne''}keys %{$nv}){$ap{$z[630]}=&cq($z[637],{});}else{$ap{$z[630]}=&cq($z[129], {});}}return\%ap;}sub di{my$na=shift;my($ee,$ef);my$nv={$z[54] =>$af{$z[578]}{$z[54]},$z[579]=>1,$z[83]=>'',};$nv=&nw($na, $nv);foreach(split(/\s+/,$na->{$z[80]})){push(@$ef,[$_,$z[277], $nv->{$z[83]}]);}my$aq=sub{my$nx=shift;$nx->{$z[638]}=$aj[$nx->{$z[639]}]; if(!defined$nx->{$z[580]}&&$nx->{$z[25]}){my$it=&ig(0,0,0,$nx->{$z[26]},$nx->{$z[25]}-1,$nx->{$z[24]}); $nx->{$z[580]}=&cl($ab{$z[97]},$it);}$nx->{$z[581]}=&cl($ab{$z[145]},int($nx->{$z[581]})) if$nx->{$z[581]};$nx->{$z[63]}=&cl($ab{$z[145]},int($nx->{$z[63]})) if$nx->{$z[63]};$ad{$z[582]}=$ad{$z[582]}eq$z[583]?$z[584]: $z[583];return&cq($z[123],$nx);};my$ap=&ny($na,$aq,$nv,$ee, $ef);&nz($ap);}sub va{my$na=shift;&dl();my$nm=&nn($na);my$np =&nq($na,$nm);&nr($na,$nm);my%oq;if(&or($na,\%oq,$z[640],$ag{$z[640]})) {if($oq{$z[21]}!=$nm->{$z[21]}){&dn();&nh($z[641],\%ag);}}if ($ag{$z[21]}==$ai{$z[21]}&&$ag{$z[639]}<9){&dn();&nh($z[642], {});}&ns($na,$nm);my%os;if(&or($ae{$z[204]},\%os,$z[21],$ag{$z[21]})) {&ev($ae{$z[204]},\%ag,$ag{$z[21]});}&dn();&nt($na,$np);&nu($na); }sub vb{my$na=shift;if(!$ac{$z[577]}){&ni($na,$z[177]);}my$ap =&nj($na);if($ap->{$z[21]}==$ai{$z[21]}&&$ag{$z[639]}<9){&nh($z[642], {});}&nh($z[577],$ap);}sub dh{my$na=shift;my$li=$ag{$z[21]} ||$ag{$na->{$z[45]}.$z[599]};if($li==$ai{$z[21]}&&$ag{$z[639]} <9){$ad{$z[585]}=$na->{$z[149]};$ad{$z[586]}=$na->{$z[45]}; &am($na->{$z[151]},{});&nh($z[642],{});}&dl();&ob($ae{$z[199]}, {},$ai{$z[21]})||&ot($z[643],{});my$ap=&nk($na);&od($ae{$z[204]}, $li);&dn();&nl($na,$ap);}sub pm{my$kd=shift;if($ac{$z[644]} eq$z[645]){my%bm=(host=>$ac{$z[646]},helo=>$af{$z[647]}{$z[648]}, timeout=>$af{$z[647]}{$z[649]},pop3_auth=>$ac{$z[650]},pop3_host =>$ac{$z[651]},pop3_user=>$ac{$z[652]},pop3_pass=>$ac{$z[653]}); &ou($kd,\%bm)||die("Error sending message: $ab{'error'}");} elsif($ac{$z[644]}eq$z[654]){if(!-e$ac{$z[655]}){die("sendmail: can't find sendmail program '$ac{'mail_sendmail'}'\n"); }local(*AL);my($ko)=&ke($kd);open(AL,"|$ac{'mail_sendmail'} -f $ko -t") ||die"Can't open $ac{'mail_sendmail'} : $!";print AL$kd;close(AL); }elsif(!$ac{$z[644]}){die("sendmail: no mailer specified in setup options!\n"); }else{die("sendmail: unknown mailer '$ac{'mail_mailer'}' specified!\n"); }}sub vc{my($ge)=$_[0];my($ov)=$ag{$z[656]}||die("browse: you must pass a name/value for the 'fieldname'!\n"); my(%ap,$gf);if($ge ne$z[657]&&$ge ne$z[571]){die("browse: the first argument must be either 'dir' or 'file'!\n"); }if($ag{$z[658]}){&ow($z[659].$z[660].$ab{$z[661]}.$z[662]); }if($ag{$z[663]}){&ow($z[664].$z[660].$ab{$z[661]}.$z[662]); }if($ag{$z[657]}){&ow($z[665].$z[660].$ab{$z[661]}.$z[662]); }if(!-d$ac{$z[666]}){delete$ac{$z[666]};}if($ag{$z[667]}){if (-f$ag{$z[667]}){$ag{$z[667]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d $ag{$z[667]}){$ag{$z[657]}=$ag{$z[667]};}}if($af{$z[668]}){ $ag{$z[657]}=$ac{$z[666]};}&am("_browse_$ge.html",{});my$ox ="/";$ap{$z[656]}=$ag{$z[656]};if($ag{$z[658]}){$ap{$z[669]} =$ag{$z[669]};if(!$ag{$z[669]}){$ad{$z[670]}=$z[671];}elsif ($ag{$z[669]}=~m/[^\w\-]/i){$ad{$z[670]}=$z[672];}elsif(!mkdir("$ag{'cdir'}$ox$ag{'mkdir_name'}",0777)){ $ad{$z[670]}=$z[673].$!;}if($ad{$z[670]}){$ad{$z[670]}=&cq($z[670],\%ad); }}if($ag{$z[663]}){local(*AB);$ap{$z[674]}=$ag{$z[674]};if(!$ag{$z[674]}) {$ad{$z[675]}=$z[676];}elsif($ag{$z[674]}=~m/[^\w\-\.]/i){$ad{$z[675]} =$z[677];}elsif(-e"$ag{'cdir'}$ox$ag{'mkfile_name'}"){$ad{$z[675]} =$z[678];}elsif(!open(AB,">$ag{'cdir'}$ox$ag{'mkfile_name'}")) {$ad{$z[675]}=$z[679].$!;}close(AB);if($ad{$z[675]}){$ad{$z[675]} =&cq($z[675],\%ad);}}$ap{$z[657]}=$ag{$z[657]}||$ac{$z[666]} ||$ab{$z[516]};$ap{$z[657]}=~s/^(.+)(\\|\/)+$/$1/;$ap{$z[680]} =$ap{$z[657]};$ap{$z[680]}=~s!^([a-z]:)!$1/..!i;$ap{$z[681]} =($ap{$z[657]}=~m#^(.*)[\\/]#,$1||$ox);$ap{$z[682]}=&ha($ap{$z[681]}); $ap{$z[178]}.=&cq($z[681],\%ap)if($ap{$z[657]}=~m!.+(\\|/)!); if(!-e$ap{$z[657]}){$ap{$z[493]}=$z[683];}elsif(!-r$ap{$z[657]}) {$ap{$z[493]}=$z[684];}if($ap{$z[493]}){print"Content-type: text/html\n\n" unless($ab{$z[685]}++);$ap{$z[178]}.=&cq($z[493],\%ap);print &am($z[686],\%ap);exit;}opendir(AC,"$ap{'dir2'}");my@gf=sort {lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($bq); foreach$bq(@gf){-d"$ap{'dir'}$ox$bq"||next;$ap{$z[45]}=$bq; $ap{$z[687]}="$ap{'dir'}$ox$bq";$ap{$z[687]}=~s/$ox+/$ox/g; $ap{$z[688]}=&ha($ap{$z[687]});($ap{$z[689]},$ap{$z[690]})= (stat($ap{$z[687]}))[7,9];next if$ap{$z[690]}eq"";$ap{$z[691]} =&cl($ab{$z[145]},$ap{$z[690]});$ap{$z[178]}.=&cq($z[657],\%ap); $gf++;}my($fv);foreach$fv(@gf){-d"$ap{'dir'}$ox$fv"&&next;$ap{$z[45]} =$fv;$ap{$z[687]}="$ap{'dir'}$ox$fv";($ap{$z[689]},$ap{$z[690]}) =(stat($ap{$z[687]}))[7,9];next if$ap{$z[690]}eq"";if($ap{$z[689]}) {$ap{$z[689]}=(int($ap{$z[689]}/1000)||1)."KB";}else{$ap{$z[689]} ="0KB";}$ap{$z[691]}=&cl($ab{$z[145]},$ap{$z[690]});$ap{$z[687]} =~s/'/\\'/g;$ap{$z[687]}=~s/\\/\\\\/g;if(-f"$ap{'dir'}$ox$fv") {$ap{$z[178]}.=&cq($z[571],\%ap);}else{$ap{$z[178]}.=&cq($z[692],\%ap); }$gf++;}if(!$gf){$ap{$z[178]}.=&cq($z[693],{});}print"Content-type: text/html\n\n" unless($ab{$z[685]}++);print&am("_browse_$ge.html",\%ap);exit; }sub vd{my($ks,$kv);if($ENV{$z[313]}=~/^[\w\-]+\.gif$/){$ks =$z[694]."\n\n";}elsif($ENV{$z[313]}=~/^[\w\-]+\.jpg$/){$ks =$z[695]."\n\n";}else{return;}$kv=&am($ENV{$z[313]},{},$z[329]); if($kv){binmode(STDOUT);print$ks ;print$kv ;exit;}}sub cw{my $it=$_[0]||die("time_adj: first argument must be time()\n"); if($ac{$z[696]}eq$z[594]){$it+=$ac{$z[697]}*60*60;}if($ac{$z[696]} eq$z[698]){$it-=$ac{$z[697]}*60*60;}if($ac{$z[699]}eq$z[594]) {$it+=$ac{$z[700]}*60;}if($ac{$z[699]}eq$z[698]){$it-=$ac{$z[700]}*60; }return$it;}sub ve{my($aq,$oy,$oz,$pa,%os);my(%ap,%pb);if(!$ag{$z[701]} &&!$ah{$z[640]}){&ot(undef,\%ap);}if($ag{$z[701]}){($oy,$oz) =(lc$ag{$z[640]},lc$ag{$z[702]});if(!$oy&&!$oz){&ot($z[643], \%ap);}if(!$oy||!$oz){&ot($z[643],\%ap);}$aq=sub{if(lc$pb{$z[640]} eq$oy&&lc$pb{$z[702]}eq$oz){$pa=$pb{$z[21]};}};&bi($ae{$z[199]}, $aq,\%pb);if(!$pa){&ot($z[643],\%ap);}&ob($ae{$z[199]},\%pb, $pa);$pb{$z[581]}=$^T;$pb{$z[63]}=$^T;&ev($ae{$z[204]},\%pb, $pa);}else{($oy,$oz)=(lc$ah{$z[640]},lc$ah{$z[702]});if(!$oy ||!$oz){&ot($z[703],\%ap);}$aq=sub{if(($af{$z[704]}&&$pb{$z[63]} <$^T-60*$af{$z[704]})||$pb{$z[63]}<$^T-60*60*24){&od($ae{$z[204]}, $pb{$z[21]});}elsif(lc$pb{$z[640]}eq$oy&&lc$pb{$z[702]}eq$oz) {$pa=$pb{$z[21]};}};&bi($ae{$z[204]},$aq,\%pb);if(!$pa){&ot($z[703], \%ap);}&ob($ae{$z[204]},\%pb,$pa);$pb{$z[63]}=$^T;&ev($ae{$z[204]}, \%pb,$pa);}&oo($z[640],$oy);&oo($z[702],$oz);return%pb;}sub ot{if(!$ab{$z[685]}++){print$z [705]."\n\n";}my($ft)=$_[0]; my(%ap)=%{$_[1]||{}};&am($z[706],{});foreach(keys%ap){$ap{$_} =&gi($ap{$_});}if($ft&&!$ab{$z[134]}{$z[135]}{$ft}){die($z[707]."'$ft' isn't defined!\n"); }if($ft){$ap{$z[608]}=&cq($ft,\%ap);}print&cq($z[708],{});if ($ft){print&cq($z[709],\%ap);}else{print&cq($z[701],\%ap);} print&cq($z[710],{});if($ab{$z[492]}){print"

";print"

$ab{'debug_output'}
" if($ab{$z[309]});}&pc();exit;}sub vf{&am($z[706],{});&oo($z[640],''); &oo($z[702],'');$ac{$z[711]}=~s/^\s+|\s+$//g;if($ac{$z[711]} &&$ENV{$z[313]}=~/logoff/i){print"Content-type: text/html\n\n"; print qq|\n|;print$z [712].$ac{$z[711]} .qq|">\n|;print qq|\n|;print qq|\n|; print qq|\n|;exit;}&ot();}sub pq{&am($ae{$z[206]}->{$z[151]}, {});&ob($ae{$z[206]},\%ac,1);foreach(keys%ac){if(!/\W/&&$ac{$_} !~/\W/){$ac{$_."_$ac{$_}".$z[597]}=$z[598];$ac{$_."_$ac{$_}".$z[589]} =$z[590];}}$ac{$z[713]}=&cl($ab{$z[145]},$^T);$ac{$z[697]}||= 0;$ac{$z[700]}||=0;$ac{$z[714]}=&cl($ab{$z[145]},&cw($^T)); foreach(keys%ENV){$ac{"env_".lc($_)}=$ENV{$_};}$ac{$z[715]} =$^O;$ac{$z[716]}=$];$ac{$z[717]}||="not available";$ac{$z[718]} ||=$ac{$z[719]};$ac{$z[720]}=$ab{$z[516]};foreach(grep/^env_/, keys%ac){$ac{$_}=~s/(\W)(\w)/$1$2/g;}foreach(keys%ac){ $ac{$_.$z[337]}=&ha($ac{$_})if/^dir/;$ac{$_}=~s/"/"/g; }if($^O!~/win32/i&&!$ac{$z[655]}&&defined$ab{$z[134]}{$z[135]}{$z[721]}) {foreach($z[722],$z[723],$z[724],$z[725],$z[726],$z[727],$z[728]) {if(-e$_){$ad{$z[729]}.=&cq($z[721],{$z[687]=>$_});}}}my$pd =$z[730];$pd=$z[731]if($ac{$z[731]});foreach(1..10){$pd="tab$_" if($ag{"setup_tab$_"}&&defined$ab{$z[134]}{$z[135]}{"tab$_"}); }&nh($pd,\%ac);exit;}sub vg{$ab{$z[732]}=$z[3];my(%ap,$pe); if($ag{$z[733]}){&am($z[734],{});$ap{$z[735]}=&cq($z[736],\%ap); $ap{$z[737]}=$z[738];my@pf=qw(mail_smtp mail_sender_email mail_sender_name mail_mailer mail_sendmail mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass); @ap{@pf}=@ag{@pf};print"Content-Type: text/html\n\n";print&am($z[734], \%ap);exit;}if(length($ag{$z[739]})){&pg($z[740],$z[741])unless &ph($ag{$z[739]});}else{&pg($z[742],$z[743]);}my$pi;open(AJ, "<$ab{'templatedir1'}/email/email_test.txt")||&pg($z[744],"Unable to open test email template."); read(AJ,$pi,-s AJ);close(AJ);my($pj,$pk);if($pi=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si) {$pj=$1;$pk=$3;}else{&pg($z[745],"email_test.txt is improperly formatted. Should have subject: and body:"); }if($ag{$z[644]}eq$z[654]){@ac{qw(mail_mailer mail_sendmail)} =@ag{qw(mail_mailer mail_sendmail)};}else{@ac{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)} =@ag{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)}; }my$pl=qq|From: "$ag{'mail_sender_name'}" <$ag{'mail_sender_email'}>\nTo: "$ag{'mailto'}" <$ag{'mailto'}>\nSubject: $pj\nContent-Type: text/plain\n| ;$@=();eval{&pm("$pl\n$pk")};if($@){&pg($z[746],join($z[747], $@));}else{&pg($z[748]);}}sub pg{my($ge,$jw)=@_;my%ap;my%pn =($z[742]=>[$z[749],$z[750],$z[751]],$z[740]=>[$z[749],$z[750], $z[752]],$z[744]=>[$z[753],$z[750],$z[754]],$z[745]=>[$z[753], $z[750],$z[755]],$z[746]=>[$z[753],$z[750],$z[756]],$z[748] =>[$z[753],$z[757],$z[758]]);&am($z[734],{});$ap{$z[608]}=$jw; if($pn{$ge}[0]eq$z[749]){$ap{$z[759]}=&cq($z[759],{});}$ap{$z[735]} =&cq($pn{$ge}[1],\%ap);$ap{$z[737]}=$pn{$ge}[2];print"Content-Type: text/html\n\n"; print&am($z[734],\%ap);exit;}sub vh{&po($z[760].$z[660].$ab{$z[661]}.$z[761]); &am($ae{$z[206]}->{$z[151]},{});&pp;if(!$ac{$z[624]}){&pq;} my$pd=$z[762];foreach(1..10){$pd="saved_tab$_"if($ag{"setup_tab$_"} &&defined$ab{$z[134]}{$z[135]}{"saved_tab$_"});}&nh($pd,{}); exit;}sub pp{my($np);if(exists$ag{$z[763]}){my$pr;&bi($ae{$z[19]}, sub{my$bz=shift;if($bz->{$z[764]}>$pr){$pr=$bz->{$z[764]};} });if($ag{$z[763]}<$pr){&ak("You can't set subcategory depth allowed to lower than the depth of existing subcategories. Existing subcategories are $pr levels deep."); }local$SIG{__DIE__};eval{&am("category_list.html",{});};if($@) {&ak("Can't find /templates/category_list.html. This file is required!"); }for(1..$ag{$z[763]}){my$ps="row_depth$_";eval{&cq($ps,{}); };if($@){&ak("Error: Setup Options weren't saved","Can't find templatecell '$ps' in /templates/category_list.html. You must have a 'row_depth#' and 'row_selected_depth#' templatecell for each depth from 1 to the max value set in the 'subcategory depth' fields."); }}}if(defined$ag{$z[765]}){$ag{$z[765]}=~s/\s+//g;if(defined &pt){if(!&pt($ag{$z[765]})){$np=$z[766];}if(!$ag{$z[765]}){ $np=$z[767];}}if(!$ag{$z[768]}){$np=$z[769];}if(!$ag{$z[770]}) {$np=$z[771];}if($np){$ad{$z[493]}=$np;$ad{$z[772]}=$ag{$z[770]}; $ad{$z[773]}=$ag{$z[768]};$ad{$z[774]}=$ag{$z[765]};&nh($z[775],\%ad) }$ac{$z[770]}=$ag{$z[770]};$ac{$z[768]}=$ag{$z[768]};$ad{$z[776]} =int sprintf($z[777],&pt($ag{$z[765]}));$ab{$z[778]}=&pu(); if(defined&pv&&$ac{$z[765]}ne$ag{$z[765]}){&pv;}}foreach(qw(uploadmax lhour_offset lmin_offset)) {if(exists$ag{$_}){$ag{$_}=int($ag{$_});}}foreach(qw(upload_height upload_width)) {if(exists$ag{$_}){$ag{$_}&&=int($ag{$_});}}foreach(grep{/_default_to$/i }keys%ag){my($pw,$fm)=/^((.*)_default_to)$/;if($ag{$pw}=~/^null$/i) {$ag{$pw}='';}$ag{$fm}||=$ag{$pw};}foreach(qw(publish_index publish_basename publish_fileext)) {$ag{$_}=~s/^\.+//;$ag{$_}=~s/\.+$//;}foreach(keys%ag){if((/^dir_/ ||/^url_/)&¬/^url_logoff$/){if(!$ag{$_}){next;}$ag{$_}=~ tr|\\|/|;if(/^url_/&&index($ag{$_},$z[133])>=0){next;}if(/^url_/ &&index($ag{$_},$z[779])>=0){next;}if(substr($ag{$_},-1,1)ne $z[61]){$ag{$_}.=$z[61];}}}my$px=$ac{$z[780]};my$py=$ac{$z[781]}; &ob($ae{$z[206]},\%ac,1);foreach(sort keys%ac){$ac{$_}=$ag{$_} if defined$ag{$_};}if($ac{$z[46]}){my$pz=$ac{$z[12]};my$qa= &qb($pz);if(not$qa->{$z[569]}or not$qa->{$z[487]}){&ak("Dynamic parsing of SSI tags requires an absolute Publish URL (must start with http://www.website.com/). Setup Options were not saved."); }}&ev($ae{$z[206]},\%ac,1);$ad{$z[782]}=$ac{$z[783]};foreach (keys%ac){$ad{$z[575].$_}=$ac{$_}if/^ui_/;}$ad{$z[772]}=$ac{$z[770]}; $ad{$z[773]}=$ac{$z[768]};$ad{$z[774]}=$ac{$z[765]};$ad{$z[784]} =$ac{$z[785]};$ad{$z[786]}=$ac{$z[710]};$ad{$z[787]}=$ac{$z[788]}; foreach(grep/^dir_/,keys%ac){$ac{$_}="$ab{'cgidir'}/$ac{$_}" if index($ac{$_},$z[32])==0;$ac{$_}=~tr|\\|/|;1 while$ac{$_} =~s|/[^/]+/\.\.||;}if(($px ne$ac{$z[780]}||$py ne$ac{$z[781]}) &&($ac{$z[780]}||$ac{$z[781]})){&qc($ae{$z[15]},sub{my$cd=shift; if($ac{$z[780]}&&$cd->{$z[87]}){$cd->{$z[76]}=~s/\n/
/g; undef$cd->{$z[87]};}if($ac{$z[781]}&&$cd->{$z[89]}){$cd->{$z[77]} =~s/\n/
/g;undef$cd->{$z[89]};}});}&an();}sub vi{&pp; foreach(keys%ae){my$qd=$ae{$_}{$z[175]};if(defined&{$qd}){&{$qd}(); }}&nh($z[789],{});}sub nh{my($gy)=$_[0];my($ap)=$_[1];unless ($gy){die($z[790]."\n");}if(ref($_[1])ne$z[235]){die$z[791]."\n"; }my(%ap);if(!$ab{$z[685]}++){print$z [705]."\n\n";}&am($z[706], {});unless(length$ac{$z[788]}){$ad{$z[792]}=&cq($z[792],{}); }print&cq($z[708],{});for(1..9){if($ai{$z[639]}>=$_&&$ab{$z[134]}{$z[135]}{$z[793].$_}) {$ap{$z[794]}.=&cq($z[793].$_,{});}if($ai{$z[639]}==$_&&$ab{$z[134]}{$z[135]}{$z[793].$_.$z[795]}) {$ap{$z[794]}.=&cq($z[793].$_.$z[795],{});}}$ad{$z[796]}="$ai{'name'} ($aj[$ai{'acl'}])"; $ap{$z[77]}=&cq($gy,$ap);print&cq($z[797],\%ap);print&cq($z[710], {});if($ab{$z[492]}>=2){print"

Stack Trace
"; my$dw=0;while(my($fv,$ew,$gh)=(caller($dw++))[1,2,3]){print qq!

($gh) called from ($fv) line ($ew)
\n!;}}if($ab{$z[492]}) {print"

";print"

$ab{'debug_output'}
"if($ab{$z[309]}); }&pc();exit;}sub pc{print$z [798]."\n";print$ad {$z[784]}.$z[799] .$ab{$z[0]}.$z[800].$ab{$z[801]}.$z[32].$ab{$z[2]}.")\n";print$z [802].$ad{$z[776]}.$z[803].$ad{$z[772]}.$z[803].$ad{$z[773]} ."\n";printf($z[804]."\n",time()-$^T);print$z [805]."\n";}sub vj{my(@gf)=map"$ab{'datadir'}$ae{$_}{'datafile'}",keys%ae;my(@qe) =($ab{$z[806]});my($bq,$fv,$qf);foreach$bq(sort@qe){if($bq eq""){next;}if(!-d$bq||!-w$bq){$qf.="$bq\n";}}foreach$fv(sort @gf){$fv=~s/\\/\//g;1 while$fv=~s!/[^/]+/\.\./!/!;if(-f$fv&& !-w$fv){$qf.="$fv\n";}}if($qf){&ak($z[807],$qf);}}sub po{return unless$af{$z[668]};my$kd=shift;&ot($z[808],{$z[608]=>$kd}); }sub ow{return unless$af{$z[668]};my$kd=shift;$kd=&ha($kd); print"Content-type: text/html\n\n";print qq|\n| ;exit;}sub vk{&am($ae{$z[206]}{$z[151]},{});my%qg;my$qh;foreach $qh(keys%{$ab{$z[809]}}){my%ap=($z[810]=>$qh,$z[811]=>$ab{$z[809]}{$qh} );$qg{$qh}[0]=&cq($z[812],\%ap);$qg{$qh}[1]=&cq($z[813],\%ap); }foreach$qh(keys%{$ab{$z[809]}}){my$qi=join'',map{$qg{$_}[$qh ==$_?1:0]}sort keys%{$ab{$z[809]}};$ad{$z[814].$qh}=&cq($z[815], {$z[816]=>$qi});}}1;;sub vl{my$qj=shift||die("ip2num : no ip or host specified!\n"); my($a,$b,$qk,$ql,$li);if($qj=~/[^0-9\.]/){my$kq=gethostbyname("$qj.") ||die("ip2num: Can't find IP for host '$qj'!\n");($a,$b,$qk,$ql) =unpack($z[817],$kq);}else{($a,$b,$qk,$ql)=split(/\./,$qj); }$li+=$ql*(256**0);$li+=$qk*(256**1);$li+=$b*(256**2);$li+= $a*(256**3);return$li;}sub vm{my$li=shift||die("num2ip : no number specified!\n"); my($a,$b,$qk,$ql);$a=($li/256**3)% 256;$b=($li/256**2)% 256; $qk=($li/256**1)% 256;$ql=($li/256**0)% 256;return join$z[32], $a,$b,$qk,$ql;}sub vn{my$it=shift||time();$it-=(localtime($it))[6] * 60*60*24;$it-=(localtime($it))[2]* 60*60;$it-=(localtime($it))[1] * 60;$it-=(localtime($it))[0]* 1;return$it;}sub vo{my$it=shift ||time();$it-=(localtime($it))[2]* 60*60;$it-=(localtime($it))[1] * 60;$it-=(localtime($it))[0]* 1;return$it;}sub vp{my$hk=int shift;my$hl=int($hk/60);my$hm=int($hl/60);$hl%=60;$hk%=60;return sprintf("%01d:%02d:%02d",$hm,$hl,$hk);}sub vq{my$li=reverse int shift;$li=~s/(...)\B/$1,/g;return reverse$li;}sub cu{my $li=shift;if($li==int($li)){return$li;}elsif($li<0){return int$li;}else{return int($li)+1;}}sub vr{my$li=shift;if($li== int($li)){return$li;}elsif($li<0){return int($li)-1;}else{return int$li;}}sub cv{return(sort{$a<=>$b}@_)[0];}sub vs{return(sort {$a<=>$b}@_)[-1];}1;;sub bl{local(*AB);my($fv,%fy,$bk,$gy); %fy=%{$_[1]}if$_[1];my$qm=$_[3];my$qn=$_[5];my%gz;%gz=($z[327] =>0,$z[328]=>0,$z[329]=>0,$z[330]=>0,$z[50]=>0,$z[818]=>0); foreach(split(/ /,$_[2])){if(undef$gz{$_}){die($z[331]."'$_'\n"); }$gz{$_}=1;}unless($gz{$z[327]}){$gz{$z[328]}=1;}if(!$_[0]) {die$z[332]."\n";}if(ref($_[1])ne$z[235]){die$z[819]."\n";} if(!$gz{$z[328]}||!$ab{$z[134]}{$z[328]}{$_[0]}){if(-e"$_[0]") {$fv=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if (-e"$ab{$_}/$_[0]"){$fv="$ab{$_}/$_[0]";last;}}if(!$fv){die $z[334]."'$_[0]'".$z[335]."\n";}}}if($gz{$z[328]}&&$ab{$z[134]}{$z[328]}{$_[0]}) {$bk=$ab{$z[134]}{$z[328]}{$_[0]};}else{open(AB,"<$fv")||die $z[336]."$fv! $!\n";binmode(AB)if($fv=~/gif$/i||$fv=~/jpg$/i); read(AB,$bk,-s AB);close(AB);}if($gz{$z[329]}){return$bk;}if (!$gz{$z[328]}||!$ab{$z[134]}{$z[328]}{$_[0]}){foreach$gy($bk =~m//g){$ab{$z[134]}{$z[135]}{"$qm$1"}=$2 if($bk=~m/(?:\r\n|\n)?(.*?)/is); }$bk=~s/(?:\r\n|\n)?(.*?)//gis; if($gz{$z[328]}){$ab{$z[134]}{$z[328]}{$_[0]}=$bk;}}if($gz{$z[50]}) {while($bk=~//i){my$qo=$1; my$qp=$qo;$qp=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$fy{$1}/eg; unless($qp){$bk=~s///;next; }if($qp=~m!^/!){;}else{if($_[4]){$qp="$_[4]$qp";}else{$qp=($fv =~m!(.*/)!)[0].$qp;}}my$qs;if(not$ab{$z[134]}{$z[820]}{$qp}++) {my$qt;if(-e"$qp"){$qt++;}else{foreach(grep/^templatedir/,sort keys%ab){if(-e"$ab{$_}/$qp"){$qt++;last;}}}if($qt){$qs=&bl($qp, $_[1],"$_[2] inside_ssi",$z[821],$_[4]);}else{$qs="[ Program Error - Could not include file \"$qp\" via template include ]"; }}else{$qs="[ Program Error - Cyclic Include - The file '$qp' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]"; }$bk=~s//$qs/;delete$ab{$z[134]}{$z[820]}{$qp}; }}else{$bk=~s///gi;}$bk=~s//$1/gi; $bk=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$fl=defined$ad{$1} ?$ad{$1}:$fy{$1};if($2 eq$z[337]){$fl=&ha($fl);}if($2 eq$z[338]) {$fl=&hb($fl);}if($2 eq$z[339]){$fl=&hb($fl);$fl=~s/ / /g; }if($2 eq$z[340]){$fl=&hc($fl);}$fl;]ge;return$bk;}sub mq{use Socket;my$AH="\015\012";my($mx,$qu,$qv)=@_;$mx=~s|\w+://||g; my($gt,$kk,$fv)=$mx=~m|^(.*?)(?::(\d+))?([/?].*)?$|;$fv||=$z[61]; $qu->{$z[544]}=$gt;$qu->{$z[534]}=$z[822];$gt=&kn($gt);unless (grep/^User-Agent$/i,keys%{$qu}){$qu->{$z[823]}="Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"; }my($qy,$qz,$ra);if($qv){if($fv=~s/\?(.*)//){$qy=$1;}unless (grep/^Content-Type$/i,keys%{$qu}){$qu->{$z[541]}=$z[824];} unless(grep/^Content-Length$/i,keys%{$qu}){$qu->{$z[537]}=length $qy;}$ra=$z[317];}else{$ra=$z[321];}my($rb,@rc);foreach$rb(split(/,\s*/, $af{$z[330]}{$z[825]})){@rc=grep/^$rb$/i,keys%{$qu};for(@rc) {delete$qu->{$_};}}my$rd;$rd.=$ra.$z[747].$fv.$z[826].$AH;foreach (keys%{$qu}){$rd.=$_.$z[827].$qu->{$_}.$AH;}$rd.=$AH;$rd.=$qy .$AH.$AH if$qv;my$re=&lq();my$kq=gethostbyname($gt)||die"Unknown host: $!"; socket($re,AF_INET,SOCK_STREAM,0)||die"No Socket: $!";connect($re,pack "SnA4x8",AF_INET,$kk||80,$kq)||die"Can't connect : $!";select((select($re),$|++)[0]); print$re $rd;my$rf;while(<$re>){$rf.=$_;}close($re);my($rg, $mo,$rh)=$rf=~/^(.*?(?:\r\n|\n))(.*?(?:\r\n|\n)(?:\r\n|\n))?(.*)$/s; if(wantarray){return($rg,$mo,$rh);}else{return$rh;}}sub cn{ my($is,$cd,$qm)=@_;$is=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi; $is=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[568]) {$cd->{$z[120].$1}}else{my%ri;$ri{$z[828]}=$2||$af{$z[829]}{$z[830]} ||$z[831];$ri{$z[832]}=$cd->{$z[120].$1};$ri{$z[833]}=$cd->{$z[121] .$1};$ri{$z[834]}=$cd->{$z[66].$1};$ri{$z[835]}=$cd->{$z[67] .$1};&cq($qm.($ri{$z[833]}ne''?$z[833]:$z[836]),\%ri);}]eigo; return$is;}sub vt{my($ap,$cd,$qm,$rj,$rk,@rl)=@_;$ap->{$z[86]} =&cn($rj,$cd,$qm);$ap->{$z[88]}=&cn($rk,$cd,$qm);my$dw;for$dw (1..$ab{$z[4]}){$ap->{$z[122].$dw}=&cn($rl[$dw-1],$cd,$qm); }}sub vu{my($ap,$rj,$rk,@rl)=@_;($ap->{$z[86]}=$rj)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; ($ap->{$z[88]}=$rk)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; my$dw;for$dw(1..$ab{$z[4]}){($ap->{$z[122].$dw}=$rl[$dw-1]) =~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub vv{my$bk=shift; my$it=$ad{$z[147]}||&cl($ab{$z[145]},$ac{$z[147]}||$^T);my$rm =$z[837].$ab{$z[661]}.$z[44];$$bk=$z[838].$it.$z[839]."\n\n" .$$bk;unless($$bk=~s/(]+>)/$rm\n$1/is){$$bk=~s/(]*>)/$1\n$rm\n/i; }}sub ig{my$jw;eval{local$SIG{$z[840]}=undef;local$SIG{$z[841]} =undef;$jw=timelocal(@_);};if($@){$jw=0;}return$jw;}sub ie{ my$jw;eval{local$SIG{$z[840]}=undef;local$SIG{$z[841]}=undef; $jw=timegm(@_);};if($@){$jw=0;}return$jw;}sub vw{if(!$ac{$z[842]} ||(scalar(@{$ab{$z[843]}})<1)){return;}my$cd=shift;my%rn=%{$cd}; my($ro,$rp,$rq,$rr)=(1..4);if($ab{$z[492]}){if(scalar(@{$ab{$z[843]}}) >1){my%rs=map{$_,1}("$ro,$rp","$rp,$rq","$rp,$rr");my$rt=join($z[844], sort{$a<=>$b}@{$ab{$z[843]}});unless(exists$rs{$rt}){&ak("Invalid notification events combination: $rt"); }}}my%ru;@ru{$z[581],$z[691]}=(split(/\s*,\s*/,$af{$z[845]}{$z[846]})); $ru{$z[581]}||=$z[581];$ru{$z[691]}||=$z[691];my@rv=($z[847], split(/\s*,\s*/,$af{$z[845]}{$z[848]}));$rv[1]||=$z[849];$rv[2] ||=$z[850];$rv[3]||=$z[64];$rv[4]||=$z[603];my%bz;&ob($ae{$z[19]}, \%bz,$rn{$z[19]});my$rw=$bz{$z[68]}?$bz{$z[12]}:$ac{$z[12]}; my(@ck,$ca);$rn{$z[851]}=$ai{$z[45]};$rn{$z[852]}=(grep/^$ro$/, @{$ab{$z[843]}})?$ru{$z[581]}:$ru{$z[691]};$rn{$z[79]}=(grep /^$rr$/,@{$ab{$z[843]}})?$rv[4]:$rv[$cd->{$z[79]}];foreach(keys %rn){$rn{$z[85].$_}=$rn{$_};}foreach(1..$ab{$z[4]}){$rn{$z[122] .$_}=$rn{$z[90].$_};}$rn{$z[853]}=$ac{$z[854]};$rn{$z[12]}= $rw;$rn{$z[73]}=$rw.$ac{$z[855]}.$z[32].$ac{$z[33]};$rn{$z[38]} =$ac{$z[31]}.$z[32].$ac{$z[33]};$rn{$z[39]}=$ac{$z[856]}.$z[32] .$ac{$z[33]};$rn{$z[30]}=$ac{$z[31]}.$rn{$z[857]}.$z[32].$ac{$z[33]}; ;$rn{$z[34]}=$ac{$z[35]}.$rn{$z[857]}.$z[32].$ac{$z[33]};$rn{$z[858]} =$ac{$z[859]}.$z[32].$ac{$z[33]};$rn{$z[860]}=$ac{$z[861]}. $z[32].$ac{$z[33]};$rn{$z[105]}=$rw.($ac{$z[106]}&&$rn{$z[107]} ?$ac{$z[108]}.$rn{$z[107]}:$ac{$z[108]}.$rn{$z[21]}).$z[32] .$ac{$z[33]};$rn{$z[147]}=&cl($ab{$z[145]},&cw($ac{$z[147]})) if($ac{$z[147]});@ck=($rn{$z[24]},$rn{$z[25]}-1,$rn{$z[26]}, $rn{$z[92]}+($rn{$z[93]}eq$z[94]?12:0),$rn{$z[95]});$rn{$z[96]} =&cl($ab{$z[97]},@ck);$rn{$z[98]}=&cl($ab{$z[99]},@ck);$rn{$z[100]} =$bz{$z[45]};$rn{$z[101]}=&rx($bz{$z[21]});$ca=$bz{$z[70]}? $bz{$z[71]}:$ac{$z[72]}.$rn{$z[857]};$rn{$z[109]}=$ac{$z[12]} .$ca.$z[32].$ac{$z[33]};$rn{$z[22]}=$rn{$z[857]};$rn{$z[146]} =$ac{$z[146]};if($cd->{$z[79]}==2){if($cd->{$z[117]}==1){$rn{$z[862]} =$rn{$z[110]}=$rw.($ac{$z[106]}&&$rn{$z[863]}?$rn{$z[107]}: $ac{$z[111]}.$rn{$z[114]}).$z[32].$ac{$z[33]};}else{$rn{$z[862]} =$rn{$z[110]}=$rn{$z[109]}.$z[779].$cd->{$z[21]};}}else{$rn{$z[862]} =$rn{$z[110]}=$rn{$z[109]};}$rn{$z[864]}=$ac{$z[864]};$rn{$z[865]} =$ac{$z[865]}||$ac{$z[864]};my$pi;local(*AJ);open(AJ,"<$ab{'templatedir1'}/email/notify.txt") ||&ak("Unable to open email template");read(AJ,$pi,-s AJ);close(AJ); my($pj,$pk);if($pi=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si) {$pj=$1;$ab{$z[134]}{$z[328]}{$z[866]}=$3;$pj=~s/\$(.*?)\$/$rn{$1}/g; $pk=&am($z[866],\%rn,$z[328]);}else{&ak($z[867]);}my$ry=$cd->{$z[19]}; my$rz=$z[868];my@sa;my$aq=sub{my$sb=shift;if($sb->{$z[869]} ||$sb->{$z[870]}=~/(^|,)$ry(,|$)/){if($sb->{$z[639]}==1){return; }if(!$sb->{$z[845]}||!&ph($sb->{$z[845]})){return;}$sb->{$z[45]} ||=$sb->{$z[845]};my$sc;foreach$sc(split(/,/,$sb->{$z[871]})) {if(grep/^$sc$/,@{$ab{$z[843]}}){push(@sa,qq|"$sb->{'name'}" <$sb->{'email'}>|); last;}}}};&bi($ae{$z[199]},$aq);if(scalar(@sa)){my$sd;if(length($af{$z[845]}{$z[872]})) {$sd=qq|To: $af{'email'}{'notifications_to_field'}\n|;}my$se =$af{$z[845]}{$z[873]}||";";$se.=" ";my$sf=join($se,@sa);$sd .=qq|Bcc: $sf|;my$pl=qq|From: "$rn{'mail_sender_name'}" <$rn{'mail_sender_email'}>\n$sd\nSubject: $pj\n$rz\n| ;&pm("$pl\n$pk");}}sub vx{my$na=shift;if($na->{$z[45]}eq$z[15]) {my$sg=(caller)[2];die("Don't call custom_ui_erase to erase an article! Use art_erase instead. Line number of caller: $sg."); }my$ay;if($ag{$z[874]}){$ay=$ag{$z[21]};}elsif($ag{$z[875]}) {$ay=$ag{$z[875]};}my%bz;&ob($ae{$z[19]},\%bz,$ay);my$sh=$bz{$z[68]} ?$bz{$z[601]}:$ac{$z[601]};my$ap=&si($na,$sh);&nl($na,$ap); }sub si{my$na=shift;my$sh=shift;$sh||=$ac{$z[601]};$ad{$z[585]} =$na->{$z[149]};$ad{$z[586]}=$na->{$z[45]};&am($na->{$z[151]}, {});my($li)=$ag{$z[21]}||$ag{$na->{$z[45]}.$z[599]};my$ap={}; &dl();&ob($na,$ap,$li)||&ak($z[596],$li);&od($na,$li)||die($z[600].$li); &dn();&oe($ap,$sh);if(defined&{$na->{$z[175]}}){&{$na->{$z[175]}}($li, $z[177],$ap);}return$ap;}sub vy{my($nx)=$_[0]->{$z[45]}||die($z[604]); my($li)=int($ag{$z[21]});my(%nx)=%{$_[1]||{}};my$sh=$_[2]|| $ac{$z[601]};my(%fv,%gp,$fj,%np,%ap);if(!$sh){die("custom_ui_save_uploads: No upload directory has been defined in setup options or provided by caller!\n"); }if(!-d$sh){die("custom_ui_save_uploads: Upload directory '$sh' doesn't exist!\n"); }if(!-w$sh){die("custom_ui_save_uploads: Upload directory isn't writable!\n"); }%fv=&bq($sh);foreach(split(/ |\,/,$ac{$z[605]})){$gp{$_}++ if$_;}foreach$fj(split(/ /,$_[0]->{$z[75]})){if($fj!~/^ufile/) {next;}if($ag{$fj}){if($ac{$z[606]}&&length($ag{$fj})>$ac{$z[607]}*1000) {my$of=length($ag{$fj});$np{$z[608]}.=qq|$ag{$fj."_file"} ($of bytes, file too large)
\n|; $ag{$fj}=$nx{$fj};next;}if(!$gp{lc$ag{$fj.$z[320]}}){$np{$z[608]} .=qq|$ag{$fj."_file"} ('$ag{$fj.'_ext'}' files not accepted)
\n|; $ag{$fj}=$nx{$fj};next;}if($nx{$fj}&&$fv{$nx{$fj}}){unlink("$sh$nx{$fj}"); }my($og);my($oh)=lc$ag{$fj.$z[319]};my($oi)=lc$ag{$fj.$z[320]}; my($oj)=$z[609];$oh=~s/\.[^\.]*$//g;$oh=~s/[^a-z0-9_\-]/_/g; $oi=~s/[^a-z0-9_\-]/_/g;$og="$oh.$oi";if(-e"$sh$og"){do{$oj =sprintf($z[414],++$oj);$og=$oh."_$oj.$oi";}while(-e"$sh$og"); }open(AB,">$sh$og")||die($z[876]."$og $!\n");binmode AB;print AB$ag{$fj};close(AB);if($og=~/\.(gif|jpg|jpeg|png)$/i){my($jt,$ju,$ok) =&ol("$sh$og");if(($ac{$z[611]}&&$ju>$ac{$z[611]})||($ac{$z[612]} &&$jt>$ac{$z[612]})){unlink("$sh$og");$np{$z[608]}.=qq|$ag{$fj."_file"} (${ju}x$jt, image too big)
\n|; $ag{$fj}=$nx{$fj};next;}}$ag{$fj}=$og;}elsif($ag{$fj.$z[319]}) {if($nx{$fj}&&$fv{$nx{$fj}}){unlink("$sh$nx{$fj}");}$nx{$fj} ='';}else{$ag{$fj}=$nx{$fj};}}return\%np;}sub vz{my($na,$nm, $sh)=@_;$sh||=$ac{$z[601]};my($li)=int($ag{$z[21]});$ag{$z[581]} =$li?$nm->{$z[581]}:$^T;$ag{$z[592]}=$li?$nm->{$z[592]}:$ai{$z[21]}; $ag{$z[613]}=$li?$nm->{$z[613]}:$ai{$z[21]};$ag{$z[63]}=$^T; $ag{$z[593]}=$ai{$z[21]};my$om;foreach$om($na->{$z[75]}=~/\bufile([^ ]*)\b/g) {if($na->{$z[75]}=~/\bimagewidth\Q$om\E\b/){($ag{$z[614].$om}, $ag{$z[615].$om})=&ol($sh.$ag{$z[616].$om});}}}1;;sub bg{my $bf;if($af{$z[877]}){$bf=$af{$z[877]};}else{$bf=$ac{$z[12]}; $bf=~s|https?://[^/]+||;}$ad{$z[878]}=$ac{$z[51]};$ad{$z[879]} =$bf;$ad{$z[853]}=$ac{$z[854]};$ad{$z[12]}=$ac{$z[12]};$ad{$z[73]} =$ac{$z[12]}.$ac{$z[855]}.$z[32].$ac{$z[33]};$ad{$z[38]}=$ac{$z[31]} .$z[32].$ac{$z[33]};$ad{$z[39]}=$ac{$z[856]}.$z[32].$ac{$z[33]}; $ad{$z[858]}=$ac{$z[859]}.$z[32].$ac{$z[33]};$ad{$z[860]}=$ac{$z[861]} .$z[32].$ac{$z[33]};$ad{$z[880]}=$bf.$ac{$z[31]}.$z[32].$ac{$z[33]}; $ad{$z[881]}=$bf.$ac{$z[856]}.$z[32].$ac{$z[33]};$ad{$z[882]} =$bf.$ac{$z[859]}.$z[32].$ac{$z[33]};$ad{$z[883]}=$bf.$ac{$z[861]} .$z[32].$ac{$z[33]};$ad{$z[147]}=&cl($ab{$z[145]},&cw($ac{$z[147]})) if($ac{$z[147]});$ad{$z[146]}=$ac{$z[146]};return$bf;}sub av {my$sj=shift;my$dk={};my$aq=sub{my$ff=shift;%{$dk->{$ff->{$z[21]} }}=%$ff;};&bi($ae{$sj},$aq);return$dk;}sub cm{my$ry=shift;my $sk=$ab{$z[505]}{$z[884]}||={};if(keys%$sk){return$sk->{$ry}; }&am($z[885],{});my$au=&av($z[19]);for(keys%$au){my$ay=$_;my $sl=$au->{$ay}{$z[70]}?$au->{$ay}{$z[71]}:$ac{$z[72]}.$au->{$ay}{$z[21]}; $au->{$ay}{$z[109]}=$ac{$z[12]}.$sl.$z[32].$ac{$z[33]};$au->{$ay}{$z[22]} =$au->{$ay}{$z[21]};$au->{$ay}{$z[100]}=$au->{$ay}{$z[45]}; $au->{$ay}{$z[144]}=&cl($ab{$z[145]},&cw($au->{$ay}{$z[63]})); $au->{$ay}{$z[102]}=$ac{$z[69]}.$au->{$ay}{$z[65]};$au->{$ay}{$z[104]} =$au->{$ay}{$z[67]};$au->{$ay}{$z[103]}=$au->{$ay}{$z[66]}; $au->{$ay}{$z[886]}=&cq($z[887],$au->{$ay});$au->{$ay}{$z[888]} =&cq($z[889],$au->{$ay});}do{&bg();my$sm={};$sm->{$z[109]}= $ad{$z[73]};$sm->{$z[22]}=0;$sm->{$z[100]}=$ad{$z[146]};$sm->{$z[144]} =$ad{$z[147]};my$sn=&cq($z[889],$sm);$sk->{$z[354]}=$sn;};my $so=&cq($z[890],{});for(keys%$au){my$ay=$_;my$aw=$au->{$ay}; &bg();my$sn=$aw->{$z[888]};my$sp=$aw->{$z[681]};my$sq=0;while ($sp){if($sq++>99){last;}my$sr=$au->{$sp};$sn=$sr->{$z[886]} .$so.$sn;$sp=$sr->{$z[681]};}$sk->{$ay}=$sn;}return$sk->{$ry}; }sub bh{my$ss=shift;my$st=shift;if($ss!~/^(nohidden|article_editor|article_list)$/) {die"Invalid list type '$ss'";}my%su;foreach(@$st){$su{$_}= 1;}my$au=&av($z[19]);my$sv;my@sw=sort{$au->{$a}{$z[891]}<=> $au->{$b}{$z[891]}}keys%$au;foreach(@sw){my$ff=$au->{$_};my $ay=$ff->{$z[21]};my$sx=&rx($ay);my$sy=&sz($ff->{$z[45]},$ff->{$z[764]}); my$ta=$ay;my$tb="";if($su{$ff->{$z[21]}}){$tb="selected";}my $tc=($ai{$z[639]}==9||$ai{$z[892]}||$ab{$z[893]}{$ay});if($ss eq$z[829]){if($ff->{$z[894]}){next;}if(not$tc){next;}$sv.=qq|\n|; }if($ss eq$z[127]){if(not$tc){next;}$sv.=qq|\n|; }if($ss eq$z[41]){if($ff->{$z[64]}){next;}$sv.=qq|\n|; }}return$sv;}sub rx{my$ry=shift;my$sk=$ab{$z[505]}{$z[895]} ||={};if(keys%$sk){return$sk->{$ry};}my$au=&av($z[19]);for(sort keys%$au){my$td=$_;my$te=0;my$sn=$au->{$td}{$z[45]};my$tf=$au->{$td}{$z[681]}; while($tf&&$te++<99){$sn="$au->{$tf}{'name'} \t $sn";$tf=$au->{$tf}{$z[681]}; }my$tg=$af{$z[896]}{$z[897]};if($tg&&$tg<5){$tg=5;}my$th;if (length$sn<=$tg){$th=$sn;}else{my@ti=split(/ \t /,$sn);my$tj =$ti[$#ti];$th="... $sn";while(length($th)>$tg){my$cg=$th=~ s/^.*? \t /... /s;if(not$cg){last;}}if(length$th>$tg){my$tk =$tg-4;if($th=~/\s(.{1,$tk})$/s){$th="... $1";}elsif($th=~/(.{1,$tk})$/s) {$th="...$1";}else{die"unable to truncate breadcrumb name!"; }}}$th=~s/ \t / : /gs;$sk->{$td}=$th;}return$sk->{$ry};}sub sz{my$tj=shift;my$tl=shift;if($tl>0){$tl--;}if(!$tl){return $tj;}my$tm=$af{$z[896]}{$z[898]}x$tl;$tm.=$af{$z[896]}{$z[899]}; $tm.=$tj;return$tm;}sub cp{my($gy,$jc,@tn)=@_;my$to;foreach $to(@tn){if(defined$ab{$z[134]}{$z[135]}{$gy.$to}){$gy.=$to; }else{last;}}&cq($gy,$jc);}sub wa{my$tp=shift;foreach(grep/^templatedir/, sort keys%ab){if(-e"$ab{$_}/$tp"){return 1;}}return 0;}sub an{my@tq;my$dw;foreach$dw(1..3){my$ts=$ac{"sort${dw}field"}; next unless$ts;$ts="#$ts#"if$ac{"sort${dw}numeric"};$ts="-$ts" if$ac{"sort${dw}reverse"};push@tq,$ts;}$ae{$z[15]}{$z[173]} =join($z[747],@tq);}sub ak{my($tt)=$ad{$z[132]};my($ge,$tu,$tv) =@_;my(%tw,$np,$tx,$ty,$tz,$ua);$tu=&gi($tu);$ad{$z[900]}||= "#336699";my($ub,$ud)=(1,2);%tw=($z[596]=>[("Can't find record # $tu", "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.", $ub)],$z[807]=>[("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:

$tu", $ud)],$z[512]=>[("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: '$tu'.", $ud)],$z[515]=>[($z[901],$z[902],$ud)],$z[903]=>[("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. ", $ub)],$z[904]=>[("Publishing Error","The program cannot create or write to the file:

$tu

Please ask your server administrator to make sure the publish directory and publish file(s) are writable.", $ud)],$z[905]=>[("Program doesn't support mod_perl","Your server is running $ENV{MOD_PERL}

This program doesn't support mod_perl. Please ask your server administrator to disable mod_perl for this program.", $ub)],$z[906]=>[($z[907],$z[908],$ub)],$z[909]=>[("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:

$tu", $ub)],$z[910]=>[("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:

$tu", $ud)],$z[300]=>[("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: $tu", $ud)],);my($ue)=$ad{$z[784]}||$tw{$ge}[0]||"Program Message"; if($tw{$ge}[0]){$tx=$tw{$ge}[0];}elsif($tu&&$ge){$tx=&gi($ge); }else{$tx="Program Message";}$np=$tw{$ge}[1]||$tu||&gi("@_"); if(!$tw{$ge}[1]){$np=~s/\n/

\n/g;}my$uf=$z[911]if$ab{$z[732]}; $ua=qq||;$tz=qq|  |; if($tw{$ge}[2]==$ud){$ty=$tz;}else{$ty=$ua;}if(!$ENV{$z[912]}) {$np=~s/(<.*?>)+/\n/g;print"\n\nFatal Error: $tx\n\n$np\n\n"; exit;}if($ab{$z[492]}){$np.="

Stack Trace
";$np .="

"; my$dw=0;while(my($fv,$ew,$gh)=(caller($dw++))[1,2,3]){$fv=~ s/^.*[\/\\]//;$gh=~s/^main:://;unless($gh=~s/__ANON__/(anonymous)/) {$gh=$z[308].$gh;}$np.=qq!!; $np.=qq!!; $np.=qq!!; $np.=qq!!; $np.=qq!\n!;}$np.="
 $fv ($ew)  called $gh 

"; }if(!$ab{$z[685]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n"; print"Content-type: text/html\n\n";}print qq|\n \n $ue\n \n \n\n

\n
\n
\n
\n \n

$tx

\n $np\n

$ty
\n
\n
\n
\n
\n
\n| ;if($ab{$z[492]}&&$ab{$z[309]}){print"

"; print"

$ab{'debug_output'}"if($ab{$z[309]});print"";
}&pc();exit;}1;;%af=&ug("$cz/config.ini");$ad{$z[900]}=$af{$z[578]}{$z[913]}
||"#336699";$ab{$z[806]}=$af{$z[806]}||$z[914];$ab{$z[512]}
=$af{$z[512]}||$z[915];$ab{$z[145]}=$af{$z[578]}{$z[145]}||
$z[916];$ab{$z[97]}=$af{$z[578]}{$z[97]}||$z[917];$ab{$z[99]}
=$af{$z[578]}{$z[99]}||$z[430];$af{$z[896]}{$z[897]}||=55;$af{$z[896]}{$z[898]}
||="       ";&ak($z[918])if!$ENV{$z[912]};
&ak("macftp")if"¡"ne"\xA1";&ak($z[905])if$ENV{$z[919]}&&!$af{$z[920]};
%ab=(%ab,$z[516]=>$cz,$z[921]=>$cx,$z[922]=>$cx,$z[60]=>$z[923],
$z[924]=>$z[925],$z[926]=>$z[927],$z[685]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive))
{if(ref($ab{$_})){next;}$ab{$_}="$cz/$ab{$_}"if(index($ab{$_},$z[32])
==0);$ab{$_}=~s|\\|/|g;1 while$ab{$_}=~s|/[^/]+/\.\./|/|;}&ob($ae{$z[206]},
\%ac,1);if(!$ac{$z[928]}){&ak($z[929]);}foreach(grep/^dir_/,
keys%ac){$ac{$_}="$cz/$ac{$_}"if index($ac{$_},$z[32])==0;$ac{$_}
=~tr|\\|/|;1 while$ac{$_}=~s|/[^/]+/\.\.||;}foreach(qw(cgidir cgiurl))
{$ad{$z[575].$_}=$ab{$_};}foreach(qw(url_help reg1 reg2 reg3))
{$ad{$z[575].$_}=$ac{$_};}$ad{$z[782]}=$ac{$z[783]};$ad{$z[930]}
=$ac{$z[785]};$ad{$z[931]}=$ab{$z[0]};$ad{$z[932]}=$af{$z[933]};
$ad{$z[934]}=$af{$z[935]};$ad{$z[936]}=$af{$z[937]};$ad{$z[12]}
=$ac{$z[12]};$ad{$z[784]}=$ac{$z[785]};$ad{$z[786]}=$ac{$z[710]};
%ag=&uh();%ah=&ui();}
# ----------------------------------------------------------------------------
# end of file