From: <Microsoft Internet Explorer 5 で保存する>
Subject: =?iso-2022-jp?B?GyRCRnM8ITg1TiIhdyRVJD8kUBsoQg==?=
Date: Thu, 30 Mar 2006 13:02:45 +0900
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0002_01C653FA.3CDF62C0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

This is a multi-part message in MIME format.

------=_NextPart_000_0002_01C653FA.3CDF62C0
Content-Type: text/html;
	charset="shift_jis"
Content-Transfer-Encoding: base64
Content-Location: http://img.2chan.net/b/res/38600205.htm

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzNjLm9yZy9UUi8xOTk5L1JFQy1odG1sNDAxLTE5OTkxMjI0L2xv
b3NlLmR0ZCI+DQo8IS0tLy8tLT48SFRNTD48SEVBRD48VElUTEU+k/GOn4yzl6CBl4LTgr2Czjwv
VElUTEU+DQo8U0NSSVBUIHNyYz0iaHR0cDovL2xvY2FsLnB0cm9uL1dpbmRvd09wZW4uanMiPjwv
U0NSSVBUPg0KPCEtLS8vLS0+DQo8U0NSSVBUPiBmdW5jdGlvbiBOb0Vycm9yKCl7cmV0dXJuKHRy
dWUpO30gb25lcnJvcj1Ob0Vycm9yOyA8L1NDUklQVD4NCjwhLS0vLy0tPg0KPFNDUklQVD4gZnVu
Y3Rpb24gbW92ZVRvKCl7cmV0dXJuIHRydWU7fWZ1bmN0aW9uIHJlc2l6ZVRvKCl7cmV0dXJuIHRy
dWU7fTwvU0NSSVBUPg0KDQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtdHlwZSBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9U2hpZnRfSklTIj48IS0tIG1ldGEgSFRUUC1FUVVJVj0icHJhZ21h
IiBDT05URU5UPSJuby1jYWNoZSIgLS0+DQo8U1RZTEUgdHlwZT10ZXh0L2Nzcz5CT0RZIHsNCglG
T05ULVNJWkU6IDEycHQNCn0NClRSIHsNCglGT05ULVNJWkU6IDEycHQNCn0NClREIHsNCglGT05U
LVNJWkU6IDEycHQNCn0NClRIIHsNCglGT05ULVNJWkU6IDEycHQNCn0NCkE6aG92ZXIgew0KCUNP
TE9SOiAjZGQwMDAwDQp9DQpTUEFOIHsNCglGT05ULVNJWkU6IDIwcHQNCn0NClNNQUxMIHsNCglG
T05ULVNJWkU6IDEwcHQNCn0NCjwvU1RZTEU+DQoNCjxTQ1JJUFQgbGFuZ3VhZ2U9SmF2YVNjcmlw
dD48IS0tCmZ1bmN0aW9uIGwoZSl7dmFyIFA9Z2V0Q29va2llKCJwd2RjIiksTj1nZXRDb29raWUo
Im5hbWVjIiksaTt3aXRoKGRvY3VtZW50KXtmb3IoaT0wO2k8Zm9ybXMubGVuZ3RoO2krKyl7aWYo
Zm9ybXNbaV0ucHdkKXdpdGgoZm9ybXNbaV0pe2lmKCFwd2QudmFsdWUpcHdkLnZhbHVlPVA7fWlm
KGZvcm1zW2ldLm5hbWUpd2l0aChmb3Jtc1tpXSl7aWYoIW5hbWUudmFsdWUpbmFtZS52YWx1ZT1O
O319fX07ZnVuY3Rpb24gZ2V0Q29va2llKGtleSwgdG1wMSwgdG1wMiwgeHgxLCB4eDIsIHh4Mykg
e3RtcDEgPSAiICIgKyBkb2N1bWVudC5jb29raWUgKyAiOyI7eHgxID0geHgyID0gMDtsZW4gPSB0
bXAxLmxlbmd0aDsJd2hpbGUgKHh4MSA8IGxlbikge3h4MiA9IHRtcDEuaW5kZXhPZigiOyIsIHh4
MSk7dG1wMiA9IHRtcDEuc3Vic3RyaW5nKHh4MSArIDEsIHh4Mik7eHgzID0gdG1wMi5pbmRleE9m
KCI9Iik7aWYgKHRtcDIuc3Vic3RyaW5nKDAsIHh4MykgPT0ga2V5KSB7cmV0dXJuKHVuZXNjYXBl
KHRtcDIuc3Vic3RyaW5nKHh4MyArIDEsIHh4MiAtIHh4MSAtIDEpKSk7fXh4MSA9IHh4MiArIDE7
fXJldHVybigiIik7fTtmdW5jdGlvbiBhbGxjaGsoKXt2YXIgaTt3aXRoKGRvY3VtZW50KXtmb3Io
aT0wO2k8Zm9ybXNbMF0uZWxlbWVudHMubGVuZ3RoO2krKyl7d2l0aChmb3Jtc1swXS5lbGVtZW50
c1tpXSl7aWYodmFsdWU9PSJkZWxldGUiKXtjaGVja2VkPXRydWU7fX19fX07Ci8vLS0+PC9TQ1JJ
UFQ+DQoNCjxTQ1JJUFQgc3JjPSJodHRwOi8vbG9jYWwucHRyb24vYWthaHVrdXBsdXMuanMiIHR5
cGU9dGV4dC9qYXZhc2NyaXB0PjwvU0NSSVBUPg0KDQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4w
MC4yOTAwLjI4MDIiIG5hbWU9R0VORVJBVE9SPjwvSEVBRD4NCjxCT0RZIHRleHQ9IzgwMDAwMCB2
TGluaz0jMDAwMGVlIGxpbms9IzAwMDBlZSBiZ0NvbG9yPSNmZmZmZWUgDQpvbmxvYWQ9aWYod2lu
ZG93LkFrYWh1a3UpQWthaHVrdS5lbXVsYXRlT25sb2FkRXZlbnQoKT4NCjxQIGFsaWduPXJpZ2h0
Pls8QSBocmVmPSJodHRwOi8vaW1nLjJjaGFuLm5ldC8iIHRhcmdldD1fdG9wPoN6gVuDgDwvQT5d
IA0KPFAgYWxpZ249Y2VudGVyPjxGT05UIGNvbG9yPSM4MDAwMDAgc2l6ZT01PjxCPg0KPERJViBz
dHlsZT0iRk9OVC1TSVpFOiAyMHB0OyBURVhULUFMSUdOOiBjZW50ZXIiPpPxjp+Ms5eggZeC04K9
gs48L0RJVj48L0I+PC9GT05UPjxCUj4NCjxIUiB3aWR0aD0iOTAlIiBTSVpFPTE+DQpbPEEgaHJl
Zj0iaHR0cDovL2ltZy4yY2hhbi5uZXQvYi9mdXRhYmEuaHRtIj6MZo6mlMKCyZbfguk8L0E+XSAN
CjxUQUJMRSB3aWR0aD0iMTAwJSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxUSCBiZ0NvbG9y
PSNlMDQwMDA+PEZPTlQgY29sb3I9I2ZmZmZmZj6DjINYkZeQTYOCgVuDaDwvRk9OVD4gDQo8L1RI
PjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPENFTlRFUj4NCjxGT1JNIGFjdGlvbj1mdXRhYmEucGhw
IG1ldGhvZD1wb3N0IGVuY1R5cGU9bXVsdGlwYXJ0L2Zvcm0tZGF0YT48SU5QVVQgDQp0eXBlPWhp
ZGRlbiB2YWx1ZT1yZWdpc3QgbmFtZT1tb2RlPiA8SU5QVVQgdHlwZT1oaWRkZW4gdmFsdWU9NTEy
MDAwIA0KbmFtZT1NQVhfRklMRV9TSVpFPiA8SU5QVVQgdHlwZT1oaWRkZW4gdmFsdWU9Mzg2MDAy
MDUgbmFtZT1yZXN0bz4gDQo8VEFCTEUgY2VsbFNwYWNpbmc9MSBjZWxsUGFkZGluZz0xPg0KICA8
VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgYmdDb2xvcj0jZWVhYTg4PjxCPkUtbWFpbDwvQj48L1RE
Pg0KICAgIDxURD48SU5QVVQgc2l6ZT0yOCBuYW1lPWVtYWlsPiA8SU5QVVQgdHlwZT1zdWJtaXQg
dmFsdWU9kZeQTYK3guk+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREIGJnQ29sb3I9I2VlYWE4
OD48Qj6DUoOBg5ODZzwvQj48L1REPg0KICAgIDxURD48VEVYVEFSRUEgbmFtZT1jb20gcm93cz00
IGNvbHM9NDg+PC9URVhUQVJFQT48L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQgYmdDb2xvcj0j
ZWVhYTg4PjxCPo3tj5yDTIFbPC9CPjwvVEQ+DQogICAgPFREPjxJTlBVVCB0eXBlPXBhc3N3b3Jk
IG1heExlbmd0aD04IHNpemU9OCANCiAgICAgIG5hbWU9cHdkPjxTTUFMTD4oi0yOloLMje2PnJdw
gUKJcJCUjpqCxTiVto6aiMiT4Ck8L1NNQUxMPjwvVEQ+PC9UUj4NCiAgPFNDUklQVCBsYW5ndWFn
ZT1KYXZhU2NyaXB0PjwhLS0KbCgpOwovLy0tPjwvU0NSSVBUPg0KDQogIDxUUj4NCiAgICA8VEQg
Y29sU3Bhbj0yPjxTTUFMTD4NCiAgICAgIDxMST6TWZV0icKUXIFGR0lGLCBKUEcsIFBORy4gNTAw
S0KC3ILFLiAyNTB4MjUwiMiP44LNj2uPrC4gDQogICAgICA8TEk+jLuN3TMzNJBsgq2C54KigqqM
qYLEgtyCty48QSANCiAgICAgIGhyZWY9Imh0dHA6Ly9pbWcuMmNoYW4ubmV0L2IvZnV0YWJhLnBo
cD9tb2RlPWNhdCI+g0qDXoONg088L0E+IA0KICAgICAgPExJPorHl52QbILWgsyYQZeNgs08QSBo
cmVmPSJodHRwOi8vd3d3LjJjaGFuLm5ldC9qdW5iaS9pbmRleDIuaHRtbCIgDQogICAgICB0YXJn
ZXQ9X3RvcD6PgJT1lMI8L0E+gtYuIJOvkGyK1phBgsyDQYNig3aDjYFbg2iIy5eKgs2CvoLfLjxC
Uj4NCiAgICAgIDxUQUJMRT4NCiAgICAgICAgPFRCT0RZPg0KICAgICAgICA8VFI+DQogICAgICAg
ICAgPFREPg0KICAgICAgICAgICAgPENFTlRFUj4NCiAgICAgICAgICAgIDxDRU5URVI+PEEgaHJl
Zj0iaHR0cDovL3d3dy5pLWN1dGUuanAvbW9udGhseS1iYW5uZXIvMzAxNy5waHAiIA0KICAgICAg
ICAgICAgdGFyZ2V0PV9ibGFuaz48Rk9OVCBjb2xvcj1yZWQgc2l6ZT0xPltBZF08L0ZPTlQ+PC9B
PjwvQ0VOVEVSPjxCUj4NCiAgICAgICAgICAgIDxDRU5URVI+PEEgaHJlZj0iaHR0cDovL3d3dy5p
LWN1dGUuanAvbW9udGhseS1iYW5uZXIvMzY2OC5waHAiIA0KICAgICAgICAgICAgdGFyZ2V0PV9i
bGFuaz48Rk9OVCBjb2xvcj1yZWQgDQogICAgICAgICAgICBzaXplPTE+W0FkXTwvRk9OVD48QlI+
lE6P44NHg42OT5aGgUmDdIOLg3uDQ4NYg0GDaIN4g5ODYIODgVs8L0E+PC9DRU5URVI+PEJSPg0K
ICAgICAgICAgICAgPENFTlRFUj48QSBocmVmPSJodHRwOi8vd3d3LmktY3V0ZS5qcC9tb250aGx5
LWJhbm5lci8yODY2LnBocCIgDQogICAgICAgICAgICB0YXJnZXQ9X2JsYW5rPjxGT05UIGNvbG9y
PXJlZCANCiAgICAgICAgICAgIHNpemU9MT5bQWRdPC9GT05UPjwvQT48L0NFTlRFUj48QlI+PC9D
RU5URVI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L1NNQUxMPjwvTEk+PC9URD48L1RSPjwv
VEJPRFk+PC9UQUJMRT48L0ZPUk0+PC9DRU5URVI+DQo8SFI+DQoNCjxGT1JNIGFjdGlvbj1mdXRh
YmEucGhwIG1ldGhvZD1wb3N0Po1MjZA6Ojo8Qj48QSANCmhyZWY9Imh0dHA6Ly9lbHR6LnNha3Vy
YS5uZS5qcC8yY2hhbi9pbmRleC5odG0iIA0KdGFyZ2V0PV9ibGFuaz6WbIK+gq+CzIu/jnGCs4Lx
gvCCs4KqgreCzIK+gUk8L0E+PC9CPjxCUj6J5pGcg3SDQINDg4uWvIFGPEEgDQpocmVmPSJodHRw
Oi8vaW1nLjJjaGFuLm5ldC9iL3JlZC8xMTQzNjgyODEyMjYzLmh0bSIgDQp0YXJnZXQ9X2JsYW5r
PjExNDM2ODI4MTIyNjMuZ2lmPC9BPi0oNzUwOCBCKTxTTUFMTD6DVIOAg2yVXI6mLjwvU01BTEw+
PEJSPjxBIA0KaHJlZj0iaHR0cDovL2ltZy4yY2hhbi5uZXQvYi9yZWQvMTE0MzY4MjgxMjI2My5o
dG0iIHRhcmdldD1fYmxhbms+PElNRyANCmhlaWdodD0yNDEgYWx0PSI3NTA4IEIiIGhzcGFjZT0y
MCANCnNyYz0iaHR0cDovL2ltZy4yY2hhbi5uZXQvYi90aHVtYi8xMTQzNjgyODEyMjYzcy5qcGci
IHdpZHRoPTIwMCBhbGlnbj1sZWZ0IA0KYm9yZGVyPTA+PC9BPjxJTlBVVCB0eXBlPWNoZWNrYm94
IHZhbHVlPWRlbGV0ZSBuYW1lPTM4NjAwMjA1PjA2LzAzLzMwKJbYKTEwOjQwOjEyIA0KTm8uMzg2
MDAyMDUgPFNNQUxMPjEzOjA0jaCPwYKmgtyCtzwvU01BTEw+IA0KPEJMT0NLUVVPVEU+gqiRT4LM
g4KDbYLNibSCzILggsw8QlI+ibSCzIOCg22CzYKokU+CzILggswgPC9CTE9DS1FVT1RFPjxGT05U
IA0KY29sb3I9I2YwMDAwMD48Qj6CsYLMg1iDjILNjMOCooLMgsWBQYLggqSCt4Kuj8GCpoLcgreB
QjwvQj48L0ZPTlQ+PEJSPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAg
ICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2Yw
ZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAw
MjMyPjA2LzAzLzMwKJbYKTEwOjQxOjE5IE5vLjM4NjAwMjMyIA0KICAgICAgPEJMT0NLUVVPVEU+
g3WDXoNTg4qDiTxCUj6C3IK2PEJSPoy0jm6LpI5ZjuWLYCA8L0JMT0NLUVVPVEU+PC9URD48L1RS
PjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQog
ICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNm
MGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYw
MDI3Mj4wNi8wMy8zMCiW2CkxMDo0Mjo0OSBOby4zODYwMDI3MiANCiAgICAgIDxCTE9DS1FVT1RF
PoKokU+CzIOCg22CzYKokU+CzIOCg208QlI+ibSCzIOCg22C4IKokU+CzIOCg20gPC9CTE9DS1FV
T1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9E
WT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8
VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAg
ICAgIG5hbWU9Mzg2MDAyNzY+MDYvMDMvMzAoltgpMTA6NDM6MDAgTm8uMzg2MDAyNzYgDQogICAg
ICA8QkxPQ0tRVU9URT6Shop3gvCRsovGgrWCvTKQbILNk6+QsYLwjm6C34K9IDwvQkxPQ0tRVU9U
RT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+
DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFRE
IGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAg
ICBuYW1lPTM4NjAwMzEwPjA2LzAzLzMwKJbYKTEwOjQ0OjQzIE5vLjM4NjAwMzEwIA0KICAgICAg
PEJMT0NLUVVPVEU+gqiRT4LMi/OO6ILwjKmCuYLEguKC6iA8L0JMT0NLUVVPVEU+PC9URD48L1RS
PjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQog
ICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNm
MGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYw
MDM4MD4wNi8wMy8zMCiW2CkxMDo0NzoxMyBOby4zODYwMDM4MCANCiAgICAgIDxCTE9DS1FVT1RF
PoKzgqmC54KkguCCzILNjoCCr4KigUk8QlI+g0GDboNugUKCooKii0OC4IK/gr6BQiA8L0JMT0NL
UVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRC
T0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAg
IDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0K
ICAgICAgbmFtZT0zODYwMDQyMj4wNi8wMy8zMCiW2CkxMDo0ODoyNCBOby4zODYwMDQyMiANCiAg
ICAgIDxCTE9DS1FVT1RFPjxGT05UIA0KICAgICAgICBjb2xvcj0jNzg5OTIyPiZndDuShop3gvCR
sovGgrWCvTKQbILNk6+QsYLwjm6C34K9PC9GT05UPjxCUj6CvoKqgruCzI2ggqmC54KpPEJSPpPx
kGyCqoK3guqI4YKkguaCpILJgsiCwYK9gsyCzSANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwv
VFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4N
CiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9
I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4
NjAwNDU3PjA2LzAzLzMwKJbYKTEwOjUwOjAyIE5vLjM4NjAwNDU3IA0KICAgICAgPEJMT0NLUVVP
VEU+gqiRT4FBlc+C7YLBgr2CyIFFgUWBRSA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMDQ2MD4wNi8w
My8zMCiW2CkxMDo1MDowMyBOby4zODYwMDQ2MCANCiAgICAgIDxCTE9DS1FVT1RFPoKokU+CzYm0
gsyC4ILMPEJSPom0gs2CqJFPgsyC4ILMIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48
L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFs
aWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5Q
VVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAwNDYyPjA2LzAz
LzMwKJbYKTEwOjUwOjEyIE5vLjM4NjAwNDYyIA0KICAgICAgPEJMT0NLUVVPVEU+iOqCwoLMguCC
zILwlaqCr42HgqSXbILJlemC54K1gsSCooK9k/GQbIK+gqmC5yA8L0JMT0NLUVVPVEU+PC9URD48
L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+
DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9y
PSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0z
ODYwMDUwOT4wNi8wMy8zMCiW2CkxMDo1MjowMyBOby4zODYwMDUwOSANCiAgICAgIDxCTE9DS1FV
T1RFPoKxgsyDZ4OMgVuDaYFbgq+CwYKxgqSDWoOTg1iXx4KtgsuBSCA8L0JMT0NLUVVPVEU+PC9U
RD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8
VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0Nv
bG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFt
ZT0zODYwMDUyMz4wNi8wMy8zMCiW2CkxMDo1Mjo0MyBOby4zODYwMDUyMyANCiAgICAgIDxCTE9D
S1FVT1RFPjxGT05UIGNvbG9yPSM3ODk5MjI+Jmd0OyZndDuShop3gvCRsovGgrWCvTKQbILNk6+Q
sYLwjm6C34K9PC9GT05UPjxCUj48Rk9OVCANCiAgICAgICAgY29sb3I9Izc4OTkyMj4mZ3Q7gr6C
qoK7gsyNoIKpgueCqTwvRk9OVD48QlI+PEZPTlQgDQogICAgICAgIGNvbG9yPSM3ODk5MjI+Jmd0
O5PxkGyCqoK3guqI4YKkguaCpILJgsiCwYK9gsyCzTwvRk9OVD48QlI+jcWPiYLNgtmC8YLMj6yC
s4LI5nmCooKqjLSI9oK+gsGCvSANCiAgICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMDUyND4wNi8w
My8zMCiW2CkxMDo1Mjo1MCBOby4zODYwMDUyNCANCiAgICAgIDxCTE9DS1FVT1RFPot2grWC1ILo
gsmKWILFj2+J74LBgr2DdYNeg1ODioOJgs08QlI+j62CtZGJgrmCvZdsgsmMqYKmgukgDQo8L0JM
T0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAg
PFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0K
ICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRl
IA0KICAgICAgbmFtZT0zODYwMDU2Mz4wNi8wMy8zMCiW2CkxMDo1NDoyMyBOby4zODYwMDU2MyAN
CiAgICAgIDxCTE9DS1FVT1RFPoF1gqiRT4LMlaiCzYm0gsyVqDxCUj6JtILMlaiC4Im0gsyVqDxC
Uj48QlI+gsWC4Im0gs2CqJFPgsyVqILIgvGCvoK6gWOBdjxCUj6CroLngqKCzYy+gsGCxJd+grWC
oiANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxF
IGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1y
aWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2Jv
eCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAwNTcyPjA2LzAzLzMwKJbYKTEwOjU1OjA1
IE5vLjM4NjAwNTcyIA0KICAgICAgPEJMT0NLUVVPVEU+gXWPrYK1lc+C7YLBgr2CyIF2gruCpIz7
gsmCtYK9guc8QlI+gXWVz4LtgueCyIKigtyC3IK+gsaQtoKrgsSNc4KvgsiCooKpgueBdoLGPEJS
PoKpjdeCopXUjpaCqpXUgsGCxIKrgr0gDQogICAgICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwv
VEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAg
PFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUw
ZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMDYx
Nz4wNi8wMy8zMCiW2CkxMDo1Njo1NyBOby4zODYwMDYxNyANCiAgICAgIDxCTE9DS1FVT1RFPoLM
gtGCvYKqie+O0ILJjXOCwYLEgumXr47nkoaCyZBxgsuCxIK1griCqYLGPEJSPpDMmGKCxZC3guiP
44KqgsGCvYKxguuCyZDMgsyC5oKkgsiJc4KiiuGM9YLFjL6CpILxgr6C5oLLIA0KICAgICAgPC9C
TE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQog
IDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4N
CiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0
ZSANCiAgICAgIG5hbWU9Mzg2MDA2NjI+MDYvMDMvMzAoltgpMTA6NTk6MTAgTm8uMzg2MDA2NjIg
DQogICAgICA8QkxPQ0tRVU9URT6BdZeIlE6CzI33gqqN54KtjaCCyYLNPEJSPoKxgsyOd5fWgvCK
T4K1gsSKT4LwleCCr4LpguaCpILJgsiC6IK9gqKBdjxCUj6IwIKijPWR8oLMjneX1oLwlY+CxYLE
g3WDXoNTg4qDiYLNPEJSPoLNgsmCqYLxgsWPzoLBgr0gDQogICAgICA8L0JMT0NLUVVPVEU+PC9U
RD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8
VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0Nv
bG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFt
ZT0zODYwMDY5ND4wNi8wMy8zMCiW2CkxMTowMDozNiBOby4zODYwMDY5NCANCiAgICAgIDxCTE9D
S1FVT1RFPoF1ib2C4JazgqKV6YLngrWCvoKpgueVqoKvjYeCwYLElemC54K1gr2CqYLBgr2BdiA8
L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4N
CiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1RE
Pg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVs
ZXRlIA0KICAgICAgbmFtZT0zODYwMDc1NT4wNi8wMy8zMCiW2CkxMTowNDowMSBOby4zODYwMDc1
NSANCiAgICAgIDxCTE9DS1FVT1RFPoN1g16DU4OKg4mBYyA8L0JMT0NLUVVPVEU+PC9URD48L1RS
PjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQog
ICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNm
MGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYw
MDkwND4wNi8wMy8zMCiW2CkxMToxMDozMiBOby4zODYwMDkwNCANCiAgICAgIDxCTE9DS1FVT1RF
PoF1ibSCzYKokU+CyYLNgsiC6oLIgqKC5oF2PEJSPoK7gqSMvoLBgsSDdYNeg1ODioOJgs2C2YLx
gsyPrYK1gr6Cr5T3j86C8YK+jOOY64Kigr08QlI+lmyCyYLNlN6CzIrngqqMqYKmgsiCqYLBgr2C
tYFBjKmC6Y6WguCPb5eIgsiCqYLBgr0gDQogICAgICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwv
VEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAg
PFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUw
ZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMDkw
OD4wNi8wMy8zMCiW2CkxMToxMDo0MCBOby4zODYwMDkwOCANCiAgICAgIDxCTE9DS1FVT1RFPoF1
ib2C4IKpguCVqoKvjYeCwYLElemC54K1gr2CqYLBgr2BQjxCUj6Cr4LqgseBQZGKjuiCqo6plaqC
8JZdgtyCyIKtgsiCwYK9guc8QlI+gruC6oLNiZ+VdIKvgsWCtYKpgsiCrYLIgsGCxIK1gtyCpIK1
gsiBdiANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRB
QkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGln
bj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVj
a2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAwOTQ3PjA2LzAzLzMwKJbYKTExOjEy
OjM3IE5vLjM4NjAwOTQ3IA0KICAgICAgPEJMT0NLUVVPVEU+lN6Pl4LNjaGBQZdUlZ+CyJBsgsaM
i42lgrWCxDxCUj6NS4K5gsiJxpLrgvCSeoKigsSCooLpgueCtYKiIA0KPC9CTE9DS1FVT1RFPjwv
VEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAg
PFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdD
b2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5h
bWU9Mzg2MDA5OTU+MDYvMDMvMzAoltgpMTE6MTQ6MzYgTm8uMzg2MDA5OTUgDQogICAgICA8QkxP
Q0tRVU9URT6BdY1LgrmCvoLBgr2CxoF2j86CpIN1g16DU4OKg4mCzTxCUj6KbYKpgsmBQZDMjKmS
bYLBgr2PrZROgsyVXI/ugr6CwYK9IA0KICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMTAyMz4wNi8w
My8zMCiW2CkxMToxNjowNyBOby4zODYwMTAyMyANCiAgICAgIDxCTE9DS1FVT1RFPoF1ibSCzILg
gsyCzYm0gsyC4ILMPEJSPoKokU+CzILggsyC4Im0gsyC4ILMgXY8QlI+gruCzIy+l3SCzI6dgsKI
05ahgsyPZIKzgvCSbYLBgr2CzILNgUGCq4LBgsaTrYKrjm6C34LEgqmC5zxCUj6Cu4LqgqqR5ZBs
gsmCyILpgsaCooKkjpaCvoLBgr2C8YK+guuCpCANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwv
VFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4N
CiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9
I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4
NjAxMDc1PjA2LzAzLzMwKJbYKTExOjE4OjU1IE5vLjM4NjAxMDc1IA0KICAgICAgPEJMT0NLUVVP
VEU+gXWNS4K5gr6CwYK9gXaCu4LMlVyP7oKqllmC6oLnguqCyIKiPEJSPoLggqQzMIvfgq2CyYLI
gumOqZWqgsmBQYKggvGCyJazlmiU9YLIlVyP7oKqj2+XiILpgr6C64KkgqkgDQogICAgICA8L0JM
T0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAg
PFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0K
ICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRl
IA0KICAgICAgbmFtZT0zODYwMTA3Nz4wNi8wMy8zMCiW2CkxMToxODo1OSBOby4zODYwMTA3NyAN
CiAgICAgIDxCTE9DS1FVT1RFPmh0dHA6Ly9hc2FtZS53ZWIuaW5mb3NlZWsuY28uanAvYmVkb3Jh
Lmh0bWw8QlI+g3WDXoNTg4qDiYLMlryRT4LNjE8gDQogICAgICA8L0JMT0NLUVVPVEU+PC9URD48
L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+
DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9y
PSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0z
ODYwMTA3OT4wNi8wMy8zMCiW2CkxMToxOTowMyBOby4zODYwMTA3OSANCiAgICAgIDxCTE9DS1FV
T1RFPlAyUINYg4yCzYKxgrGCxYK3gqmBSCA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMTEwOT4wNi8w
My8zMCiW2CkxMToyMDoyMCBOby4zODYwMTEwOSANCiAgICAgIDxCTE9DS1FVT1RFPoK7guqCxYLg
gtmC8YLMj62CtYLMkEiC15WoguKVnoLwlaqCr42HgsGCxJXpgueCt5C2ioiCzYFBim2CqYLJjUuC
uYK+gsGCvSANCiAgPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFC
TEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWdu
PXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNr
Ym94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDExNDQ+MDYvMDMvMzAoltgpMTE6MjE6
MjkgTm8uMzg2MDExNDQgDQogICAgICA8QkxPQ0tRVU9URT6DV4ODg0ODQYOTgX6DdYNeg1ODioOJ
PEJSPoKxguqCy4FJIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRB
QkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGln
bj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVj
a2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAxMTc2PjA2LzAzLzMwKJbYKTExOjIy
OjQzIE5vLjM4NjAxMTc2IA0KICAgICAgPEJMT0NLUVVPVEU+PEZPTlQgY29sb3I9Izc4OTkyMj4m
Z3Q7Mzg2MDEwNzcgPC9GT05UPjxCUj48Rk9OVCANCiAgICAgICAgY29sb3I9Izc4OTkyMj4mZ3Q7
aHR0cDovL2FzYW1lLndlYi5pbmZvc2Vlay5jby5qcC9iZWRvcmEuaHRtbDwvRk9OVD48QlI+PEZP
TlQgDQogICAgICAgIGNvbG9yPSM3ODk5MjI+Jmd0O4N1g16DU4OKg4mCzJa8kU+CzYxPIDwvRk9O
VD48QlI+ut642IFjIA0KPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8
VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFs
aWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNo
ZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDExODI+MDYvMDMvMzAoltgpMTE6
MjI6NTMgTm8uMzg2MDExODIgDQogICAgICA8QkxPQ0tRVU9URT6IvYLpkqmBQZBIkeyCxYypgr2Q
VpW3gsmCzTxCUj6MqYpvgqaCzIKggumK54Kqj+aCwYLEgqKCvSANCjwvQkxPQ0tRVU9URT48L1RE
PjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxU
Uj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29s
b3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1l
PTM4NjAxMjMxPjA2LzAzLzMwKJbYKTExOjI0OjM5IE5vLjM4NjAxMjMxIA0KICAgICAgPEJMT0NL
UVVPVEU+gtyCxIN1g16DU4OKg4mCzJZ7lryCqoxPgsGCxIrukWKSbY6vgr6C6zxCUj6CxYLgg2eD
k4NLg4qCzIm6gsyWvJFPllmC6oK9IA0KICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMTI2Nj4wNi8w
My8zMCiW2CkxMToyNjoxOSBOby4zODYwMTI2NiANCiAgICAgIDxCTE9DS1FVT1RFPjxGT05UIA0K
ICAgICAgICBjb2xvcj0jNzg5OTIyPiZndDtodHRwOi8vYXNhbWUud2ViLmluZm9zZWVrLmNvLmpw
L2JlZG9yYS5odG1sPC9GT05UPjxCUj48Rk9OVCANCiAgICAgICAgY29sb3I9Izc4OTkyMj4mZ3Q7
g3WDXoNTg4qDiYLMlryRT4LNjE8gPC9GT05UPjxCUj48Rk9OVCANCiAgICAgICAgY29sb3I9Izc4
OTkyMj4mZ3Q7aHR0cDovL2FzYW1lLndlYi5pbmZvc2Vlay5jby5qcC9iZWRvcmEuaHRtbDwvRk9O
VD48QlI+PEZPTlQgDQogICAgICAgIGNvbG9yPSM3ODk5MjI+Jmd0O4N1g16DU4OKg4mCzJa8kU+C
zYxPIDwvRk9OVD48QlI+PEZPTlQgDQogICAgICAgIGNvbG9yPSM3ODk5MjI+Jmd0O2h0dHA6Ly9h
c2FtZS53ZWIuaW5mb3NlZWsuY28uanAvYmVkb3JhLmh0bWw8L0ZPTlQ+PEJSPjxGT05UIA0KICAg
ICAgICBjb2xvcj0jNzg5OTIyPiZndDuDdYNeg1ODioOJgsyWvJFPgs2MTzwvRk9OVD4gPC9CTE9D
S1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxU
Qk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAg
ICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSAN
CiAgICAgIG5hbWU9Mzg2MDE1MDM+MDYvMDMvMzAoltgpMTE6MzY6MDkgTm8uMzg2MDE1MDMgDQog
ICAgICA8QkxPQ0tRVU9URT48Rk9OVCANCiAgICAgICAgY29sb3I9Izc4OTkyMj4mZ3Q7gXWCoILx
gsiCooKikGyCqonvjtCCzIKoi+CC8I5ngqKCsYLxgsWCooK9gsiC8YLEgWOBdjwvRk9OVD48QlI+
g3WDXoNTg4qDiYFjgUCMToLJgsaCwYLEgqCCzIy+l3SCzYK7gsyS9pN4gsyC4ILMgr6CwYK9gsyC
qYKigUggDQogICAgICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxU
QUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxp
Z249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hl
Y2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMTU1MD4wNi8wMy8zMCiW2CkxMToz
Nzo0MCBOby4zODYwMTU1MCANCiAgICAgIDxCTE9DS1FVT1RFPjxGT05UIGNvbG9yPSM3ODk5MjI+
Jmd0O4i9gumSqYFBkEiR7ILFjKmCvZBWlbeCyYLNPC9GT05UPjxCUj48Rk9OVCANCiAgICAgICAg
Y29sb3I9Izc4OTkyMj4mZ3Q7jKmKb4KmgsyCoILpiueCqo/mgsGCxIKigr08L0ZPTlQ+PEJSPoF1
gqCC8YLIgqKCopBsgqqJ747QgsyCqIvggvCOZ4KigrGC8YLFgqKCvYLIgvGCxIFjgXY8QlI+itaM
V47SgsyP2Iy+gs2Ws4tAjr+CyIqIjpqCxYK7gqSS1ILnguqCxIKigr0gDQogICAgICA8L0JMT0NL
UVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRC
T0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAg
IDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0K
ICAgICAgbmFtZT0zODYwMTc1NT4wNi8wMy8zMCiW2CkxMTo0NTo0MiBOby4zODYwMTc1NSANCiAg
ICAgIDxCTE9DS1FVT1RFPoyLi8eCu4LMi0yOlojIjX6BQYN1g16DU4OKg4mCzI6WjI+CzZHlgquC
rY7mguiItYLtguqC6Y6WguCWs4KtPEJSPo6GlsqCzYx8lFyQbILikK2OoYnGgsyDWINMg4ODk4Nf
g4uTmYLwPEJSPo52gqKPb4K1gr2C3YK9gqKCyZXxgraP44KwgukgDQogICAgICA8L0JMT0NLUVVP
VEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZ
Pg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxU
RCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAg
ICAgbmFtZT0zODYwMTkzMT4wNi8wMy8zMCiW2CkxMTo1MjoxMyBOby4zODYwMTkzMSANCiAgICAg
IDxCTE9DS1FVT1RFPoN1g16DU4OKg4mC8JJtgumQbIrUgs08QlI+gXWU3oKqgqCC8YLIjpaC8IK3
gumCzYK4gqqWs4KigXY8QlI+gXWRUJfHid+CrIK9grmCooLFkEiCopWogsmCs4Lqgr2BdjxCUj6M
+4FYgsmCu4KkmFKC54K1gUGR35XfgsmU25Lok0mCyYK+gsGCvTxCUj48QlI+ikaBQZTegvCQTYK2
gsSCooK9IA0KICAgICAgPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8
VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFs
aWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNo
ZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDIwNzU+MDYvMDMvMzAoltgpMTE6
NTc6NTUgTm8uMzg2MDIwNzUgDQogICAgICA8QkxPQ0tRVU9URT6Bd4temGaCzI7QiPWBQZBblumC
yZPBi32X8Y7UgsmU8oLRgrGC3Y6pjkWBeCA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMjIxMj4wNi8w
My8zMCiW2CkxMjowMjowOSBOby4zODYwMjIxMiANCiAgICAgIDxCTE9DS1FVT1RFPoxvl52RgI3s
gsmC5oLBgsSVgoKigr2L4ILgPEJSPo+Rl96CzYKggsGCxILgjXOV+5Vzlr6CzILcgtw8QlI+i16Y
ZoLMkGyVqIKqjqmORYK3gumOloLJguaC6I6WjI+CzZaLgvCVwoK2gr0gDQogICAgICA8L0JMT0NL
UVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRC
T0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAg
IDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0K
ICAgICAgbmFtZT0zODYwMjMxNj4wNi8wMy8zMCiW2CkxMjowNTozNyBOby4zODYwMjMxNiANCiAg
ICAgIDxCTE9DS1FVT1RFPpGSi1aCzYrVjlWCxoK1gr2C4ILMgr6CwYK9PEJSPo/VjIKTSYnfgqyC
6YyLicqCzTxCUj6KRoLMjPuC8JOAgueCuYLEgrWC3ILBgr2CzILFgs2CyIKigqmCxjxCUj6Cu4Kk
jnaC7YK5gumCroLngqKCySANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48
L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFs
aWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5Q
VVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAyMzc4PjA2LzAz
LzMwKJbYKTEyOjA3OjMzIE5vLjM4NjAyMzc4IA0KICAgICAgPEJMT0NLUVVPVEU+ksqW6YKqj0mC
7YLogUGKtYLqgsiCoo7wgvCCoIKogug8QlI+j0mTZILFicaYSILJj0GCrSA8L0JMT0NLUVVPVEU+
PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0K
ICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBi
Z0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAg
bmFtZT0zODYwMjQzNj4wNi8wMy8zMCiW2CkxMjowOToyMyBOby4zODYwMjQzNiANCiAgICAgIDxC
TE9DS1FVT1RFPoLIgvGCvoKxgsyDWIOMIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48
L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFs
aWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5Q
VVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAyNDYyPjA2LzAz
LzMwKJbYKTEyOjA5OjU1IE5vLjM4NjAyNDYyIA0KICAgICAgPEJMT0NLUVVPVEU+iOqQbILNgt2C
8YLIgsyCvYLfgsk8QlI+gt2C8YLIgs2I6pBsgsyCvYLfgskgPC9CTE9DS1FVT1RFPjwvVEQ+PC9U
Uj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0K
ICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0j
ZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2
MDI1NzU+MDYvMDMvMzAoltgpMTI6MTM6NTggTm8uMzg2MDI1NzUgDQogICAgICA8QkxPQ0tRVU9U
RT6K54LwkF6CwZDUgsmCtYLEkOeSuZGrgsWLQYLBgsSXiIK9jqmVqoLwPEJSPojqjp6C8InfgqyC
6Y2ggr6CxoKigqSCzILJleqCqo9vjH2CpoLpIA0KICA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwv
VEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAg
PFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUw
ZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMjU5
Mj4wNi8wMy8zMCiW2CkxMjoxNDo1MyBOby4zODYwMjU5MiANCiAgICAgIDxCTE9DS1FVT1RFPkVE
i8iBRoKzgr6C3IKzgrUgPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8
VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFs
aWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNo
ZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDI2MzM+MDYvMDMvMzAoltgpMTI6
MTY6MzIgTm8uMzg2MDI2MzMgDQogICAgICA8QkxPQ0tRVU9URT6BdZXPgsiJ15WogqqTzYKigr2C
zILmPEJSPo+tgrWLQ46dgr+Iq4KigqmC54K/guGC8YLGgqCCyIK9gqqKbZRGgrWCyIKzgqKCy4F2
PEJSPpXqgs2Cu4Lqgr6Cr42QgrCCxJBRjrqCyZbfgsGCxIKigsGCvTxCUj48QlI+i4+K1ILJgs2Q
hYLMk/yCwYK9g1KDYoN2gsaOqZWqgsaJ15WogqqOY4LpIA0KICAgICAgPC9CTE9DS1FVT1RFPjwv
VEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAg
PFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdD
b2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5h
bWU9Mzg2MDI3MTQ+MDYvMDMvMzAoltgpMTI6MTk6NDYgTm8uMzg2MDI3MTQgDQogICAgICA8QkxP
Q0tRVU9URT6QjIKigsmUQ4K5gsSV75GVgvCXkJZcgsmUaoKigr08QlI+PEJSPoi2lryCzJazgqKV
c4tDlqGCyInXlaiCvoLBgr2CqjxCUj6LQ5ahgsyIq4KijpaCqotOgquC6YLMgsiC54LOgqiCq4LE
gt2C64LGPEJSPpPgkFOWs4jTlqGCyZPFgsOCooLEguCCooK9IA0KICAgICAgPC9CTE9DS1FVT1RF
PjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4N
CiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQg
YmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAg
IG5hbWU9Mzg2MDI5MTk+MDYvMDMvMzAoltgpMTI6Mjc6MjMgTm8uMzg2MDI5MTkgDQogICAgICA8
QkxPQ0tRVU9URT6V74LdgsyShoLJgs08QlI+lp+J5pZ7gUGDgoNmg4uDS4OTgUGDSoNag2KDZ4Nl
gVuDdoLig1GBW4OAgsyDSoNag2KDZzxCUj6J+YKpgrWCooLmgqSCyIFBj62CtZSBgq+CvYLmgqSC
yJWXjYeCooKqPEJSPoLCgqKNxYvfjeyC54Lqgr2C4ILMgsWCzYLIgqKOloLwl1mV2YLJjOqC6SAN
CiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJv
cmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdo
dD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2
YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAzMTE2PjA2LzAzLzMwKJbYKTEyOjMyOjM4IE5v
LjM4NjAzMTE2IA0KICAgICAgPEJMT0NLUVVPVEU+kuqWyoLJj6yCs4LIg4GDgoLwjKmCwoKvgsSO
6ILJjuaC6TxCUj6Bd5K3gqKK1I7YguiCxIKigsSIq4KpgsGCvYFCgrKC34LxgsiBeDxCUj6SV5SS
gsiDe4Fbg4uDeYOTgsyOmoLNlKCCzJKGkGeCzILGkYqY1oLBgsQ8QlI+gsiCyYKpgsyWgpZAgsyL
TI2GgsyXbILJjKmCpoK9IA0KICAgICAgPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwv
VEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxp
Z249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBV
VCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDMzNzI+MDYvMDMv
MzAoltgpMTI6Mzc6NTUgTm8uMzg2MDMzNzIgDQogICAgICA8QkxPQ0tRVU9URT6WgpZAgsyLTI2G
gs2OfoLcgsGCxIKigr2OnorUgsyP+YLwl2WI1YKtifCCooK9PEJSPoKxgsyUoILMkoaQZ4LNkVOV
lIF1kd2CuYLGgXaOnYLBgsSCooKpguqCvYLcgtw8QlI+gsKCooLJgs2W34LBgsSCsYLIgqmCwYK9
PEJSPoK7gqSOdoLBgsSCooK9jqmVqoLMjp2Cv5Wogr6CwYK9IA0KICAgICAgPC9CTE9DS1FVT1RF
PjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4N
CiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQg
YmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAg
IG5hbWU9Mzg2MDM1MzQ+MDYvMDMvMzAoltgpMTI6NDI6NDMgTm8uMzg2MDM1MzQgDQogICAgICA8
QkxPQ0tRVU9URT6WbIKqlrOXnYLiguiOnYLBgsSCooKpguqCvYKoguCCv4Lhgs2W34LBgsSCq4K9
PEJSPoK1gqmCtZTegs2Cx4LxgsiCyYKoi+CC8ILCgqyNnoLxgsWC4ILHgvGCyILJiuaSo4LBgsQ8
QlI+guCT8ZN4gsaCzY7ogsmT/ILngsiCooFAlmyCzYNSg2KDdoLJk/yCwYK9kIWC8Ijqi0OCyTxC
Uj6I+YLdirGCt4LGkLqC8JD2gt+CxIuDgqKCvZTegs2OqZWqgqqOgILKkU+CyYKxgsw8QlI+juiO
hoLwj5GCooK9gsaOdoKkgsaOqZWqgsyWs5fNgrOC8IKkgueC8YK+IA0KICAgICAgPC9CTE9DS1FV
T1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9E
WT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8
VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAg
ICAgIG5hbWU9Mzg2MDM1NTk+MDYvMDMvMzAoltgpMTI6NDM6MTcgTm8uMzg2MDM1NTkgDQogICAg
ICA8QkxPQ0tRVU9URT6CyILxguKCy4LxgrGCzINYg4wgPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48
L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAg
IDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBl
MGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDM1
NzM+MDYvMDMvMzAoltgpMTI6NDM6NDYgTm8uMzg2MDM1NzMgDQogICAgICA8QkxPQ0tRVU9URT6J
+YKpgrWCoo52gqKCxYu5gqqI6pR0gsmCyILpgsaUuoLJPEJSPpZcjE6CzI2ggsyU3oLMjnCCqpOq
gvCJ34Ksguk8QlI+PEJSPoLFguCCu4Lqgs2BQZFTlZSC4IKklt+CwYLEgrGCyIKijpaC8DxCUj6Q
aOeFgsmBQZLJl/OCyYypgrmCwoKvgueC6oLpguaCpILIi0OCqoK1gsQ8QlI+ksqW6YLMjp6CxYKz
gqaJ5JadgrWCxIKigr2aaoj0gqqYUoLqj2+CxYLpIA0KICAgICAgPC9CTE9DS1FVT1RFPjwvVEQ+
PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRS
Pg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdDb2xv
cj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9
Mzg2MDM2MTg+MDYvMDMvMzAoltgpMTI6NDU6MjAgTm8uMzg2MDM2MTggDQogICAgICA8QkxPQ0tR
VU9URT6CxYLggrGC6jxCUj6BQINXg4ODQ4NBg5OCzIpHgr6C5oLLIDwvQkxPQ0tRVU9URT48L1RE
PjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxU
Uj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29s
b3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1l
PTM4NjAzNjM2PjA2LzAzLzMwKJbYKTEyOjQ1OjQzIE5vLjM4NjAzNjM2IA0KICAgICAgPEJMT0NL
UVVPVEU+jE+BYyA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJM
RSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249
cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2ti
b3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMzY4MD4wNi8wMy8zMCiW2CkxMjo0Njo1
NCBOby4zODYwMzY4MCANCiAgICAgIDxCTE9DS1FVT1RFPonmkZyCzYN1g16DU4OKg4mCvoLrIDwv
QkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0K
ICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+
DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxl
dGUgDQogICAgICBuYW1lPTM4NjAzNjg2PjA2LzAzLzMwKJbYKTEyOjQ3OjA5IE5vLjM4NjAzNjg2
IA0KICAgICAgPEJMT0NLUVVPVEU+gsiCr4LEgq2C6YLIgUWBRYFFgUUgPC9CTE9DS1FVT1RFPjwv
VEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9EWT4NCiAg
PFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8VEQgYmdD
b2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAgICAgIG5h
bWU9Mzg2MDM3MDA+MDYvMDMvMzAoltgpMTI6NDc6NDEgTm8uMzg2MDM3MDAgDQogICAgICA8QkxP
Q0tRVU9URT6UoILwg06DjYFbg1uDYoNngsyJnILWlZWI84K1gsSQlJP6jOM8QlI+kqmQSILMkMiC
xZXqgsmQVYLnguqCvYKtgsiCophikeiC8JBVgueC6jxCUj6Ws46LgreC6YjXgsmDZYOMg3KCzInm
lsqC8JRNkFOCyYypguk8QlI+PEJSPoKggsyYYpHogqqPb4LpgsaOqZFSgsaCsYKkguKCwYLEjvOC
r5esgrWCxDxCUj6QlJWqjOOCyYLNllmC6oLpl2yCyYvOgt+C6YFCgruC6oKqk/qP7YLMiOqKcILJ
gsiCwYLEgqKCvSANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxF
Pg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRv
cCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlw
ZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAzNzUxPjA2LzAzLzMwKJbY
KTEyOjQ5OjA5IE5vLjM4NjAzNzUxIA0KICAgICAgPEJMT0NLUVVPVEU+g4KDaoNegsWCzZKpgsyD
aoOFgVuDWDxCUj6JvY+KgqmJk4KikoaTjILMkqmOc4LMkEiR7ILMmGI8QlI+i7uWoYLglrOCooKq
mGKCqoK7guqC6YLcgsWQtpXUjpaCxZHSgsIgDQogICAgICA8L0JMT0NLUVVPVEU+PC9URD48L1RS
PjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQog
ICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNm
MGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYw
Mzc5OD4wNi8wMy8zMCiW2CkxMjo1MDoyNyBOby4zODYwMzc5OCANCiAgICAgIDxCTE9DS1FVT1RF
PoNOg42BW4Nbg2KDZ4LwjKmC6YLMgqqVfIKpgsGCvYFAgtyCvY5xi5+CzI2ggsyOdoKij2+CyTxC
Uj6Jn4K1gsKC1IKzguqCxIuDgqKCxIK1gtyCpIKxgsaCqpV8gqmCwYK9PEJSPoK+gqqBQIK7guqC
5oLoguCVfIKigsyCqoFAlN6C8JZZguqC5oKkgsaTd4LfgsQ8QlI+lnuTloLJlmyCzItMia+CqYLn
j8GCpoLEgrWC3IKkgrGCxoLglXyCqYLBgr0gDQogICAgICA8L0JMT0NLUVVPVEU+PC9URD48L1RS
PjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQog
ICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNm
MGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYw
MzgxMT4wNi8wMy8zMCiW2CkxMjo1MDo0OCBOby4zODYwMzgxMSANCiAgICAgIDxCTE9DS1FVT1RF
PoKxguqCyILxgsSMu5HjlbaCzIuziciPkYFIIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9E
WT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQg
dkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48
SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAzODM5PjA2
LzAzLzMwKJbYKTEyOjUxOjU2IE5vLjM4NjAzODM5IA0KICAgICAgPEJMT0NLUVVPVEU+g4KDaoNe
gsySqY5zgsyM/IKkgUE8QlI+jKmKb4KmgsyCoILpiueCqpLKguiCqoKpgsGCvYLmgqSCyYq0graC
yTxCUj6WsItDgvCLrYj4gsmRfoLBnbqC7YLqguk8QlI+PEJSPoptgqmCyYFBj62CtZP6gsmPxIKv
gsSCzYKigumCqjxCUj6CoILqgs2KbYKpgsmBdZTegXaCzIrngr6CwYK9IA0KICAgICAgPC9CTE9D
S1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxU
Qk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAg
ICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSAN
CiAgICAgIG5hbWU9Mzg2MDM4NDA+MDYvMDMvMzAoltgpMTI6NTE6NTkgTm8uMzg2MDM4NDAgDQog
ICAgICA8QkxPQ0tRVU9URT6DdYNeg1ODioOJgraC4U5lZWVlZWVlZWVlZWVlZWVlIDwvQkxPQ0tR
VU9URT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJP
RFk+DQogIDxUUj4NCiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAg
PFREIGJnQ29sb3I9I2YwZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQog
ICAgICBuYW1lPTM4NjAzODcwPjA2LzAzLzMwKJbYKTEyOjUyOjU5IE5vLjM4NjAzODcwIA0KICAg
ICAgPEJMT0NLUVVPVEU+guCCpIK3gq6BYyA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZB
bGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElO
UFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMzkwMj4wNi8w
My8zMCiW2CkxMjo1Mzo1MyBOby4zODYwMzkwMiANCiAgICAgIDxCTE9DS1FVT1RFPpOqgvCPrYK1
l5CWXILJkFWC6TxCUj6Cu4LxgsiCzYK4gs2CyIKigUGU3oLNim2CqYLJjoCC8YK+PEJSPpKGk4yC
zJBsitSCzZP6lnuQbILGiueMYIKqjpeCxILpkGyO7YKqi4+C6TxCUj6CoIK7grGCzZBsju2CzJqu
msSCyILxgr6CqYLnk5aRUoK+PEJSPpatgsmXnZhIkK6RUoLGgrWCxIKigumCzIKpjayXkILGgrWC
xIKigumCzIKplaqCqYLngsiCoiANCiAgICAgIDwvQkxPQ0tRVU9URT48L1REPjwvVFI+PC9UQk9E
WT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQg
dkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2YwZTBkNj48
SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjAzOTE3PjA2
LzAzLzMwKJbYKTEyOjU0OjEyIE5vLjM4NjAzOTE3IA0KICAgICAgPEJMT0NLUVVPVEU+gsaCwYKz
gsmWbILNkFWC6Iz8gqKCvTxCUj6CvoKqgreCxYLJgXWU3oF2gs2QbIKygt2CyYLcgqyC6oK9gsyC
voLrgqSCqT88QlI+gruCzI5wgvCMqYLCgq+C6YKxgsaCzYLFgquCyIKpgsGCvTxCUj6C7YKpgsGC
xIKigr2BQJTegs2C4IKkgqKCyIKigrGCxoLwgUCCvoKqkFOCzIKogq2CyTxCUj6CzZTegs2QtoKr
gsSCooLpgUCCooLigUCQtoKrgsSCooLEgtmCtYKigsaK6IKklmw8QlI+guCCooK9IA0KICAgICAg
PC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+
DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9U
RD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRl
bGV0ZSANCiAgICAgIG5hbWU9Mzg2MDM5NTA+MDYvMDMvMzAoltgpMTI6NTU6MzIgTm8uMzg2MDM5
NTAgDQogICAgICA8QkxPQ0tRVU9URT48Rk9OVCBjb2xvcj0jNzg5OTIyPiZndDuCsYLMi0yJr4LN
jMOCooLMgsWBQYLggqSCt4Kuj8GCpoLcgreBQjwvRk9OVD4gDQogICAgICA8L0JMT0NLUVVPVEU+
PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0K
ICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBi
Z0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAg
bmFtZT0zODYwMzk2NT4wNi8wMy8zMCiW2CkxMjo1NjowNCBOby4zODYwMzk2NSANCiAgICAgIDxC
TE9DS1FVT1RFPiZsdDsmbHQ7g1iDjIKqj8GCpoK7gqSCvo6Ki32RsYKrgvCXioLeJmd0OyZndDsg
DQo8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9
MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8
L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9
ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMzk3Nj4wNi8wMy8zMCiW2CkxMjo1NjoyOSBOby4zODYw
Mzk3NiANCiAgICAgIDxCTE9DS1FVT1RFPo/BgqaC6ZFPgsmPSYLpgqmBSCA8L0JMT0NLUVVPVEU+
PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0K
ICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBi
Z0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAg
bmFtZT0zODYwMzk5MT4wNi8wMy8zMCiW2CkxMjo1Njo1NSBOby4zODYwMzk5MSANCiAgICAgIDxC
TE9DS1FVT1RFPoN1g16DU4OKg4mBYyA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9U
QUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGln
bj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVU
IHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwMzk5Nj4wNi8wMy8z
MCiW2CkxMjo1NzowNyBOby4zODYwMzk5NiANCiAgICAgIDxCTE9DS1FVT1RFPoK+gqqBQJZsgs2Q
TYK2gsSCooLpgUCWbILMkm2C54LIgqKQoopFgUCWbILMkm2C54LIgqI8QlI+jZGBQJZsgsySbYLn
gsiCoo5xi5+CvYK/gsyShoLJgquCwYLGgqKC6YLJiOGCooLIgqI8QlI+PEJSPoF1guKC34LEguaB
YIFAlmyCzIKoguCCv4LhgvCV1IK1gsSC5oFggXY8QlI+gXWJvYy+gsGCxILxgr6BSIKokU+CzILg
gsyCzYm0gsyC4ILMibSCzILggsyCzYm0gsyC4ILMgXYgDQogICAgICA8L0JMT0NLUVVPVEU+PC9U
RD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8
VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0Nv
bG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFt
ZT0zODYwNDAyOD4wNi8wMy8zMCiW2CkxMjo1ODoxMSBOby4zODYwNDAyOCANCiAgICAgIDxCTE9D
S1FVT1RFPkVEg2WBW4N9gXWMToLNg1iBRYNlgUWDTIF2IDwvQkxPQ0tRVU9URT48L1REPjwvVFI+
PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxFIGJvcmRlcj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAg
ICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD6BYzwvVEQ+DQogICAgPFREIGJnQ29sb3I9I2Yw
ZTBkNj48SU5QVVQgdHlwZT1jaGVja2JveCB2YWx1ZT1kZWxldGUgDQogICAgICBuYW1lPTM4NjA0
MDI5PjA2LzAzLzMwKJbYKTEyOjU4OjE2IE5vLjM4NjA0MDI5IA0KICAgICAgPEJMT0NLUVVPVEU+
gruCtYLElmyCzZTegsyMvpd0gvCKmoLdkveC34K9PEJSPoN1g16DU4OKg4mCzYFBguCCpIKigsiC
ooFCIA0KPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9y
ZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0
PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZh
bHVlPWRlbGV0ZSANCiAgICAgIG5hbWU9Mzg2MDQwMzk+MDYvMDMvMzAoltgpMTI6NTg6MzIgTm8u
Mzg2MDQwMzkgDQogICAgICA8QkxPQ0tRVU9URT6DdYNeg1ODioOJgs2C3YLxgsiCzJBTgsyShoLJ
gqKC6YFFgUWBRTxCUj48QlI+gruCtYLEgUGJtILMkFOCzImckuqCyYLgIA0KICA8L0JMT0NLUVVP
VEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZ
Pg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxU
RCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAg
ICAgbmFtZT0zODYwNDA3Mz4wNi8wMy8zMCiW2CkxMjo1OTo0MyBOby4zODYwNDA3MyANCiAgICAg
IDxCTE9DS1FVT1RFPoK7gvGCyJfHgq2VqoKpgueCyIKigqqQXoyVgruCpILIlVyP7oLFPEJSPoOC
g2qDXoLwjKmCwoLflM+W44K3gumOcYufgvCS+oLfiueCxYypjK2CwYLEPEJSPpXqgqqOzILEkeSO
jILwjmOCtYLEg0yDYoNgg5OC1pbfguk8QlI+gXWSypbpgsyT+oLMkFuW6YLJg3yDWINngsmSvJDa
k/yC6oLnguqCvZWogr6CqYLnPEJSPpKGkGeCqotDgsmCyILBgsSC4I5klfuCyIKigsyC5oF2IA0K
ICAgICAgPC9CTE9DS1FVT1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9y
ZGVyPTA+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0
PoFjPC9URD4NCiAgICA8VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZh
bHVlPWRlbGV0ZSBuYW1lPTM4NjA0MTEyPjxBIA0KICAgICAgaHJlZj0ibWFpbHRvOmh0dHA6Ly9w
dWthLXdvcmxkLmNvbS91cGxvYWQvaW1nLWJveC8xMTQzNjkxMTc4NDIxLm1wMyIgDQogICAgICB0
YXJnZXQ9X3RvcCA/PjA2LzAzLzMwKJbYKTEzOjAwOjUwPC9BPiBOby4zODYwNDExMiANCiAgICAg
IDxCTE9DS1FVT1RFPoxOgs2BQILagq2CvYK/gt2C8YLIgsyC4ILMgr6C5iA8L0JMT0NLUVVPVEU+
PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0K
ICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBi
Z0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAg
bmFtZT0zODYwNDExND4wNi8wMy8zMCiW2CkxMzowMDo1NCBOby4zODYwNDExNCANCiAgICAgIDxC
TE9DS1FVT1RFPoLIgvGCvoLGgUiBSSA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9U
QUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHZBbGln
bj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAgIDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVU
IHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0KICAgICAgbmFtZT0zODYwNDEzOD4wNi8wMy8z
MCiW2CkxMzowMTo0MCBOby4zODYwNDEzOCANCiAgICAgIDxCTE9DS1FVT1RFPoN1g16DU4OKg4mQ
toKrgsSCvYLMgqmBSDxCUj6CxoLogqCCpoK4ieaRnILNg3WDXoNTg4qDiYFjgUggDQo8L0JMT0NL
UVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxUQUJMRSBib3JkZXI9MD4NCiAgPFRC
T0RZPg0KICA8VFI+DQogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQ+gWM8L1REPg0KICAg
IDxURCBiZ0NvbG9yPSNmMGUwZDY+PElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9ZGVsZXRlIA0K
ICAgICAgbmFtZT0zODYwNDE1MT4wNi8wMy8zMCiW2CkxMzowMjowMCBOby4zODYwNDE1MSANCiAg
ICAgIDxCTE9DS1FVT1RFPoKokU+CzIOCg22CzYm0gsyC4ILMPEJSPom0gsyDgoNtgs2CqJFPgsyC
4ILMPEJSPjxCUj6LcpZ7gUCBdYF2gXWBdoF1gXaBdYF2gXWBdoF1gXYgDQogICAgPC9CTE9DS1FV
T1RFPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8VEFCTEUgYm9yZGVyPTA+DQogIDxUQk9E
WT4NCiAgPFRSPg0KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPXJpZ2h0PoFjPC9URD4NCiAgICA8
VEQgYmdDb2xvcj0jZjBlMGQ2PjxJTlBVVCB0eXBlPWNoZWNrYm94IHZhbHVlPWRlbGV0ZSANCiAg
ICAgIG5hbWU9Mzg2MDQxNTQ+MDYvMDMvMzAoltgpMTM6MDI6MDEgTm8uMzg2MDQxNTQgDQogICAg
ICA8QkxPQ0tRVU9URT6CqIK1gtyCoiA8L0JMT0NLUVVPVEU+PC9URD48L1RSPjwvVEJPRFk+PC9U
QUJMRT48QlIgY2xlYXI9bGVmdD4NCjxIUj4NCg0KPFRBQkxFIGFsaWduPXJpZ2h0Pg0KICA8VEJP
RFk+DQogIDxUUj4NCiAgICA8VEQgbm9XcmFwIGFsaWduPW1pZGRsZT48SU5QVVQgdHlwZT1oaWRk
ZW4gdmFsdWU9dXNyZGVsIA0KICAgICAgbmFtZT1tb2RlPoF5i0yOlo3tj5yBels8SU5QVVQgdHlw
ZT1jaGVja2JveCB2YWx1ZT1vbiANCiAgICAgIG5hbWU9b25seWltZ2RlbD6J5pGcgr6Cr4/Bgrdd
PEJSPo3tj5yDTIFbPElOUFVUIHR5cGU9cGFzc3dvcmQgbWF4TGVuZ3RoPTggc2l6ZT04IA0KICAg
ICAgbmFtZT1wd2Q+IDxJTlBVVCB0eXBlPXN1Ym1pdCB2YWx1ZT2N7Y+cPjwvRk9STT48L1REPjwv
VFI+PC9UQk9EWT48L1RBQkxFPg0KPFNDUklQVCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KbCgp
OwovLy0tPjwvU0NSSVBUPg0KDQo8Q0VOVEVSPjxTTUFMTD48IS0tIEdhem91QkJTIHYzLjAgLS0+
PCEtLSCC04K9gs6J/DAuOCAtLT4tIDxBIA0KaHJlZj0iaHR0cDovL3BocC5zMy50by8iIHRhcmdl
dD1fdG9wPkdhem91QkJTPC9BPiArIDxBIA0KaHJlZj0iaHR0cDovL3d3dy4yY2hhbi5uZXQvIiB0
YXJnZXQ9X3RvcD5mdXRhYmE8L0E+LSA8L1NNQUxMPjwvQ0VOVEVSPjwhLS0tLT48IS0tLy8tLT4N
CjxTQ1JJUFQ+UHJ4UlNUKCk7PC9TQ1JJUFQ+DQo8L0JPRFk+PC9IVE1MPg0K

------=_NextPart_000_0002_01C653FA.3CDF62C0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://img.2chan.net/b/thumb/1143682812263s.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
SlBFRyB2NjIpLCBxdWFsaXR5ID0gMzAK/9sAQwAbEhQXFBEbFxYXHhwbIChCKyglJShROj0wQmBV
ZWRfVV1baniZgWpxkHNbXYW1hpCeo6utq2eAvMm6pseZqKuk/9sAQwEcHh4oIyhOKytOpG5dbqSk
pKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk/8AAEQgA8QDI
AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF
BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq
NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR
BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG
R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A
6aiiigAooooAKKKKACiiigAooooAKRmCqWY4AGSfSkd1jRnc7VUZJPauc8R6lFcWqQ20iSIWy5U8
j0H86ALtx4jtIWKorzADl0+6D6Zqq3iaQfMbQiMDkk80/S9CRrKRrxAJJlACj/lngcH61V0vQZ/t
3+lr+5gbI/6aHt+FAFtPE0YX97Zzq3oozV611qxuVTEwR242PwQaxdd0u5fUjLbQvIsmCSBwD/nF
Fzoj2+kyXE5Q3CNvO3pt9P60AdVRXE2epXFq6JBM3lD5gjfd69z1xXT6XqsOoJhcpMoy0bcH6j2o
Av0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBj7BqOtzpOd0FqF2ICcFjzk/wCF
JHpnn61LczwhI4toiAGA59aiiFxBrF7bWgBM21ml6iHjjjufati2gFvCsYZmI6knqe5oAlHQcYrK
lv5f+EihskbEYQlxjqdpIrWqr9ptfNZ12sw+VnVc49s0AWqjleJdscpX94doVv4vaorS4Nw0hDwv
GD8pRsn8azdatri81KzhAcQdS65+U/WgC9FpNlCJRHAAJeHySeK5ie3u9GullcZCHKSDo/PQ12lc
94oaWSa2tEJIk52AfeOaAN9CWRWIwSM06qdleLMzW7o0U0YHyP8AxD1HqKuUAFFFFABRRRQAUUlF
AC0UUUAFFFFABRRSUALRRRQAVQ1TUVtYjHCVe6chEjHJ3HpkUmq372oSC3UPdTHEant7ms6OwWDW
bOMkyziMyyyt1Y5oA1dMs/sdsAzGSZ/mkkPVjU9vcJcxeZHkrkjkehxSzx+bC8e4rvUjI6iqWj3W
+I2swEdxCdpTpkdjQBY1ASmxmEPL7Dgdzx296r6VcWc1qkMYRZFUb4mxuzjkkd/rWjWTrVpDKEEK
7L2Rv3bp8rEDGcn6UASXulwPEZbcm2ljBZGjG0Z68gdasaZcPdafBPJje65OB3qt9h1AKU+3hl6f
MnJH51etoEtrdIIgQiDAzQBLWHezQr4ghkuUZYo02LIwwokJyOfpW5Wdr0CT6XLvziMb+O+KAGki
TxCpXnyoCHx/CSQQD+FadZnh8eZp63TkmWflyT1wSB+grToAKKKKACiiigAooooAKKKKACiiigAo
orP1vUG0+z3Rrulc7U+vrQBJf6lbWC/vn+cj5UUZJqss2p3wBiiFnEQCGk5Zh/Sn6Zpa2v7+4/e3
bctIeSPYVokZoAwdFgkk1S5nknM6w/ulZzk+vFS3rm28SWkpGVlj8r6HP/6qTQCIru/tpSBP5pcj
1Hr+v61Nr9m01utzBu+0QEMmKANWsG5torjxBJHL5scrIGgljOMYHNaWl3yX9mkoPzjh17g1X1iG
WOSHUIMl7ckOAByh60ACz39jtS6QXEIBLTqcEegx/nrUtvqFlebZchXUkL5gwRmgatbNEsse542z
hgO/pTHewvXJmhyVGNzL0zmgDRyPWlrOi0uJQrR3M+P4fn4FVY5L575ra1uklVFzK8gOAc9B70Aa
drdC4aZcYaF9jUzVcf2Zc56eWaktLVLSLYhZiTuZ2OWY+pqh4imc2qWcJBmuWCBT1x60AP8ADn/I
Et+v8XX/AHjWnWOkt7p0KRfYw8EYGShwQMZJrRs7yG9gEsD7l6H2NAE9FFFABRRRQAUUUUAFFFFA
BRRRQAVgXMi3uvWzWqNOLckSn+EZrZuzGLSYyttj2Hc3oMVQ8NiQaaA8YVAx8s4wWXsTQBq0lDHa
pPoM1m6KTPHNd72KzOSqnoooAg1iF7O6i1W3UnZhZ1X+JK1oZo5oVljYMjDINPIBBBGQe1Z1pZy2
OoMkAJs5FLkE/cb2oAhvdNlgnN9phCTfxxH7sgqzYapDd5jcGG4U4aJ+CDV+ql7p1rfLiePLDkMD
gigCpPZ3VhKZ9Mw0R5ktj0J45X3oOr208Jjnt5VbO1onXnNN+xalZMv2S5E8I/5ZzdR9CKcuqSRZ
N9ZSRDjDKuQaAGW1ndyGSMMYLJycxk/OvsPY1qW1vFaxCKFAiDnA9aprrVozMoL/AC9floiur26W
QJbmDjKNIOtAFq8u4LKEyzuEXtnvWHAt5c6/BNcxqB5ZkWN+sa5x09e/41fFnBaMb/UJhJKvO9vu
p9BTdHilnmk1K4Uo0g2RIf4Uz/jQBrVz6yLaeKWhiykcyjci9N2OtdBWFMDb+KkmnAWKVNkb9icd
D7//AFqAN2iiigAooooAQ5wcdaKWigAooooAKKKhup1traSZ+iKT9aAMvVZHv76PS4fuZDzt6Ac4
/GthVVFCqAFUYAHYVl+H7dhDJezczXR35zn5ewrWoAztenEOmS8kMwwCKpabr1kkcdu8ZtgowM9K
b4rlVkhtzkbjnd2rn2IXeWAJPduaAO6guoLhA8UqsD05qavPI+FUKzK4OODj9KuxavqNud3n+Yqc
YagDtqK5mLxNOmDPbKVbptbmr0HiKzlPzB0GPvMvFAGxSEA8EA/WqsGpWc4Hl3CHPYnFWVdHUsrA
gdweKADy0/uL+VVr2a5jaNLaDzC/BYnhfrWXfeItsois0WQj7zk/L+BqG38TyK4+1wARn+JDnFAG
pFpm+4+03spnkByiHhY/oO/40a3cTWdkLi36xuCy9mHpVxbiJrfzw4MW3du7YrO1TUrKSxnhS4Rn
ZCABzk0AacTiSJXUghgCCKzPExUaUxZA2WAB/u+9J4YnWTS1hGd8JIYH3JIrTnhSeF4pFyjggigB
toMWkIzuxGvPrxU1Y2hzSW802mXDfPCcxZOcr/nFbNABRRRQAmRzz060UAAdKKAFooooAKxtbZrq
6ttNjP8ArG3v/uitmsXT8XHiC+lYhvK2oh9PWgDYRBGoRQAqgAAdqdRTZG2xs2cYBOfSgDClt4tW
1u4huS3lQIAqhsc96in8Muhc2s42kcI4zWTKt1Isl5GsuHmbEyn+lXLbxFd2+VkYT/742kUAVptK
1CFQZLRmOeqsD/KqnKq/mB0yOCy9T6V00Hia3LrHPG0bdCc5FWze6XfosbPFIGP3WFAHGBiOdyn0
+n07U5o2aTkgr2yK6q40HTbli6fIzdNjcflVSbww4Obe7I9nGaAOekAOW2hSOFC962b+Q6do9tYx
OfMnG+X1APJ+n/1qdH4YuYpkbzo2VXDEAYzzUfilWGohioUNHgPnr14/pQAuj6Kt+vnTgpbDhFB5
Y+tT6toJhPn2CFlP+siJ/UVaiuXXwuslqx82OMLwOQRjIrJg1rUoTlj5iH7u5cbh6igDS0e1nm0a
6tZg8W5iqA/wjAP8650RIx2MACGIG3q2K6Cx164uL23heJAshwSDz+VRP4ZuPMfy7pNrHuvI5oAT
wxcSLqE0DAYkXefYjiunrlbeKTSPEEERBZJF8tW9cnOfzrqqAMTXI3tbqDU4MKUO2U+qn27962IZ
VmhSVOUdQy/Q1HeQi4tJYioYshAB9ccVn+GXY6cYZGJkhcoyn+H2oA16KKKAE60UtFAGDJJCCCb6
9C+xPr9KbJcW0XzPqV4oB2nOf8K6Cq+oDdZTLjOVIGRQBkF4TuKardOyoTgE/wAsVN4WwdMZicu0
jFjnrUttGiapLGAMGIAgfd6CofDzGB7qwdRvhfcWB65oA2qp6uwTS7licDYauVkeJ3K6ZsHR3AP0
zQBY0NdukW3ugNSXGm2Vyxea3RmIxuxzU9vCtvBHCv3UUKKkoAwLjwxGQTb3MiN/tHIqjP4bvI4y
yGGQnjaowRXW0UAcLLaXtriQ208Kj0bOP84pV1C5t8eTeShT9/cCcH/JruajeCKRSrxoynsRQBxy
63qDDi7XcMYGMZq1q0jajpttforuqDbMAeFP0/Gt06Ppx/5c4vyqxb2sNtEYoYwqEklR05oA5DTt
Tk0zcsZE8LndsJ5FMvL2a9m3z+WCE+VUx+7FdFc+HrGf7imE9/L4yPSqmpeH08mFLCIBtxDOx7Yo
Al0XS7VoLW/KsJ9uc7uCfXFUtW1W+ttSmiSXYg4QbevA5roNNt2tLCGByCyLg46U6a0t53V5olkZ
ehYdKAOOOozS3UV1M7StC4cLjACj/Irto3EkauOjAGsXxTDGul7lQAhwOBiti3/494/9wfyoAkrl
LGcQX+oZuPsxMhHKkg8ntXTzyeVBJJ/cUt+QrG8NQLNBPeyYZ53OQQCBj/8AXQAkNxKFx/bMTYJy
WiIP608agwXP9pwnjjMLUzX44vJcJbpuQxkuBggFq2TbQkEGJMHrxQBkNqE4XeNStiB28luvpRWp
9itf+eEf5UUAWKq6k22yk4znirVUtW/49MerAUARwr/xN5T/ANM1/lVLUgdM1aC/RQIpT5cgH8/8
+lX4GH9rTjGSVXB/CpdRs0vrN4HONw4Poe1AFkEEAg5B71ieKHBht4NpLSSjDelSaLdyRhtPvcJP
ABtJPDr6j6Vna3dTXyxzRKBaRyhUZh8ztnqPagDqAMADpilpBnAz170tABRRRQAUUUUAFFFFABRR
RQAUUUUAYvisf8Sn1/eL+HWta3/494s/3B/KszxPG0umqiAs7SqFUfxHnitOD5bePI24QcenFAGX
4knK2iWsbES3DhVx9R1rQsbZbS0ihVVG1Ru29C3c1kwRjVdbe6A3WsGFGc8sO4reoAwdabcb9QOk
cH/odb1YOtOSNQTA4SA5/wCB1vUAJ0oo6cmigDF8xywPn32f+uQpl4DcxhJZr0qG3YEI61vUUAYE
bFJ5JvNvzI64JMI4pxuZVXmfUMH/AKYDit2igDlNUgN3EZs3rzIuPmiCjHuR2qe1abWbFLNVFvbI
AsjjncR0x+Ircv7drqzlhVyhdcZFZ2g3CNbNYmMJPbnay54b/az+dADYZdU06EJNCLuGM43xnL4+
lWIdesJZCju0LDqJRtq4svOWAVSBgg+/H4USW1vcKRLCj7upK9aAFgure5z5EySY67WzU1Y1zpVq
87yBDE54Bjbv2bA7+1RJBqlvGsUF4AqjPzKGyfTJ7e9AG9RWOt/qiRgyaehwpJYSdce3r6Cnf24I
yRc2dxGeq7UzkYzQBrUVlHxBZAAlZhn1jxVptUsFGTdwj/gQz+VAFuis+TWrFFYrL5oUAnyxuxmo
v7etyxVLe6dgcECLoaANWoLu7itIw0mSTwqKMs59AO5rOF9f3KAJCLfnLMPnYD02/wB729Kq2sRQ
tPOy3M7kgvuJUD0B7L/tdjxQAtsqa3cySXMzxzRgiO36GI8Yf3NMu9Su47eTTJFaS7Hyl4xnKYyW
+uKtz2I1ArMkhjuk6S4wcf7S/wAvUVH4e3z3d7cz/vJQwjEu3GQODj8hQBXtXFrGsFvd3ixrzxAp
HPvUzTz7hGNSud2Mk/Z15HWt3avTaPyo2LnO0Z9cUAc5LGlx5ry3848zarAxDOAcj9f61aNzInDa
ngjt5a8j/IrZ8tP7i/lSGKMnJjQn12igDFF5cqw26hA3yAkNjg0Vs/Z4RwIY/wDvkUUASUUUUAFF
FFABWHrtm8c0eo26ktHxIqdSM+3WtykOADnp3oAzYb+3nZdsqMzKGCjksDnnHr7dquQuM55KjgHH
A/GsTSYUe9uLuK3WKMOQr5HI9vT6962I8FEG4DPYDHP+e1AEzZYfc+vOOfr/AFqFlKnPPPf/AOt/
T2qwCMcdPakYDOSCRQBCu4DJyeuAWPH1/wA8dKmJJAyoJ7g1DKQgG1S4PAO7p/8AW96EO3BAOP5/
5/WgCWSKNgSyLzwSR2qjPbWoIzBHtOBkpwQOn0x+tXlIdSADzznHBqCdd+Q3AGBjHA/x/pQBUiSG
EjZCqljuZgnOT7evqvbrV6CQFOAq5/u849/ce9Z37xHwTkDjJOM+xPYj+9/F0qW3YrtYHK567Tx7
47D/AGe3WgCxNACWK7tx44JXdx69j/tVQwQuQCoJ4wpGTjrt/wDZO/WtQMWGcZQdef8APFQ3EKJG
zSzFEU5LHOQPXPY+9AFS8u2tLJ3RD5zHyk2kn5j6H+L+nSrul2gsrCKDqwGWPqx5NULCJtSvFvmG
y0iyLeMjqc/eraoAKKKKACiiigAooooAzP7JkAONRu8n1kOKQ6TMUx/aV3k9/M6VqUUAZn9lzgDb
qN1nuS+aYmlXag51K4OT/eNa1FAGW+m3hXC6jKD6k1R1aK6sbHeb+R9x2kE+v9K6KsbxPFI9ikif
dicM3sPWgCaztBbWMURYvgDLPk4/D09B2q1jJAK/N/L8fX3+tOjnSW2jlRtyOv3/AGppYgYAbp/e
79x9fegCZTgAD9B196ViOhOM8VBFISAxOR1yPT1+ntU24d+v54NADJOf3YwO+MYGPf29qz7jUrKB
yklyCeyqhJ/Tv6HtUmrXUlnYSTYDY+UK3v6+9RaDpaWtutxIA1xL8xb+6D2FAET65aruCpcSbsfd
QjH59/ep7bVbO7KxrIUmbjy36/59a1ayNe0pLq3aeGL/AEleQVwCfrQBJc2p3cYLHk7hlcehHcen
oTSW8RGPvlh8vXnOO57t6t0xxTdGvmvdPV5SBJEdrnqxxjn8asF1YEBOR8hA4IxztH+NAFqAbY1G
B/wEYH4DsKSdEaNlePzA/BU/xe1RRXKsAVOVIyOMceuPTtinyDdGONqjkrjv7+1AGAkl5pl0lpby
K1vPIBE8gJCeox25rTMOs5OLq1x2/dms3X1ljgWRQ4KTrsYEbs4/i9T6Y7V0UJJhQt1KjNAGf5Wt
bf8Aj5tSfTYaaU1wJkTWhb02mtWigDHI11MHdbOD1AGCKcW1zLfJb47c1rUUAZDXOsqCBZRsQeDv
GKK1jnHBxRQAtFFFABSdaWmuwRGduAoyaAHVFcJFLC8c20owwwNYFzql/fyKlgPJgdtolPX8euKi
bR4gpWSR92Nu5jzu77v9npjFABZajHpVzJYST+ZblsrJH1Q+nPatj5JY0eAxupUDcSNoGO/fb/Ws
/S76CzUWF/brbyAdWHDDtmrlx4fsZUIhQ275zvQnNADk8xSco2evJG7PHB/2/wBMVchLAD5eD2GP
zH9awUtmgfy7+4ntW6CaM/u5D2yT/F/QVfGiE4/4mF0R1HzCgA8RwvJpEnlx7ip3n/ZHUmrmmzRz
2EDxNuXYBn3HFY97pNhaoDdahOm7JGW5b9Kg07VriySISJusJHKxSNgFQDg9KAOpprqHRlPQjFCO
JEV1IKsMgjuKivLuKygaaZsKP1oA57SHgsNVvoJplRfuqW781qzIFjWVTHgADcT8u3nAP+z6e9ZV
3drqTx/bxJZ2zruhkUfePuasw6Bp88aSW91IexdW+9QBLEXVmGHJLY7bs7c8/wDTT36YrVjZpE5I
x/eXv9KoDRggZUvJ1QjCrkYX3+tUr21uYriK2tr2ea6YbhvPyxr03cUAO1ldur6ZH/CZPu9uo7Vv
dOBWGPC9uQwkuZnzzk46+tPbT9Xgb/R9RRo1xhZR298CgDZ9qWuftvEqiZor2NVYPt3R5KjsSc9q
3lZXUMpBVhkEdxQA6iiigBDRQfrRQAtFFFABVLWIjLps6jB+QnBPpV2uZ1wkairXdxNBHtOwou5R
/wDXoAhsIprazS+sGN0rjZPARzx6VbjvILoKDOg3HCxynDDGflbHYcY9TVO3eWx/0i0WWNusiTJt
SVezA9qs/wBp6TfxrHf24jfIyVHH1yO3NAFq8EDRKl3FuHcy/Ls6/eI6DsCO9VIbdrZJHtr+S2Qj
ISUDEXoHz0NWUsGcsLDVgUjyVjCq+3PYnPI+tIlrrCAeYILl1+6zsRj6jHP40ARfadUeDyriO1kD
Ehg7Y5P8H1xzVe20keT5ly7eaXx5Ik4x/wA8yc9T/Srq2uooSEs4NvQAzE4T0+uf4utKbbUXbJso
AMBMecc7O659c/xdaAIo9KsjECV83LEB2Y5kb+6fT04onjRIpVuHjUTLgeadokK4Az/d29Bjr3qQ
wakUcXd1DZxFdpdSDx6c9OO/Wsm7+ztCqWiSXEofY92wIUZPQDp+NAF7TdTubfSY2/dSKJPLLO5G
0Z4z7VT1G+e41NTcldkHBETZH+8PX1/CpTELZTJHbhLdQqXMEzlSxPG7HYc8VWkjE8Yt0jKp5jG2
ZBu3eq574oA0opVkKsyCaNv3g2AFmY9x/t/3l6AVDcWUDzuTCwLjI8lsk/QdN/qOgHNZtrPd2shS
E/Z2Z9pLAbQR7nofWtzy767Xd5VpcIRiTy5yAzDuCOhoAqNZ2YiDm2klBbaDFIxHT/ll/e/GlsXm
s7uV7W2hn3AKgjkJ+T/Zz1GevvU7TMR/pGjXIZvkk8rJG3H8PYc+n9aLe4AVjcWF/lh85WAruPrw
eB7CgCf+2LqT5oIYGTON7OQMd3/3R3NQXL3Vyx+1yr5JAIji5Rv9vd12Due1NMimUs1jfkk7mIt8
Zbs2PbpjoepouZnkZnisb0vjjdDtUuBwx9AMdOh70ASrHZy6e1sYgsS88feQn+M5/g759KXwy8sJ
msZMER/OjA8MD3HtTRbag0AUW8MSEh8s5BV+5PqMk8dKyoZXikvLyO8PnQkKG2g+YCcH5e2O1AHa
0VXsJTPZxSFi+5R8xXG7jrj3qxQA1/uNuGR6CihunHU+pooAdRRRQAVFc20V1C0M6B0btUtFAGIN
CuIZN9vqLgKCsayJuCg9uT/Sqj2OpxRjz4ILiCHJ8tQAXH4DtXTUUAcasT+WEj0+5tZs5WWPccj0
IqzDNd26DZeXoDDkNZ7iv5mupooA5aHVNWmDF5Y7eNTtdmjG4d8hT14pp1S6lleFNUDEECM+QFWT
3J7CuoaKNzlo1Y+pGab9mt8Y8iPHTGwUAcgFadQ13Lu82UIAZsmI5+9t7ipLmaKJ2juLwMTIqzRw
oNjoO4I6HFdWba3LbjBGW9dgzTRZ2owBbQ8f7AoA5lbi2imRo0in+8yPLcY+X+6wPfsM0ryxKkWd
QjFrNI0jJGBuhbqMd8ZrpPsFn/z6Qf8AfsUgsLIZItIBnr+7H+FAHJyyW88M7NKks3nfO7Hb5ik4
BUdj0zSCCK3LJ/aaoqt8whfIZPUY6tntXXfYLPr9kg/79igWFmMYtIBjpiMcUAcqNQa3lLQ6pNKw
fB3ISHHqMn14xU8ep6tIpfzXwRmMJbhw59PaulW0tlAC28SgdAEFSKqxpiNAAOgAxQBzEuo6su7y
3uJNpG3Npt38ck+mKsQyeIpYwyiIBv76hSPwroaKAObnsdZuyPtiRzIAcIsuznsePSrFt4eVpIpr
6UTMiBQioFAx6kda3KKAEACgKoAA4AHaloooAY5I77R60UEdsZxzzRQA+iiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACmx/6tfoKKKAHUUUUAFFFFADZP8AVt9DRRRQB//Z

------=_NextPart_000_0002_01C653FA.3CDF62C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://local.ptron/WindowOpen.js

//
// Proxomitron Anti-popup code
//

var PrxLC=3Dnew Date(0);
var PrxModAtr=3D0;
var PrxLd=3D1;
var PrxInst; if(!PrxInst++) PrxRealOpen=3Dwindow.open;

function PrxOMUp(){PrxLC=3Dnew Date();}
function PrxNW(){return(this.window);}=20
function PrxOpen(url,nam,atr){
 if(PrxLC){
  var cdt=3Dnew Date();
  cdt.setTime(cdt.getTime()-PrxLC.getTime());
  if(!PrxLd && cdt.getSeconds()<2){
    if(atr){ return(PrxRealOpen(url,nam,PrxWOA(atr))); }
    else{ return(PrxRealOpen(url,nam)); }
  }
 }
 return(new PrxNW());
}=20

function PrxWOA(atr){
  var =
xatr=3D"location=3Dyes,status=3Dyes,resizable=3Dyes,toolbar=3Dyes,scrollb=
ars=3Dyes";
  if(!PrxModAtr) return(atr);
  if(atr){
    var hm;
    hm=3Datr.match(/height\=3D[0-9]+/i);
    if(hm) xatr+=3D"," + hm;
    hm=3Datr.match(/width\=3D[0-9]+/i);
    if(hm) xatr+=3D"," + hm;
  }
  return(xatr);
}

function PrxRST(){
  if(document.layers){document.captureEvents(Event.MOUSEUP);}
  document.onmouseup=3DPrxOMUp;
  PrxLd=3D0;
}

window.open=3DPrxOpen;
submit=3DPrxOpen;
------=_NextPart_000_0002_01C653FA.3CDF62C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://local.ptron/akahukuplus.js

/*
 * akahuku plus for Opera (8.5 or later), InternetExplorer (6 or later) =
version 2.01, 2006-01-04
 */
if (typeof(Akahuku) =3D=3D 'undefined' &&
	(window.opera || !window.opera && document.all && document.compatMode =
&& document.compatMode =3D=3D 'CSS1Compat') &&
	(
		(document.location.href.match(/^file:\/\/.*UnMHT\//) && =
document.title.match(/\uFF20\u3075\u305F\u3070$/)) ||
		=
document.location.href.match(/^http:\/\/(cgi|dat|img|may|nov|orz|tmp|up|z=
ip)\.2chan\.net(:\d+)?\/[^\/]+\//) ||
		=
document.location.href.match(/^http:\/\/www\.2chan\.net(:\d+)?\/(h|oe)\//=
)
	)
)
{
	var Akahuku =3D {
		version : '2.01',
		allowUseCookie : true,

		// flags
		allowServerTitle : true,
		allowDelBanner : true,

		allowSageButton : true,
		allowExtendMailBox : true,
		allowCommentStatus : true,

		allowNumbering : true,
		allowBottomStatus : true,
		allowReplyNew : true,

		allowCuteFont : false,
		allowShowMail : true,
		allowAutoLink : true,
		allowAutoLinkF : true,
		allowAutoLinkS : true,
		allowAutoLinkFutalog : true,
		allowSorrowVipper : true,
		allowQuickQuote : true,
		allowInlineImage : true,

		allowCatalogFullClickable : false,

		// flags version 1.3 or later
		allowGoTopOnReload : false,

		// flags version 1.4 or later
		allowSubtitle : false,
		allowLimitReplyWidth : false,
		allowWidenReplyHeight : false,

		// flags version 1.5 or later
		allowHidePostForm : false,
		allowAlterThread : false,
		allowThreadNew : false,
		allowCatalogReorder : false,

		// flags version 1.7 or later
		allowMarkTextOnlyThread : false,
		allowHideTextOnlyThread : false,
		allowCatalogHilightVisited : false,
		allowPopupQuote : false,
		allowWindowNaming : false,

		// flags version 1.8 or later
		allowFloatPostForm : false,
		allowHideReplyPostForm : false,
		allowGoCurrentOnReply : false,
		allowMinimizePostForm : false,
		allowBackgroundReload : false,
		allowUseRangeHeader : false,
		allowRuleOnReply : false,
		allowRuleOnBackgroundReload : false,
		allowBackgroundPostReply : false,
		allowUseSJISEncoder : false,
		allowBackgroundLoadThreadInfo : false,
		allowBackgroundLoadCatalog : false,
		allowReplyNumberDelta : false,

		// flags version 1.9 or later
		allowDispThreadInfoOnTitle : false,
		allowDispThreadInfoOnForm : false,
		allowControlCommentHeight : false,
		allowDelTextAd : false,
		allowFloatThumbnail : false,
		allowFloatThumbnailAlpha : false,

		// numbers
		numberFloatFormPosition : 0,
		numberFloatFormOffsetX : 0,
		numberFloatFormOffsetY : 0,
		numberThreadInfoLoadInterval : 0,
		numberVipperMode : 0,
		numberReplyNumberMax : 0,

		// cookie handling methods
		getConfigurationObject : function ()
		{
			return new (function ()
			{
				this.target =3D Akahuku;
				this.apply =3D function ()
				{
					for (var name in this)
						if (name.match(/^(allow|number)/))
							this.target[name] =3D this[name];
					return this;
				};
				this.toString =3D function ()
				{
					var numbers =3D new Array();
					var flags =3D new Array();
					var flagindex =3D 0;
					var shiftfactor =3D 0;

					flags[flagindex] =3D 0;

					for (var name in this)
					{
						if (name.match(/^allow/))
						{
							flags[flagindex] |=3D this[name] ? (1 << shiftfactor) : 0;
							if (++shiftfactor >=3D 31)
							{
								shiftfactor =3D 0;
								flags[++flagindex] =3D 0;
							}
						}
						else if (name.match(/^number/))
						{
							numbers.push(this[name]);
						}
					}

					numbers.unshift(flags.join(','));
					return numbers.join(':');
				};
				this.setString =3D function (config)
				{
					var configvalues =3D config.split(':');
					var flags =3D configvalues[0].split(',');
					var flagbits =3D parseInt(flags[0]);
					var flagindex =3D 0;
					var numberindex =3D 0;
					var shiftfactor =3D 0;

					for (var name in this)
					{
						if (name.match(/^allow/))
						{
							this[name] =3D !!(flagbits & (1 << shiftfactor));
							if (++shiftfactor >=3D 31)
							{
								shiftfactor =3D 0;
								flagbits =3D parseInt(flags[++flagindex]);
							}
						}
						else if (name.match(/^number/))
						{
							this[name] =3D parseInt('0' + configvalues[++numberindex], 10);
						}
					}
					return this;
				};

				for (var name in this.target)
					if (name.match(/^(allow|number)/) && name !=3D 'allowUseCookie')
						this[name] =3D this.target[name];
			});
		},
		getConfigurationFromCookie : function ()
		{
			function getCookieValue ()
			{
				var re =3D document.cookie.match(/akahukusettings=3D([^;]+)/);
				return (re && re[1]) ? unescape(re[1]) : '';
			}
			if (Akahuku.allowUseCookie && Akahuku.isOnline)
				=
Akahuku.getConfigurationObject().setString(getCookieValue()).apply();
		},
		setConfigurationToCookie : function (configurations)
		{
			function setCookieValue (value)
			{
				document.cookie =3D
					'akahukusettings=3D' + escape(value) +
					';path=3D' + location.pathname.match(/\/[^/]+\//)[0] +
					';expires=3DTue, 1-Jan-2030 00:00:00 GMT;';
			}
			if (Akahuku.allowUseCookie && Akahuku.isOnline)
				setCookieValue(configurations.toString());
		},
		deleteConfiguration : function ()
		{
			if (Akahuku.allowUseCookie && Akahuku.isOnline)
			{
				var d =3D new Date();
				d.setYear(d.getYear() - 1);
				document.cookie =3D
					'akahukusettings=3D0' +
					';expires=3D' + d.toGMTString() + ';'
			}
		},
		setCurrentReplyToCookie : function ()
		{
			if (Akahuku.allowGoCurrentOnReply && Akahuku.allowUseCookie && =
Akahuku.isReply)
			{
				var node =3D Akahuku.getLastReply();
				if (node)
				{
					document.cookie =3D
						'akahukulasttop=3D' + escape(node.name) +
						';path=3D' + location.pathname.match(/\/[^/]+\//)[0] +
						';';
				}
			}
		},

		// location informations
		isOnline : false,
		isNijiura : false,
		isTraditionalNijiura : false,
		isNormal : false,
		isCatalog : false,
		isReply : false,
		isMht : false,
		normalPageNumber : 0,
		nijiuraServer : '',
		initializeLocationInfo : function ()
		{
			if (location.href.match(/^http:/))
				Akahuku.isOnline =3D true;

			if =
(location.href.match(/^http:\/\/(dat|img|may|nov)\.2chan\.net(:\d+)?\/b\/=
/))
			{
				Akahuku.isNijiura =3D true;
				Akahuku.nijiuraServer =3D RegExp.$1;
				if =
(location.href.match(/^http:\/\/(dat|img)\.2chan\.net(:\d+)?\/b\//))
					Akahuku.isTraditionalNijiura =3D true;
			}

			if =
(location.href.match(/^http:\/\/[^\/]+\/[^\/]+\/((futaba|\d+)\.htm)?([#\?=
].*)?$/))
			{
				Akahuku.isNormal =3D true;
				Akahuku.normalPageNumber =3D parseInt(RegExp.$1) ? =
parseInt(RegExp.$1) : 0;
			}
			else if =
(location.href.match(/^http:\/\/[^\/]+\/[^\/]+\/futaba\.php\?mode=3Dcat/)=
)
				Akahuku.isCatalog =3D true;
			else if =
(location.href.match(/^http:\/\/[^\/]+\/[^\/]+\/res\/(\d+)\.html?([#\?].*=
)?$/) ||
					 =
location.href.match(/^http:\/\/[^\/]+\/[^\/]+\/futaba\.php\?res=3D\d+([#\=
?].*)?$/))
				Akahuku.isReply =3D true;
			else if (document.location.href.match(/^file:\/\/.*UnMHT\//))
			{
				Akahuku.isMht =3D true;
				Akahuku.isReply =3D true;
			}
		},

		// event handling methods
		onloadManager : new DOMWatcherClass(function ()
		{
			return true;
		}),
		pageManager : new DOMWatcherClass(function ()
		{
			for (var nodes =3D document.getElementsByTagName('a'), i =3D =
nodes.length - 1; i >=3D 0 && i >=3D nodes.length - 4; i--)
				if (nodes[i].href =3D=3D 'http://www.2chan.net/' && =
nodes[i].innerHTML =3D=3D 'futaba') return true;
			return false;
		}),
		postFormManager : new DOMWatcherClass(function ()
		{
			for (var i =3D 0, nodes =3D document.getElementsByTagName('form'); i =
< nodes.length; i++)
				if (nodes[i].action.match(/futaba\.php$/) &&
					nodes[i].method.match(/post/i) &&
					nodes[i].enctype.match(/multipart\/form-data/i)) return true;
			return false;
		}),
		emulateOnloadEvent : function ()
		{
			;// backward compatibility: do nothing
		},

		// hookable methods
		doQuote : function (selection, addQuotePrefix, focusTextArea)
		{
			function addPrefix (txt)
			{
				if (addQuotePrefix && txt.match(/^[^>]|\r\n[^>]/))
				{
					var ary =3D txt.split('\r\n');
					for (var i =3D 0; i < ary.length; i++)
					{
						ary[i] =3D '>' + ary[i].replace(/^(.+)\s*/, '$1');	// change =
prefix if you want
					}
					return ary.join('\r\n');
				}
				else
					return txt;
			}
			var target =3D document.getElementsByTagName('textarea')[0];
			if (!target)
				return;

			if (!selection)
				selection =3D Akahuku.getSelection();

			Akahuku.ensureDispPostForm();

			if (parseInt(target.rows) =3D=3D 4)
				target.rows =3D '8';

			var s =3D addPrefix(selection);
			if (target.value =3D=3D '')
				target.value =3D s.replace(/\r\n$/, '');
			else
				target.value =3D target.value.replace(/\r\n$/, '') + '\r\n' + s;

			target.value +=3D '\r\n';

			if (focusTextArea)
			{
				if (target.setSelectionRange)
					target.setSelectionRange(target.value.length, target.value.length);
				else
					with (target.createTextRange())
					{
						collapse(false);
						select();
					}
				target.focus();

				if (!document.getElementById('akahuku_floatpostform_container'))
					window.scrollTo(0, 0);
			}
		},
		doQuoteToMailBox : function (selection, focusMailBox)
		{
			var target =3D document.getElementsByName('email')[0];
			if (!target)
				return;

			if (!selection)
				selection =3D Akahuku.getSelection();

			Akahuku.ensureDispPostForm();
			target.value +=3D selection.replace(/\r\n/, '');

			if (focusMailBox)
			{
				if (target.setSelectionRange)
					target.setSelectionRange(target.value.length, target.value.length);
				else
					with (target.createTextRange())
					{
						collapse(false);
						select();
					}
				target.focus();

				if (!document.getElementById('akahuku_floatpostform_container'))
					window.scrollTo(0, 0);
			}
		},
		doSubmit : function (formElement, target)
		{
			var commentbox =3D document.getElementById('akahuku_commentbox');
			if (!commentbox)
				return;

			Akahuku.setCurrentReplyToCookie();
			formElement.target =3D target;

			var original =3D commentbox.value;
			try
			{
				Akahuku.doLockSubmitter();
				commentbox.value =3D Akahuku.getFixedURL(commentbox.value);
				formElement.submit();
			}
			finally
			{
				commentbox.value =3D original;
			}
		},
		submitterLockingTimerID : null,
		doLockSubmitter : function ()
		{
			var submitter =3D =
document.getElementById('akahuku_postform_submitter');
			if (submitter)
			{
				submitter.disabled =3D 'disabled';
				Akahuku.submitterLockingTimerID =3D =
setTimeout(Akahuku.doUnlockSubmitter, 1000 * 30);
			}
		},
		doUnlockSubmitter : function ()
		{
			var submitter =3D =
document.getElementById('akahuku_postform_submitter');
			if (submitter)
			{
				submitter.removeAttribute('disabled');
			}
			if (Akahuku.submitterLockingTimerID)
			{
				clearTimeout(Akahuku.submitterLockingTimerID);
				Akahuku.submitterLockingTimerID =3D null;
			}
		},
		doLink : function (anchor)
		{
			function getCompleteURL ()
			{
				if (anchor.innerText.match(/^[a-z]+:\/\//))
					return anchor.href.match(/^([a-z]+)/)[1] + =
anchor.innerText.match(/^[a-z]+(.*)/)[1];
				else
					return anchor.href;
			}
			if (window.opera)
			{
				window.open(
					'data:text/html;base64,' +
					base64encode('<html><head><meta http-equiv=3D"refresh" =
content=3D"0;url=3D' +
						getCompleteURL() +
						'"></head></html>'));
			}
			else
			{
				var w =3D window.open();
				w.document.open();
				w.document.write(
					'<html><head><meta http-equiv=3D"refresh" content=3D"0;url=3D' +
					getCompleteURL() +
					'"></head></html>');
				w.document.close();
			}
			return false;
		},
		doDisplayThreadDeleteTime : function (message)
		{
			if (Akahuku.isReply)
			{
				if (Akahuku.allowDispThreadInfoOnTitle)
				{
					document.title =3D document.title.replace(/ \([^)]*\)$/, '') + ' =
(\uFF5E' + message.match(/\d+:\d+/)[0] + ')';
				}
				if (Akahuku.allowDispThreadInfoOnForm)
				{
					var floatFormFooterContent =3D =
document.getElementById('akahuku_floatpostform_footer_content_1');
					if (floatFormFooterContent)
					{
						floatFormFooterContent.innerHTML =3D message;
					}
				}
			}
		},
		doDisplayThreadDeleteWarning : function (message)
		{
			if (Akahuku.isReply)
			{
				if (Akahuku.allowDispThreadInfoOnTitle)
				{
					document.title =3D '[\u53E4] ' + =
document.title.replace(/^\[[^\]]*\] /, '');
				}
				if (Akahuku.allowDispThreadInfoOnForm)
				{
					var floatFormFooterContent =3D =
document.getElementById('akahuku_floatpostform_footer_content_1');
					if (floatFormFooterContent)
					{
						floatFormFooterContent.style.color =3D 'red';
						floatFormFooterContent.style.fontWeight =3D 'bold';
					}
				}
			}
		},

		// misc methods
		ensureDispPostForm : function ()
		{
			var postform =3D document.getElementById('akahuku_postform');
			if (postform)
			{
				var anchor =3D document.getElementById('akahuku_postform_opener');
				if (anchor)
				{
					anchor.click();
					return;
				}
				if (Akahuku.allowFloatPostForm && window.AkahukuPostFormHandleWork =
&& postform.style.display !=3D 'block')
				{
					AkahukuPostFormHandleWork.handleFloatPostFormOpenerClick();
					return;
				}
			}
		},
		getSelection : function ()
		{
			return ((document.all && !window.opera) ?
				document.selection.createRange().text :
				=
document.getSelection().toString()).replace(/(\.(jpg|gif|png))\[(\u898B\u=
308B|\u9589\u3058\u308B)\]/ig, '$1');
		},
		getWindowName : function (url, defaultTarget)
		{
			var result =3D defaultTarget ? defaultTarget : '_blank';
			if (Akahuku.allowWindowNaming)
			{
				var re =3D =
url.match(/^http:\/\/([^.]+)\.2chan\.net(:\d+)?\/([^\/]+)\/(res\/(\d+)\.h=
tm|.*res=3D(\d+))/);
				if (re)
					result =3D re[1] + '_' + re[3] + '_' + (re[5] ? re[5] : re[6]);
			}
			return result;
		},
		getLastReply : function (needTableFlag)
		{
			function LastReplyInfoClass (table, td, input)
			{
				this.tableElement =3D table;
				this.tdElement =3D td;
				this.inputElement =3D input;
			}
			var nodes =3D document.getElementsByTagName('input');
			for (var i =3D nodes.length - 1; i >=3D 0; i--)
			{
				if (nodes[i].type.toLowerCase() =3D=3D 'checkbox' &&
					nodes[i].value =3D=3D 'delete' &&
					nodes[i].name.match(/^\d+$/))
				{
					if (needTableFlag)
					{
						var table =3D null;
						var td =3D null;
						for (var node =3D nodes[i].parentNode; node; node =3D =
node.parentNode)
						{
							if (node.nodeName.toLowerCase() =3D=3D 'td')
							{
								td =3D node;
							}
							if (node.nodeName.toLowerCase() =3D=3D 'table')
							{
								table =3D node;
								break;
							}
						}
						return new LastReplyInfoClass(table, td, nodes[i]);
					}
					return nodes[i];
				}
			}
			return null;
		},
		getElementFromPoint : function (pageX, pageY)
		{
			if (window.opera)
				// Opera's elementFromPoint needs page based coord
				return document.elementFromPoint(pageX, pageY);
			else
				// IE's elementFromPoint needs window client coord
				return document.elementFromPoint(
					pageX - document.documentElement.scrollLeft,
					pageY - document.documentElement.scrollTop);
		},
		getFixedURL : function (s)
		{
			return s.replace(
				/[a-z]+:\/\/[!#$%&'()*+,\-.\/0-9:;=3D?@A-Z\\_a-z~]+/g,
				function(){return arguments[0].replace(/&/g, '&amp;');});
		},
		getFixedStyle : function (position, baseDesc)
		{
			var leftDesc =3D '';
			var topDesc =3D '';

			if (!baseDesc)
				baseDesc =3D '';

			if (window.opera)
			{
				leftDesc =3D (position =3D=3D 0 || position =3D=3D 2) ? 'right:0' : =
'left:0';
				topDesc =3D (position =3D=3D 0 || position =3D=3D 1) ? 'bottom:0' : =
'top:0';
			}
			else
			{
				leftDesc =3D (position =3D=3D 0 || position =3D=3D 2) ?
					=
'left:expression(eval(document.documentElement.scrollLeft+document.docume=
ntElement.clientWidth-this.offsetWidth-0))' :
					'left:expression(eval(document.documentElement.scrollLeft+0))';
				topDesc =3D (position =3D=3D 0 || position =3D=3D 1) ?
					=
'top:expression(eval(document.documentElement.scrollTop+document.document=
Element.clientHeight-this.offsetHeight-0))' :
					'top:expression(eval(document.documentElement.scrollTop+0))';
			}
			return baseDesc +
				';' + leftDesc.replace('0', Akahuku.numberFloatFormOffsetX) +
				';' + topDesc.replace('0', Akahuku.numberFloatFormOffsetY);
		},


		// factory methods
		createNewReplyHeader : function ()
		{
			var div =3D document.createElement('div');
			div.id =3D 'akahuku_new_reply_header';
			div.style.fontSize =3D '9pt';
			div.style.borderTop =3D '1px solid #eeaa88';
			div.style.margin =3D '8px 0 8px 0';
			div.style.padding =3D '4px 0 4px 0';
			div.innerHTML =3D
				'\u3053\u3053\u304B\u3089<font =
id=3D"akahuku_new_reply_header_number"></font>\u7121\u8077\u7AE5\u8C9E' =
+
				'<font id=3D"akahuku_new_reply_header_status"></font>';
			return div;
		},
		createThreadStatus : function (number, threadStatus, threadAlert, id)
		{
			var div =3D document.createElement('div');
			div.style.clear =3D 'both';
			div.style.backgroundColor =3D '#ffffee';
			div.style.width =3D '100%';
			div.style.margin =3D '-1px';
			div.style.fontSize =3D '10pt';

			number =3D number + '\u30EC\u30B9';
			if (id)
			{
				div.id =3D 'akahuku_bottom_status';
				number =3D '<font id=3D"akahuku_bottom_status_number">' + number + =
'</font>';
				threadStatus =3D '<font id=3D"akahuku_bottom_status_text">' + =
threadStatus + '</font>';
				threadAlert =3D '<font id=3D"akahuku_bottom_status_alert" =
color=3D"#f00000">' + threadAlert + '</font>';
			}
			else
			{
				threadAlert =3D '<font color=3D"#f00000">' + threadAlert + =
'</font>';
			}

			var s =3D number;
			if (threadStatus !=3D '') s +=3D ' / ' + threadStatus;
			if (threadAlert !=3D '') s +=3D '<br/>' + threadAlert;
			div.innerHTML =3D s;

			return div;
		},
 		createHttpRequest : function ()
 		{
			try {if (window.XMLHttpRequest) return new XMLHttpRequest();} catch =
(e) {;}
			try {if (window.ActiveXObject) return new =
ActiveXObject('Microsoft.XMLHTTP');} catch (e) {;}
			try {if (window.ActiveXObject) return new =
ActiveXObject('Msxml2.XMLHTTP');} catch (e) {;}
			return null;
 		},
 		createStatusIndicator : function (id)
 		{
 			return function (message, permanent)
 			{
				var a =3D document.getElementById(id);
				if (a)
				{
					a.innerHTML =3D message;
					if (!permanent)
						setTimeout(function ()
						{
							var a =3D document.getElementById(id);
							if (a) a.innerHTML =3D '';
						},
						parseInt(1000 * 2));
				}
 			}
 		},

		// system handling methods
		errorLog : new Array(),
		log : function (message)
		{
			if (message instanceof Array)
				message =3D message.join('');

			if (window.opera)
				opera.postError(message);
			else
			{
				var anchor =3D document.getElementById('akahuku_debuglink');
				if (anchor)
				{
					anchor.style.color =3D 'red';
					anchor.style.fontWeight =3D 'bold';
				}
				Akahuku.errorLog.push(message);
				while (Akahuku.errorLog.length > 100)
					Akahuku.errorLog.shift();
			}
		},
		holdReference : function ()
		{
			if (document.body && (Akahuku.isNormal || Akahuku.isReply || =
Akahuku.isCatalog || Akahuku.isMht))
			{
				var div =3D document.createElement('div');
				div.style.clear =3D 'both';
				div.style.fontSize =3D '9pt';
				div.style.margin =3D '0 0 0.5em 0';
				div.id =3D 'akahuku_version_indicator';
				div.innerHTML =3D '[<a id=3D"akahuku_debuglink">akahuku plus ' + =
Akahuku.version + '</a>] ';
				document.body.appendChild(div);
			}
		}
	};

	/*
	 * DOM construction watcher
	 */
	function DOMWatcherClass (watchFunction, intervalMSecs, timeoutSecs)
	{
		var self =3D this;

		this.__watchIntervalMSecs =3D intervalMSecs ? parseInt(intervalMSecs) =
: 250;
		this.__watchTimeoutSecs =3D timeoutSecs ? parseInt(timeoutSecs) : 60;

		this.__eventHandlers =3D new Array();
		this.__domWatchTimer =3D 0;
		this.__domWatchCounter =3D 0;
		this.__watchTimeoutMSecs =3D parseInt(this.__watchTimeoutSecs * (1000 =
/ this.__watchIntervalMSeconds));
		this.__run =3D function ()
		{
			for (var i =3D 0; i < self.__eventHandlers.length; i++)
				try {self.__eventHandlers[i]();} catch (e) {Akahuku.log(e);}
		};
		this.addEventListener =3D function (handler)
		{
			this.__eventHandlers.push(handler);
		};
		this.emulateOnloadEvent =3D function ()
		{
			this.__domWatchTimer =3D setInterval(function ()
			{
				self.__domWatchCounter++;
				if (typeof(document.getElementsByTagName) !=3D 'undefined' &&
					(document.getElementsByTagName('body')[0] !=3D null || =
document.body !=3D null))
				{
					if (window.attachEvent)
						window.attachEvent('onload', self.__run);
					else if (document.addEventListener)
						document.addEventListener('load', self.__run, false);

					clearInterval(self.__domWatchTimer);
				}
				else if (self.__domWatchCounter >=3D self.__watchTimeoutMSecs)
					clearInterval(self.__domWatchTimer);
			},
			this.__watchIntervalMSecs);
		};
		this.startWatchDOM =3D function ()
		{
			this.__domWatchTimer =3D setInterval(function ()
			{
				self.__domWatchCounter++;
				if (typeof(document.getElementsByTagName) !=3D 'undefined' &&
					(document.getElementsByTagName('body')[0] !=3D null || =
document.body !=3D null) &&
					watchFunction())
				{
					self.__run();

					clearInterval(self.__domWatchTimer);
				}
				else if (self.__domWatchCounter >=3D self.__watchTimeoutMSecs)
					clearInterval(self.__domWatchTimer);
			},
			this.__watchIntervalMSecs);
		};
	}

	/*
	 * event object wrapper
	 */
	function EventWrapperClass (e)
	{
		this.nativeEvent =3D (document.all && !window.opera) ? window.event : =
e;
		this.target =3D (document.all && !window.opera) ? =
window.event.srcElement : e.target;
		this.leftPress =3D (document.all && !window.opera) ? =
window.event.button =3D=3D 1 : e.button =3D=3D 0;
		this.pageX =3D (document.all && !window.opera) ? =
document.documentElement.scrollLeft + window.event.clientX : e.pageX;
		this.pageY =3D (document.all && !window.opera) ? =
document.documentElement.scrollTop + window.event.clientY : e.pageY;
		this.keyCode =3D (document.all && !window.opera) ? =
window.event.keyCode : e.keyCode;
		this.preventDefault =3D function ()
		{
			if (document.all && !window.opera)
				this.nativeEvent.returnValue =3D false;
			else
				this.nativeEvent.preventDefault();
		}
	}

	/*
	 * style object wrapper
	 */
	function StyleWrapperClass ()
	{
		this.rules =3D new Array();
		this.addRule =3D function (selector, value)
		{
			this.rules[selector] =3D value;
			return this;
		};
		this.apply =3D function ()
		{
			if (window.opera)
			{
				var header =3D document.getElementsByTagName('head')[0];
				if (header)
				{
					var s =3D '';
					for (var selector in this.rules)
						s +=3D selector + '{' + this.rules[selector] + '}';
					if (s !=3D '')
					{
						var style =3D document.createElement('style');
						// Opera 8.x does not support CSS/CSS2 module.
						// we use innerHTML instead of insertRule (mortifying...but...)
						style.innerHTML =3D s;
						header.appendChild(style);
					}
				}
			}
			else if (document.styleSheets && document.styleSheets.length > 0)
			{
				for (var selector in this.rules)
					document.styleSheets(0).addRule(selector, this.rules[selector]);
			}
		};
	}

	/*
	 * XMLHttpRequest::readyState utility
	 */
	function HttpRequestReadyStateClass (status)
	{
		this.status =3D status;
		this.toString =3D function ()
		{
			return this.statusArray[this.status];
		};
	}
	HttpRequestReadyStateClass.prototype.statusArray =3D ['uninitialized', =
'loading', 'loaded', 'interactive', 'completed'];

	/*
	 * base64 encoder
	 * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>
	 */
	base64EncodeChars =3D =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	base64encode =3D function (str)
	{
		var out, i, len;
		var c1, c2, c3;

		len =3D str.length;
		i =3D 0;
		out =3D "";
		while(i < len)
		{
			c1 =3D str.charCodeAt(i++) & 0xff;
			if(i =3D=3D len)
			{
				out +=3D base64EncodeChars.charAt(c1 >> 2);
				out +=3D base64EncodeChars.charAt((c1 & 0x3) << 4);
				out +=3D "=3D=3D";
				break;
			}
			c2 =3D str.charCodeAt(i++);
			if(i =3D=3D len)
			{
				out +=3D base64EncodeChars.charAt(c1 >> 2);
				out +=3D base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> =
4));
				out +=3D base64EncodeChars.charAt((c2 & 0xF) << 2);
				out +=3D "=3D";
				break;
			}
			c3 =3D str.charCodeAt(i++);
			out +=3D base64EncodeChars.charAt(c1 >> 2);
			out +=3D base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> =
4));
			out +=3D base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) =
>>6));
			out +=3D base64EncodeChars.charAt(c3 & 0x3F);
		}
		return out;
	}

	/*
	 * Shift_JIS <-> UTF-16 converter class
	 */
	CharsetConverterClass =3D function ()
	{
		var self =3D this;

		// Escape Codec Library: ecl.js (Ver.041208)
		// Copyright (C) http://nurucom-archives.hp.infoseek.co.jp/digital/
		this.JCT11280 =3D Function(
				'var =
a=3D"zKV33~jZ4zN=3D~ji36XazM93y!{~k2y!o~k0ZlW6zN?3Wz3W?{EKzK[33[`y|;-~j^Y=
OTz$!~kNy|L1$353~jV3zKk3~k-4P4zK_2+~jY4y!xYHR~jlz$_~jk4z$e3X5He<0y!wy|X3[=
:~l|VU[F3VZ056Hy!nz/m1XD61+1XY1E1=3D1y|bzKiz!H034zKj~mEz#c5ZA3-3X$1~mBz$$=
3~lyz#,4YN5~mEz#{ZKZ3V%7Y}!J3X-YEX_J(3~mAz =
=3DV;kE0/y|F3y!}~m>z/U~mI~j_2+~mA~jp2;~m@~k32;~m>V}2u~mEX#2x~mBy+x2242(~m=
By,;2242(~may->2&XkG2;~mIy-_2&NXd2;~mGz,{4<6:.:B*B:XC4>6:.>B*BBXSA+A:X]E&=
E<~r#z+625z s2+zN=3D`HXI@YMXIAXZYUM8X4K/:Q!Z&33 3YWX[~mB`{zKt4z (zV/z =
3zRw2%Wd39]S11z$PAXH5Xb;ZQWU1ZgWP%3~o@{Dgl#gd}T){Uo{y5_d{e@}C(} =
WU9|cB{w}bzvV|)[} H|zT}d||0~{]Q|(l{|x{iv{dw}(5}[Z|kuZ =
}cq{{y|ij}.I{idbof%cu^d}Rj^y|-M{ESYGYfYsZslS`?ZdYO__gLYRZ&fvb4oKfhSf^d<Ye=
asc1f&a=3DhnYG{QY{D`Bsa|u,}Dl|_Q{C%xK|Aq}C>|c#ryW=3D}eY{L+`)][YF_Ub^h4}[X=
|?r|u_ex}TL@YR]j{SrXgo*|Gv|rK}B#mu{R1}hs|dP{C7|^Qt3|@P{YVV =
|8&}#D}ef{e/{Rl|>Hni}R1{Z#{D[}CQlQ||E}[s{SG_+i8eplY[=3D[|ec[$YXn#`hcm}YR|=
{Ci(_[ql|?8p3]-}^t{wy}4la&pc|3e{Rp{LqiJ],] =
`kc(]@chYnrM`O^,ZLYhZB]ywyfGY~aex!_Qww{a!|)*lHrM{N+n&YYj~Z b =
c#e_[hZSon|rOt`}hBXa^i{lh|<0||r{KJ{kni)|x,|0auY{D!^Sce{w;|@S|cA}Xn{C1h${E=
]Z-XgZ*XPbp]^_qbH^e[`YM|a||+=3D]!Lc}]vdBc=3Dj-YSZD]YmyYLYKZ9Z>Xcczc2{Yh}9=
Fc#Z.l{}(D{G{{mRhC|L3b#|xK[Bepj#ut`H[,{E9Yr}1b{[e]{ZFk7[ZYbZ0XL]}Ye[(`d}c=
!|*y`Dg=3Db;gR]Hm=3DhJho}R-[n}9;{N![7k_{UbmN]rf#pTe[x8}!Qcs_rs[m`|>N}^V})=
7{^r|/E}),}HH{OYe2{Skx)e<_.cj.cjoMhc^d}0uYZd!^J_@g,[[[?{i@][|3S}Yl3|!1|eZ=
|5IYw|1D}e7|Cv{OHbnx-`wvb[6[4} =
=3Dg+k:{C:}ed{S]|2M]-}WZ|/q{LF|dYu^}Gs^c{Z=3D}h>|/i|{W]:|ip{N:|zt|S<{DH[p=
_tvD{N<[8Axo{X4a.^o^X>Yfa59`#ZBYgY~_t^9`jZHZn`>G[oajZ;X,i)Z.^~YJe =
ZiZF^{][[#Zt^|]Fjx]&_5dddW]P0C[-]}]d|y {C_jUql] =
|OpaA[Z{lp|rz}:Mu#]_Yf6{Ep?f5`$[6^D][^u[$[6^.Z8]]ePc2U/=3D]K^_+^M{q*|9tYu=
Z,s(dS{i=3D|bNbB{uG}0jZOa:[-]dYtu3]:]<{DJ_SZIqr_`l=3DYt`gkTnXb3d@kiq0a`Z{=
|!B|}e}Ww{Sp,^Z|0>_Z}36|]A|-t}lt{R6pi|v8hPu#{C>YOZHYmg/Z4nicK[}hF_Bg|YRZ7=
c|crkzYZY}_iXcZ.|)U|L5{R~qi^Uga@Y[xb}&qdbd6h5|Btw[}c<{Ds53[Y7]?Z<|e0{L[ZK=
]mXKZ#Z2^tavf0`PE[OSOaP`4gi`qjdYMgys/?[nc,}EEb,eL]g[n{E_b/vcvgb.{kcwi`~v%=
|0:|iK{Jh_vf5lb}KL|(oi=3DLrzhhY_^@`zgf[~g)[J_0fk_V{T)}I_{D&_/d9W/|MU[)f$x=
W}?$xr4<{Lb{y4}&u{XJ|cm{Iu{jQ}CMkD{CX|7A}G~{kt)nB|d5|<-}WJ}@||d@|Iy}Ts|iL=
|/^|no|0;}L6{Pm]7}$zf:|r2}?C_k{R(}-w|`G{Gy[g]bVje=3D_0|PT{^Y^yjtT[[[l!Ye_=
`ZN]@[n_)j3nEgMa]YtYpZy].d-Y_cjb~Y~[nc~sCi3|zg}B0}do{O^{|$`_|D{}U&|0+{J3|=
8*]iayx{a{xJ_9|,c{Ee]QXlYb]$[%YMc*]w[aafe]aVYi[fZEii[xq2YQZHg]Y~h#|Y:thre=
^@^|_F^CbTbG_1^qf7{L-`VFx =
Zr|@EZ;gkZ@slgko`[e}T:{Cu^pddZ_`yav^Ea+[#ZBbSbO`elQfLui}.F|txYcbQ`XehcGe~=
fc^RlV{D_0ZAej[l&jShxG[ipB_=3Du:eU}3e8[=3Dj|{D(}dO{Do[BYUZ0/]AYE]ALYhZcYl=
YP/^-^{Yt_1_-;YT`P4BZG=3DIOZ&]H[e]YYd[9^F[1YdZxZ?Z{Z<]Ba2[5Yb[0Z4l?]d_;_)=
a?YGEYiYv`_XmZs4ZjY^Zb]6gqGaX^9Y}dXZr[g|]Y}K =
aFZp^k^F]M`^{O1Ys]ZCgCv4|E>}8eb7}l`{L5[Z_faQ|c2}Fj}hw^#|Ng|B||w2|Sh{v+[G}=
aB|MY}A{|8o}X~{E8paZ:]i^Njq]new)`-Z>haounWhN}c#{DfZ|fK]KqGZ=3D:u|fqoqcv}2=
ssm}.r{]{nIfV{JW)[K|,Z{Uxc|]l_KdCb%]cfobya3`p}G^|LZiSC]U|(X|kBlVg[kNo({O:=
g:|-N|qT}9?{MBiL}Sq{`P|3a|u.{Uaq:{_o|^S}jX{Fob0`;|#y_@[V[K|cw[<_ =
}KU|0F}d3|et{Q7{LuZttsmf^kYZ`Af`}$x}U`|Ww}d]| =
>}K,r&|XI|*e{C/a-bmr1fId4[;b>tQ_:]hk{b-pMge]gfpo.|(w[jgV{EC1Z,YhaY^q,_G[c=
_g[J0YX]`[h^hYK^_Yib,` =
{i6vf@YM^hdOKZZn(jgZ>bzSDc^Z%[[o9[2=3D/YHZ(_/Gu_`*|8z{DUZxYt^vuvZjhi^lc&g=
Ud4|<UiA`z]$b/Z?l}YI^jaHxe|;F}l${sQ}5g}hA|e4}?o{ih}Uz{C)jPe4]H^J[Eg[|AMZM=
lc}:,{iz}#*|gc{Iq|/:|zK{l&}#u|myd{{M&v~nV};L|(g|I]ogddb0xsd7^V})$uQ{Hzazs=
gxtsO^l}F>ZB]r|{7{j@cU^{{CbiYoHlng]f+nQ[bkTn/}<-d9q =
{KXadZYo+n|l[|lc}V2{[a{S4Zam~Za^`{HH{xx_SvF|ak=3Dc^[v^7_rYT`ld@]:_ub%[$[m=
](Shu}G2{E.ZU_L_R{tz`vj(f?^}hswz}GdZ}{S:h`aD|?W|`dgG|if{a8|J1{N,}-Ao3{H#{=
mfsP|[ =
bzn+}_Q{MT{u4kHcj_q`eZj[8o0jy{p7}C|[}l){MuYY{|Ff!Ykn3{rT|m,^R|,R}$~Ykgx{P=
!]>iXh6[l[/}Jgcg{JYZ.^qYfYIZl[gZ#Xj[Pc7YyZD^+Yt;4;`e8YyZVbQ7YzZxXja.7SYl[=
s]2^/Ha$[6ZGYrb%XiYdf2]H]kZkZ*ZQ[ZYS^HZXcCc%Z|[(bVZ]]:OJQ_DZCg<[,]%Zaa =
[g{C00HY[c%[ChyZ,Z_`PbXa+eh`^&jPi0a[ggvhlekL]w{Yp^v}[e{~;k%a&k^|nR_z_Qng}=
[E}*Wq:{k^{FJZpXRhmh3^p>de^=3D_7`|ZbaAZtdhZ?n4ZL]u`9ZNc3g%[6b=3De.ZVfC[ZZ=
^^^hD{E(9c(kyZ=3Dbb|Sq{k`|vmr>izlH[u|e`}49}Y%}FT{[z{Rk}Bz{TCc/lMiAqkf(m$h=
Dc;qooi[}^o:c^|Qm}a_{mrZ(pA`,}<2sY| =
adf_%|}`}Y5U;}/4|D>|$X{jw{C<|F.hK|*A{MRZ8Zsm?imZm_?brYWZrYx`yVZc3a@f?aK^o=
jEd {bN}/3ZH]/$YZhm^&j 9|(S|b]mF}UI{q&aM]LcrZ5^.|[j`T_V_Gak}9J[ =
ZCZD|^h{N9{~&[6Zd{}B}2O|cv]K}3s}Uy|l,fihW{EG`j_QOp~Z$F^zexS`dcISfhZBXP|.v=
n|_HYQ|)9|cr]<`&Z6]m_(ZhPcSg>`Z]5`~1`0Xcb4k1{O!bz|CN_T{LR|a/gFcD|j<{Z._[f=
)mPc:1`WtIaT1cgYkZOaVZOYFrEe[}T$}Ch}mk{K-^@]fH{Hdi`c*Z&|Kt{if[C{Q;{xYB`dY=
IX:ZB[}]*[{{p9|4GYRh2ao{DS|V+[zd$`F[ZXKadb*A] =
Ys]Maif~a/Z2bmclb8{Jro_rz|x9cHojbZ{GzZx_)]:{wAayeDlx}<=3D`g{H1{l#}9i|)=3D=
|lP{Qq}.({La|!Y{i2EZfp=3Dc*}Cc{EDvVB|;g}2t{W4av^Bn=3D]ri,|y?|3+}T*ckZ*{Ff=
r5e%|sB{lx^0]eZb]9[SgAjS_D|uHZx]dive[c.YPkcq/}db{EQh&hQ|eg}G!ljil|BO]X{Qr=
_GkGl~YiYWu=3Dc3eb}29v3|D|}4i||.{Mv})V{SP1{FX}CZW6{cm|vO{pS|e#}A~|1i}81|M=
w}es|5[}3w{C`h9aL]o{}p[G`>i%a1Z@`Ln2bD[$_h`}ZOjhdTrH{[j_:k~kv[Sdu]CtL}41{=
I =
|[[{]Zp$]XjxjHt_eThoa#h>sSt8|gK|TVi[Y{t=3D}Bs|b7Zpr%{gt|Yo{CS[/{iteva|cf^=
hgn}($_c^wmb^Wm+|55jrbF|{9^ =
q6{C&c+ZKdJkq_xOYqZYSYXYl`8]-cxZAq/b%b*_Vsa[/Ybjac/OaGZ4fza|a)gY{P?| I|Y =
|,pi1n7}9bm9ad|=3Dd{aV|2@[(}B`d&|Uz}B}{`q|/H|!JkM{FU|CB|.{}Az}#P|lk}K{|2r=
k7{^8^?`/|k>|Ka{Sq}Gz}io{DxZh[yK_#}9<{TRdgc]`~Z>JYmYJ]|`!ZKZ]gUcx|^E[rZCd=
`f9oQ[NcD_$ZlZ;Zr}mX|=3D!|$6ZPZYtIo%fj}CpcN|B,{VDw~gb}@hZg`Q{LcmA[(bo`<|@=
$|o1|Ss}9Z_}tC|G`{F/|9nd}i=3D}V-{L8aaeST]daRbujh^xlpq8|}zs4bj[S`J|]?G{P#{=
rD{]I`OlH{Hm]VYuSYUbRc*6[j`8]pZ[bt_/^Jc*[<Z?YE|Xb|?_Z^Vcas]h{t9|Uwd)_(=3D=
0^6Zb{Nc} =
E[qZAeX[a]P^|_J>e8`W^j_Y}R{{Jp__]Ee#e:iWb9q_wKbujrbR}CY`,{mJ}gz{Q^{t~N|? =
gSga`V_||:#mi}3t|/I`X{N*|ct|2g{km}gi|{=3D{jC}F;|E}{ZZjYf*frmu}8Tdroi{T[|+=
~}HG{cJ}DM{Lp{Ctd&}$hi3|FZ| =
m}Kr|38}^c|m_|Tr{Qv|36}?Up>|;S{DV{k_as}BK{P}}9p|t`jR{sAm4{D=3Db4pWa[}Xi{E=
jwEkI}3S|E?u=3DX0{jf} =
S|NM|JC{qo^3cm]-|JUx/{Cj{s>{Crt[UXuv|D~|j|d{YXZR}Aq}0r}(_{pJfi_z}0b|-vi)Z=
 mFe,{f4|q`b{}^Z{HM{rbeHZ|^x_o|XM|L%|uFXm}@C_{{Hhp%a7|0p[Xp+^K}9U{bP}: =
tT}B|}+$|b2|[^|~h{FAby[`{}xgygrt~h1[li`c4vz|,7p~b(|mviN}^pg[{N/|g3|^0c,gE=
|f%|7N{q[|tc|TKA{LU}I@|AZp(}G-sz{F =
|qZ{}F|f-}RGn6{Z]_5})B}UJ{FFb2]4ZI@v=3Dk,]t_Dg5Bj]Z-]L]vrpdvdGlk|gF}G]|IW=
}Y0[G| =
/bo|Te^,_B}#n^^{QHYI[?hxg{[`]D^IYRYTb&kJ[cri[g_9]Ud~^_]<p@_e_XdNm-^/|5)|h=
_{J;{kacVopf!q;asqd}n)|.m|bf{QW|U)}b+{tL|w``N|to{t ZO|T]jF}CB|0Q{e5Zw|k =
|We}5:{HO{tPwf_uajjBfX}-V_C_{{r~gg|Ude;s+}KNXH}! =
`K}eW{Upwbk%ogaW}9EYN}YY|&v|SL{C3[5s.]Y]I]u{M6{pYZ`^,`ZbCYR[1mNg>rsk0Ym[j=
rE]RYiZTr*YJ{Ge|%-lf|y(`=3D[t}E6{k!|3)}Zk} =
][G{E~cF{u3U.rJ|a9p#o#ZE|?|{sYc#vv{E=3D|LC}cu{N8`/`3`9rt[4|He{cq|iSYxY`}V=
 =
|(Q|t4{C?]k_Vlvk)BZ^r<{CL}#h}R+[<|i=3D}X|{KAo]|W<`K{NW|Zx}#;|fe{IMr<|K~tJ=
_x}AyLZ?{GvbLnRgN}X&{H7|x~}Jm{]-| =
GpNu0}.ok>|c4{PYisrDZ|fwh9|hfo@{H~XSbO]Odv]%`N]b1Y]]|eIZ}_-ZA]aj,>eFn+j[a=
Q_+]h[J_m_g]%_wf.`%k1e#Z?{CvYu_B^|gk`Xfh^M3`afGZ-Z|[m{L}|k3cp[it =
^>YUi~d>{T*}YJ{Q5{Jxa$hg|%4`}|LAgvb =
}G}{P=3D|<;Ux{_skR{cV|-*|s-{Mp|XP|$G|_J}c6cM{_=3D_D|*9^$ec{V;|4S{qO|w_|.7=
}d0|/D}e}|0G{Dq]Kdp{}dfDi>}B%{Gd|nl}lf{C-{y}|ANZr}#=3D{T~|-(}c&{pI|ft{lsV=
P}){|@u}!W|bcmB{d?|iW|:dxj{PSkO|Hl]Li:}VYk@|2=3D{fnWt{M3`cZ6|)}|Xj}BYa?vo=
{e4|L7|B7{L7|1W|lvYO}W8nJ|$Vih|{T{d*_1|:-n2dblk``fT{Ky|-%}m!|Xy|-a{Pz}[l{=
kFjz|iH}9N{WE{x,|jz}R =
{P|{D)c=3DnX|Kq|si}Ge{sh|[X{RF{t`|jsr*fYf,rK|/9}$}}Nf{y!1|<Std}4Wez{W${Fd=
_/^O[ooqaw_z[L`Nbv[;l7V[ii3_PeM}.h^viqYjZ*j1}+3{bt{DR[;UG}3Og,rS{JO{qw{d<=
_zbAh<R[1_r`iZTbv^^a}c{iEgQZ<exZFg.^Rb+`Uj{a+{z<[~r!]`[[|rZYR|?F|qppp]L|-=
d|}K}YZUM|=3DY|ktm*}F]{D;g{uI|7kg^}%?Z%ca{N[_<q4xC]i|PqZC]n}.bDrnh0Wq{tr|=
OMn6tM|!6|T`{O`|>!]ji+]_bTeU}Tq|ds}n|{Gm{z,f)}&s{DPYJ`%{CGd5v4tvb*hUh~bf]=
z`jajiFqAii]bfy^U{Or|m+{I)cS|.9k:e3`^|xN}@Dnlis`B|Qo{`W|>||kA}Y}{ERYuYx`%=
[exd`]|OyiHtb}HofUYbFo![5|+]gD{NIZR|Go}.T{rh^4]S|C9_}xO^i`vfQ}C)bK{TL}cQ|=
79iu}9a];sj{P.o!f[Y]pM``Jda^Wc9ZarteBZClxtM{LW}l9|a.mU}KX}4@{I+f1}37|8u}9=
c|v${xGlz}jP{Dd1}e:}31}%3X$|22i<v+r@~mf{sN{C67G97855F4YL5}8f{DT|xy{sO{DXB=
334@55J1)4.G9A#JDYtXTYM4, =
YQD9;XbXm9SX]IB^4UN=3DXn<5(;(F3YW@XkH-X_VM[DYM:5XP!T&Y`6|,^{IS-*D.H>:LXjY=
Q0I3XhAF:9:(=3D=3D.F*3F1189K/7163D,:@|e2{LS36D4hq{Lw/84443@4.933:0307::6D=
7}&l{Mx657;89;,K5678H&93D(H<&<>0B90X^I;}Ag1{P%3A+>><975}[S{PZE453?4|T2{Q+=
5187;>447:81{C=3DhL6{Me^:=3D7ii{R=3D.=3DF<81;48?|h8}Uh{SE|,VxL{ST,7?9Y_5X=
k3A#:$%YSYdXeKXOD8+TXh7(@>(YdXYHXl9J6X_5IXaL0N?3YK7Xh!1?XgYz9YEXhXaYPXhC3=
X`-YLY_XfVf[EGXZ5L8BXL9YHX]SYTXjLXdJ: =
YcXbQXg1PX]Yx4|Jr{Ys4.8YU+XIY`0N,<H%-H;:0@,74/:8546I=3D9177154870UC]d<C3H=
Xl7ALYzXFXWP<<?E!88E5@03YYXJ?YJ@6YxX-YdXhYG|9o{`iXjY_>YVXe>AYFX[/(I@0841?=
):-B=3D14337:8=3D|14{c&93788|di{cW-0>0<097/A;N{FqYpugAFT%X/Yo3Yn,#=3DXlCY=
HYNX[Xk3YN:YRT4?)-YH%A5XlYF3C1=3DNWyY}>:74-C673<69545v =
{iT85YED=3D64=3D.F4..9878/D4378?48B3:7:7/1VX[f4{D,{l<5E75{dAbRB-8-@+;DBF/=
$ZfW8S<4YhXA.(5@*11YV8./S95C/0R-A4AXQYI7?68167B95HA1*<M3?1/@;/=3D54XbYP36=
}lc{qzSS38:19?,/39193574/66878Yw1X-87E6=3D;964X`T734:>86>1/=3D0;(I-1::7AL=
YGXhF+Xk[@W%TYbX7)KXdYEXi,H-XhYMRXfYK?XgXj.9HX_SX]YL1XmYJ>Y}WwIXiI-3-GXcY=
yXUYJ$X`Vs[7;XnYEZ;XF! 3;%8;PXX(N3Y[)Xi1YE&/ =
:;74YQ6X`33C;-(>Xm0(TYF/!YGXg8 =
9L5P01YPXO-5%C|qd{{/K/E6,=3D0144:361:955;6443@?B7*7:F89&F35YaX-CYf,XiFYRX=
E_e{}sF =
0*7XRYPYfXa5YXXY8Xf8Y~XmA[9VjYj*#YMXIYOXk,HHX40YxYMXU8OXe;YFXLYuPXP?EB[QV=
0CXfY{:9XV[FWE0D6X^YVP*$4%OXiYQ(|xp|%c3{}V`1>Y`XH00:8/M6XhQ1:;3414|TE|&o@=
1*=3D81G8<3}6<|(f6>>>5-5:8;093B^3U*+*^*UT30XgYU&7*O1953)5@E78--F7YF*B&0:%=
P68W9Zn5974J9::3}Vk|-,C)=3D)1AJ4+<3YGXfY[XQXmT1M-XcYTYZXCYZXEYXXMYN,17>XI=
G*SaS|/eYJXbI?XdNZ+WRYP<F:R =
PXf;0Xg`$|1GX9YdXjLYxWX!ZIXGYaXNYm6X9YMX?9EXmZ&XZ#XQ>YeXRXfAY[4 =
;0X!Zz0XdN$XhYL =
XIY^XGNXUYS/1YFXhYk.TXn4DXjB{jg|4DEX]:XcZMW=3DA.+QYL<LKXc[vV$+&PX*Z3XMYIX=
UQ:ZvW< YSXFZ,XBYeXMM)?Xa =
XiZ4/EXcP3%}&-|6~:1(-+YT$@XIYRBC<}&,|7aJ6}bp|8)K1|Xg|8C}[T|8Q.89;-964I383=
61<=3D/;883651467<7:>?1:.}le|:Z=3D39;1Y^)?:J=3D?XfLXbXi=3DQ0YVYOXaXiLXmJX=
O5?.SFXiCYW}-;|=3Du&D-X`N0X^,YzYRXO(QX_YW9`I|>hZ:N&X)DQXP@YH#XmNXi$YWX^=3D=
!G6YbYdX>XjY|XlX^XdYkX>YnXUXPYF)FXT[EVTMYmYJXmYSXmNXi#GXmT3X8HOX[ZiXN]IU2=
>8YdX1YbX<YfWuZ8XSXcZU%0;1XnXkZ_WTG,XZYX5YSX Yp 05G?XcYW(IXg6K/XlYP4XnI =
@XnO1W4Zp-9C@%QDYX+OYeX9>--YSXkD.YR%Q/Yo =
YUX].Xi<HYEZ2WdCE6YMXa7F)=3D,D>-@9/8@5=3D?7164;35387?N<618=3D6>7D+C50<6B0=
3J0{Hj|N9$D,9I-,.KB3}m |NzE0::/81YqXjMXl7YG; =
[.W=3DZ0X4XQY]:MXiR,XgM?9$9>:?E;YE77VS[Y564760391?14941:0=3D:8B:;/1DXjFA-=
564=3D0B3XlH1+D85:0Q!B#:-6&N/:9<-R3/7Xn<*3J4.H:+334B.=3D>30H.;3833/764646=
65755:/83H6633:=3D;.>5645}&E|Y)?1/YG-,93&N3AE@5 =
<L1-G/8A0D858/30>8<549=3D@B8] =
V0[uVQYlXeD(P#ID&7T&7;Xi0;7T-$YE)E=3D1:E1GR):--0YI7=3DE<}n9|aT6783A>D7&4Y=
G7=3D391W;Zx<5+>F#J39}o/|cc;6=3DA050EQXg8A1-}D-|d^5548083563695D?-.YOXd37=
I$@LYLWeYlX<Yd+YR =
A$;3-4YQ-9XmA0!9/XLY_YT(=3D5XdDI>YJ5XP1ZAW{9>X_6R(XhYO65&J%DA)C-!B:97#A9;=
@?F;&;(9=3D11/=3D657/H,<8}bz|j^5446>.L+&Y^8Xb6?(CYOXb*YF(8X`FYR(XPYVXmPQ%=
&DD(XmZXW??YOXZXfCYJ79,O)XnYF7K0!QXmXi4IYFRXS,6<%-:YO(+:-3Q!1E1:W,Zo}Am|n=
~;3580534*?3Zc4=3D9334361693:30C<6/717:<1/;>59&:4}6!|rS36=3D1?75<8}[B|s80=
9983579I.A.>84758=3D108564741H*9E{L{|u%YQ<%6XfH.YUXe4YL@,>N}Tv|ve*G0X)Z;/=
)3@A74(4P&A1X:YVH97;,754*A66:1 =
D739E3553545558E4?-?K17/770843XAYf838A7K%N!YW4.$T19Z`WJ*0XdYJXTYOXNZ =
1XaN1A+I&Xi.Xk3Z3GB&5%WhZ1+5#Y[X<4YMXhQYoQXVXbYQ8XSYUX4YXBXWDMG0WxZA[8V+Z=
8X;D],Va$%YeX?FXfX[XeYf<X:Z[WsYz8X_Y]%XmQ(!7BXIZFX]&YE3F$(1XgYgYE& =
+[+W!<YMYFXc;+PXCYI9YrWxGXY9DY[!GXiI7::)OC;*$.>N*HA@{C|}&k=3D:<TB83X`3YL+=
G4XiK]i}(fYK<=3D5$.FYE%4*5*H*6XkCYL=3D*6Xi6!Yi1KXR4YHXbC8Xj,B9ZbWx/XbYON#=
5B}Ue}+QKXnF1&YV5XmYQ0!*3IXBYb71?1B75XmF;0B976;H/RXU:YZX;BG-NXj;XjI>A#D3B=
636N;,*%<D:0;YRXY973H5)-4FXOYf0:0;/7759774;7;:/855:543L43<?6=3DE,.A4:C=3D=
L)%4YV!1(YE/4YF+ =
F3%;S;&JC:%/?YEXJ4GXf/YS-EXEYW,9;E}X$}547EXiK=3D51-?71C%?57;5>463553Zg90;=
6447?<>4:9.7538XgN{|!}9K/E&3-:D+YE1)YE/3;37/:05}n<}:UX8Yj4Yt864@JYK..G=3D=
.(A Q3%6K>3(P3#AYE$-6H/456*C=3D.XHY[#S.<780191;057C)=3D6HXj?955B:K1 =
E>-B/9,;5.!L?:0>/.@//:;7833YZ56<4:YE=3D/:7Z_WGC%3I6>XkC*&NA16X=3DYz2$X:Y^=
&J48<99k8}CyB-61<18K946YO4{|N}E)YIB9K0L>4=3D46<1K0+R;6-=3D1883:478;4,S+3Y=
JX`GJXh.Yp+Xm6MXcYpX(>7Yo,/:X=3DZ;Xi0YTYHXjYmXiXj;*;I-8S6N#XgY}.3XfYGO3C/=
$XjL$*NYX,1 =
6;YH&<XkK9C#I74.>}Hd`A748X[T450[n75<4439:18A107>|ET}Rf<1;14876/Yb983E<5.Y=
NXd4149>,S=3D/4E/<306443G/06}0&}UkYSXFYF=3D44=3D-5095=3D88;63844,9E6644{P=
L}WA8:>)7+>763>>0/B3A545CCnT}Xm|dv}Xq1L/YNXk/H8;;.R63351YY747@15YE4J8;46;=
.38.>4A369.=3D-83,;Ye3?:3@YE.4-+N353;/;@(X[YYD>@/05-I*@.:551741Yf5>6A443<=
3535;.58/86=3DD4753442$635D1>0359NQ @73:3:>><Xn?;43C14 =
?Y|X611YG1&<+,4<*,YLXl<1/AIXjF*N89A4Z576K1XbJ5YF.ZOWN.YGXO/YQ01:4G38Xl1;K=
I0YFXB=3DR<7;D/,/4>;$I,YGXm94@O35Yz66695385.>:6A#5}W7n^4336:4157597434433=
<3|XA}m`>=3DD>:4A.337370?-6Q96{`E|4A}C`|Qs{Mk|J+~r>|o,wHv>Vw}!c{H!|Gb|*Ca=
5}J||,U{t+{CN[!M65YXOY_*B,Y[Z9XaX[QYJYLXPYuZ%XcZ8LY[SYPYKZM<LMYG9OYqSQYM~=
[e{UJXmQYyZM_)>YjN1~[f3{aXFY|Yk:48YdH^NZ0|T){jVFYTZNFY^YTYN~[h{nPYMYn3I]`=
EYUYsYIZEYJ7Yw)YnXPQYH+Z.ZAZY]^Z1Y`YSZFZyGYHXLYG =
8Yd#4~[i|+)YH9D?Y^F~Y7|-eYxZ^WHYdYfZQ~[j|3>~[k|3oYmYqY^XYYO=3DZ*4[]Z/OYLX=
hZ1YLZIXgYIHYEYK,<Y`YEXIGZI[3YOYcB4SZ!YHZ*&Y{Xi3~[l|JSY`Zz?Z,~[m|O=3DYi>?=
?XnYWXmYS617YVYIHZ(Z4[~L4/=3D~[n|Yu{P)|];YOHHZ}~[o33|a>~[r|aE]DH~[s|e$Zz~=
[t|kZFY~XhYXZB[`Y}~[u|{SZ&OYkYQYuZ2Zf8D~[v}% =
~[w3},Q[X]+YGYeYPIS~[y}4aZ!YN^!6PZ*~[z}?E~[{3}CnZ=3D~[}}EdDZz/9A3(3S<,YR8=
.D=3D*XgYPYcXN3Z5 4)~[~}JW=3D$Yu.XX~] =
}KDX`PXdZ4XfYpTJLY[F5]X~[2Yp}U+DZJ::<446[m@~]#3}]1~]%}^LZwZQ5Z`/OT<Yh^ =
-~]&}jx[ ~m<z!%2+~ly4VY-~o>}p62yz!%2+Xf2+~ly4VY-zQ`z (=3D] 2z~o2",' +
				'C=3D{" =
":0,"!":1},c=3D34,i=3D2,p,s=3D[],u=3DString.fromCharCode,t=3Du(12539);whi=
le(++c<127)C[u(c)]=3Dc^39&&c^92?i++:0;i=3D0;while(0<=3D(c=3DC[a.charAt(i+=
+)]))if(16=3D=3Dc)if((c=3DC[a.charAt(i++)])<87){if(86=3D=3Dc)c=3D1879;whi=
le(c--)s.push(u(++p))}else s=3Ds.concat(s.slice(8272,8272+360));else =
if(c<86)s.push(u(p+=3Dc<51?c-16:(c-55)*92+C[a.charAt(i++)]));else =
if((c=3D((c-86)*92+C[a.charAt(i++)])*92+C[a.charAt(i++)])<49152)s.push(u(=
p=3Dc<40960?c:c|57344));else{c&=3D511;while(c--)s.push(t);p=3D12539}retur=
n s.join("")'
			)();
		this.toSJIS =3D function (str, onlyReference)
		{
			if (onlyReference)
				return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
					var c=3Ds.charCodeAt(0);
					return =
c<128||(65376<c&&c<65440)||self.JCT11280.indexOf(s)>=3D0?s:'&#x'+s.charCo=
deAt(0).toString(16).toUpperCase()+';';
				});
			else
				return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
					var c=3Ds.charCodeAt(0),m;
					return =
c<128?(c<16?"%0":"%")+c.toString(16).toUpperCase():65376<c&&c<65440?"%"+(=
c-65216).toString(16).toUpperCase():(c=3Dself.JCT11280.indexOf(s))<0?"%81=
E":"%"+((m=3D((c<8272?c:(c=3Dself.JCT11280.lastIndexOf(s)))-(c%=3D188))/1=
88)<31?m+129:m+193).toString(16).toUpperCase()+(64<(c+=3Dc<63?64:65)&&c<9=
1||95=3D=3Dc||96<c&&c<123?String.fromCharCode(c):"%"+c.toString(16).toUpp=
erCase())
				});
		};
		this.fromSJIS =3D function (str)
		{
			return =
str.replace(/%(8[1-9A-F]|[9E][0-9A-F]|F[0-9A-C])(%[4-689A-F][0-9A-F]|%7[0=
-9A-E]|[@-~])|%([0-7][0-9A-F]|A[1-9A-F]|[B-D][0-9A-F])/ig,function(s){
				var c=3DparseInt(s.substring(1,3),16),l=3Ds.length;
				return =
3=3D=3Dl?String.fromCharCode(c<160?c:c+65216):self.JCT11280.charAt((c<160=
?c-129:c-193)*188+(4=3D=3Dl?s.charCodeAt(3)-64:(c=3DparseInt(s.substring(=
4),16))<127?c-64:c-65))
			});
		}
	}

	/*
	 * initialize and load setteings
	 */
	Akahuku.initializeLocationInfo();
	Akahuku.getConfigurationFromCookie();
	Akahuku.onloadManager.emulateOnloadEvent();
	Akahuku.postFormManager.addEventListener(
		function ()
		{
			var base =3D document.getElementsByTagName('base')[0];
			if (base)
			{
				var nodes =3D document.getElementsByTagName('a');
				for (var i =3D 0; i < nodes.length; i++)
					nodes[i].setAttribute('href', nodes[i].href);
			}
		});

	/*
	 * preparation: style definitions
	 */
	(function ()
	{
		var style =3D new StyleWrapperClass();

		// post form
		if (Akahuku.isNormal || Akahuku.isReply)
		{
			// fix <center> tag behavior
			style.addRule('body form table', 'text-align:left');

			// fix horz scrollbar behavior for IE
			if (window.top !=3D window.self && !window.opera)
			{
				style.addRule('html', 'overflow-y:scroll');
			}

			// hide post form for Opera
			if (((Akahuku.allowHidePostForm && Akahuku.isNormal) || =
Akahuku.allowFloatPostForm) && window.opera)
			{
				style.addRule(
					'form[method=3D"POST"][enctype=3D"multipart/form-data"]',
					'display:none'
				);
			}

			// float post form
			if (Akahuku.allowFloatPostForm)
			{
				if (!window.opera)
					style.addRule(
						'body',
						'background:#ffffee url(null) fixed');
				style.addRule(
					'#akahuku_floatpostform_container',
					Akahuku.getFixedStyle(
						Akahuku.numberFloatFormPosition,
						window.opera ?
							'position:fixed;margin:0;padding:0;border:solid 2px =
#eeaa88;box-sizing:content-box' :
							'position:absolute;margin:0;padding:0;border:solid 2px #eeaa88')
				).addRule(
					'#akahuku_floatthumbnail',
					Akahuku.getFixedStyle(
						Akahuku.numberFloatFormPosition >=3D 2 ? 0 : 2,
						window.opera ?
							'position:fixed;margin:0;padding:0' :
							'position:absolute;margin:0;padding:0')
				).addRule(
					'#akahuku_floatpostform_container #akahuku_postform',
					'margin:0;padding:4px;border:none;border-bottom:1px solid #eeaa88;'
				).addRule(
					'#akahuku_floatpostform_container table',
					'width:100%;margin:0;padding:0;'
				).addRule(
					'#akahuku_floatpostform_container td',
					'padding:0;font-size:9pt;'
				);
			}
		}

		// window
		if (Akahuku.allowDelBanner && Akahuku.isOnline && !Akahuku.isCatalog)
		{
			style.addRule(
				'li img', 'display:none'
			).addRule(
				'iframe', 'display:none'
			);
		}

		// thread
		if (Akahuku.isNormal || Akahuku.isReply)
		{
			// numbering by stylesheet for Opera
			if (Akahuku.allowNumbering && window.opera)
			{
				style.addRule(
					'body > form > input[type=3D"checkbox"][value=3D"delete"]',
					'counter-reset:replynumber 0;'
				).addRule(
					'td[bgcolor=3D"#F0E0D6"] > =
input[type=3D"checkbox"][value=3D"delete"]:before',
					'content:"&nbsp;" counter(replynumber) "&nbsp;";' +
					'counter-increment:replynumber;' +
					'color:#800000;'
				);
			}
		}

		// reply
		if (Akahuku.isNormal || Akahuku.isReply)
		{
			// cute font, blockquote width limitaion, blockquote vertical margin
			var s =3D '';
			if (Akahuku.allowCuteFont)
				s +=3D
					'font-family:"\u3053\u3068\u308A\u3075\u3049\u3093\u3068",' +
					'"\u3042\u304F\u3042\u30D5\u30A9\u30F3\u30C8";';
			if (Akahuku.allowLimitReplyWidth)
				s +=3D
					'margin-top:0.8em;' +
					(window.opera ? 'overflow:hidden;' : 'word-break:break-all;');
			if (Akahuku.allowWidenReplyHeight)
				s +=3D
					'margin-top:0.8em;' +
					'margin-bottom:0.8em;';
			if (s !=3D '')
				style.addRule('blockquote', s);

			// quotation popup
			if (Akahuku.allowPopupQuote && !Akahuku.isNormal)
			{
				style.addRule(
					'div.akahuku_reply_popup',
					'position:absolute;border:1px solid =
#eeaa88;padding:2px;background-color:#ffffee'
				).addRule(
					'div.akahuku_reply_popup th',
					'font-size:9pt;font-weight:normal;vertical-align:top'
				).addRule(
					'div.akahuku_reply_popup td.akahuku_reply_popup_td',
					'font-size:9pt;background-color:#F0E0D6;padding:2px 2px 2px 4px'
				).addRule(
					'div.akahuku_reply_popup td.akahuku_reply_popup_td2',
					'font-size:9pt;padding:2px 2px 2px 4px'
				).addRule(
					'div.akahuku_reply_popup blockquote',
					'margin-left:1em'
				).addRule(
					'div.akahuku_reply_popup small',
					'font-size:9pt'
				);
			}

			// quick quote
			if (Akahuku.allowQuickQuote)
			{
				style.addRule(
					'#akahuku_quotebox',
					'position:absolute;' +
					(window.opera ? '' : 'width:160px;') +
					'border:1px solid #800000;' +
					'background-color:#ffffee;' +
					'z-index:2'
				).addRule(
					'#akahuku_quotebox a',
					'display:block;padding:4px 8px 4px 16px;' +
					'font-size:9pt;'
				).addRule(
					'#akahuku_quotebox a:hover',
					'background-color:#f0e0d6;color:#800000;'
				).addRule(
					'#akahuku_quotebox hr',
					'border:none;' +
					'border-top:1px solid silver;' +
					'height:1px;' +
					'margin:0'
				);
			}
		}

		// catalog
		if (Akahuku.isCatalog)
		{
			if (Akahuku.allowCatalogReorder)
			{
				style.addRule(
					'#akahuku_catalog_table',
					'border-collapse:separate;border-spacing:0px;'
				).addRule(
					'#akahuku_catalog_table th',
					'padding-left:8px;' +
					'padding-right:8px;'
				).addRule(
					'#akahuku_catalog_table td',
					'width:50px;padding:0;'
				).addRule(
					'#akahuku_catalog_table img',
					'vertical-align:middle;');
			}
			if (Akahuku.allowCatalogHilightVisited)
			{
				style.addRule(
					'td a font',
					'color:#800000;'
				).addRule(
					'td a',
					'text-decoration:none;'
				).addRule(
					'td a:visited',
					'background-color:#eeaa88;');
			}
			if (Akahuku.allowBackgroundLoadCatalog)
			{
				style.addRule(
					'div.akahuku_cell',
					'margin:0;padding:0;font-size:9pt;color:#cc1105');
			}
		}

		style.apply();
	})();

	/*
	 * post form enhancement
	 * =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	 */
	if (Akahuku.isNormal || Akahuku.isReply)
	{
		Akahuku.postFormManager.addEventListener(
			function ()
			{
				for (var i =3D 0, nodes =3D document.getElementsByTagName('form'); i =
< nodes.length; i++)
				{
					if (nodes[i].action.match(/futaba\.php$/) &&
						nodes[i].method.match(/post/i) &&
						nodes[i].enctype.match(/multipart\/form-data/i))
					{
						nodes[i].id =3D 'akahuku_postform';
						nodes[i].getElementsByTagName('table')[0].id =3D =
'akahuku_posttable';

						if (Akahuku.isNormal && Akahuku.allowHidePostForm ||
							Akahuku.isReply && Akahuku.allowHideReplyPostForm ||
							Akahuku.allowFloatPostForm)
							nodes[i].style.display =3D 'none';

						for (var j =3D 0, nodes =3D =
document.getElementsByTagName('input'); j < nodes.length; j++)
						{
							if (nodes[j].type.toLowerCase() =3D=3D 'submit')
							{
								nodes[j].id =3D 'akahuku_postform_submitter';
								break;
							}
						}

						break;
					}
				}
			});
		Akahuku.postFormManager.startWatchDOM();

		Akahuku.pageManager.addEventListener(
			function ()
			{
				var hidePostForm =3D=20
					Akahuku.isNormal && Akahuku.allowHidePostForm ||
					Akahuku.isReply && Akahuku.allowHideReplyPostForm;

				var form =3D document.getElementById('akahuku_postform');
				if (form)
				{
					form.onsubmit =3D =
AkahukuPostFormHandleWork.handleNormalPostFormSubmit;

					// hide post form
					if (hidePostForm)
					{
						if (!Akahuku.allowFloatPostForm)
						{
							var anchor =3D document.createElement('a');
							anchor.id =3D 'akahuku_postform_opener';
							anchor.style.backgroundColor =3D '#eeaa88';
							anchor.style.padding =3D '4px';
							anchor.style.margin =3D '8px';
							anchor.style.fontWeight =3D 'bold';
							anchor.href =3D '?';
							anchor.onclick =3D =
AkahukuPostFormHandleWork.handleCreateThreadClick;
							anchor.innerHTML =3D Akahuku.isNormal ? =
'\u30B9\u30EC\u7ACB\u3066\u308B' : '\u30EC\u30B9\u66F8\u304F';
							form.parentNode.insertBefore(anchor, form);
						}
					}

					if (hidePostForm || Akahuku.allowFloatPostForm)
					{
						if (form.innerHTML.match(/<li>(\u73FE\u5728.*)\n/i))
						{
							var viewer =3D document.createElement('span');
							viewer.id =3D 'akahuku_postform_opener_appendix';
							viewer.style.fontSize =3D '9pt';
							viewer.innerHTML =3D RegExp.$1;
							form.parentNode.insertBefore(viewer, form);
						}
					}
				}

				var emailbox =3D document.getElementsByName('email')[0];
				if (emailbox &&
					emailbox.nodeName.toLowerCase() =3D=3D 'input' &&
					emailbox.type.toLowerCase() =3D=3D 'text')
				{
					emailbox.id =3D 'akahuku_emailbox';

					// extend mail box
					if (Akahuku.allowExtendMailBox)
					{
						emailbox.size =3D parseInt(parseInt(emailbox.size) * 1.5);
					}

					// sage button
					if (Akahuku.allowSageButton)
					{
						emailbox.parentNode.appendChild(document.createTextNode(' ['));
						var sagebutton =3D document.createElement('a');
						sagebutton.id =3D 'akahuku_sagebutton';
						sagebutton.accessKey =3D 's';
						sagebutton.onclick =3D =
AkahukuPostFormHandleWork.handleSageButtonClick;
						sagebutton.innerHTML =3D 'sage(S)';
						emailbox.parentNode.appendChild(sagebutton);
						emailbox.parentNode.appendChild(document.createTextNode(']'));
					}
				}
				else
					emailbox =3D null;

				var commentbox =3D document.getElementsByName('com')[0];
				if (commentbox &&
					commentbox.nodeName.toLowerCase() =3D=3D 'textarea')
				{
					commentbox.id =3D 'akahuku_commentbox';
					commentbox.style.width =3D '100%';
				}
				else
					commentbox =3D null;

				// comment status
				if (Akahuku.allowCommentStatus && commentbox && emailbox)
				{
					commentbox.onfocus =3D =
AkahukuPostFormHandleWork.handleCommentFocus;
					commentbox.onblur =3D AkahukuPostFormHandleWork.handleCommentBlur;
					emailbox.onfocus =3D AkahukuPostFormHandleWork.handleCommentFocus;
					emailbox.onblur =3D AkahukuPostFormHandleWork.handleCommentBlur;
					var commentstatus =3D document.createElement('div');
					commentstatus.id =3D 'akahuku_commentstatus';
					commentstatus.style.fontSize =3D '9pt';
					commentstatus.style.padding =3D '4px 0 2px 0';
					commentbox.parentNode.appendChild(commentstatus);
					AkahukuPostFormHandleWork.handleDispCommentLengthTimer();
				}

				// alternate thread create method
				if (Akahuku.isReply)
				{
					var nodes =3D document.getElementsByTagName('font');
					for (var i =3D 0; i < nodes.length; i++)
					{
						if (nodes[i].innerHTML !=3D =
'\u30EC\u30B9\u9001\u4FE1\u30E2\u30FC\u30C9') continue;

						nodes[i].id =3D 'akahuku_postmode_container';

						if (Akahuku.allowAlterThread && Akahuku.isTraditionalNijiura)
						{
							nodes[i].innerHTML =3D
								'<label for=3D"akahuku_postmode_reply">' +
								'<input type=3D"radio" id=3D"akahuku_postmode_reply" =
name=3D"akahuku_postmode" checked=3D"checked"/>' +
								'\u30EC\u30B9\u9001\u4FE1\u30E2\u30FC\u30C9</label>&nbsp;' +
								'<label for=3D"akahuku_postmode_thread">' +
								'<input type=3D"radio" id=3D"akahuku_postmode_thread" =
name=3D"akahuku_postmode"/>' +
								'<span style=3D"font-size:9pt;font-weight:normal">' +
								=
'\u65B0\u898F\u30B9\u30EC\u30C3\u30C9\u4F5C\u6210</span></label>';
							document.getElementById('akahuku_postmode_reply').onclick =3D
								AkahukuPostFormHandleWork.handlePostModeClick;
							document.getElementById('akahuku_postmode_thread').onclick =3D
								AkahukuPostFormHandleWork.handlePostModeClick;

							var table =3D document.getElementById('akahuku_posttable');
							if (table)
							{
								var rows =3D =
table.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
								var tr =3D document.createElement('tr');
								tr.id =3D 'akahuku_post_file_row';
								tr.style.display =3D 'none';

								var td =3D document.createElement('td');
								td.bgColor =3D '#eeaa88';
								td.innerHTML =3D '<b>\u6DFB\u4ED8File</b>';
								tr.appendChild(td);

								var td =3D document.createElement('td');
								td.innerHTML =3D
									'<input type=3D"file" size=3D"35" id=3D"akahuku_post_file" =
name=3D"upfile"/>' +
									'&nbsp;<label for=3D"akahuku_post_textonly">' +
									'[<input type=3D"checkbox" id=3D"akahuku_post_textonly" =
name=3D"textonly" value=3D"on"/>' +
									'\u753B\u50CF\u306A\u3057]</label>';
								tr.appendChild(td);

								table.getElementsByTagName('tbody')[0].insertBefore(
									tr,
									rows[rows.length - 2]);

								if (form)
									form.onsubmit =3D =
AkahukuPostFormHandleWork.handleReplyPostFormSubmit;
							}
						}

						break;
					}
				}

				// floating post form
				if (Akahuku.allowFloatPostForm)
				{
					var minimizePostForm =3D Akahuku.allowMinimizePostForm && =
hidePostForm;
					var div =3D document.createElement('div');
					div.id =3D 'akahuku_floatpostform_container';
					div.style.backgroundColor =3D document.body.bgColor;
					div.style.width =3D minimizePostForm ? '27px' : '50%';
					div.onmouseover =3D =
AkahukuPostFormHandleWork.handleFloatPostFormMouseover;
					div.onmouseout =3D =
AkahukuPostFormHandleWork.handleFloatPostFormMouseout;

					var postmodeContainer =3D =
document.getElementById('akahuku_postmode_container');
					if (postmodeContainer)
					{
						var postmodeIndicator =3D document.createElement('font');
						postmodeIndicator.style.fontWeight =3D 'bold';
						postmodeIndicator.style.color =3D 'white';
						postmodeIndicator.innerHTML =3D =
'\u30EC\u30B9\u9001\u4FE1\u30E2\u30FC\u30C9';
						postmodeContainer.parentNode.replaceChild(postmodeIndicator, =
postmodeContainer);

						var floatFormHeader =3D document.createElement('div');
						floatFormHeader.id =3D 'akahuku_floatpostform_header';
						floatFormHeader.style.display =3D 'none';
						floatFormHeader.style.backgroundColor =3D '#e04000';
						floatFormHeader.style.textAlign =3D 'center';
						floatFormHeader.style.padding =3D '2px';
						floatFormHeader.appendChild(postmodeContainer);
						div.appendChild(floatFormHeader);
					}

					if (form)
					{
						form.parentNode.removeChild(form);
						form.style.display =3D hidePostForm ? 'none' : 'block';
						div.appendChild(form);

						var nodes =3D form.getElementsByTagName('tr');
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].firstChild.colSpan =3D=3D '2')
								nodes[i].removeChild(nodes[i].firstChild);
						}
					}

					var floatFormFooter =3D document.createElement('div');
					floatFormFooter.id =3D 'akahuku_floatpostform_footer';
					floatFormFooter.innerHTML =3D
						'<table id=3D"akahuku_floatpostform_footer_content"' +
						(minimizePostForm ? ' style=3D"display:none"' : '') + =
'><tbody><tr>' +
						(function ()
						{
							var result =3D '<td =
id=3D"akahuku_floatpostform_footer_content_1">';
							if (Akahuku.isNormal)
							{
								for (var i =3D 0; i <=3D 10; i++)
									result +=3D '<a href=3D"' + (i + '.htm').replace(/^0\.htm/, =
'futaba.htm') + '">[' + i + ']</a>';
							}
							return result + '</td>';
						})() +
						'<td style=3D"text-align:right">' +
						(function ()
						{
							var result =3D '';
							if (Akahuku.isReply)
							{
								result =3D
									'<label for=3D"akahuku_thumbnail_clipper">' +
									'<input type=3D"checkbox" id=3D"akahuku_thumbnail_clipper">' +
									'\u30B5\u30E0\u30CD\u56FA\u5B9A</label>&nbsp;';
							}
							return result;
						})() +
						'<label for=3D"akahuku_floatpostform_clipper">' +
						'<input type=3D"checkbox" id=3D"akahuku_floatpostform_clipper" ' + =
(hidePostForm ? 'checked=3D"checked"' : '') + '/>' +
						'\u9069\u5F53\u306B\u96A0\u3059' +
						'</label></td></tr></tbody></table>' +
						'<img class=3D"akahuku_generated" =
id=3D"akahuku_floatpostform_footer_icon"' +
						(function ()
						{
							if (window.opera)
								return ' src=3D"data:image/gif;base64,' +
									=
'R0lGODlhGwAWALP/AP////zEzPy8zPTMzOzUzOTczOTUzNzkzNTkzMz0xMzsxMT8xMT0xAAA=
AAAA' +
									=
'AAAAACwAAAAAGwAWAEAEe1DISau9cqzNV+rgFmDWsZGUSYTLMU7fx6ISswx0rlfEgSAHAiow=
GCBi' +
									=
'hEBgpWAtEEQnR1ghDgocBlG5u2yo3YppAQ6bKSvW4TKQgdZPZ2IClC6UWDfno8l2gAMvAiNN=
dgsM' +
									'CgiBOyMnZxYbBo8UASKTMIeXEgcJkppnEQA7"';
							else
								return ' src=3D"http://local.ptron/futaba.png"';
						})() +
						' width=3D"27" height=3D"22" style=3D"display:' + =
(minimizePostForm ? 'block' : 'none') + '"/>';

					if (Akahuku.numberFloatFormPosition >=3D 2)
						div.insertBefore(floatFormFooter, div.firstChild)
					else
						div.appendChild(floatFormFooter);

					document.body.insertBefore(div, document.body.firstChild);

					Akahuku.pageManager.addEventListener(
						function ()
						{
							var element =3D =
document.getElementById('akahuku_thumbnail_clipper');
							if (element)
							{
								element.onclick =3D =
AkahukuPostFormHandleWork.handleThumbnailClipperClick;
								if (Akahuku.allowFloatThumbnail)
									element.click();
							}
						});
				}

				if (Akahuku.allowControlCommentHeight)
				{
					var table =3D document.getElementById('akahuku_posttable');
					var commentbox =3D document.getElementById('akahuku_commentbox');
					if (table && commentbox)
					{
						var nodes =3D table.getElementsByTagName('td');
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].innerHTML.match(/\u30B3\u30E1\u30F3\u30C8/))
							{
								nodes[i].innerHTML +=3D
									'<br><a id=3D"akahuku_commentbox_incrementer">[+]</a>' +
									'<a id=3D"akahuku_commentbox_decrementer">[-]</a>'
								=
document.getElementById('akahuku_commentbox_incrementer').onclick =3D
								=
document.getElementById('akahuku_commentbox_decrementer').onclick =3D
									AkahukuPostFormHandleWork.handleCommentBoxSizeControllerClick;
								break;
							}
						}
					}
				}
			});

		var AkahukuPostFormHandleWork =3D
		{
			commentWatchTimerID : null,
			floatThumbnailTimerID : null,
			blink : false,
			handleNormalPostFormSubmit : function (e)
			{
				(e =3D new EventWrapperClass(e)).preventDefault();
				Akahuku.doSubmit(e.target, Akahuku.allowThreadNew && =
Akahuku.isNormal ? '_blank' : '_self');
			},
			handleReplyPostFormSubmit : function (e)
			{
				(e =3D new EventWrapperClass(e)).preventDefault();

				try
				{
					if (document.getElementById('akahuku_postmode_reply').checked)
					{
						// tr element
						var row =3D document.getElementById('akahuku_post_file_row');
						if (!row)
						{
							return;
						}

						// tbody element
						var rowparent =3D row.parentNode;
						if (!rowparent || !rowparent.nodeName.match(/tbody/i))
						{
							return;
						}

						rowparent.removeChild(row);
						try
						{
							Akahuku.doSubmit(e.target, '_self');
						}
						finally
						{
							// restore row
							var rows =3D rowparent.getElementsByTagName('tr');
							rowparent.insertBefore(
								row,
								rows[rows.length - 2]);
						}
					}
					else if =
(document.getElementById('akahuku_postmode_thread').checked)
					{
						if (!confirm(
							'\u30B9\u30EC\u7ACB\u3066\u3061\u3083\u3046\u3088\uFF1F\n' +
							'\u305D\u308C\u3067\u3082\u3044\u3044\u306E\uFF1F'))
						{
							return;
						}

						// reply target pointer
						var resto =3D document.getElementsByName('resto');
						if (!resto || resto.length !=3D 1)
						{
							return;
						}
						resto =3D resto[0];

						// reply target pointer's parent
						var restoparent =3D resto.parentNode;
						if (!restoparent)
						{
							return;
						}

						restoparent.removeChild(resto);
						try
						{
							Akahuku.doSubmit(e.target, '_blank');
						}
						finally
						{
							// restore reply target pointer
							restoparent.appendChild(resto);
						}
					}
				}
				catch (exception)
				{
					Akauhku.log(exception);
				}
				finally
				{
					document.getElementById('akahuku_postmode_reply').click();
				}
			},
			handlePostModeClick : function (e)
			{
				e =3D new EventWrapperClass(e);

				Akahuku.ensureDispPostForm();

				var row =3D document.getElementById('akahuku_post_file_row');
				var form =3D document.getElementById('akahuku_postform');

				switch (e.target.id)
				{
				case 'akahuku_postmode_reply':
					if (form)
						form.style.backgroundColor =3D 'transparent';
					if (row)
						row.style.display =3D 'none';
					break;
				case 'akahuku_postmode_thread':
					if (form)
						form.style.backgroundColor =3D '#F0E0D6';
					if (row)
						row.style.display =3D '';
					break;
				}
			},
			handleCreateThreadClick : function (e)
			{
				(e =3D new EventWrapperClass(e)).preventDefault();

				var n =3D document.getElementById('akahuku_postform');
				if (n && e.target.style.display.match(/^(none)?$/i))
				{
					n.style.display =3D 'block';
					e.target.style.display =3D 'none';

					var m =3D =
document.getElementById('akahuku_postform_opener_appendix');
					if (m)
						m.style.display =3D 'none';
				}
			},
			handleSageButtonClick : function (e)
			{
				var n =3D document.getElementById('akahuku_emailbox');
				if (n)
				{
					n.focus();

					if (n.value.match(/\bsage\b/))
						n.value =3D n.value.replace(/\s*\bsage\b\s*/g, '');
					else
						n.value =3D 'sage ' + n.value;

					if (n.setSelectionRange)
						n.setSelectionRange(n.value.length, n.value.length);
				}
				return false;
			},
			handleDispCommentLengthTimer : function (e)
			{
				function updateTextStatus (element, maxRows, maxByteLength)
				{
					var txt =3D element.value.replace(/(\r\n)+$/, '');
					var a =3D txt.split('\r\n');

					if (a.length >=3D 1 && a[a.length - 1].match(/^\s*$/))
						a.length--;

					textRows =3D a.length;
					textByteLength =3D =
a.join('\r\n').replace(/[^\u0001-\u007f\uff61-\uff9f]/g, '__').length;
					lengthOvered =3D false;
					bytesOvered =3D false;

					if (textRows > maxRows)
					{
						lengthOvered =3D true;
						updateWarnText();
					}
					if (textByteLength > maxByteLength)
					{
						bytesOvered =3D true;
						updateWarnText();
					}
				}
				function getHilightText (flag, text)
				{
					return flag ?
						'<font color=3D"red">' + text + '</font>' : text;
				}
				function updateWarnText ()
				{
					/*  =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
					THIS MESSAGE MIGHT LOOK STRANGE,
					BUT YOU SHOULD NOT CHANGE EASILY
					BECAUSE IT WAS DECIDED DEPENDING
					ON THE USERS OF NIJIURA, FUTABA.
					=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D */
					warnStatus =3D ' <font color=3D"red" =
style=3D"">[\u305D\u3093\u306A\u6C7A\u3081\u65B9\u3067\u3044\u3044\u306E\=
u304B\uFF01\uFF01\uFF1F]</font>';
				}
				var statusdiv =3D document.getElementById('akahuku_commentstatus');
				if (!statusdiv)
					return;

				var textRows =3D 0, textByteLength =3D 0;
				var lengthOvered, bytesOvered;
				var textStatus =3D '', warnStatus =3D '';

				var commentbox =3D document.getElementById('akahuku_commentbox');
				if (commentbox)
				{
					updateTextStatus(commentbox, 15, 1000);
					/*if (Akahuku.allowCommentStatusSize)
					{
						if (!Akahuku.allowFloatPostForm &&
							commentbox.clientWidth < commentbox.scrollWidth)
						{
							commentbox.style.width =3D commentbox.scrollWidth +
								(commentbox.offsetWidth - commentbox.clientWidth) + 8;
						}

						if (commentbox.clientHeight < commentbox.scrollHeight)
						{
							commentbox.style.height =3D commentbox.scrollHeight +
								(commentbox.offsetHeight - commentbox.clientHeight) + 8;
						}
					}*/
					textStatus +=3D
						'\u73FE\u5728\u306E\u884C\u6570: ' +
						getHilightText(lengthOvered, textRows) +
						'\u3001\u30D0\u30A4\u30C8\u6570: ' +
						getHilightText(bytesOvered, textByteLength);
				}

				var emailbox =3D document.getElementById('akahuku_emailbox');
				if (emailbox)
				{
					updateTextStatus(emailbox, 1, 100);
					textStatus +=3D
						(textStatus ? '\u3001' : '') +=20
						getHilightText(bytesOvered, textByteLength);
				}

				if (warnStatus !=3D '')
				{
					if (AkahukuPostFormHandleWork.blink)
						warnStatus =3D warnStatus.replace('style=3D"', =
'style=3D"visibility:hidden');
					textStatus +=3D warnStatus;
					AkahukuPostFormHandleWork.blink =3D =
!AkahukuPostFormHandleWork.blink;
				}

				if (statusdiv.innerHTML !=3D textStatus)
					statusdiv.innerHTML =3D textStatus;
			},
			handleCommentBoxSizeControllerClick : function (e)
			{
				(e =3D new EventWrapperClass(e)).preventDefault();
				var commentbox =3D document.getElementById('akahuku_commentbox');
				if (commentbox)
				{
					var rows =3D parseInt(commentbox.rows);
					if (e.target.id =3D=3D 'akahuku_commentbox_incrementer')
						commentbox.rows =3D rows + 1;
					else if (e.target.id =3D=3D 'akahuku_commentbox_decrementer' && =
rows > 4)
						commentbox.rows =3D rows - 1;
				}
			},
			handleCommentFocus : function (e)
			{
				if (!AkahukuPostFormHandleWork.commentWatchTimerID)
				{
					AkahukuPostFormHandleWork.blink =3D true;
					AkahukuPostFormHandleWork.handleDispCommentLengthTimer();
					AkahukuPostFormHandleWork.commentWatchTimerID =3D setInterval(
						'AkahukuPostFormHandleWork.handleDispCommentLengthTimer()', 500);
				}
			},
			handleCommentBlur : function (e)
			{
				if (AkahukuPostFormHandleWork.commentWatchTimerID)
				{
					clearInterval(AkahukuPostFormHandleWork.commentWatchTimerID);
					AkahukuPostFormHandleWork.commentWatchTimerID =3D null;
					AkahukuPostFormHandleWork.blink =3D true;
					AkahukuPostFormHandleWork.handleDispCommentLengthTimer();
				}
			},
			handleFloatPostFormOpenerClick : function ()
			{
				var postformContainer =3D =
document.getElementById('akahuku_floatpostform_container');
				var postform =3D document.getElementById('akahuku_postform');
				var postformHeader =3D =
document.getElementById('akahuku_floatpostform_header');
				var postformFooterContent =3D =
document.getElementById('akahuku_floatpostform_footer_content');
				var postformFooterIcon =3D =
document.getElementById('akahuku_floatpostform_footer_icon');
				if (postform)
				{
					if (postform.style.display =3D=3D 'block')
					{
						postform.style.display =3D 'none';
						if (postformHeader)
							postformHeader.style.display =3D 'none';

						if (Akahuku.allowMinimizePostForm)
						{
							if (postformFooterIcon)
								postformFooterIcon.style.display =3D 'block';
							if (postformFooterContent)
								postformFooterContent.style.display =3D 'none';
							if (postformContainer)
								postformContainer.style.width =3D '27px';
						}
					}
					else
					{
						if (Akahuku.allowMinimizePostForm)
						{
							if (postformFooterIcon)
								postformFooterIcon.style.display =3D 'none';
							if (postformFooterContent)
								postformFooterContent.style.display =3D '';
							if (postformContainer)
								postformContainer.style.width =3D '50%';
						}

						postform.style.display =3D 'block';
						if (postformHeader)
							postformHeader.style.display =3D 'block';

						var commentbox =3D document.getElementById('akahuku_commentbox');
						commentbox.value =3D commentbox.value;
						commentbox.focus();
					}
				}
			},
			handleFloatPostFormMouseover : function (e)
			{
				var form =3D document.getElementById('akahuku_postform');
				if (form && form.style.display !=3D 'block')
					AkahukuPostFormHandleWork.handleFloatPostFormOpenerClick();
			},
			handleFloatPostFormMouseout : function (e)
			{
				e =3D new EventWrapperClass(e);
				var form =3D document.getElementById('akahuku_postform');
				var clipper =3D =
document.getElementById('akahuku_floatpostform_clipper');
				var commentbox =3D document.getElementById('akahuku_commentbox');
				if (form && clipper && clipper.checked)
				{
					for (var node =3D Akahuku.getElementFromPoint(e.pageX, e.pageY); =
node; node =3D node.parentNode)
					{
						if (node.id =3D=3D 'akahuku_floatpostform_container')
							return;
					}

					commentbox.blur();

					var nodes =3D form.getElementsByTagName('input');
					for (var i =3D 0; i < nodes.length; i++)
						if (nodes[i].type.toLowerCase() !=3D 'hidden')
							nodes[i].blur();

					AkahukuPostFormHandleWork.handleFloatPostFormOpenerClick();
				}
			},
			handleThumbnailClipperClick : function (e)
			{
				e =3D new EventWrapperClass(e);
				var floatThumbnail =3D =
document.getElementById('akahuku_floatthumbnail');
				if (e.target.checked)
				{
					if (!floatThumbnail)
					{
						var nodes =3D document.getElementsByTagName('img');
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].src && =
nodes[i].src.match(/^http:\/\/[^.]+\.2chan\.net\/.*\d+s\.jpg$/) &&
								nodes[i].parentNode && =
nodes[i].parentNode.nodeName.toLowerCase() =3D=3D 'a')
							{
								nodes[i].id =3D 'akahuku_thumbnail';

								floatThumbnail =3D document.createElement('div');
								floatThumbnail.id =3D 'akahuku_floatthumbnail';
								floatThumbnail.style.display =3D 'none';

								var anchor =3D nodes[i].parentNode.cloneNode(true);
								var img =3D anchor.getElementsByTagName('img')[0];
								img.removeAttribute('hspace');
								img.removeAttribute('align');
								img.style.margin =3D '0';
								img.style.border =3D 'solid 1px #eeaa88';
								if (Akahuku.allowFloatThumbnailAlpha && !window.opera)
								{
									img.style.filter =3D 'alpha(opacity=3D50)';
									img.onmouseover =3D =
AkahukuPostFormHandleWork.handleFloatThumbnailMouseover;
									img.onmouseout =3D  =
AkahukuPostFormHandleWork.handleFloatThumbnailMouseout;
								}

								anchor.appendChild(img);
								floatThumbnail.appendChild(anchor);
								document.body.appendChild(floatThumbnail);
								break;
							}
						}
					}
					AkahukuPostFormHandleWork.floatThumbnailTimerID =3D
						setInterval(AkahukuPostFormHandleWork.handleFloatThumbnailTimer, =
1000);
				}
				else
				{
					if (floatThumbnail)
						floatThumbnail.style.display =3D 'none';
					if (AkahukuPostFormHandleWork.floatThumbnailTimerID)
					{
						clearInterval(AkahukuPostFormHandleWork.floatThumbnailTimerID);
						AkahukuPostFormHandleWork.floatThumbnailTimerID =3D null;
					}
				}
			},
			handleFloatThumbnailMouseover : function (e)
			{
				(new EventWrapperClass(e)).target.style.filter =3D =
'alpha(opacity=3D100)';
			},
			handleFloatThumbnailMouseout : function (e)
			{
				(new EventWrapperClass(e)).target.style.filter =3D =
'alpha(opacity=3D50)';
			},
			handleFloatThumbnailTimer : function ()
			{
				var thumbnail =3D document.getElementById('akahuku_thumbnail');
				var floatThumbnail =3D =
document.getElementById('akahuku_floatthumbnail');
				if (thumbnail && floatThumbnail)
				{
					var y =3D 0;
					for (var tmp =3D thumbnail; tmp; tmp =3D tmp.offsetParent)
						y +=3D tmp.offsetTop;
					floatThumbnail.style.display =3D
						y + thumbnail.offsetHeight < document.documentElement.scrollTop ? =
'block' : 'none';
				}
			}
		};
	}

	/*
	 * configuration box
	 */
	Akahuku.pageManager.addEventListener(
		function ()
		{
			Akahuku.holdReference();

			function createAnchor (id, clickHandler, innerHTML)
			{
				var result =3D document.createElement('a');
				result.id =3D id;
				result.onclick =3D clickHandler;
				result.style.fontSize =3D '9pt';
				result.innerHTML =3D innerHTML;
				return result;
			}
			function createBox (id)
			{
				var result =3D document.createElement('div');
				result.id =3D id;
				result.style.marginBottom =3D '1em';
				result.style.padding =3D '0 1em 1em 1em';
				result.style.border =3D '2px solid #eeaa88';
				result.style.display =3D 'none';
				return result;
			}

			var versionIndicator =3D =
document.getElementById('akahuku_version_indicator');
			if (versionIndicator && document.body && !window.opera)
			{
				document.body.appendChild(createBox('akahuku_debugbox'));
				document.getElementById('akahuku_debuglink').onclick =3D =
AkahukuDebugHandleWork.handleDebugLinkClick;
			}
			if (document.getElementsByTagName('form').length > 0 &&
				Akahuku.isOnline && Akahuku.isNormal && Akahuku.allowUseCookie)
			{
				if (document.body)
					document.body.appendChild(createBox('akahuku_configbox'));
				if (versionIndicator)
					versionIndicator.appendChild(createAnchor(
						'akahuku_configlink',
						AkahukuConfigHandleWork.handleConfigLinkClick,
						'open configurations pane'));
			}
			else if (document.getElementsByTagName('form').length > 0 &&
				Akahuku.isReply)
			{
				if (document.body)
					document.body.appendChild(createBox('akahuku_savebox'));
				if (versionIndicator)
					versionIndicator.appendChild(createAnchor(
						'akahuku_savelink',
						AkahukuSavingHandleWork.handleSaveLinkClick,
						'open current html source pane'));
			}
		});

	var AkahukuDebugHandleWork =3D
	{
		handleDebugLinkClick : function (e)
		{
			function createDebugBoxContent ()
			{
				debugbox.innerHTML =3D
					'<p><b>Debug console</b></p><textarea =
id=3D"akahuku_debugbox_content" =
style=3D"width:100%;height:10em"></textarea>';
			}
			function initDebugBoxContent ()
			{
				var box =3D document.getElementById('akahuku_debugbox_content');
				if (box)
				{
					box.value =3D Akahuku.errorLog.join('\r\n');
				}
			}
			(e =3D new EventWrapperClass(e)).preventDefault();
			var debugbox =3D document.getElementById('akahuku_debugbox');
			if (debugbox)
			{
				if (debugbox.style.display =3D=3D 'none')
				{
					if (debugbox.innerHTML =3D=3D '')
						createDebugBoxContent();

					initDebugBoxContent();
					debugbox.style.display =3D 'block';

					var target =3D document.getElementById('akahuku_debugbox_content');

					target.focus();

					if (target.setSelectionRange)
						target.setSelectionRange(0, target.value.length);
					else if (target.createTextRange)
						target.createTextRange().execCommand('SelectAll');

					e.target.style.color =3D '';
					e.target.style.fontWeight =3D '';
				}
				else
				{
					debugbox.innerHTML =3D '';
					debugbox.style.display =3D 'none';
				}
			}
		}
	};
	var AkahukuSavingHandleWork =3D
	{
		handleCopyClick : function (e)
		{
			window.clipboardData.setData(
				'text', document.getElementById('akahuku_savebox_content').value);
			=
alert('\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC=
\u3057\u307E\u3057\u305F\u3002');
		},
		handleSaveLinkClick : function (e)
		{
			function createSaveBoxContent ()
			{
				savebox.innerHTML =3D
					'<h1>\u6700\u65B0\u306E html \u30BD\u30FC\u30B9</h1>' +
					=
'<p>\u3053\u306E\u30C6\u30AD\u30B9\u30C8\u3092\u4FDD\u5B58\u3059\u308B\u3=
053\u3068\u3067\u3001\u4ECA\u898B\u305F\u307E\u307E\u306E\u30DA\u30FC\u30=
B8\u3092\u518D\u73FE\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305=
9\u3002</p>' +
					'<input type=3D"button" id=3D"akahuku_savebox_copy" =
value=3D"\u30B3\u30D4\u30FC"' + (window.opera ? 'disabled=3D"disabled"' =
: '') + '/><br/>' +
					'<textarea id=3D"akahuku_savebox_content" =
style=3D"width:100%;height:10em"></textarea>';
				document.getElementById('akahuku_savebox_copy').onclick =3D =
AkahukuSavingHandleWork.handleCopyClick;
			}
			function initSaveBoxContent ()
			{
				var box =3D document.getElementById('akahuku_savebox_content');
				if (box)
				{
					function push (item)
					{
						if (!item.match(/^\s*$/)) a.push(item);
					}
					function getBoundary (s, left, right)
					{
						var index =3D s.search(left);
						if (index >=3D 0)
						{
							var index2 =3D s.substring(index).search(right);
							if (index2 >=3D 0)
								return s.substring(index, index + index2);
						}
						return '';
					}

					var a =3D new Array();
					var html =3D document.getElementsByTagName('html')[0].outerHTML;

					// before replies
					push('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 =
Transitional//EN">');
					push('<html><head><meta http-equiv=3D"Content-Type" =
content=3D"text/html;charset=3DShift_JIS" />');
					push('<meta name=3D"generator" content=3D"akahuku" />');
					push('<style type=3D"text/css">');
					push('<!--');
					push('body,tr,td,th{font-size:12pt} a:hover{color:#dd0000} =
span{font-size:20pt} small{font-size:10pt}');
					push(Akahuku.allowWidenReplyHeight ? =
'blockquote{margin-bottom:1em}' : '');
					push('-->');
					push('</style>');
					push('<title>' + document.title + '</title>');
					push('</head>');
					push('<body bgcolor=3D"#FFFFEE" text=3D"#800000" link=3D"#0000EE" =
vlink=3D"#0000EE">');
					push('<div style=3D"text-align:right">[<a =
href=3D"http://www.2chan.net/" =
target=3D"_top">\u30DB\u30FC\u30E0</a>]</div>');
					push('<br />');
					push('<div =
style=3D"font-size:20pt;text-align:center;font-weight:bold">' +
						(function ()
						{
							for (var nodes =3D document.getElementsByTagName('div'), i =3D 0; =
i < nodes.length; i++)
								if (nodes[i].innerHTML.match(/\uFF20\u3075\u305F\u3070\s*$/))
									return nodes[i].innerHTML;
						})() + '</div>');
					push('<br />');
					push('<hr width=3D"90%" size=3D"1" />');
					push('[<a href=3D"' + =
location.href.match(/^http:\/\/([^\/]+\/){2}/)[0] + =
'futaba.htm">\u63B2\u793A\u677F\u306B\u623B\u308B</a>]');
					push('<div =
style=3D"background-color:#e04000;color:#ffffff;text-align:center;padding=
:2px;font-weight:bold">\u30EC\u30B9\u9001\u4FE1\u30E2\u30FC\u30C9</div>')=
;
					push('<br /><hr /><form>');

					// replies
					(function ()
					{
						function fix1 (txt)
						{
							return txt;
						}
						function fix2 (txt)
						{
							return fix1(txt).replace(/(&nbsp;\d+)?(<input)/i, =
function(){return '&nbsp;' + (++replynumber) + arguments[2];});
						}
						var node =3D (function ()
						{
							var nodes =3D document.getElementsByTagName('input');
							for (var i =3D 0; i < nodes.length; i++)
							{
								if (nodes[i].nodeName.toLowerCase() =3D=3D 'input' &&
									nodes[i].type.toLowerCase() =3D=3D 'checkbox' &&
									nodes[i].value =3D=3D 'delete')
									return nodes[i].parentNode.firstChild;
							}
						})();

						for (;node && !node.nodeName.match(/^(hr|table)$/i); node =3D =
node.nextSibling)
							if (node.outerHTML)
								push(node.outerHTML);
							else if (node.nodeValue)
								push(node.nodeValue);

						for (var i =3D 0, fix =3D Akahuku.allowNumbering ? fix2 : fix1, =
replynumber =3D 0; node && node.nodeName.toLowerCase() !=3D 'hr'; node =
=3D node.nextSibling)
							if (node.nodeName.toLowerCase() =3D=3D 'table')
								push(fix(node.outerHTML));
					})();

					// rest
					push(getBoundary(html, /<br[^>]*clear=3D"?left"?>/i, /<script/i));
					push('</form><center>');
					push(getBoundary(html, /<small><!-- GazouBBS v3\.0 -->/i, =
/<\/center>/i));
					push('</body></html>');

					// fix up
					box.value =3D (new CharsetConverterClass()).toSJIS(a.join('\n')
						.replace(/<a[^>]*>/ig, function(){return =
arguments[0].replace(/onclick=3D"[^"]+"/, '');})
						=
.replace(/<div[^<]*id=3D"?(akahuku_reloader_container|akahuku_new_reply_h=
eader|akahuku_bottom_status)"?.*<\/div>/ig, '')
						.replace(/ id=3D"?akahuku_[a-z0-9_]+"?/ig, '')
						.replace(/(<\/?)([a-z]+)/ig, function(){return arguments[1] + =
arguments[2].toLowerCase();})
						.replace(/([^< ])(\/>)/g, '$1 $2')
						.replace(/<small[^>]*>\[<a[^>]*>[^<]*<\/a>\]<\/small>/ig, ''), =
true);
				}
			}

			(e =3D new EventWrapperClass(e)).preventDefault();
			var savebox =3D document.getElementById('akahuku_savebox');
			if (savebox)
			{
				if (savebox.style.display =3D=3D 'none')
				{
					if (savebox.innerHTML =3D=3D '')
						createSaveBoxContent();

					initSaveBoxContent();
					savebox.style.display =3D 'block';
					e.target.innerHTML =3D e.target.innerHTML.replace(/^open/, =
'close');

					var target =3D document.getElementById('akahuku_savebox_content');

					target.focus();

					if (target.setSelectionRange)
						target.setSelectionRange(0, target.value.length);
					else if (target.createTextRange)
						target.createTextRange().execCommand('SelectAll');
				}
				else
				{
					savebox.innerHTML =3D '';
					savebox.style.display =3D 'none';
					e.target.innerHTML =3D e.target.innerHTML.replace(/^close/, =
'open');
				}
			}
		}
	};
	var AkahukuConfigHandleWork =3D
	{
		getConfigurationObject : function ()
		{
			var config =3D Akahuku.getConfigurationObject();
			var nodes =3D =
document.getElementById('akahuku_configbox').getElementsByTagName('input'=
);
			for (var i =3D 0; i < nodes.length; i++)
			{
				if (nodes[i].type.toLowerCase() =3D=3D 'checkbox' && =
nodes[i].id.match(/^akahuku_c_/))
					eval('config.allow' + nodes[i].id.replace(/^akahuku_c_/, '') + =
'=3D' + nodes[i].checked.toString());
				else if (nodes[i].type.toLowerCase() =3D=3D 'text' && =
nodes[i].id.match(/^akahuku_n_/))
					eval('config.number' + nodes[i].id.replace(/^akahuku_n_/, '') + =
'=3D' + parseInt('0' + nodes[i].value.replace(/\s/g, ''), 10));
				else if (nodes[i].type.toLowerCase() =3D=3D 'radio' && =
nodes[i].id.match(/^akahuku_n_/) && nodes[i].checked)
					eval('config.number' + nodes[i].name.replace(/^akahuku_n_/, '') + =
'=3D' + nodes[i].value);
			}
			return config;
		},
		loadConfiguration : function (config)
		{
			var nodes =3D =
document.getElementById('akahuku_configbox').getElementsByTagName('input'=
);
			for (var i =3D 0; i < nodes.length; i++)
			{
				if (nodes[i].type.toLowerCase() =3D=3D 'checkbox' && =
nodes[i].id.match(/^akahuku_c_/))
					nodes[i].checked =3D eval('config.allow' + =
nodes[i].id.replace(/^akahuku_c_/, ''));
				else if (nodes[i].type.toLowerCase() =3D=3D 'text' && =
nodes[i].id.match(/^akahuku_n_/))
					nodes[i].value =3D eval('config.number' + =
nodes[i].id.replace(/^akahuku_n_/, ''));
				else if (nodes[i].type.toLowerCase() =3D=3D 'radio' && =
nodes[i].id.match(/^akahuku_n_/))
				{
					var opts =3D document.getElementsByName(nodes[i].name);
					var value =3D eval('config.number' + =
nodes[i].name.replace(/^akahuku_n_/, ''));
					for (var j =3D 0; j < opts.length; j++)
						opts[j].checked =3D opts[j].value =3D=3D value;
				}
			}
		},
		handleConfigGeneratorClick : function (e)
		{
			(e =3D new EventWrapperClass(e)).preventDefault();
			var result =3D document.getElementById('akahuku_config_generated');
			if (result)
				result.value =3D =
AkahukuConfigHandleWork.getConfigurationObject().toString();
		},
		handleConfigLoaderClick : function (e)
		{
			(e =3D new EventWrapperClass(e)).preventDefault();
			var result =3D document.getElementById('akahuku_config_generated');
			if (result)
				=
AkahukuConfigHandleWork.loadConfiguration(Akahuku.getConfigurationObject(=
).setString(result.value));
		},
		handleConfigOKClick : function (e)
		{
			if (!confirm('\u8A2D\u5B9A\u3092 cookie =
\u306B\u4FDD\u5B58\u3057\u307E\u3059\u3002'))
				return;

			=
Akahuku.setConfigurationToCookie(AkahukuConfigHandleWork.getConfiguration=
Object());

			alert('\u4FDD\u5B58\u3057\u307E\u3057\u305F\u3002' +
				=
'\u6B21\u56DE\u30EA\u30ED\u30FC\u30C9\u6642\u304B\u3089\u6709\u52B9\u3067=
\u3059\u3002');
		},
		handleConfigDeleteClick : function (e)
		{
			if (!confirm('cookie \u3092\u524A\u9664\u3057\u307E\u3059\u3002'))
				return;

			var nodes =3D =
document.getElementById('akahuku_configbox').getElementsByTagName('input'=
);
			for (var i =3D 0; i < nodes.length; i++)
			{
				if (nodes[i].type.toLowerCase() =3D=3D 'checkbox' && =
nodes[i].id.match(/^akahuku_c_/))
					nodes[i].checked =3D false;
				else if (nodes[i].type.toLowerCase() =3D=3D 'text' && =
nodes[i].id.match(/^akahuku_n_/))
					nodes[i].value =3D '';
				else if (nodes[i].type.toLowerCase() =3D=3D 'radio' && =
nodes[i].id.match(/^akahuku_n_/) && nodes[i].checked)
					nodes[i].checked =3D false;
			}

			Akahuku.deleteConfiguration();

			alert('\u3053\u306E\u677F\u306E cookie =
\u3092\u524A\u9664\u3057\u307E\u3057\u305F\u3002');
		},
		handleConfigLinkClick : function (e)
		{
			function createConfigBoxContent (configbox)
			{
				(new StyleWrapperClass()).addRule(
					'#akahuku_configbox td', =
'font-size:9pt;vertical-align:top;text-align:left;padding:0 4px 0 4px'
				).addRule(
					'#akahuku_configbox fieldset', 'margin:0;padding:8px'
				).addRule(
					'#akahuku_configbox fieldset div', 'margin:0 0 0 16px'
				).apply();

				configbox.innerHTML =3D
					'<h1 style=3D"clear:both">akahuku plus configurations</h1>' +
					'<p><small>These configurations are applied to: </small>' +
						'<b style=3D"font-family:monospace">' +
						document.title +
						' [' +
						document.location.href.match(/^http:\/\/([^\/]+\/[^\/]+\/)/)[1] +
						']</b></p>' +

					'<table style=3D"width:100%"><tbody><tr><td style=3D"width:50%">' +
					'<fieldset><legend>\u30A6\u30A3\u30F3\u30C9\u30A6</legend>' +
					'<label for=3D"akahuku_c_ServerTitle"><input type=3D"checkbox" =
id=3D"akahuku_c_ServerTitle">\u30BF\u30A4\u30C8\u30EB\u3092\u9BD6\u540D\u=
3067\u4FEE\u6B63</label>' +
					'<br><label for=3D"akahuku_c_DelBanner"><input type=3D"checkbox" =
id=3D"akahuku_c_DelBanner">\u30D0\u30CA\u30FC\u3092\u96A0\u3059</label>' =
+
					'&nbsp;<label for=3D"akahuku_c_DelTextAd"><input type=3D"checkbox" =
id=3D"akahuku_c_DelTextAd">\u30C6\u30AD\u30B9\u30C8\u306E\u5E83\u544A\u30=
82</label>' +
					'<br><label for=3D"akahuku_c_GoTopOnReload"><input =
type=3D"checkbox" =
id=3D"akahuku_c_GoTopOnReload">0\uFF5E10\u30DA\u30FC\u30B8\u306E\u66F4\u6=
5B0\u6642\u306B\u5148\u982D\u3078</label>' +
					'<br><label for=3D"akahuku_c_GoCurrentOnReply"><input =
type=3D"checkbox" =
id=3D"akahuku_c_GoCurrentOnReply">\u30EC\u30B9\u306E\u9001\u4FE1\u6642\u3=
06B\u6700\u65B0\u4F4D\u7F6E\u3078</label>' +
					'&nbsp;<label for=3D"akahuku_c_RuleOnReply"><input =
type=3D"checkbox" =
id=3D"akahuku_c_RuleOnReply">\u533A\u5207\u308A</label>' +
					'<br><label for=3D"akahuku_c_Subtitle"><input type=3D"checkbox" =
id=3D"akahuku_c_Subtitle">\u30EC\u30B9\u306E\u4E00\u90E8\u3092\u3092\u30B=
5\u30D6\u30BF\u30A4\u30C8\u30EB\u306B\u3059\u308B</label>' +
					'<br><label for=3D"akahuku_c_WindowNaming"><input type=3D"checkbox" =
id=3D"akahuku_c_WindowNaming">\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u518D\=
u5229\u7528</label>' +

					'<br><label for=3D"akahuku_c_DispThreadInfoOnTitle"><input =
type=3D"checkbox" =
id=3D"akahuku_c_DispThreadInfoOnTitle">\u30B9\u30EC\u306E\u6D88\u6EC5\u60=
C5\u5831\u3092\u30BF\u30A4\u30C8\u30EB\u306B\u8868\u793A\u3059\u308B</lab=
el>' +
					'</fieldset>' +

					'<fieldset><legend>\u9001\u4FE1\u30D5\u30A9\u30FC\u30E0</legend>' +
					'<label for=3D"akahuku_c_SageButton"><input type=3D"checkbox" =
id=3D"akahuku_c_SageButton">sage \u30DC\u30BF\u30F3</label>' +
					'<br><label for=3D"akahuku_c_ExtendMailBox"><input =
type=3D"checkbox" =
id=3D"akahuku_c_ExtendMailBox">\u30E1\u30FC\u30EB\u6B04\u306E\u5E45\u3092=
1.5\u500D</label>' +
					'<br><label for=3D"akahuku_c_CommentStatus"><input =
type=3D"checkbox" =
id=3D"akahuku_c_CommentStatus">\u30B3\u30E1\u30F3\u30C8\u306E\u884C\u6570=
\u76E3\u8996</label>' +
					'<br><label for=3D"akahuku_c_ControlCommentHeight"><input =
type=3D"checkbox" =
id=3D"akahuku_c_ControlCommentHeight">\u30B3\u30E1\u30F3\u30C8\u306E\u886=
8\u793A\u884C\u6570\u3092\u64CD\u4F5C</label>' +
					'<br><label for=3D"akahuku_c_FloatPostForm"><input =
type=3D"checkbox" =
id=3D"akahuku_c_FloatPostForm">\u9001\u4FE1\u30D5\u30A9\u30FC\u30E0\u3092=
\u56FA\u5B9A</label>' +

					'<div><table><tbody><tr>' +
					'<td><label for=3D"akahuku_n_FloatFormPosition_3"><input =
type=3D"radio" id=3D"akahuku_n_FloatFormPosition_3" =
name=3D"akahuku_n_FloatFormPosition" =
value=3D"3">\u5DE6\u4E0A</label></td>' +
					'<td><label for=3D"akahuku_n_FloatFormPosition_2"><input =
type=3D"radio" id=3D"akahuku_n_FloatFormPosition_2" =
name=3D"akahuku_n_FloatFormPosition" =
value=3D"2">\u53F3\u4E0A</label></td>' +
					'<td rowspan=3D"2" style=3D"vertical-align:middle;padding:0 1em 0 =
1em"> \u304B\u3089 </td>' +
					'<td><label for=3D"akahuku_n_FloatFormOffsetX">x <input =
type=3D"text" id=3D"akahuku_n_FloatFormOffsetX" =
style=3D"width:3em;text-align:right"> px</label></td>' +
					'</tr><tr>' +
					'<td><label for=3D"akahuku_n_FloatFormPosition_1"><input =
type=3D"radio" id=3D"akahuku_n_FloatFormPosition_1" =
name=3D"akahuku_n_FloatFormPosition" =
value=3D"1">\u5DE6\u4E0B</label></td>' +
					'<td><label for=3D"akahuku_n_FloatFormPosition_0"><input =
type=3D"radio" id=3D"akahuku_n_FloatFormPosition_0" =
name=3D"akahuku_n_FloatFormPosition" =
value=3D"0">\u53F3\u4E0B</label></td>' +
					'<td><label for=3D"akahuku_n_FloatFormOffsetY">y <input =
type=3D"text" id=3D"akahuku_n_FloatFormOffsetY" =
style=3D"width:3em;text-align:right"> px</label></td>' +
					'</tr></tbody></table>' +
					'<label for=3D"akahuku_c_MinimizePostForm"><input type=3D"checkbox" =
id=3D"akahuku_c_MinimizePostForm">\u56FA\u5B9A\u6642\u3067\u304D\u308B\u3=
060\u3051\u5C0F\u3055\u304F\u3059\u308B</label>' +
					'<br><label for=3D"akahuku_c_DispThreadInfoOnForm"><input =
type=3D"checkbox" =
id=3D"akahuku_c_DispThreadInfoOnForm">\u30B9\u30EC\u306E\u6D88\u6EC5\u60C=
5\u5831\u3092\u8868\u793A\u3059\u308B</label>' +
					'<br><label for=3D"akahuku_c_FloatThumbnail"><input =
type=3D"checkbox" =
id=3D"akahuku_c_FloatThumbnail">\u30B5\u30E0\u30CD\u30A4\u30EB\u753B\u50C=
F\u3082\u56FA\u5B9A\u3059\u308B</label>' +
					'&nbsp;<label for=3D"akahuku_c_FloatThumbnailAlpha"><input =
type=3D"checkbox" =
id=3D"akahuku_c_FloatThumbnailAlpha">\u534A\u900F\u660E</label></div>' +
					'<fieldset><legend>0\uFF5E10\u30DA\u30FC\u30B8</legend>' +
					'<label for=3D"akahuku_c_HidePostForm"><input type=3D"checkbox" =
id=3D"akahuku_c_HidePostForm">\u30B9\u30EC\u7ACB\u3066\u30D5\u30A9\u30FC\=
u30E0\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u96A0\u3059</label>' +
					'<br><label for=3D"akahuku_c_ThreadNew"><input type=3D"checkbox" =
id=3D"akahuku_c_ThreadNew">\u30B9\u30EC\u7ACB\u3066\u305F\u3068\u304D\u65=
B0\u3057\u3044\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A</label>' =
+
					'</fieldset>' +
					=
'<fieldset><legend>\u30EC\u30B9\u9001\u4FE1\u30E2\u30FC\u30C9</legend>' =
+
					'<label for=3D"akahuku_c_HideReplyPostForm"><input =
type=3D"checkbox" =
id=3D"akahuku_c_HideReplyPostForm">\u30EC\u30B9\u9001\u4FE1\u30D5\u30A9\u=
30FC\u30E0\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u96A0\u3059</label>'=
 +
					'<br><label for=3D"akahuku_c_AlterThread"><input type=3D"checkbox" =
id=3D"akahuku_c_AlterThread">\u30EC\u30B9\u9001\u4FE1\u30E2\u30FC\u30C9\u=
304B\u3089\u30B9\u30EC\u3092\u7ACB\u3066\u3089\u308C\u308B\u3088\u3046\u3=
06B\u3059\u308B</label>' +
					'</fieldset>' +
					'</fieldset>' +
					'<br><input type=3D"text" id=3D"akahuku_config_generated" =
style=3D"width:100%;font-family:monospace"><br><a =
id=3D"akahuku_config_generator" =
href=3D"?">\u6587\u5B57\u5217\u3092\u751F\u6210</a> | <a =
id=3D"akahuku_config_loader" =
href=3D"?">\u8A2D\u5B9A\u306B\u9069\u7528</a>' +

					'</td><td>' +

					'<fieldset><legend>\u30B9\u30EC\u30C3\u30C9</legend>' +
					'<label for=3D"akahuku_c_Numbering"><input type=3D"checkbox" =
id=3D"akahuku_c_Numbering">\u30EC\u30B9\u756A\u53F7\u3092</label>' +
					'&nbsp;<label for=3D"akahuku_n_ReplyNumberMax"><input type=3D"text" =
id=3D"akahuku_n_ReplyNumberMax" style=3D"width:3em;text-align:right"> =
\u307E\u3067\u632F\u308B</label>' +
					'<br><label for=3D"akahuku_c_BottomStatus"><input type=3D"checkbox" =
id=3D"akahuku_c_BottomStatus">\u6700\u7D42\u30EC\u30B9\u76F4\u4E0B\u306B\=
u30B9\u30C6\u30FC\u30BF\u30B9\u8868\u793A</label>' +
					'<br><label for=3D"akahuku_c_ReplyNew"><input type=3D"checkbox" =
id=3D"akahuku_c_ReplyNew">[\u8FD4\u4FE1] =
\u30EA\u30F3\u30AF\u3092\u65B0\u3057\u3044\u30A6\u30A3\u30F3\u30C9\u30A6\=
u3067\u958B\u304F</label>' +
					'<br><label for=3D"akahuku_c_MarkTextOnlyThread"><input =
type=3D"checkbox" =
id=3D"akahuku_c_MarkTextOnlyThread">\u6587\u5b57\u30b9\u30ec\u3092\u96a0\=
u3059</label>' +
					'&nbsp;<label for=3D"akahuku_c_HideTextOnlyThread"><input =
type=3D"checkbox" =
id=3D"akahuku_c_HideTextOnlyThread">\u8868\u793a\u3082\u3057\u306a\u3044<=
/label>' +
					'<fieldset><legend>XMLHttpRequest</legend>' +
					'<label for=3D"akahuku_c_BackgroundReload"><input type=3D"checkbox" =
id=3D"akahuku_c_BackgroundReload">\u7D9A\u304D\u3092\u8AAD\u3080</label>'=
 +
					'<div><label for=3D"akahuku_c_UseRangeHeader"><input =
type=3D"checkbox" =
id=3D"akahuku_c_UseRangeHeader">\u8AAD\u307F\u8FBC\u307F\u3092\u6700\u5C0=
F\u306B\u3059\u308B</label>' +
					'&nbsp;<label for=3D"akahuku_c_BackgroundLoadThreadInfo"><input =
type=3D"checkbox" =
id=3D"akahuku_c_BackgroundLoadThreadInfo">\u30B9\u30EC\u6D88\u6EC5\u60C5\=
u5831\u3082</label>' +
					'&nbsp;<label for=3D"akahuku_n_ThreadInfoLoadInterval"><input =
type=3D"text" id=3D"akahuku_n_ThreadInfoLoadInterval" =
style=3D"width:3em;text-align:right">\u79D2\u3054\u3068\u306B\u8AAD\u3080=
</label>' +
					'<br><label for=3D"akahuku_c_RuleOnBackgroundReload"><input =
type=3D"checkbox" =
id=3D"akahuku_c_RuleOnBackgroundReload">\u533A\u5207\u308A</label>' +
					'<br><label for=3D"akahuku_c_BackgroundPostReply"><input =
type=3D"checkbox" =
id=3D"akahuku_c_BackgroundPostReply">\u30EC\u30B9\u9001\u4FE1\u3068\u9023=
\u643A</label>' +
					'&nbsp;<label for=3D"akahuku_c_UseSJISEncoder"><input =
type=3D"checkbox" id=3D"akahuku_c_UseSJISEncoder">EncodeSJIS =
\u3092\u4F7F\u3046</label>' +
					'</div></fieldset>' +
					'</fieldset>' +

					'<fieldset><legend>\u30EC\u30B9</legend>' +
					'<label for=3D"akahuku_c_CuteFont"><input type=3D"checkbox" =
id=3D"akahuku_c_CuteFont">\u30D5\u30A9\u30F3\u30C8\u5909\u66F4</label>' =
+
					'<br><label for=3D"akahuku_c_ShowMail"><input type=3D"checkbox" =
id=3D"akahuku_c_ShowMail">\u30E1\u30FC\u30EB\u6B04\u8868\u793A</label>' =
+
					'<br><label for=3D"akahuku_c_AutoLink"><input type=3D"checkbox" =
id=3D"akahuku_c_AutoLink">\u30AA\u30FC\u30C8\u30EA\u30F3\u30AF</label>' =
+
					'<div><label for=3D"akahuku_c_AutoLinkF"><input type=3D"checkbox" =
id=3D"akahuku_c_AutoLinkF">\u3042\u3077\u5C0F</label>' +
					'&nbsp;<label for=3D"akahuku_c_AutoLinkS"><input type=3D"checkbox" =
id=3D"akahuku_c_AutoLinkS">\u5869\uFF11</label>' +
					'&nbsp;<label for=3D"akahuku_c_AutoLinkFutalog"><input =
type=3D"checkbox" =
id=3D"akahuku_c_AutoLinkFutalog">\u3075\u305F\u30ED\u30B0</label>' +
					'<br><label for=3D"akahuku_c_InlineImage"><input type=3D"checkbox" =
id=3D"akahuku_c_InlineImage">\u753B\u50CF\u306E\u30A4\u30F3\u30E9\u30A4\u=
30F3\u8868\u793A</label></div>' +
					'<label for=3D"akahuku_c_SorrowVipper"><input type=3D"checkbox" =
id=3D"akahuku_c_SorrowVipper">\u3046\u306F......\u304A\uFF4B......</label=
>' +

					'&nbsp;<label for=3D"akahuku_n_VipperMode_0"><input type=3D"radio" =
id=3D"akahuku_n_VipperMode_0" name=3D"akahuku_n_VipperMode" =
value=3D"0"><font color=3D"red">......</font></label>' +
					'&nbsp;<label for=3D"akahuku_n_VipperMode_1"><input type=3D"radio" =
id=3D"akahuku_n_VipperMode_1" name=3D"akahuku_n_VipperMode" =
value=3D"1">......</label>' +
					'&nbsp;<label for=3D"akahuku_n_VipperMode_2"><input type=3D"radio" =
id=3D"akahuku_n_VipperMode_2" name=3D"akahuku_n_VipperMode" =
value=3D"2">\u96A0\u3059</label>' +

					'<br><label for=3D"akahuku_c_QuickQuote"><input type=3D"checkbox" =
id=3D"akahuku_c_QuickQuote">\u9078\u629E\u6587\u5B57\u5217\u3092\u5F15\u7=
528</label>' +
					'<br><label for=3D"akahuku_c_LimitReplyWidth"><input =
type=3D"checkbox" =
id=3D"akahuku_c_LimitReplyWidth">\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u5E=
45\u3092\u8D85\u3048\u308B\u30EC\u30B9\u3092\u51E6\u7406\u3059\u308B</lab=
el>' +
					'<br><label for=3D"akahuku_c_WidenReplyHeight"><input =
type=3D"checkbox" =
id=3D"akahuku_c_WidenReplyHeight">\u30EC\u30B9\u306E\u4E0A\u4E0B\u306B\u3=
0DE\u30FC\u30B8\u30F3\u3092\u3068\u308B</label>' +
					'<br><label for=3D"akahuku_c_PopupQuote"><input type=3D"checkbox" =
id=3D"akahuku_c_PopupQuote">\u5F15\u7528\u306E\u30DD\u30C3\u30D7\u30A2\u3=
0C3\u30D7</label>' +
					'</fieldset>' +

					'<fieldset><legend>\u30AB\u30BF\u30ED\u30B0</legend>' +
					'<label for=3D"akahuku_c_CatalogFullClickable"><input =
type=3D"checkbox" =
id=3D"akahuku_c_CatalogFullClickable">\u7A7A\u767D\u306E\u672C\u6587\u309=
2\u5F37\u5236\u30EA\u30F3\u30AF</label>' +
					'<br><label for=3D"akahuku_c_CatalogReorder"><input =
type=3D"checkbox" =
id=3D"akahuku_c_CatalogReorder">\u30BD\u30FC\u30C8</label>' +
					'<br><label for=3D"akahuku_c_CatalogHilightVisited"><input =
type=3D"checkbox" =
id=3D"akahuku_c_CatalogHilightVisited">\u4E00\u5EA6\u898B\u305F\u30B9\u30=
EC\u3092\u30DE\u30FC\u30AF</label>' +
					'<fieldset><legend>XMLHttpRequest</legend>' +
					'<label for=3D"akahuku_c_BackgroundLoadCatalog"><input =
type=3D"checkbox" =
id=3D"akahuku_c_BackgroundLoadCatalog">\u6700\u65B0\u306B\u66F4\u65B0</la=
bel>' +
					'&nbsp;<label for=3D"akahuku_c_ReplyNumberDelta"><input =
type=3D"checkbox" =
id=3D"akahuku_c_ReplyNumberDelta">\u30EC\u30B9\u306E\u5897\u52A0\u6570\u3=
092\u8868\u793A</label>' +
					'</fieldset>' +
					'</fieldset></td></tr></tbody></table>' +

					'<div style=3D"clear:both"><hr>' +
					'<input type=3D"button" id=3D"akahuku_configok" =
value=3D"\u8A2D\u5B9A">' +
					'<input type=3D"button" id=3D"akahuku_configdelete" =
value=3D"\u3053\u306E\u677F\u306E cookie \u3092\u524A\u9664" =
style=3D"margin-left:12px" ' + (document.cookie.match(/akahukusettings/) =
? '' : 'disabled=3D"disalbed"') + '>';

				document.getElementById('akahuku_config_generator').onclick =3D =
AkahukuConfigHandleWork.handleConfigGeneratorClick;
				document.getElementById('akahuku_config_loader').onclick =3D =
AkahukuConfigHandleWork.handleConfigLoaderClick;
				document.getElementById('akahuku_configok').onclick =3D =
AkahukuConfigHandleWork.handleConfigOKClick;
				document.getElementById('akahuku_configdelete').onclick =3D =
AkahukuConfigHandleWork.handleConfigDeleteClick;
			}
			function initConfigBoxContent (configbox)
			{
				=
AkahukuConfigHandleWork.loadConfiguration(Akahuku.getConfigurationObject(=
));
			}

			(e =3D new EventWrapperClass(e)).preventDefault();
			var configbox =3D document.getElementById('akahuku_configbox');
			if (configbox)
			{
				if (configbox.style.display =3D=3D 'none')
				{
					if (configbox.innerHTML =3D=3D '')
						createConfigBoxContent(configbox);

					initConfigBoxContent(configbox);
					configbox.style.display =3D 'block';
					e.target.innerHTML =3D e.target.innerHTML.replace(/^open/, =
'close');

					var configok =3D document.getElementById('akahuku_configok');
					if (configok)
						configok.focus();
				}
				else
				{
					configbox.style.display =3D 'none';
					e.target.innerHTML =3D e.target.innerHTML.replace(/^close/, =
'open');
				}
			}
		}
	};

	/*
	 * window enhancement
	 * =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	 */
	(function ()
	{
		// go current position on reply
		if (Akahuku.allowGoCurrentOnReply && Akahuku.isReply && =
Akahuku.allowUseCookie && Akahuku.isOnline)
		{
			Akahuku.onloadManager.addEventListener(
				function ()
				{
					var re =3D document.cookie.match(/akahukulasttop=3D([^;]+)/);
					if (re && re[1])
					{
						var lastReply =3D unescape(re[1]);

						var nodes =3D document.getElementsByName(lastReply);
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].type.toLowerCase() =3D=3D 'checkbox' &&
								nodes[i].value =3D=3D 'delete')
							{
								for (var tmp =3D nodes[i]; tmp; tmp =3D tmp.parentNode)
								{
									if (tmp.nodeName.toLowerCase() =3D=3D 'table' && =
tmp.parentNode)
									{
										if (Akahuku.allowRuleOnReply)
										{
											tmp.parentNode.insertBefore(Akahuku.createNewReplyHeader(), =
tmp.nextSibling);
										}
										break;
									}
								}

								var y =3D -64;
								for (var tmp =3D nodes[i]; tmp; tmp =3D tmp.offsetParent)
									y +=3D tmp.offsetTop;
								if (y < 0) y =3D 0;

								window.scrollTo(0, y);
								break;
							}
						}
						var headerNumber =3D =
document.getElementById('akahuku_new_reply_header_number');
						if (headerNumber)
						{
							var count =3D 0;
							var nodes =3D document.getElementsByTagName('input');
							for (var i =3D nodes.length - 1; i >=3D 0; i--)
							{
								if (nodes[i].type.toLowerCase() =3D=3D 'checkbox' &&
									nodes[i].value =3D=3D 'delete')
								{
									if (parseInt(nodes[i].name) > parseInt(lastReply))
										count++
									else
										break;
								}
							}
							headerNumber.innerHTML =3D '&nbsp;' + count + =
'&nbsp;\u4EBA\u304C';
						}
					}

					var d =3D new Date();
					d.setYear(d.getYear() - 1);
					document.cookie =3D
						'akahukulasttop=3D0' +
						';path=3D' + location.pathname.match(/\/[^/]+\//)[0] +
						';expires=3D' + d.toGMTString() + ';'
				});
		}

		// go top on reload
		if (Akahuku.allowGoTopOnReload && Akahuku.isNormal)
		{
			Akahuku.onloadManager.addEventListener(
				function ()
				{
					if (window.opera)
						window.scrollTo(0, 0);
					else
					{
						document.body.onbeforeunload =3D function ()
						{
							window.scrollTo(0, 0);
						};
					}
				});
		}

		// delete banner
		if (Akahuku.allowDelBanner && Akahuku.isOnline)
		{
			function doDispImage ()
			{
				for (var i =3D 0, images =3D document.getElementsByTagName('img'); =
images[i]; i++)
				{
					if (images[i].src.match(/^(data:|http:\/\/local\.ptron\/)/)) =
continue;
					if (images[i].className.match(/^akahuku_generated/)) continue;

					if (images[i].src.match(/^http:\/\/.*2chan\.net(:\d+)?\//))
					{
						images[i].style.display =3D 'inline';
					}
					else
					{
						images[i].parentNode.removeChild(images[i]);
						i--;
					}
				}
			}
			function doDeleteBanner ()
			{
				for (var i =3D 0, images =3D document.getElementsByTagName('img'); =
images[i]; i++)
				{
					if (images[i].src.match(/^(data:|http:\/\/local\.ptron\/)/)) =
continue;
					if (images[i].className.match(/^akahuku_generated/)) continue;

					if (!images[i].src.match(/^http:\/\/.*2chan\.net(:\d+)?\//))
					{
						images[i].parentNode.removeChild(images[i]);
						i--;
					}
				}
				for (var i =3D 0, iframes =3D =
document.getElementsByTagName('iframe'); iframes[i]; i++)
				{
					if (!iframes[i].src.match(/^http:\/\/.*2chan\.net(:\d+)?\//))
					{
						iframes[i].parentNode.removeChild(iframes[i]);
						i--;
					}
				}
			}
			function doDeleteTextAd ()
			{
				for (var i =3D 0, bolds =3D document.getElementsByTagName('b'); =
bolds[i]; i++)
				{
					var prev =3D anchors =3D next =3D null;


					if ((prev =3D bolds[i].previousSibling) &&
						prev.nodeType =3D=3D 3 &&

						(next =3D bolds[i].nextSibling) &&
						next.nodeName.toLowerCase() =3D=3D 'br' &&

						(anchors =3D bolds[i].getElementsByTagName('a')) &&
						anchors.length =3D=3D 1 &&
						!anchors[0].href.match(/^http:\/\/[^\.]+\.2chan\.net/))
					{
						prev.parentNode.removeChild(prev);
						bolds[i].parentNode.removeChild(bolds[i]);
						next.parentNode.removeChild(next);
						i--;
					}
				}
			}

			if (Akahuku.isCatalog)
				Akahuku.pageManager.addEventListener(doDeleteBanner);
			else
			{
				Akahuku.pageManager.addEventListener(doDispImage);
				if (Akahuku.allowDelTextAd)
					Akahuku.pageManager.addEventListener(doDeleteTextAd);
				Akahuku.onloadManager.addEventListener(doDeleteBanner);
			}
		}

		// subtitle
		if (Akahuku.allowSubtitle && (Akahuku.isNormal || Akahuku.isReply))
		{
			Akahuku.pageManager.addEventListener(
				function ()
				{
					function fixUpText (txt)
					{
						txt =3D txt.replace(/<font[^>]*>(&gt;)?([^<]*)<\/font>/i, '$2');
						txt =3D txt.replace(/^\s*/, '').replace(/\s*$/, '');
						if (txt.match(/\u2501+\(\uFF9F\u2200\uFF9F\)\u2501+/))
							return '\u304A\u3061\u3093\u3061\u3093\u30E9\u30F3\u30C9';
						else
							return txt;
					}
					function getText (element, searchdown, ellipsis)
					{
						var a =3D element.innerHTML.split(/<br\/?>/i);
						if (a.length =3D=3D 0)
							return '';

						var s =3D a[searchdown ? 0 : a.length - 1];
						for (var i =3D searchdown ? 0 : a.length - 1; i >=3D 0 && i < =
a.length; i +=3D searchdown ? 1 : -1)
						{
							if (a[i].length > 0 && !a[i].match(/<font[^>]*>/i) && =
!a[i].match(/:\/\//))
							{
								s =3D a[i];
								break;
							}
						}

						s =3D fixUpText(s);

						if (s.length > 20)
						{
							s =3D s.substring(0, 20);
							if (ellipsis)
								s +=3D '...';
						}

						return s;
					}

					var bqnodes =3D document.getElementsByTagName('blockquote');
					if (bqnodes.length =3D=3D 0)
						return;

					if (Akahuku.isReply)
						document.title =3D document.title.replace(/\[\u8FD4\u4FE1\]/, =
getText(bqnodes[0], true, true) + ' $&');
					else if (Akahuku.isNormal)
					{
						var nodes =3D document.getElementsByTagName('div');
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].innerHTML.match(/^\u4E8C\u6B21\u5143\u88CF/))
							{
								nodes[i].innerHTML +=3D
									'<p style=3D"font-size:12pt;margin-bottom:0">\u2500\u2500 ' +
									getText(bqnodes[Math.floor(Math.random() * bqnodes.length)], =
true, false) +
									' ' +
									getText(bqnodes[Math.floor(Math.random() * bqnodes.length)], =
false, false) +
									' \u2500\u2500</p>';

								break;
							}
						}
					}
				});
		}

		// fix document title
		if (Akahuku.allowServerTitle && Akahuku.isOnline)
		{
			var s =3D document.title;

			// ex. 'nijiura img'
			if (Akahuku.isNijiura)
			{
				s =3D document.title.replace(
					/\u4E8C\u6B21\u5143\u88CF\uFF20\u3075\u305F\u3070/,
					'\u8679\u88CF ' + Akahuku.nijiuraServer);
			}

			// ex. 'nijiura img [page 1]'
			if (Akahuku.isNormal && Akahuku.normalPageNumber > 0)
				s +=3D ' [\u30DA\u30FC\u30B8 ' + Akahuku.normalPageNumber + ']';

			// ex. 'nijiura img [reply]'
			else if (Akahuku.isReply)
				s +=3D ' [\u8FD4\u4FE1]';

			// ex. 'nijiura img [catalog]'
			else if (Akahuku.isCatalog)
				s +=3D ' [\u30AB\u30BF\u30ED\u30B0]';

			document.title =3D s;
		}
	})();

	/*
	 * thread enhancement
	 * =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	 */
	if (Akahuku.isNormal || Akahuku.isReply)
	{
		Akahuku.pageManager.addEventListener(
			function ()
			{
				function dispThreadStatus ()
				{
					function addStatus (index)
					{
						if (Akahuku.allowBottomStatus &&
							index >=3D 0 &&
							nodes[index].parentNode.nodeType =3D=3D 1 &&
							nodes[index].parentNode.nodeName.toLowerCase() =3D=3D 'td')
							nodes[index].parentNode.appendChild(
								Akahuku.createThreadStatus(
									replyNumber, threadStatus, threadWarning, Akahuku.isReply));
					}
					function hideTextOnlyThread (node)
					{
						while (node)
						{
							if (node.nodeType =3D=3D 1 && node.nodeName.toLowerCase() =3D=3D =
'hr') break;
							node =3D node.previousSibling ? node.previousSibling : =
node.parentNode;
						}

						node =3D node.nextSibling;

						if (Akahuku.allowHideTextOnlyThread)
							=
node.previousSibling.parentNode.removeChild(node.previousSibling);
						else
						{
							var p =3D document.createElement('p');
							p.style.fontSize =3D '9pt';
							p.style.color =3D 'red';
							p.style.margin =3D '0';
							p.style.padding =3D '0';
							p.innerHTML =3D =
'\u3053\u306e\u30b9\u30ec\u306f\u6587\u5b57\u30b9\u30ec\u306a\u306e\u3067=
\u975e\u8868\u793a\u306b\u306a\u3063\u3066\u3044\u307e\u3059.';
							node.parentNode.insertBefore(p, node);
						}

						if (node.nodeType =3D=3D 1 && node.nodeName.toLowerCase() =3D=3D =
'form')
							node =3D node.firstChild;

						while (node)
						{
							if (node.nodeType =3D=3D 1 && node.nodeName.toLowerCase() =3D=3D =
'hr') break;
							node =3D node.nextSibling;
							=
node.previousSibling.parentNode.removeChild(node.previousSibling);
						}
					}
					var textOnlyThreads =3D new Array();
					var nodes =3D document.getElementsByTagName('input');
					var threadOwnersHTML, replyNumber, threadStatus, threadWarning;
					var re, previ =3D -1;
					for (var i =3D 0; i < nodes.length; i++)
					{
						if (nodes[i].type.toLowerCase() !=3D 'checkbox') continue;
						if (nodes[i].value !=3D 'delete') continue;
						if (nodes[i].parentNode.nodeName.toLowerCase() =3D=3D 'td')
						{
							previ =3D i;
							replyNumber++;
							continue;
						}

						addStatus(previ);
						previ =3D -1;
						nodes[i].__startindex =3D '0';
						replyNumber =3D 0;
						threadStatus =3D '';
						threadWarning =3D '';

						for (var n =3D nodes[i].nextSibling; n && =
!n.nodeName.match(/^(table|hr)$/i); n =3D n.nextSibling)
						{
							switch (n.nodeName.toLowerCase())
							{
							case 'blockquote':
								if (Akahuku.isReply)
									n.id =3D 'akahuku_thread_text';
								break;
							case 'font':
								if (re =3D =
n.innerHTML.match(/\u30EC\u30B9(\d+)\u4EF6\u7701\u7565/))
								{
									replyNumber =3D parseInt(re[1]);
									nodes[i].__startindex =3D re[1];
									if (window.opera && Akahuku.isNormal)
										nodes[i].style.counterReset =3D 'replynumber ' + re[1];
								}
								else if (re =3D =
n.innerHTML.match(/<b>\u3053\u306E\u30B9\u30EC\u306F[^<]+<\/b>/i))
								{
									threadWarning =3D re[0];
									Akahuku.doDisplayThreadDeleteWarning(threadWarning);
									if (Akahuku.isReply)
										n.id =3D 'akahuku_thread_warning';
								}
								break;
							case 'small':
								if (re =3D =
n.innerHTML.match(/(\d{2}:\d{2})\u9803\u6D88\u3048\u307E\u3059/))
								{
									threadStatus =3D re[1] + '\u9803\u6D88\u3048\u307E\u3059';
									Akahuku.doDisplayThreadDeleteTime(threadStatus);
									if (Akahuku.isReply)
										n.id =3D 'akahuku_thread_deletetime';
								}
								break;
							}
						}

						if (Akahuku.allowMarkTextOnlyThread &&
							(Akahuku.isNormal || Akahuku.allowHideTextOnlyThread) &&
							nodes[i].previousSibling.nodeName.toLowerCase() !=3D 'a')
							textOnlyThreads.push(nodes[i]);
					}
					addStatus(previ);

					if (Akahuku.allowMarkTextOnlyThread && textOnlyThreads.length > 0)
					{
						for (var i =3D 0; i < textOnlyThreads.length; i++)
							hideTextOnlyThread(textOnlyThreads[i]);

						if (Akahuku.allowHideTextOnlyThread)
						{
							var p =3D document.createElement('p');
							p.style.fontSize =3D '9pt';
							p.style.color =3D 'red';
							p.style.margin =3D '0';
							p.style.padding =3D '0';
							p.style.textAlign =3D 'right';
							p.innerHTML =3D textOnlyThreads.length + =
'\u500b\u306e\u6587\u5b57\u30b9\u30ec\u3092\u96a0\u3057\u307e\u3057\u305f=
';

							var nodes =3D document.getElementsByTagName('hr');
							if (nodes.length > 0)
								nodes[nodes.length - 1].parentNode.insertBefore(
									p, nodes[nodes.length - 1]);
						}
					}
				}
				function numbering ()
				{
					if (Akahuku.allowNumbering && !window.opera)
					{
						var numbermax =3D Akahuku.numberReplyNumberMax =3D=3D 0 ? 100 : =
Akahuku.numberReplyNumberMax;
						var nodes =3D document.getElementsByTagName('input');
						var replyNumber =3D 0;
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].type.toLowerCase() !=3D 'checkbox') continue;
							if (nodes[i].value !=3D 'delete') continue;

							if (nodes[i].__startindex !=3D undefined)
								replyNumber =3D parseInt(nodes[i].__startindex) + 1;
							else
							{
								if (replyNumber <=3D numbermax)
								{
									nodes[i].parentNode.innerHTML =3D
										'&nbsp;' + replyNumber + nodes[i].parentNode.innerHTML;
									replyNumber++;
								}
								else if (Akahuku.isReply)
									break;
							}
						}
					}
				}
				function fixReplyLink ()
				{
					if (Akahuku.allowReplyNew)
					{
						var nodes =3D document.getElementsByTagName('a');
						for (var i =3D 0; i < nodes.length; i++)
						{
							if (nodes[i].innerHTML =3D=3D '\u8FD4\u4FE1')
							{
								nodes[i].innerHTML +=3D '*';
								nodes[i].target =3D Akahuku.getWindowName(nodes[i].href);
							}
						}
					}
				}

				// thread status
				dispThreadStatus();

				// reply numbering
				numbering();

				// reply in new window
				fixReplyLink();
			});
	}

	/*
	 * reply enhancement
	 * =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	 */
	if (Akahuku.isNormal || Akahuku.isReply)
	{
		// show mail
		if (Akahuku.allowShowMail)
		{
			Akahuku.pageManager.addEventListener(
				function ()
				{
					AkahukuAutoLinkHandleWork.handleShowMail(document);
				});
		}

		// autolink
		if (Akahuku.allowAutoLink ||
			Akahuku.allowAutoLinkF ||
			Akahuku.allowAutoLinkS ||
			Akahuku.allowAutoLinkFutalog ||
			Akahuku.allowSorrowVipper)
		{
			Akahuku.pageManager.addEventListener(
				function ()
				{
					AkahukuAutoLinkHandleWork.handleAutoLink(document);
				});
		}

		// quoted reply popup
		if (Akahuku.allowPopupQuote && Akahuku.isReply)
		{
			Akahuku.pageManager.addEventListener(
				function ()
				{
					document.body.onmousemove =3D =
AkahukuReplyPopupHandleWork.handleMouseMove;
				});

			var AkahukuReplyPopupHandleWork =3D
			{
				timerID : 0,
				pageX : 0,
				pageY : 0,
				popups : new Array(),
				removePopup : function (sentinelTd)
				{
					var a =3D AkahukuReplyPopupHandleWork.popups;
					while (a.length > 0 && a[a.length - =
1].getElementsByTagName('td')[0] !=3D sentinelTd)
						document.body.removeChild(a.pop());
				},
				handleMouseMove : function (e)
				{
					e =3D new EventWrapperClass(e);

					if (AkahukuReplyPopupHandleWork.timerID)
						clearTimeout(AkahukuReplyPopupHandleWork.timerID);

					AkahukuReplyPopupHandleWork.pageX =3D e.pageX;
					AkahukuReplyPopupHandleWork.pageY =3D e.pageY;
					AkahukuReplyPopupHandleWork.timerID =3D setTimeout(
						AkahukuReplyPopupHandleWork.handlePopupWaitTimeout,
						parseInt(1000 * 0.3));
				},
				handleAnchorClick : function (e)
				{
					try
					{
						var id =3D e.href.match(/#(_\d+)/)[1];
						var target =3D document.getElementById(id);
						if (target)
						{
							target.style.backgroundColor =3D 'Highlight';
							target.style.color =3D 'HighlightText';

							var y =3D -64;
							for (var tmp =3D target; tmp; tmp =3D tmp.offsetParent)
								y +=3D tmp.offsetTop;
							if (y < document.body.scrollTop)
								scrollTo(0, (y < 0) ? 0 : y);

							AkahukuReplyPopupHandleWork.removePopup();

							setTimeout(
								'(function(){var target =3D document.getElementById("' + id + =
'");' +
								'if (target) {' +
								'target.style.backgroundColor =3D "transparent";' +
								'target.style.color =3D "";}})();',
								2000);
						}
					}
					finally
					{
						return false;
					}
				},
				handlePopupWaitTimeout : function ()
				{
					function getParent (element, tagName)
					{
						for (; element; element =3D element.parentNode)
						{
							if (element.nodeType !=3D 1) continue;
							if (element.nodeName.toLowerCase() =3D=3D tagName)
								break;
						}
						return element;
					}
					function getQuoteFont (element)
					{
						var result =3D getParent(element, 'font');
						return (result && result.color =3D=3D '#789922') ? result : null;
					}
					function getThreadOwnersHTML (element)
					{
						var result =3D '';
						while (element)
						{
							if (element.nodeType =3D=3D 1 &&
								element.nodeName.toLowerCase() =3D=3D 'input' &&
								element.type =3D=3D 'checkbox')
								break;

							if (element.outerHTML)
								result =3D element.outerHTML + result;
							else if (element.nodeValue)
								result =3D element.nodeValue + result;
							element =3D element.previousSibling;
						}
						return result;
					}
					function getPopupContent (html)
					{
						return html.replace(
							=
/<small[^>]*>(\[<a[^>]*>[^<]*<\/a>\])?(\d+:\d+\u9803\u6D88\u3048\u307E\u3=
059)?<\/small>/ig,
							''
						).replace(
							/No\.(\d+)/i,
							'<a href=3D"' + document.location.href +
							'#_$1" onclick=3D"return =
AkahukuReplyPopupHandleWork.handleAnchorClick(this)">No.$1</a>'
						).replace(
							/<img[^>]*>/ig,
							''
						);
					}
					function getQuoteOriginal (quoted, sentinelBlockQuote, =
sentinelTableData)
					{
						var re =3D quoted.innerText.match(/^(&gt;|>)*(No\.)?(\d+)\s*$/);
						if (re)
						{
							var quotedNo =3D re[3];
							var replyIndex =3D 0;
							var nodes =3D document.getElementsByTagName('input');
							for (var i =3D 0; i < nodes.length; i++)
							{
								if (nodes[i].type.toLowerCase() !=3D 'checkbox') continue;
								if (nodes[i].value !=3D 'delete') continue;

								var t =3D '';
								var bq =3D null;
								for (var node =3D nodes[i].nextSibling; node; node =3D =
node.nextSibling)
								{
									if (node.nodeType =3D=3D 1 && =
node.nodeName.match(/^(hr|table)$/i))
										break;
									if (node.nodeType =3D=3D 1 && node.nodeName.toLowerCase() =
=3D=3D 'blockquote')
									{
										bq =3D node;
										break;
									}
									if (node.innerText)
										t +=3D node.innerText
									else if (node.nodeValue)
										t +=3D node.nodeValue;
								}
								if (t.indexOf(quotedNo) >=3D 0 && bq)
									return [replyIndex, bq];

								replyIndex++;
							}
						}
						else
						{
							var quotedText =3D quoted.innerText.replace(/(\s|\u3000)*$/, '');

							var quotedTexts =3D sentinelBlockQuote.innerText.split('\n');
							for (var i =3D 0; i < quotedTexts.length; i++)
							{
								if (quotedTexts[i].replace(/(\s|\u3000)*$/, '') =3D=3D =
quotedText)
								{
									for (var j =3D i - 1; j >=3D 0 && =
quotedTexts[j].match(/^(>|&gt;)/); j--)
										quotedText =3D quotedTexts[j] + '\n' + quotedText;

									quotedText =3D quotedText.replace(/^(>|&gt;)/, =
'').replace(/\n(>|&gt;)/g, '\n');

									var nodes =3D document.getElementsByTagName('blockquote');
									for (var j =3D 0; j < nodes.length && nodes[j].innerHTML !=3D =
sentinelBlockQuote.innerHTML; j++)
										if (nodes[j].innerText.indexOf(quotedText) >=3D 0)
											return [j, nodes[j]];
								}
							}
						}
						return null;
					}

					var element =3D Akahuku.getElementFromPoint(
						AkahukuReplyPopupHandleWork.pageX,
						AkahukuReplyPopupHandleWork.pageY);
					var q =3D getQuoteFont(element);
					var bq =3D getParent(q, 'blockquote');
					var td =3D getParent(q, 'td');

					if (q && bq && td && Akahuku.getSelection().length =3D=3D 0)
					{
						var quoteOriginal =3D getQuoteOriginal(q, bq, td);
						if (quoteOriginal)
						{
							AkahukuReplyPopupHandleWork.removePopup(
								td.className.match(/^akahuku_reply_popup_td2?$/) ? td : null);

							var td =3D getParent(quoteOriginal[1], 'td');
							var div =3D document.createElement('div');
							div.className =3D 'akahuku_reply_popup';

							if (quoteOriginal[0] > 0)
								div.innerHTML =3D
									'<table><tbody><tr><th>\u2026</th>' +
									'<td class=3D"akahuku_reply_popup_td">' +
									'<b>' + quoteOriginal[0] + '</b> ' +
									getPopupContent(td.innerHTML.replace(/\d*\s*<input[^>]*>/i, =
'')) +
									'</td></tr></tbody></table>';
							else
								div.innerHTML =3D
									'<table><tbody><tr>' +
									'<td class=3D"akahuku_reply_popup_td2">' +
									getPopupContent(getThreadOwnersHTML(quoteOriginal[1])) +
									'</td></tr></tbody></table>';

							div.style.left =3D (AkahukuReplyPopupHandleWork.pageX + 8) + =
'px';
							div.style.top =3D (AkahukuReplyPopupHandleWork.pageY + 8) + 'px';

							quoteOriginal[1].id =3D '_' + =
div.innerHTML.match(/No\.(\d+)/)[1];

							AkahukuReplyPopupHandleWork.popups.push(div);
							document.body.appendChild(div);
							return;
						}
					}

					var elementParent;
					if (element &&
						(elementParent =3D getParent(element.parentNode, 'div')) &&
						elementParent.className =3D=3D 'akahuku_reply_popup')
					{
						=
AkahukuReplyPopupHandleWork.removePopup(elementParent.getElementsByTagNam=
e('td')[0]);
						return;
					}

					AkahukuReplyPopupHandleWork.removePopup();
					AkahukuReplyPopupHandleWork.timerID =3D setTimeout(
						AkahukuReplyPopupHandleWork.handlePopupWaitTimeout,
						parseInt(1000 * 0.3));
				}
			};
		}

		var AkahukuAutoLinkHandleWork =3D
		{
			linkify : function (txt, allowInlineImage)
			{
				function linkifyResultClass (updated, result)
				{
					this.updated =3D updated;
					this.result =3D result;
				}
				function matchPatternClass (pattern, enabled, replacer)
				{
					this.pattern =3D pattern;
					this.enabled =3D enabled;
					this.getReplacement =3D replacer;
					this.matchPosition =3D 0;
					this.nextPosition =3D 0;
					this.parens =3D null;
					this.match =3D function (atxt)
					{
						if (this.enabled && (this.parens =3D atxt.match(this.pattern)))
						{
							this.matchPosition =3D RegExp.leftContext.length;
							this.nextPosition =3D this.matchPosition + this.parens[0].length;
						}
						else
							this.matchPosition =3D this.nextPosition =3D 65536;
					};
				}

				var updated =3D false;
				var pieces =3D new Array();
				var patterns =3D new Array(
					new matchPatternClass(
						=
/(file|ftp|mms|rtsp|h?t?t?p?s?)(:\/\/[!#$%&'()*+,\-.\/0-9:;=3D?@A-Z\\_a-z=
~\uFF5E]+)/,
						Akahuku.allowAutoLink,
						function ()
						{
							var m;
							switch (this.parens[1])
							{
							case 'file':
							case 'ftp':
							case 'mms':
							case 'rtsp':
								m =3D this.parens[1];
								break;
							default:
								m =3D 'http' + ((this.parens[1].length > 0 && =
this.parens[1].substr(-1, 1) =3D=3D 's') ? 's' : '');
								break;
							}

							m +=3D this.parens[2].replace(/\uFF5E/g, '~');
							m =3D '<a href=3D"' + m + '" target=3D"' + =
Akahuku.getWindowName(m) + '" onclick=3D"return Akahuku.doLink(this)">' =
+
								this.parens[1] + this.parens[2] + '</a>' +
								AkahukuAutoLinkHandleWork.createInlineAnchor(m, =
allowInlineImage);
							return m;
						}),
					new matchPatternClass(
						/\b(f\d{4,}(\.[_a-zA-Z0-9]+)?)/,
						Akahuku.allowAutoLinkF,
						function ()
						{
							var m;
							if (this.parens[2])
								m =3D 'http://cgi.2chan.net/up2/src/' + this.parens[1];
							else
								m =3D 'http://cgi.2chan.net/up2/up.htm';
							m =3D '<a href=3D"' + m + '" target=3D"_blank" onclick=3D"return =
Akahuku.doLink(this)">' + this.parens[1] + '</a>' +
								AkahukuAutoLinkHandleWork.createInlineAnchor(m, =
allowInlineImage);
							return m;
						}),
					new matchPatternClass(
						/\b(sa\d{4,}(\.[_a-zA-Z0-9]+)?)/,
						Akahuku.allowAutoLinkS,
						function ()
						{
							var m;
							if (this.parens[2])
								m =3D 'http://nijibox.ohflip.com/futabafiles/001/src/' + =
this.parens[1];
							else
								m =3D 'http://nijibox.ohflip.com/futabafiles/001/upload.html';
							m =3D '<a href=3D"' + m + '" target=3D"_blank" onclick=3D"return =
Akahuku.doLink(this)">' + this.parens[1] + '</a>' +
								AkahukuAutoLinkHandleWork.createInlineAnchor(m, =
allowInlineImage);
							return m;
						}),
					new matchPatternClass(
						/\b(img|may|nov|dat|jik|oth)(\d{4,})(\.mht)?/,
						Akahuku.allowAutoLinkFutalog,
						function ()
						{
							var m;
							switch (this.parens[1])
							{
							case 'img': m =3D 'http://nijibox.ohflip.com/futalog/img/src/'; =
break;
							case 'may': m =3D 'http://nijibox.ohflip.com/futalog/may/src/'; =
break;
							case 'nov': m =3D 'http://nijibox.ohflip.com/futalog/nov/src/'; =
break;
							case 'dat': m =3D 'http://nijibox.ohflip.com/futalog/dat/src/'; =
break;
							case 'jik': m =3D 'http://nijibox.ohflip.com/futalog/jik/src/'; =
break;
							case 'oth': m =3D 'http://nijibox.ohflip.com/futalog/other/src/'; =
break;
							}
							m +=3D this.parens[1] + this.parens[2] + (this.parens[3] ? =
this.parens[3] : '.mht');
							m =3D '<a href=3D"' + m + '" target=3D"_blank" onclick=3D"return =
Akahuku.doLink(this)">' +
								this.parens[1] + this.parens[2] + (this.parens[3] ? =
this.parens[3] : '') +
								'</a>' +
								AkahukuAutoLinkHandleWork.createInlineAnchor(m, =
allowInlineImage);
							return m;
						}),
					new matchPatternClass(
						/[wW\uFF57\uFF37]{4,}|[\uFF57\uFF37]{2,}|[w\uFF57]+\s*$/,
						Akahuku.allowSorrowVipper,
						function ()
						{
							switch (Akahuku.numberVipperMode)
							{
							case 1:
								return '..........';
							case 2:
								return '';
							default:
								return '<font color=3D"red" title=3D"' + this.parens[0] + =
'">..........</font>';
							}
						}));

				for (var i =3D 0; i < patterns.length; i++)
					patterns[i].match(txt);

				while (true)
				{
					var nearestIndex =3D 0;
					for (var i =3D 1; i < patterns.length; i++)
					{
						if (patterns[i].matchPosition < =
patterns[nearestIndex].matchPosition)
							nearestIndex =3D i;
					}

					if (patterns[nearestIndex].matchPosition =3D=3D 65536)
					{
						pieces.push(txt);
						break;
					}
					else
					{
						updated =3D true;
						pieces.push(txt.substring(0, =
patterns[nearestIndex].matchPosition));
						pieces.push(patterns[nearestIndex].getReplacement());

						var nextPosition =3D patterns[nearestIndex].nextPosition;
						txt =3D txt.substring(nextPosition, txt.length);
						for (var i =3D 0; i < patterns.length; i++)
						{
							if (patterns[i].matchPosition < 65536)
							{
								patterns[i].matchPosition -=3D nextPosition;
								patterns[i].nextPosition -=3D nextPosition;
								if (patterns[i].matchPosition < 0)
									patterns[i].match(txt);
							}
						}
					}
				}

				return new linkifyResultClass(updated, pieces.join(''));
			},
			handleShowMail : function (target)
			{
				var n, from, to;
				var nodes =3D target.getElementsByTagName('a');
				var weight =3D document.getElementsByName('name').length ? 'bold' : =
'normal';

				from =3D nodes.length - 1;
				to =3D 0;
				if (to < 0) to =3D 0;

				for (var i =3D from; i >=3D to; i--)
				{
					if (!nodes[i].href.match(/^mailto:/)) continue;

					nodes[i].style.display =3D 'none';

					n =3D =
nodes[i].parentNode.insertBefore(document.createElement('font'), =
nodes[i]);
					n.innerHTML =3D nodes[i].innerHTML;

					n =3D =
nodes[i].parentNode.insertBefore(document.createElement('font'), =
nodes[i]);
					n.style.color =3D 'blue';
					n.style.fontWeight =3D weight;

					if (Akahuku.allowAutoLink ||
						Akahuku.allowAutoLinkF ||
						Akahuku.allowAutoLinkS ||
						Akahuku.allowAutoLinkFutalog)
						n.innerHTML =3D
							'[' + =
AkahukuAutoLinkHandleWork.linkify(unescape(nodes[i].href).replace(/^mailt=
o:/, ''), Akahuku.allowInlineImage).result + ']';
					else
						n.innerHTML =3D '[' + unescape(nodes[i].href).replace(/^mailto:/, =
'') + ']';
				}
			},
			handleAutoLink : function (target)
			{
				var from, to, nodes =3D target.getElementsByTagName('blockquote');
				var delimiter =3D window.opera ? '<BR/>' : '<BR>';

				from =3D nodes.length - 1;
				to =3D 0;
				if (to < 0) to =3D 0;

				for (var i =3D from; i >=3D to; i--)
				{
					if =
(!nodes[i].innerHTML.match(/:\/\/|[a-z]+\d+|[w\uff57]|\.(jpg|png|gif)/i))=

						continue;

					var a =3D nodes[i].innerHTML.replace(/<a[^>]*>([^<]+)<\/a>/gi, =
'$1').split(delimiter);
					var updated =3D false;
					for (var j =3D 0; j < a.length; j++)
					{
						var s =3D AkahukuAutoLinkHandleWork.linkify(a[j], =
!a[j].match(/^<font[^>]*>\s*&gt;/i));
						if (s.updated)
						{
							updated =3D true;
							a[j] =3D s.result;
						}
					}
					if (updated)
						nodes[i].innerHTML =3D a.join('<br/>')
				}
			},
			createInlineAnchor : function (url, allowInlineImage)
			{
				if (Akahuku.isTraditionalNijiura &&
					Akahuku.allowInlineImage &&
					allowInlineImage &&
					url.match(/\.(jpg|gif|png)$/i))
					return '<small>[<a' +
						' class=3D"akahuku_inline_image_anchor"' +
						' onclick=3D"return =
AkahukuAutoLinkHandleWork.handleInlineImageLinkClick(this)"' +
						' href=3D"' + url + '" =
target=3D"_blank">\u898B\u308B</a>]</small>';
				else
					return '';
			},
			handleInlineImageLinkClick : function (e)
			{
				function getSpecifiedParent(node, parentNodeName)
				{
					for (node =3D node.parentNode; node; node =3D node.parentNode)
					{
						if (node.nodeType =3D=3D 1 && node.nodeName.toLowerCase() =3D=3D =
parentNodeName)
							return node;
					}
					return null;
				}
				function getSpecifiedSibling(node, siblingNodeName)
				{
					for (node =3D node.nextSibling; node; node =3D node.nextSibling)
					{
						if (node.nodeType =3D=3D 1)
						{
							if (node.nodeName.match(/^(table|hr)$/i))
								return null;
							if (node.nodeName.toLowerCase() =3D=3D siblingNodeName)
								return node;
						}
					}
					return null;
				}
				function createImage ()
				{
					var image =3D document.createElement('img');
					image.className =3D 'akahuku_inline_image';
					image.style.display =3D 'inline';
					image.style.margin =3D '0.8em 20px 20px 20px';
					image.title =3D e.href;
					image.align =3D 'left';
					image.src =3D e.href;
					image.width =3D '250';
					image.removeAttribute('height');
					return image;
				}
				function insertInlineImage (image)
				{
					if (image)
					{
						var newImage =3D createImage();
						image.parentNode.replaceChild(newImage, image);
					}
					else
					{
						image =3D createImage();

						if (isthreadowner)
							tdnode.insertBefore(image, bqnode.nextSibling);
						else
						{
							var breaknode =3D document.createElement('br');
							breaknode.className =3D 'akahuku_inline_image_break';

							tdnode.insertBefore(breaknode, bqnode);
							tdnode.insertBefore(image, bqnode);
						}
					}
					updateAnchor(true, image);
				}
				function isSpecifiedElement(element, tagname, classname)
				{
					return element.nodeType =3D=3D 1 &&
						element.nodeName.toLowerCase() =3D=3D tagname &&
						element.className =3D=3D classname;
				}
				function updateAnchor(opened, image)
				{
					var parent =3D getSpecifiedParent(e, 'blockquote');
					if (!parent)
						parent =3D getSpecifiedParent(e, 'font');
					if (!parent)
						return;

					var nodes =3D parent.getElementsByTagName('a');
					for (var i =3D 0; i < nodes.length; i++)
						if (nodes[i].className =3D=3D 'akahuku_inline_image_anchor' && =
nodes[i] !=3D e)
							nodes[i].innerHTML =3D '\u898B\u308B';

					if (opened)
						e.innerHTML =3D '\u9589\u3058\u308B';
					else
						e.innerHTML =3D '\u898B\u308B';
				}

				var bqnode =3D getSpecifiedParent(e, 'blockquote');
				var tdnode =3D getSpecifiedParent(e, 'td');
				var isthreadowner =3D false;

				if (!bqnode)
					bqnode =3D getSpecifiedSibling(e.parentNode.parentNode, =
'blockquote');
				if (!bqnode)
					return false;
				if (!tdnode)
				{
					isthreadowner =3D true;
					tdnode =3D bqnode.parentNode;
				}

				try
				{
					if (isthreadowner)
					{
						if (isSpecifiedElement(bqnode.nextSibling, 'img', =
'akahuku_inline_image'))
						{
							if (bqnode.nextSibling.src =3D=3D e.href && =
e.innerHTML.match(/\u9589\u3058\u308B/))
							{
								bqnode.parentNode.removeChild(bqnode.nextSibling);
								updateAnchor(false);
							}
							else
								insertInlineImage(bqnode.nextSibling);
						}
						else
							insertInlineImage();
					}
					else
					{
						if (isSpecifiedElement(bqnode.previousSibling, 'img', =
'akahuku_inline_image'))
						{
							if (bqnode.previousSibling.src =3D=3D e.href && =
e.innerHTML.match(/\u9589\u3058\u308B/))
							{
								tdnode.removeChild(bqnode.previousSibling);

								if (isSpecifiedElement(bqnode.previousSibling, 'br', =
'akahuku_inline_image_break'))
									tdnode.removeChild(bqnode.previousSibling);

								updateAnchor(false);
							}
							else
								insertInlineImage(bqnode.previousSibling);
						}
						else
							insertInlineImage();

						// prevent browser from failing in the repaint
						tdnode.bgColor =3D tdnode.bgColor;
					}
				}
				finally
				{
					return false;
				}
			}
		};

		// quick quote
		if (Akahuku.allowQuickQuote)
		{
			Akahuku.pageManager.addEventListener(
				function ()
				{
					function createQuoteMenuItem (aid, content)
					{
						var result =3D document.createElement('a');
						result.id =3D aid;
						result.innerHTML =3D content;
						result.href =3D '?';
						result.onclick =3D AkahukuQuoteHandleWork.handleMenuItemClick;
						return result;
					}

					var quotebox =3D document.createElement('div');
					quotebox.id =3D 'akahuku_quotebox';
					quotebox.style.display =3D 'none';
					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_akahuku',
						'\u5F15\u7528'));
					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_ohuku_mail',
						'\u30E1\u30FC\u30EB\u6B04\u3078'));
					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_ohuku',
						'\u30B3\u30E1\u30F3\u30C8\u3078'));

					if (!window.opera)
					{
						quotebox.appendChild(document.createElement('hr'));
						quotebox.appendChild(createQuoteMenuItem(
							'akahuku_quote_selection_copy',
							'\u30B3\u30D4\u30FC'));
						quotebox.appendChild(createQuoteMenuItem(
							'akahuku_quote_selection_quote_copy',
							'\u5F15\u7528\u7B26\u3064\u304D\u30B3\u30D4\u30FC'));
					}

					quotebox.appendChild(document.createElement('hr'));

					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_akahuku_nofocus',
						'\u5F15\u7528 - \u9023\u7D9A'));
					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_ohuku_mail_nofocus',
						'\u30E1\u30FC\u30EB\u6B04\u3078 - \u9023\u7D9A'));
					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_ohuku_nofocus',
						'\u30B3\u30E1\u30F3\u30C8\u3078 - \u9023\u7D9A'));
					quotebox.appendChild(document.createElement('hr'));
					quotebox.appendChild(createQuoteMenuItem(
						'akahuku_quote_cancel',
						'\u3084\u3081\u3066'));

					document.body.appendChild(quotebox);
					document.body.onmouseup =3D =
AkahukuQuoteHandleWork.handleBodyMouseUp;
				});

			var AkahukuQuoteHandleWork =3D
			{
				selection : '',
				handleBodyMouseDown : function (e)
				{
					e =3D new EventWrapperClass(e);
					var quotebox =3D document.getElementById('akahuku_quotebox');
					if (!e.target.id.match(/^akahuku_quote_/) &&
						quotebox && quotebox.style.display !=3D 'none')
						quotebox.style.display =3D 'none';
					document.body.onmousedown =3D null;
				},
				handleBodyMouseUp : function (e)
				{
					e =3D new EventWrapperClass(e);

					if (!Akahuku.allowQuickQuote)
						return;

					if (!e.leftPress)
						return;

					var element =3D Akahuku.getElementFromPoint(e.pageX, e.pageY);
					if (element && element.nodeName.match(/^(input|textarea)$/i))
						return;

					var quotebox =3D document.getElementById('akahuku_quotebox');
					if (quotebox.style.display =3D=3D 'none')
					{
						var s =3D Akahuku.getSelection();
						if (s !=3D '')
						{
							AkahukuQuoteHandleWork.selection =3D s;
							quotebox.style.left =3D (e.pageX+2) + 'px';
							quotebox.style.top =3D (e.pageY+2) + 'px';
							quotebox.style.display =3D 'block';
							document.body.onmousedown =3D =
AkahukuQuoteHandleWork.handleBodyMouseDown;
						}
					}
					else
						quotebox.style.display =3D 'none';
				},
				handleMenuItemClick : function (e)
				{
					(e =3D new EventWrapperClass(e)).preventDefault();

					var s =3D AkahukuQuoteHandleWork.selection;

					switch (e.target.id)
					{
					case 'akahuku_quote_akahuku':
						Akahuku.doQuote(s, true, true);
						break;
					case 'akahuku_quote_ohuku':
						Akahuku.doQuote(s, false, true);
						break;
					case 'akahuku_quote_akahuku_nofocus':
						Akahuku.doQuote(s, true, false);
						break;
					case 'akahuku_quote_ohuku_nofocus':
						Akahuku.doQuote(s, false, false);
						break;
					case 'akahuku_quote_ohuku_mail':
						Akahuku.doQuoteToMailBox(s, true);
						break;
					case 'akahuku_quote_ohuku_mail_nofocus':
						Akahuku.doQuoteToMailBox(s, false);
						break;
					case 'akahuku_quote_selection_copy':
						window.clipboardData.setData('text', s);
						break;
					case 'akahuku_quote_selection_quote_copy':
						window.clipboardData.setData('text', '>' + s.replace(/(\r\n)/, =
'$1>'));
						break;
					}
				}
			};
		}
	}

	/*
	 * differential reloader
	 * =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	 */
	if (Akahuku.allowBackgroundReload && Akahuku.isReply)
	{
		Akahuku.pageManager.addEventListener(
			function ()
			{
				var replyTerminator =3D null;
				var lastReply =3D Akahuku.getLastReply(true);
				if (!lastReply || !lastReply.inputElement)
					return;

				// reply terminator
				for (var node =3D (lastReply.tableElement ? lastReply.tableElement : =
lastReply.inputElement).nextSibling; node; node =3D node.nextSibling)
					if (node.nodeName.match(/^(hr|br)$/i))
					{
						node.id =3D 'akahuku_reply_terminator';
						replyTerminator =3D node;
						break;
					}

				// reloader container
				var div =3D document.createElement('div');
				div.id =3D 'akahuku_reloader_container';
				div.style.backgroundColor =3D '#ffffee';
				div.style.paddingTop =3D '8px';
				div.style.margin =3D '-1px';
				div.innerHTML =3D
					'<a id=3D"akahuku_reloader_anchor" style=3D"font-weight:bold" =
href=3D"?">\u7D9A\u304D\u3092\u8AAD\u3080</a>&nbsp;' +
					'<span id=3D"akahuku_reloader_status" =
style=3D"font-size:9pt"></span>';

				if (lastReply.tdElement)
					lastReply.tdElement.appendChild(div);
				else if (replyTerminator)
					replyTerminator.parentNode.insertBefore(div, replyTerminator);

				document.getElementById('akahuku_reloader_anchor').onclick =3D
					AkahukuReloadWork.diffReload;

				// background post reply
				if (Akahuku.allowBackgroundReload &&
					Akahuku.allowBackgroundPostReply &&
					Akahuku.isTraditionalNijiura &&
					Akahuku.isReply)
					Akahuku.doSubmit =3D =
AkahukuReloadWork.doSubmitHook(Akahuku.doSubmit);
			});

		var AkahukuReloadWork =3D
		{
			nextPosition : 0,
			threadInfoPosition : 0,
			threadInfoLength : 0,
			threadInfoLastLoadTime : 0,
			reloadRequest : null,
			infoRequest : null,
			replyRequest : null,
			setStatus : Akahuku.createStatusIndicator('akahuku_reloader_status'),

			updateViewersNumber : function (response)
			{
				var viewersNumber =3D =
response.match(/<li>(\u73FE\u5728\d+\u4EBA.*)\n/i);
				if (viewersNumber)
				{
					viewersNumber =3D viewersNumber[1];

					var node =3D =
document.getElementById('akahuku_postform_opener_appendix');
					if (node)
						node.innerHTML =3D viewersNumber;

					var nodes =3D document.getElementsByTagName('li');
					for (var i =3D 0; i < nodes.length; i++)
					{
						if (nodes[i].innerHTML.match(/^(\u73FE\u5728\d+\u4EBA.*)/))
						{
							nodes[i].innerHTML =3D viewersNumber;
							break;
						}
					}
				}
			},
			updateThreadDeleteTime : function (response)
			{
				var threadDeleteTime =3D =
response.match(/<small>(\d+:\d+\u9803\u6D88\u3048\u307E\u3059)<\/small>/)=
;
				if (threadDeleteTime)
				{
					threadDeleteTime =3D threadDeleteTime[1];
					Akahuku.doDisplayThreadDeleteTime(threadDeleteTime);

					var node =3D document.getElementById('akahuku_bottom_status_text');
					if (node)
						node.innerHTML =3D threadDeleteTime;

					var node =3D document.getElementById('akahuku_thread_deletetime');
					if (node)
						node.innerHTML =3D threadDeleteTime;
				}
			},
			updateThreadDeleteWarning : function (response)
			{
				var threadDeleteWarning =3D response.match(/<font =
color=3D"?#f00000"?>(<b>\u3053\u306E\u30B9\u30EC\u306F[^<]+<\/b>)<\/font>=
/);
				if (threadDeleteWarning)
				{
					threadDeleteWarning =3D threadDeleteWarning[1];
					Akahuku.doDisplayThreadDeleteWarning(threadDeleteWarning);

					var node =3D =
document.getElementById('akahuku_bottom_status_alert');
					if (node)
						node.innerHTML =3D threadDeleteWarning;

					var node =3D document.getElementById('akahuku_thread_warning');
					if (!node)
					{
						node =3D document.getElementById('akahuku_thread_text');
						if (node)
						{
							var font =3D document.createElement('font');
							font.id =3D 'akahuku_thread_warning';
							font.color =3D '#f00000';
							font.innerHTML =3D threadDeleteWarning;
							node.parentNode.insertBefore(font, node.nextSibling);
						}
					}
				}
			},
			getStrippedResponse : function (response)
			{
				response =3D response.replace(/<!DOCTYPE[^>]*>\n/ig, '');
				response =3D response.replace(/<script[^>]*><\/script>/ig, '');
				response =3D response.replace(/<body onload=3D"[^"]+"\s+/i, '<body =
');
				return response;
			},
			getShiftJISOffset : function (response, charOffset)
			{
				return response.substring(0, =
charOffset).replace(/[^\u0001-\u007f\uff61-\uff9f]/g, '__').length;
			},
			loadThreadInfo : function (response)
			{
				if (AkahukuReloadWork.threadInfoPosition =3D=3D 0)
				{
					response =3D AkahukuReloadWork.getStrippedResponse(response);

					var index =3D response.indexOf('<form action=3D"futaba.php" =
method=3DPOST>');
					if (index < 0) return;
					index =3D AkahukuReloadWork.getShiftJISOffset(response, index);

					var index2 =3D response.indexOf('<td bgcolor=3D#F0E0D6>', index);
					if (index2 < 0) return;
					var threadDeleteMessage =3D '<font =
color=3D"#f00000"><b>\u3053\u306E\u30B9\u30EC\u306F\u53E4\u3044\u306E\u30=
67\u3001\u3082\u3046\u3059\u3050\u6D88\u3048\u307E\u3059\u3002</b></font>=
<br>';
					index2 =3D AkahukuReloadWork.getShiftJISOffset(response, index2) +
						AkahukuReloadWork.getShiftJISOffset(threadDeleteMessage, =
threadDeleteMessage.length);

					AkahukuReloadWork.threadInfoPosition =3D index;
					AkahukuReloadWork.threadInfoLength =3D index2 - index;

					// IE's XMLHttpRequest seems to have a minimum size (758~?) in =
Content-Range.
					// of course, this minimum size might change by the environment.
					// we tentatively use 1024 to be a minimum size.
					if (AkahukuReloadWork.threadInfoLength < 1024)
						AkahukuReloadWork.threadInfoLength =3D 1024;

					AkahukuReloadWork.threadInfoLastLoadTime =3D (new =
Date()).getTime();
				}
				else
				{
					if (document.getElementById('akahuku_thread_warning') ||
						(new Date()).getTime() - AkahukuReloadWork.threadInfoLastLoadTime =
>=3D Akahuku.numberThreadInfoLoadInterval * 1000)
					{
						new (function ThreadInfoLoaderClass (position, length)
						{
							var self =3D this;
							var o =3D AkahukuReloadWork.infoRequest =3D =
Akahuku.createHttpRequest();
							if (o)
							{
								var timerID =3D setTimeout(function ()
								{
									if (AkahukuReloadWork.infoRequest)
									{
										AkahukuReloadWork.infoRequest.abort();
										AkahukuReloadWork.infoRequest =3D null;
									}
									delete self;
								}, 1000 * 60 * 1);

								o.onreadystatechange =3D function ()
								{
									if (o.readyState =3D=3D 4)
									{
										if (o.status =3D=3D 200 || o.status =3D=3D 206)
										{
											clearTimeout(timerID);

											try
											{
												AkahukuReloadWork.updateViewersNumber(o.responseText);
												AkahukuReloadWork.updateThreadDeleteTime(o.responseText);
												AkahukuReloadWork.updateThreadDeleteWarning(o.responseText);
											}
											catch (e)
											{
												Akahuku.log(['info:', position, ',', length, ':', e]);
											}
										}
										else
											Akahuku.log(['load error: thread info reload: ', o.status]);
										o =3D AkahukuReloadWork.infoRequest =3D null;
										AkahukuReloadWork.threadInfoLastLoadTime =3D (new =
Date()).getTime();
										delete self;
									}
								};

								o.open('GET', location.href, true);
								o.setRequestHeader('If-Modified-Since', 'Thu, 01 Jun 1970 =
00:00:00 GMT');
								o.setRequestHeader('Range', 'bytes=3D' + position + '-' + =
(position + length - 1));
								o.send(null);
							}
						})(AkahukuReloadWork.threadInfoPosition,
						   AkahukuReloadWork.threadInfoLength);
					}
				}
			},
			diffReload : function (e)
			{
				function createTable (response)
				{
					var table =3D document.createElement('table');
					var tbody =3D document.createElement('tbody');
					var tr =3D document.createElement('tr');
					var re =3D response.match(/<table =
border=3D0><tr><td[^>]*>([^<]+)<\/td><td bgcolor=3D(#F0E0D6)>/);

					var td =3D document.createElement('td');
					td.innerHTML =3D re[1];
					td.noWrap =3D 'nowrap';
					td.align =3D 'right';
					td.vAlign =3D 'top';
					tr.appendChild(td);

					var td =3D document.createElement('td');
					td.bgColor =3D re[2];
					tr.appendChild(td);

					tbody.appendChild(tr);
					table.appendChild(tbody);
					return table;
				}
				function appendNewReplies (response)
				{
					function handleNumbering (element)
					{
						if (lastReplyNumber + newReplies <=3D =
(Akahuku.numberReplyNumberMax =3D=3D 0 ? 100 : =
Akahuku.numberReplyNumberMax))
							element.innerHTML =3D '&nbsp;' + (lastReplyNumber + newReplies) + =
element.innerHTML;
					}

					var lastReply =3D Akahuku.getLastReply(true);
					var replyStartTag =3D '<td bgcolor=3D#F0E0D6>';
					var replyEndTag =3D '</td>';
					var lastReplyNumber =3D 65536;
					var newReplies =3D 0;
					var index =3D response.search(new RegExp('name=3D"?' + =
lastReply.inputElement.name + '"?'));
					var index2 =3D 0;

					var currentReplyTable =3D null;
					var currentReplyTd =3D null;
					var bottomStatus =3D null;
					var reloaderContainer =3D null;
					var newReplyHeader =3D null;

					var showMailHandler =3D Akahuku.allowShowMail ?
						AkahukuAutoLinkHandleWork.handleShowMail : function () {};
					var autoLinkHandler =3D (Akahuku.allowAutoLink || =
Akahuku.allowAutoLinkF || Akahuku.allowAutoLinkS || =
Akahuku.allowAutoLinkFutalog || Akahuku.allowSorrowVipper) ?
						AkahukuAutoLinkHandleWork.handleAutoLink : function () {};
					var numberingHandler =3D (Akahuku.allowNumbering && !window.opera) =
?
						handleNumbering : function () {};

					var hideNGWordHandler =3D (window.Aima_Aimani && =
Aima_Aimani.hideNGWordHandler) ?
						Aima_Aimani.hideNGWordHandler : function () {};
					var hideNGNumberHandler =3D (window.Aima_Aimani && =
Aima_Aimani.hideNGNumberHandler) ?
						Aima_Aimani.hideNGNumberHandler : function () {};

					// last reply number
					if (Akahuku.allowNumbering && !window.opera && lastReply.tdElement)
					{
						var re =3D lastReply.tdElement.innerHTML.match(/(\d+)<input/i);
						if (re && re[1])
							lastReplyNumber =3D parseInt(re[1]);
					}

					// new reply header
					newReplyHeader =3D =
document.getElementById('akahuku_new_reply_header');
					if (newReplyHeader)
						newReplyHeader.parentNode.removeChild(newReplyHeader);

					// append new replies
					for (index =3D response.indexOf(replyStartTag, index); index >=3D =
0; index =3D response.indexOf(replyStartTag, index2))
					{
						index2 =3D response.indexOf(replyEndTag, index);
						if (index2 < 0) break;

						var currentReplyText =3D response.substring(index + =
replyStartTag.length, index2);
						if (parseInt(currentReplyText.match(/name=3D"?(\d+)"?/)[1]) > =
parseInt(lastReply.inputElement.name))
						{
							if (newReplies++ =3D=3D 0)
							{
								if (!lastReply.tableElement)
								{
									lastReply.tableElement =3D createTable(response);
									lastReplyNumber =3D 0;
								}

								if ((bottomStatus =3D =
document.getElementById('akahuku_bottom_status')))
									bottomStatus.parentNode.removeChild(bottomStatus);

								if ((reloaderContainer =3D =
document.getElementById('akahuku_reloader_container')))
									reloaderContainer.parentNode.removeChild(reloaderContainer);

								if (Akahuku.allowRuleOnBackgroundReload)
									terminator.parentNode.insertBefore(
										newReplyHeader ? newReplyHeader : =
Akahuku.createNewReplyHeader(),
										terminator);
							}
							currentReplyTable =3D lastReply.tableElement.cloneNode(true);
							currentReplyTd =3D =
currentReplyTable.getElementsByTagName('td')[1];
							currentReplyTd.innerHTML =3D =
currentReplyText.replace(/<img\s*/ig, '<img style=3D"display:inline" ');

							showMailHandler(currentReplyTd);
							autoLinkHandler(currentReplyTd);
							numberingHandler(currentReplyTd);
							hideNGNumberHandler (currentReplyTd);
							hideNGWordHandler (currentReplyTd);

							terminator.parentNode.insertBefore(currentReplyTable, =
terminator);
						}
					}

					// move reloader status div, bottom status div
					if (newReplies > 0)
					{
						//
						if (Akahuku.allowBottomStatus)
						{
							if (bottomStatus)
								bottomStatus.getElementsByTagName('font')[0].innerHTML =3D
									bottomStatus.getElementsByTagName('font')[0].innerHTML.replace(
										/(\d+)/,
										function(){return parseInt(arguments[1]) + newReplies;});
							else
								bottomStatus =3D Akahuku.createThreadStatus(newReplies, '', '', =
true);

							currentReplyTd.appendChild(bottomStatus);
						}

						//
						if (reloaderContainer)
							currentReplyTd.appendChild(reloaderContainer);
					}

					return newReplies;
				}
				function getNextPosition (response)
				{
					response =3D AkahukuReloadWork.getStrippedResponse(response);
					var index =3D response.lastIndexOf('<td bgcolor=3D#F0E0D6>');
					return index >=3D 0 ? AkahukuReloadWork.getShiftJISOffset(response, =
index) : 0;
				}

				(e =3D new EventWrapperClass(e)).preventDefault();

				if (AkahukuReloadWork.replyRequest)
				{
					return;
				}
				if (AkahukuReloadWork.reloadRequest)
				{
					AkahukuReloadWork.reloadRequest.abort();
					=
AkahukuReloadWork.setStatus('\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F')=
;
					AkahukuReloadWork.reloadRequest =3D null;
					return;
				}

				var terminator =3D =
document.getElementById('akahuku_reply_terminator');
				var o =3D AkahukuReloadWork.reloadRequest =3D =
Akahuku.createHttpRequest();

				if (terminator && o)
				{
					if (AkahukuReloadWork.infoRequest)
					{
						AkahukuReloadWork.infoRequest.abort();
						AkahukuReloadWork.infoRequest =3D null;
					}

					o.onreadystatechange =3D function ()
					{
						AkahukuReloadWork.setStatus('\u30ED\u30FC\u30C9\u4E2D(' + (new =
HttpRequestReadyStateClass(o.readyState)).toString() + ')...', true);
						if (o.readyState =3D=3D 4)
						{
							AkahukuReloadWork.reloadRequest =3D null;

							switch (o.status)
							{
							case 200:
							case 206:
								var newReplies =3D appendNewReplies(o.responseText);

								if (newReplies > 0 || AkahukuReloadWork.nextPosition =3D=3D 0)
								{
									var loadRate =3D 100;

									if (Akahuku.allowBackgroundLoadThreadInfo)
									{
										AkahukuReloadWork.loadThreadInfo(o.responseText);
									}
									if (Akahuku.allowUseRangeHeader)
									{
										AkahukuReloadWork.nextPosition +=3D =
getNextPosition(o.responseText);

										var contentRange =3D o.getResponseHeader('Content-Range');
										var headerStatus =3D =
document.getElementById('akahuku_new_reply_header_status');

										if (contentRange && headerStatus)
										{
											var re =3D contentRange.match(/(\d+)-(\d+)\/(\d+)/);
											loadRate =3D ((re[2] - re[1] + 1) / re[3] * 100).toFixed(2);
											headerStatus.innerHTML =3D '\uFF08' + (loadRate =3D=3D 100 ? =
'full reload' : loadRate + '%') + '\uFF09';
										}
									}
									if (document.getElementById('akahuku_new_reply_header_number'))
									{
										=
document.getElementById('akahuku_new_reply_header_number').innerHTML =3D
											'&nbsp;' + newReplies + '&nbsp;\u4EBA\u304C';
									}
									if (loadRate =3D=3D 100)
									{
										AkahukuReloadWork.updateViewersNumber(o.responseText);
										AkahukuReloadWork.updateThreadDeleteTime(o.responseText);
										AkahukuReloadWork.updateThreadDeleteWarning(o.responseText);
									}
								}
								if (newReplies > 0)
									AkahukuReloadWork.setStatus('', true);
								else
									=
AkahukuReloadWork.setStatus('\u65B0\u7740\u30EC\u30B9\u306A\u3057');
								break;
							case 404:
								AkahukuReloadWork.setStatus('Not Found. =
\u30B9\u30EC\u30C3\u30C9\u304C\u6D88\u3048\u305F\u3088\u3046\u3067\u3059\=
u3002', true);
								break;
							default:
								AkahukuReloadWork.setStatus('load error: ' + o.status);
								Akahuku.log(['load error: thread reload: ', o.status]);
							}

							delete o;
						}
					};
					o.open('GET', location.href, true);
					//o.setRequestHeader('Cache-Control', 'no-cache');
					//o.setRequestHeader('Pragma', 'no-cache');
					o.setRequestHeader('If-Modified-Since', 'Thu, 01 Jun 1970 00:00:00 =
GMT');
					if (Akahuku.allowUseRangeHeader)
						o.setRequestHeader('Range', 'bytes=3D' + =
AkahukuReloadWork.nextPosition + '-');
					o.send(null);
				}
			},
			doSubmitHook : function (originalHandler)
			{
				return function (formElement, target)
				{
					if (target =3D=3D '_self')
					{
						if (AkahukuReloadWork.reloadRequest)
						{
							return;
						}
						if (AkahukuReloadWork.replyRequest)
						{
							AkahukuReloadWork.replyRequest.abort();
							=
AkahukuReloadWork.setStatus('\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F')=
;
							AkahukuReloadWork.replyRequest =3D null;
							return;
						}

						var o =3D AkahukuReloadWork.replyRequest =3D =
Akahuku.createHttpRequest();
						if (o)
						{
							var data =3D (function ()
							{
								function FullCharRefEscape (s)
								{
									var result =3D new Array();
									for (var i =3D 0; i < s.length; i++)
									{
										if (encodeURIComponent(s.charAt(i)) =3D=3D s.charAt(i))
											result.push(s.charAt(i));
										else if (s.charCodeAt(i) < 128)
											result.push(encodeURIComponent(s.charAt(i)));
										else
											result.push('%26%23' + s.charCodeAt(i) + '%3B');
									}
									return result.join('');
								}
								function SjisCharRefEscape (s)
								{
									var result =3D new Array();
									for (var i =3D 0; i < s.length; i++)
									{
										if (encodeURIComponent(s.charAt(i)) =3D=3D s.charAt(i))
											result.push(s.charAt(i));
										else
										{
											var tmp =3D charsetConverter.toSJIS(s.charAt(i));
											if (charsetConverter.fromSJIS(tmp) =3D=3D s.charAt(i))
												result.push(tmp =3D=3D '+' ? '%2B' : tmp);
											else
												result.push('%26%23' + s.charCodeAt(i) + '%3B');
										}
									}
									return result.join('');
								}
								var charsetConverter =3D new CharsetConverterClass();
								var encoder =3D Akahuku.allowUseSJISEncoder ? SjisCharRefEscape =
: FullCharRefEscape;
								var result =3D new Array();
								for (var i =3D 0; i < formElement.length; i++)
								{
									var c =3D formElement.item(i);
									if (c.nodeName.toLowerCase() =3D=3D 'input' && =
c.type.match(/^(hidden|text|password)$/i) || c.nodeName.toLowerCase() =
=3D=3D 'textarea')
										if (c.value !=3D '')
											result.push(c.name + '=3D' + =
encoder(Akahuku.getFixedURL(c.value)));
								}
								return result.length =3D=3D 0 ? '' : result.join('&');
							})();

							if (data !=3D '')
							{
								var anchor =3D =
document.getElementById('akahuku_reloader_anchor');
								if (anchor)
								{
									anchor.scrollIntoView(true);
									anchor.focus();
									anchor.blur();
								}
								o.onreadystatechange =3D function ()
								{
									AkahukuReloadWork.setStatus('\u30EC\u30B9\u9001\u4FE1\u4E2D(' + =
(new HttpRequestReadyStateClass(o.readyState)).toString() + ')...', =
true);
									if (o.readyState =3D=3D 4)
									{
										AkahukuReloadWork.replyRequest =3D null;

										if (o.status =3D=3D 200)
										{
											if (o.responseText.match(/<b>([^<]+)<br><br><a =
href=3Dfutaba\.htm>\u30EA\u30ED\u30FC\u30C9<\/a>/))
											{
												AkahukuReloadWork.setStatus('', true);
												alert(RegExp.$1);
											}
											else
											{
												var anchor =3D =
document.getElementById('akahuku_reloader_anchor');
												if (anchor)
													anchor.click();

												var commentbox =3D =
document.getElementById('akahuku_commentbox');
												if (commentbox)
													commentbox.value =3D '';

												if =
(document.getElementById('akahuku_floatpostform_container') &&
													document.getElementById('akahuku_postform') &&
													document.getElementById('akahuku_floatpostform_clipper') &&
													document.getElementById('akahuku_postform').style.display =
=3D=3D 'block' &&
													=
document.getElementById('akahuku_floatpostform_clipper').checked &&
													AkahukuPostFormHandleWork)
													AkahukuPostFormHandleWork.handleFloatPostFormOpenerClick();
											}
										}
										else
											AkahukuReloadWork.setStatus('post error: ' + o.status);

										delete o;
									}
								};
								o.open('POST', formElement.action, true);
								o.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded; charset=3DShift_JIS');
								o.send(data);
							}
						}
					}
					else
						originalHandler(formElement, target);
				}
			}
		};
	}
=0D	/*
	 * catalog enhancement
	 * =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	 */
	if (Akahuku.isCatalog)
	{
		Akahuku.pageManager.addEventListener(
			function ()
			{
				var table =3D document.getElementsByTagName('table')[1];
				if (!table)
					return;

				var lastRule =3D null;
				for (var node =3D table.nextSibling; node; node =3D =
node.nextSibling)
					if (node.nodeName.toLowerCase() =3D=3D 'hr')
					{
						lastRule =3D node;
						break;
					}

				var nodes =3D table.getElementsByTagName('td');
				for (var i =3D 0; i < nodes.length; i++)
				{
					nodes[i].__original_index =3D i;
					nodes[i].__thread_id =3D =
nodes[i].innerHTML.match(/res[\/=3D](\d+)/)[1];
					nodes[i].__reply_number =3D =
nodes[i].innerHTML.match(/<font.*>(\d+)<\/font>/i)[1];
					AkahukuCatalogHandleWork.updateCellInnerHTML(nodes[i]);

					if (parseInt(nodes[i].__thread_id) > =
AkahukuCatalogHandleWork.latestThread)
					{
						AkahukuCatalogHandleWork.latestThread =3D =
parseInt(nodes[i].__thread_id);
					}
				}

				if (Akahuku.allowBackgroundLoadCatalog)
				{
					var div =3D document.createElement('div');
					div.style.marginBottom =3D '0.5em';
					div.innerHTML =3D
						'[<a id=3D"akahuku_catalog_reloader_anchor" =
href=3D"?">\u6700\u65B0\u306B\u66F4\u65B0</a>]&nbsp;' +
						'<span id=3D"akahuku_catalog_reloader_status" =
style=3D"font-size:9pt"></span>';
					table.parentNode.insertBefore(div, table);

					var div2 =3D div.cloneNode(true);
					div2.innerHTML =3D
						'[<a id=3D"akahuku_catalog_reloader_anchor2" =
href=3D"?">\u6700\u65B0\u306B\u66F4\u65B0</a>]&nbsp;';
					lastRule.parentNode.insertBefore(div2, lastRule);

					document.getElementById('akahuku_catalog_reloader_anchor').onclick =
=3D
					document.getElementById('akahuku_catalog_reloader_anchor2').onclick =
=3D
						AkahukuCatalogHandleWork.handleReloadClick;
				}
				if (Akahuku.allowCatalogReorder)
				{
					var nodes =3D document.getElementsByTagName('font');
					for (var i =3D 0; i < nodes.length; i++)
					{
						if =
(nodes[i].innerHTML.match(/\u30AB\u30BF\u30ED\u30B0\u30E2\u30FC\u30C9/))
						{
							var span =3D document.createElement('span');
							span.id =3D 'akahuku_catalog_mode_indicator';
							span.style.fontSize =3D '9pt';
							span.style.color =3D 'white';
							span.style.fontWeight =3D 'normal';
							span.style.marginLeft =3D '8px';
							nodes[i].parentNode.insertBefore(span, nodes[i].nextSibling);
							break;
						}
					}

					var paragraph =3D document.createElement('p');
					paragraph.style.textAlign =3D 'center';
					paragraph.style.fontSize =3D '9pt';
					paragraph.style.margin =3D '4px';

					function createSortOrderAnchor (aid, content)
					{
						var anchor =3D document.createElement('a');
						anchor.id =3D aid;
						anchor.innerHTML =3D content;
						anchor.style.marginLeft =3D '1em';
						anchor.href =3D '?';
						anchor.onclick =3D AkahukuCatalogHandleWork.handleReorderClick;
						paragraph.appendChild(anchor);

						if (!Akahuku.allowBackgroundLoadCatalog)
						{
							var anchor =3D document.createElement('a');
							anchor.innerHTML =3D '[\u5E38\u306B]';
							anchor.href =3D location.href.replace(/&order=3D[a-z0-9]+/, '') + =
'&order=3D' + aid.match(/_([a-z0-9]+)$/)[1];
							paragraph.appendChild(anchor);
						}
					}

					createSortOrderAnchor(
						'akahuku_catalog_reorder_15',
						'\u66F4\u65B0\u9806\u306B15\u305A\u3064');
					createSortOrderAnchor(
						'akahuku_catalog_reorder_10',
						'\u66F4\u65B0\u9806\u306B10\u305A\u3064');
					createSortOrderAnchor(
						'akahuku_catalog_reorder_reply',
						'\u30EC\u30B9\u306E\u591A\u3044\u9806\u306B10\u305A\u3064');
					createSortOrderAnchor(
						'akahuku_catalog_reorder_createtime',
						'\u30B9\u30EC\u306E\u7ACB\u3063\u305F\u9806\u306B10\u305A\u3064');

					table.parentNode.insertBefore(paragraph, table.nextSibling);

					if (location.href.match(/&order=3D([a-z0-9]+)/))
						document.getElementById('akahuku_catalog_reorder_' + =
RegExp.$1).click();
				}
			});

		var AkahukuCatalogHandleWork =3D
		{
			request : null,
			tdMax : 15,
			order : 'akahuku_catalog_reorder_15',
			latestThread : 0,
			setStatus : =
Akahuku.createStatusIndicator('akahuku_catalog_reloader_status'),

			replaceTable : function (oldTable, nodes, tdMax)
			{
				function createRowHeader ()
				{
					if (AkahukuCatalogHandleWork.order =3D=3D =
'akahuku_catalog_reorder_10')
					{
						var th =3D document.createElement('th');
						var pageno =3D parseInt(count / 10);
						th.innerHTML =3D
							'<a href=3D"' +
							location.href.replace(/futaba\.php.*/, (pageno =3D=3D 0 ? =
'futaba' : pageno) + '.htm') +
							'" target=3D"_blank">' + pageno + '</a>';
						tr.appendChild(th);
					}
				}

				var table =3D oldTable.cloneNode(false);
				var tbody =3D document.createElement('tbody');
				var tr =3D document.createElement('tr');
				var count =3D 0;

				AkahukuCatalogHandleWork.latestThread =3D =
parseInt(nodes[0].__thread_id);

				createRowHeader();
				for (var i =3D 0; i < nodes.length; i++)
				{
					var td =3D nodes[i].cloneNode(true);
					for (var attribute in nodes[i])
						if (attribute.match(/^__/))
							eval('td.' + attribute + '=3Dnodes[i].' + attribute);
					tr.appendChild(td);
					if (parseInt(td.__thread_id) > =
AkahukuCatalogHandleWork.latestThread)
					{
						AkahukuCatalogHandleWork.latestThread =3D =
parseInt(td.__thread_id);
					}
					if (++count % tdMax =3D=3D 0)
					{
						tbody.appendChild(tr);
						tr =3D document.createElement('tr');
						createRowHeader();
					}
				}
				tbody.appendChild(tr);
				table.appendChild(tbody);
				table.id =3D 'akahuku_catalog_table';
				table.cellSpacing =3D '0';
				oldTable.parentNode.replaceChild(table, oldTable);

				if (!window.opera)
					setTimeout(function ()
					{
						var table =3D document.getElementsByTagName('table')[1];
						if (!table) return;

						for (var i =3D 0, nodes =3D table.getElementsByTagName('td'); i < =
nodes.length; i++)
						{
							if (!nodes[i].__old_reply_number) continue;

							var div =3D nodes[i].getElementsByTagName('div')[0];
							var delta =3D AkahukuCatalogHandleWork.getReplyNumberDelta(
								parseInt(nodes[i].__reply_number) - =
parseInt(nodes[i].__old_reply_number));

							if (delta =3D=3D '')
							{
								if (div)
									div.parentNode.removeChild(div);
							}
							else
							{
								if (!div)
								{
									div =3D document.createElement('div');
									div.className =3D 'akahuku_cell';
									nodes[i].insertBefore(div, nodes[i].firstChild);
								}
								div.innerHTML =3D delta;
							}
							nodes[i].removeAttribute('__old_reply_number');

							var font =3D nodes[i].getElementsByTagName('font')[0];
							if (font)
								font.innerHTML =3D nodes[i].__reply_number;
						}
						AkahukuCatalogHandleWork.incrementalLoadImage();
					},
					500);
			},
			loadCompletedImageCount : 0,
			loadUnits : 8,
			incrementalLoadImage : function ()
			{
				var table =3D document.getElementsByTagName('table')[1];
				if (!table)
					return;

				var matchCount =3D 0;
				for (var i =3D 0, nodes =3D table.getElementsByTagName('td');
					i < nodes.length && matchCount < =
AkahukuCatalogHandleWork.loadUnits; i++)
				{
					if (!nodes[i].__src) continue;

					matchCount++;

					var img =3D nodes[i].getElementsByTagName('img')[0];
					if (!img) continue;

					img.onload =3D img.onerror =3D function (e)
					{
						e =3D new EventWrapperClass(e);
						AkahukuCatalogHandleWork.loadCompletedImageCount++;
						e.target.onload =3D e.target.onerror =3D null;

						for (var tmp =3D e.target.parentNode; tmp; tmp =3D tmp.parentNode)
							if (tmp.nodeName.toLowerCase() =3D=3D 'td')
							{
								tmp.removeAttribute('__src');
								break;
							}

						if (AkahukuCatalogHandleWork.loadCompletedImageCount % =
AkahukuCatalogHandleWork.loadUnits =3D=3D 0)
							setTimeout(AkahukuCatalogHandleWork.incrementalLoadImage, 10);
					};
					img.src =3D nodes[i].__src;
				}
				if (matchCount =3D=3D 0)
					AkahukuCatalogHandleWork.loadCompletedImageCount =3D 0;
			},
			getReplyNumberDelta : function (delta, tag)
			{
				if (Akahuku.allowReplyNumberDelta)
				{
					if (!isNaN(delta))
					{
						if (delta > 0)
							delta =3D '+' + delta;
						else if (delta =3D=3D 0)
							delta =3D '';
					}
					return delta =3D=3D '' ? delta : tag ? '<div =
class=3D"akahuku_cell">' + delta + '</div>' : delta;
				}
				else
					return '';
			},
			updateCellInnerHTML : function (tdElement)
			{
				var anchor =3D tdElement.getElementsByTagName('a')[0];
				if (anchor)
				{
					if (Akahuku.allowWindowNaming && Akahuku.isOnline)
					{
						anchor.setAttribute('target', Akahuku.getWindowName(anchor.href));
					}
					if (Akahuku.allowCatalogFullClickable &&
						anchor.innerHTML.match(/^(<small>)?(\s|\u3000)*(<\/small>)?$/i))
					{
						anchor.innerHTML =3D '(\u7A7A\u767D)';
						anchor.style.fontSize =3D '9pt';
						anchor.style.color =3D 'red';
					}
					if (!window.Aima_Aimani &&
						Akahuku.allowMarkTextOnlyThread &&
						anchor.innerHTML.match(/<small>([^<]*)</i))
					{
						anchor.title =3D RegExp.$1;

						if (Akahuku.allowHideTextOnlyThread)
						{
							tdElement.innerHTML =3D '<br/>';
						}
						else
						{
							anchor.innerHTML =3D '\u6587\u5b57<br/>\u975e\u8868\u793a';
							anchor.style.fontSize =3D '9pt';
							anchor.style.color =3D 'red';
						}
					}
				}
				if (Akahuku.allowCatalogHilightVisited)
				{
					tdElement.innerHTML =3D =
tdElement.innerHTML.replace(/(<\/a>)\n*(<br\/?><font.*>\d+<\/font>)/i, =
'$2$1');
				}
			},
			sort : function (sortId, oldTable, nodes)
			{
				function getArrayFromNodeList ()
				{
					var result =3D new Array();
					var _nodes =3D oldTable.getElementsByTagName('td');
					for (var i =3D 0; i < _nodes.length; i++)
						result[i] =3D _nodes[i];
					return result;
				}

				var tdMax =3D 10;

				switch (sortId)
				{
				case 'akahuku_catalog_reorder_15':
					tdMax =3D 15;
					/* FALLTHRU */
				case 'akahuku_catalog_reorder_10':
					{
						if (oldTable.id =3D=3D 'akahuku_catalog_table')
						{
							if (!nodes)
								nodes =3D getArrayFromNodeList();
							nodes.sort(function (x, y)
							{
								return x.__original_index - y.__original_index;
							});
						}
						else
							if (!nodes)
								nodes =3D getArrayFromNodeList();
					}
					break;
				case 'akahuku_catalog_reorder_reply':
					{
						if (!nodes)
							nodes =3D getArrayFromNodeList();
						nodes.sort(function (x, y)
						{
							var result =3D y.__reply_number - x.__reply_number;
							return result ? result : y.__original_index - x.__original_index;
						});
					}
					break;
				case 'akahuku_catalog_reorder_createtime':
					{
						if (!nodes)
							nodes =3D getArrayFromNodeList();
						nodes.sort(function (x, y)
						{
							return y.__thread_id - x.__thread_id;
						});
					}
					break;
				}
				return [nodes, tdMax];
			},
			handleReorderClick : function (e)
			{
				var oldTable =3D document.getElementsByTagName('table')[1];
				if (!oldTable)
					return;

				(e =3D new EventWrapperClass(e)).preventDefault();

				var sortResult =3D AkahukuCatalogHandleWork.sort(e.target.id, =
oldTable);
				AkahukuCatalogHandleWork.tdMax =3D sortResult[1];
				AkahukuCatalogHandleWork.order =3D e.target.id;
				AkahukuCatalogHandleWork.replaceTable(
					oldTable, sortResult[0], sortResult[1]);

				var indicator =3D =
document.getElementById('akahuku_catalog_mode_indicator');
				if (indicator)
					indicator.innerHTML =3D '[' + e.target.innerHTML + ']';
			},
			handleReloadClick : function (e)
			{
				function mergeCellNodes (response)
				{
					var index =3D response.indexOf('<table border=3D1 =
align=3Dcenter>');
					var index2 =3D 0;
					var newCells =3D new Array();
					var oldCells =3D new Array();
					var count =3D 0;

					for (var i =3D 0, nodes =3D oldTable.getElementsByTagName('td'); i =
< nodes.length; i++)
						oldCells[nodes[i].__thread_id] =3D nodes[i];

					for (index =3D response.indexOf('<td>', index); index >=3D 0; index =
=3D response.indexOf('<td>', index2))
					{
						index2 =3D response.indexOf('</td>', index);
						if (index2 < 0) break;

						var currentTdText =3D response.substring(index + '<td>'.length, =
index2);
						var replyNumber =3D =
currentTdText.match(/<font[^>]*>(\d+)<\/font>/i)[1];
						var threadId =3D currentTdText.match(/res[\/=3D](\d+)/)[1];
						var newCell =3D oldCells[threadId];
						if (newCell)
						{
							if (window.opera)
								newCell.innerHTML =3D
									AkahukuCatalogHandleWork.getReplyNumberDelta(replyNumber - =
oldCells[threadId].__reply_number, true) +
									newCell.innerHTML.replace(
										/<div class=3D"?akahuku_cell"?>.*<\/div>/i, ''
									).replace(
										/(<font size=3D"?2"?>)\d+(<\/font>)/i, '$1' + replyNumber + =
'$2'
									);
							else
								newCell.__old_reply_number =3D newCell.__reply_number;
						}
						else
						{
							newCell =3D document.createElement('td');
							newCell.innerHTML =3D
								AkahukuCatalogHandleWork.getReplyNumberDelta(
								parseInt(threadId) < AkahukuCatalogHandleWork.latestThread ? =
'up' : 'new', true) +
								(function ()
								{
									if (window.opera)
										return currentTdText;
									else
									{
										var src =3D currentTdText.match(/src=3D([^ ]+)/);
										if (src && src[0] && src[1])
										{
											newCell.__src =3D src[1];
											return currentTdText.replace(src[0], '');
										}
										else
											return currentTdText;
									}
								})();
						}
						if (window.Aima_Aimani && =
Aima_Aimani.hideNGNumberCatalogueHandler)
						{
							Aima_Aimani.hideNGNumberCatalogueHandler(newCell);
						}

						AkahukuCatalogHandleWork.updateCellInnerHTML(newCell);
						newCell.__original_index =3D count;
						newCell.__reply_number =3D replyNumber;
						newCell.__thread_id =3D threadId;
						newCells[count++] =3D newCell;
					}
					return newCells;
				}

				e =3D new EventWrapperClass(e);
				e.preventDefault();

				var oldTable =3D document.getElementsByTagName('table')[1];
				if (!oldTable)
					return;

				var rbracket =3D e.target.nextSibling;
				if (rbracket &&
					(!rbracket.nextSibling || =
rbracket.nextSibling.nodeName.toLowerCase() !=3D 'span'))
				{
					var status =3D =
document.getElementById('akahuku_catalog_reloader_status');
					status.parentNode.removeChild(status);
					rbracket.parentNode.insertBefore(status, rbracket.nextSibling);
				}

				if (AkahukuCatalogHandleWork.request)
				{
					AkahukuCatalogHandleWork.request.abort();
					AkahukuCatalogHandleWork.request =3D null;
					=
AkahukuCatalogHandleWork.setStatus('\u4E2D\u65AD\u3055\u308C\u307E\u3057\=
u305F');
				}
				else
				{
					var o =3D AkahukuCatalogHandleWork.request =3D =
Akahuku.createHttpRequest();
					if (o)
					{
						o.onreadystatechange =3D function ()
						{
							AkahukuCatalogHandleWork.setStatus('\u30ED\u30FC\u30C9\u4E2D(' + =
(new HttpRequestReadyStateClass(o.readyState)).toString() + ')...', =
true);

							if (o.readyState =3D=3D 4)
							{
								if (o.status =3D=3D 200)
								{
									var sortResult =3D AkahukuCatalogHandleWork.sort(
										AkahukuCatalogHandleWork.order,
										oldTable,
										mergeCellNodes(o.responseText));
									AkahukuCatalogHandleWork.replaceTable(
										oldTable,
										sortResult[0],
										sortResult[1]);
									=
AkahukuCatalogHandleWork.setStatus('\u5B8C\u4E86\u3057\u307E\u3057\u305F'=
);
								}
								else
								{
									AkahukuCatalogHandleWork.setStatus('load error: ' + o.status);
									Akahuku.log(['load error: catalog reload: ', o.status]);
								}
								o =3D AkahukuCatalogHandleWork.request =3D null;
							}
						}
						o.open('GET', location.href, true);
						o.setRequestHeader('If-Modified-Since', 'Thu, 01 Jun 1970 00:00:00 =
GMT');
						o.send(null);
					}
				}
			}
		};
	}

	// Opera 8.5 seems to have the bug that last defined style tag is =
disregarded.
	// therefore, we define dummy style element.
	Akahuku.pageManager.addEventListener(
		function ()
		{
			(new StyleWrapperClass()).addRule(
				'#dummy_for_opera', 'display:none'
			).apply();
		});

	// now finished defining all functions of akahuku.
	// we wait to complete the construction of DOM,
	// then, execute the functions.
	Akahuku.pageManager.startWatchDOM();
}

------=_NextPart_000_0002_01C653FA.3CDF62C0--
