#!/usr/bin/perl # ---------------------------------------------------------------------------- # This software is Copyright (C) 2005, 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=('72657175697265202254696d652f48695265732e706d223b', '766965775f70726f6772616d5f616374697665','76','75726c5f7075' .'626c697368','696e746572666163652f64697361626c65645f7669657' .'72e68746d6c','6e756d','61726368697665','70726f675f766572', '312e3431','70726f675f6275696c64','31','73706172655f6669656' .'c6473','5343524950545f46494c454e414d45','617274','6e616d65', '6d656e755f686561646572','41727469636c6520456469746f72','6d' .'656e755f74656d706c617465','5f6172745f6d656e75732e68746d6c', '6461746166696c65','61727469636c652e646174','6669656c6473', '6e756d206372656174656420637265617465645f627920757064617465' .'6420757064617465645f6279206d6f6e206461792079656172206e616d' .'652073756d6d61727920636f6e74656e7420','73756d6d6172795f666' .'f726d617420636f6e74656e745f666f726d61742063617420','756669' .'6c655f696d61676531207566696c655f696d61676532207566696c655f' .'696d61676533207566696c655f696d61676534207566696c655f696d61' .'676535207566696c655f696d61676536207566696c655f696d61676537' .'207566696c655f696d61676538207566696c655f696d61676539207566' .'696c655f696d616765313020','63617074696f6e312063617074696f6' .'e322063617074696f6e332063617074696f6e342063617074696f6e352' .'063617074696f6e362063617074696f6e372063617074696f6e3820636' .'17074696f6e392063617074696f6e313020','686f7572206d696e2061' .'6d706d206f776e6572206c696e6b206172745f74797065207566696c65' .'5f646f63756d656e742068696464656e20','696d6167656e616d65312' .'0696d6167656e616d653220696d6167656e616d653320696d6167656e6' .'16d653420696d6167656e616d653520696d6167656e616d653620696d6' .'167656e616d653720696d6167656e616d653820696d6167656e616d653' .'920696d6167656e616d65313020','696d61676577696474685f696d61' .'67653120696d61676577696474685f696d6167653220696d6167657769' .'6474685f696d6167653320696d61676577696474685f696d6167653420' .'696d61676577696474685f696d6167653520696d61676577696474685f' .'696d6167653620696d61676577696474685f696d6167653720696d6167' .'6577696474685f696d6167653820696d61676577696474685f696d6167' .'653920696d61676577696474685f696d616765313020','696d6167656' .'865696768745f696d6167653120696d6167656865696768745f696d616' .'7653220696d6167656865696768745f696d6167653320696d616765686' .'5696768745f696d6167653420696d6167656865696768745f696d61676' .'53520696d6167656865696768745f696d6167653620696d61676568656' .'96768745f696d6167653720696d6167656865696768745f696d6167653' .'820696d6167656865696768745f696d6167653920696d6167656865696' .'768745f696d616765313020','73746174757320','737061726531207' .'3706172653220737061726533207370617265342073706172653520737' .'0617265362073706172653720737061726538207370617265392073706' .'1726531302073706172653131207370617265313220','7374616d7020', '7566696c655f696d6167653131207566696c655f696d61676531322075' .'66696c655f696d6167653133207566696c655f696d6167653134207566' .'696c655f696d6167653135207566696c655f696d616765313620756669' .'6c655f696d6167653137207566696c655f696d6167653138207566696c' .'655f696d6167653139207566696c655f696d6167653230207566696c65' .'5f696d6167653231207566696c655f696d6167653232207566696c655f' .'696d6167653233207566696c655f696d6167653234207566696c655f69' .'6d616765323520','696d6167656e616d65313120696d6167656e616d6' .'5313220696d6167656e616d65313320696d6167656e616d65313420696' .'d6167656e616d65313520696d6167656e616d65313620696d6167656e6' .'16d65313720696d6167656e616d65313820696d6167656e616d6531392' .'0696d6167656e616d65323020696d6167656e616d65323120696d61676' .'56e616d65323220696d6167656e616d65323320696d6167656e616d653' .'23420696d6167656e616d65323520','696d61676577696474685f696d' .'616765313120696d61676577696474685f696d616765313220696d6167' .'6577696474685f696d616765313320696d61676577696474685f696d61' .'6765313420696d61676577696474685f696d616765313520696d616765' .'77696474685f696d616765313620696d61676577696474685f696d6167' .'65313720696d61676577696474685f696d616765313820696d61676577' .'696474685f696d616765313920696d61676577696474685f696d616765' .'323020696d61676577696474685f696d616765323120696d6167657769' .'6474685f696d616765323220696d61676577696474685f696d61676532' .'3320696d61676577696474685f696d616765323420696d616765776964' .'74685f696d616765323520','696d6167656865696768745f696d61676' .'5313120696d6167656865696768745f696d616765313220696d6167656' .'865696768745f696d616765313320696d6167656865696768745f696d6' .'16765313420696d6167656865696768745f696d616765313520696d616' .'7656865696768745f696d616765313620696d6167656865696768745f6' .'96d616765313720696d6167656865696768745f696d616765313820696' .'d6167656865696768745f696d616765313920696d61676568656967687' .'45f696d616765323020696d6167656865696768745f696d61676532312' .'0696d6167656865696768745f696d616765323220696d6167656865696' .'768745f696d616765323320696d6167656865696768745f696d6167653' .'23420696d6167656865696768745f696d616765323520','66696c656e' .'616d6520','73706172653133207370617265313420737061726531352' .'0737061726531362073706172653137207370617265313820737061726' .'53139207370617265323020','63617074696f6e31312063617074696f' .'6e31322063617074696f6e31332063617074696f6e3134206361707469' .'6f6e31352063617074696f6e31362063617074696f6e31372063617074' .'696f6e31382063617074696f6e31392063617074696f6e323020636170' .'74696f6e32312063617074696f6e32322063617074696f6e3233206361' .'7074696f6e32342063617074696f6e323520','666f726d61745f73706' .'172653120666f726d61745f73706172653220666f726d61745f7370617' .'2653320666f726d61745f73706172653420666f726d61745f737061726' .'53520666f726d61745f73706172653620666f726d61745f73706172653' .'720666f726d61745f73706172653820666f726d61745f7370617265392' .'0666f726d61745f7370617265313020666f726d61745f7370617265313' .'120666f726d61745f7370617265313220666f726d61745f73706172653' .'13320666f726d61745f7370617265313420666f726d61745f737061726' .'5313520666f726d61745f7370617265313620666f726d61745f7370617' .'265313720666f726d61745f7370617265313820666f726d61745f73706' .'17265313920666f726d61745f73706172653230','736561726368','7' .'36f72746279','2d237374616d7023','7075626c6973685f737562','' .'6d656e755f73756273','6572617365','6c697374','74656d70','43' .'72656174652041727469636c65','5f7772697465725f6d656e75732e6' .'8746d6c','74656d702e646174','636174','43617465676f72792045' .'6469746f72','5f6361745f6d656e75732e68746d6c','63617465676f' .'72792e646174','6e756d206372656174656420637265617465645f627' .'9207570646174656420757064617465645f6279206e616d6520736f726' .'465725f6465707265636174656420','74656d706c6174655f66696c65' .'2061727469636c655f74656d706c6174655f66696c6520686561646c69' .'6e655f74656d706c6174655f66696c6520','7566696c655f696d61676' .'5207075625f66696c65707265666978207075625f66696c65707265666' .'9785f7370656369667920','706572706167655f696e64657820706572' .'706167655f686561646c696e65732068696464656e207072696e746572' .'5f74656d706c6174655f66696c6520','696d61676577696474685f696' .'d61676520696d6167656865696768745f696d616765207075625f70657' .'2706167655f7370656369667920','6469725f7075626c697368207572' .'6c5f7075626c697368207075626c6973685f7370656369667920646972' .'5f75706c6f61642075726c5f75706c6f616420','646973706c61795f6' .'f6e6c7920706172656e7420676c6f62616c5f6f72646572207369626c6' .'96e675f6f72646572206465707468206c696e65616765','23676c6f62' .'616c5f6f7264657223206e616d65','41726368697665204d616e61676' .'572','5f617263686976655f6d656e75732e68746d6c','61726368697' .'6652e646174','6e756d206372656174656420637265617465645f6279' .'207570646174656420757064617465645f6279206e616d6520636f756e' .'74','236e756d23','6163636f756e74','5f6163636f756e745f6d656' .'e75732e68746d6c','6163636f756e742e6461742e636769','6e756d2' .'06372656174656420637265617465645f6279207570646174656420757' .'064617465645f6279206e616d652069642070772061636c206e6f74657' .'3206361747320616c6c5f6361747320656d61696c5f6361747320656d6' .'1696c5f616c6c5f6361747320656d61696c5f6e6f74696669636174696' .'f6e5f6576656e747320656d61696c','6e616d65206964','736573736' .'96f6e','73657373696f6e2e6461742e636769','7365747570','5f73' .'657475705f6d656e75732e68746d6c','73657475702e6461742e63676' .'9','6e756d207469746c65626172','20636f6e6669726d5f657261736' .'520636f6e6669726d5f736176656420636f6e6669726d5f65726173656' .'42073657475705f7761726e696e67','2075706c6f61646c696d697420' .'75706c6f61646d61782075706c6f61645f6865696768742075706c6f61' .'645f77696474682075706c6f6164657874206c686f7572206c686f7572' .'5f6f6666736574206c6d696e206c6d696e5f6f66667365742072656731' .'20726567322072656733206420632069','206469725f6261736520646' .'9725f75706c6f6164206469725f7075626c697368','2075726c5f696d' .'6167652075726c5f68656c702075726c5f75706c6f61642075726c5f70' .'75626c6973682075726c5f6c6f676f6666207365617263685f75726c', '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','54656d706c617465','54656d' .'706c617465203a2054656d706c6174652066696c6520','20636f756c6' .'4206e6f7420626520666f756e6421','54656d706c617465203a20436f' .'756c646e2774206f70656e20','63656c6c','5f7565','5f6865','5f' .'6e627370','5f6a65','54656d706c61746543656c6c203a204e6f2074' .'656d706c6174652063656c6c207761732073706563696669656421','5' .'4656d706c61746543656c6c203a2054656d706c6174652063656c6c20', '206973206e6f7420646566696e656421','54656d706c61746543656c6' .'c203a20546865207365636f6e6420617267756d656e74206d757374206' .'26520612048415348207265666572656e636521','5a','61','7a','2' .'b','2f','422a','4d494d453634203a204e6f7468696e6720746f2064' .'65636f6465','252525303278','536574436f6f6b6965203a20436f6f' .'6b6965206e616d65206d75737420626520737065636966696564','536' .'574436f6f6b6965203a2045787069726520446174652069736e2774206' .'96e207365636f6e6473207573696e672074696d6528293b','30','657' .'870697265733d','706174683d','646f6d61696e3d','736563757265' .'3b20','5365742d436f6f6b69653a20','485454505f434f4f4b4945', '616d706d','6c616e6775616765','6f7264696e616c73','20307468', '20317374','20326e64','20337264','20347468','20357468','203' .'67468','20377468','20387468','20397468','31307468','313174' .'68','31327468','31337468','31347468','31357468','31367468', '31377468','31387468','31397468','32307468','32317374','323' .'26e64','32337264','32347468','32357468','32367468','323774' .'68','32387468','32397468','33307468','33317374','7765656b5' .'f66756c6c','7765656b5f61626272','6d6f6e74685f66756c6c','6d' .'6f6e74685f61626272','25','62','42','63','256d2f25642f25792' .'025483a254d3a2553','256120256220256520255420255a202559','6' .'4','25303264','256d2f25642f2579','65','253264','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','44617465537472696e67203a2054696d652076616c75652' .'06d75737420626520616e20696e7465676572','4a616e','466562','' .'4d6172','417072','4d6179','4a756e','4a756c','417567','5365' .'70','4f6374','4e6f76','446563','4a616e75617279','466562727' .'5617279','4d61726368','417072696c','4a756e65','4a756c79','' .'417567757374','53657074656d626572','4f63746f626572','4e6f7' .'6656d626572','446563656d626572','53756e','4d6f6e','547565', '576564','546875','467269','536174','53756e646179','4d6f6e6' .'46179','54756573646179','5765646e6573646179','546875727364' .'6179','467269646179','5361747572646179','7374','6e64','726' .'4','7468','7e','2573','252d20353073','3c696e70757420747970' .'653d68696464656e206e616d653d22','222076616c75653d22','223e', '534d54505f73656e646d61696c','686f7374','706f7274','68656c6' .'f','6c6f63616c686f7374','74696d656f7574','6465627567','657' .'2726f72','706f70335f61757468','5c62283f3a5b5c775c2d5d2b5b5' .'c775c2d5c2e5d292a5b5c775c2d5d2b5c40','283f3a5b5c775c2d5d2b' .'5b5c775c2d5c2e5d292a5b5c775c2d5d2b5c2e5b412d5a612d7a5d7b32' .'2c387d5c62','66726f6d','706f70335f75736572','706f70335f706' .'17373','534d54505f706f703361757468','617574686f72697a6564', '706f70335f686f7374','706f70335f706f7274','706f70335f74696d' .'656f7574','5f73756273','46485f437265617465','66696c656c6f6' .'36b696e67','6c6f636b','737461636b','736861726564','756e6c6' .'f636b3a206e65737465642066696c656c6f636b20756e64657272756e', '66696c656c6f636b','6c6f636b696e666f','66696c656e616d65','6' .'8616e646c65','73657276657262757379','636769646972','2e2e2e', '414e59','5b56414c55455d2c205b56414c55455d2c205b484153485d', '74656d705f626173655f646972','74656d705f626173655f75726c','' .'6d61785f7373695f726563757273696f6e5f64657074685f616c6c6f77' .'6564','485454505f5353495f524543555253494f4e5f4445505448','' .'5f25303364','7373695f687474705f617574685f757365726e616d65', '7373695f687474705f617574685f70617373776f7264','417574686f7' .'2697a6174696f6e','70726576656e745f656e636f6465645f72657370' .'6f6e7365','4163636570742d456e636f64696e67','43616368652d43' .'6f6e74726f6c','2c20','6e6f2d7472616e73666f726d','736572766' .'5725f736964655f70617273696e67','646f5f6e6f745f65726173655f' .'74656d705f66696c6573','416c6c6f77','436f6e6e656374696f6e', '436f6e74656e742d456e636f64696e67','436f6e74656e742d4c616e6' .'775616765','436f6e74656e742d4c656e677468','436f6e74656e742' .'d4c6f636174696f6e','436f6e74656e742d4d4435','436f6e74656e7' .'42d52616e6765','436f6e74656e742d54797065','457870656374','' .'45787069726573','486f7374','49662d4d61746368','49662d4d6f6' .'469666965642d53696e6365','49662d4e6f6e652d4d61746368','496' .'62d52616e6765','49662d556e6d6f6469666965642d53696e6365','4' .'c6173742d4d6f646966696564','4d61782d466f727761726473','544' .'5','547261696c6572','5472616e736665722d456e636f64696e67','' .'55706772616465','566961','436f6f6b6965','3b20','5373692d52' .'6563757273696f6e2d4465707468','52454d4f54455f41444452','53' .'45525645525f41444452','4c4f43414c5f41444452','485454505f58' .'5f464f525741524445445f464f52','485454505f434c49454e545f495' .'0','582d466f727761726465642d466f72','436c69656e742d4950','' .'5b56414c55455d','75726c','70726f746f636f6c','6469726563746' .'f7279','66696c65','7175657279','616e63686f72','2e','5f6c69' .'63656e73655f6e756d','25303764','72656733','6373756d','6c6f' .'67696e5f64697361626c6564','30313130313130303031','31303131' .'3131303131303031313130313130313030313031313031313130303130' .'31313131313031313030303131303131','30313131313031313130303' .'1303031313130303130303131313031303130313131303030','303031' .'31313031303030313130303130313031313030313030','69','253332' .'432a','75','5f696e7374616c6c5f6d656e75732e68746d6c','72656' .'731','72656732','696d6167655f75726c5f74657374','62726f7773' .'655f646972','646972','62726f7773655f66696c65','73746570','' .'5f73746570','73617665','76656e646f725f6e616d65','5f7375626' .'c6963656e73655f6e6f74696365','5f686561646572','77656c636f6' .'d65','5f666f6f746572','6c6963656e7365','6167726565','63616' .'e63656c6c6564','5f72656732','485454505f484f5354','53455256' .'45525f4e414d45','70726f647563745f6964','72656734','746f6f5' .'f6d616e795f7369746573','496e76616c69642050726f647563742049' .'44213c62723e','596f75206d75737420656e74657220796f757220507' .'26f64756374204944213c62723e','596f75206d75737420656e746572' .'20796f757220646f6d61696e206e616d65213c62723e','596f75206d7' .'5737420656e74657220796f757220636f6d70616e79206e616d65213c6' .'2723e','5f','75726c5f696d616765','696d616765732f73616d706c' .'655f696d6167652e6a7067','696d6167655f75726c','696d61676573' .'5f75726c','696d61676575726c','6f6e6c6f6164','6f6e6c6f61643' .'d2277696e646f772e666f637573282922','75726c5f75706c6f6164', '6469725f75706c6f6164','75706c6f6164732f2e','6469725f707562' .'6c697368','7075626c6973682f2e','7365617263685f75726c','534' .'3524950545f4e414d45','687474703a2f2f','7669657765725f75726' .'c','646972735f75726c73','3f','23','6372656174655f75736572', '61646d696e5f6964','61646d696e5f7077','596f75206d7573742065' .'6e746572206120757365726e616d6520616e642070617373776f726421', '6964','7077','5468617420757365726e616d6520697320616c726561' .'64792074616b656e2c20706c656173652073656c65637420616e6f7468' .'65722e','436f6e74656e742d747970653a20746578742f68746d6c','' .'63726561746564','75706461746564','61636c','39','6465666175' .'6c745f696e7374616c6c5f646972','2e2e2f','2e2e2f2e2e2f2e2e2f', '74657374696e6720','5030593546394734433852334c3741324536553' .'14448544e514a4b58424d57565a','70726f675f6b6579','504154485' .'f494e464f','26726567313d','26726567323d','266c6e756d3d','2' .'670726f673d','70726f645f6964','267665723d','2675726c3d','2' .'66373756d3d','7265676973746572736f6674776172652e746f','636' .'f6e74656e74686561646572','5f6c6963656e73652e68746d6c','414' .'1','57686b4d4b7a7947723767304a586873617567616d32347937554f' .'74687a2f453632544d646b49596c735677','3c7461626c6520626f726' .'465723d312063656c6c73706163696e673d302063656c6c70616464696' .'e673d382077696474683d313030253e3c74723e3c7464206267636f6c6' .'f723d2223454545454545223e3c666f6e7420666163653d226d7320736' .'16e732073657269662c20617269616c222073697a653d323e','3c703e' .'3c623e506c65617365204e6f74653a3c2f623e20245f76656e646f725f' .'6e616d65242068617320676976656e20796f7520746865207269676874' .'20746f203c623e7375626c6963656e73653c2f623e20','74686973207' .'36f66747761726520756e64657220746865207465726d73206f6620746' .'865203c6120687265663d222463676975726c243f73686f775f6c69636' .'56e73653d3122207461726765743d225f6e6577223e6c6963656e73652' .'061677265656d656e743c2f613e2e3c2f703e','3c703e466f7220696e' .'737472756374696f6e73206f6e20686f7720746f207375626c6963656e' .'736520616e642f6f722070726976617465206c6162656c207468697320' .'736f6674776172652c20636f6e73756c7420796f757220646f63756d65' .'6e746174696f6e206f7220636f6e74616374203c6120687265663d2224' .'5f76656e646f725f75726c2422207461726765743d225f6e6577223e24' .'5f76656e646f725f6e616d65243c2f613e20666f7220696e666f726d61' .'74696f6e2e3c2f703e','3c2f666f6e743e3c2f74643e3c2f74723e3c2' .'f7461626c653e','63676975726c','3c68746d6c3e','3c686561643e', '3c7469746c653e245f76656e646f725f6e616d6524202d20536f667477' .'617265204c6963656e73652041677265656d656e743c2f7469746c653e', '3c7374796c6520747970653d22746578742f637373223e3c212d2d','2' .'e686561646572202020207b20666f6e742d66616d696c793a204172696' .'16c2c2048656c7665746963612c2073616e732d73657269663b20666f6' .'e742d73697a653a20313670783b20666f6e742d7765696768743a20626' .'f6c643b207d','2e6d61696e7465787420207b20666f6e742d66616d69' .'6c793a2056657264616e612c20417269616c2c2048656c766574696361' .'2c2073616e732d73657269663b20666f6e742d73697a653a2031317078' .'7d','2d2d3e3c2f7374796c653e','3c2f686561643e','3c626f64792' .'06267636f6c6f723d22234646464646462220746578743d22233030303' .'0303022206c696e6b3d22233030303043432220766c696e6b3d2223303' .'0303043432220616c696e6b3d222330303030434322206d617267696e7' .'7696474683d3135206d617267696e6865696768743d313520746f706d6' .'17267696e3d3135206c6566746d617267696e3d3135206f6e6c6f61643' .'d2277696e646f772e666f6375732829223e','3c666f6e7420636c6173' .'733d226d61696e74657874223e','3c703e3c666f6e7420666163653d2' .'2617269616c222073697a653d3420636c6173733d22686561646572223' .'e3c623e3c666f6e7420636f6c6f723d2223434330303030223e536f667' .'477617265204c6963656e73652041677265656d656e743c2f666f6e743' .'e3c2f623e3c2f666f6e743e3c62723e','3c703e3c623e494d504f5254' .'414e54202d2052454144204341524546554c4c593a3c2f623e20546869' .'73204c6963656e73652041677265656d656e742069732061206c656761' .'6c20','61677265656d656e74206265747765656e20596f7520616e642' .'056656e646f722e2052656164206974206361726566756c6c792062656' .'66f726520636f6d706c6574696e672074686520','696e7374616c6c61' .'74696f6e2070726f6365737320616e64207573696e672074686520536f' .'6674776172652e2049742070726f76696465732061206c6963656e7365' .'20746f207573652074686520','536f66747761726520616e6420636f6' .'e7461696e732077617272616e747920696e666f726d6174696f6e20616' .'e64206c696162696c69747920646973636c61696d6572732e203c623e4' .'25920','494e5354414c4c494e472c20434f5059494e47204f52204f54' .'48455257495345205553494e472054484520534f4654574152452c2059' .'4f552041524520434f4e4649524d494e4720594f555220','414343455' .'054414e4345204f462054484520534f46545741524520414e442041475' .'24545494e4720544f204245434f4d4520424f554e44204259205448452' .'05445524d53204f46205448495320','41475245454d454e542e204946' .'20594f5520444f204e4f542041475245452c20444f204e4f5420494e53' .'54414c4c204f5220555345205448452050524f445543542e3c2f623e', '3c703e54686520536f667477617265206973206f776e65642062792056' .'656e646f7220616e642f6f7220697473206c6963656e736f727320616e' .'642069732070726f74656374656420627920','636f707972696768742' .'06c61777320616e6420696e7465726e6174696f6e616c20636f7079726' .'96768742074726561746965732c2061732077656c6c206173206f74686' .'57220','696e74656c6c65637475616c2070726f7065727479206c6177' .'7320616e642074726561746965732e203c623e54484520534f46545741' .'5245204953204c4943454e5345442c204e4f5420','534f4c442e3c2f6' .'23e','3c703e3c68722073697a653d313e','3c703e312e203c623e444' .'546494e4954494f4e532e3c2f623e','3c6f6c20747970653d2261223e', '3c6c693e202256656e646f7222206d65616e73203c6120687265663d22' .'245f76656e646f725f75726c2422207461726765743d225f6e6577223e' .'245f76656e646f725f6e616d65243c2f613e','3c6c693e2022596f752' .'22c2022596f757222206d65616e7320796f7520616e6420796f7572206' .'36f6d70616e792e','3c6c693e2022536f66747761726522206d65616e' .'73207468652070726f647563742070726f766964656420746f20596f75' .'2c20776869636820696e636c7564657320636f6d707574657220736f66' .'7477617265','616e64206d617920696e636c756465206173736f63696' .'1746564206d656469612c207072696e746564206d6174657269616c732' .'c20616e6420226f6e6c696e6522206f7220656c656374726f6e6963','' .'646f63756d656e746174696f6e2e','3c2f6f6c3e','3c703e322e203c' .'623e4f574e4552534849502e3c2f623e','54686520536f66747761726' .'5206973206f776e656420616e6420636f7079726967687465642062792' .'056656e646f7220616e642f6f7220697473206c6963656e736f72732e2' .'0596f757220','6c6963656e736520636f6e66657273206e6f20746974' .'6c65206f72206f776e65727368697020696e2074686520536f66747761' .'726520616e64206973206e6f7420612073616c65206f6620','616e792' .'072696768747320696e2074686520536f6674776172652e20','3c703e' .'332e203c623e4752414e54204f46204c4943454e53452e3c2f623e20', '56656e646f72206772616e747320596f752074686520666f6c6c6f7769' .'6e67207269676874732070726f766964656420596f7520636f6d706c79' .'207769746820616c6c207465726d7320','616e6420636f6e646974696' .'f6e73206f6620746869732061677265656d656e742e2020466f7220656' .'16368206c6963656e736520596f7520686176652061637175697265642' .'0666f722074686520','536f6674776172653a','3c6c693e596f75206' .'17265206772616e7465642061206e6f6e2d6578636c757369766520726' .'967687420746f2075736520616e6420696e7374616c6c204f4e4520636' .'f7079206f662074686520736f667477617265206f6e204f4e452077656' .'2736974652e','3c6c693e596f75206d617920616c6c6f7720616e2075' .'6e6c696d69746564206e756d626572206f6620757365727320746f2061' .'6363657373206f72206f7468657277697365207574696c697a65207468' .'65','7365727669636573206f722066756e6374696f6e616c697479206' .'f662074686520696e7374616c6c656420736f6674776172652e','3c6c' .'693e596f75206d6179206d616b65206f6e6520636f707920666f722062' .'61636b7570206f7220617263686976616c20707572706f7365732e','3' .'c6c693e596f75206d6179206d6f64696679207468652074656d706c617' .'4652066696c657320636f6e7461696e656420696e207468652074656d7' .'06c6174657320666f6c64657220286966206170706c696361626c65292' .'e','3c703e342e203c623e52455354524943544544205553452e3c2f62' .'3e','3c6c693e20596f7520616772656520746f2075736520726561736' .'f6e61626c65206566666f72747320746f2070726576656e7420756e617' .'574686f72697a656420636f7079696e67206f662074686520536f66747' .'76172652e','3c6c693e20596f75206d6179206e6f742064697361626c' .'6520616e79206c6963656e73696e67206f7220636f6e74726f6c206665' .'617475726573206f662074686520536f667477617265206f7220616c6c' .'6f772074686520536f667477617265','746f206265207573656420776' .'9746820737563682066656174757265732064697361626c65642e','3c' .'6c693e596f75206d6179206e6f742073686172652c2072656e742c206f' .'72206c6561736520596f757220726967687420746f2075736520746865' .'20536f6674776172652e','3c6c693e20596f75206d6179206e6f74206' .'d6f646966792c207375626c6963656e73652c20636f70792c2072656e7' .'42c2073656c6c2c2064697374726962757465206f72207472616e73666' .'57220616e79207061727420','6f662074686520536f66747761726520' .'6578636570742061732070726f766964656420696e2074686973204167' .'7265656d656e742e','3c6c693e596f75206d6179206e6f74207265766' .'572736520656e67696e6565722c206465636f6d70696c652c207472616' .'e736c6174652c20637265617465206465726976617469766520776f726' .'b732c20','64656369706865722c20646563727970742c206469736173' .'73656d626c652c206f72206f746865727769736520636f6e7665727420' .'74686520536f66747761726520746f2061206d6f726520','68756d616' .'e2d7265616461626c6520666f726d20666f7220616e7920726561736f6' .'e2e','3c6c693e20596f752077696c6c2072657475726e206f72206465' .'7374726f7920616c6c20636f70696573206f662074686520536f667477' .'61726520616e642067656e65726174656420636f6e74656e74','28696' .'6206170706c696361626c652920696620616e64207768656e20596f757' .'220726967687420746f2075736520697420656e64732e20','3c6c693e' .'3c623e596f75206d6179206e6f74207573652074686520536f66747761' .'726520666f7220616e7920707572706f7365207468617420697320756e' .'6c617766756c2e3c2f623e','3c703e352e203c623e4144444954494f4' .'e414c20534f4654574152453c2f623e2054686973206c6963656e73652' .'06170706c69657320746f20757064617465732c2075706772616465732' .'c20','706c75672d696e7320616e6420616e79206f7468657220616464' .'6974696f6e7320746f20746865206f726967696e616c20536f66747761' .'72652070726f76696465642062792056656e646f722c20','756e6c657' .'3732056656e646f722070726f7669646573206f74686572207465726d7' .'320616c6f6e67207769746820746865206164646974696f6e616c20736' .'f6674776172652e','3c703e362e203c623e3352442050415254592053' .'455256494345533c2f623e205468697320536f667477617265206d6179' .'206d616b6520757365206f662c206f7220686176652074686520','616' .'2696c69747920746f206d616b6520757365206f662c206c696e6b20746' .'f2c206f7220696e7465677261746520776974682033726420706172747' .'920636f6e74656e74206f7220','73657276696365732e205468652061' .'7661696c6162696c697479206f662074686520636f6e74656e74206f72' .'2073657276696365732069732061742074686520736f6c652064697363' .'726574696f6e20','6f662074686520337264207061727479207365727' .'66963652070726f76696465727320616e64206d6179206265207375626' .'a65637420746f2075736167652061677265656d656e747320616e6420', '6f74686572207265737472696374696f6e732e2020596f752061677265' .'6520746f20696e64656d6e69667920616e642073617665206861726d6c' .'6573732056656e646f7220616e642069747320','6c6963656e736f727' .'32066726f6d20616c6c20636c61696d732c2064616d616765732c20616' .'e6420657870656e736573206f66207768617465766572206e617475726' .'52074686174206d617920626520','6d61646520616761696e73742056' .'656e646f7220616e6420697473206c6963656e736f7273206279203372' .'6420706172747920636f6e74656e7420616e6420736572766963652070' .'726f76696465727320','6173206120726573756c74206f6620596f757' .'220757365206f662074686520536f6674776172652e','3c703e372e20' .'3c623e524547495354524154494f4e2e3c2f623e2054686520736f6674' .'776172652077696c6c20656c656374726f6e6963616c6c792072656769' .'7374657220697473656c6620','647572696e6720696e7374616c6c617' .'4696f6e206f722072656c6f636174696f6e20616e6420636f6e6669726' .'d207468617420596f75206861766520656e746572656420612076616c6' .'96420','2250726f64756374204944222e205468652072656769737472' .'6174696f6e2070726f63657373206f6e6c792073656e64732074686520' .'6c6963656e736520696e666f726d6174696f6e207468617420','596f7' .'527766520656e74657265642028436f6d70616e79204e616d652c20446' .'f6d61696e204e616d652c2050726f647563742049442920616e6420696' .'e666f726d6174696f6e2061626f75742074686520','736f6674776172' .'6520696e7374616c6c6564202850726f6772616d2049442c2056657273' .'696f6e2c20496e7374616c6c2055524c2c20436865636b73756d292e20' .'204e6f206f7468657220','696e666f726d6174696f6e2069732073656' .'e742e','3c703e382e203c623e55504752414445532e203c2f623e2049' .'66207468697320636f7079206f662074686520736f6674776172652069' .'7320616e20757067726164652066726f6d20616e20','6561726c69657' .'22076657273696f6e206f662074686520736f6674776172652c2069742' .'069732070726f766964656420746f20596f75206f6e2061206c6963656' .'e73652065786368616e676520','62617369732e2020596f7572207573' .'65206f662074686520536f667477617265207570677261646520697320' .'7375626a65637420746f20746865207465726d73206f66207468697320', '6c6963656e73652c20616e6420596f7520616772656520627920596f75' .'7220696e7374616c6c6174696f6e20616e6420757365206f6620746869' .'7320636f7079206f662074686520536f66747761726520','746f20766' .'f6c756e746172696c79207465726d696e61746520596f7572206561726' .'c696572206c6963656e736520616e64207468617420596f752077696c6' .'c206e6f7420636f6e74696e756520746f20','75736520746865206561' .'726c6965722076657273696f6e206f662074686520536f667477617265' .'206f72207472616e7366657220697420746f20616e6f74686572207065' .'72736f6e206f7220','656e746974792e','3c703e392e203c623e5452' .'414e534645522e203c2f623e2020596f75206d6179206d616b65206120' .'6f6e652d74696d65207472616e73666572206f662074686520536f6674' .'7761726520','616e6420596f75722072696768747320756e646572207' .'4686973206c6963656e736520746f20616e6f746865722070617274792' .'070726f766964656420746861743a','3c6c693e20596f752070726f76' .'6964652074686520706172747920776974682074686520536f66747761' .'72652c20616e79202250726f647563742049442220636f6465732c2061' .'6e642074686973206c6963656e73652e','3c6c693e205468652070617' .'27479206163636570747320746865207465726d73206f6620746869732' .'06c6963656e7365206173206120636f6e646974696f6e206f662074686' .'5207472616e736665722e','3c6c693e20596f752064657374726f7920' .'616e79206f7468657220636f70696573206f662074686520536f667477' .'61726520616e642067656e65726174656420636f6e74656e7420286966' .'206170706c696361626c652920696e20596f757220706f737365737369' .'6f6e2e','3c6c693e20596f75206e6f746966792056656e646f72206f6' .'620746865207472616e736665722e','596f7572207269676874732075' .'6e6465722074686973206c6963656e7365206175746f6d61746963616c' .'6c79207465726d696e6174652075706f6e207472616e736665722e','3' .'c703e31302e203c623e5355424c4943454e53494e472e3c2f623e20596' .'f75206d6179207375626c6963656e73652074686520536f66747761726' .'520616e6420596f75722072696768747320756e646572','7468697320' .'6c6963656e736520746f20616e6f746865722070617274792070726f76' .'6964656420746861743a','3c6c693e20596f7520756e6465727374616' .'e6420616e6420616772656520746f20746865207465726d73206f66207' .'4686973206c6963656e73652061677265656d656e742e','3c6c693e20' .'54686520536f667477617265206973206f6e6c79207375626c6963656e' .'736564204f4e43452c20746f20612073696e676c652070617274792e', '3c6c693e20596f7520617265206e6f74207573696e672074686520536f' .'667477617265206166746572206772616e74696e672074686520737562' .'6c6963656e73652e','3c6c693e20546865207375626c6963656e73652' .'0697320612076616c69642c2062696e64696e67206c6963656e73652e', '3c6c693e20546865207375626c6963656e736520636f6e7461696e7320' .'7465726d73207468617420617265206e6f206c65737320726573747269' .'6374697665207468616e20746869732061677265656d656e74','20202' .'020286f72207468652073616d65207465726d732061732074686973206' .'1677265656d656e742920616e6420646f6573206e6f7420636f6e74616' .'96e207468697320726967687420746f207375626c6963656e73652e','' .'3c6c693e20546865206c6567616c206a7572697364696374696f6e2066' .'6f7220746865207375626c6963656e736520697320646566696e656420' .'6173206569746865722074686174206f66207468652056656e646f7220' .'6f72','202020202074686174206f6620596f757220636f72706f72617' .'4652068656164206f66666963652e','3c6c693e20596f7520646f206e' .'6f74206d616b6520616e7920726570726573656e746174696f6e73206f' .'722077617272616e74696573206f6e20626568616c66206f662056656e' .'646f722e','3c6c693e20596f7520616772656520746f20656e666f726' .'36520746865207465726d73206f6620616e79207375626c6963656e736' .'5207468617420596f752061726520617574686f72697a656420746f206' .'d616b652e20','496620596f75206661696c20746f20646f20736f2c20' .'596f7520616772656520746861742056656e646f72206d61792074616b' .'65207375636820737465707320696e20596f7572206e616d6520616e64' .'20','617320596f7572206167656e742c20696e636c7564696e67206c6' .'567616c2070726f63656564696e6773206966206e65636573736172792' .'c20746f20656e666f7263652074686520','7375626c6963656e736520' .'6772616e74656420627920596f752e','3c6c693e20596f75206e6f746' .'966792056656e646f72206f6620746865207375626c6963656e7365206' .'16e6420616e792073756273657175656e74207472616e7366657273206' .'27920746865207375626c6963656e7365642070617274792e','3c703e' .'31312e203c623e5445524d494e4154494f4e2e3c2f623e2056656e646f' .'72206d6179207465726d696e61746520596f7572206c6963656e736520' .'696620596f7520646f206e6f7420616269646520','627920746865206' .'c6963656e7365207465726d732e205465726d696e6174696f6e206f662' .'0746865206c6963656e7365206d617920696e636c7564652c206275742' .'06e6f74206265206c696d6974656420','746f2c206d61726b696e6720' .'7468652050726f6475637420494420617320696e76616c696420746f20' .'70726576656e74206675727468657220696e7374616c6c6174696f6e73' .'2e2055706f6e20','7465726d696e6174696f6e206f66206c6963656e7' .'3652c20596f75207368616c6c20696d6d6564696174656c79206469736' .'36f6e74696e75652074686520757365206f662074686520','536f6674' .'7761726520616e64207368616c6c2077697468696e2074656e20283130' .'2920646179732072657475726e20746f2056656e646f7220616c6c2063' .'6f70696573206f662074686520','536f667477617265206f7220636f6' .'e6669726d207468617420596f7520686176652064657374726f7965642' .'0616c6c20636f70696573206f662069742e203c623e596f757220','6f' .'626c69676174696f6e7320746f20706179206163637275656420636861' .'7267657320616e6420666565732c20696620616e792c207368616c6c20' .'7375727669766520616e7920','7465726d696e6174696f6e206f66207' .'46869732041677265656d656e742e3c2f623e2056656e646f722773207' .'468697264207061727479206c6963656e736f7273206d61792070726f7' .'465637420','74686569722072696768747320696e2074686520657665' .'6e74206f6620616e792076696f6c6174696f6e206f6620746865207465' .'726d7320616e6420636f6e646974696f6e73206f66207468697320','6' .'c6963656e73652e20596f7520616772656520746f20696e64656d6e696' .'6792056656e646f7220616e6420697473206c6963656e736f727320666' .'f7220726561736f6e61626c65206174746f726e657920','6665657320' .'696e20656e666f7263696e672069747320726967687473207075727375' .'616e7420746f2074686973206c6963656e73652e','3c703e31322e203' .'c623e444953434c41494d4552204f462057415252414e54592e3c2f623' .'e2054686520536f6674776172652069732070726f7669646564206f6e2' .'0616e202241532049532220','62617369732c20776974686f75742077' .'617272616e7479206f6620616e79206b696e642c20696e636c7564696e' .'672c20776974686f7574206c696d69746174696f6e2c2074686520','7' .'7617272616e74696573206f66206d65726368616e746162696c6974792' .'c206669746e65737320666f72206120706172746963756c61722070757' .'2706f736520616e64206e6f6e2d','696e6672696e67656d656e742e20' .'54686520656e74697265207269736b20617320746f2074686520717561' .'6c69747920616e6420706572666f726d616e6365206f66207468652053' .'6f66747761726520','697320626f726e6520627920596f752e2053686' .'f756c642074686520536f6674776172652070726f76652064656665637' .'46976652c20596f752c206e6f742056656e646f72206f722069747320', '6c6963656e736f72732c20617373756d652074686520656e7469726520' .'636f7374206f6620616e79207365727669636520616e64207265706169' .'722e2049662074686520536f66747761726520697320','696e74656e6' .'4656420746f206c696e6b20746f2c206578747261637420636f6e74656' .'e742066726f6d206f72206f746865727769736520696e7465677261746' .'52077697468206120746869726420','70617274792073657276696365' .'2c2056656e646f72206d616b6573206e6f20726570726573656e746174' .'696f6e206f722077617272616e7479207468617420596f757220706172' .'746963756c617220','757365206f662074686520536f6674776172652' .'06973206f722077696c6c20636f6e74696e756520746f2062652061757' .'4686f72697a6564206279206c617720696e20596f757220','6a757269' .'7364696374696f6e206f72207468617420746865207468697264207061' .'72747920736572766963652077696c6c20636f6e74696e756520746f20' .'626520617661696c61626c6520746f20','596f752e205468697320646' .'973636c61696d6572206f662077617272616e747920636f6e737469747' .'574657320616e20657373656e7469616c2070617274206f66207468652' .'061677265656d656e742e','3c703e31332e203c623e4c494d49544154' .'494f4e204f46204c494142494c4954592e20554e444552204e4f204349' .'5243554d5354414e43455320414e4420554e444552204e4f204c454741' .'4c20','5448454f52592c20544f52542c20434f4e54524143542c204f5' .'2204f54484552574953452c205348414c4c2056454e444f52204f52204' .'95453204c4943454e534f5253204245204c4941424c4520','544f2059' .'4f55204f5220414e59204f5448455220504552534f4e20464f5220414e' .'5920494e4449524543542c205350454349414c2c2050554e4954495645' .'2c20494e434944454e54414c2c204f5220','434f4e53455155454e544' .'9414c2044414d41474553204f4620414e5920434841524143544552204' .'94e434c5544494e472c20574954484f5554204c494d49544154494f4e2' .'c2044414d4147455320','464f5220574f524b2053544f50504147452c' .'20434f4d5055544552204641494c555245204f52204c4f5353204f4620' .'524556454e5545532c2050524f464954532c20474f4f4457494c4c2c20' .'5553452c20','44415441204f52204f5448455220494e54414e4749424' .'c45204f522045434f4e4f4d4943204c4f535345532e20494e204e4f204' .'556454e542057494c4c2056454e444f52204f522049545320','4c4943' .'454e534f5253204245204c4941424c4520464f5220414e592044414d41' .'47455320494e20455843455353204f462054484520414d4f554e542050' .'41494420544f204c4943454e53452054484520','534f4654574152452' .'c204556454e20494620594f55204f5220414e59204f544845522050415' .'25459205348414c4c204841564520494e464f524d45442056454e444f5' .'2204f522049545320','4c4943454e534f5253204f462054484520504f' .'53534942494c495459204f4620535543482044414d414745532c204f52' .'20464f5220414e5920434c41494d2e204e4f20434c41494d2c20','524' .'5474152444c455353204f4620464f524d2c204d4159204245204d41444' .'5204f5220414354494f4e2042524f5547485420425920594f55204d4f5' .'245205448414e204f4e45205945415220','4146544552205448452042' .'4153495320464f522054484520434c41494d204245434f4d4553204b4e' .'4f574e20544f2054484520504152545920415353455254494e47204954' .'2e3c2f623e','3c703e31342e203c623e4150504c494341424c45204c4' .'1572e3c2f623e2054686973206c6963656e7365207368616c6c2062652' .'0696e74657270726574656420696e206163636f7264616e63652077697' .'46820746865206c61777320','6f6620245f76656e646f725f6c6f6361' .'74696f6e242e20416e792064697370757465732061726973696e67206f' .'7574206f662074686973206c6963656e7365207368616c6c20','62652' .'061646a756469636174656420696e206120636f757274206f6620636f6' .'d706574656e74206a7572697364696374696f6e20696e20245f76656e6' .'46f725f6c6f636174696f6e242e','3c703e31352e203c623e474f5645' .'524e494e47204c414e47554147452e3c2f623e20416e79207472616e73' .'6c6174696f6e206f662074686973204c6963656e736520697320646f6e' .'6520666f7220','6c6f63616c20726571756972656d656e747320616e6' .'420696e20746865206576656e74206f662061206469737075746520626' .'5747765656e2074686520456e676c69736820616e6420616e7920','6e' .'6f6e2d456e676c6973682076657273696f6e732c2074686520456e676c' .'6973682076657273696f6e206f662074686973204c6963656e73652073' .'68616c6c20676f7665726e2e','3c703e31362e203c423e454e5449524' .'52041475245454d454e542e3c2f623e2054686973206c6963656e73652' .'0636f6e73746974757465732074686520656e746972652061677265656' .'d656e7420','6265747765656e2074686520706172746965732072656c' .'6174696e6720746f2074686520536f66747761726520616e6420737570' .'6572736564657320616e792070726f706f73616c206f7220','7072696' .'f722061677265656d656e742c206f72616c206f72207772697474656e2' .'c20616e6420616e79206f7468657220636f6d6d756e69636174696f6e2' .'072656c6174696e6720746f2074686520','7375626a656374206d6174' .'746572206f662074686973206c6963656e73652e20416e7920636f6e66' .'6c696374206265747765656e20746865207465726d73206f6620746869' .'73204c6963656e736520','41677265656d656e7420616e6420616e792' .'05075726368617365204f726465722c20696e766f6963652c206f72207' .'26570726573656e746174696f6e207368616c6c206265207265736f6c7' .'6656420','696e206661766f7572206f6620746865207465726d73206f' .'662074686973204c6963656e73652041677265656d656e742e20496e20' .'746865206576656e74207468617420616e7920636c6175736520','6f7' .'220706f7274696f6e206f6620616e79207375636820636c61757365206' .'973206465636c6172656420696e76616c696420666f7220616e7920726' .'561736f6e2c20737563682066696e64696e6720','7368616c6c206e6f' .'74206166666563742074686520656e666f7263656162696c697479206f' .'66207468652072656d61696e696e6720706f7274696f6e73206f662074' .'686973204c6963656e736520','616e642074686520756e656e666f726' .'36561626c6520636c61757365207368616c6c206265207365766572656' .'42066726f6d2074686973206c6963656e73652e203c623e416e7920','' .'616d656e646d656e7420746f20746869732061677265656d656e74206d' .'75737420626520696e2077726974696e6720616e64207369676e656420' .'627920626f746820706172746965732e3c2f623e','3c703e536f66747' .'7617265204c6963656e73652041677265656d656e742076332e3120284' .'a756e652033302c203230303329','53686f756c6420796f7520686176' .'6520616e79207175657374696f6e7320636f6e6365726e696e67207468' .'6973206c6963656e73652c','6f7220696620796f75206465736972652' .'0746f20636f6e7461637420757320666f7220616e7920726561736f6e2' .'c20706c6561736520656d61696c206f722074656c6570686f6e652e','' .'3c2f666f6e743e','3c2f626f64793e3c2f68746d6c3e','5f76656e64' .'6f725f6e616d65','5f76656e646f725f75726c','5f76656e646f725f' .'6c6f636174696f6e','482a','76656e646f725f75726c','76656e646' .'f725f6c6f636174696f6e','75695f73756273','65646974','636f6e' .'6669726d5f6572617365','70657270616765','7569','706167656e7' .'56d','6b6579776f7264','64617465','6d6f6e','646179','796561' .'72','646174655f666f726d6174','6461746574696d655f666f726d61' .'74','5f6267636f6c6f72','23454545454646','23444444444545','' .'726f77','5f6d656e755f686561646572','5f6d656e755f6e616d65', '6d61785f7265636f726473','6572726f725f6d61785f7265636f72647' .'3','5f73656c6563746564','73656c6563746564','6e6f6e65','637' .'265617465645f6279','757064617465645f6279','616464','5f6564' .'6974','6e6f7265636f7264','5f636865636b6564','636865636b656' .'4','5f636f6e6669726d5f6572617365','6572617365203a2043616e2' .'7742066696e64207265636f7264202320','636f6e6669726d5f657261' .'736564','657261736564','73617665203a205461626c65206e616d65' .'20756e646566696e6564','75706c6f6164657874','75706c6f61646c' .'696d6974','75706c6f61646d6178','6d657373616765','303030','' .'75695f736176655f75706c6f616473203a2063616e2774207361766520' .'75706c6f616465642066696c6520','75706c6f61645f686569676874', '75706c6f61645f7769647468','6f776e6572','696d61676577696474' .'68','696d616765686569676874','7566696c65','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', '6e6f745f666f756e64','616363657373','6572726f725f757365726e' .'616d655f74616b656e','6572726f725f6c6173745f61646d696e','6c' .'6f67696e5f696e76616c6964','6d61696c5f6d61696c6572','736d74' .'70','6d61696c5f736d7470','534d5450','736d74705f68656c6f','' .'736d74705f74696d656f7574','6d61696c5f706f703361757468','6d' .'61696c5f706f7033','6d61696c5f706f703375736572','6d61696c5f' .'706f703370617373','73656e646d61696c','6d61696c5f73656e646d' .'61696c','6669656c645f6e616d65','6d6b646972','5468652061626' .'96c69747920746f20637265617465206e6577206469726563746f72696' .'57320686173206265656e2072656d6f7665642066726f6d206f7572206' .'4656d6f2076657273696f6e2e2020','41207265676973746572656420' .'76657273696f6e206f6620','70726f675f6e616d65','20776f756c64' .'20616c6c6f7720796f7520746f20646f20736f2e','6d6b66696c65','' .'546865206162696c69747920746f20637265617465206e65772066696c' .'657320686173206265656e2072656d6f7665642066726f6d206f757220' .'64656d6f2076657273696f6e2e2020','546865206162696c697479207' .'46f2062726f7773652061726f756e6420796f757220736572766572206' .'86173206265656e2072656d6f7665642066726f6d206f75722064656d6' .'f2076657273696f6e2e2020','6469725f62617365','73646972','64' .'656d6f','6d6b6469725f6e616d65','6469725f6572726f72','4e6f2' .'06469726563746f7279206e616d652073706563696669656421','4469' .'726563746f7279206e616d65206d6179206f6e6c7920636f6e7461696e' .'20412d5a2c20612d7a2c20302d392c202d206f72205f','556e61626c6' .'520746f2063726561746520646972203a20','6d6b66696c655f6e616d' .'65','66696c655f6572726f72','4e6f2066696c65206e616d65207370' .'6563696669656421','46696c65206e616d65206d6179206f6e6c79206' .'36f6e7461696e20412d5a2c20612d7a2c20302d392c202d2c205f206f7' .'2202e','46696c6520616c72656164792065786973747321','556e616' .'26c6520746f206372656174652066696c65203a20','64697232','706' .'172656e74','706172656e745f7565','4469726563746f727920646f6' .'5736e277420657869737421','4469726563746f72792069736e277420' .'7265616461626c6521','5f62726f7773655f6469722e68746d6c','70' .'617468','706174685f7565','73697a65','6d74696d65','6d6f6469' .'66696564','6f74686572','6e6f66696c6573','436f6e74656e742d7' .'47970653a20696d6167652f676966','436f6e74656e742d747970653a' .'20696d6167652f6a706567','6c686f7572','6c686f75725f6f666673' .'6574','6d696e7573','6c6d696e','6c6d696e5f6f6666736574','6c' .'6f67696e','6c6f67696e5f65787069726564','6c6f67696e5f74696d' .'656f7574','5f696e746572666163652e68746d6c','75695f6c6f6769' .'6e5f696e746572666163653a2074656d706c61746563656c6c20','686' .'561646572','6c6f67696e5f6d657373616765','666f6f746572','75' .'726c5f6c6f676f6666','3c6d65746120687474702d65717569763d225' .'26566726573682220636f6e74656e743d22303b55524c3d','7374696d' .'65','6c74696d65','656e765f7065726c5f6f73','656e765f7065726' .'c5f766572','656e765f6d6f645f7065726c','656e765f72656d6f746' .'55f686f7374','656e765f72656d6f74655f61646472','656e765f636' .'769646972','73656e646d61696c5f726f77','2f7573722f6c69622f7' .'3656e646d61696c','2f7573722f62696e2f73656e646d61696c','2f7' .'573722f7362696e2f73656e646d61696c','2f7573722f6c6f63616c2f' .'62696e2f73656e646d61696c','2f7362696e2f73656e646d61696c','' .'2f62696e2f73656e646d61696c','2f6574632f73656e646d61696c','' .'73656e646d61696c5f6c697374','74616231','73657475705f776172' .'6e696e67','636c6f73655f77696e646f775f6f6e5f636f6e6669726d', '73657475705f746573746d61696c','5f73657475705f746573746d616' .'96c2e68746d6c','5f636f6e74656e74','6d61696c5f74657374','70' .'6167655f7469746c65','54657374204d61696c','6d61696c746f','6' .'2616420656d61696c2061646472657373','496e76616c696420656d61' .'696c2061646472657373','6e6f20656d61696c2061646472657373','' .'456d61696c2061646472657373206c65667420626c616e6b2e','63616' .'e74206f70656e2074657374206d657373616765','626164206d61696c' .'2074656d706c617465','7375622073656e646d61696c206572726f72', '20','6d61696c207465737420737563636565646564','796573','6d6' .'1696c5f746573745f6661696c6564','4572726f723a204e6f20456d61' .'696c2041646472657373','4572726f723a20496e76616c696420456d6' .'1696c2041646472657373','6e6f','4572726f723a2050726f626c656' .'d20776974682054657374204d657373616765','4572726f723a205072' .'6f62656c6d20776974682054657374204d657373616765','4572726f7' .'23a2050726f62656c6d2073656e64696e67204d657374204d657373616' .'765','6d61696c5f746573745f737563636565646564','54657374204' .'d61696c20537563636565646564','5f6261636b5f627574746f6e','5' .'46865206162696c69747920746f20616c746572205365747570204f707' .'4696f6e7320686173206265656e2072656d6f7665642066726f6d206f7' .'5722064656d6f2076657273696f6e2e2020','20776f756c6420616c6c' .'6f7720796f7520746f206368616e676520616e79206f66207468657365' .'206669656c64732e','73617665645f74616231','6d61785f73756263' .'61745f6465707468','6465707468','5f72656731','5f72656733','' .'74616239','73756d6d6172795f74797065','636f6e74656e745f7479' .'7065','70617273655f737369','5f696d61676575726c','5f75695f7' .'469746c65','7469746c65626172','5f75695f666f6f746572','5f75' .'726c5f68656c70','75726c5f68656c70','73756d6d6172795f666f72' .'6d6174','73756d6d617279','636f6e74656e745f666f726d6174','6' .'36f6e74656e74','7075626c69736865645f616c6c','496e746572666' .'16365203a204e6f2074656d706c6174652063656c6c207761732073706' .'563696669656421','496e74657266616365203a20546865207365636f' .'6e6420617267756d656e74206d75737420626520612048415348207265' .'666572656e636521','6e6f5f68656c70','6d656e756261725f61636c', '6d656e75626172','5f6f6e6c79','5f63757365725f6964','696e746' .'57266616365','3c212d2d','2076','20284275696c643a20','4c696' .'3656e73652023','207e20','457865637574652074696d653a2025303' .'164207365636f6e6473','2d2d3e','64617461646972','6e6f777269' .'7465','64656d6f5f6d657373616765','73657475705f74616273','7' .'461625f6e756d','7461625f6e616d65','7461625f756e73656c65637' .'46564','7461625f73656c6563746564','5f6865616465725f746162', '7461625f626172','7461625f6c697374','74656d706c6174655f696e' .'636c756465','696e736964655f737369','54656d706c617465203a20' .'546865207365636f6e6420617267756d656e74206d7573742062652061' .'2048415348207265666572656e6365206f7220756e646566696e656421', '696e636c75646573','61736466','636c6f7365','557365722d41676' .'56e74','6170706c69636174696f6e2f782d7777772d666f726d2d7572' .'6c656e636f646564','646f6e745f666f72776172645f687474705f686' .'56164657273','20485454502f312e30','3a20','6172745f696d6167' .'655f75726c','696d675f616c69676e','61727469636c655f65646974' .'6f72','696d6167655f616c69676e6d656e74','7269676874','696d6' .'75f75726c','696d675f63617074696f6e','63617074696f6e','696d' .'675f686569676874','696d6167656865696768745f696d616765','69' .'6d675f7769647468','696d61676577696474685f696d616765','696d' .'675f6e6f63617074696f6e','6172745f73756d6d617279','6172745f' .'636f6e74656e74','6172745f6669656c64','676c6f62616c5f757064' .'61746564','3c6d657461206e616d653d2267656e657261746f7222206' .'36f6e74656e743d22','3c212d2d204c617374205570646174656420', '202d2d3e','5f5f4449455f5f','5f5f5741524e5f5f','656d61696c5' .'f6e6f74696669636174696f6e5f656e61626c6564','6e6f7469666963' .'6174696f6e5f6576656e7473','2c','656d61696c','6576656e745f6' .'e616d6573','2d2d2d','7374617475735f6e616d6573','70656e6469' .'6e67','76697369626c65','68696464656e','7075626c6973685f737' .'06563696679','757365725f66756c6c6e616d65','6576656e74','73' .'7461747573','6172745f','6172745f7370617265','75726c5f73656' .'1726368','75726c5f67696e646578','7075626c6973685f696e64657' .'85f66696c65707265666978','7075626c6973685f66696c65657874', '66696c655f6763617465676f72696573','7075626c6973685f6361745' .'f6c6973745f66696c65707265666978','66696c655f67686561646c69' .'6e6573','7075626c6973685f686561646c696e655f66696c657072656' .'66978','66696c655f63617465676f72696573','6172745f636174','' .'66696c655f686561646c696e6573','7075626c6973685f6361745f686' .'561646c696e655f66696c65707265666978','66696c655f686561646c' .'696e65735f6279636174','7075626c6973685f73616d706c65725f666' .'96c65707265666978','66696c655f736561726368','7075626c69736' .'85f7365617263685f666f726d5f66696c65707265666978','6172745f' .'7072696e7465725f75726c','616c6c6f775f6172745f66696c656e616' .'d65','7075626c6973685f6172745f7072696e7465725f66696c657072' .'65666978','686f7572','706d','6d696e','6172745f64617465','6' .'172745f74696d65','74696d655f666f726d6174','6361745f6e616d6' .'5','6361745f62726561646372756d62','7075625f66696c657072656' .'669785f73706563696679','7075625f66696c65707265666978','707' .'5626c6973685f6361745f66696c65707265666978','75726c5f696e64' .'6578','6361745f6e756d','676361745f6e616d65','6172745f74797' .'065','75726c5f7468697370616765','64657461696c5f6c696e6b','' .'6172745f66696c656e616d65','7075626c6973685f6172745f66696c6' .'5707265666978','6172745f6e756d','6d61696c5f73656e6465725f6' .'56d61696c','6d61696c5f73656e6465725f6e616d65','656d61696c2' .'f6e6f746966792e747874','54686520656d61696c2074656d706c6174' .'65206e6f746966792e74787420697320696d70726f7065726c7920666f' .'726d61747465642e','436f6e74656e742d547970653a20746578742f7' .'06c61696e','656d61696c5f616c6c5f63617473','656d61696c5f636' .'17473','656d61696c5f6e6f74696669636174696f6e5f6576656e7473', '6e6f74696669636174696f6e735f746f5f6669656c64','6263635f6c6' .'973745f736570617261746f72','6361745f6572617365','6361745f6' .'36f6e6669726d5f6572617365','637573746f6d5f75695f736176655f' .'75706c6f616473203a2063616e277420736176652075706c6f61646564' .'2066696c6520','7669727475616c5f7075626c6973685f646972','70' .'75626c6973686469725f66696c6570617468','7075626c69736864697' .'25f7669727475616c70617468','7669727475616c5f6763617465676f' .'72696573','7669727475616c5f67686561646c696e6573','76697274' .'75616c5f686561646c696e65735f6279636174','7669727475616c5f7' .'36561726368','6361745f67656e65726174655f62726561646372756d' .'625f68746d6c','63617465676f72795f62726561646372756d622e687' .'46d6c','6361745f75706461746564','6361745f696d616765','7566' .'696c655f696d616765','6361745f696d6167655f7769647468','6361' .'745f696d6167655f686569676874','5f62726561646372756d625f6c6' .'96e6b','62726561646372756d625f6c696e6b','5f627265616463727' .'56d625f6c696e6b5f73656c6563746564','62726561646372756d625f' .'6c696e6b5f73656c6563746564','62726561646372756d625f6469766' .'9646572','676c6f62616c5f6f72646572','616c6c5f63617473','63' .'617473','646973706c61795f6f6e6c79','61727469636c655f6c6973' .'74','6e6f68696464656e','6361745f67656e65726174655f62726561' .'646372756d625f74657874','63617465676f72696573','6d61785f62' .'726561646372756d625f6f7074696f6e5f6c656e677468','6f7074696' .'f6e5f696e64656e746174696f6e5f737472696e67','6f7074696f6e5f' .'696e64656e746174696f6e5f737566666978','5f63676975726c','5f' .'75695f6267636f6c6f72','53657276657220746f6f206275737921','' .'41727469636c65732063616e6e6f74206265206163636573736564206f' .'72207361766564207269676874206e6f772e20536f6d656f6e6520656c' .'736520697320747279696e6720746f2073617665207468656972206172' .'7469636c652c206f72207468652073797374656d20697320696e207468' .'65206d69647374206f662072652d7075626c697368696e67206f722061' .'7263686976696e672061727469636c65732e20506c6561736520776169' .'742061206d6f6d656e7420616e64207468656e2074727920616761696e' .'2e','6d6163667470','7075626c697368','6d6f645f7065726c','6e' .'6f68656c70','4e6f2048656c7020417661696c61626c65','536f7272' .'792c206e6f2068656c702069732063757272656e746c7920617661696c' .'61626c6520666f722074686973206170706c69636174696f6e2e202050' .'6c6561736520636f6e7461637420796f75722073797374656d2061646d' .'696e6973747261746f7220666f7220617373697374616e63652e','4e6' .'f20737563682066696c65206f72206469726563746f7279','5065726d' .'697373696f6e2064656e696564','206f6e436c69636b3d2277696e646' .'f772e636c6f736528293b2220','6267636f6c6f72','2e2e2f6461746' .'12f','2e2e2f646174612f66696c656c6f636b2e6c6f636b','2562202' .'56f2c202559202d2025483a254d3a2553','25622025652c202559','4' .'57870697265642055736572','61636c5f6e616d6573','a1','4d4f44' .'5f5045524c','616c6c6f775f6d6f645f7065726c','63676966696c65', '74656d706c61746564697231','2e2e2f74656d706c61746573','7465' .'6d706c61746564697232','2e2e2f74656d706c617465732f696e74657' .'266616365','74656d706c61746564697233','2e2e2f5f736f7572636' .'55f696d61676573','506c6561736520696e7374616c6c207468652070' .'726f6772616d2066697273742062792072756e6e696e672061646d696e' .'2e636769','5f70726f675f6e616d65','5f70726f675f766572','707' .'2696e746572','4e6f2063617465676f72792077617320737065636966' .'696564','546869732061727469636c652063616e27742062652064697' .'3706c61796564206265636175736520656974686572206e6f206361746' .'5676f7279207761732073656c65637465642c206f72207468652063617' .'465676f7279206861732073696e6365206265656e206572617365642e', '4e6f2041727469636c652050616765','546869732061727469636c652' .'063616e277420626520646973706c617965642062656361757365206e6' .'f2061727469636c65207061676520776173207075626c69736865642e', '7072696e7465725f74656d706c6174655f66696c65','61727469636c6' .'52f64656661756c745f7072696e7465722e68746d6c','61727469636c' .'655f74656d706c6174655f66696c65','61727469636c652f646566617' .'56c742e68746d6c','61727469636c653a','7669727475616c5f63617' .'465676f72696573','7669727475616c5f686561646c696e6573','766' .'9657765725f70617468696e666f','2f7072696e746572','3f6172636' .'86976653d','266e756d3d','267072696e7465723d31','6361746567' .'6f72795f6c697374','666f726d61745f7370617265' );for(@z){$_=pack('H*',$_)}}BEGIN{eval$z[0];if(!$@){use vars qw($___script_start_time);$___script_start_time=Time::HiRes::time(); }};use Socket;use Time::Local;use Fcntl qw(:DEFAULT :flock); &ab;MAIN:;if(!$ac{$z[1]}&&$ac{$z[2]}>=1.33){$ad{$z[3]}=$ac{$z[3]}; print"Content-type: text/html\n\n";print&ae($z[4],{});exit; }if(!$af{$z[5]}){&ag("No article number was specified! (example: view.cgi?num=###)"); }&ah($af{$z[6]},$af{$z[5]});sub ab{%ai=();%ac=();%ad=();%aj =();%ak=();%af=();%al=();%am=();$ai{$z[7]}=$z[8];$ai{$z[9]} =$z[10];$ai{$z[11]}=20;$SIG{__DIE__}=\&ag;srand;$|=1;$^T=time(); binmode(STDOUT);my$an=$0;$an=~s/.*[\\\/]//;my@ao=($0,$ENV{$z[12]}); my$ap=(grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@ao))[0];$ap||= (($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0];$ap=~s/\\/\//g;if(!$ap) {die("Can't determine cgi directory!\n");}$aj{$z[13]}={$z[14] =>$z[13],$z[15]=>$z[16],$z[17]=>$z[18],$z[19]=>$z[20],$z[21] =>$z[22].$z[23].$z[24].$z[25].$z[26].$z[27].$z[28].$z[29].$z[30]. $z[31].$z[32].$z[33].$z[34].$z[35].$z[36].$z[37].$z[38].$z[39]. $z[40],$z[41]=>$z[14],$z[42]=>$z[43],$z[44]=>\&aq,$z[45]=>[ [$z[46],\&ar],[$z[47],\&as],],};$aj{$z[48]}={$z[14]=>$z[13], $z[15]=>$z[49],$z[17]=>$z[50],$z[19]=>$z[51],$z[21]=>$aj{$z[13]}{$z[21]}, $z[41]=>$aj{$z[13]}{$z[41]},$z[42]=>$aj{$z[13]}{$z[42]},$z[45] =>[[$z[47],\&as],],};$aj{$z[52]}={$z[14]=>$z[52],$z[15]=>$z[53], $z[17]=>$z[54],$z[19]=>$z[55],$z[21]=>$z[56].$z[57].$z[58]. $z[59].$z[60].$z[61].$z[62],$z[41]=>$z[14],$z[42]=>$z[63],$z[44] =>\&at,$z[45]=>[[$z[46],\&au],[$z[47],\&av],],};$aj{$z[6]}= {$z[14]=>$z[6],$z[15]=>$z[64],$z[17]=>$z[65],$z[19]=>$z[66], $z[21]=>$z[67],$z[41]=>$z[14],$z[42]=>$z[68],$z[45]=>[[$z[47], \&aw],],};$aj{$z[69]}={$z[14]=>$z[69],$z[17]=>$z[70],$z[19] =>$z[71],$z[21]=>$z[72],$z[41]=>$z[73],$z[42]=>$z[14],$z[45] =>[[$z[46],\&ax],[$z[47],\&ay],],};$aj{$z[74]}={$z[14]=>$z[74], $z[19]=>$z[75],$z[21]=>$aj{$z[69]}{$z[21]},};$aj{$z[76]}={$z[14] =>$z[76],$z[17]=>$z[77],$z[19]=>$z[78],$z[21]=>$z[79].$z[80] .$z[81].$z[82].$z[83].$z[84].$z[85].$z[86].$z[87].$z[88].$z[89] .$z[90].$z[91].$z[92].$z[93].$z[94].$z[95].$z[96].$z[97].$z[98] .$z[99].$z[100].$z[101].$z[102].$z[103].$z[104],};1;;sub oc {my$aj=$_[0];my($az)="$ai{'datadir'}$aj->{'datafile'}";my(@ba); if(ref($aj)ne$z[105]){die"DB_Count : The first argument must be a HASH reference!\n"; }if(!$aj->{$z[19]}){die"DB_Count : No datafile defined in database definition (\%DBDef)!\n"; }unless(-e$az){return(0);}&bb;open(AB,"<$az")||&bc("DB_Count : Can't open '$az'"); @ba=grep/^\d/,;close(AB);&bd;my$be=@ba;return$be||0;}sub ma{my$aj=$_[0];if(ref($aj)ne$z[105]){die$z[106]."\n";}if(defined($_[1]) &&ref($_[1])ne$z[105]){die$z[107]."\n";}if(!$_[2]){die$z[108]."\n"; }my($az)="$ai{'datadir'}$aj->{'datafile'}";my(@bf)=split(/ /,$aj->{$z[21]}); my($bg)=$_[1]if defined($_[1]);my($bh)=grep{$bf[$_]eq$_[2]} (0..$#bf);my($bi)=$_[3];my($bj)=$_[4];my(@ba);my(@bk);unless (-e$az){return(0);}if(-e$az){&bb;open(AB,"<$az")||&bc("DB_Seek : Can't open '$az'"); @ba=;close(AB);&bd;}foreach(@ba){/^(\d+)\¡/;($1&&$1>=$bj) ||next;s/[^¡]+$//;undef%$bg if defined($bg);@bk=split(/\¡/); next if($bk[$bh]ne$bi);if(defined($bg)){for(0..$#bf){$bg->{$bf[$_]} =$bk[$_];$bg->{$bf[$_]}=~s/¿([A-F0-9]{2})/pack($z[109],hex($1))/egix; }}return 1;}return 0;}sub pd{my$aj=$_[0];my($az)="$ai{'datadir'}$aj->{'datafile'}"; my(@bf)=split(/ /,$aj->{$z[21]});unless($aj->{$z[110]}){for (0..$#bf){$aj->{$z[110]}{$bf[$_]}=$_;}}my($bl)=$_[1];my($bg) =$_[2]||{};my($bm)=$_[3];my(@ba);my(@bk);my($bn,$bo);my$bp; if(ref($aj)ne$z[105]){die$z[111]."\n";}if(ref($_[1])ne$z[112] &&$_[1]){die$z[113]."\n";}if(ref($_[2])ne$z[105]&&$_[2]){die $z[114]."\n";}if(!defined&$bl){die$z[115]."\n";}if(!$aj->{$z[19]}) {die$z[116]."\n";}unless(-e$az){return(0);}&bb;open(AB,"<$az") ||&bc("DB_List : Can't open '$az'");@ba=;close(AB);&bd; @ba=grep/^\d/,@ba;&bq($aj,\@ba,$bm);if($aj->{$z[42]}){my($br,$bs); foreach(split(/ /,$aj->{$z[42]})){if(s/#//g){$bn=$z[117];}else {$bn='';}if(s/-//g){$bo=$z[118];}else{$bo='';}if(!defined$aj->{$z[110]}{$_}) {die($z[119]."'$_'!\n");}$bs.="$bo$aj->{'fieldn'}{$_}$bn "; }@ba=&bt($z[120],$bs,\@ba);}foreach(@ba){s/[^¡]+$//;undef%$bg; @bk=split(/\¡/);for$bp(0..$#bf){$bg->{$bf[$bp]}=$bk[$bp];$bg->{$bf[$bp]} =~s/¿([A-F0-9]{2})/pack($z[109],hex($1))/egix;}&$bl($bg);}} sub or{my($aj)=$_[0];my($bu)=$_[1];my($bv)=int$_[2]||1;my($bw) =int$_[3];my($bx)=$_[4];my($by)=$_[5];my($bn,$bo);my($bz,$ca,$bp); my($bg)={};if(ref($aj)ne$z[105]){die$z[121]."\n";}if(ref($_[1]) ne$z[112]&&$_[1]){die$z[122]."\n";}if(!defined&$bu){die$z[123]."\n"; }if(!$aj->{$z[19]}){die$z[124]."\n";}my($az)="$ai{'datadir'}$aj->{'datafile'}"; my(@bf)=split(/ /,$aj->{$z[21]});unless($aj->{$z[110]}){for (0..$#bf){$aj->{$z[110]}{$bf[$_]}=$_;}}my($cb,$cc,$cd,$ce,$cf) =(0,0,0,0,0);my(@ba);my(@bk);unless(-e$az){return(0,0,0,0,0,0); }&bb;open(AB,"<$az")||&bc("DB_List : Can't open '$az'");@ba =;close(AB);&bd;@ba=grep/^\d/,@ba;&bq($aj,\@ba,$bx);$cd =scalar@ba;&bq($aj,\@ba,$by);$cc=scalar@ba;if($aj->{$z[42]}) {my($br,$bs);foreach(split(/ /,$aj->{$z[42]})){if(s/#//g){$bn=$z[117]; }else{$bn='';}if(s/-//g){$bo=$z[118];}else{$bo='';}if(!defined $aj->{$z[110]}{$_}){die($z[125]."'$_'!\n");}$bs.="$bo$aj->{'fieldn'}{$_}$bn "; }@ba=&bt($z[120],$bs,\@ba);}$ca=($bv*$bw)-($bw-1);$bz=$bv*$bw; if($bz>$#ba){$bz=$#ba+1;}for($ca..$bz){$_=$ba[$_-1];s/[^\¡]+$//; undef%$bg;@bk=split(/\¡/);for$bp(0..$#bf){$bg->{$bf[$bp]}=$bk[$bp]; $bg->{$bf[$bp]}=~s/¿([A-F0-9]{2})/pack($z[109],hex($1))/egix; }&$bu($bg);}$bw||=1;$cb=int($cc/$bw);if($cc%$bw){$cb++;}if(($bv-1) <1||($bv-1)>$cb){$ce=$cb;}else{$ce=$bv-1;}if(($bv+1)>$cb){$cf =1;}else{$cf=$bv+1;}if(!$cb){$bv=$ce=$cf=0;}return($cb,$cc, $cd,$bv,$ce,$cf);}sub lx{my$aj=$_[0];if(ref($aj)ne$z[105]){ die"DB_ListSave : The first argument must be a HASH reference!\n"; }if(ref($_[1])ne$z[112]&&$_[1]){die"DB_ListSave : The second argument must be a CODE reference!\n"; }if(ref($_[2])eq$z[105]){die"DB_ListSave : Use of an output hash reference is depricated. Argument order has been changed.\n"; }my($az)="$ai{'datadir'}$aj->{'datafile'}";my(@bf)=split(/ /,$aj->{$z[21]}); unless($aj->{$z[110]}){for(0..$#bf){$aj->{$z[110]}{$bf[$_]} =$_;}}my($bl)=$_[1];my($bm)=$_[2];my($cg)=$_[3];my($bg)=$_[4] ||{};my(@ba,$ch,%ci);my(@bk,$bn,$bo,$bp);unless(-e$az){return(0); }&bb;open(AB,"<$az")||&bc("DB_List : Can't open '$az'");@ba =;close(AB);if($ba[1]=~m/#(\d+)/){$ch=$1;}else{foreach(@ba) {/^\d/||next;$ci{(split(/\¡/))[0]}=1;}$ch=(sort{$b<=>$a}keys %ci)[0];}@ba=grep/^\d/,@ba;my$cj=&ck($aj,\@ba,$bm);if($cg&& $aj->{$z[42]}){my($br,$bs);foreach(split(/ /,$aj->{$z[42]})) {if(s/#//g){$bn=$z[117];}else{$bn='';}if(s/-//g){$bo=$z[118]; }else{$bo='';}if(!defined$aj->{$z[110]}{$_}){die($z[126]."'$_'!\n"); }$bs.="$bo$aj->{'fieldn'}{$_}$bn ";}@ba=&bt($z[120],$bs,\@ba); }foreach(@ba){if(!$cj->{$z[127]}&&!$cj->{(/^(\d+)/)[0]}){next; }s/[^¡]+$//;undef%$bg;@bk=split(/\¡/);for$bp(0..$#bf){$bg->{$bf[$bp]} =$bk[$bp];$bg->{$bf[$bp]}=~s/¿([A-F0-9]{2})/pack($z[109],hex($1))/egix; }&$bl($bg);if($bg->{num}){$_="$bk[$bp]¡";for$bp(1..$#bf){my($cl) =$bg->{$bf[$bp]};$cl=~s/[\x1a\r\n\¡\¿]/sprintf($z[128],ord($&))/egx; $_.="$cl¡";}$_.="\n";}else{undef$_;}}open(AB,">$az.tmp$$")or &bc("DB_ListSave : Can't open '$az.tmp$$' for writing");print AB qq|#!$^X\n|or&bc("DB_ListSave : Can't write section 1 header to '$az.tmp$$'"); print AB qq|#$ch\n|or&bc("DB_ListSave : Can't write section 2 header to '$az.tmp$$'"); print AB$z[129]."\n".$z[130]."\n"or&bc("DB_ListSave : Can't write section 3 header to '$az.tmp$$'"); foreach(@ba){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&bc("DB_ListSave: Can't write to $az.tmp$$"); }close(AB)or&bc("DB_ListSave : Can't close $az.tmp$$");rename("$az.tmp$$",$az) or&bc("DB_ListSave : Can't rename '$az.tmp$$' to '$az'.");&bd; }sub cu{my$aj=$_[0];if(ref($aj)ne$z[105]){die$z[131]."\n";} if(ref($_[1])ne$z[105]){die$z[132]."\n";}my($az)="$ai{'datadir'}$aj->{'datafile'}"; my(@bf)=split(/ /,$aj->{$z[21]});my($af)=$_[1];my($cm)=int$_[2]; my(@ba);my(@bk);my(%ci);my($cn,$bp,$ch);&bb;if(-e$az){open(AB,"<$az") ||&bc("DB_Add : Can't open '$az'");@ba=;close(AB);}if($ba[1] =~m/#(\d+)/){$ch=$1;}else{foreach(@ba){/^\d/||next;$ci{(split(/\¡/))[0]} =1;}$ch=(sort{$b<=>$a}keys%ci)[0];}if($cm&&$ci{$cm}){&bd;return &co(@_);}elsif($cm){$cn=$cm;}else{$cn=$ch=$ch+1;}$af{$z[133]} =$cn;open(AB,">$az.tmp$$")or&bc("DB_Add : Can't open '$az.tmp$$' for writing"); print AB qq|#!$^X\n|or&bc("DB_Add : Can't write section 1 header to '$az.tmp$$'"); print AB qq|#$ch\n|or&bc("DB_Add : Can't write section 2 header to '$az.tmp$$'"); print AB$z[129]."\n".$z[130]."\n"or&bc("DB_Add : Can't write section 3 header to '$az.tmp$$'"); foreach(@ba){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&bc("DB_Add : Can't copy record to $az.tmp$$ : $!\n"); }my($cp)="$cn¡";for$bp(1..$#bf){my($cl)=$af->{$bf[$bp]};$cl =~s/[\x1a\r\n\¡\¿]/sprintf($z[128],ord($&))/egx;$cp.="$cl¡"; }print AB"$cp\n"or&bc("DB_Add : Can't add new record to $az.tmp$$"); close(AB)or&bc("DB_Add : Can't close $az.tmp$$");rename("$az.tmp$$",$az) or&bc("DB_Add : Can't rename '$az.tmp$$' to '$az'.");&bd;return $cn;}sub lv{my$aj=$_[0];my($cq,$cr,$cp)=caller;if(ref($aj)ne $z[105]){die$z[134]."\n";}if(ref($_[1])ne$z[105]){die$z[135]."\n"; }if(!$_[2]){die$z[136]."caller: $cp\n";}my($az)="$ai{'datadir'}$aj->{'datafile'}"; my(@bf)=split(/ /,$aj->{$z[21]});my($bg)=$_[1];my($ci)=int$_[2]; my(@ba);my(@bk);my($bp);unless(-e$az){return(0);}if(-e$az){ &bb;open(AB,"<$az")||&bc("DB_Load : Can't open '$az'");@ba= ;close(AB);&bd;}foreach(@ba){/^$ci\¡/||next;s/[^¡]+$//; undef%$bg;@bk=split(/\¡/);for$bp(0..$#bf){$bg->{$bf[$bp]}=$bk[$bp]; $bg->{$bf[$bp]}=~s/¿([A-F0-9]{2})/pack($z[109],hex($1))/egix; }return 1;}return 0;}sub of{my$aj=$_[0];if(ref($aj)ne$z[105]) {die$z[137]."\n";}if(!$_[1]){die$z[138]."\n";}my($az)="$ai{'datadir'}$aj->{'datafile'}"; my(@bf)=split(/ /,$aj->{$z[21]});my($ci)=int$_[1];my(%bz);my($cs) =0;for(1..$#_){$bz{$_[$_]}++;}my(@ba,$ch,%ci);unless(-e$az) {return(0);}&bb;if(-e$az){open(AB,"<$az")||&bc("DB_Del : Can't open '$az'"); @ba=;close(AB);}if($ba[1]=~m/#(\d+)/){$ch=$1;}else{foreach (@ba){/^\d/||next;$ci{(split(/\¡/))[0]}=1;}$ch=(sort{$b<=>$a }keys%ci)[0];}open(AB,">$az.tmp$$")or&bc("DB_Del : Can't open '$az.tmp$$' for writing"); print AB qq|#!$^X\n|or&bc("DB_Del : Can't write section 1 header to '$az.tmp$$'"); print AB qq|#$ch\n|or&bc("DB_Del : Can't write section 2 header to '$az.tmp$$'"); print AB$z[129]."\n".$z[130]."\n"or&bc("DB_Del : Can't write section 3 header to '$az.tmp$$'"); foreach(@ba){/^(\d+)\¡/||next;if($bz{$1}){$cs++;next;}s/[^¡]+$//; print AB"$_\n"or&bc("DB_Del : Can't copy record to $az.tmp$$ : $!\n"); }close(AB)or&bc("DB_Del : Can't close $az.tmp$$");rename("$az.tmp$$",$az) or&bc("DB_Del : Can't rename '$az.tmp$$' to '$az'.");&bd;return $cs;}sub co{my$aj=$_[0];if(ref($aj)ne$z[105]){die$z[139]."\n"; }if(ref($_[1])ne$z[105]){die$z[140]."\n";}if(!$_[2]){die$z[141]."\n"; }my($az)="$ai{'datadir'}$aj->{'datafile'}";my(@bf)=split(/ /,$aj->{$z[21]}); my($af)=$_[1];my($ci)=int$_[2];my($ct)=0;my(@ba);my(@bk);my($bp,$bg,$ch,%ci); if(!-e$az){return&cu(@_);}&bb;open(AB,"<$az")||&bc("DB_Save : Can't open '$az'"); @ba=;close(AB);if($ba[1]=~m/#(\d+)/){$ch=$1;}else{foreach (@ba){/^\d/||next;$ci{(split(/\¡/))[0]}=1;}$ch=(sort{$b<=>$a }keys%ci)[0];}open(AB,">$az.tmp$$")or&bc("DB_Save : Can't open '$az.tmp$$' for writing"); print AB qq|#!$^X\n|or&bc("DB_Save : Can't write section 1 header to '$az.tmp$$'"); print AB qq|#$ch\n|or&bc("DB_Save : Can't write section 2 header to '$az.tmp$$'"); print AB$z[129]."\n".$z[130]."\n"or&bc("DB_Save : Can't write section 3 header to '$az.tmp$$'"); foreach(@ba){/^\d/||next;if(/^$ci\¡/){my($cp)="$ci¡";for$bp (1..$#bf){my($cl)=$af->{$bf[$bp]};$cl=~s/[\x1a\r\n\¡\¿]/sprintf($z[128],ord($&))/egx; $cp.="$cl¡";}print AB"$cp\n"or&bc("DB_Save : Can't save modified record to $az.tmp$$"); $ct++;next;}s/[^¡]+$//;print AB$_,"\n"or&bc("DB_Save : Can't copy record to $az.tmp$$"); }close(AB)or&bc("DB_Save : Can't close $az.tmp$$");rename("$az.tmp$$",$az) or&bc("DB_Save : Can't rename '$az.tmp$$' to '$az'.");&bd;unless($ct) {return&cu(@_);}}sub bb{my$cv=$ak{$z[142]}||5;&cw($z[143],$cv); }sub bd{my$cv=$ak{$z[142]}||5;&cx($cv);}sub dj{my($aj,$cy,$cz) =@_;my(@da,@db);unless($aj->{$z[110]}){my(@bf)=split(/ /,$aj->{$z[21]}); for(0..$#bf){$aj->{$z[110]}{$bf[$_]}=$_;}}foreach(@{$cz}){my ($dc,$dd,$de)=@{$_};next if$de eq'';if(ref($de)eq$z[144]){foreach (@$de){s/[\x1a\r\n\¡\¿]/sprintf($z[128],ord($&))/egx;$_=quotemeta($_); }}else{$de=~s/[\x1a\r\n\¡\¿]/sprintf($z[128],ord($&))/egx;$de =quotemeta($de);}$dd=uc$dd;my$df=$aj->{$z[110]}{$dc};unless (defined$df){&ag($z[145].$dc.$z[146].&dg($cz));}if($dd eq$z[147]) {push@da,"/$de/i";push@db,"\$f[$df] =~ /$de/i";}elsif($dd eq $z[148]){push@db,"\$f[$df] ne /$de/i";}elsif($dd eq$z[149]) {push@da,"/¡$de¡/i";push@db,"\$f[$df] eq q/$de/";}elsif($dd eq$z[150]||$dd eq$z[151]||$dd eq$z[152]||$dd eq$z[153]||$dd eq$z[154]){push@db,"\$f[$df] $dd $de";}elsif($dd eq$z[155]) {my($dh,$di)=@{$de};push@db,"\$f[$df] >= $dh && \$f[$df] <= $di"; }elsif($dd eq$z[156]){my($dh,$di)=@{$de};push@db,"!(\$f[$df] >= $dh && \$f[$df] <= $di)"; }elsif($dd eq$z[157]){push@db,$z[158].join($z[159],map{"\$f[$df] eq q/$_/" }@{$de}).$z[160];}elsif($dd eq$z[161]){push@db,$z[162].join($z[159], map{"\$f[$df] eq q/$_/"}@{$de}).$z[160];}else{&ag($z[163].$dd .$z[146].&dg($cz));}}unshift(@db,$z[164])if@db;return(\@da, \@db);}sub bq{my($aj,$rec_nopack,$cz)=@_;my($da,$db)=&dj($aj, $rec_nopack,$cz);return unless(@$da||@$db);my$dk=$z[165].join($z[166], @$da,@$db).$z[167];&dl($dk);eval$dk;&dl($@);}sub ck{my($aj, $rec_nopack,$cz)=@_;my($da,$db)=&dj($aj,$rec_nopack,$cz);return ({$z[127]=>1})unless(@$da||@$db);my%match_nopack;my$dk=$z[168] .join($z[166],@$db).$z[169];&dl($dk);eval$dk;&dl($@);return(\%match_nopack); }sub bc{my($dm)=(@_);my($dn)=$!;if($dn eq''){$dn="Unknown error. Maybe disk quota exceeded?"; }&ag($z[170],"$dm : $dn\n");}1;;sub un{local(*AB);my($dp)=$_[0]; my(@dq,$dr,%ds);$dr=\%ds;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,"<$dp")||die("INI_Load : Could open ini file! $!\n"); @dq=;close(AB);foreach(@dq){/^\s*#/m&&next;if(/^\s*\[/m) {$dr=\%ds;foreach(/\[(.+?)\]/g){$dr=\%{$dr->{$_}};}next;}my $dt=index($_,$z[171]);if($dt>0){my$du=substr($_,0,$dt);my$de =substr($_,$dt+1);foreach($du,$de){s/^\s+//;s/\s+$//;}$du=~ /[^a-zA-Z\/0-9_\-]/&&die("INI_Load : Invalid key '$du' in ini file '$dp'!\n"); defined$dr->{$du}&&die("INI_Load : Key '$du' defined twice in ini file '$dp'!\n"); $dr->{$du}=$de;}elsif($dt==-1){my$du=$_;for($du){s/^\s+//;s/\s+$//; }if(!length$du){next;}defined$dr->{$du}&&die("INI_Load : Key '$du' defined twice in ini file '$dp'!\n"); $dr->{$du}=1;}}return%ds;}sub dg{my$dr=$_[0];my$dv=$_[1];my $dw=$_[2]||$z[172];my$bg;if(ref($dr)eq$z[105]){foreach(sort keys%{$dr}){if(ref($dr->{$_})){$bg.=&dg($dr->{$_},"$dv\{$_}"); }else{$bg.="\$$dw$dv"."{$_} = $dr->{$_}\n";}}}elsif(ref($dr) eq$z[144]){for(0..$#{$dr}){if(ref($dr->[$_])){$bg.=&dg($dr->[$_],"$dv\[$_]"); }else{$bg.="\$$dw$dv"."[$_] = $dr->[$_]\n";}}}return$bg;}sub oh{my($dx,$dy)=@_;my(%dz);local(*AC);if(!-e$dx){$!=$z[173].$dx.$z[174]; return(0);}if($dy&&$dy ne$z[175]&&$dy ne$z[176]){die($z[177]."$dy\n"); }opendir(AC,$dx);foreach(grep(!/^\.+$/,readdir(AC))){if($dy eq$z[175]){$dz{$_}++if-f"$dx/$_";}elsif($dy eq$z[176]){$dz{$_}++ if-d"$dx/$_";}else{$dz{$_}++;}}closedir(AC);return%dz;}sub dl{my$ea;my$bp;while(my($dp,$cp,$eb)=(caller($bp++))[1,2,3]) {$dp=~s/^.*[\/\\]//;$eb=~s/^main:://;unless($eb=~s/__ANON__/(anonymous)/) {$eb=$z[178].$eb;}$ea.=qq!$dp ($cp)¡called $eb¡¡!;}$ea=~s/\\/\\\\/g; $ea=~s/'/\\'/g;$ea=~s/¡/\\n/g;$ai{$z[179]}.=qq|>|; $ai{$z[179]}.=join("\n
",map{&ec($_)}@_)."
\n
"; }sub uy{my($ed,$ee)=@_;local(*AD);local(*AE);open(AD,"<$ed") ||die($z[180]."$ed : $!\n");open(AE,">$ee")||die($z[181]."$ee : $!\n"); binmode(AD);binmode(AE);print AE;close(AD);close(AE);}sub uq{my($ef)=$_[0];my($du,$de,$eg,@eh,$ei,%ds);my($dp,$dx,$ej); my($ek);binmode(STDIN);if($ef&&($ENV{$z[182]}||length$ENV{$z[183]}) >$ef){die($z[184]."$ef bytes\n");}($ek)=$ENV{$z[185]}=~/boundary=(?:"?)(\S+?)(?:"?)$/; if($ENV{$z[186]}eq$z[187]&&$ENV{$z[185]}=~m|^multipart/form-data|) {my$ei;read(STDIN,$ei,$ENV{$z[182]});foreach(split(/\n/,$ei)) {if(/^--$ek--/){$ei.="--$ek";last;}else{$ei.=$_;}}@eh=split(/--$ek/,$ei); foreach$eg(@eh){unless($eg=~/^(\r\n|\n)Content-Disposition/) {next;}($du,$de)=$eg=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s; ($dx)=$du=~/filename="([^"]+)"/;($du)=$du=~/name="([^"]+)"/; ($dp)=$dx=~/([^\/\\]+)$/;($ej)=$dx=~/\.(\w+)$/;if(!$dx){$du =~s/\r\n/\n/g;$de=~s/\r\n/\n/g;$du=~s/\x00//g;$de=~s/\x00//g; }$ds{$du}=$de;$ds{$du.$z[188]}=$dx;$ds{$du.$z[189]}=$dp;$ds{$du.$z[190]} =$ej;}}else{if($ENV{$z[186]}eq$z[187]){read(STDIN,$ei,$ENV{$z[182]}); }elsif($ENV{$z[186]}eq$z[191]){$ei=$ENV{$z[183]};}@eh=split(/&/, $ei);foreach$eg(@eh){($du,$de)=split(/=/,$eg);$du=~tr/+/ /; $de=~tr/+/ /;$du=~s/%([A-F0-9]{2})/pack($z[109],hex($1))/egi; $de=~s/%([A-F0-9]{2})/pack($z[109],hex($1))/egi;$du=~s/\r\n/\n/g; $de=~s/\r\n/\n/g;$du=~s/\x00//g;$de=~s/\x00//g;if($du=~/_multi$/) {push@{$ds{$du}},$de;}else{$ds{$du}=$de;}}}foreach(keys%ds) {if(/^(.*)(\.x|\.y)$/){$ds{$1}=$z[192];}}return%ds;}sub pi{ my($el)=$_[0];my($em,$en)=split(/@/,$el);if($el eq''){return 0;}if($el=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($em!~/^([\w\-]+[\w\-\.])*[\w\-]+$/) {return 0;}if($en!~/^([\w\-]+[\w\-\.])*[\w\-]+\.[A-Za-z]{2,8}$/) {return 0;}return 1;}sub uz{my($eo,$ep)=@_;unless($eo eq$z[193] ||$eo eq$z[194]||$eo eq$z[195]||$eo eq$z[196]){return undef; }$ep=~s/[^\d]//g;my@eq=split//,$ep;unless(($eo eq$z[193]&&$eq[0] ==4)||($eo eq$z[194]&&$eq[0]==5)||($eo eq$z[195]&&$eq[0]==3) ||($eo eq$z[196]&&$eq[0]==6)){return undef;}unless(($eo eq$z[193] &&($#eq==12||$#eq==15))||($eo eq$z[194]&&$#eq==15)||($eo eq $z[195]&&$#eq==14)||($eo eq$z[196]&&$#eq==15)){return undef; }my$er;for(my$dt=($#eq+1)% 2;$dt<=$#eq;$dt+=2){if($eq[$dt]< 5){$eq[$dt]*=2;}else{$eq[$dt]=($eq[$dt]* 2)-9}}foreach(@eq) {$er+=$_;}unless($er% 10==0){return undef;}return 1;}sub ae {local(*AB);my($dp,%ds,$es,$et);%ds=%{$_[1]}if$_[1];my%eu;%eu =($z[197]=>0,$z[198]=>0,$z[199]=>0,$z[200]=>0);foreach(split(/ /,$_[2])) {if(undef$eu{$_}){die($z[201]."'$_'\n");}$eu{$_}=1;}if(!$_[0]) {die$z[202]."\n";}if(ref($_[1])ne$z[105]){die$z[203]."\n";} if((!$eu{$z[198]}||!$ai{$z[204]}{$z[198]}{$_[0]})){if(-e"$_[0]") {$dp=$_[0];}else{foreach(grep/^templatedir/,sort keys%ai){if (-e"$ai{$_}/$_[0]"){$dp="$ai{$_}/$_[0]";last;}}if(!$dp){die $z[205]."'$_[0]'".$z[206]."\n";}}}if($eu{$z[198]}&&$ai{$z[204]}{$z[198]}{$_[0]}) {$es=$ai{$z[204]}{$z[198]}{$_[0]};}else{open(AB,"<$dp")||die $z[207]."$dp! $!\n";binmode(AB)if($dp=~/gif$/i||$dp=~/jpg$/i); read(AB,$es,-s AB);close(AB);}if($eu{$z[199]}){return$es;}if (!$eu{$z[198]}||!$ai{$z[204]}{$z[198]}{$_[0]}){foreach$et($es =~m//g){$ai{$z[204]}{$z[208]}{$1}=$2 if($es=~m/(?:\r\n|\n)?(.*?)/is); }$es=~s/(?:\r\n|\n)?(.*?)//gis; if($eu{$z[198]}){$ai{$z[204]}{$z[198]}{$_[0]}=$es;}}$es=~s//$1/gi; $es=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$de=defined$ad{$1} ?$ad{$1}:$ds{$1};if($2 eq$z[209]){$de=&ev($de);}if($2 eq$z[210]) {$de=&ew($de);}if($2 eq$z[211]){$de=&ew($de);$de=~s/ / /g; }if($2 eq$z[212]){$de=&ex($de);}$de;]ge;return$es;}sub lt{if (!$_[0]){die$z[213]."\n";}if(!defined$ai{$z[204]}{$z[208]}{$_[0]}) {die$z[214]."'$_[0]'".$z[215]."\n";}if(ref($_[1])ne"HASH"){ die$z[216]."\n";}local(*AB);my(%ds);%ds=%{$_[1]}if$_[1];my($es) =$ai{$z[204]}{$z[208]}{$_[0]};$es=~s/(?:\r\n|\n)?(.*?)//gs; $es=~s//$1/gi;$es=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][ my$de=defined$ad{$1}?$ad{$1}:$ds{$1};if($2 eq$z[209]){$de=&ev($de); }if($2 eq$z[210]){$de=&ew($de);}if($2 eq$z[211]){$de=&ew($de); $de=~s/ / /g;}if($2 eq$z[212]){$de=&ex($de);}$de;]ge;return $es;}sub ki{my($af)=$_[0];my(@ey)=(($z[195]..$z[217],$z[218]..$z[219],0..9),$z[220],$z[221]); my($bg)=unpack($z[222],$af);$bg=~s/(\d{6}|\d+$)/$ey[ord(pack$z[222],"00$1")]/ge; while(length($bg)%4){$bg.=$z[171];}return$bg;}sub va{my($af) =$_[0];my(%ey);my($bg);my$bp;for(($z[195]..$z[217],$z[218]..$z[219],0..9),$z[220],$z[221]){ $ey{$_}=$bp++}$af=$_[0]||return$z[223];$af=~s/[^A-Za-z0-9+\/]//g; $af=~s/[A-Za-z0-9+\/]/unpack'B*',chr($ey{$&})/ge;$af=~s/\d\d(\d{6})/$1/g; $af=~s/\d{8}/$bg.=pack($z[222],$&)/ge;return$bg;}sub ev{my($ez) =$_[0];$ez=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[224],ord($1))/egx; $ez=~tr/ /+/;return$ez;}sub fr{my($ez)=$_[0];$ez=~tr/+/ /;$ez =~s/%([A-F0-9]{2})/pack($z[109],hex($1))/egi;return$ez;}sub mb{my($fa);my($du,$de,$fb,$dx,$fc,$fd)=@_;my($fe);if($du eq ''){die($z[225]."\n");}if($fb&&$fb ne int($fb)){die($z[226]."\n"); }$al{$du}=$de;if($fb){my($ff,$fg,$fh,$fi,$fj,$fk,$fl,$fm)=gmtime($fb); ($ff,$fg,$fh,$fi)=map{$_<10?$z[227].$_:$_}($ff,$fg,$fh,$fi); $fe=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$fl],", $fi-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$fj],$z[118],1900+$fk, " $fn$fo$ff GMT");}if($du){$du=&ev($du);}if($de){$de=&ev($de); }if($fb){$fa.=$z[228]."$fe; ";}if($dx){$fa.=$z[229]."$dx; "; }if($fc){$fa.=$z[230]."$fc; ";}if($fd){$fa.=$z[231];}print$z [232]."$du=$de; $fa\n";}sub ur{my($fp,$du,$de,%fq);foreach$fp (split(/; /,$ENV{$z[233]})){($du,$de)=split(/=/,$fp);foreach($du,$de) {$_=&fr($_);}$fq{$du}=$de;}return%fq;}sub nz{my$fs=$_[0]||die("DateString: The first parameter must be a date or time format string\n"); $fs=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n"); my$ft=$_[1];my($fk,$fj,$fi,$fu,$fg,$ff,$fl,$fm);my@fv=(0,0,1,0,0,0); my$fw=$_[-1]=~/^GMT$/i;pop(@_)if$fw;if(scalar(@_)>=3){die("DateString: Too many arguments\n") if scalar(@_)>7;my$fx;foreach$fx(1..scalar(@_)-1){$fv[$fx-1] =$_[$fx];}($fk,$fj,$fi,$fu,$fg,$ff)=@fv;if($fi>28){($fk,$fj, $fi)=&fy($fk,$fj,$fi);}$ft=$fw?&fz($ff,$fg,$fu,$fi,$fj,$fk) :&ga($ff,$fg,$fu,$fi,$fj,$fk);}else{}($ff,$fg,$fu,$fi,$fj,$fk, $fl,$fm)=($fw?gmtime($ft):localtime($ft));my$gb;if(exists($ai{DateString}{rhNames})) {$gb=$ai{DateString}{rhNames};}else{$gb={$z[234]=>exists($ak{$z[235]}{ampm}) ?[split(/,/,$ak{$z[235]}{ampm})]:[qw(AM PM)],$z[236]=>exists($ak{$z[235]}{ordinals}) ?[split(/,/,$ak{$z[235]}{ordinals})]:[$z[237],$z[238],$z[239], $z[240],$z[241],$z[242],$z[243],$z[244],$z[245],$z[246],$z[247], $z[248],$z[249],$z[250],$z[251],$z[252],$z[253],$z[254],$z[255], $z[256],$z[257],$z[258],$z[259],$z[260],$z[261],$z[262],$z[263], $z[264],$z[265],$z[266],$z[267],$z[268]],$z[269]=>exists($ak{$z[235]}{week_full}) ?[split(/,/,$ak{$z[235]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)], $z[270]=>exists($ak{$z[235]}{week_abbr})?[split(/,/,$ak{$z[235]}{week_abbr})] :[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[271]=>exists($ak{$z[235]}{month_full}) ?[split(/,/,$ak{$z[235]}{month_full})]:[qw(January February March April May June July August September October November December)], $z[272]=>exists($ak{$z[235]}{month_abbr})?[split(/,/,$ak{$z[235]}{month_abbr})] :[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$ai{DateString}{rhNames} =$gb;}my($gc,$gd)=(0,1);my$ge={$z[273]=>$z[273],$z[218]=>$gb->{week_abbr}[$fl], $z[195]=>$gb->{week_full}[$fl],$z[274]=>$gb->{month_abbr}[$fj], $z[275]=>$gb->{month_full}[$fj],$z[276]=>$z[277],$z[109]=>$z[278], $z[279]=>sprintf($z[280],$fi),$z[196]=>$z[281],$z[282]=>sprintf($z[283], $fi),$z[284]=>$gb->{month_abbr}[$fj],$z[285]=>sprintf($z[280], $fu),$z[286]=>sprintf($z[280],$fu% 12||12),$z[287]=>sprintf($z[288],$fm +1),$z[289]=>sprintf($z[283],$fu),$z[290]=>sprintf($z[283], $fu% 12||12),$z[291]=>sprintf($z[280],$fj+1),$z[194]=>sprintf($z[280], $fg),$z[117]=>"\n",$z[292]=>$gb->{ordinals}[$fi],$z[293]=>$gb->{ampm}[$fu >=12?1:0],$z[294]=>lc($gb->{ampm}[$fu>=12?1:0]),$z[295]=>int($fj /3)+1,$z[296]=>$z[297],$z[298]=>$z[299],$z[300]=>$ft,$z[301] =>sprintf($z[280],$ff),$z[302]=>"\t",$z[303]=>$z[304],$z[305] =>&gf($gc,$fl,$fm),$z[306]=>$fl,$z[307]=>&gf($gd,$fl,$fm),$z[308] =>$z[281],$z[309]=>$z[304],$z[310]=>sprintf($z[280],$fk% 100), $z[311]=>sprintf($z[312],$fk+1900),$z[217]=>'',$z[219]=>'', };$fs=&gg($ge,$fs);return$fs;}sub gg{my($ge,$fs)=@_;$fs=~s/%(O?[%a-zA-Z])/&gh($ge, $1)/sgeox;return$fs;}sub gh{my$gi=$_[1];return(exists($_[0]->{$gi})) ?($_[0]->{$gi}=~/\%/&&$gi ne$z[273]?&gg($_[0],$_[0]->{$gi}) :$_[0]->{$gi}):"\%$gi";}sub gf{my($gj,$fl,$fm)=@_;$fl=($fl+ 7-$gj)% 7;return int(($fm-$fl+13)/7-1);}sub fy{my($fk,$fj,$gk) =@_;return@_ if$gk<=28;my$gl;if($fj==1){if(($fk% 4==0)&&(!($fk % 100==0)||($fk% 400==0))){$gl=29;}else{$gl=28;}}elsif($fj== 3||$fj==5||$fj==8||$fj==10){$gl=30;}else{$gl=31;}return($fk, $fj,$gk<$gl?$gk:$gl);}sub vb{my$gm=$_[0];my$gn=$_[1]||die("DateString: The second argument must time()\n"); my$AF=$_[2];if($gn ne int($gn)){die($z[313]."\n");}my($ff,$fg,$fh,$gk,$fj,$fk,$fl); if($AF){($ff,$fg,$fh,$gk,$fj,$fk,$fl)=gmtime($gn);}else{($ff,$fg,$fh,$gk,$fj,$fk,$fl) =localtime($gn);}if($gn=~tr/://){($fk,$fj,$gk,$fh,$fg,$ff,$fl) =split(/:/,$gn);$fk-=1900;$fj-=1;foreach($fk,$fj,$gk,$fh,$fg,$ff,$fl) {$_||=0;}}my(%fl,%go,%fj,%gp);my@fj=($z[314],$z[315],$z[316],$z[317],$z[318],$z[319],$z[320],$z[321],$z[322],$z[323],$z[324],$z[325]); my@gp=($z[326],$z[327],$z[328],$z[329],$z[318],$z[330],$z[331],$z[332],$z[333],$z[334],$z[335],$z[336]); my@fl=($z[337],$z[338],$z[339],$z[340],$z[341],$z[342],$z[343]); my@go=($z[344],$z[345],$z[346],$z[347],$z[348],$z[349],$z[350]); foreach(@fl){$fl{lc$_}++;}foreach(@go){$go{lc$_}++;}foreach (@fj){$fj{lc$_}++;}foreach(@gp){$gp{lc$_}++;}$gm=~s/\b[A-Za-z]{3,9}\b/ if($fl{lc$&}){if(uc($&)eq$&){uc$fl[$fl];}elsif(lc($&)eq$&){ lc$fl[$fl];}else{ucfirst lc$fl[$fl];}}elsif($go{lc$&}){if(uc($&) eq$&){uc$go[$fl];}elsif(lc($&)eq$&){lc$go[$fl];}else{ucfirst lc$go[$fl];}}elsif($fj{lc$&}){if(uc($&)eq$&){uc$fj[$fj];}elsif (lc($&)eq$&){lc$fj[$fj];}else{ucfirst lc$fj[$fj];}}elsif($gp{lc $&}){if(uc($&)eq$&){uc$gp[$fj];}elsif(lc($&)eq$&){lc$gp[$fj]; }else{ucfirst lc$gp[$fj];}}else{$&;}/ge;$gm=~s/\d{1,4}\b/if (length$&==4){$fk+1900;}elsif(length$&<=2){if(substr($&,0,1) eq 0){sprintf($z[280],$gk);}else{$gk;}}else{$&;}/ge;$gm=~s/(\d{1,2})(st|nd|rd|th)/ if($gk==1||$gk==21||$gk==31){$gk.$z[351];}elsif($gk==2||$gk ==22){$gk.$z[352];}elsif($gk==3||$gk==23){$gk.$z[353];}else {$gk.$z[354];}/gei;$gm=~s/YYYY/sprintf($z[312],$fk+1900)/gei; $gm=~s/YY/sprintf($z[280],$fk%100)/gei;$gm=~s/MO\b/sprintf($z[280],$fj+1)/gei; $gm=~s/DD/sprintf($z[280],$gk)/gei;$gm=~s/SS/sprintf($z[280],$ff)/gei; $gm=~s/MM/sprintf($z[280],$fg)/gei;$gm=~s/HH/sprintf($z[280],$fh)/gei; return$gm;}sub bt{my($gq,$bs,$arrayref_nopack)=@_;my(@f_nopack,$br,$gr, $gs,$gt,$bp);my($bn,$bo);$bp=0;foreach(split(/ /,$bs)){if(s/\#//g) {$bn=1;}elsif(s/n//g){$bn=1;}else{$bn=0;}if(s/\-//g){$bo=$z[355]; }elsif(s/\+//g){$bo='';}else{$bo='';}s/[^0-9]//gs;push(@f_nopack,$_); if($bn){$br+=15;$gs.=$z[356];$gt.=qq|$bo sprintf('%015s',int(substr(\$str[$bp]*100,0,15))),|; }else{$br+=50;$gs.=$z[357];$gt.="$bo substr(\$str[$bp],0,50),"; }$bp++;}$gr.=qq|return map { substr(\$_,$br) } sort map {\n|; $gr.=qq| my \@str = (split(/\\$gq/,lc \$_))[\@f_nopack];\n|; $gr.=qq| sprintf("$gs\%s" ,$gt\$_);\n|;$gr.=qq| } \@\$arrayref_nopack;\n|; eval$gr;}sub ex{my$gu=shift;$gu=~s/\\/\\\\/g;$gu=~s/'/\\'/g; $gu=~s/\n/\\n/g;$gu=~s/\r/\\r/g;$gu=~s/\000//g;$gu=~s/-->/--'+'>/g; $gu=~s!!!g;return$gu;}sub ec{my$gv=shift; $gv=~s/&/&/g;$gv=~s/"/"/g;$gv=~s//>/g; return$gv;}sub ew{my$gv=shift;$gv=~s/&([^\w#]|$)/&$1/g; $gv=~s/"/"/g;$gv=~s//>/g;return$gv; }sub vc{my$gv=shift;$gv=~s//>/g;return$gv; }sub vd{my$gw=shift;my%gx=map{$_,1}@_;return join($z[178],map {$gx{$_}?():&ev($_).$z[171].&ev($gw->{$_})}keys%{$gw});}sub ve{my$gw=shift;my%gx=map{$_,1}@_;return join("\n",map{$gx{$_} ?():$z[358].&ec($_).$z[359].&ec($gw->{$_}).$z[360]}keys%{$gw}); }sub oo{$_=$_[0];/\.gif$/i&&return(&gy($_[0]));(/\.jpeg$/i|| /\.jpg$/i)&&return(&gz($_[0]));/\.png$/i&&return(&ha($_[0])); undef;}sub ha{my($cr)=@_;my($hb);open(PNG,$cr)||return(undef, undef,"PNG - Couldn't Open $cr");binmode(PNG);seek(PNG,12,0); read(PNG,$hb,4);if($hb ne"IHDR"){close PNG;return(undef,undef, "PNG - Missing Image Header - $hb");}read(PNG,$hb,8);close PNG;return unpack("NN",$hb);}sub gz{my($cr)=@_;my($hb,$hc,$hd, $he,$hf);open(JPEG,$cr)||return(undef,undef,"JPEG - Couldn't Open $cr"); binmode(JPEG);read(JPEG,$hb,2);while(1){read(JPEG,$hc,4);($hd, $he,$hf)=unpack("a a n",$hc);if($hd ne"\xFF"){close JPEG;return(undef, undef,"JPEG - Marker not Found");}if((ord($he)>=0xC0)&&(ord($he) <=0xC3)){read(JPEG,$hb,5);close(JPEG);my($hg,$hh)=unpack("xnn", $hb);return($hh,$hg);}else{read(JPEG,$hb,$hf-2);}}}sub hp{my ($hi,$hj)=@_;my($hk);read($hi,$hk,$hj);while(1){if(eof($hi)) {close AG;return(undef);}read($hi,$hk,1);last if ord($hk)== 0;read($hi,$hk,ord($hk));}1;}sub gy{my($cr)=@_;my($hb,$dy,$hl, $hm,$hh,$hn,$hg,$ho);open(AG,$cr)||return(undef,undef,"GIF - Couldn't Open $cr"); binmode(AG);read(AG,$dy,6);read(AG,$hb,7);if(length($hb)!=7) {close AG;return(undef,undef,"GIF - Corrupted Header");}($hh) =unpack("x4 C",$hb);if($hh&0x80){$hl=3*(2**(($hh&0x07)+1)); read(AG,$hm,$hl);if(!$hm){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,$hb,1);($hh)=unpack("C",$hb);if($hh==0x2c){read(AG, $hb,8);if(length($hb)!=8){close AG;return(undef,undef,"GIF - Missing Image Header"); }($hh,$hn,$hg,$ho)=unpack("x4 C4",$hb);close(AG);return($hh +$hn* 256,$hg+$ho* 256);}if($hh==0x21){read(AG,$hb,1);($hh) =unpack("C",$hb);if($hh==0xF9){read(AG,$hb,6);}elsif($hh==0xFE) {&hp(\*AG,0)||return(undef,undef,"GIF - Bad Block - skip=0"); }elsif($hh==0x01){&hp(\*AG,13)||return(undef,undef,"GIF - Bad Block - skip=13"); }elsif($hh==0xFF){&hp(\*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 vf{return($_[0]=~/(.+)/s)[0]||$_[0];}sub vg{my$hq;foreach (split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!$hx){$hv=1;}push(@{$hu[$hv]},$_);}if(defined$ht){ foreach(0..$#hu){while(scalar@{$hu[$_]}<$hs){push(@{$hu[$_]}, $ht);}}}shift@hu;return@hu;}sub ov{my($hy,%hz,$AH);$hy=$_[0]; %hz=%{$_[1]};$AH="\x0D\x0A";local(*AI);if(!defined&ia){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n"); }if(!defined&ib){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n"); }if(!defined&ic){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n"); }if(!defined&id){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n"); }if(!defined&ie){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n"); }if(!defined&ig){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n"); }foreach(keys%{$ai{$z[361]}}){defined$hz{$_}&&next;$hz{$_}= $ai{$z[361]}{$_};}my($en,$ih,$ii,$ij,$dl);$en=$hz{$z[362]}; $ih=$hz{$z[363]}||25;$ii=$hz{$z[364]}||$z[365];$ij=$hz{$z[366]} ||30;$dl=$hz{$z[367]}||0;$ij+=time()if$ij<10**8&&$ij>0;if($en =~s/:(\d+)//){$ih=$1;}$en=&ik($en);if(!$en){$ai{$z[368]}="No SMTP host specified.\n"; return 0;}if(!$ih){$ai{$z[368]}="No SMTP port specified.\n"; return 0;}my($il,@im)=&ia($hy);$hy=~tr/\r//d;$hy=~s/\n/\r\n/gs; $hy=~s/^\s*bcc\s*:.*\n//mgi;if($hz{$z[369]}){&id(\%hz)||return 0;}my($in)=gethostbyname($en)||do{$ai{$z[368]}="Could not connect to SMTP server. Unknown host $en\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ai{$z[368]} ="Could not connect to SMTP server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$ih,$in)||do{if($!eq"Unknown error") {$ai{$z[368]}="Could not connect to SMTP server. SMTP server does not exist or is not responding.\n"; return 0;}else{$ai{$z[368]}="Could not connect to SMTP server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$io =&ic(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"220"){$ai{$z[368]} ="An unknown error occured. Server response: $io\n";return 0;}print AI"HELO $ii",$AH;if($dl){&ib("HELO $ii",$AH);}$io= &ic(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"250"){$ai{$z[368]} ="An unknown error occured. Server response: $io\n";return 0;}print AI"MAIL FROM:<$il>",$AH;if($dl){&ib("MAIL FROM:<$il>", $AH);}$io=&ic(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"250"){$ai{$z[368]} ="An unknown error occured. Server response: $io\n";return 0;}my$im;foreach$im(@im){print AI"RCPT TO:<$im>",$AH;if($dl) {&ib("RCPT TO:<$im>",$AH);}$io=&ic(\*AI,$ij)||do{$ai{$z[368]} ="Timed out waiting for SMTP server to respond.\n";return 0; };if($dl){&ib($io);}if(substr($io,0,2)eq"55"){$ai{$z[368]}= "The server won't accept mail for '$im'. Server response: $io\n"; return 0;}if(substr($io,0,2)ne"25"){$ai{$z[368]}="An unknown error occured. Server response: $io\n"; return 0;}}print AI"DATA",$AH;if($dl){&ib("DATA",$AH);}$io= &ic(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"354"){$ai{$z[368]} ="An unknown error occured. Server response: $io\n";return 0;}$hy=~s/^\./\.\./gm;print AI$hy,$AH;if($dl){&ib($hy,$AH); }print AI".",$AH;if($dl){&ib(".",$AH);}$io=&ic(\*AI,$ij)||do {$ai{$z[368]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"250"){$ai{$z[368]} ="An unknown error occured. Server response: $io\n";return 0;}print AI"QUIT",$AH;if($dl){&ib("QUIT",$AH);}close(AI);return 1;}sub ia{my($hy,$ip,$iq,$ir,$cp);$hy=$_[0];$hy=~tr/\r//d;$ip =$z[370];$ip.=$z[371];if($hy=~m/^(.*?)\n\n(.*)$/s){($iq,$ir) =($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n"); }my($il,@im);foreach$cp(split(/\n/,$iq)){foreach(qw(from to cc bcc)) {if($cp=~/^\s*$_\s*:/i){my$is=$_;foreach($cp=~m/($ip)/g){if ($is eq$z[372]){$il=$_;}else{push@im,$_;}}}}}$il||die("SMTP_parseheader: couldn't find from: address in mail header\n"); $#im>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n"); return($il,@im);}sub ic{my$AJ=$_[0];my$ij=int($_[1]);if(!$ij) {die("SMTP_readline: no timeout value specified!\n");}if($ij <10**8){die("SMTP_readline: timeout value must be in time() format!Rec'd: $ij\n"); }fileno($AJ)||die("SMTP_readline: invalid filehandle or filehandle not open!\n"); my($cp,$it);while(!$cp||substr($cp,3,1)eq$z[118]){$cp=&ie($AJ,$ij); $it.=$cp;}return$it;}sub ib{my$dm=join'',@_;$dm=~s/\s+$//m; my$iu=localtime();local*AK;if(!$dm){$iu="";$dm="\n";}if($dm =~/^From:/i){$dm="[email content]";}if($dm=~/^PASS /i){$dm= "PASS (not shown)";}$dm=~s//>/g;$dm=~s/\r\n|\n/
\n/g; print"

$dm
\n\n";}sub id{my($hy,%hz,$AH);%hz=%{$_[0]}; $AH="\x0D\x0A";local(*AI);if(!$hz{$z[373]}){die("SMTP_pop3auth: POP3 username not defined'\n"); }if(!$hz{$z[374]}){die("SMTP_pop3auth: POP3 password not defined'\n"); }if($ai{$z[375]}{$z[376]}){return 1;}my($en,$ih,$em,$iv,$ij,$dl); $en=$hz{$z[377]}||$hz{$z[362]};$ih=$hz{$z[378]}||110;$em=$hz{$z[373]}; $iv=$hz{$z[374]};$ij=$hz{$z[379]}||$hz{$z[366]}||30;$dl=$hz{$z[367]} ||0;$ij+=time()if$ij<10**8&&$ij>0;if($en=~s/:(\d+)//){$ih=$1; }$en=&ik($en);my($in)=gethostbyname($en)||do{$ai{$z[368]}="Could not connect to POP3 server. Unknown host $en\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ai{$z[368]} ="Could not connect to POP3 server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$ih,$in)||do{if($!eq"Unknown error") {$ai{$z[368]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n"; return 0;}else{$ai{$z[368]}="Could not connect to POP3 server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$io =&ie(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($dl){&ib($io);}if(uc(substr($io,0,3))ne"+OK") {$ai{$z[368]}="An unknown error occured. Server response: $io\n"; return 0;}print AI"USER $em",$AH;if($dl){&ib("USER $em",$AH); }$io=&ie(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"+OK"){$ai{$z[368]} ="The server didn't accept the login info for '$em'. Server response: $io\n"; return 0;}print AI"PASS $iv",$AH;if($dl){&ib("PASS $iv",$AH); }$io=&ie(\*AI,$ij)||do{$ai{$z[368]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($dl){&ib($io);}if(substr($io,0,3)ne"+OK"){$ai{$z[368]} ="The server didn't accept the login info for '$em'. Server response: $io\n"; return 0;}print AI"QUIT",$AH;if($dl){&ib("QUIT",$AH);}close(AI); $ai{$z[375]}{$z[376]}=1;return 1;}sub ig{my$AJ=$_[0];my$ij= $_[1]||$z[227];my($iw,$ix,$iy,$iz,$ja,$jb,$jc);fileno($AJ)|| die("fh_can_read: invalid filehandle or filehandle not open!\n"); vec($iw,fileno($AJ),1)=1;$jc=select($ix=$iw,undef,undef,$ij); return vec($ix,fileno($AJ),1);}sub ie{my$AJ=$_[0];my$ij=int($_[1]); if(!$ij){die("FH_readline: no timeout value specified!\n"); }if($ij<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($cp,$jd);while($ij>=time()){&ig(\*AI,0.25)||next;sysread(\*AI,$jd, 1)||last;$cp.=$jd;if($jd eq"\x0A"){last;}}return$cp;}sub jn {my$je=$ai{$z[380]}{$z[381]}||={};my$jf=int++$je->{$z[5]};my $du="FH$jf";return eval"local *$du";}sub cw{return unless($ak{$z[382]}); my$je=$ai{$z[380]}{$z[383]}||={};$je->{$z[384]}||=[];my($jg, $ij)=@_;$jg||=$z[143];$ij||=0;if($jg ne$z[143]and$jg ne$z[385]) {&ag("lock: invalid lock type: '$jg'");}my$jh;if(@{$je->{$z[384]}} >0){$jh=$je->{$z[384]}[-1];}if($jh eq$z[143]){$jg=$jh;}if($jh eq$jg){push(@{$je->{$z[384]}},$jg);return 1;}my$ji;if($jh eq $z[385]and$jg eq$z[143]){&ag("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock"); }$ji=&jj('',$jg,$ij);if($ji){push(@{$je->{$z[384]}},$jg);}return $ji;}sub cx{return unless($ak{$z[382]});my$je=$ai{$z[380]}{$z[383]} ||={};$je->{$z[384]}||=[];my($ij)=@_;$ij||=0;unless(@{$je->{$z[384]}} >0){&ag($z[386])}my$jh=pop(@{$je->{$z[384]}});return if(@{$je->{$z[384]}} >0 and$je->{$z[384]}[-1]eq$jh);if(@{$je->{$z[384]}}==0){&jk(''); }}sub jj{my$je=$ai{$z[380]}{$z[383]}||={};my($jl,$jg,$ij)=@_; my$jm;if($jl){$jm="$ai{'datadir'}$jl.lock";}else{$jm=$ai{$z[387]}; }if(not exists$je->{$z[388]}{$jl}){$je->{$z[388]}{$jl}{$z[389]} =$jm;$je->{$z[388]}{$jl}{$z[390]}=&jn();sysopen($je->{$z[388]}{$jl}{$z[390]}, $je->{$z[388]}{$jl}{$z[389]},O_RDWR|O_CREAT)||&ag($z[387],"error opening $jg file lock $je->{'lockinfo'}{$jl}{'filename'}: $!\n"); }else{&ag("_lock_flock: already a lock for semaphore '$jl'"); }my$jo;if($jg eq$z[385]){$jo=LOCK_SH;}if($jg eq$z[143]){$jo =LOCK_EX;}if($ij>0){$jo|=LOCK_NB;}my$jp=time()+$ij;until(flock($je->{$z[388]}{$jl}{$z[390]}, $jo)){if(time()<$jp){sleep(1);}else{close($je->{$z[388]}{$jl}{$z[390]}); &ag($z[391]);}}return 1;}sub jk{my$je=$ai{$z[380]}{$z[383]} ||={};my($jl)=@_;unless(flock($je->{$z[388]}{$jl}{$z[390]}, LOCK_UN)){&ag($z[387],"error releasing a flock() on file lock $je->{'lockinfo'}{$jl}{'filename'}: $!\n"); }unless(close($je->{$z[388]}{$jl}{$z[390]})){&ag($z[387],"error closing file lock $je->{'lockinfo'}{$jl}{'filename'}: $!\n"); }delete$je->{$z[388]}{$jl};return 1;}sub vi{my$dx=shift;$dx =~s|\\|/|g;if($dx=~m|^/|){return$dx;}if($dx=~m|^\w:/|){return $dx;}return&jq($ai{$z[392]}.$z[221].$dx);}sub jq{my$dx=shift; $dx=~s|\\|/|g;1 while$dx=~s|[^/]*/\.\./||;return$dx;}sub jx {my($jr,@hz)=@_;$jr=~s/\s+//g;$jr=uc$jr;my$js;my$jt=-1;my$ju; foreach$ju(split(/,/,$jr)){$jt++;my$jv=shift@hz;my$jw=$ju=~ s/\[|\]//g;if($ju eq$z[393]){@hz=();last;}next if($jw and not defined$jv);next if($ju eq$z[394]and defined$jv);next if($ju =~/\bVALUE\b/and not ref($jv)and defined($jv));next if(uc(ref $jv)=~/\b$ju\b/);next if($ju=~/\bINT\b/and$jv!~/[^0-9\.\e\-]/i and$jv==int($jv));$js.=", "if$js;$js.="\$_[$jt] must be ";$js .="either "if$jw;$js.=$ju;$js.=" or undefined"if$jw;$js.=" ARG: $jv."; }if(@hz){$jt++;$js.=", "if$js;$js.="extra argument(s) \@_[" .($jt)." .. ".($jt+$#hz)."]";}return 1unless$js;my$eb=(caller(1))[3]; $eb=~s/^main:://;&ag("Invalid arguments passed to $eb".": $js"); }sub uv{&jx($z[395],@_);my($es,$jy,$hz)=@_;$hz||={};my$jz;foreach $jz($z[396],$z[397]){unless(exists$hz->{$jz}){$hz->{$jz}=$ai{$jz}; }}unless($jy){&ag("resolve_server_markup: file_extension not supplied"); }unless($hz->{$z[396]}){&ag("resolve_server_markup: temp_base_dir argument not supplied"); }unless($hz->{$z[397]}){&ag("resolve_server_markup: temp_base_url argument not supplied"); }unless(-e"$hz->{'temp_base_dir'}"){&ag("resolve_server_markup: temp directory does not exist"); }my$ka=$ak{$z[398]}||3;if($ENV{$z[399]}>=$ka){return("Content-type: text/html\n\n", "[Dynamic SSI Error: SSI recursion limit of $ka reached. This page was not parsed for server-side markup.]\n\n" .$es);}my$kb;my($kc,$kd)=("temp_$^T","");my$ke;&cw();while(1) {$kb="$kc$kd.$jy";last unless-e"$hz->{'temp_base_dir'}$kb"; $ke++;$kd=sprintf($z[400],$ke);}&cx();open(AB,">$hz->{'temp_base_dir'}$kb") ||&ag("resolve_server_markup: could not create temp file '$hz->{'temp_base_dir'}$kb' : $!"); print AB$es||&ag("resolve_server_markup: could not write to temp file '$hz->{'temp_base_dir'}$kb' : $!"); close(AB)||&ag("resolve_server_markup: could not close temp file '$hz->{'temp_base_dir'}$kb' : $!"); my$kf=&kg();if($ac{$z[401]}||$ac{$z[402]}){my$kh=$ac{$z[401]} .":".$ac{$z[402]};$kf->{$z[403]}="Basic ".&ki($kh);}if($hz->{$z[404]}) {$kf->{$z[405]}='';$kf->{$z[406]}.=$z[407]if length$kf->{$z[406]}; $kf->{$z[406]}.=$z[408];}my$kj="$hz->{'temp_base_url'}$kb"; my($kk,$kl,$km)=&kn($kj,$kf);unless($ak{$z[409]}{$z[410]}){ unlink("$hz->{'temp_base_dir'}$kb");}return($kl,$km);}sub kg {&jx('',@_);my%ko;my$kp;foreach$kp(keys%ENV){$kp=~/^HTTP_/i ||next;my$kq=$ENV{$kp};my$kr;$kr=$kp;$kr=~s/^HTTP_//;$kr=~s/_/-/g; $kr=~s/(\w+)/ucfirst lc$1/eg;$ko{$kr}=$kq;}my@ks=($z[411],$z[403], $z[406],$z[412],$z[413],$z[414],$z[415],$z[416],$z[417],$z[418], $z[419],$z[420],$z[421],$z[422],$z[423],$z[424],$z[425],$z[426], $z[427],$z[428],$z[429],$z[430],$z[431],$z[432],$z[433],$z[434] );my%kt=map{uc($_)=>1}@ks;my$kr;foreach$kr(keys%ko){if($kt{uc $kr}){delete$ko{$kr};}}$ko{$z[435]}=join($z[436],map{"$_=$al{$_}" }keys%al);if(not exists$ko{$z[437]}){$ko{$z[437]}=1;}$ko{$z[437]}++; my$ku;if($ENV{$z[438]}eq($ENV{$z[439]}||$ENV{$z[440]})){$ku =$ENV{$z[441]}||$ENV{$z[442]}||$ENV{$z[438]};}else{$ku=$ENV{$z[438]}; }$ko{$z[443]}=$ku;$ko{$z[444]}=$ku;return\%ko;}sub pz{&jx($z[445], @_);my($kv)=@_;my$kw={};$kw->{$z[446]}=$kv;@{$kw}{$z[447],$z[362], $z[448],$z[449],$z[450],$z[451]}=$kv=~m{^(?:(\w+://)([^/]*))?([^?\#]*?)([^/?\#]*)(?:(\?[^\#]*))?(?:(\#.*))?$}; unless(length$kw->{$z[448]}){$kw->{$z[448]}=$z[221];}return $kw;}sub ik{my($en)=@_;if($en=~/^\d+\.\d+\.\d+\.\d+$/){return $en;}else{$en.=$z[452]unless$en=~/\.$/;return$en;}}1;;sub vj {$ad{$z[453]}=int sprintf($z[454],&kx($ac{$z[455]}));$ai{$z[456]} =&ky();if($ENV{$z[183]}eq$z[296]){&kz;}if($ac{$z[279]}){&la($z[457]); }my$lb=$z[458].$z[459].$z[460].$z[461];("991:9197555555555555555555555555","11901913") -$ai{$z[456]}&&&la(pack($z[222],$lb));if(!$ac{$z[462]}){&ld; }if(!$ad{$z[453]}){die("Invalid Product ID number $ac{'reg3'}\n"); }my($le);($le=lc$ai{$z[392]})=~s/[^a-z0-9]//g;if($ac{$z[276]} !=unpack$z[463],pack$z[464],$le){$ac{$z[276]}=unpack$z[463], pack$z[464],$le;&co($aj{$z[76]},\%ac,1);&kz;}}sub ld{&ae($z[465], {});my@lf=(undef,\&lg,\&lh,\&li,\&lj,\&lk,\&ll,\&lm,);if($ac{$z[466]} &&$ac{$z[467]}&&$ac{$z[455]}&&&kx($ac{$z[455]})){if($af{$z[468]}) {&ln;}if($af{$z[469]}){&lo($z[470]);}if($af{$z[471]}){&lo($z[449]); }}my$lp=int($af{$z[472]})||1;if($lp>$#lf){die("Install: Invalid step number!\n"); }$ad{$z[473]}=$lp;if(!$af{$z[474]}&&$lp==1){&{$lf[1]};}else {&{$lf[$lp]}($z[474]);$ad{$z[473]}=$lp+1;&{$lf[$lp+1]};}}sub lg{my$lq=shift;if(!$lq){if(&lr($ak{$z[475]})){$ad{$z[476]}= &ls();}print"Content-type: text/html\n\n";foreach($z[477],$z[478],$z[479]) {print<($_,{});}&lu();exit;}undef;}sub lh{my$lq=shift;if(!$lq) {print"Content-type: text/html\n\n";foreach($z[477],$z[480],$z[479]) {print<($_,{});}&lu();exit;}unless($af{$z[481]}){print"Content-type: text/html\n\n"; foreach($z[477],$z[482],$z[479]){print<($_,{});}&lu();exit; }}sub li{my$lq=shift;if(!$lq){$ad{$z[483]}||=$ENV{$z[484]}|| $ENV{$z[485]};print"Content-type: text/html\n\n";foreach($z[477],$z[486],$z[479]) {print<($_,{});}&lu();exit;}$af{$z[455]}=~s/\s+//g;if(!$af{$z[481]} ||$af{$z[487]}!=1){$ad{$z[368]}=<($z[488],{});}if(!&kx($af{$z[455]})) {$ad{$z[368]}=$z[489];}if(!$af{$z[455]}){$ad{$z[368]}=$z[490]; }if(!$af{$z[467]}){$ad{$z[368]}=$z[491];}if(!$af{$z[466]}){ $ad{$z[368]}=$z[492];}if($ad{$z[368]}){print"Content-type: text/html\n\n"; foreach($z[466],$z[467],$z[455],$z[487]){$ad{$z[493].$_}=$af{$_}; }foreach($z[477],$z[486],$z[479]){print<($_,{});}&lu();exit; }&lv($aj{$z[76]},\%ac,1);foreach($z[466],$z[467],$z[455]){$ac{$_} =$af{$_};}&co($aj{$z[76]},\%ac,1);}sub lj{my$lq=shift;if(!$lq) {$ad{$z[494]}=$ac{$z[494]};$ad{$z[494]}||=(&lw($z[495]))[0]; print"Content-type: text/html\n\n";foreach($z[477],$z[496],$z[479]) {print<($_,{});}&lu();exit;}&lv($aj{$z[76]},\%ac,1);$ac{$z[494]} =$af{$z[494]};if($ac{$z[494]}!~/\/$/){$ac{$z[494]}.=$z[221]; }&co($aj{$z[76]},\%ac,1);}sub ln{my$lq=shift;$ad{$z[497]}=$af{$z[498]}; if($ad{$z[497]}!~/\/$/){$ad{$z[497]}.=$z[221];}$ad{$z[499]} =$z[500];print"Content-type: text/html\n\n";foreach($z[477],$z[468],$z[479]) {print<($_,{});}&lu();exit;}sub lk{my$lq=shift;if(!$lq){($ad{$z[501]}, $ad{$z[502]})=($ac{$z[501]},$ac{$z[502]});unless($ad{$z[501]} ||$ad{$z[502]}){($ad{$z[501]},$ad{$z[502]})=&lw($z[503]);}($ad{$z[3]}, $ad{$z[504]})=($ac{$z[3]},$ac{$z[504]});unless($ad{$z[3]}|| $ad{$z[504]}){($ad{$z[3]},$ad{$z[504]})=&lw($z[505]);}$ad{$z[506]} =$ac{$z[506]};unless($ad{$z[506]}){$ad{$z[506]}=$ENV{$z[507]}; $ad{$z[506]}=~s|/[^/]+$|/search.cgi|;$ad{$z[506]}=~s|^/||;$ad{$z[506]} =$z[508].($ENV{$z[484]}||$ENV{$z[485]}||$ENV{$z[439]}).$z[221].$ad{$z[506]}; }$ad{$z[509]}=$ac{$z[509]};unless($ad{$z[509]}){$ad{$z[509]} =$ENV{$z[507]};$ad{$z[509]}=~s|/[^/]+$|/view.cgi|;$ad{$z[509]} =~s|^/||;$ad{$z[509]}=$z[508].($ENV{$z[484]}||$ENV{$z[485]} ||$ENV{$z[439]}).$z[221].$ad{$z[509]};}print"Content-type: text/html\n\n"; foreach($z[477],$z[510],$z[479]){print<($_,{});}&lu();exit; }foreach(keys%af){if(/^dir_/||/^url_/){if(!$af{$_}){next;}$af{$_} =~tr|\\|/|;if(/^url_/&&index($af{$_},$z[511])>=0){next;}if(/^url_/ &&index($af{$_},$z[512])>=0){next;}if(substr($af{$_},-1,1)ne $z[221]){$af{$_}.=$z[221];}}}&lv($aj{$z[76]},\%ac,1);$ac{$z[506]} =$af{$z[506]};$ac{$z[509]}=$af{$z[509]};$ac{$z[501]}=$af{$z[501]}; $ac{$z[3]}=$af{$z[3]};$ac{$z[502]}=$af{$z[502]};$ac{$z[504]} =$af{$z[504]};&co($aj{$z[76]},\%ac,1);&lx($aj{$z[52]},sub{my $ly=shift;$ly->{$z[501]}=$ac{$z[501]};$ly->{$z[3]}=$ac{$z[3]}; $ly->{$z[502]}=$ac{$z[502]};$ly->{$z[504]}=$ac{$z[504]};}); }sub ll{my$lq=shift;if(!$lq){print"Content-type: text/html\n\n"; foreach($z[477],$z[513],$z[479]){print<($_,{});}&lu();exit; }my%lz;if(!$af{$z[514]}||!$af{$z[515]}){$ad{$z[368]}=$z[516]; }elsif(&ma($aj{$z[69]},\%lz,$z[517],$af{$z[514]})){if($lz{$z[518]} eq$af{$z[515]}){return;}$ad{$z[368]}=$z[519];}if($ad{$z[368]}) {print$z [520]."\n\n";foreach($z[477],$z[513],$z[479]){print <($_,\%af);}&lu();exit;}my%em=($z[521]=>$^T,$z[522]=>$^T, $z[14]=>$af{$z[514]},$z[517]=>$af{$z[514]},$z[518]=>$af{$z[515]}, $z[523]=>$z[524]);&cu($aj{$z[69]},\%em);}sub lm{if(!&kx($ac{$z[455]})) {print"Location: $ai{'cgiurl'}?step=1\n\n";exit;}if(!$ac{$z[455]}) {print"Location: $ai{'cgiurl'}?step=1\n\n";exit;}if(!$ac{$z[467]}) {print"Location: $ai{'cgiurl'}?step=1\n\n";exit;}if(!$ac{$z[466]}) {print"Location: $ai{'cgiurl'}?step=1\n\n";exit;}my($le);($le =lc$ai{$z[392]})=~s/[^a-z0-9]//g;&lv($aj{$z[76]},\%ac,1);$ac{$z[276]} =unpack$z[463],pack$z[464],$le;$ac{$z[462]}=1;&co($aj{$z[76]}, \%ac,1);&mb($z[517],'');undef$al{$z[517]};&mb($z[518],'');undef $al{$z[518]};&kz;}sub lw{&dl("guess_url_and_dir(@_)");my$mc =shift;$mc=~s|^/||;(my$md=$mc)=~s|/[^/]+$|/|;(my$me=$ENV{$z[507]}) =~s|/[^/]+$|/|;$me=~s|^/||;$me=$z[508].($ENV{$z[484]}||$ENV{$z[485]} ||$ENV{$z[439]}).$z[221].$me;my$mf=$ai{$z[525]};my@mg=qw( htdocs httpd www web html ); my@mh;push@mh,[$z[526],$z[526]];push@mh,[$z[527].$mf.$z[221], $z[527].$mf.$z[221]];foreach(@mg){push@mh,[$z[527].$mf.$z[221], $z[527].$_.$z[221].$mf.$z[221]];}foreach(@mg){push@mh,[$z[527], $z[527].$_.$z[221]];}push@mh,[$z[527],$z[527]];foreach(@mh) {my($mi,$mj)=@$_;&dl($z[528]."$ai{'cgidir'}/$mj$mc
");if (-e"$ai{'cgidir'}/$mj$mc"){return(&mk("$me$mi$md"),&mk("$ai{'cgidir'}/$mj$md")); }}return(&mk("$me../$md"),&mk("$ai{'cgidir'}/../$md"));}sub mk{my$dx=shift;1 while($dx=~s|/[^/]+/\.\.||);return$dx;}sub kx{my($ac,$bp,$ml,$mm,@mn)=(shift,(undef)x3,265,193);my%mo=map {$_,$bp++}split(//,$z[529]);$ac=~s/-//g;my@ac=split(//,$ac); for(0,1){my$mp;for(0..7){$mp*=33;$mp+=$mo{shift@ac}}$ml=$mp/($ai{$z[530]}* shift(@mn))-1261;($ml-int$ml||$ml<1||($mm&&$ml!=$mm))?return undef:($mm=$ml)}$ml}sub kz{&dl("sub _register
");my($mq); my$en=$ENV{$z[484]}||$ENV{$z[485]}||$ENV{$z[439]};my$dx=$ENV{$z[507]} ||$ENV{$z[531]};$mq.=$z[532].&ev($ac{$z[466]});$mq.=$z[533] .&ev($ac{$z[467]});$mq.=$z[534].&ev($ad{$z[453]});$mq.=$z[535] .&ev($ai{$z[536]});$mq.=$z[537].&ev($ai{$z[7]});$mq.=$z[538] .&ev("$en$dx");$mq.=$z[539].&ev($ai{$z[456]});&dl($mq);my$in =gethostbyname($z[540])||return;local(*AI);socket(AI,&PF_INET, &SOCK_STREAM,0)||die("No Socket: $!");connect(AI,pack"SnA4x8", &PF_INET,80,$in)||return;select(AI);$|=1;select(STDOUT);print AI"GET /register/register.cgi?$mq HTTP/1.0\n";print AI"Referer: $ENV{'HTTP_REFERER'}\n"; print AI"User-Agent: software\n\n";my$mr=join("",);close(AI); if($mr=~/license\.invalid/){$ac{$z[279]}=1;}if($mr=~/license\.valid/) {$ac{$z[279]}=0;}&dl($mr);&co($aj{$z[76]},\%ac,1);if($ac{$z[279]}) {&la($z[457]);}}sub ky{local(*AB);open(AB,"<$ai{'cgidir'}/$ai{'cgifile'}"); ;binmode(AB);my$it.=join'',;close(AB);$it=~tr/\r\n//d; $ai{$z[456]}=unpack$z[463],$it;}sub vk{if(!$ai{$z[541]}++){ print$z [520]."\n\n";}print&ms();exit;}sub ms{if(&lr($ak{$z[475]})) {return&mt();}else{return&ae($z[542],{});}}sub lr{my$mu=shift ||die("No 'vendor' name specified (make sure it's defined in INI file)"); my$mv=$mu;$mv=~s/^\s+|\s+$//sg;$mv=~s/(.{1,8})/crypt($1,$z[543])/sge; $mv=~s/AA//gs;if($mv eq$z[544]){return 1;}return 0;}sub ls{ my$ac=join("\n",$z[545],$z[546],$z[547],'',$z[548],$z[549], );$ac=~s|\$cgiurl\$|$ai{$z[550]}|iges;return&mw($ac);}sub mt {my$ac=join("\n",$z[551],$z[552],$z[553],$z[554],$z[555],$z[556], $z[557],$z[558],$z[559],'',$z[560],'',$z[561],'',$z[562],$z[563], $z[564],$z[565],$z[566],$z[567],$z[568],'',$z[569],$z[570], $z[571],$z[572],'',$z[573],'',$z[574],'',$z[575],$z[576],$z[577], $z[578],$z[579],$z[580],$z[581],'',$z[582],'',$z[583],$z[584], $z[585],'',$z[586],'',$z[587],$z[588],$z[589],$z[575],$z[590], $z[591],$z[592],$z[593],$z[594],$z[581],'',$z[595],'',$z[575], $z[596],$z[597],$z[598],$z[599],$z[600],$z[601],$z[602],$z[603], $z[604],$z[605],$z[606],$z[607],$z[581],'',$z[608],$z[609], $z[610],'',$z[611],$z[612],$z[613],$z[614],$z[615],$z[616], $z[617],$z[618],'',$z[619],$z[620],$z[621],$z[622],$z[623], $z[624],'',$z[625],$z[626],$z[627],$z[628],$z[629],$z[630], $z[631],'',$z[632],$z[633],'',$z[575],$z[634],$z[635],$z[636], $z[637],$z[581],'',$z[638],'',$z[639],$z[640],'',$z[575],$z[641], $z[642],$z[643],$z[644],$z[645],$z[646],$z[647],$z[648],$z[649], '',$z[650],$z[651],$z[652],$z[653],'',$z[654],$z[581],'',$z[655], $z[656],$z[657],$z[658],$z[659],$z[660],$z[661],$z[662],$z[663], $z[664],$z[665],'',$z[666],$z[667],$z[668],$z[669],$z[670], $z[671],$z[672],$z[673],$z[674],$z[675],$z[676],'',$z[677], $z[678],$z[679],$z[680],$z[681],$z[682],$z[683],$z[684],$z[685], $z[686],$z[687],'',$z[688],$z[689],$z[690],'',$z[691],$z[692], $z[693],'',$z[694],$z[695],$z[696],$z[697],$z[698],$z[699], $z[700],$z[701],$z[702],$z[703],'','',$z[704],'','',$z[573], $z[705],$z[706],'',$z[707],'',$z[708],);return&mw($ac);}sub mw{my$ac=shift;$ac=~s|\$_vendor_name\$|$ad{$z[709]}|iges;$ac =~s|\$_vendor_url\$|$ad{$z[710]}|iges;$ac=~s|\$_vendor_location\$|$ad{$z[711]}|iges; return$ac;}sub vl{my$ds=shift;my$ac;my$mx;foreach$mx(keys%$ds) {my$de=&ev($ds->{$mx});$ac.="&"if($ac);$ac.="$mx=$de";}$ac= unpack($z[712],$ac);$ac=~tr/[A-F][a-f][0-9]/[A-F][A-F][G-P]/; return$ac;}sub na{my$ac=shift;my$ds={};$ac=~tr/[A-F][G-P]//cd; $ac=~tr/[G-P]/[0-9]/;$ac=pack($z[712],$ac);my$mz;foreach$mz (split($z[178],$ac)){my($du,$de)=split($z[171],$mz);$de=&fr($de); $ds->{$du}=$de;}return$ds;}sub vm{local(*AB);my($dp)=$_[0]; my($dr)=$_[1];my(@dq,$cp);if(!$_[0]){die"INI_Load_Vendor : No data file was specified!\n"; }open(AB,"<$dp")||die("INI_Load_Vendor : Could open data file! $!\n"); @dq=;close(AB);my($ds);foreach$cp(@dq){next if$cp=~/^#/; $ds=&na($cp);my$mx;foreach$mx(%$ds){$dr->{$mx}=$ds->{$mx};} }if(!$dr->{$z[475]}||!$dr->{$z[713]}||!$dr->{$z[714]}){die("Keys missing from INI_Load_Vendor!\n"); }return;}1;;sub nj{my($nb,$nc)=@_;foreach(@{$nb->{$z[45]}}) {my($nd,$eb)=@{$_};if(!defined&{$eb}&&!defined&{$ai{$z[715]}{$nd}}) {die("The action '$nd' defined as a handler for db '$nb->{'name'}' does not have a custom handler or a default handler"); }if((!$nc&&$af{$nb->{$z[14]}.$z[493].$nd})||$nc eq$nd){if(defined &{$eb}){&{$eb}($nb);exit;}else{&{$ai{$z[715]}{$nd}}($nb);exit; }}}if($nc){die"Unable to execute forced action '$nc' on db '$nb->{'name'}'"; }}sub vn{my$nb=shift;my$bg=&ne($nb);&nf($nb,$bg);}sub vo{my $nb=shift;my$bg=&ng($nb);&nh($nb,$bg);&ni($z[716],$bg);exit; }sub vp{my$nb=shift;if(!$ac{$z[717]}){&nj($nb,$z[46]);}my$bg =&nk($nb);&ni($z[717],$bg);exit;}sub vq{my$nb=shift;my$bg=&nl($nb); &nm($nb,$bg);}sub vr{my$nb=shift;&bb;my$nn=&np($nb);my$nq=&nr($nb, $nn);&ns($nb,$nn);&nt($nb,$nn);&bd;&nu($nb,$nq);&nv($nb);}sub vs{my$nb=shift;my($bx,$by);my$nw={$z[718]=>$ak{$z[719]}{$z[718]}, $z[720]=>1,$z[721]=>'',};$nw=&nx($nb,$nw);foreach(split(/\s+/,$nb->{$z[41]})) {push(@$by,[$_,$z[147],$nw->{$z[721]}]);}my$bl=sub{my$ny=shift; if(!defined$ny->{$z[722]}&&$ny->{$z[723]}){my$gn=&ga(0,0,0,$ny->{$z[724]},$ny->{$z[723]}-1,$ny->{$z[725]}); $ny->{$z[722]}=&nz($ai{$z[726]},$gn);}$ny->{$z[521]}=&nz($ai{$z[727]},int($ny->{$z[521]})) if$ny->{$z[521]};$ny->{$z[522]}=&nz($ai{$z[727]},int($ny->{$z[522]})) if$ny->{$z[522]};$ad{$z[728]}=$ad{$z[728]}eq$z[729]?$z[730] :$z[729];return<($z[731],$ny);};my$bg=&oa($nb,$bl,$nw,$bx, $by);&ob($bg);}sub ne{my$nb=shift;$ad{$z[732]}=$nb->{$z[15]}; $ad{$z[733]}=$nb->{$z[14]};&ae($nb->{$z[17]},{});my($bg)={}; if($nb->{$z[734]}&&&oc($nb)>=$nb->{$z[734]}){&ni($z[735],$nb); }my($gk,$fj,$fk)=(localtime(&od($^T)))[3,4,5];$fj++;$fk+=1900; $bg->{"day_$gk".$z[736]}=$z[737];$bg->{"mon_$fj".$z[736]}=$z[737]; $bg->{"year_$fk".$z[736]}=$z[737];foreach(split(/ /,$nb->{$z[21]})) {if(/^ufile/&&!$bg->{$_}){$bg->{$_}=$z[738];}}$bg->{$z[521]} =&nz($ai{$z[727]},&od($^T));$bg->{$z[522]}=&nz($ai{$z[727]},&od($^T)); $bg->{$z[739]}=$am{$z[14]}||"unknown user";$bg->{$z[740]}=$am{$z[14]} ||"unknown user";return$bg;}sub nf{my($nb,$bg)=@_;if($ai{$z[204]}{$z[208]}{$z[741]}) {&ni($z[741],$bg);}else{&ni($z[716],$bg);}exit;}sub ng{my$nb =shift;$ad{$z[732]}=$nb->{$z[15]};$ad{$z[733]}=$nb->{$z[14]}; &ae($nb->{$z[17]},{});my($jf)=int$af{$nb->{$z[14]}.$z[742]}; my$bg={};&lv($nb,$bg,$jf)||&ag($z[743],$jf);return$bg;}sub nh{my($nb,$bg)=@_;foreach(split(/ /,$nb->{$z[21]})){if(/^ufile/ &&!$bg->{$_}){$bg->{$_}=$z[738];}}foreach(keys%{$bg}){$bg->{$_} =&ec($bg->{$_});}foreach(keys%{$bg}){if(!/\W/&&$bg->{$_}!~/\W/) {$bg->{$_.$z[493].$bg->{$_}.$z[744]}=$z[745];$bg->{$_.$z[493].$bg->{$_}.$z[736]} =$z[737];}}$bg->{$z[521]}=&nz($ai{$z[727]},&od($bg->{$z[521]})) if$bg->{$z[521]};$bg->{$z[522]}=&nz($ai{$z[727]},&od($bg->{$z[522]})) if$bg->{$z[522]};my%oe;&lv($aj{$z[69]},\%oe,$bg->{$z[739]}) if$bg->{$z[739]};$bg->{$z[739]}=$oe{$z[14]}||"unknown user"; &lv($aj{$z[69]},\%oe,$bg->{$z[740]})if$bg->{$z[740]};$bg->{$z[740]} =$oe{$z[14]}||"unknown user";return$bg;}sub nk{my$nb=shift; $ad{$z[732]}=$nb->{$z[15]};$ad{$z[733]}=$nb->{$z[14]};&ae($nb->{$z[17]}, {});my($jf)=int($af{$nb->{$z[14]}.$z[746]})||int($af{$z[5]}); my($bg)={};&lv($nb,$bg,$jf)||&ag($z[743],$jf);return$bg;}sub nl{my$nb=shift;$ad{$z[732]}=$nb->{$z[15]};$ad{$z[733]}=$nb->{$z[14]}; &ae($nb->{$z[17]},{});my($jf)=$af{$z[5]}||$af{$nb->{$z[14]}.$z[746]}; my$bg={};&bb();&lv($nb,$bg,$jf)||&ag($z[743],$jf);&of($nb,$jf) ||die($z[747].$jf);&bd();&og($bg,$ac{$z[502]});if(defined&{$nb->{$z[44]}}) {&{$nb->{$z[44]}}($jf,$z[46],$bg);}return$bg;}sub nm{my($nb, $bg)=@_;if(!$ac{$z[748]}){&nj($nb,$z[47]);}&ni($z[749],$bg); exit;}sub np{my$nb=shift;$ad{$z[732]}=$nb->{$z[15]};$ad{$z[733]} =$nb->{$z[14]};&ae($nb->{$z[17]},{});my($jf)=int($af{$z[5]}); my$nn={};if($nb->{$z[734]}){my($be)=&oc($nb);if($jf&&$be>$nb->{$z[734]}) {&ni($z[735],$nb);}elsif(!$jf&&$be>=$nb->{$z[734]}){&ni($z[735],$nb); }}if($jf){&lv($nb,$nn,$jf)||die("ui_save : Can't find record #$jf"); }return($nn);}sub nr{my($ny)=$_[0]->{$z[14]}||die($z[750]); my($jf)=int($af{$z[5]});my(%ny)=%{$_[1]||{}};my(%dp,%ej,$dc,%nq,%bg); if(!$ac{$z[502]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n"); }if(!-d$ac{$z[502]}){die("ui_save_uploads: Upload directory '$ac{'dir_upload'}' doesn't exist!\n"); }if(!-w$ac{$z[502]}){die("ui_save_uploads: Upload directory isn't writable!\n"); }%dp=&oh($ac{$z[502]});foreach(split(/ |\,/,$ac{$z[751]})){ $ej{$_}++if$_;}foreach$dc(split(/ /,$_[0]->{$z[21]})){if($dc !~/^ufile/){next;}if($af{$dc}){if($ac{$z[752]}&&length($af{$dc}) >$ac{$z[753]}*1000){my$oi=length($af{$dc});$nq{$z[754]}.=qq|$af{$dc."_file"} ($oi bytes, file too large)
\n|; $af{$dc}=$ny{$dc};next;}if(!$ej{lc$af{$dc.$z[190]}}){$nq{$z[754]} .=qq|$af{$dc."_file"} ('$af{$dc.'_ext'}' files not accepted)
\n|; $af{$dc}=$ny{$dc};next;}if($ny{$dc}&&$dp{$ny{$dc}}){unlink("$ac{'dir_upload'}/$ny{$dc}"); }my($oj);my($ok)=lc$af{$dc.$z[189]};my($ol)=lc$af{$dc.$z[190]}; my($om)=$z[755];$ok=~s/\.[^\.]*$//g;$ok=~s/[^a-z0-9_\-]/_/g; $ol=~s/[^a-z0-9_\-]/_/g;$oj="$ok.$ol";if(-e"$ac{'dir_upload'}/$oj") {do{$om=sprintf($z[288],++$om);$oj=$ok."_$om.$ol";}while(-e "$ac{'dir_upload'}/$oj");}open(AB,">$ac{'dir_upload'}/$oj") ||die($z[756]."$oj $!\n");binmode AB;print AB$af{$dc};close(AB); if($oj=~/\.(gif|jpg|jpeg|png)$/i){my($hn,$ho,$on)=&oo("$ac{'dir_upload'}/$oj"); if(($ac{$z[757]}&&$ho>$ac{$z[757]})||($ac{$z[758]}&&$hn>$ac{$z[758]})) {unlink("$ac{'dir_upload'}/$oj");$nq{$z[754]}.=qq|$af{$dc."_file"} (${ho}x$hn, image too big)
\n|; $af{$dc}=$ny{$dc};next;}}$af{$dc}=$oj;}elsif($af{$dc.$z[189]}) {if($ny{$dc}&&$dp{$ny{$dc}}){unlink("$ac{'dir_upload'}/$ny{$dc}"); }$ny{$dc}='';}else{$af{$dc}=$ny{$dc};}}return\%nq;}sub ns{my ($nb,$nn)=@_;my($jf)=int($af{$z[5]});$af{$z[521]}=$jf?$nn->{$z[521]} :$^T;$af{$z[739]}=$jf?$nn->{$z[739]}:$am{$z[5]};$af{$z[759]} =$jf?$nn->{$z[759]}:$am{$z[5]};$af{$z[522]}=$^T;$af{$z[740]} =$am{$z[5]};my$op;foreach$op($nb->{$z[21]}=~/\bufile([^ ]*)\b/g) {if($nb->{$z[21]}=~/\bimagewidth\Q$op\E\b/){($af{$z[760].$op}, $af{$z[761].$op})=&oo($ac{$z[502]}.$af{$z[762].$op});}}}sub nt{my($nb,$nn)=@_;my($jf)=int($af{$z[5]});if($jf){&co($nb,\%af, $jf);}else{$af{$z[5]}=&cu($nb,\%af,$jf);}if(defined&{$nb->{$z[44]}}) {&{$nb->{$z[44]}}($af{$z[5]},$z[474],$nn);}}sub nu{my($nb,$nq) =@_;if(keys%{$nq}){undef$ac{$z[753]}if!$ac{$z[752]};$nq->{$z[5]} =$af{$z[5]};$nq->{$z[763]}=<($z[763],\%ac)if$ac{$z[753]}; $nq->{$z[764]}=<($z[764],\%ac)if$ac{$z[757]};$nq->{$z[765]} =<($z[765],\%ac)if$ac{$z[758]};$nq->{$z[766]}=<($z[766], {$z[751]=>$ac{$z[751]}?$ac{$z[751]}:$z[767]});&ni($z[768],$nq); exit;}}sub nv{my($nb)=@_;if(!$ac{$z[769]}){&nj($nb,$z[47]); }&ni($z[770],\%af);exit;}sub ob{my$bg=shift;&ni($z[47],$bg); exit;}sub nx{my($nb,$nw)=@_;$ad{$z[732]}=$nb->{$z[15]};$ad{$z[733]} =$nb->{$z[14]};if(ref($nb)ne$z[105]){die$z[771]."\n";}&ae($nb->{$z[17]}, {});if($af{$nb->{$z[14]}.$z[772]}){my$oq={};while($al{$nb->{$z[14]}.$z[773]} =~/(.*?)\t(.*?)\t/g){$oq->{$1}=$2;}$nw->{$z[718]}=$af{$z[774]} ||$oq->{$z[718]};}else{while($al{$nb->{$z[14]}.$z[773]}=~/(.*?)\t(.*?)\t/g) {$nw->{$1}=$2;}foreach(keys%{$nw}){if(defined$af{$z[493].$_}) {if($_ ne$z[718]&&$_ ne$z[720]){$nw->{$z[720]}=1;}$nw->{$_} =$af{$z[493].$_};}}}&mb($nb->{$z[14]}.$z[773],join("\t",map {$_,$nw->{$_}}keys%{$nw})."\t");foreach(keys%{$nw}){$ad{$z[493] .$_}=$nw->{$_};$ad{$z[493].$_.$z[493].$nw->{$_}.$z[736]}=$z[737]; $ad{$z[493].$_.$z[493].$nw->{$_}.$z[744]}=$z[745];}return$nw; }sub oa{my($nb,$bl,$nw,$bx,$by)=@_;my%bg;my$hq=sub{$bg{$z[775]} .=&{$bl}(@_);};($bg{$z[776]},$bg{$z[777]},$bg{$z[778]},$bg{$z[779]}, $bg{$z[780]},$bg{$z[781]})=&or($nb,$hq,$nw->{$z[720]},$nw->{$z[718]}, $bx,$by);unless($bg{$z[775]}){if($ai{$z[204]}{$z[208]}{$z[782]} &&scalar grep{$_ ne$z[718]&&$_ ne$z[720]&&$nw->{$_}ne''}keys %{$nw}){$bg{$z[775]}=<($z[782],{});}else{$bg{$z[775]}=<($z[783], {});}}return\%bg;}sub ay{my$nb=shift;my($bx,$by);my$nw={$z[718] =>$ak{$z[719]}{$z[718]},$z[720]=>1,$z[721]=>'',};$nw=&nx($nb, $nw);foreach(split(/\s+/,$nb->{$z[41]})){push(@$by,[$_,$z[147], $nw->{$z[721]}]);}my$bl=sub{my$ny=shift;$ny->{$z[784]}=$os[$ny->{$z[523]}]; if(!defined$ny->{$z[722]}&&$ny->{$z[723]}){my$gn=&ga(0,0,0,$ny->{$z[724]},$ny->{$z[723]}-1,$ny->{$z[725]}); $ny->{$z[722]}=&nz($ai{$z[726]},$gn);}$ny->{$z[521]}=&nz($ai{$z[727]},int($ny->{$z[521]})) if$ny->{$z[521]};$ny->{$z[522]}=&nz($ai{$z[727]},int($ny->{$z[522]})) if$ny->{$z[522]};$ad{$z[728]}=$ad{$z[728]}eq$z[729]?$z[730] :$z[729];return<($z[731],$ny);};my$bg=&oa($nb,$bl,$nw,$bx, $by);&ob($bg);}sub vt{my$nb=shift;&bb();my$nn=&np($nb);my$nq =&nr($nb,$nn);&ns($nb,$nn);my%ot;if(&ma($nb,\%ot,$z[517],$af{$z[517]})) {if($ot{$z[5]}!=$nn->{$z[5]}){&bd();&ni($z[785],\%af);}}if($af{$z[5]} ==$am{$z[5]}&&$af{$z[523]}<9){&bd();&ni($z[786],{});}&nt($nb, $nn);my%ou;if(&ma($aj{$z[74]},\%ou,$z[5],$af{$z[5]})){&co($aj{$z[74]}, \%af,$af{$z[5]});}&bd();&nu($nb,$nq);&nv($nb);}sub vu{my$nb =shift;if(!$ac{$z[717]}){&nj($nb,$z[46]);}my$bg=&nk($nb);if ($bg->{$z[5]}==$am{$z[5]}&&$af{$z[523]}<9){&ni($z[786],{}); }&ni($z[717],$bg);}sub ax{my$nb=shift;my$jf=$af{$z[5]}||$af{$nb->{$z[14]}.$z[746]}; if($jf==$am{$z[5]}&&$af{$z[523]}<9){$ad{$z[732]}=$nb->{$z[15]}; $ad{$z[733]}=$nb->{$z[14]};&ae($nb->{$z[17]},{});&ni($z[786], {});}&bb();&lv($aj{$z[69]},{},$am{$z[5]})||&la($z[787],{}); my$bg=&nl($nb);&of($aj{$z[74]},$jf);&bd();&nm($nb,$bg);}sub pn{my$hy=shift;if($ac{$z[788]}eq$z[789]){my%hz=(host=>$ac{$z[790]}, helo=>$ak{$z[791]}{$z[792]},timeout=>$ak{$z[791]}{$z[793]}, pop3_auth=>$ac{$z[794]},pop3_host=>$ac{$z[795]},pop3_user=> $ac{$z[796]},pop3_pass=>$ac{$z[797]});&ov($hy,\%hz)||die("Error sending message: $ai{'error'}"); }elsif($ac{$z[788]}eq$z[798]){if(!-e$ac{$z[799]}){die("sendmail: can't find sendmail program '$ac{'mail_sendmail'}'\n"); }local(*AL);my($il)=&ia($hy);open(AL,"|$ac{'mail_sendmail'} -f $il -t") ||die"Can't open $ac{'mail_sendmail'} : $!";print AL$hy;close(AL); }elsif(!$ac{$z[788]}){die("sendmail: no mailer specified in setup options!\n"); }else{die("sendmail: unknown mailer '$ac{'mail_mailer'}' specified!\n"); }}sub lo{my($dy)=$_[0];my($ow)=$af{$z[800]}||die("browse: you must pass a name/value for the 'fieldname'!\n"); my(%bg,$dz);if($dy ne$z[470]&&$dy ne$z[449]){die("browse: the first argument must be either 'dir' or 'file'!\n"); }if($af{$z[801]}){&ox($z[802].$z[803].$ai{$z[804]}.$z[805]); }if($af{$z[806]}){&ox($z[807].$z[803].$ai{$z[804]}.$z[805]); }if($af{$z[470]}){&ox($z[808].$z[803].$ai{$z[804]}.$z[805]); }if(!-d$ac{$z[809]}){delete$ac{$z[809]};}if($af{$z[810]}){if (-f$af{$z[810]}){$af{$z[810]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d $af{$z[810]}){$af{$z[470]}=$af{$z[810]};}}if($ak{$z[811]}){ $af{$z[470]}=$ac{$z[809]};}&ae("_browse_$dy.html",{});my$oy ="/";$bg{$z[800]}=$af{$z[800]};if($af{$z[801]}){$bg{$z[812]} =$af{$z[812]};if(!$af{$z[812]}){$ad{$z[813]}=$z[814];}elsif ($af{$z[812]}=~m/[^\w\-]/i){$ad{$z[813]}=$z[815];}elsif(!mkdir("$af{'cdir'}$oy$af{'mkdir_name'}",0777)){ $ad{$z[813]}=$z[816].$!;}if($ad{$z[813]}){$ad{$z[813]}=<($z[813],\%ad); }}if($af{$z[806]}){local(*AB);$bg{$z[817]}=$af{$z[817]};if(!$af{$z[817]}) {$ad{$z[818]}=$z[819];}elsif($af{$z[817]}=~m/[^\w\-\.]/i){$ad{$z[818]} =$z[820];}elsif(-e"$af{'cdir'}$oy$af{'mkfile_name'}"){$ad{$z[818]} =$z[821];}elsif(!open(AB,">$af{'cdir'}$oy$af{'mkfile_name'}")) {$ad{$z[818]}=$z[822].$!;}close(AB);if($ad{$z[818]}){$ad{$z[818]} =<($z[818],\%ad);}}$bg{$z[470]}=$af{$z[470]}||$ac{$z[809]} ||$ai{$z[392]};$bg{$z[470]}=~s/^(.+)(\\|\/)+$/$1/;$bg{$z[823]} =$bg{$z[470]};$bg{$z[823]}=~s!^([a-z]:)!$1/..!i;$bg{$z[824]} =($bg{$z[470]}=~m#^(.*)[\\/]#,$1||$oy);$bg{$z[825]}=&ev($bg{$z[824]}); $bg{$z[47]}.=<($z[824],\%bg)if($bg{$z[470]}=~m!.+(\\|/)!); if(!-e$bg{$z[470]}){$bg{$z[368]}=$z[826];}elsif(!-r$bg{$z[470]}) {$bg{$z[368]}=$z[827];}if($bg{$z[368]}){print"Content-type: text/html\n\n" unless($ai{$z[541]}++);$bg{$z[47]}.=<($z[368],\%bg);print &ae($z[828],\%bg);exit;}opendir(AC,"$bg{'dir2'}");my@dz=sort {lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($oh); foreach$oh(@dz){-d"$bg{'dir'}$oy$oh"||next;$bg{$z[14]}=$oh; $bg{$z[829]}="$bg{'dir'}$oy$oh";$bg{$z[829]}=~s/$oy+/$oy/g; $bg{$z[830]}=&ev($bg{$z[829]});($bg{$z[831]},$bg{$z[832]})= (stat($bg{$z[829]}))[7,9];next if$bg{$z[832]}eq"";$bg{$z[833]} =&nz($ai{$z[727]},$bg{$z[832]});$bg{$z[47]}.=<($z[470],\%bg); $dz++;}my($dp);foreach$dp(@dz){-d"$bg{'dir'}$oy$dp"&&next;$bg{$z[14]} =$dp;$bg{$z[829]}="$bg{'dir'}$oy$dp";($bg{$z[831]},$bg{$z[832]}) =(stat($bg{$z[829]}))[7,9];next if$bg{$z[832]}eq"";if($bg{$z[831]}) {$bg{$z[831]}=(int($bg{$z[831]}/1000)||1)."KB";}else{$bg{$z[831]} ="0KB";}$bg{$z[833]}=&nz($ai{$z[727]},$bg{$z[832]});$bg{$z[829]} =~s/'/\\'/g;$bg{$z[829]}=~s/\\/\\\\/g;if(-f"$bg{'dir'}$oy$dp") {$bg{$z[47]}.=<($z[449],\%bg);}else{$bg{$z[47]}.=<($z[834],\%bg); }$dz++;}if(!$dz){$bg{$z[47]}.=<($z[835],{});}print"Content-type: text/html\n\n" unless($ai{$z[541]}++);print&ae("_browse_$dy.html",\%bg);exit; }sub up{my($iq,$it);if($ENV{$z[183]}=~/^[\w\-]+\.gif$/){$iq =$z[836]."\n\n";}elsif($ENV{$z[183]}=~/^[\w\-]+\.jpg$/){$iq =$z[837]."\n\n";}else{return;}$it=&ae($ENV{$z[183]},{},$z[199]); if($it){binmode(STDOUT);print$iq ;print$it ;exit;}}sub od{my $gn=$_[0]||die("time_adj: first argument must be time()\n"); if($ac{$z[838]}eq$z[741]){$gn+=$ac{$z[839]}*60*60;}if($ac{$z[838]} eq$z[840]){$gn-=$ac{$z[839]}*60*60;}if($ac{$z[841]}eq$z[741]) {$gn+=$ac{$z[842]}*60;}if($ac{$z[841]}eq$z[840]){$gn-=$ac{$z[842]}*60; }return$gn;}sub vv{my($bl,$oz,$pa,$pb,%ou);my(%bg,%pc);if(!$af{$z[843]} &&!$al{$z[517]}){&la(undef,\%bg);}if($af{$z[843]}){($oz,$pa) =(lc$af{$z[517]},lc$af{$z[518]});if(!$oz&&!$pa){&la($z[787], \%bg);}if(!$oz||!$pa){&la($z[787],\%bg);}$bl=sub{if(lc$pc{$z[517]} eq$oz&&lc$pc{$z[518]}eq$pa){$pb=$pc{$z[5]};}};&pd($aj{$z[69]}, $bl,\%pc);if(!$pb){&la($z[787],\%bg);}&lv($aj{$z[69]},\%pc, $pb);$pc{$z[521]}=$^T;$pc{$z[522]}=$^T;&co($aj{$z[74]},\%pc, $pb);}else{($oz,$pa)=(lc$al{$z[517]},lc$al{$z[518]});if(!$oz ||!$pa){&la($z[844],\%bg);}$bl=sub{if(($ak{$z[845]}&&$pc{$z[522]} <$^T-60*$ak{$z[845]})||$pc{$z[522]}<$^T-60*60*24){&of($aj{$z[74]}, $pc{$z[5]});}elsif(lc$pc{$z[517]}eq$oz&&lc$pc{$z[518]}eq$pa) {$pb=$pc{$z[5]};}};&pd($aj{$z[74]},$bl,\%pc);if(!$pb){&la($z[844], \%bg);}&lv($aj{$z[74]},\%pc,$pb);$pc{$z[522]}=$^T;&co($aj{$z[74]}, \%pc,$pb);}&mb($z[517],$oz);&mb($z[518],$pa);return%pc;}sub la{if(!$ai{$z[541]}++){print$z [520]."\n\n";}my($dm)=$_[0]; my(%bg)=%{$_[1]||{}};&ae($z[846],{});foreach(keys%bg){$bg{$_} =&ec($bg{$_});}if($dm&&!$ai{$z[204]}{$z[208]}{$dm}){die($z[847]."'$dm' isn't defined!\n"); }if($dm){$bg{$z[754]}=<($dm,\%bg);}print<($z[848],{});if ($dm){print<($z[849],\%bg);}else{print<($z[843],\%bg);} print<($z[850],{});if(-f"$ai{'cgidir'}/display_resource_usage.pl") {eval"require \"$ai{'cgidir'}/display_resource_usage.pl\""; &display_resource_usage()}if($ai{$z[367]}){print"

";print "

$ai{'debug_output'}
"if($ai{$z[179]});}&lu();exit; }sub vw{&ae($z[846],{});&mb($z[517],'');&mb($z[518],'');$ac{$z[851]} =~s/^\s+|\s+$//g;if($ac{$z[851]}&&$ENV{$z[183]}=~/logoff/i) {print"Content-type: text/html\n\n";print qq|\n|; print$z [852].$ac{$z[851]}.qq|">\n|;print qq|\n|;print qq|\n|;print qq|\n|;exit; }&la();}sub pr{&ae($aj{$z[76]}->{$z[17]},{});&lv($aj{$z[76]}, \%ac,1);foreach(keys%ac){if(!/\W/&&$ac{$_}!~/\W/){$ac{$_."_$ac{$_}".$z[744]} =$z[745];$ac{$_."_$ac{$_}".$z[736]}=$z[737];}}$ac{$z[853]}= &nz($ai{$z[727]},$^T);$ac{$z[839]}||=0;$ac{$z[842]}||=0;$ac{$z[854]} =&nz($ai{$z[727]},&od($^T));foreach(keys%ENV){$ac{"env_".lc($_)} =$ENV{$_};}$ac{$z[855]}=$^O;$ac{$z[856]}=$];$ac{$z[857]}||= "not available";$ac{$z[858]}||=$ac{$z[859]};$ac{$z[860]}=$ai{$z[392]}; foreach(grep/^env_/,keys%ac){$ac{$_}=~s/(\W)(\w)/$1$2/g; }foreach(keys%ac){$ac{$_.$z[209]}=&ev($ac{$_})if/^dir/;$ac{$_} =~s/"/"/g;}if($^O!~/win32/i&&!$ac{$z[799]}&&defined$ai{$z[204]}{$z[208]}{$z[861]}) {foreach($z[862],$z[863],$z[864],$z[865],$z[866],$z[867],$z[868]) {if(-e$_){$ad{$z[869]}.=<($z[861],{$z[829]=>$_});}}}my$pe =$z[870];$pe=$z[871]if($ac{$z[871]});foreach(1..10){$pe="tab$_" if($af{"setup_tab$_"}&&defined$ai{$z[204]}{$z[208]}{"tab$_"}); }&ni($pe,\%ac);exit;}sub vx{$ai{$z[872]}=$z[10];my(%bg,$pf); if($af{$z[873]}){&ae($z[874],{});$bg{$z[875]}=<($z[876],\%bg); $bg{$z[877]}=$z[878];my@pg=qw(mail_smtp mail_sender_email mail_sender_name mail_mailer mail_sendmail mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass); @bg{@pg}=@af{@pg};print"Content-Type: text/html\n\n";print&ae($z[874], \%bg);exit;}if(length($af{$z[879]})){&ph($z[880],$z[881])unless &pi($af{$z[879]});}else{&ph($z[882],$z[883]);}my$pj;open(AJ, "<$ai{'templatedir1'}/email/email_test.txt")||&ph($z[884],"Unable to open test email template."); read(AJ,$pj,-s AJ);close(AJ);my($pk,$pl);if($pj=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si) {$pk=$1;$pl=$3;}else{&ph($z[885],"email_test.txt is improperly formatted. Should have subject: and body:"); }if($af{$z[788]}eq$z[798]){@ac{qw(mail_mailer mail_sendmail)} =@af{qw(mail_mailer mail_sendmail)};}else{@ac{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)} =@af{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)}; }my$pm=qq|From: "$af{'mail_sender_name'}" <$af{'mail_sender_email'}>\nTo: "$af{'mailto'}" <$af{'mailto'}>\nSubject: $pk\nContent-Type: text/plain\n| ;$@=();eval{&pn("$pm\n$pl")};if($@){&ph($z[886],join($z[887], $@));}else{&ph($z[888]);}}sub ph{my($dy,$hq)=@_;my%bg;my%po =($z[882]=>[$z[889],$z[890],$z[891]],$z[880]=>[$z[889],$z[890], $z[892]],$z[884]=>[$z[893],$z[890],$z[894]],$z[885]=>[$z[893], $z[890],$z[895]],$z[886]=>[$z[893],$z[890],$z[896]],$z[888] =>[$z[893],$z[897],$z[898]]);&ae($z[874],{});$bg{$z[754]}=$hq; if($po{$dy}[0]eq$z[889]){$bg{$z[899]}=<($z[899],{});}$bg{$z[875]} =<($po{$dy}[1],\%bg);$bg{$z[877]}=$po{$dy}[2];print"Content-Type: text/html\n\n"; print&ae($z[874],\%bg);exit;}sub vy{&pp($z[900].$z[803].$ai{$z[804]}.$z[901]); &ae($aj{$z[76]}->{$z[17]},{});&pq;if(!$ac{$z[769]}){≺}my $pe=$z[902];foreach(1..10){$pe="saved_tab$_"if($af{"setup_tab$_"} &&defined$ai{$z[204]}{$z[208]}{"saved_tab$_"});}&ni($pe,{}); exit;}sub pq{my($nq);if(exists$af{$z[903]}){my$ps;&pd($aj{$z[52]}, sub{my$ly=shift;if($ly->{$z[904]}>$ps){$ps=$ly->{$z[904]};} });if($af{$z[903]}<$ps){&ag("You can't set subcategory depth allowed to lower than the depth of existing subcategories. Existing subcategories are $ps levels deep."); }local$SIG{__DIE__};eval{&ae("category_list.html",{});};if($@) {&ag("Can't find /templates/category_list.html. This file is required!"); }for(1..$af{$z[903]}){my$pt="row_depth$_";eval{<($pt,{}); };if($@){&ag("Error: Setup Options weren't saved","Can't find templatecell '$pt' 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$af{$z[455]}){$af{$z[455]}=~s/\s+//g;if(defined &kx){if(!&kx($af{$z[455]})){$nq=$z[489];}if(!$af{$z[455]}){ $nq=$z[490];}}if(!$af{$z[467]}){$nq=$z[491];}if(!$af{$z[466]}) {$nq=$z[492];}if($nq){$ad{$z[368]}=$nq;$ad{$z[905]}=$af{$z[466]}; $ad{$z[483]}=$af{$z[467]};$ad{$z[906]}=$af{$z[455]};&ni($z[907],\%ad) }$ac{$z[466]}=$af{$z[466]};$ac{$z[467]}=$af{$z[467]};$ad{$z[453]} =int sprintf($z[454],&kx($af{$z[455]}));$ai{$z[456]}=&ky(); if(defined&kz&&$ac{$z[455]}ne$af{$z[455]}){&kz;}}foreach(qw(uploadmax lhour_offset lmin_offset)) {if(exists$af{$_}){$af{$_}=int($af{$_});}}foreach(qw(upload_height upload_width)) {if(exists$af{$_}){$af{$_}&&=int($af{$_});}}foreach(grep{/_default_to$/i }keys%af){my($pu,$df)=/^((.*)_default_to)$/;if($af{$pu}=~/^null$/i) {$af{$pu}='';}$af{$df}||=$af{$pu};}foreach(qw(publish_index publish_basename publish_fileext)) {$af{$_}=~s/^\.+//;$af{$_}=~s/\.+$//;}foreach(keys%af){if((/^dir_/ ||/^url_/)&¬/^url_logoff$/){if(!$af{$_}){next;}$af{$_}=~ tr|\\|/|;if(/^url_/&&index($af{$_},$z[511])>=0){next;}if(/^url_/ &&index($af{$_},$z[512])>=0){next;}if(substr($af{$_},-1,1)ne $z[221]){$af{$_}.=$z[221];}}}my$pv=$ac{$z[908]};my$pw=$ac{$z[909]}; &lv($aj{$z[76]},\%ac,1);foreach(sort keys%ac){$ac{$_}=$af{$_} if defined$af{$_};}if($ac{$z[910]}){my$px=$ac{$z[3]};my$py= &pz($px);if(not$py->{$z[447]}or not$py->{$z[362]}){&ag("Dynamic parsing of SSI tags requires an absolute Publish URL (must start with http://www.website.com/). Setup Options were not saved."); }}&co($aj{$z[76]},\%ac,1);$ad{$z[911]}=$ac{$z[494]};foreach (keys%ac){$ad{$z[493].$_}=$ac{$_}if/^ui_/;}$ad{$z[905]}=$ac{$z[466]}; $ad{$z[483]}=$ac{$z[467]};$ad{$z[906]}=$ac{$z[455]};$ad{$z[912]} =$ac{$z[913]};$ad{$z[914]}=$ac{$z[850]};$ad{$z[915]}=$ac{$z[916]}; foreach(grep/^dir_/,keys%ac){$ac{$_}="$ai{'cgidir'}/$ac{$_}" if index($ac{$_},$z[452])==0;$ac{$_}=~tr|\\|/|;1 while$ac{$_} =~s|/[^/]+/\.\.||;}if(($pv ne$ac{$z[908]}||$pw ne$ac{$z[909]}) &&($ac{$z[908]}||$ac{$z[909]})){&lx($aj{$z[13]},sub{my$qa=shift; if($ac{$z[908]}&&$qa->{$z[917]}){$qa->{$z[918]}=~s/\n/
/g; undef$qa->{$z[917]};}if($ac{$z[909]}&&$qa->{$z[919]}){$qa->{$z[920]} =~s/\n/
/g;undef$qa->{$z[919]};}});}&qb();}sub vz{&pq; foreach(keys%aj){my$qc=$aj{$_}{$z[44]};if(defined&{$qc}){&{$qc}(); }}&ni($z[921],{});}sub ni{my($et)=$_[0];my($bg)=$_[1];unless ($et){die($z[922]."\n");}if(ref($_[1])ne$z[105]){die$z[923]."\n"; }my(%bg);if(!$ai{$z[541]}++){print$z [520]."\n\n";}&ae($z[846], {});unless(length$ac{$z[916]}){$ad{$z[924]}=<($z[924],{}); }print<($z[848],{});for(1..9){if($am{$z[523]}>=$_&&$ai{$z[204]}{$z[208]}{$z[925].$_}) {$bg{$z[926]}.=<($z[925].$_,{});}if($am{$z[523]}==$_&&$ai{$z[204]}{$z[208]}{$z[925].$_.$z[927]}) {$bg{$z[926]}.=<($z[925].$_.$z[927],{});}}$ad{$z[928]}="$am{'name'} ($os[$am{'acl'}])"; $bg{$z[920]}=<($et,$bg);print<($z[929],\%bg);print<($z[850], {});if($ai{$z[367]}>=2){print"

Stack Trace
"; my$bp=0;while(my($dp,$cp,$eb)=(caller($bp++))[1,2,3]){print qq!

($eb) called from ($dp) line ($cp)
\n!;}}if(-f"$ai{'cgidir'}/display_resource_usage.pl") {eval"require \"$ai{'cgidir'}/display_resource_usage.pl\""; &display_resource_usage()}if($ai{$z[367]}){print"

";print "

$ai{'debug_output'}
"if($ai{$z[179]});}&lu();exit; }sub lu{print$z [930]."\n";print$ad {$z[912]}.$z[931].$ai{$z[7]} .$z[932].$ai{$z[536]}.$z[452].$ai{$z[9]}.")\n";print$z [933] .$ad{$z[453]}.$z[934].$ad{$z[905]}.$z[934].$ad{$z[483]}."\n"; printf($z[935]."\n",time()-$^T);print$z [936]."\n";}sub uo{ my(@dz)=map"$ai{'datadir'}$aj{$_}{'datafile'}",keys%aj;my(@qd) =($ai{$z[937]});my($oh,$dp,$qe);foreach$oh(sort@qd){if($oh eq""){next;}if(!-d$oh||!-w$oh){$qe.="$oh\n";}}foreach$dp(sort @dz){$dp=~s/\\/\//g;1 while$dp=~s!/[^/]+/\.\./!/!;if(-f$dp&& !-w$dp){$qe.="$dp\n";}}if($qe){&ag($z[938],$qe);}}sub pp{return unless$ak{$z[811]};my$hy=shift;&la($z[939],{$z[754]=>$hy}); }sub ox{return unless$ak{$z[811]};my$hy=shift;$hy=&ev($hy); print"Content-type: text/html\n\n";print qq|\n| ;exit;}sub wa{&ae($aj{$z[76]}{$z[17]},{});my%qf;my$qg;foreach $qg(keys%{$ai{$z[940]}}){my%bg=($z[941]=>$qg,$z[942]=>$ai{$z[940]}{$qg} );$qf{$qg}[0]=<($z[943],\%bg);$qf{$qg}[1]=<($z[944],\%bg); }foreach$qg(keys%{$ai{$z[940]}}){my$qh=join'',map{$qf{$_}[$qg ==$_?1:0]}sort keys%{$ai{$z[940]}};$ad{$z[945].$qg}=<($z[946], {$z[947]=>$qh});}}1;;sub qo{local(*AB);my($dp,%ds,$es,$et); %ds=%{$_[1]}if$_[1];my$qi=$_[3];my$qj=$_[5];my%eu;%eu=($z[197] =>0,$z[198]=>0,$z[199]=>0,$z[200]=>0,$z[948]=>0,$z[949]=>0); foreach(split(/ /,$_[2])){if(undef$eu{$_}){die($z[201]."'$_'\n"); }$eu{$_}=1;}unless($eu{$z[197]}){$eu{$z[198]}=1;}if(!$_[0]) {die$z[202]."\n";}if(ref($_[1])ne$z[105]){die$z[950]."\n";} if(!$eu{$z[198]}||!$ai{$z[204]}{$z[198]}{$_[0]}){if(-e"$_[0]") {$dp=$_[0];}else{foreach(grep/^templatedir/,sort keys%ai){if (-e"$ai{$_}/$_[0]"){$dp="$ai{$_}/$_[0]";last;}}if(!$dp){die $z[205]."'$_[0]'".$z[206]."\n";}}}if($eu{$z[198]}&&$ai{$z[204]}{$z[198]}{$_[0]}) {$es=$ai{$z[204]}{$z[198]}{$_[0]};}else{open(AB,"<$dp")||die $z[207]."$dp! $!\n";binmode(AB)if($dp=~/gif$/i||$dp=~/jpg$/i); read(AB,$es,-s AB);close(AB);}if($eu{$z[199]}){return$es;}if (!$eu{$z[198]}||!$ai{$z[204]}{$z[198]}{$_[0]}){foreach$et($es =~m//g){$ai{$z[204]}{$z[208]}{"$qi$1"}=$2 if($es=~m/(?:\r\n|\n)?(.*?)/is); }$es=~s/(?:\r\n|\n)?(.*?)//gis; if($eu{$z[198]}){$ai{$z[204]}{$z[198]}{$_[0]}=$es;}}if($eu{$z[948]}) {while($es=~//i){my$qk=$1; my$ql=$qk;$ql=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$ds{$1}/eg; unless($ql){$es=~s///;next; }if($ql=~m!^/!){;}else{if($_[4]){$ql="$_[4]$ql";}else{$ql=($dp =~m!(.*/)!)[0].$ql;}}my$qm;if(not$ai{$z[204]}{$z[951]}{$ql}++) {my$qn;if(-e"$ql"){$qn++;}else{foreach(grep/^templatedir/,sort keys%ai){if(-e"$ai{$_}/$ql"){$qn++;last;}}}if($qn){$qm=&qo($ql, $_[1],"$_[2] inside_ssi",$z[952],$_[4]);}else{$qm="[ Program Error - Could not include file \"$ql\" via template include ]"; }}else{$qm="[ Program Error - Cyclic Include - The file '$ql' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]"; }$es=~s//$qm/;delete$ai{$z[204]}{$z[951]}{$ql}; }}else{$es=~s///gi;}$es=~s//$1/gi; $es=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$de=defined$ad{$1} ?$ad{$1}:$ds{$1};if($2 eq$z[209]){$de=&ev($de);}if($2 eq$z[210]) {$de=&ew($de);}if($2 eq$z[211]){$de=&ew($de);$de=~s/ / /g; }if($2 eq$z[212]){$de=&ex($de);}$de;]ge;return$es;}sub kn{use Socket;my$AH="\015\012";my($kv,$qp,$qs)=@_;$kv=~s|\w+://||g; my($en,$ih,$dp)=$kv=~m|^(.*?)(?::(\d+))?([/?].*)?$|;$dp||=$z[221]; $qp->{$z[422]}=$en;$qp->{$z[412]}=$z[953];$en=&ik($en);unless (grep/^User-Agent$/i,keys%{$qp}){$qp->{$z[954]}="Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"; }my($qt,$qu,$qv);if($qs){if($dp=~s/\?(.*)//){$qt=$1;}unless (grep/^Content-Type$/i,keys%{$qp}){$qp->{$z[419]}=$z[955];} unless(grep/^Content-Length$/i,keys%{$qp}){$qp->{$z[415]}=length $qt;}$qv=$z[187];}else{$qv=$z[191];}my($qy,@qz);foreach$qy(split(/,\s*/, $ak{$z[200]}{$z[956]})){@qz=grep/^$qy$/i,keys%{$qp};for(@qz) {delete$qp->{$_};}}my$ra;$ra.=$qv.$z[887].$dp.$z[957].$AH;foreach (keys%{$qp}){$ra.=$_.$z[958].$qp->{$_}.$AH;}$ra.=$AH;$ra.=$qt .$AH.$AH if$qs;my$rb=&jn();my$in=gethostbyname($en)||die"Unknown host: $!"; socket($rb,AF_INET,SOCK_STREAM,0)||die"No Socket: $!";connect($rb,pack "SnA4x8",AF_INET,$ih||80,$in)||die"Can't connect : $!";select((select($rb),$|++)[0]); print$rb $ra;my$rc;while(<$rb>){$rc.=$_;}close($rb);my($rd, $kl,$re)=$rc=~/^(.*?(?:\r\n|\n))(.*?(?:\r\n|\n)(?:\r\n|\n))?(.*)$/s; if(wantarray){return($rd,$kl,$re);}else{return$re;}}sub rj{ my($gm,$qa,$qi)=@_;$gm=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi; $gm=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[446]) {$qa->{$z[959].$1}}else{my%rf;$rf{$z[960]}=$2||$ak{$z[961]}{$z[962]} ||$z[963];$rf{$z[964]}=$qa->{$z[959].$1};$rf{$z[965]}=$qa->{$z[966] .$1};$rf{$z[967]}=$qa->{$z[968].$1};$rf{$z[969]}=$qa->{$z[970] .$1};<($qi.($rf{$z[965]}ne''?$z[965]:$z[971]),\%rf);}]eigo; return$gm;}sub wb{my($bg,$qa,$qi,$rg,$rh,@ri)=@_;$bg->{$z[972]} =&rj($rg,$qa,$qi);$bg->{$z[973]}=&rj($rh,$qa,$qi);my$bp;for $bp(1..$ai{$z[11]}){$bg->{$z[974].$bp}=&rj($ri[$bp-1],$qa,$qi); }}sub wc{my($bg,$rg,$rh,@ri)=@_;($bg->{$z[972]}=$rg)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; ($bg->{$z[973]}=$rh)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; my$bp;for$bp(1..$ai{$z[11]}){($bg->{$z[974].$bp}=$ri[$bp-1]) =~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub wd{my$es=shift; my$gn=$ad{$z[975]}||&nz($ai{$z[727]},$ac{$z[975]}||$^T);my$rk =$z[976].$ai{$z[804]}.$z[360];$$es=$z[977].$gn.$z[978]."\n\n" .$$es;unless($$es=~s/(]+>)/$rk\n$1/is){$$es=~s/(]*>)/$1\n$rk\n/i; }}sub ga{my$hq;eval{local$SIG{$z[979]}=undef;local$SIG{$z[980]} =undef;$hq=timelocal(@_);};if($@){$hq=0;}return$hq;}sub fz{ my$hq;eval{local$SIG{$z[979]}=undef;local$SIG{$z[980]}=undef; $hq=timegm(@_);};if($@){$hq=0;}return$hq;}sub we{if(!$ac{$z[981]} ||(scalar(@{$ai{$z[982]}})<1)){return;}my$qa=shift;my%rl=%{$qa}; my($rm,$rn,$ro,$rp)=(1..4);if($ai{$z[367]}){if(scalar(@{$ai{$z[982]}}) >1){my%rq=map{$_,1}("$rm,$rn","$rn,$ro","$rn,$rp");my$rr=join($z[983], sort{$a<=>$b}@{$ai{$z[982]}});unless(exists$rq{$rr}){&ag("Invalid notification events combination: $rr"); }}}my%rs;@rs{$z[521],$z[833]}=(split(/\s*,\s*/,$ak{$z[984]}{$z[985]})); $rs{$z[521]}||=$z[521];$rs{$z[833]}||=$z[833];my@rt=($z[986], split(/\s*,\s*/,$ak{$z[984]}{$z[987]}));$rt[1]||=$z[988];$rt[2] ||=$z[989];$rt[3]||=$z[990];$rt[4]||=$z[749];my%ly;&lv($aj{$z[52]}, \%ly,$rl{$z[52]});my$ru=$ly{$z[991]}?$ly{$z[3]}:$ac{$z[3]}; my(@rv,$rw);$rl{$z[992]}=$am{$z[14]};$rl{$z[993]}=(grep/^$rm$/, @{$ai{$z[982]}})?$rs{$z[521]}:$rs{$z[833]};$rl{$z[994]}=(grep /^$rp$/,@{$ai{$z[982]}})?$rt[4]:$rt[$qa->{$z[994]}];foreach (keys%rl){$rl{$z[995].$_}=$rl{$_};}foreach(1..$ai{$z[11]}){ $rl{$z[974].$_}=$rl{$z[996].$_};}$rl{$z[997]}=$ac{$z[506]}; $rl{$z[3]}=$ru;$rl{$z[998]}=$ru.$ac{$z[999]}.$z[452].$ac{$z[1000]}; $rl{$z[1001]}=$ac{$z[1002]}.$z[452].$ac{$z[1000]};$rl{$z[1003]} =$ac{$z[1004]}.$z[452].$ac{$z[1000]};$rl{$z[1005]}=$ac{$z[1002]} .$rl{$z[1006]}.$z[452].$ac{$z[1000]};;$rl{$z[1007]}=$ac{$z[1008]} .$rl{$z[1006]}.$z[452].$ac{$z[1000]};$rl{$z[1009]}=$ac{$z[1010]} .$z[452].$ac{$z[1000]};$rl{$z[1011]}=$ac{$z[1012]}.$z[452]. $ac{$z[1000]};$rl{$z[1013]}=$ru.($ac{$z[1014]}&&$rl{$z[389]} ?$ac{$z[1015]}.$rl{$z[389]}:$ac{$z[1015]}.$rl{$z[5]}).$z[452] .$ac{$z[1000]};$rl{$z[975]}=&nz($ai{$z[727]},&od($ac{$z[975]})) if($ac{$z[975]});@rv=($rl{$z[725]},$rl{$z[723]}-1,$rl{$z[724]}, $rl{$z[1016]}+($rl{$z[234]}eq$z[1017]?12:0),$rl{$z[1018]}); $rl{$z[1019]}=&nz($ai{$z[726]},@rv);$rl{$z[1020]}=&nz($ai{$z[1021]}, @rv);$rl{$z[1022]}=$ly{$z[14]};$rl{$z[1023]}=&rx($ly{$z[5]}); $rw=$ly{$z[1024]}?$ly{$z[1025]}:$ac{$z[1026]}.$rl{$z[1006]}; $rl{$z[1027]}=$ac{$z[3]}.$rw.$z[452].$ac{$z[1000]};$rl{$z[1028]} =$rl{$z[1006]};$rl{$z[1029]}=$ac{$z[1029]};if($qa->{$z[994]} ==2){if($qa->{$z[1030]}==1){$rl{$z[1031]}=$rl{$z[1032]}=$ru .($ac{$z[1014]}&&$rl{$z[1033]}?$rl{$z[389]}:$ac{$z[1034]}.$rl{$z[1035]}) .$z[452].$ac{$z[1000]};}else{$rl{$z[1031]}=$rl{$z[1032]}=$rl{$z[1027]} .$z[512].$qa->{$z[5]};}}else{$rl{$z[1031]}=$rl{$z[1032]}=$rl{$z[1027]}; }$rl{$z[1036]}=$ac{$z[1036]};$rl{$z[1037]}=$ac{$z[1037]}||$ac{$z[1036]}; my$pj;local(*AJ);open(AJ,"<$ai{'templatedir1'}/email/notify.txt") ||&ag("Unable to open email template");read(AJ,$pj,-s AJ);close(AJ); my($pk,$pl);if($pj=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si) {$pk=$1;$ai{$z[204]}{$z[198]}{$z[1038]}=$3;$pk=~s/\$(.*?)\$/$rl{$1}/g; $pl=&ae($z[1038],\%rl,$z[198]);}else{&ag($z[1039]);}my$ry=$qa->{$z[52]}; my$rz=$z[1040];my@sa;my$bl=sub{my$sb=shift;if($sb->{$z[1041]} ||$sb->{$z[1042]}=~/(^|,)$ry(,|$)/){if($sb->{$z[523]}==1){return; }if(!$sb->{$z[984]}||!&pi($sb->{$z[984]})){return;}$sb->{$z[14]} ||=$sb->{$z[984]};my$sc;foreach$sc(split(/,/,$sb->{$z[1043]})) {if(grep/^$sc$/,@{$ai{$z[982]}}){push(@sa,qq|"$sb->{'name'}" <$sb->{'email'}>|); last;}}}};&pd($aj{$z[69]},$bl);if(scalar(@sa)){my$sd;if(length($ak{$z[984]}{$z[1044]})) {$sd=qq|To: $ak{'email'}{'notifications_to_field'}\n|;}my$se =$ak{$z[984]}{$z[1045]}||";";$se.=" ";my$sf=join($se,@sa);$sd .=qq|Bcc: $sf|;my$pm=qq|From: "$rl{'mail_sender_name'}" <$rl{'mail_sender_email'}>\n$sd\nSubject: $pk\n$rz\n| ;&pn("$pm\n$pl");}}sub wf{my$nb=shift;if($nb->{$z[14]}eq$z[13]) {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$sh;if($af{$z[1046]}){$sh=$af{$z[5]};}elsif($af{$z[1047]}) {$sh=$af{$z[1047]};}my%ly;&lv($aj{$z[52]},\%ly,$sh);my$si=$ly{$z[991]} ?$ly{$z[502]}:$ac{$z[502]};my$bg=&sj($nb,$si);&nm($nb,$bg); }sub sj{my$nb=shift;my$si=shift;$si||=$ac{$z[502]};$ad{$z[732]} =$nb->{$z[15]};$ad{$z[733]}=$nb->{$z[14]};&ae($nb->{$z[17]}, {});my($jf)=$af{$z[5]}||$af{$nb->{$z[14]}.$z[746]};my$bg={}; &bb();&lv($nb,$bg,$jf)||&ag($z[743],$jf);&of($nb,$jf)||die($z[747].$jf); &bd();&og($bg,$si);if(defined&{$nb->{$z[44]}}){&{$nb->{$z[44]}}($jf, $z[46],$bg);}return$bg;}sub wg{my($ny)=$_[0]->{$z[14]}||die($z[750]); my($jf)=int($af{$z[5]});my(%ny)=%{$_[1]||{}};my$si=$_[2]||$ac{$z[502]}; my(%dp,%ej,$dc,%nq,%bg);if(!$si){die("custom_ui_save_uploads: No upload directory has been defined in setup options or provided by caller!\n"); }if(!-d$si){die("custom_ui_save_uploads: Upload directory '$si' doesn't exist!\n"); }if(!-w$si){die("custom_ui_save_uploads: Upload directory isn't writable!\n"); }%dp=&oh($si);foreach(split(/ |\,/,$ac{$z[751]})){$ej{$_}++ if$_;}foreach$dc(split(/ /,$_[0]->{$z[21]})){if($dc!~/^ufile/) {next;}if($af{$dc}){if($ac{$z[752]}&&length($af{$dc})>$ac{$z[753]}*1000) {my$oi=length($af{$dc});$nq{$z[754]}.=qq|$af{$dc."_file"} ($oi bytes, file too large)
\n|; $af{$dc}=$ny{$dc};next;}if(!$ej{lc$af{$dc.$z[190]}}){$nq{$z[754]} .=qq|$af{$dc."_file"} ('$af{$dc.'_ext'}' files not accepted)
\n|; $af{$dc}=$ny{$dc};next;}if($ny{$dc}&&$dp{$ny{$dc}}){unlink("$si$ny{$dc}"); }my($oj);my($ok)=lc$af{$dc.$z[189]};my($ol)=lc$af{$dc.$z[190]}; my($om)=$z[755];$ok=~s/\.[^\.]*$//g;$ok=~s/[^a-z0-9_\-]/_/g; $ol=~s/[^a-z0-9_\-]/_/g;$oj="$ok.$ol";if(-e"$si$oj"){do{$om =sprintf($z[288],++$om);$oj=$ok."_$om.$ol";}while(-e"$si$oj"); }open(AB,">$si$oj")||die($z[1048]."$oj $!\n");binmode AB;print AB$af{$dc};close(AB);if($oj=~/\.(gif|jpg|jpeg|png)$/i){my($hn,$ho,$on) =&oo("$si$oj");if(($ac{$z[757]}&&$ho>$ac{$z[757]})||($ac{$z[758]} &&$hn>$ac{$z[758]})){unlink("$si$oj");$nq{$z[754]}.=qq|$af{$dc."_file"} (${ho}x$hn, image too big)
\n|; $af{$dc}=$ny{$dc};next;}}$af{$dc}=$oj;}elsif($af{$dc.$z[189]}) {if($ny{$dc}&&$dp{$ny{$dc}}){unlink("$si$ny{$dc}");}$ny{$dc} ='';}else{$af{$dc}=$ny{$dc};}}return\%nq;}sub wh{my($nb,$nn, $si)=@_;$si||=$ac{$z[502]};my($jf)=int($af{$z[5]});$af{$z[521]} =$jf?$nn->{$z[521]}:$^T;$af{$z[739]}=$jf?$nn->{$z[739]}:$am{$z[5]}; $af{$z[759]}=$jf?$nn->{$z[759]}:$am{$z[5]};$af{$z[522]}=$^T; $af{$z[740]}=$am{$z[5]};my$op;foreach$op($nb->{$z[21]}=~/\bufile([^ ]*)\b/g) {if($nb->{$z[21]}=~/\bimagewidth\Q$op\E\b/){($af{$z[760].$op}, $af{$z[761].$op})=&oo($si.$af{$z[762].$op});}}}1;;sub sq{my $sk;if($ak{$z[1049]}){$sk=$ak{$z[1049]};}else{$sk=$ac{$z[3]}; $sk=~s|https?://[^/]+||;}$ad{$z[1050]}=$ac{$z[504]};$ad{$z[1051]} =$sk;$ad{$z[997]}=$ac{$z[506]};$ad{$z[3]}=$ac{$z[3]};$ad{$z[998]} =$ac{$z[3]}.$ac{$z[999]}.$z[452].$ac{$z[1000]};$ad{$z[1001]} =$ac{$z[1002]}.$z[452].$ac{$z[1000]};$ad{$z[1003]}=$ac{$z[1004]} .$z[452].$ac{$z[1000]};$ad{$z[1009]}=$ac{$z[1010]}.$z[452]. $ac{$z[1000]};$ad{$z[1011]}=$ac{$z[1012]}.$z[452].$ac{$z[1000]}; $ad{$z[1052]}=$sk.$ac{$z[1002]}.$z[452].$ac{$z[1000]};$ad{$z[1053]} =$sk.$ac{$z[1004]}.$z[452].$ac{$z[1000]};$ad{$z[1054]}=$sk. $ac{$z[1010]}.$z[452].$ac{$z[1000]};$ad{$z[1055]}=$sk.$ac{$z[1012]} .$z[452].$ac{$z[1000]};$ad{$z[975]}=&nz($ai{$z[727]},&od($ac{$z[975]})) if($ac{$z[975]});$ad{$z[1029]}=$ac{$z[1029]};return$sk;}sub so{my$sl=shift;my$ba={};my$bl=sub{my$cy=shift;%{$ba->{$cy->{$z[5]} }}=%$cy;};&pd($aj{$sl},$bl);return$ba;}sub uu{my$ry=shift;my $sm=$ai{$z[380]}{$z[1056]}||={};if(keys%$sm){return$sm->{$ry}; }&ae($z[1057],{});my$sn=&so($z[52]);for(keys%$sn){my$sh=$_; my$sp=$sn->{$sh}{$z[1024]}?$sn->{$sh}{$z[1025]}:$ac{$z[1026]} .$sn->{$sh}{$z[5]};$sn->{$sh}{$z[1027]}=$ac{$z[3]}.$sp.$z[452] .$ac{$z[1000]};$sn->{$sh}{$z[1028]}=$sn->{$sh}{$z[5]};$sn->{$sh}{$z[1022]} =$sn->{$sh}{$z[14]};$sn->{$sh}{$z[1058]}=&nz($ai{$z[727]},&od($sn->{$sh}{$z[522]})); $sn->{$sh}{$z[1059]}=$ac{$z[501]}.$sn->{$sh}{$z[1060]};$sn->{$sh}{$z[1061]} =$sn->{$sh}{$z[970]};$sn->{$sh}{$z[1062]}=$sn->{$sh}{$z[968]}; $sn->{$sh}{$z[1063]}=<($z[1064],$sn->{$sh});$sn->{$sh}{$z[1065]} =<($z[1066],$sn->{$sh});}do{&sq();my$sr={};$sr->{$z[1027]} =$ad{$z[998]};$sr->{$z[1028]}=0;$sr->{$z[1022]}=$ad{$z[1029]}; $sr->{$z[1058]}=$ad{$z[975]};my$ss=<($z[1066],$sr);$sm->{$z[227]} =$ss;};my$st=<($z[1067],{});for(keys%$sn){my$sh=$_;my$su= $sn->{$sh};&sq();my$ss=$su->{$z[1065]};my$sv=$su->{$z[824]}; my$sw=0;while($sv){if($sw++>99){last;}my$sx=$sn->{$sv};$ss= $sx->{$z[1063]}.$st.$ss;$sv=$sx->{$z[824]};}$sm->{$sh}=$ss; }return$sm->{$ry};}sub wi{my$sy=shift;my$sz=shift;if($sy!~/^(nohidden|article_editor|article_list)$/) {die"Invalid list type '$sy'";}my%ta;foreach(@$sz){$ta{$_}= 1;}my$sn=&so($z[52]);my$tb;my@tc=sort{$sn->{$a}{$z[1068]}<=> $sn->{$b}{$z[1068]}}keys%$sn;foreach(@tc){my$cy=$sn->{$_};my $sh=$cy->{$z[5]};my$td=&rx($sh);my$te=&tf($cy->{$z[14]},$cy->{$z[904]}); my$tg=$sh;my$th="";if($ta{$cy->{$z[5]}}){$th="selected";}my $ti=($am{$z[523]}==9||$am{$z[1069]}||$ai{$z[1070]}{$sh});if ($sy eq$z[961]){if($cy->{$z[1071]}){next;}if(not$ti){next;} $tb.=qq|\n|;}if($sy eq$z[1072]) {if(not$ti){next;}$tb.=qq|\n|; }if($sy eq$z[1073]){if($cy->{$z[990]}){next;}$tb.=qq|\n|; }}return$tb;}sub rx{my$ry=shift;my$sm=$ai{$z[380]}{$z[1074]} ||={};if(keys%$sm){return$sm->{$ry};}my$sn=&so($z[52]);for(sort keys%$sn){my$tj=$_;my$tk=0;my$ss=$sn->{$tj}{$z[14]};my$tl=$sn->{$tj}{$z[824]}; while($tl&&$tk++<99){$ss="$sn->{$tl}{'name'} \t $ss";$tl=$sn->{$tl}{$z[824]}; }my$tm=$ak{$z[1075]}{$z[1076]};if($tm&&$tm<5){$tm=5;}my$tn; if(length$ss<=$tm){$tn=$ss;}else{my@to=split(/ \t /,$ss);my $tp=$to[$#to];$tn="... $ss";while(length($tn)>$tm){my$tq=$tn =~s/^.*? \t /... /s;if(not$tq){last;}}if(length$tn>$tm){my$ts =$tm-4;if($tn=~/\s(.{1,$ts})$/s){$tn="... $1";}elsif($tn=~/(.{1,$ts})$/s) {$tn="...$1";}else{die"unable to truncate breadcrumb name!"; }}}$tn=~s/ \t / : /gs;$sm->{$tj}=$tn;}return$sm->{$ry};}sub tf{my$tp=shift;my$tt=shift;if($tt>0){$tt--;}if(!$tt){return $tp;}my$tu=$ak{$z[1075]}{$z[1077]}x$tt;$tu.=$ak{$z[1075]}{$z[1078]}; $tu.=$tp;return$tu;}sub wj{my($et,$gw,@tv)=@_;my$tw;foreach $tw(@tv){if(defined$ai{$z[204]}{$z[208]}{$et.$tw}){$et.=$tw; }else{last;}}<($et,$gw);}sub wk{my$tx=shift;foreach(grep/^templatedir/, sort keys%ai){if(-e"$ai{$_}/$tx"){return 1;}}return 0;}sub qb{my@ty;my$bp;foreach$bp(1..3){my$tz=$ac{"sort${bp}field"}; next unless$tz;$tz="#$tz#"if$ac{"sort${bp}numeric"};$tz="-$tz" if$ac{"sort${bp}reverse"};push@ty,$tz;}$aj{$z[13]}{$z[42]}= join($z[887],@ty);}sub ag{my($ua)=$ad{$z[1079]};my($dy,$ub,$ud) =@_;my(%ue,$nq,$uf,$ug,$uh,$ui);$ub=&ec($ub);$ad{$z[1080]}||= "#336699";my($uj,$uk)=(1,2);%ue=($z[743]=>[("Can't find record # $ub", "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.", $uj)],$z[938]=>[("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:

$ub", $uk)],$z[387]=>[("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: '$ub'.", $uk)],$z[391]=>[($z[1081],$z[1082],$uk)],$z[1083]=>[("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. ", $uj)],$z[1084]=>[("Publishing Error","The program cannot create or write to the file:

$ub

Please ask your server administrator to make sure the publish directory and publish file(s) are writable.", $uk)],$z[1085]=>[("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.", $uj)],$z[1086]=>[($z[1087],$z[1088],$uj)],$z[1089]=>[("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:

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

$ub", $uk)],$z[170]=>[("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: $ub", $uk)],);my($ul)=$ad{$z[912]}||$ue{$dy}[0]||"Program Message"; if($ue{$dy}[0]){$uf=$ue{$dy}[0];}elsif($ub&&$dy){$uf=&ec($dy); }else{$uf="Program Message";}$nq=$ue{$dy}[1]||$ub||&ec("@_"); if(!$ue{$dy}[1]){$nq=~s/\n/

\n/g;}my$um=$z[1091]if$ai{$z[872]}; $ui=qq||;$uh=qq|  |; if($ue{$dy}[2]==$uk){$ug=$uh;}else{$ug=$ui;}if(!$ENV{$z[507]}) {$nq=~s/(<.*?>)+/\n/g;print"\n\nFatal Error: $uf\n\n$nq\n\n"; exit;}if($ai{$z[367]}){$nq.="

Stack Trace
";$nq .="

"; my$bp=0;while(my($dp,$cp,$eb)=(caller($bp++))[1,2,3]){$dp=~ s/^.*[\/\\]//;$eb=~s/^main:://;unless($eb=~s/__ANON__/(anonymous)/) {$eb=$z[178].$eb;}$nq.=qq!!; $nq.=qq!!; $nq.=qq!!; $nq.=qq!!; $nq.=qq!\n!;}$nq.="
 $dp ($cp)  called $eb 

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

\n
\n
\n
\n \n

$uf

\n $nq\n

$ug
\n
\n
\n
\n
\n
\n| ;if($ai{$z[367]}&&$ai{$z[179]}){print"

"; print"

$ai{'debug_output'}"if($ai{$z[179]});print"";
}&lu();exit;}1;;%ak=&un("$ap/config.ini");$ad{$z[1080]}=$ak{$z[719]}{$z[1092]}
||"#336699";$ai{$z[937]}=$ak{$z[937]}||$z[1093];$ai{$z[387]}
=$ak{$z[387]}||$z[1094];$ai{$z[727]}=$ak{$z[719]}{$z[727]}||
$z[1095];$ai{$z[726]}=$ak{$z[719]}{$z[726]}||$z[1096];$ai{$z[1021]}
=$ak{$z[719]}{$z[1021]}||$z[304];$ak{$z[1075]}{$z[1076]}||=
55;$ak{$z[1075]}{$z[1077]}||="       ";
@os[0,1,2,3,4,9]=($z[1097],split(/\s*,\s*/,$ak{$z[235]}{$z[1098]}));
&ag("macftp")if$z[1099]ne"\xA1";&ag($z[1085])if$ENV{$z[1100]}
&&!$ak{$z[1101]};%ai=(%ai,$z[392]=>$ap,$z[550]=>$an,$z[1102]
=>$an,$z[1103]=>$z[1104],$z[1105]=>$z[1106],$z[1107]=>$z[1108],
$z[541]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive))
{if(ref($ai{$_})){next;}$ai{$_}="$ap/$ai{$_}"if(index($ai{$_},$z[452])
==0);$ai{$_}=~s|\\|/|g;1 while$ai{$_}=~s|/[^/]+/\.\./|/|;}&uo;
&up if($ENV{$z[183]});&lv($aj{$z[76]},\%ac,1);if(!$ac{$z[462]})
{&ag($z[1109]);}foreach(grep/^dir_/,keys%ac){$ac{$_}="$ai{'cgidir'}/$ac{$_}"
if index($ac{$_},$z[452])==0;$ac{$_}=~tr|\\|/|;1 while$ac{$_}
=~s|/[^/]+/\.\.||;}foreach(qw(prog_ver cgidir cgiurl)){$ad{$z[493].$_}
=$ai{$_};}foreach(qw(url_help reg1 reg2 reg3)){$ad{$z[493].$_}
=$ac{$_};}$ad{$z[911]}=$ac{$z[494]};$ad{$z[1110]}=$ac{$z[913]};
$ad{$z[1111]}=$ai{$z[7]};$ad{$z[709]}=$ak{$z[475]};$ad{$z[710]}
=$ak{$z[713]};$ad{$z[711]}=$ak{$z[714]};$ad{$z[912]}=$ac{$z[913]};
$ad{$z[914]}=$ac{$z[850]};%af=&uq;%al=&ur;if($ENV{$z[531]}=~
m|/(\d+)/(\d+)(?:/(printer))?$|){($af{$z[6]},$af{$z[5]},$af{$z[1112]})
=($1,$2,$3);}}sub ah{my($us,$jf)=@_;my$nb={%{$aj{$z[13]}}};
if($us){$nb->{$z[19]}="archive$us.dat";}my$bg={};&lv($nb,$bg,
$jf)||&ag($z[743],$jf);my%ly;if(!$bg->{$z[52]}||not&lv($aj{$z[52]},
\%ly,$bg->{$z[52]})){&ag($z[1113],$z[1114],$z[368]);}if($bg->{$z[1030]}
!=1){&ag($z[1115],$z[1116],$z[368]);}foreach(keys%{$bg}){$bg->{$z[995]
.$_}=$bg->{$_};}foreach(1..$ai{$z[11]}){$bg->{$z[974].$_}=$bg->{$z[996]
.$_}}foreach(1..25){$bg->{$z[968].$_}=$bg->{$z[968].$_};$bg->{$z[970].$_}
=$bg->{$z[970].$_};$bg->{$z[966].$_}=$bg->{$z[966].$_};}my$tx;
if($af{$z[1112]}){$tx=$ly{$z[1117]}||$z[1118];}else{$tx=$ly{$z[1119]}
||$z[1120];}my$ut;foreach(grep/^templatedir/,sort keys%ai){
if(-e"$ai{$_}/$tx"){$ut++;last;}}unless($ut){&ag("The template '$ly{'article_template_file'}' could not be found.");
}&qo($tx,{},'',$z[1121],$ac{$z[504]});unless($ai{$z[204]}{$z[208]}{"article:img_caption"})
{&ag("The Template '$tx' does not contain an 'img_caption' cell.  Please refer to the online help for more information on TemplateCells.");
}unless($ai{$z[204]}{$z[208]}{"article:img_nocaption"}){&ag("The Template '$tx' does not contain an 'img_nocaption' cell.  Please refer to the online help for more information on TemplateCells.");
}my$sk=&sq();$ad{$z[1005]}=$ac{$z[1002]}.$bg->{$z[52]}.$z[452]
.$ac{$z[1000]};$ad{$z[1007]}=$ac{$z[1008]}.$bg->{$z[52]}.$z[452]
.$ac{$z[1000]};$ad{$z[1122]}=$sk.$ad{$z[1005]};$ad{$z[1123]}
=$sk.$ad{$z[1007]};if($ac{$z[1124]}){$ad{$z[1013]}=$ac{$z[509]}
.$z[221].$us.$z[221].$jf.$z[1125];$ad{$z[1031]}=$ac{$z[509]}
.$z[221].$us.$z[221].$jf;}else{$ad{$z[1013]}=$ac{$z[509]}.$z[1126]
.$us.$z[1127].$jf.$z[1128];$ad{$z[1031]}=$ac{$z[509]}.$z[1126]
.$us.$z[1127].$jf;}my$rw=$ly{$z[1024]}?$ly{$z[1025]}:$ac{$z[1026]}
.$bg->{$z[52]};$ad{$z[1027]}=$ac{$z[3]}.$rw.$z[452].$ac{$z[1000]};
if($ly{$z[990]}){$ad{$z[1005]}=$ad{$z[1129]};}$bg->{$z[972]}
=~s|\n|
\n|g if$bg->{$z[917]};$bg->{$z[973]}=~s|\n|
\n|g if$bg->{$z[919]};for(1..$ai{$z[11]}){$bg->{$z[974].$_}=~s|\n|
\n|g if$bg->{$z[1130].$_};}my@rv=($bg->{$z[725]},$bg->{$z[723]}- 1,$bg->{$z[724]},$bg->{$z[1016]}+($bg->{$z[234]}eq$z[1017]?12:0), $bg->{$z[1018]});$bg->{$z[1019]}=&nz($ai{$z[726]},@rv);$bg->{$z[1020]} =&nz($ai{$z[1021]},@rv);$bg->{$z[1028]}=$ly{$z[5]};$bg->{$z[1022]} =$ly{$z[14]};$bg->{$z[1023]}=&uu($ly{$z[5]});$bg->{$z[1059]} =$ac{$z[501]}.$ly{$z[1060]};$bg->{$z[1061]}=$ly{$z[970]};$bg->{$z[1062]} =$ly{$z[968]};$bg->{$z[1058]}=&nz($ai{$z[727]},&od($ly{$z[522]} ||$^T));foreach(1..25){$bg->{"art_image_url$_"}=($ly{$z[991]} ?$ly{$z[501]}:$ac{$z[501]}).$bg->{"ufile_image$_"};}$bg->{$z[972]} =&rj($bg->{$z[972]},$bg,$z[1121]);$bg->{$z[973]}=&rj($bg->{$z[973]}, $bg,$z[1121]);foreach(1..$ai{$z[11]}){if($bg->{$z[974].$_}=~ /\*{3}image(\d+)(:\w+)?\*{3}/s){$bg->{$z[974].$_}=&rj($bg->{$z[974] .$_},$bg,$z[1121]);}}my($ko,$es);if($ac{$z[910]}){$es=&qo($tx, $bg);my$hz={$z[396]=>"$ac{'dir_publish'}",$z[397]=>"$ac{'url_publish'}", };($ko,$es)=&uv($es,$ac{$z[1000]},$hz);}else{$ko="Content-type: text/html\n\n"; $es=&qo($tx,$bg,$z[948],undef,$ac{$z[504]});}&uw($ko,$es);exit; }sub uw{my$ux=join'',@_;if(-f"$ai{'cgidir'}/display_resource_usage.pl") {eval"require \"$ai{'cgidir'}/display_resource_usage.pl\""; $ux=~s/^Content-Length.*?\n//m;print$ux ;&display_resource_usage(); }else{print$ux ;}exit;} # ---------------------------------------------------------------------------- # end of file