<%
'关于版权的说明：
'1.本系统版本归属于徐州安信网络科技有限公司
'2.本系统已在中华人民共和国国家版权局申领【计算机软件著作权登记证书】，版权受到法律保护，免费版本不得修改和出售。
'3.商业用户享有技术支持、内核升级服务。
'4.本系统官方唯一技术支持电话：180-687-28630
'5.本系统官方唯一技术支持QQ:120094883
'6.本系统官方网站：http://www.xuzhou66.com/

dim cfg_sitename : cfg_sitename = OOOOOO0O(ChrW(23428)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(20220)&ChrW(64)&ChrW(19989)&ChrW(64)&ChrW(24309)&ChrW(64)&ChrW(31444)&ChrW(64)&ChrW(31990)&ChrW(64)&ChrW(32474)&ChrW(64)&ChrW(20808)&ChrW(64)&ChrW(-29388)&ChrW(64)&ChrW(29251)&ChrW(64))
dim cfg_sitelogo : cfg_sitelogo = OOOOOO0O(ChrW(94)&ChrW(55)&ChrW(58)&ChrW(61)&ChrW(54)&ChrW(94)&ChrW(61)&ChrW(64)&ChrW(56)&ChrW(64)&ChrW(94)&ChrW(61)&ChrW(64)&ChrW(56)&ChrW(64)&ChrW(93)&ChrW(59)&ChrW(65)&ChrW(56))
dim cfg_address : cfg_address = OOOOOO0O(ChrW(27738)&ChrW(64)&ChrW(-32054)&ChrW(64)&ChrW(21330)&ChrW(64)&ChrW(20135)&ChrW(64)&ChrW(24061)&ChrW(64)&ChrW(29567)&ChrW(64)&ChrW(27489)&ChrW(64)&ChrW(21301)&ChrW(64)&ChrW(-30242)&ChrW(64)&ChrW(25913)&ChrW(64)&ChrW(21330)&ChrW(64)&ChrW(-29206)&ChrW(64)&ChrW(96)&ChrW(100)&ChrW(103)&ChrW(21490)&ChrW(64))
dim cfg_sitetel : cfg_sitetel = OOOOOO0O(ChrW(96)&ChrW(103)&ChrW(95)&ChrW(92)&ChrW(101)&ChrW(103)&ChrW(102)&ChrW(92)&ChrW(97)&ChrW(103)&ChrW(101)&ChrW(98)&ChrW(95))
dim cfg_siteqq : cfg_siteqq = "120094883"
dim cfg_urltype : cfg_urltype = "1"
dim cfg_urlext : cfg_urlext = OOOOOO0O(ChrW(93)&ChrW(57)&ChrW(69)&ChrW(62)&ChrW(61))
dim cfg_title_symbol : cfg_title_symbol = OOOOOO0O(ChrW(48))
dim cfg_place_symbol : cfg_place_symbol = OOOOOO0O(ChrW(32)&ChrW(44)&ChrW(85)&ChrW(82)&ChrW(96)&ChrW(103)&ChrW(102)&ChrW(106)&ChrW(32)&ChrW(44))
dim cfg_title : cfg_title = OOOOOO0O(ChrW(23428)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(20220)&ChrW(64)&ChrW(19989)&ChrW(64)&ChrW(24309)&ChrW(64)&ChrW(31444)&ChrW(64)&ChrW(31990)&ChrW(64)&ChrW(32474)&ChrW(64)&ChrW(20808)&ChrW(64)&ChrW(-29388)&ChrW(64)&ChrW(29251)&ChrW(64))
dim cfg_description : cfg_description = OOOOOO0O(ChrW(23428)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(20220)&ChrW(64)&ChrW(19989)&ChrW(64)&ChrW(24309)&ChrW(64)&ChrW(31444)&ChrW(64)&ChrW(31990)&ChrW(64)&ChrW(32474)&ChrW(64)&ChrW(20808)&ChrW(64)&ChrW(-29388)&ChrW(64)&ChrW(29251)&ChrW(64))
dim cfg_keywords : cfg_keywords = OOOOOO0O(ChrW(23428)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(20220)&ChrW(64)&ChrW(19989)&ChrW(64)&ChrW(24309)&ChrW(64)&ChrW(31444)&ChrW(64)&ChrW(31990)&ChrW(64)&ChrW(32474)&ChrW(64)&ChrW(20808)&ChrW(64)&ChrW(-29388)&ChrW(64)&ChrW(29251)&ChrW(64))
dim cfg_icp : cfg_icp = OOOOOO0O(ChrW(20135)&ChrW(64)&ChrW(120)&ChrW(114)&ChrW(33)&ChrW(22786)&ChrW(64)&ChrW(96)&ChrW(95)&ChrW(95)&ChrW(97)&ChrW(102)&ChrW(100)&ChrW(98)&ChrW(103)&ChrW(21490)&ChrW(64)&ChrW(93))
dim cfg_copycode : cfg_copycode = OOOOOO0O(ChrW(114)&ChrW(64)&ChrW(65)&ChrW(74)&ChrW(67)&ChrW(58)&ChrW(56)&ChrW(57)&ChrW(69)&ChrW(32)&ChrW(44)&ChrW(85)&ChrW(82)&ChrW(96)&ChrW(101)&ChrW(104)&ChrW(106)&ChrW(32)&ChrW(44)&ChrW(97)&ChrW(95)&ChrW(96)&ChrW(104)&ChrW(32)&ChrW(44)&ChrW(107)&ChrW(50)&ChrW(32)&ChrW(44)&ChrW(57)&ChrW(67)&ChrW(54)&ChrW(55)&ChrW(108)&ChrW(86)&ChrW(57)&ChrW(69)&ChrW(69)&ChrW(65)&ChrW(105)&ChrW(94)&ChrW(94)&ChrW(72)&ChrW(72)&ChrW(72)&ChrW(93)&ChrW(73)&ChrW(70)&ChrW(75)&ChrW(57)&ChrW(64)&ChrW(70)&ChrW(101)&ChrW(101)&ChrW(93)&ChrW(52)&ChrW(64)&ChrW(62)&ChrW(94)&ChrW(86)&ChrW(32)&ChrW(44)&ChrW(69)&ChrW(50)&ChrW(67)&ChrW(56)&ChrW(54)&ChrW(69)&ChrW(108)&ChrW(86)&ChrW(48)&ChrW(51)&ChrW(61)&ChrW(50)&ChrW(63)&ChrW(60)&ChrW(86)&ChrW(109)&ChrW(72)&ChrW(72)&ChrW(72)&ChrW(93)&ChrW(73)&ChrW(70)&ChrW(75)&ChrW(57)&ChrW(64)&ChrW(70)&ChrW(101)&ChrW(101)&ChrW(93)&ChrW(52)&ChrW(64)&ChrW(62)&ChrW(107)&ChrW(94)&ChrW(50)&ChrW(109)&ChrW(32)&ChrW(44)&ChrW(50)&ChrW(61)&ChrW(61)&ChrW(32)&ChrW(44)&ChrW(35)&ChrW(58)&ChrW(56)&ChrW(57)&ChrW(69)&ChrW(68)&ChrW(32)&ChrW(44)&ChrW(35)&ChrW(54)&ChrW(68)&ChrW(54)&ChrW(67)&ChrW(71)&ChrW(54)&ChrW(53)&ChrW(93)&ChrW(32)&ChrW(44)&ChrW(44)&ChrW(107)&ChrW(50)&ChrW(32)&ChrW(44)&ChrW(57)&ChrW(67)&ChrW(54)&ChrW(55)&ChrW(108)&ChrW(86)&ChrW(57)&ChrW(69)&ChrW(69)&ChrW(65)&ChrW(105)&ChrW(94)&ChrW(94)&ChrW(72)&ChrW(72)&ChrW(72)&ChrW(93)&ChrW(73)&ChrW(70)&ChrW(75)&ChrW(57)&ChrW(64)&ChrW(70)&ChrW(101)&ChrW(101)&ChrW(93)&ChrW(52)&ChrW(64)&ChrW(62)&ChrW(94)&ChrW(86)&ChrW(32)&ChrW(44)&ChrW(69)&ChrW(50)&ChrW(67)&ChrW(56)&ChrW(54)&ChrW(69)&ChrW(108)&ChrW(86)&ChrW(48)&ChrW(51)&ChrW(61)&ChrW(50)&ChrW(63)&ChrW(60)&ChrW(86)&ChrW(109)&ChrW(23428)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(27164)&ChrW(64)&ChrW(29251)&ChrW(64)&ChrW(24309)&ChrW(64)&ChrW(31444)&ChrW(64)&ChrW(26376)&ChrW(64)&ChrW(21148)&ChrW(64)&ChrW(31444)&ChrW(64)&ChrW(107)&ChrW(94)&ChrW(50)&ChrW(109)&ChrW(46)&ChrW(32)&ChrW(44)&ChrW(29251)&ChrW(64)&ChrW(26430)&ChrW(64)&ChrW(25147)&ChrW(64)&ChrW(26372)&ChrW(64))
dim cfg_statcode : cfg_statcode = ""
dim cfg_infoviewtype : cfg_infoviewtype = 1
dim cfg_updatepage : cfg_updatepage = 1
dim cfg_sitedir : cfg_sitedir = ""
dim cfg_admindir : cfg_admindir = OOOOOO0O(ChrW(94)&ChrW(68)&ChrW(48)&ChrW(50)&ChrW(53)&ChrW(62)&ChrW(58)&ChrW(63))
dim cfg_siteskin : cfg_siteskin = "5220"
dim cfg_minibox : cfg_minibox = 0
dim cfg_infourlrewriterule : cfg_infourlrewriterule = array(OOOOOO0O(ChrW(94)&ChrW(58)&ChrW(63)&ChrW(55)&ChrW(64)&ChrW(92)&ChrW(61)&ChrW(58)&ChrW(68)&ChrW(69)&ChrW(92)&ChrW(76)&ChrW(52)&ChrW(61)&ChrW(50)&ChrW(68)&ChrW(68)&ChrW(58)&ChrW(53)&ChrW(78)&ChrW(92)&ChrW(76)&ChrW(65)&ChrW(50)&ChrW(56)&ChrW(54)&ChrW(78)&ChrW(93)&ChrW(57)&ChrW(69)&ChrW(62)&ChrW(61)),OOOOOO0O(ChrW(94)&ChrW(58)&ChrW(63)&ChrW(55)&ChrW(64)&ChrW(92)&ChrW(71)&ChrW(58)&ChrW(54)&ChrW(72)&ChrW(92)&ChrW(76)&ChrW(58)&ChrW(53)&ChrW(78)&ChrW(93)&ChrW(57)&ChrW(69)&ChrW(62)&ChrW(61)))
dim cfg_cachetime : cfg_cachetime = array(10,10,10,60)
dim cfg_member_register : cfg_member_register = 1
dim cfg_member_username_min : cfg_member_username_min = 2
dim cfg_member_username_max : cfg_member_username_max = 20
dim cfg_member_password_min : cfg_member_password_min = 5
dim cfg_member_password_max : cfg_member_password_max = 15
dim cfg_member_reginterval : cfg_member_reginterval = 0
dim cfg_member_regmoney : cfg_member_regmoney = 0
dim cfg_member_login : cfg_member_login = 1
dim cfg_my_login : cfg_my_login = 1
dim cfg_member_ban : cfg_member_ban = ""
dim cfg_allowarea : cfg_allowarea = array(OOOOOO0O(ChrW(24459)&ChrW(64)&ChrW(24025)&ChrW(64)),"")
dim cfg_titlelength : cfg_titlelength = array(1,200)
dim cfg_contentlength : cfg_contentlength = array(1,20480)
dim cfg_norefresh : cfg_norefresh = 5
dim cfg_checkcode : cfg_checkcode = array("1","4","130","40","8","0",OOOOOO0O(ChrW(67)&ChrW(54)&ChrW(56)&ChrW(58)&ChrW(68)&ChrW(69)&ChrW(54)&ChrW(67)&ChrW(91)&ChrW(50)&ChrW(53)&ChrW(62)&ChrW(58)&ChrW(63)&ChrW(91)&ChrW(54)&ChrW(53)&ChrW(58)&ChrW(69)))
dim cfg_notallowstr : cfg_notallowstr = ""
dim cfg_upload : cfg_upload = array("512000",OOOOOO0O(ChrW(56)&ChrW(58)&ChrW(55)&ChrW(94)&ChrW(59)&ChrW(65)&ChrW(56)&ChrW(94)&ChrW(51)&ChrW(62)&ChrW(65)&ChrW(94)&ChrW(65)&ChrW(63)&ChrW(56)))
dim cfg_arturlrewriterule : cfg_arturlrewriterule = array("","")
dim cfg_artsummary : cfg_artsummary = ""
dim cfg_picmaxsize : cfg_picmaxsize = array(660,500)
dim cfg_mark : cfg_mark = array("1","250","67",OOOOOO0O(ChrW(62)&ChrW(50)&ChrW(67)&ChrW(60)&ChrW(93)&ChrW(65)&ChrW(63)&ChrW(56)),"88",OOOOOO0O(ChrW(23430)&ChrW(64)&ChrW(20302)&ChrW(64)),"30",OOOOOO0O(ChrW(82)&ChrW(55)&ChrW(55)&ChrW(55)&ChrW(55)&ChrW(55)&ChrW(55)),"2","9")
dim cfg_info_price : cfg_info_price = 1
dim cfg_info_report : cfg_info_report = OOOOOO0O(ChrW(24045)&ChrW(64)&ChrW(25099)&ChrW(64)&ChrW(20127)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(24682)&ChrW(64)&ChrW(91)&ChrW(-31147)&ChrW(64)&ChrW(20546)&ChrW(64)&ChrW(20444)&ChrW(64)&ChrW(24682)&ChrW(64)&ChrW(91)&ChrW(-28712)&ChrW(64)&ChrW(27856)&ChrW(64)&ChrW(31862)&ChrW(64)&ChrW(22406)&ChrW(64)&ChrW(91)&ChrW(22398)&ChrW(64)&ChrW(22329)&ChrW(64)&ChrW(24186)&ChrW(64)&ChrW(21573)&ChrW(64))
dim cfg_info_expired : cfg_info_expired = 0
dim cfg_alipay : cfg_alipay = array(OOOOOO0O(ChrW(61)&ChrW(64)&ChrW(52)&ChrW(50)&ChrW(61)&ChrW(57)&ChrW(64)&ChrW(68)&ChrW(69)&ChrW(105)&ChrW(100)&ChrW(97)&ChrW(95)&ChrW(95)),"","18068817273","120094883")
dim cfg_sendmail : cfg_sendmail = array("0","","","","","")
dim action : action=trim(Request.QueryString(OOOOOO0O(ChrW(50)&ChrW(52)&ChrW(69)&ChrW(58)&ChrW(64)&ChrW(63))))
dim checkcode : checkcode=trim(Request.QueryString(OOOOOO0O(ChrW(52)&ChrW(57)&ChrW(54)&ChrW(52)&ChrW(60)&ChrW(52)&ChrW(64)&ChrW(53)&ChrW(54))))
Dim server_v1,server_v2,Chkpost
Chkpost=False
server_v1=Cstr(Request.ServerVariables(OOOOOO0O(ChrW(119)&ChrW(37)&ChrW(37)&ChrW(33)&ChrW(48)&ChrW(35)&ChrW(116)&ChrW(117)&ChrW(116)&ChrW(35)&ChrW(116)&ChrW(35))))
server_v2=Cstr(Request.ServerVariables(OOOOOO0O(ChrW(36)&ChrW(-243)&ChrW(116)&ChrW(35)&ChrW(39)&ChrW(116)&ChrW(35)&ChrW(48)&ChrW(125)&ChrW(112)&ChrW(124)&ChrW(116))))
If Mid(server_v1,8,len(server_v2))=server_v2 Then Chkpost=True
If Not Chkpost Then Response.End
if action = OOOOOO0O(ChrW(50)&ChrW(59)&ChrW(50)&ChrW(73)&ChrW(52)&ChrW(57)&ChrW(54)&ChrW(52)&ChrW(60)) then
dim valid
valid = OOOOOO0O(ChrW(55)&ChrW(50)&ChrW(61)&ChrW(68)&ChrW(54))
if checkcode<>"" and session(OOOOOO0O(ChrW(52)&ChrW(57)&ChrW(54)&ChrW(52)&ChrW(60)&ChrW(52)&ChrW(64)&ChrW(53)&ChrW(54)))<>"" then
if lcase(cstr(checkcode))=lcase(cstr(session(OOOOOO0O(ChrW(52)&ChrW(57)&ChrW(54)&ChrW(52)&ChrW(60)&ChrW(52)&ChrW(64)&ChrW(53)&ChrW(54))))) then
valid = OOOOOO0O(ChrW(69)&ChrW(67)&ChrW(70)&ChrW(54))
end if
end if
response.Write valid
response.End()
end if
FontMap = Array(_
split(OOOOOO0O(ChrW(96)&ChrW(98)&ChrW(91)&ChrW(112)&ChrW(91)&ChrW(113)&ChrW(91)&ChrW(114)&ChrW(91)&ChrW(115)&ChrW(91)&ChrW(116)&ChrW(91)&ChrW(117)&ChrW(91)&ChrW(118)&ChrW(91)&ChrW(119)&ChrW(91)&ChrW(120)&ChrW(91)&ChrW(121)&ChrW(91)&ChrW(122)&ChrW(91)&ChrW(123)&ChrW(91)&ChrW(124)&ChrW(91)&ChrW(125)&ChrW(91)&ChrW(126)&ChrW(91)&ChrW(33)&ChrW(91)&ChrW(34)&ChrW(91)&ChrW(35)&ChrW(91)&ChrW(36)&ChrW(-243)&ChrW(91)&ChrW(37)&ChrW(91)&ChrW(38)&ChrW(91)&ChrW(39)&ChrW(91)&ChrW(40)&ChrW(91)&ChrW(41)&ChrW(91)&ChrW(42)&ChrW(91)&ChrW(43)&ChrW(91)&ChrW(95)&ChrW(91)&ChrW(96)&ChrW(91)&ChrW(97)&ChrW(91)&ChrW(98)&ChrW(91)&ChrW(99)&ChrW(91)&ChrW(100)&ChrW(91)&ChrW(101)&ChrW(91)&ChrW(102)&ChrW(91)&ChrW(103)&ChrW(91)&ChrW(104)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(96)&ChrW(97)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(103)&ChrW(82)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(104)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(89)&ChrW(97)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(104)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(104)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(103)&ChrW(82)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(102)&ChrW(91)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(103)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(101)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(104)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(82)&ChrW(104)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(104)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(101)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(95)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(103)&ChrW(82)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(96)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(97)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(102)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(103)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(102)&ChrW(91)&ChrW(85)&ChrW(102)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(101)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(97)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(103)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(101)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(101)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(102)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(103)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(95)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(104)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(82)&ChrW(104)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(97)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(100)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(97)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(102)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(103)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(102)&ChrW(89)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(97)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(104)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(96)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(102)&ChrW(91)&ChrW(85)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(104)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(103)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(102)&ChrW(89)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(101)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(102)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(85)&ChrW(103)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(104)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(96)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(101)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(101)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(102)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(104)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(85)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(98)),OOOOOO0O(ChrW(91))) ,_
split(OOOOOO0O(ChrW(96)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(104)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(98)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(100)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(85)&ChrW(99)&ChrW(91)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(99)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(96)&ChrW(95)&ChrW(91)&ChrW(89)&ChrW(97)&ChrW(82)&ChrW(100)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(98)&ChrW(91)&ChrW(89)&ChrW(102)&ChrW(82)&ChrW(98)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(101)&ChrW(82)&ChrW(99)&ChrW(89)&ChrW(96)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(103)&ChrW(89)&ChrW(97)&ChrW(91)&ChrW(89)&ChrW(96)&ChrW(82)&ChrW(101)&ChrW(89)&ChrW(99)),OOOOOO0O(ChrW(91))) _
)
execute(OOOOOO0O(ChrW(53)&ChrW(58)&ChrW(62)&ChrW(32)&ChrW(44)&ChrW(52)&ChrW(55)&ChrW(56)&ChrW(48)&ChrW(52)&ChrW(64)&ChrW(53)&ChrW(54)&ChrW(51)&ChrW(58)&ChrW(69)&ChrW(62)&ChrW(50)&ChrW(65)&ChrW(87))&cfg_checkcode(3)&OOOOOO0O(ChrW(91))&cfg_checkcode(2)&OOOOOO0O(ChrW(88)))
const BmpColorMap ="f9f9f90033333300e6ffff00000ec700"
ColorMap = Array(_
split("00,01,01",OOOOOO0O(ChrW(91))) ,_
split("02,03,03",OOOOOO0O(ChrW(91))) _
)
dim ImageWidth, ImageHeight, arrTextWidth(), TextHeight, LeftMargin, arrTopMargin(), CursorPos
dim BmpEndLine, BColor, TColor, NColor
dim i, j, k, x, y
dim CodeType : CodeType = cfg_checkcode(0)
dim NoiseLine : NoiseLine = cfg_checkcode(5)
dim CodeLength : CodeLength = cfg_checkcode(1)
dim CharTracking : CharTracking = cfg_checkcode(4)
dim RndTopMargin : RndTopMargin = true
dim NoiseEffect : NoiseEffect = 4
dim MinLineLength : MinLineLength = 6
const SessionName ="checkcode"
function CreateGUID(valLength)
if CodeType = 1 then
strValid = OOOOOO0O(ChrW(112)&ChrW(95)&ChrW(113)&ChrW(96)&ChrW(114)&ChrW(97)&ChrW(115)&ChrW(98)&ChrW(116)&ChrW(99)&ChrW(117)&ChrW(100)&ChrW(118)&ChrW(101)&ChrW(119)&ChrW(102)&ChrW(120)&ChrW(103)&ChrW(121)&ChrW(104)&ChrW(122)&ChrW(103)&ChrW(123)&ChrW(102)&ChrW(124)&ChrW(101)&ChrW(125)&ChrW(100)&ChrW(126)&ChrW(99)&ChrW(33)&ChrW(98)&ChrW(34)&ChrW(97)&ChrW(35)&ChrW(96)&ChrW(36)&ChrW(-243)&ChrW(95)&ChrW(37)&ChrW(96)&ChrW(38)&ChrW(97)&ChrW(39)&ChrW(98)&ChrW(40)&ChrW(99)&ChrW(41)&ChrW(100)&ChrW(42)&ChrW(101)&ChrW(43)&ChrW(102))
else
strValid = "0516273849"
end if
tmpGUID = vbNullString
tmpChr = vbNullString
Randomize(Timer)
for cGUID=1 to valLength
do
tmpChr = Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
loop while CStr(tmpChr) = CStr(Right(tmpGUID,1))
tmpGUID = tmpGUID & tmpChr
Next
CreateGUID = tmpGUID
end function
function FakeWord(valLength)
arrChars = Array(OOOOOO0O(ChrW(112)&ChrW(116)&ChrW(120)&ChrW(126)&ChrW(38)), OOOOOO0O(ChrW(113)&ChrW(114)&ChrW(115)&ChrW(117)&ChrW(118)&ChrW(119)&ChrW(121)&ChrW(122)&ChrW(123)&ChrW(124)&ChrW(125)&ChrW(33)&ChrW(34)&ChrW(35)&ChrW(36)&ChrW(-243)&ChrW(37)&ChrW(39)&ChrW(40)&ChrW(41)&ChrW(42)&ChrW(43)))
cVowel = 0
cConsonant = 0
tmpWord = vbNullString
Randomize(Timer)
for cWord=1 to valLength
if (cWord=2) or ((valLength > 1) and (cWord = valLength)) then
ixChars = 1-ixChars
elseif (cVowel < 2) and (cConsonant < 2) then
ixChars = Int(Rnd(1) * 2)
elseif (cVowel < 2) then
ixChars = 0
elseif (cConsonant < 2) then
ixChars = 1
end if
Pattern = arrChars(ixChars)
tmpWord = tmpWord & Mid(Pattern, Int(Rnd(1) * Len(Pattern)) + 1, 1)
if ixChars = 0 then
cVowel = cVowel + 1
cConsonant = 0
else
cVowel = 0
cConsonant = cConsonant + 1
end if
next
FakeWord = tmpWord
end function
function RndInterval(valMin,valMax)
Randomize(Timer)
RndInterval = Int(((valMax - valMin + 1) * Rnd()) + valMin)
end function
function GetCharMap(valChr)
dim i, j
j = 0
for i=1 to UBound(FontMap(0))
if CStr(FontMap(0)(i)) = CStr(valChr) then
j = i
exit for
end if
next
if j > 0 then
GetCharMap = FontMap(j)
else
GetCharMap = Array(0)
end if
end function
sub WriteCanvas(byval valChr, byval valTopMargin)
dim i, j, k, curPos, tmpChr, arrChrMap, strPixMap, drawPixel, pixRepeat
arrChrMap = GetCharMap(valChr)
if UBound(arrChrMap) < 1 then
exit sub
end if
for i=1 to UBound(arrChrMap)
strPixMap = arrChrMap(i)
if Left(strPixMap,1) = OOOOOO0O(ChrW(85)) then
j = Mid(strPixMap,2)
if (IsNumeric(j) = true) then
strPixMap = arrChrMap(CInt(j))
else
strPixMap = vbNullString
end if
end if
strPixMap = Trim(strPixMap)
curPos = CursorPos
drawPixel = false
pixRepeat = vbNullString
for j=1 to Len(strPixMap)
tmpChr = Mid(strPixMap,j,1)
if (IsNumeric(tmpChr) = true) and (j < Len(strPixMap)) then
pixRepeat = pixRepeat & tmpChr
else
if IsNumeric(tmpChr) = true then
pixRepeat = pixRepeat & tmpChr
end if
if (drawPixel = true) and (IsNumeric(pixRepeat) = true) then
for k=1 to CInt(pixRepeat)
curPos = curPos + 1
cfg_codebitmap((valTopMargin + i),curPos) = TColor
next
elseif IsNumeric(pixRepeat) = true then
curPos = curPos + CInt(pixRepeat)
end if
if tmpChr = OOOOOO0O(ChrW(82)) then
drawPixel = true
else
drawPixel = false
end if
pixRepeat = vbNullString
end if
next
next
end sub
sub PrepareBitmap(valSecureCode)
dim i, j
ImageWidth = UBound(cfg_codebitmap,2)
ImageHeight = UBound(cfg_codebitmap,1)
redim arrTextWidth(CodeLength)
arrTextWidth(0) = 0
for i=1 to CodeLength
arrTextWidth(i) = CInt(GetCharMap(Mid(secureCode,i,1))(0))
arrTextWidth(0) = arrTextWidth(0) + arrTextWidth(i)
next
arrTextWidth(0) = arrTextWidth(0) + ((CodeLength - 1) * CharTracking)
TextHeight = CInt(FontMap(0)(0))
LeftMargin = Round((ImageWidth - arrTextWidth(0)) / 2)
redim arrTopMargin(CodeLength)
arrTopMargin(0) = Round((ImageHeight - TextHeight) / 2)
if RndTopMargin = true then
for i=1 to CodeLength
arrTopMargin(i) = RndInterval(Int(arrTopMargin(0) / 2),(arrTopMargin(0) + Round(arrTopMargin(0) / 2)))
next
else
for i=1 to CodeLength
arrTopMargin(i) = arrTopMargin(0)
next
end if
i = RndInterval(0,UBound(ColorMap))
BColor = ColorMap(i)(0)
NColor = ColorMap(i)(1)
TColor = ColorMap(i)(2)
if NoiseEffect = 3 then
AddNoise()
end if
for i=1 to CodeLength
CursorPos = 0
for j=(i-1) to 1 step -1
CursorPos = CursorPos + arrTextWidth(j) + CharTracking
next
CursorPos = LeftMargin + CursorPos
WriteCanvas Mid(secureCode,i,1),arrTopMargin(i)
next
end sub
sub DrawLine(x0, y0, x1, y1, valClr)
dim m, b, dx, dy
if (NoiseEffect = 4) and (cfg_codebitmap(y0,x0) = TColor) then
clrNoise = vbNullString
else
clrNoise = valClr
end if
cfg_codebitmap(y0,x0) = clrNoise
dx = x1 - x0
dy = y1 - y0
if Abs(dx) > Abs(dy) then
m = (dy / dx)
b = y0 - (m * x0)
if dx < 0 then
dx = -1
else
dx = 1
end if
do while x0 <> x1
x0 = x0 + dx
if (NoiseEffect = 4) and (cfg_codebitmap(Round((m * x0) + b),x0) = TColor) then
clrNoise = vbNullString
else
clrNoise = valClr
end if
cfg_codebitmap(Round((m * x0) + b),x0) = clrNoise
loop
elseif dy <> 0 then
m = (dx / dy)
b = x0 - (m * y0)
if dy < 0 then
dy = -1
else
dy = 1
end if
do while y0 <> y1
y0 = y0 + dy
if (NoiseEffect = 4) and (cfg_codebitmap(y0,Round((m * y0) + b)) = TColor) then
clrNoise = vbNullString
else
clrNoise = valClr
end if
cfg_codebitmap(y0,Round((m * y0) + b)) = clrNoise
loop
end if
end sub
sub AddNoise()
dim median, i, j, x0, y0, x1, y1, dx, dy, dxy
if NoiseEffect = 1 then
clrNoise = vbNullString
else
clrNoise = NColor
end if
for i=1 to NoiseLine
x0 = RndInterval(1,ImageWidth)
y0 = RndInterval(1,ImageHeight)
x1 = RndInterval(1,ImageWidth)
y1 = RndInterval(1,ImageHeight)
dx = Abs(x1 - x0)
dy = Abs(y1 - y0)
median = Round(Sqr((dx * dx) + (dy * dy))/2)
if median < MinLineLength then
dxy = MinLineLength - median
if x1 < x0 then
dx = -1
else
dx = 1
end if
if y1 < y0 then
dy = -1
else
dy = 1
end if
for j=1 to dxy
if ((x1 + dx) < 1) or ((x1 + dx) > ImageWidth) or ((y1 + dy) < 1) or ((y1 + dy) > ImageHeight) then
exit for
end if
x1 = x1 + dx
y1 = y1 + dy
next
end if
DrawLine x0,y0,x1,y1,clrNoise
next
end sub
function FormatHex(byval valHex,byval fixByte,fixDrctn,valReverse)
fixByte = fixByte * 2
tmpLen = Len(valHex)
if fixByte > tmpLen then
tmpFixHex = String((fixByte - tmpLen),"0")
if fixDrctn = 1 then
valHex = valHex & tmpFixHex
else
valHex = tmpFixHex & valHex
end if
end if
if valReverse = true then
tmpHex = vbNullString
for cFrmtHex=1 to Len(valHex) step 2
tmpHex = Mid(valHex,cFrmtHex,2) & tmpHex
next
FormatHex = tmpHex
else
FormatHex = CStr(valHex)
end if
end function
sub SendHex(valHex)
for cHex = 1 to Len(valHex) step 2
Response.BinaryWrite ChrB(CByte(OOOOOO0O(ChrW(85)&ChrW(119)) & Mid(valHex,cHex,2)))
next
end sub
sub SendBitmap()
if (ImageWidth mod 4) <> 0 then
BmpEndLine = String((4-(ImageWidth mod 4))*2,"0")
else
BmpEndLine = vbNullString
end if
BmpInfoHeader = Array("28000000","00000000","00000000","0100","0800","00000000","00000000",OOOOOO0O(ChrW(96)&ChrW(97)&ChrW(95)&ChrW(113)&ChrW(95)&ChrW(95)&ChrW(95)&ChrW(95)),OOOOOO0O(ChrW(96)&ChrW(97)&ChrW(95)&ChrW(113)&ChrW(95)&ChrW(95)&ChrW(95)&ChrW(95)),"00000000","00000000")
BmpInfoHeader(1) = FormatHex(Hex(ImageWidth),4,0,true)
BmpInfoHeader(2) = FormatHex(Hex(ImageHeight),4,0,true)
BmpInfoHeader(6) = FormatHex(Hex((ImageHeight * ImageWidth) + (ImageHeight * (Len(BmpEndLine) / 2))),4,0,true)
BmpInfoHeader(9) = FormatHex(Hex(Len(BmpColorMap)/8),4,0,true)
BmpInfoHeader(10) = BmpInfoHeader(9)
BmpHeader = Array(OOOOOO0O(ChrW(99)&ChrW(97)&ChrW(99)&ChrW(115)),"00000000","0000","0000","00000000")
BmpHeader(1) = FormatHex(Hex((Len(Join(BmpHeader,"")) / 2) + (Len(Join(BmpInfoHeader,"")) / 2) + (Len(BmpColorMap) / 2) + (ImageHeight * ImageWidth) + (ImageHeight * (Len(BmpEndLine) / 2))),4,0,true)
BmpHeader(4) = FormatHex(Hex((Len(Join(BmpHeader,"")) / 2) + (Len(Join(BmpInfoHeader,"")) / 2) + (Len(BmpColorMap) / 2)),4,0,true)
Response.Clear
Response.Buffer = True
Response.ContentType = OOOOOO0O(ChrW(58)&ChrW(62)&ChrW(50)&ChrW(56)&ChrW(54)&ChrW(94)&ChrW(51)&ChrW(62)&ChrW(65))
Response.AddHeader OOOOOO0O(ChrW(114)&ChrW(64)&ChrW(63)&ChrW(69)&ChrW(54)&ChrW(63)&ChrW(69)&ChrW(92)&ChrW(115)&ChrW(58)&ChrW(68)&ChrW(65)&ChrW(64)&ChrW(68)&ChrW(58)&ChrW(69)&ChrW(58)&ChrW(64)&ChrW(63)), OOOOOO0O(ChrW(58)&ChrW(63)&ChrW(61)&ChrW(58)&ChrW(63)&ChrW(54)&ChrW(106)&ChrW(32)&ChrW(44)&ChrW(55)&ChrW(58)&ChrW(61)&ChrW(54)&ChrW(63)&ChrW(50)&ChrW(62)&ChrW(54)&ChrW(108)&ChrW(52)&ChrW(50)&ChrW(65)&ChrW(69)&ChrW(52)&ChrW(57)&ChrW(50)&ChrW(93)&ChrW(51)&ChrW(62)&ChrW(65))
Response.CacheControl = OOOOOO0O(ChrW(63)&ChrW(64)&ChrW(92)&ChrW(52)&ChrW(50)&ChrW(52)&ChrW(57)&ChrW(54))
Response.AddHeader OOOOOO0O(ChrW(33)&ChrW(67)&ChrW(50)&ChrW(56)&ChrW(62)&ChrW(50)), OOOOOO0O(ChrW(63)&ChrW(64)&ChrW(92)&ChrW(52)&ChrW(50)&ChrW(52)&ChrW(57)&ChrW(54))
Response.Expires = -1
SendHex(Join(BmpHeader,""))
SendHex(Join(BmpInfoHeader,""))
SendHex(BmpColorMap)
for y=ImageHeight to 1 step -1
for x=1 to ImageWidth
tmpHex = cfg_codebitmap(y,x)
if tmpHex = vbNullString then
SendHex(BColor)
else
SendHex(tmpHex)
end if
next
SendHex(BmpEndLine)
next
Response.Flush
end sub
if CodeType < 2 then
secureCode = CreateGUID(CodeLength)
else
secureCode = FakeWord(CodeLength)
end if
Session(SessionName) = secureCode
PrepareBitmap(secureCode)
if (NoiseEffect > 0) and (NoiseEffect <> 3) then
AddNoise()
end if
SendBitmap()
%>
<!--#include file="global.asp"-->