line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
#+############################################################################## |
2
|
|
|
|
|
|
|
# # |
3
|
|
|
|
|
|
|
# File: Messaging/Message/Generator.pm # |
4
|
|
|
|
|
|
|
# # |
5
|
|
|
|
|
|
|
# Description: versatile message generator # |
6
|
|
|
|
|
|
|
# # |
7
|
|
|
|
|
|
|
#-############################################################################## |
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
# |
10
|
|
|
|
|
|
|
# module definition |
11
|
|
|
|
|
|
|
# |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
package Messaging::Message::Generator; |
14
|
1
|
|
|
1
|
|
497
|
use strict; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
22
|
|
15
|
1
|
|
|
1
|
|
3
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
17
|
|
16
|
1
|
|
|
1
|
|
17
|
use 5.005; # need the four-argument form of substr() |
|
1
|
|
|
|
|
2
|
|
17
|
|
|
|
|
|
|
our $VERSION = "1.6"; |
18
|
|
|
|
|
|
|
our $REVISION = sprintf("%d.%02d", q$Revision: 1.13 $ =~ /(\d+)\.(\d+)/); |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
# |
21
|
|
|
|
|
|
|
# used modules |
22
|
|
|
|
|
|
|
# |
23
|
|
|
|
|
|
|
|
24
|
1
|
|
|
1
|
|
3
|
use Digest::MD5 qw(); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
13
|
|
25
|
1
|
|
|
1
|
|
489
|
use Encode qw(decode FB_CROAK); |
|
1
|
|
|
|
|
6720
|
|
|
1
|
|
|
|
|
53
|
|
26
|
1
|
|
|
1
|
|
358
|
use Messaging::Message qw(); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
24
|
|
27
|
1
|
|
|
1
|
|
5
|
use MIME::Base64 qw(decode_base64 encode_base64); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
40
|
|
28
|
1
|
|
|
1
|
|
3
|
use No::Worries::Die qw(dief); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
4
|
|
29
|
1
|
|
|
1
|
|
68
|
use Params::Validate qw(validate :types); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
1162
|
|
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
# |
32
|
|
|
|
|
|
|
# global variables |
33
|
|
|
|
|
|
|
# |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
our( |
36
|
|
|
|
|
|
|
$_MD5, # the MD5 digester object |
37
|
|
|
|
|
|
|
$_UnicodeString, # string with Unicode characters |
38
|
|
|
|
|
|
|
); |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
# |
41
|
|
|
|
|
|
|
# initialize what is needed for this module to work |
42
|
|
|
|
|
|
|
# |
43
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
sub _init () { |
45
|
1
|
|
|
1
|
|
4
|
$_MD5 = Digest::MD5->new(); |
46
|
1
|
|
|
|
|
10
|
$_MD5->add($$ . "-" . time()); |
47
|
|
|
|
|
|
|
# http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt |
48
|
1
|
|
|
|
|
59
|
$_UnicodeString = decode_base64(<<'EOT'); |
49
|
|
|
|
|
|
|
ClVURi04IGVuY29kZWQgc2FtcGxlIHBsYWluLXRleHQgZmlsZQrigL7igL7igL7igL7igL7igL7i |
50
|
|
|
|
|
|
|
gL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL7i |
51
|
|
|
|
|
|
|
gL7igL7igL7igL7igL7igL7igL7igL7igL7igL7igL4KCk1hcmt1cyBLdWhuIFvLiG1hyrNryopz |
52
|
|
|
|
|
|
|
IGt1y5BuXSA8aHR0cDovL3d3dy5jbC5jYW0uYWMudWsvfm1nazI1Lz4g4oCUIDIwMDItMDctMjUK |
53
|
|
|
|
|
|
|
CgpUaGUgQVNDSUkgY29tcGF0aWJsZSBVVEYtOCBlbmNvZGluZyB1c2VkIGluIHRoaXMgcGxhaW4t |
54
|
|
|
|
|
|
|
dGV4dCBmaWxlCmlzIGRlZmluZWQgaW4gVW5pY29kZSwgSVNPIDEwNjQ2LTEsIGFuZCBSRkMgMjI3 |
55
|
|
|
|
|
|
|
OS4KCgpVc2luZyBVbmljb2RlL1VURi04LCB5b3UgY2FuIHdyaXRlIGluIGVtYWlscyBhbmQgc291 |
56
|
|
|
|
|
|
|
cmNlIGNvZGUgdGhpbmdzIHN1Y2ggYXMKCk1hdGhlbWF0aWNzIGFuZCBzY2llbmNlczoKCiAg4oiu |
57
|
|
|
|
|
|
|
IEXii4VkYSA9IFEsICBuIOKGkiDiiJ4sIOKIkSBmKGkpID0g4oiPIGcoaSksICAgICAg4o6n4o6h |
58
|
|
|
|
|
|
|
4o6b4pSM4pSA4pSA4pSA4pSA4pSA4pSQ4o6e4o6k4o6rCiAgICAgICAgICAgICAgICAgICAgICAg |
59
|
|
|
|
|
|
|
ICAgICAgICAgICAgICAgICAgICAg4o6q4o6i4o6c4pSCYcKyK2LCsyDijp/ijqXijqoKICDiiIB4 |
60
|
|
|
|
|
|
|
4oiI4oSdOiDijIh44oyJID0g4oiS4oyK4oiSeOKMiywgzrEg4oinIMKszrIgPSDCrCjCrM6xIOKI |
61
|
|
|
|
|
|
|
qCDOsiksICAgIOKOquKOouKOnOKUguKUgOKUgOKUgOKUgOKUgCDijp/ijqXijqoKICAgICAgICAg |
62
|
|
|
|
|
|
|
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDijqrijqLijpzijrcgY+KCiCAgIOKO |
63
|
|
|
|
|
|
|
n+KOpeKOqgogIOKElSDiioYg4oSV4oKAIOKKgiDihKQg4oqCIOKEmiDiioIg4oSdIOKKgiDihIIs |
64
|
|
|
|
|
|
|
ICAgICAgICAgICAgICAgICAgIOKOqOKOouKOnCAgICAgICDijp/ijqXijqwKICAgICAgICAgICAg |
65
|
|
|
|
|
|
|
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDijqrijqLijpwg4oieICAgICDijp/ijqXi |
66
|
|
|
|
|
|
|
jqoKICDiiqUgPCBhIOKJoCBiIOKJoSBjIOKJpCBkIOKJqiDiiqQg4oeSICjin6ZB4p+nIOKHlCDi |
67
|
|
|
|
|
|
|
n6pC4p+rKSwgICAgICDijqrijqLijpwg4o6yICAgICDijp/ijqXijqoKICAgICAgICAgICAgICAg |
68
|
|
|
|
|
|
|
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICDijqrijqLijpwg4o6zYeKBsS1i4oGx4o6f4o6l |
69
|
|
|
|
|
|
|
4o6qCiAgMkjigoIgKyBP4oKCIOKHjCAySOKCgk8sIFIgPSA0Ljcga86pLCDijIAgMjAwIG1tICAg |
70
|
|
|
|
|
|
|
ICDijqnijqPijp1pPTEgICAg4o6g4o6m4o6tCgpMaW5ndWlzdGljcyBhbmQgZGljdGlvbmFyaWVz |
71
|
|
|
|
|
|
|
OgoKICDDsGkgxLFudMmZy4huw6bKg8mZbsmZbCBmyZnLiG7Jm3TEsWsgyZlzb8qKc2nLiGXEscqD |
72
|
|
|
|
|
|
|
bgogIFkgW8uIyo9wc2lsyZRuXSwgWWVuIFtqyZtuXSwgWW9nYSBby4hqb8uQZ8mRXQoKQVBMOgoK |
73
|
|
|
|
|
|
|
ICAoKFbijbNWKT3ijbPijbRWKS9W4oaQLFYgICAg4oy34oaQ4o2z4oaS4o204oiG4oiH4oqD4oC+ |
74
|
|
|
|
|
|
|
4o2O4o2V4oyICgpOaWNlciB0eXBvZ3JhcGh5IGluIHBsYWluIHRleHQgZmlsZXM6CgogIOKVlOKV |
75
|
|
|
|
|
|
|
kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV |
76
|
|
|
|
|
|
|
kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV |
77
|
|
|
|
|
|
|
kOKVkOKVkOKVkOKVlwogIOKVkSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg |
78
|
|
|
|
|
|
|
ICAgIOKVkQogIOKVkSAgIOKAoiDigJhzaW5nbGXigJkgYW5kIOKAnGRvdWJsZeKAnSBxdW90ZXMg |
79
|
|
|
|
|
|
|
ICAgICAgICDilZEKICDilZEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg |
80
|
|
|
|
|
|
|
ICDilZEKICDilZEgICDigKIgQ3VybHkgYXBvc3Ryb3BoZXM6IOKAnFdl4oCZdmUgYmVlbiBoZXJl |
81
|
|
|
|
|
|
|
4oCdIOKVkQogIOKVkSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKV |
82
|
|
|
|
|
|
|
kQogIOKVkSAgIOKAoiBMYXRpbi0xIGFwb3N0cm9waGUgYW5kIGFjY2VudHM6ICfCtGAgIOKVkQog |
83
|
|
|
|
|
|
|
IOKVkSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQogIOKVkSAg |
84
|
|
|
|
|
|
|
IOKAoiDigJpkZXV0c2NoZeKAmCDigJ5BbmbDvGhydW5nc3plaWNoZW7igJwgICAgICAg4pWRCiAg |
85
|
|
|
|
|
|
|
4pWRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRCiAg4pWRICAg |
86
|
|
|
|
|
|
|
4oCiIOKAoCwg4oChLCDigLAsIOKAoiwgM+KAkzQsIOKAlCwg4oiSNS8rNSwg4oSiLCDigKYgICAg |
87
|
|
|
|
|
|
|
ICDilZEKICDilZEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEK |
88
|
|
|
|
|
|
|
ICDilZEgICDigKIgQVNDSUkgc2FmZXR5IHRlc3Q6IDFsSXwsIDBPRCwgOEIgICAgIOKVkQogIOKV |
89
|
|
|
|
|
|
|
kSAgICAgICAgICAgICAgICAgICAgICDila3ilIDilIDilIDilIDilIDilIDilIDilIDilIDila4g |
90
|
|
|
|
|
|
|
ICAgICAgICDilZEKICDilZEgICDigKIgdGhlIGV1cm8gc3ltYm9sOiDilIIgMTQuOTUg4oKsIOKU |
91
|
|
|
|
|
|
|
giAgICAgICAgIOKVkQogIOKVkSAgICAgICAgICAgICAgICAgICAgICDilbDilIDilIDilIDilIDi |
92
|
|
|
|
|
|
|
lIDilIDilIDilIDilIDila8gICAgICAgICDilZEKICDilZrilZDilZDilZDilZDilZDilZDilZDi |
93
|
|
|
|
|
|
|
lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi |
94
|
|
|
|
|
|
|
lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ0KCkNvbWJp |
95
|
|
|
|
|
|
|
bmluZyBjaGFyYWN0ZXJzOgoKICBTVEFSR86bzIpURSBTRy0xLCBhID0gdsyHID0gcsyILCBh4oOR |
96
|
|
|
|
|
|
|
IOKKpSBi4oORCgpHcmVlayAoaW4gUG9seXRvbmljKToKCiAgVGhlIEdyZWVrIGFudGhlbToKCiAg |
97
|
|
|
|
|
|
|
zqPhvbIgzrPOvc+Jz4HhvbfOts+JIOG8gM+A4b24IM+E4b20zr0gzrrhvbnPiM63CiAgz4TOv+G/ |
98
|
|
|
|
|
|
|
piDPg8+AzrHOuM65zr/hv6Ygz4ThvbTOvSDPhM+Bzr/OvM61z4HhvbUsCiAgz4PhvbIgzrPOvc+J |
99
|
|
|
|
|
|
|
z4HhvbfOts+JIOG8gM+A4b24IM+E4b20zr0g4b2Ez4jOtwogIM+Azr/hvbogzrzhvbIgzrLhvbfO |
100
|
|
|
|
|
|
|
sSDOvM61z4TPgeG9sc61zrkgz4ThvbQgzrPhv4YuCgogIOG+v86Rz4Dhvr8gz4ThvbAgzrrhvbnO |
101
|
|
|
|
|
|
|
us66zrHOu86xIM6yzrPOsc67zrzhvbPOvc63CiAgz4Thv7bOvSDhv77Olc67zrvhvbXOvc+Jzr0g |
102
|
|
|
|
|
|
|
z4ThvbAg4byxzrXPgeG9sQogIM66zrHhvbYgz4PhvbDOvSDPgM+B4b+2z4TOsSDhvIDOvc60z4HO |
103
|
|
|
|
|
|
|
tc65z4nOvOG9s869zrcKICDPh86x4b+Wz4HOtSwg4b2mIM+HzrHhv5bPgc61LCDhvr/Olc67zrXP |
104
|
|
|
|
|
|
|
hc64zrXPgc654b2xIQoKICBGcm9tIGEgc3BlZWNoIG9mIERlbW9zdGhlbmVzIGluIHRoZSA0dGgg |
105
|
|
|
|
|
|
|
Y2VudHVyeSBCQzoKCiAgzp/hvZDPh+G9tiDPhM6x4b2Qz4ThvbAgz4DOsc+B4b23z4PPhM6xz4TO |
106
|
|
|
|
|
|
|
seG9tyDOvM6/zrkgzrPOuc6zzr3hvb3Pg866zrXOuc69LCDhvaYg4byEzr3OtM+BzrXPgiDhvr/O |
107
|
|
|
|
|
|
|
kc64zrfOvc6x4b+Wzr/OuSwKICDhvYXPhM6xzr0gz4Thvr8gzrXhvLDPgiDPhOG9sCDPgM+B4b2x |
108
|
|
|
|
|
|
|
zrPOvM6xz4TOsSDhvIDPgM6/zrLOu+G9s8+Iz4kgzrrOseG9tiDhvYXPhM6xzr0gz4DPgeG9uM+C |
109
|
|
|
|
|
|
|
IM+Ezr/hvbrPggogIM674b25zrPOv8+Fz4Igzr/hvZPPgiDhvIDOus6/4b27z4nOhyDPhM6/4b26 |
110
|
|
|
|
|
|
|
z4IgzrzhvbLOvSDOs+G9sM+BIM674b25zrPOv8+Fz4Igz4DOtc+B4b22IM+Ezr/hv6YKICDPhM65 |
111
|
|
|
|
|
|
|
zrzPic+B4b21z4POsc+DzrjOsc65IM6m4b23zrvOuc+Az4DOv869IOG9gc+B4b+2IM6zzrnOs869 |
112
|
|
|
|
|
|
|
zr/OvOG9s869zr/Phc+CLCDPhOG9sCDOtOG9siDPgM+B4b2xzrPOvM6xz4Thvr8KICDOteG8sM+C |
113
|
|
|
|
|
|
|
IM+Ezr/hv6bPhM6/IM+Az4HOv+G9tc66zr/Ovc+EzrEsICDhvaXPg8644b6/IOG9hc+Az4nPgiDO |
114
|
|
|
|
|
|
|
vOG9tCDPgM61zrnPg+G9uc68zrXOuOG+vyDOseG9kM+Ezr/hvbYKICDPgM+B4b25z4TOtc+Bzr/O |
115
|
|
|
|
|
|
|
vSDOus6xzrrhv7bPgiDPg8664b2zz4jOsc+DzrjOsc65IM604b2zzr/OvS4gzr/hvZDOtOG9s869 |
116
|
|
|
|
|
|
|
IM6/4b2Wzr0g4byEzrvOu86/IM68zr/OuSDOtM6/zrrOv+G/ps+DzrnOvQogIM6/4byxIM+E4b2w |
117
|
|
|
|
|
|
|
IM+Ezr/Ouc6x4b+mz4TOsSDOu+G9s86zzr/Ovc+EzrXPgiDhvKIgz4ThvbTOvSDhvZHPgOG9uc64 |
118
|
|
|
|
|
|
|
zrXPg865zr0sIM+AzrXPgeG9tiDhvKfPgiDOss6/z4XOu8614b27zrXPg864zrHOuSwKICDOv+G9 |
119
|
|
|
|
|
|
|
kM+H4b22IM+E4b20zr0gzr/hvZbPg86xzr0gz4DOsc+BzrnPg8+E4b2xzr3PhM61z4Ig4b2Rzrzh |
120
|
|
|
|
|
|
|
v5bOvSDhvIHOvM6xz4HPhOG9sc69zrXOuc69LiDhvJDOs+G9vCDOtOG9sywg4b2Fz4TOuSDOvOG9 |
121
|
|
|
|
|
|
|
s869CiAgz4DOv8+E4b6/IOG8kM6+4b+Gzr0gz4Thv4cgz4DhvbnOu861zrkgzrrOseG9tiDPhOG9 |
122
|
|
|
|
|
|
|
sCDOseG9kc+E4b+Gz4Ig4byUz4fOtc65zr0g4byAz4PPhs6xzrvhv7bPgiDOus6x4b22IM6m4b23 |
123
|
|
|
|
|
|
|
zrvOuc+Az4DOv869CiAgz4TOuc68z4nPgeG9tc+DzrHPg864zrHOuSwgzrrOseG9tiDOvOG9sc67 |
124
|
|
|
|
|
|
|
4b6/IOG8gM66z4HOuc6y4b+2z4Igzr/hvLbOtM6xzocg4byQz4Dhvr8g4byQzrzOv+G/piDOs+G9 |
125
|
|
|
|
|
|
|
sc+BLCDOv+G9kCDPgOG9sc67zrHOuQogIM6z4b2zzrPOv869zrXOvSDPhM6x4b+mz4Thvr8g4byA |
126
|
|
|
|
|
|
|
zrzPhuG9uc+EzrXPgc6xzocgzr3hv6bOvSDOvOG9s869z4TOv865IM+A4b2zz4DOtc65z4POvM6x |
127
|
|
|
|
|
|
|
zrkgz4TOv+G/ps644b6/IOG8sc66zrHOveG9uM69CiAgz4DPgc6/zrvOsc6yzrXhv5bOvSDhvKHO |
128
|
|
|
|
|
|
|
vOG/ls69IM614by2zr3Osc65IM+E4b20zr0gz4DPgeG9vc+EzrfOvSwg4b2Fz4DPic+CIM+Ezr/h |
129
|
|
|
|
|
|
|
vbrPgiDPg8+FzrzOvOG9sc+Hzr/Phc+CCiAgz4Phvb3Pg86/zrzOtc69LiDhvJDhvbDOvSDOs+G9 |
130
|
|
|
|
|
|
|
sM+BIM+Ezr/hv6bPhM6/IM6yzrXOss6x4b23z4nPgiDhvZHPgOG9sc+Bzr7hv4MsIM+E4b25z4TO |
131
|
|
|
|
|
|
|
tSDOus6x4b22IM+AzrXPgeG9tiDPhM6/4b+mCiAgz4ThvbfOvc6xIM+EzrnOvM+Jz4HhvbXPg861 |
132
|
|
|
|
|
|
|
z4TOseG9tyDPhM65z4IgzrrOseG9tiDhvYPOvSDPhM+B4b25z4DOv869IOG8kM6+4b2zz4PPhM6x |
133
|
|
|
|
|
|
|
zrkgz4POus6/z4DOteG/ls69zocgz4DPgeG9ts69IM604b2yCiAgz4ThvbTOvSDhvIDPgc+H4b20 |
134
|
|
|
|
|
|
|
zr0g4b2Az4HOuOG/ts+CIOG9kc+Azr/OuOG9s8+DzrjOsc65LCDOvOG9sc+EzrHOuc6/zr0g4byh |
135
|
|
|
|
|
|
|
zrPOv+G/ps68zrHOuSDPgM61z4HhvbYgz4Thv4bPggogIM+EzrXOu861z4XPhOG/hs+CIOG9gc69 |
136
|
|
|
|
|
|
|
z4TOuc69zr/hv6bOvSDPgM6/zrnOteG/ls+DzrjOsc65IM674b25zrPOv869LgoKICDOlM63zrzO |
137
|
|
|
|
|
|
|
v8+DzrjhvbPOvc6/z4XPgiwgzpPhv70g4b6/zp/Ou8+Fzr3OuM65zrHOuuG9uM+CCgpHZW9yZ2lh |
138
|
|
|
|
|
|
|
bjoKCiAgRnJvbSBhIFVuaWNvZGUgY29uZmVyZW5jZSBpbnZpdGF0aW9uOgoKICDhg5Lhg5fhg67h |
139
|
|
|
|
|
|
|
g53hg5Xhg5cg4YOQ4YOu4YOa4YOQ4YOV4YOUIOGDkuGDkOGDmOGDkOGDoOGDneGDlyDhg6Dhg5Th |
140
|
|
|
|
|
|
|
g5Lhg5jhg6Hhg6Lhg6Dhg5Dhg6rhg5jhg5AgVW5pY29kZS3hg5jhg6Eg4YOb4YOU4YOQ4YOX4YOU |
141
|
|
|
|
|
|
|
IOGDoeGDkOGDlOGDoOGDl+GDkOGDqOGDneGDoOGDmOGDoeGDnQogIOGDmeGDneGDnOGDpOGDlOGD |
142
|
|
|
|
|
|
|
oOGDlOGDnOGDquGDmOGDkOGDluGDlCDhg5Phg5Dhg6Hhg5Dhg6Hhg6zhg6Dhg5Thg5Hhg5Dhg5Ms |
143
|
|
|
|
|
|
|
IOGDoOGDneGDm+GDlOGDmuGDmOGDqiDhg5Lhg5Dhg5jhg5vhg5Dhg6Dhg5fhg5Thg5Hhg5AgMTAt |
144
|
|
|
|
|
|
|
MTIg4YOb4YOQ4YOg4YOi4YOhLAogIOGDpS4g4YOb4YOQ4YOY4YOc4YOq4YOo4YOYLCDhg5Lhg5Th |
145
|
|
|
|
|
|
|
g6Dhg5vhg5Dhg5zhg5jhg5Dhg6jhg5guIOGDmeGDneGDnOGDpOGDlOGDoOGDlOGDnOGDquGDmOGD |
146
|
|
|
|
|
|
|
kCDhg6jhg5Thg7Dhg5nhg6Dhg5Thg5Hhg6Eg4YOU4YOg4YOX4YOQ4YOTIOGDm+GDoeGDneGDpOGD |
147
|
|
|
|
|
|
|
muGDmOGDneGDoQogIOGDlOGDpeGDoeGDnuGDlOGDoOGDouGDlOGDkeGDoSDhg5jhg6Hhg5Thg5cg |
148
|
|
|
|
|
|
|
4YOT4YOQ4YOg4YOS4YOU4YOR4YOo4YOYIOGDoOGDneGDkuGDneGDoOGDmOGDquGDkOGDkCDhg5jh |
149
|
|
|
|
|
|
|
g5zhg6Lhg5Thg6Dhg5zhg5Thg6Lhg5gg4YOT4YOQIFVuaWNvZGUt4YOYLAogIOGDmOGDnOGDouGD |
150
|
|
|
|
|
|
|
lOGDoOGDnOGDkOGDquGDmOGDneGDnOGDkOGDmuGDmOGDluGDkOGDquGDmOGDkCDhg5Phg5Ag4YOa |
151
|
|
|
|
|
|
|
4YOd4YOZ4YOQ4YOa4YOY4YOW4YOQ4YOq4YOY4YOQLCBVbmljb2RlLeGDmOGDoSDhg5Lhg5Dhg5vh |
152
|
|
|
|
|
|
|
g53hg6fhg5Thg5zhg5Thg5Hhg5AKICDhg53hg57hg5Thg6Dhg5Dhg6rhg5jhg6Phg5og4YOh4YOY |
153
|
|
|
|
|
|
|
4YOh4YOi4YOU4YOb4YOU4YOR4YOh4YOQLCDhg5Phg5Ag4YOS4YOQ4YOb4YOd4YOn4YOU4YOc4YOU |
154
|
|
|
|
|
|
|
4YOR4YOY4YOXIOGDnuGDoOGDneGDkuGDoOGDkOGDm+GDlOGDkeGDqOGDmCwg4YOo4YOg4YOY4YOk |
155
|
|
|
|
|
|
|
4YOi4YOU4YOR4YOo4YOYLAogIOGDouGDlOGDpeGDoeGDouGDlOGDkeGDmOGDoSDhg5Phg5Dhg5vh |
156
|
|
|
|
|
|
|
g6Phg6jhg5Dhg5Xhg5Thg5Hhg5Dhg6Hhg5Ag4YOT4YOQIOGDm+GDoOGDkOGDleGDkOGDmuGDlOGD |
157
|
|
|
|
|
|
|
nOGDneGDleGDkOGDnCDhg5nhg53hg5vhg57hg5jhg6Phg6Lhg5Thg6Dhg6Phg5og4YOh4YOY4YOh |
158
|
|
|
|
|
|
|
4YOi4YOU4YOb4YOU4YOR4YOo4YOYLgoKUnVzc2lhbjoKCiAgRnJvbSBhIFVuaWNvZGUgY29uZmVy |
159
|
|
|
|
|
|
|
ZW5jZSBpbnZpdGF0aW9uOgoKICDQl9Cw0YDQtdCz0LjRgdGC0YDQuNGA0YPQudGC0LXRgdGMINGB |
160
|
|
|
|
|
|
|
0LXQudGH0LDRgSDQvdCwINCU0LXRgdGP0YLRg9GOINCc0LXQttC00YPQvdCw0YDQvtC00L3Rg9GO |
161
|
|
|
|
|
|
|
INCa0L7QvdGE0LXRgNC10L3RhtC40Y4g0L/QvgogIFVuaWNvZGUsINC60L7RgtC+0YDQsNGPINGB |
162
|
|
|
|
|
|
|
0L7RgdGC0L7QuNGC0YHRjyAxMC0xMiDQvNCw0YDRgtCwIDE5OTcg0LPQvtC00LAg0LIg0JzQsNC5 |
163
|
|
|
|
|
|
|
0L3RhtC1INCyINCT0LXRgNC80LDQvdC40LguCiAg0JrQvtC90YTQtdGA0LXQvdGG0LjRjyDRgdC+ |
164
|
|
|
|
|
|
|
0LHQtdGA0LXRgiDRiNC40YDQvtC60LjQuSDQutGA0YPQsyDRjdC60YHQv9C10YDRgtC+0LIg0L/Q |
165
|
|
|
|
|
|
|
viAg0LLQvtC/0YDQvtGB0LDQvCDQs9C70L7QsdCw0LvRjNC90L7Qs9C+CiAg0JjQvdGC0LXRgNC9 |
166
|
|
|
|
|
|
|
0LXRgtCwINC4IFVuaWNvZGUsINC70L7QutCw0LvQuNC30LDRhtC40Lgg0Lgg0LjQvdGC0LXRgNC9 |
167
|
|
|
|
|
|
|
0LDRhtC40L7QvdCw0LvQuNC30LDRhtC40LgsINCy0L7Qv9C70L7RidC10L3QuNGOINC4CiAg0L/R |
168
|
|
|
|
|
|
|
gNC40LzQtdC90LXQvdC40Y4gVW5pY29kZSDQsiDRgNCw0LfQu9C40YfQvdGL0YUg0L7Qv9C10YDQ |
169
|
|
|
|
|
|
|
sNGG0LjQvtC90L3Ri9GFINGB0LjRgdGC0LXQvNCw0YUg0Lgg0L/RgNC+0LPRgNCw0LzQvNC90YvR |
170
|
|
|
|
|
|
|
hQogINC/0YDQuNC70L7QttC10L3QuNGP0YUsINGI0YDQuNGE0YLQsNGFLCDQstC10YDRgdGC0LrQ |
171
|
|
|
|
|
|
|
tSDQuCDQvNC90L7Qs9C+0Y/Qt9GL0YfQvdGL0YUg0LrQvtC80L/RjNGO0YLQtdGA0L3Ri9GFINGB |
172
|
|
|
|
|
|
|
0LjRgdGC0LXQvNCw0YUuCgpUaGFpIChVQ1MgTGV2ZWwgMik6CgogIEV4Y2VycHQgZnJvbSBhIHBv |
173
|
|
|
|
|
|
|
ZXRyeSBvbiBUaGUgUm9tYW5jZSBvZiBUaGUgVGhyZWUgS2luZ2RvbXMgKGEgQ2hpbmVzZQogIGNs |
174
|
|
|
|
|
|
|
YXNzaWMgJ1NhbiBHdWEnKToKCiAgWy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0t |
175
|
|
|
|
|
|
|
LS0tLS0tLS0tLS0tLS0tLS0tXQogICAg4LmPIOC5geC4nOC5iOC4meC4lOC4tOC4meC4ruC4seC5 |
176
|
|
|
|
|
|
|
iOC4meC5gOC4quC4t+C5iOC4reC4oeC5guC4l+C4o+C4oeC5geC4quC4meC4quC4seC4h+C5gOC4 |
177
|
|
|
|
|
|
|
p+C4iiAg4Lie4Lij4Liw4Lib4LiB4LmA4LiB4Lio4LiB4Lit4LiH4Lia4Li54LmK4LiB4Li54LmJ |
178
|
|
|
|
|
|
|
4LiC4Li24LmJ4LiZ4LmD4Lir4Lih4LmICiAg4Liq4Li04Lia4Liq4Lit4LiH4LiB4Lip4Lix4LiV |
179
|
|
|
|
|
|
|
4Lij4Li04Lii4LmM4LiB4LmI4Lit4LiZ4Lir4LiZ4LmJ4Liy4LmB4Lil4LiW4Lix4LiU4LmE4Lib |
180
|
|
|
|
|
|
|
ICAgICAgIOC4quC4reC4h+C4reC4h+C4hOC5jOC5hOC4i+C4o+C5ieC5guC4h+C5iOC5gOC4guC4 |
181
|
|
|
|
|
|
|
peC4suC5gOC4muC4suC4m+C4seC4jeC4jeC4sgogICAg4LiX4Lij4LiH4LiZ4Lix4Lia4LiW4Li3 |
182
|
|
|
|
|
|
|
4Lit4LiC4Lix4LiZ4LiX4Li14LmA4Lib4LmH4LiZ4LiX4Li14LmI4Lie4Li24LmI4LiHICAgICAg |
183
|
|
|
|
|
|
|
ICAgICDguJrguYnguLLguJnguYDguKHguLfguK3guIfguIjguLbguIfguKfguLTguJvguKPguLTg |
184
|
|
|
|
|
|
|
uJXguYDguJvguYfguJnguJnguLHguIHguKvguJnguLIKICDguYLguK7guIjguLTguYvguJnguYDg |
185
|
|
|
|
|
|
|
uKPguLXguKLguIHguJfguLHguJ7guJfguLHguYjguKfguKvguLHguKfguYDguKHguLfguK3guIfg |
186
|
|
|
|
|
|
|
uKHguLIgICAgICAgICDguKvguKHguLLguKLguIjguLDguIbguYjguLLguKHguJTguIrguLHguYjg |
187
|
|
|
|
|
|
|
uKfguJXguLHguKfguKrguLPguITguLHguI0KICAgIOC5gOC4q+C4oeC4t+C4reC4meC4guC4seC4 |
188
|
|
|
|
|
|
|
muC5hOC4quC5hOC4peC5iOC5gOC4quC4t+C4reC4iOC4suC4geC5gOC4hOC4q+C4siAgICAgIOC4 |
189
|
|
|
|
|
|
|
o+C4seC4muC4q+C4oeC4suC4m+C5iOC4suC5gOC4guC5ieC4suC4oeC4suC5gOC4peC4ouC4reC4 |
190
|
|
|
|
|
|
|
suC4quC4seC4jQogIOC4neC5iOC4suC4ouC4reC5ieC4reC4h+C4reC4uOC5ieC4meC4ouC4uOC5 |
191
|
|
|
|
|
|
|
geC4ouC4geC5g+C4q+C5ieC5geC4leC4geC4geC4seC4mSAgICAgICAgICDguYPguIrguYnguKrg |
192
|
|
|
|
|
|
|
uLLguKfguJnguLHguYnguJnguYDguJvguYfguJnguIrguJnguKfguJnguIrguLfguYjguJnguIrg |
193
|
|
|
|
|
|
|
uKfguJnguYPguIgKICAgIOC4nuC4peC4seC4meC4peC4tOC4ieC4uOC4ouC4geC4uOC4ouC4geC4 |
194
|
|
|
|
|
|
|
teC4geC4peC4seC4muC4geC5iOC4reC5gOC4q+C4leC4uCAgICAgICAgICDguIrguYjguLLguIfg |
195
|
|
|
|
|
|
|
uK3guLLguYDguJ7guKjguIjguKPguLTguIfguKvguJnguLLguJ/guYnguLLguKPguYnguK3guIfg |
196
|
|
|
|
|
|
|
uYTguKvguYkKICDguJXguYnguK3guIfguKPguJrguKPguLLguIbguYjguLLguJ/guLHguJnguIjg |
197
|
|
|
|
|
|
|
uJnguJrguKPguKPguKXguLHguKIgICAgICAgICAgIOC4pOC5heC4q+C4suC5g+C4hOC4o+C4hOC5 |
198
|
|
|
|
|
|
|
ieC4s+C4iuC4ueC4geC4ueC5ieC4muC4o+C4o+C4peC4seC4h+C4geC5jCDguK8KCiAgKFRoZSBh |
199
|
|
|
|
|
|
|
Ym92ZSBpcyBhIHR3by1jb2x1bW4gdGV4dC4gSWYgY29tYmluaW5nIGNoYXJhY3RlcnMgYXJlIGhh |
200
|
|
|
|
|
|
|
bmRsZWQKICBjb3JyZWN0bHksIHRoZSBsaW5lcyBvZiB0aGUgc2Vjb25kIGNvbHVtbiBzaG91bGQg |
201
|
|
|
|
|
|
|
YmUgYWxpZ25lZCB3aXRoIHRoZQogIHwgY2hhcmFjdGVyIGFib3ZlLikKCkV0aGlvcGlhbjoKCiAg |
202
|
|
|
|
|
|
|
UHJvdmVyYnMgaW4gdGhlIEFtaGFyaWMgbGFuZ3VhZ2U6CgogIOGIsOGIm+GLrSDhiqDhi63hibPh |
203
|
|
|
|
|
|
|
iKjhiLUg4YqV4YyJ4YilIOGKoOGLreGKqOGIsOGIteGNogogIOGJpeGIiyDhiqvhiIjhip0g4Yql |
204
|
|
|
|
|
|
|
4YqV4Yuw4Yqg4Ymj4Ym0IOGJoOGJhuGImOGMoOGKneGNogogIOGMjOGMpSDhi6vhiIjhiaThibEg |
205
|
|
|
|
|
|
|
4YmB4Yid4Yyl4YqTIOGKkOGLjeGNogogIOGLsOGIgCDhiaDhiJXhiI3hiJkg4YmF4YmkIOGJo+GL |
206
|
|
|
|
|
|
|
reGMoOGMoyDhipXhjKPhibUg4Ymg4YyI4Yuw4YiI4YuN4Y2iCiAg4Yuo4Yqg4Y2NIOGLiOGIiOGI |
207
|
|
|
|
|
|
|
neGJsyDhiaDhiYXhiaQg4Yqg4Yut4Ymz4Yi94Yid4Y2iCiAg4Yqg4Yut4YylIOGJoOGJoOGIiyDh |
208
|
|
|
|
|
|
|
i7Phi4sg4Ymw4YiY4Ymz4Y2iCiAg4Yiy4Ymw4Yio4YyJ4YiZIOGLreGLsOGIqOGMjeGImeGNogog |
209
|
|
|
|
|
|
|
IOGJgOGItSDhiaDhiYDhiLXhjaUg4YuV4YqV4YmB4YiL4YiNIOGJoOGKpeGMjeGIqSDhi63hiITh |
210
|
|
|
|
|
|
|
i7PhiI3hjaIKICDhi7XhiK0g4Ymi4Yur4Yml4YitIOGKoOGKleGJoOGIsyDhi6vhiLXhiK3hjaIK |
211
|
|
|
|
|
|
|
ICDhiLDhi40g4Yql4YqV4Yuw4Ymk4YmxIOGKpeGKleGMhSDhiqXhipXhi7Ag4YyJ4Yio4Ymk4Ymx |
212
|
|
|
|
|
|
|
IOGKoOGLreGJsOGLs+GLsOGIreGIneGNogogIOGKpeGMjeGLnOGIrSDhi6jhiqjhjYjhibDhi43h |
213
|
|
|
|
|
|
|
ipUg4YyJ4Yiu4YiuIOGIs+GLreGLmOGMi+GLjSDhiqDhi63hi7XhiK3hiJ3hjaIKICDhi6jhjI7h |
214
|
|
|
|
|
|
|
iKjhiaThibUg4YiM4Ymj4Y2lIOGJouGLq+GLqeGJtSDhi63hiLXhiYUg4Ymj4Yur4Yup4Ym1IOGL |
215
|
|
|
|
|
|
|
q+GMoOGIjeGJheGNogogIOGIpeGIqyDhiqjhiJjhjY3hibPhibUg4YiN4YyE4YqVIOGIi+GNi+GJ |
216
|
|
|
|
|
|
|
s+GJteGNogogIOGLk+GJo+GLrSDhiJvhi7DhiKrhi6sg4Yuo4YiI4YuN4Y2lIOGMjeGKleGLtSDh |
217
|
|
|
|
|
|
|
i63hi54g4Yut4Yue4Yir4YiN4Y2iCiAg4Yuo4Yql4Yi14YiL4YidIOGKoOGMiOGIqSDhiJjhiqsg |
218
|
|
|
|
|
|
|
4Yuo4Yqg4Yie4YirIOGKoOGMiOGIqSDhi4vhiK3hiqvhjaIKICDhibDhipXhjIvhiI4g4Ymi4Ymw |
219
|
|
|
|
|
|
|
4Y2JIOGJsOGImOGIjeGItiDhiaPhjYnhjaIKICDhi4jhi7PhjIXhiIUg4Yib4YitIOGJouGIhuGK |
220
|
|
|
|
|
|
|
lSDhjKjhiK3hiLXhiIUg4Yqg4Ym14YiL4Yiw4YuN4Y2iCiAg4Yql4YyN4Yit4YiF4YqVIOGJoOGN |
221
|
|
|
|
|
|
|
jeGIq+GIveGIhSDhiI3hiq0g4YuY4Yit4YyL4Y2iCgpSdW5lczoKCiAg4Zq74ZuWIOGas+GaueGa |
222
|
|
|
|
|
|
|
q+GapiDhmqbhmqvhm48g4Zq74ZuWIOGbkuGaouGbnuGbliDhmqnhmr4g4Zqm4Zqr4ZuXIOGbmuGa |
223
|
|
|
|
|
|
|
quGavuGbnuGbliDhmr7hmqnhmrHhmqbhmrnhm5bhmqrhmrHhm57hmqLhm5cg4Zq54ZuB4ZqmIOGa |
224
|
|
|
|
|
|
|
puGaqiDhmrnhm5bhm6XhmqsKCiAgKE9sZCBFbmdsaXNoLCB3aGljaCB0cmFuc2NyaWJlZCBpbnRv |
225
|
|
|
|
|
|
|
IExhdGluIHJlYWRzICdIZSBjd2FldGggdGhhdCBoZQogIGJ1ZGUgdGhhZW0gbGFuZGUgbm9ydGh3 |
226
|
|
|
|
|
|
|
ZWFyZHVtIHdpdGggdGhhIFdlc3RzYWUuJyBhbmQgbWVhbnMgJ0hlIHNhaWQKICB0aGF0IGhlIGxp |
227
|
|
|
|
|
|
|
dmVkIGluIHRoZSBub3J0aGVybiBsYW5kIG5lYXIgdGhlIFdlc3Rlcm4gU2VhLicpCgpCcmFpbGxl |
228
|
|
|
|
|
|
|
OgoKICDioYzioIHioKfioJEg4qC84qCB4qCSICDioY3ioJzioIfioJHioLnioLDioI4g4qGj4qCV |
229
|
|
|
|
|
|
|
4qCMCgogIOKhjeKgnOKgh+KgkeKguSDioLrioIHioI4g4qCZ4qCR4qCB4qCZ4qCSIOKgnuKglSDi |
230
|
|
|
|
|
|
|
oIPioJHioJvioJQg4qC64qCK4qC54qCyIOKhueKgu+KgkSDioIrioI4g4qCd4qCVIOKgmeKgs+Kg |
231
|
|
|
|
|
|
|
g+KgngogIOKgseKggeKgnuKgkeKgp+KguyDioIHioIPioLPioJ4g4qC54qCB4qCe4qCyIOKhueKg |
232
|
|
|
|
|
|
|
kSDioJfioJHioJvioIrioIzioLsg4qCV4qCLIOKgmeKgiuKgjiDioIPioKXioJfioIrioIHioIcg |
233
|
|
|
|
|
|
|
4qC64qCB4qCOCiAg4qCO4qCK4qCb4qCd4qCrIOKgg+KguSDioLnioJEg4qCK4qCH4qC74qCb4qC5 |
234
|
|
|
|
|
|
|
4qCN4qCB4qCd4qCCIOKgueKgkSDioIrioIfioLvioIXioIIg4qC54qCRIOKgpeKgneKgmeKgu+Kg |
235
|
|
|
|
|
|
|
nuKggeKgheKgu+KgggogIOKggeKgneKgmSDioLnioJEg4qCh4qCK4qCR4qCLIOKgjeKgs+Kgl+Kg |
236
|
|
|
|
|
|
|
neKgu+KgsiDioY7ioIrioJfioJXioJXioJvioJEg4qCO4qCK4qCb4qCd4qCrIOKgiuKgnuKgsiDi |
237
|
|
|
|
|
|
|
oYHioJ3ioJkKICDioY7ioIrioJfioJXioJXioJvioJHioLDioI4g4qCd4qCB4qCN4qCRIOKguuKg |
238
|
|
|
|
|
|
|
geKgjiDioJvioJXioJXioJkg4qCl4qCP4qCV4qCdIOKgsOKhoeKggeKgneKgm+KgkeKggiDioIvi |
239
|
|
|
|
|
|
|
oJXioJcg4qCB4qCd4qC54qC54qCU4qCbIOKgmeKgkQogIOKgoeKgleKgjuKgkSDioJ7ioJUg4qCP |
240
|
|
|
|
|
|
|
4qCl4qCeIOKgmeKgiuKgjiDioJnioIHioJ3ioJkg4qCe4qCV4qCyCgogIOKhleKgh+KgmSDioY3i |
241
|
|
|
|
|
|
|
oJzioIfioJHioLkg4qC64qCB4qCOIOKggeKgjiDioJnioJHioIHioJkg4qCB4qCOIOKggSDioJni |
242
|
|
|
|
|
|
|
oJXioJXioJfioKTioJ3ioIHioIrioIfioLIKCiAg4qGN4qCU4qCZ4qCWIOKhiiDioJnioJXioJ3i |
243
|
|
|
|
|
|
|
oLDioJ4g4qCN4qCR4qCB4qCdIOKgnuKglSDioI7ioIHioLkg4qC54qCB4qCeIOKhiiDioIXioJ3i |
244
|
|
|
|
|
|
|
oKrioIIg4qCV4qCLIOKgjeKguQogIOKgquKgnSDioIXioJ3ioKrioIfioKvioJvioJHioIIg4qCx |
245
|
|
|
|
|
|
|
4qCB4qCeIOKgueKgu+KgkSDioIrioI4g4qCP4qCc4qCe4qCK4qCK4qCl4qCH4qCc4qCH4qC5IOKg |
246
|
|
|
|
|
|
|
meKgkeKggeKgmSDioIHioIPioLPioJ4KICDioIEg4qCZ4qCV4qCV4qCX4qCk4qCd4qCB4qCK4qCH |
247
|
|
|
|
|
|
|
4qCyIOKhiiDioI3ioIrioKPioJ4g4qCZ4qCB4qCn4qCRIOKgg+KgkeKgsiDioJTioIrioIfioJTi |
248
|
|
|
|
|
|
|
oKvioIIg4qCN4qC54qCO4qCR4qCH4qCL4qCCIOKgnuKglQogIOKgl+KgkeKgm+KgnOKgmSDioIEg |
249
|
|
|
|
|
|
|
4qCK4qCV4qCL4qCL4qCU4qCk4qCd4qCB4qCK4qCHIOKggeKgjiDioLnioJEg4qCZ4qCR4qCB4qCZ |
250
|
|
|
|
|
|
|
4qCR4qCMIOKgj+KgiuKgkeKgiuKgkSDioJXioIsg4qCK4qCX4qCV4qCd4qCN4qCV4qCd4qCb4qC7 |
251
|
|
|
|
|
|
|
4qC5CiAg4qCUIOKgueKgkSDioJ7ioJfioIHioJnioJHioLIg4qGD4qCl4qCeIOKgueKgkSDioLri |
252
|
|
|
|
|
|
|
oIrioI7ioJnioJXioI0g4qCV4qCLIOKgs+KglyDioIHioJ3ioIrioJHioIzioJXioJfioI4KICDi |
253
|
|
|
|
|
|
|
oIrioI4g4qCUIOKgueKgkSDioI7ioIrioI3ioIrioIfioJHioIYg4qCB4qCd4qCZIOKgjeKguSDi |
254
|
|
|
|
|
|
|
oKXioJ3ioJnioIHioIfioIfioKrioKsg4qCZ4qCB4qCd4qCZ4qCOCiAg4qCp4qCB4qCH4qCHIOKg |
255
|
|
|
|
|
|
|
neKgleKgniDioJnioIrioIzioKXioJfioIMg4qCK4qCe4qCCIOKgleKglyDioLnioJEg4qGK4qCz |
256
|
|
|
|
|
|
|
4qCd4qCe4qCX4qC54qCw4qCOIOKgmeKgleKgneKgkSDioIvioJXioJfioLIg4qG54qCzCiAg4qC6 |
257
|
|
|
|
|
|
|
4qCK4qCH4qCHIOKgueKgu+KgkeKgi+KgleKgl+KgkSDioI/ioLvioI3ioIrioJ4g4qCN4qCRIOKg |
258
|
|
|
|
|
|
|
nuKglSDioJfioJHioI/ioJHioIHioJ7ioIIg4qCR4qCN4qCP4qCZ4qCB4qCe4qCK4qCK4qCB4qCH |
259
|
|
|
|
|
|
|
4qCH4qC54qCCIOKgueKggeKgngogIOKhjeKgnOKgh+KgkeKguSDioLrioIHioI4g4qCB4qCOIOKg |
260
|
|
|
|
|
|
|
meKgkeKggeKgmSDioIHioI4g4qCBIOKgmeKgleKgleKgl+KgpOKgneKggeKgiuKgh+KgsgoKICAo |
261
|
|
|
|
|
|
|
VGhlIGZpcnN0IGNvdXBsZSBvZiBwYXJhZ3JhcGhzIG9mICJBIENocmlzdG1hcyBDYXJvbCIgYnkg |
262
|
|
|
|
|
|
|
RGlja2VucykKCkNvbXBhY3QgZm9udCBzZWxlY3Rpb24gZXhhbXBsZSB0ZXh0OgoKICBBQkNERUZH |
263
|
|
|
|
|
|
|
SElKS0xNTk9QUVJTVFVWV1hZWiAvMDEyMzQ1Njc4OQogIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3 |
264
|
|
|
|
|
|
|
eHl6IMKjwqnCtcOAw4bDlsOew5/DqcO2w78KICDigJPigJTigJjigJzigJ3igJ7igKDigKLigKbi |
265
|
|
|
|
|
|
|
gLDihKLFk8WgxbjFvuKCrCDOkc6SzpPOlM6pzrHOss6zzrTPiSDQkNCR0JLQk9CU0LDQsdCy0LPQ |
266
|
|
|
|
|
|
|
tAogIOKIgOKIguKIiOKEneKIp+KIquKJoeKIniDihpHihpfihqjihrvih6Mg4pSQ4pS84pWU4pWY |
267
|
|
|
|
|
|
|
4paR4pa64pi64pmAIO+sge+/veKRgOKCguG8oOG4gtOl4bqEyZDLkOKNjteQ1LHhg5AKCkdyZWV0 |
268
|
|
|
|
|
|
|
aW5ncyBpbiB2YXJpb3VzIGxhbmd1YWdlczoKCiAgSGVsbG8gd29ybGQsIM6azrHOu863zrzhvbPP |
269
|
|
|
|
|
|
|
gc6xIM664b25z4POvM61LCDjgrPjg7Pjg4vjg4Hjg48KCkJveCBkcmF3aW5nIGFsaWdubWVudCB0 |
270
|
|
|
|
|
|
|
ZXN0czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilogKICAgICAg |
271
|
|
|
|
|
|
|
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg |
272
|
|
|
|
|
|
|
ICAgICAgIOKWiQogIOKVlOKVkOKVkOKVpuKVkOKVkOKVlyAg4pSM4pSA4pSA4pSs4pSA4pSA4pSQ |
273
|
|
|
|
|
|
|
ICDila3ilIDilIDilKzilIDilIDila4gIOKVreKUgOKUgOKUrOKUgOKUgOKVriAg4pSP4pSB4pSB |
274
|
|
|
|
|
|
|
4pSz4pSB4pSB4pSTICDilI7ilJLilI/ilJEgICDilbcgIOKVuyDilI/ilK/ilJMg4pSM4pSw4pSQ |
275
|
|
|
|
|
|
|
ICAgIOKWiiDilbHilbLilbHilbLilbPilbPilbMKICDilZHilIzilIDilajilIDilJDilZEgIOKU |
276
|
|
|
|
|
|
|
guKVlOKVkOKVp+KVkOKVl+KUgiAg4pSC4pWS4pWQ4pWq4pWQ4pWV4pSCICDilILilZPilIDilYHi |
277
|
|
|
|
|
|
|
lIDilZbilIIgIOKUg+KUjOKUgOKVguKUgOKUkOKUgyAg4pSX4pWD4pWE4pSZICDilbbilLzilbTi |
278
|
|
|
|
|
|
|
lbrilYvilbjilKDilLzilKgg4pSd4pWL4pSlICAgIOKWiyDilbLilbHilbLilbHilbPilbPilbMK |
279
|
|
|
|
|
|
|
ICDilZHilILilbIg4pWx4pSC4pWRICDilILilZEgICDilZHilIIgIOKUguKUgiDilIIg4pSC4pSC |
280
|
|
|
|
|
|
|
ICDilILilZEg4pSDIOKVkeKUgiAg4pSD4pSCIOKVvyDilILilIMgIOKUjeKVheKVhuKUkyAgIOKV |
281
|
|
|
|
|
|
|
tSAg4pW5IOKUl+KUt+KUmyDilJTilLjilJggICAg4paMIOKVseKVsuKVseKVsuKVs+KVs+KVswog |
282
|
|
|
|
|
|
|
IOKVoOKVoSDilbMg4pWe4pWjICDilJzilaIgICDilZ/ilKQgIOKUnOKUvOKUgOKUvOKUgOKUvOKU |
283
|
|
|
|
|
|
|
pCAg4pSc4pWr4pSA4pWC4pSA4pWr4pSkICDilKPilL/ilb7ilLzilbzilL/ilKsgIOKUleKUm+KU |
284
|
|
|
|
|
|
|
luKUmiAgICAg4pSM4pSE4pSE4pSQIOKVjiDilI/ilIXilIXilJMg4pSLIOKWjSDilbLilbHilbLi |
285
|
|
|
|
|
|
|
lbHilbPilbPilbMKICDilZHilILilbEg4pWy4pSC4pWRICDilILilZEgICDilZHilIIgIOKUguKU |
286
|
|
|
|
|
|
|
giDilIIg4pSC4pSCICDilILilZEg4pSDIOKVkeKUgiAg4pSD4pSCIOKVvSDilILilIMgIOKWkeKW |
287
|
|
|
|
|
|
|
keKWkuKWkuKWk+KWk+KWiOKWiCDilIogIOKUhiDilY4g4pWPICDilIcg4pSLIOKWjgogIOKVkeKU |
288
|
|
|
|
|
|
|
lOKUgOKVpeKUgOKUmOKVkSAg4pSC4pWa4pWQ4pWk4pWQ4pWd4pSCICDilILilZjilZDilarilZDi |
289
|
|
|
|
|
|
|
lZvilIIgIOKUguKVmeKUgOKVgOKUgOKVnOKUgiAg4pSD4pSU4pSA4pWC4pSA4pSY4pSDICDilpHi |
290
|
|
|
|
|
|
|
lpHilpLilpLilpPilpPilojilogg4pSKICDilIYg4pWOIOKVjyAg4pSHIOKUiyDilo8KICDilZri |
291
|
|
|
|
|
|
|
lZDilZDilanilZDilZDilZ0gIOKUlOKUgOKUgOKUtOKUgOKUgOKUmCAg4pWw4pSA4pSA4pS04pSA |
292
|
|
|
|
|
|
|
4pSA4pWvICDilbDilIDilIDilLTilIDilIDila8gIOKUl+KUgeKUgeKUu+KUgeKUgeKUmyAg4paX |
293
|
|
|
|
|
|
|
4paE4paW4pab4paA4pacICAg4pSU4pWM4pWM4pSYIOKVjiDilJfilY3ilY3ilJsg4pSLICDiloHi |
294
|
|
|
|
|
|
|
loLiloPiloTiloXilobilofilogKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg |
295
|
|
|
|
|
|
|
ICAgICAgICAgICDilp3iloDilpjilpniloTilp8K |
296
|
|
|
|
|
|
|
EOT |
297
|
1
|
50
|
|
|
|
3
|
dief("corrupted inlined UTF-8 string: %d", length($_UnicodeString)) |
298
|
|
|
|
|
|
|
unless length($_UnicodeString) == 14052; |
299
|
1
|
|
|
|
|
7
|
$_UnicodeString = decode("UTF-8", $_UnicodeString, FB_CROAK); |
300
|
1
|
50
|
|
|
|
401
|
dief("corrupted inlined Unicode string: %d", length($_UnicodeString)) |
301
|
|
|
|
|
|
|
unless length($_UnicodeString) == 7621; |
302
|
|
|
|
|
|
|
} |
303
|
|
|
|
|
|
|
|
304
|
|
|
|
|
|
|
# |
305
|
|
|
|
|
|
|
# return a reference to a random binary string of the given length |
306
|
|
|
|
|
|
|
# |
307
|
|
|
|
|
|
|
|
308
|
|
|
|
|
|
|
sub _rndbin ($) { |
309
|
2741
|
|
|
2741
|
|
1779
|
my($length) = @_; |
310
|
2741
|
|
|
|
|
1694
|
my($string, $digest, $extra); |
311
|
|
|
|
|
|
|
|
312
|
2741
|
50
|
|
|
|
2876
|
return(\ "") unless $length > 0; |
313
|
2741
|
|
|
|
|
9141
|
$_MD5->add(rand()); |
314
|
2741
|
|
|
|
|
2604
|
$string = ""; |
315
|
2741
|
|
|
|
|
3514
|
while (length($string) < $length) { |
316
|
81120
|
|
|
|
|
109989
|
$digest = $_MD5->digest(); |
317
|
81120
|
|
|
|
|
81359
|
$_MD5->add($digest); |
318
|
81120
|
|
|
|
|
99347
|
$string .= $digest; |
319
|
|
|
|
|
|
|
} |
320
|
2741
|
|
|
|
|
1886
|
$extra = length($string) - $length; |
321
|
2741
|
100
|
|
|
|
3612
|
substr($string, $length, $extra, "") if $extra > 0; |
322
|
2741
|
|
|
|
|
8103
|
return(\$string); |
323
|
|
|
|
|
|
|
} |
324
|
|
|
|
|
|
|
|
325
|
|
|
|
|
|
|
# |
326
|
|
|
|
|
|
|
# return a reference to a random Unicode string of the given length |
327
|
|
|
|
|
|
|
# |
328
|
|
|
|
|
|
|
|
329
|
|
|
|
|
|
|
sub _rnduni ($) { |
330
|
12
|
|
|
12
|
|
7
|
my($length) = @_; |
331
|
12
|
|
|
|
|
10
|
my($string, $digest, $extra); |
332
|
|
|
|
|
|
|
|
333
|
12
|
50
|
|
|
|
15
|
return(\ "") unless $length > 0; |
334
|
12
|
|
|
|
|
61
|
$_MD5->add(rand()); |
335
|
12
|
|
|
|
|
13
|
$string = ""; |
336
|
12
|
|
|
|
|
20
|
while (length($string) < $length) { |
337
|
32
|
|
|
|
|
67
|
$digest = $_MD5->digest(); |
338
|
32
|
|
|
|
|
40
|
$_MD5->add($digest); |
339
|
32
|
|
|
|
|
53
|
foreach my $n (unpack("n8", $digest)) { |
340
|
256
|
|
|
|
|
1412
|
$string .= substr($_UnicodeString, |
341
|
|
|
|
|
|
|
int(($n >> 6) * 7.3), ($n & 63) + 1); |
342
|
|
|
|
|
|
|
} |
343
|
|
|
|
|
|
|
} |
344
|
12
|
|
|
|
|
11
|
$extra = length($string) - $length; |
345
|
12
|
50
|
|
|
|
38
|
substr($string, $length, $extra, "") if $extra > 0; |
346
|
12
|
|
|
|
|
22
|
return(\$string); |
347
|
|
|
|
|
|
|
} |
348
|
|
|
|
|
|
|
|
349
|
|
|
|
|
|
|
# |
350
|
|
|
|
|
|
|
# return a random integer according to the given specification |
351
|
|
|
|
|
|
|
# |
352
|
|
|
|
|
|
|
|
353
|
|
|
|
|
|
|
sub _rndint ($) { |
354
|
5256
|
|
|
5256
|
|
8067
|
my($spec) = @_; |
355
|
5256
|
|
|
|
|
2881
|
my($rnd); |
356
|
|
|
|
|
|
|
|
357
|
5256
|
100
|
|
|
|
12357
|
if ($spec =~ /^(\d+)$/) { |
|
|
100
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
358
|
1040
|
|
|
|
|
1359
|
return($1); |
359
|
|
|
|
|
|
|
} elsif ($spec =~ /^(\d+)-(\d+)$/) { |
360
|
3106
|
|
|
|
|
7884
|
return($1 + int(rand($2 - $1 + 1))); |
361
|
|
|
|
|
|
|
} elsif ($spec =~ /^(\d+)\^(\d+)$/) { |
362
|
|
|
|
|
|
|
# see Irwin-Hall in http://en.wikipedia.org/wiki/Normal_distribution |
363
|
1110
|
|
|
|
|
1483
|
$rnd = rand(1) + rand(1) + rand(1) + rand(1) + rand(1) + rand(1) + |
364
|
|
|
|
|
|
|
rand(1) + rand(1) + rand(1) + rand(1) + rand(1) + rand(1); |
365
|
1110
|
|
|
|
|
2561
|
return($1 + int($rnd * ($2 - $1 + 1) / 12)); |
366
|
|
|
|
|
|
|
} |
367
|
0
|
|
|
|
|
0
|
dief("unsupported random integer specification: %s", $spec); |
368
|
|
|
|
|
|
|
} |
369
|
|
|
|
|
|
|
|
370
|
|
|
|
|
|
|
# |
371
|
|
|
|
|
|
|
# return a reference to a random string according to the given entropy |
372
|
|
|
|
|
|
|
# |
373
|
|
|
|
|
|
|
|
374
|
|
|
|
|
|
|
sub _rndstr ($$$) { |
375
|
5008
|
|
|
5008
|
|
25862
|
my($text, $length, $entropy) = @_; |
376
|
5008
|
|
|
|
|
2880
|
my($string, $extra, $tmp); |
377
|
|
|
|
|
|
|
|
378
|
5008
|
100
|
|
|
|
6048
|
return(\ "") unless $length > 0; |
379
|
4998
|
100
|
|
|
|
6905
|
if ($entropy == 0) { |
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
380
|
1111
|
|
|
|
|
938
|
$tmp = chr(65 + int(rand(26))); |
381
|
1111
|
|
|
|
|
1287
|
$string = $tmp x $length; |
382
|
|
|
|
|
|
|
} elsif ($entropy == 1) { |
383
|
1393
|
|
|
|
|
864
|
$string = unpack("h*", ${ _rndbin(int($length / 2 + 0.5)) }); |
|
1393
|
|
|
|
|
1793
|
|
384
|
1393
|
|
|
|
|
1175
|
$extra = length($string) - $length; |
385
|
1393
|
100
|
|
|
|
1727
|
substr($string, $length, $extra, "") if $extra > 0; |
386
|
|
|
|
|
|
|
} elsif ($entropy == 2) { |
387
|
1339
|
|
|
|
|
751
|
$string = encode_base64(${ _rndbin(int($length * 0.75 + 1)) }, ""); |
|
1339
|
|
|
|
|
1581
|
|
388
|
1339
|
|
|
|
|
2619
|
$string =~ tr{/+}{-_}; |
389
|
1339
|
|
|
|
|
878
|
$extra = length($string) - $length; |
390
|
1339
|
50
|
|
|
|
1777
|
substr($string, $length, $extra, "") if $extra > 0; |
391
|
|
|
|
|
|
|
} elsif ($entropy == 3) { |
392
|
1134
|
|
|
|
|
176100
|
$string = pack("c*", map(32 + int(rand(95)), 1 .. $length)); |
393
|
|
|
|
|
|
|
} else { |
394
|
|
|
|
|
|
|
# directly return the reference! |
395
|
21
|
100
|
|
|
|
59
|
return($text ? _rnduni($length) : _rndbin($length)); |
396
|
|
|
|
|
|
|
} |
397
|
4977
|
|
|
|
|
31723
|
return(\$string); |
398
|
|
|
|
|
|
|
} |
399
|
|
|
|
|
|
|
|
400
|
|
|
|
|
|
|
# |
401
|
|
|
|
|
|
|
# constructor |
402
|
|
|
|
|
|
|
# |
403
|
|
|
|
|
|
|
|
404
|
|
|
|
|
|
|
my $optional_scalar = { optional => 1, type => SCALAR }; |
405
|
|
|
|
|
|
|
my $optional_rndint = { %{ $optional_scalar }, regex => qr/^(\d+[\-\^])?\d+$/ }; |
406
|
|
|
|
|
|
|
|
407
|
|
|
|
|
|
|
my %new_options = ( |
408
|
|
|
|
|
|
|
"text" => $optional_rndint, |
409
|
|
|
|
|
|
|
"body-length" => $optional_rndint, |
410
|
|
|
|
|
|
|
"body-entropy" => $optional_rndint, |
411
|
|
|
|
|
|
|
"header-count" => $optional_rndint, |
412
|
|
|
|
|
|
|
"header-name-prefix" => $optional_scalar, |
413
|
|
|
|
|
|
|
"header-name-length" => $optional_rndint, |
414
|
|
|
|
|
|
|
"header-name-entropy" => $optional_rndint, |
415
|
|
|
|
|
|
|
"header-value-prefix" => $optional_scalar, |
416
|
|
|
|
|
|
|
"header-value-length" => $optional_rndint, |
417
|
|
|
|
|
|
|
"header-value-entropy" => $optional_rndint, |
418
|
|
|
|
|
|
|
); |
419
|
|
|
|
|
|
|
|
420
|
|
|
|
|
|
|
sub new : method { |
421
|
2
|
|
|
2
|
1
|
342
|
my($class, %option, $self); |
422
|
|
|
|
|
|
|
|
423
|
2
|
|
|
|
|
2
|
$class = shift(@_); |
424
|
2
|
100
|
|
|
|
50
|
%option = validate(@_, \%new_options) if @_; |
425
|
|
|
|
|
|
|
$option{"header-name-prefix"} = "" |
426
|
2
|
100
|
|
|
|
70
|
unless defined($option{"header-name-prefix"}); |
427
|
|
|
|
|
|
|
$option{"header-value-prefix"} = "" |
428
|
2
|
50
|
|
|
|
6
|
unless defined($option{"header-value-prefix"}); |
429
|
2
|
|
|
|
|
3
|
$self = \%option; |
430
|
2
|
100
|
|
|
|
8
|
_init() unless $_MD5; |
431
|
2
|
|
|
|
|
2
|
bless($self, $class); |
432
|
2
|
|
|
|
|
5
|
return($self); |
433
|
|
|
|
|
|
|
} |
434
|
|
|
|
|
|
|
|
435
|
|
|
|
|
|
|
# |
436
|
|
|
|
|
|
|
# message generation |
437
|
|
|
|
|
|
|
# |
438
|
|
|
|
|
|
|
|
439
|
|
|
|
|
|
|
sub message : method { |
440
|
120
|
|
|
120
|
1
|
3041
|
my($self) = @_; |
441
|
120
|
|
|
|
|
92
|
my(%option, $tmp, $name, $value); |
442
|
|
|
|
|
|
|
|
443
|
|
|
|
|
|
|
# generate text |
444
|
120
|
|
100
|
|
|
254
|
$tmp = _rndint($self->{"text"} || 0); |
445
|
120
|
100
|
|
|
|
184
|
$option{text} = $tmp ? 1 : 0; |
446
|
|
|
|
|
|
|
# generate body |
447
|
|
|
|
|
|
|
$option{body_ref} = _rndstr($option{text}, |
448
|
|
|
|
|
|
|
_rndint($self->{"body-length"} || 0), |
449
|
120
|
|
100
|
|
|
223
|
_rndint($self->{"body-entropy"} || 0)); |
|
|
|
100
|
|
|
|
|
450
|
|
|
|
|
|
|
# generate header |
451
|
120
|
|
100
|
|
|
233
|
$tmp = _rndint($self->{"header-count"} || 0); |
452
|
120
|
100
|
|
|
|
167
|
if ($tmp) { |
453
|
110
|
|
|
|
|
116
|
$option{header} = {}; |
454
|
110
|
|
|
|
|
174
|
while ($tmp-- > 0) { |
455
|
|
|
|
|
|
|
# generate header name |
456
|
|
|
|
|
|
|
$name = _rndstr(1, |
457
|
|
|
|
|
|
|
_rndint($self->{"header-name-length"} || 0), |
458
|
444
|
|
50
|
|
|
695
|
_rndint($self->{"header-name-entropy"} || 0)); |
|
|
|
50
|
|
|
|
|
459
|
444
|
|
|
|
|
400
|
$name = $self->{"header-name-prefix"} . ${ $name }; |
|
444
|
|
|
|
|
466
|
|
460
|
|
|
|
|
|
|
# generate header value |
461
|
|
|
|
|
|
|
$value = _rndstr(1, |
462
|
|
|
|
|
|
|
_rndint($self->{"header-value-length"} || 0), |
463
|
444
|
|
50
|
|
|
775
|
_rndint($self->{"header-value-entropy"} || 0)); |
|
|
|
50
|
|
|
|
|
464
|
444
|
|
|
|
|
373
|
$value = $self->{"header-value-prefix"} . ${ $value }; |
|
444
|
|
|
|
|
503
|
|
465
|
|
|
|
|
|
|
# store it |
466
|
444
|
|
|
|
|
987
|
$option{header}{$name} = $value; |
467
|
|
|
|
|
|
|
} |
468
|
|
|
|
|
|
|
} |
469
|
120
|
|
|
|
|
353
|
return(Messaging::Message->new(%option)); |
470
|
|
|
|
|
|
|
} |
471
|
|
|
|
|
|
|
|
472
|
|
|
|
|
|
|
1; |
473
|
|
|
|
|
|
|
|
474
|
|
|
|
|
|
|
__DATA__ |