profilepic 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Manifest.txt +7 -7
- data/README.md +35 -2
- data/lib/profilepic/builder.rb +55 -99
- data/lib/profilepic/config/doge.rb +52 -0
- data/lib/profilepic/config/marcs.rb +163 -0
- data/lib/profilepic/config/saudis.rb +106 -0
- data/lib/profilepic/config/yeoldepunks.rb +204 -0
- data/lib/profilepic/helper.rb +162 -0
- data/lib/profilepic/public/spritesheet.js +7 -2
- data/lib/profilepic/public/style.css +19 -0
- data/lib/profilepic/service.rb +204 -417
- data/lib/profilepic/version.rb +1 -1
- data/lib/profilepic/views/doge.erb +5 -47
- data/lib/profilepic/views/index.erb +40 -13
- data/lib/profilepic/views/layout.erb +1 -1
- data/lib/profilepic/views/marcs.erb +5 -190
- data/lib/profilepic/views/more.erb +84 -0
- data/lib/profilepic/views/saudis.erb +33 -0
- data/lib/profilepic/views/yeoldepunks.erb +5 -202
- data/lib/profilepic.rb +9 -3
- metadata +9 -9
- data/lib/profilepic/public/doge-24x24.csv +0 -23
- data/lib/profilepic/public/doge-24x24.png +0 -0
- data/lib/profilepic/public/marcs-24x24.csv +0 -149
- data/lib/profilepic/public/marcs-24x24.png +0 -0
- data/lib/profilepic/public/yeoldepunks-24x24.csv +0 -134
- data/lib/profilepic/public/yeoldepunks-24x24.png +0 -0
- data/lib/profilepic/views/shared/_more_options.erb +0 -49
|
@@ -13,62 +13,20 @@ own 100% forever.
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
<form action="/generate_doge" method="get"
|
|
16
|
+
<form action="/generate_doge" method="get">
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
<%= radio_options_w_sprites( DOGE_ARCHETYPE,
|
|
20
|
-
name: 't',
|
|
21
|
-
legend: 'Select a doge shiba inu base (archetype)' ) %>
|
|
22
|
-
|
|
23
|
-
Options:
|
|
24
|
-
|
|
25
|
-
<%= radio_options_w_sprites( ['None']+DOGE_HAIR,
|
|
26
|
-
name: 'hair',
|
|
27
|
-
legend: 'Select hair' ) %>
|
|
28
|
-
|
|
29
|
-
<%= radio_options_w_sprites( ['None']+DOGE_HEADWEAR,
|
|
30
|
-
name: 'headwear',
|
|
31
|
-
legend: 'Select headwear' ) %>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<%= radio_options_w_sprites( ['None']+DOGE_EYEWEAR,
|
|
35
|
-
name: 'eyewear',
|
|
36
|
-
legend: 'Select eyewear' ) %>
|
|
18
|
+
<%= render_options( DOGE ) %>
|
|
37
19
|
|
|
38
20
|
<div>
|
|
39
|
-
<button type="submit"
|
|
40
|
-
|
|
21
|
+
<button type="submit" value="submit"
|
|
22
|
+
class="bigblue">Generate Profile Pic(ture) in .PNG Format</button>
|
|
41
23
|
</div>
|
|
42
24
|
|
|
43
|
-
|
|
44
|
-
<%= erb :'shared/_more_options' %>
|
|
45
|
-
|
|
46
25
|
</form>
|
|
47
26
|
|
|
48
27
|
|
|
49
28
|
<script>
|
|
50
29
|
var sheet = Spritesheet.read( 'doge-24x24.png',
|
|
51
|
-
|
|
52
|
-
1, dark
|
|
53
|
-
2, zombie
|
|
54
|
-
3, alien
|
|
55
|
-
4, crazyhair
|
|
56
|
-
5, beanie
|
|
57
|
-
6, cap
|
|
58
|
-
7, capforward
|
|
59
|
-
8, cowboyhat
|
|
60
|
-
9, fedora
|
|
61
|
-
10, knittedcap
|
|
62
|
-
11, tophat
|
|
63
|
-
12, bandana
|
|
64
|
-
13, headband
|
|
65
|
-
14, tiara
|
|
66
|
-
15, 3dglasses
|
|
67
|
-
16, bigshades
|
|
68
|
-
17, classicshades
|
|
69
|
-
18, regularshades
|
|
70
|
-
19, smallshades
|
|
71
|
-
20, nerdglasses
|
|
72
|
-
21, eyepatch` );
|
|
30
|
+
`<%= spritesheet( 'doge-24x24.csv' ) %>` );
|
|
73
31
|
sheet.draw();
|
|
74
32
|
</script>
|
|
@@ -5,11 +5,16 @@
|
|
|
5
5
|
<p>Yes, you can!
|
|
6
6
|
Generate your own originals that you
|
|
7
7
|
own 100% forever.
|
|
8
|
+
|
|
9
|
+
Questions? Comments?
|
|
10
|
+
|
|
11
|
+
Post them on the
|
|
12
|
+
<a href="https://old.reddit.com/r/DIYPunkArt">D.I.Y. Punk (Pixel) Art reddit</a>. Thanks.
|
|
8
13
|
</p>
|
|
9
14
|
|
|
10
15
|
|
|
11
16
|
|
|
12
|
-
<form action="/generate" method="get"
|
|
17
|
+
<form action="/generate" method="get">
|
|
13
18
|
|
|
14
19
|
<fieldset>
|
|
15
20
|
<legend>Select an image generator:</legend>
|
|
@@ -39,26 +44,47 @@ own 100% forever.
|
|
|
39
44
|
<div>
|
|
40
45
|
<input type="radio" id="t5" name="t" value="saudi">
|
|
41
46
|
<label for="t5">Saudi Sheik (24×24)</label>
|
|
42
|
-
|
|
47
|
+
... or try the <b><a href="/saudis">Design Your Own Saudi Sheik Wizard »</a></b>
|
|
48
|
+
</div>
|
|
43
49
|
|
|
44
50
|
|
|
45
51
|
<div>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
<input type="radio" id="t7" name="t" value="yeoldepunk">
|
|
53
|
+
<label for="t7">Matt & John's® Ye Olde' Punk V1/V2 (Anno 2017) (24×24)</label>
|
|
54
|
+
... or try the <b><a href="/yeoldepunks">Matt & John's® Ye Olde' Punk V1/V2 (Anno 2017) Wizard »</a></b>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div>
|
|
58
|
+
<input type="radio" id="t8" name="t" value="noun">
|
|
59
|
+
<label for="t8">Noun (32×32)</label>
|
|
49
60
|
</div>
|
|
50
61
|
|
|
62
|
+
|
|
51
63
|
<div>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
<input type="radio" id="t6" name="t" value="doge">
|
|
65
|
+
<label for="t6">Doge Shiba Inu (24×24)</label>
|
|
66
|
+
... or try the <b><a href="/doge">Design Your Own Doge Shiba Inu Wizard »</a></b>
|
|
67
|
+
</div>
|
|
55
68
|
|
|
56
|
-
</div>
|
|
57
69
|
|
|
70
|
+
<div>
|
|
71
|
+
<input type="radio" id="t9" name="t" value="coolcat">
|
|
72
|
+
<label for="t9">Coolcat (24×24)</label>
|
|
73
|
+
</div>
|
|
58
74
|
|
|
75
|
+
<div>
|
|
76
|
+
<input type="radio" id="t10" name="t" value="moonbirdie">
|
|
77
|
+
<label for="t10">Lil' Moonbirdie (24×24)</label>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div>
|
|
81
|
+
<input type="radio" id="t11" name="t" value="moonbird">
|
|
82
|
+
<label for="t11">Moonbird (42×42)</label>
|
|
83
|
+
</div>
|
|
59
84
|
</fieldset>
|
|
60
85
|
|
|
61
86
|
|
|
87
|
+
|
|
62
88
|
<fieldset>
|
|
63
89
|
<legend>Type attribute description / specification:</legend>
|
|
64
90
|
|
|
@@ -76,16 +102,17 @@ own 100% forever.
|
|
|
76
102
|
<li>Zombie, Crazy Hair, 3D Glasses</li>
|
|
77
103
|
<li>Alien, Headband</li>
|
|
78
104
|
</ul>
|
|
105
|
+
<p>
|
|
106
|
+
... or browse the <b><a href="/spritesheets">(Spritesheet) Attribute Quick References »</a></b>
|
|
107
|
+
</p>
|
|
79
108
|
|
|
80
109
|
</div>
|
|
81
110
|
</fieldset>
|
|
82
111
|
|
|
83
112
|
<div>
|
|
84
|
-
<button type="submit"
|
|
85
|
-
|
|
113
|
+
<button type="submit" value="submit"
|
|
114
|
+
class="bigblue">Generate Profile Pic(ture) in .PNG Format</button>
|
|
86
115
|
</div>
|
|
87
116
|
|
|
88
117
|
|
|
89
|
-
<%= erb :'shared/_more_options' %>
|
|
90
|
-
|
|
91
118
|
</form>
|
|
@@ -12,53 +12,15 @@ own 100% forever.
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
<form action="/generate_marcs" method="get"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<%= radio_options_w_sprites( MARC_ARCHETYPE,
|
|
19
|
-
name: 't',
|
|
20
|
-
legend: 'Select a marc base (archetype)' ) %>
|
|
21
|
-
|
|
22
|
-
Options:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<%= radio_options_w_sprites( ['None']+MARC_EYES,
|
|
26
|
-
name: 'eyes',
|
|
27
|
-
legend: 'Select eyes (extras)' ) %>
|
|
28
|
-
|
|
29
|
-
<%= radio_options_w_sprites( ['None']+MARC_FACE,
|
|
30
|
-
name: 'face',
|
|
31
|
-
legend: 'Select face (extras)' ) %>
|
|
32
|
-
|
|
33
|
-
<%= radio_options_w_sprites( ['None']+MARC_BEARD,
|
|
34
|
-
name: 'beard',
|
|
35
|
-
legend: 'Select beard' ) %>
|
|
36
|
-
|
|
37
|
-
<%= radio_options_w_sprites( ['None']+MARC_HAIR,
|
|
38
|
-
name: 'hair',
|
|
39
|
-
legend: 'Select hair' ) %>
|
|
40
|
-
|
|
41
|
-
<%= radio_options_w_sprites( ['None']+MARC_HEADWEAR,
|
|
42
|
-
name: 'headwear',
|
|
43
|
-
legend: 'Select headwear' ) %>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<%= radio_options_w_sprites( ['None']+MARC_EYEWEAR,
|
|
47
|
-
name: 'eyewear',
|
|
48
|
-
legend: 'Select eyewear' ) %>
|
|
49
|
-
|
|
50
|
-
<%= radio_options_w_sprites( ['None']+MARC_MOUTH_PROP,
|
|
51
|
-
name: 'mouth',
|
|
52
|
-
legend: 'Select mouth prop' ) %>
|
|
15
|
+
<form action="/generate_marcs" method="get">
|
|
53
16
|
|
|
17
|
+
<%= render_options( MARC ) %>
|
|
54
18
|
|
|
55
19
|
<div>
|
|
56
|
-
<button type="submit"
|
|
57
|
-
|
|
20
|
+
<button type="submit" value="submit"
|
|
21
|
+
class="bigblue">Generate Profile Pic(ture) in .PNG Format</button>
|
|
58
22
|
</div>
|
|
59
23
|
|
|
60
|
-
<%= erb :'shared/_more_options' %>
|
|
61
|
-
|
|
62
24
|
</form>
|
|
63
25
|
|
|
64
26
|
|
|
@@ -66,153 +28,6 @@ Options:
|
|
|
66
28
|
|
|
67
29
|
<script>
|
|
68
30
|
var sheet = Spritesheet.read( 'marcs-24x24.png',
|
|
69
|
-
|
|
70
|
-
1, ape classic
|
|
71
|
-
2, Marc Dark
|
|
72
|
-
3, Marc Mid
|
|
73
|
-
4, Marc
|
|
74
|
-
5, Marc Albino
|
|
75
|
-
6, Marc Golden
|
|
76
|
-
7, madlad
|
|
77
|
-
8, zombie
|
|
78
|
-
9, ape
|
|
79
|
-
10, Ape Golden
|
|
80
|
-
11, Ape Pink
|
|
81
|
-
12, Alien
|
|
82
|
-
13, Alien Green
|
|
83
|
-
14, Devil
|
|
84
|
-
15, Devil 2
|
|
85
|
-
16, Devil 3
|
|
86
|
-
17, orc
|
|
87
|
-
18, skeleton
|
|
88
|
-
19, bot
|
|
89
|
-
20, blue_eyes
|
|
90
|
-
21, green_eyes
|
|
91
|
-
22, blue_eye_shadow
|
|
92
|
-
23, green_eye_shadow
|
|
93
|
-
24, purple_eye_shadow
|
|
94
|
-
25, bagner
|
|
95
|
-
26, horns
|
|
96
|
-
27, marc_tyson
|
|
97
|
-
28, cleft
|
|
98
|
-
29, mole
|
|
99
|
-
30, rosy_cheeks
|
|
100
|
-
31, shine
|
|
101
|
-
32, spots
|
|
102
|
-
33, black_lipstick
|
|
103
|
-
34, hot_lipstick
|
|
104
|
-
35, purple_lipstick
|
|
105
|
-
36, buck_teeth
|
|
106
|
-
37, clown_nose
|
|
107
|
-
38, gold_ring
|
|
108
|
-
39, diamond_earring
|
|
109
|
-
40, gold_earring
|
|
110
|
-
41, diamond_helix
|
|
111
|
-
42, gold_helix
|
|
112
|
-
43, frown
|
|
113
|
-
44, smile
|
|
114
|
-
45, big_beard_white
|
|
115
|
-
46, big_beard
|
|
116
|
-
47, chinstrap
|
|
117
|
-
48, front_beard
|
|
118
|
-
49, front_beard_dark
|
|
119
|
-
50, full_mustache
|
|
120
|
-
51, full_mustache_dark
|
|
121
|
-
52, goat
|
|
122
|
-
53, goat_dark
|
|
123
|
-
54, handlebar
|
|
124
|
-
55, luxurious_beard
|
|
125
|
-
56, mustache
|
|
126
|
-
57, mutton_chop
|
|
127
|
-
58, normal_beard
|
|
128
|
-
59, normal_beard_black
|
|
129
|
-
60, shadow_beard
|
|
130
|
-
61, soul_patch
|
|
131
|
-
62, bandana
|
|
132
|
-
63, beanie
|
|
133
|
-
64, bunny_ears
|
|
134
|
-
65, cap
|
|
135
|
-
66, skull_cap
|
|
136
|
-
67, cap_forward
|
|
137
|
-
68, police_cap
|
|
138
|
-
69, cowboy_hat
|
|
139
|
-
70, do_rag
|
|
140
|
-
71, fast_food
|
|
141
|
-
72, marcdonalds
|
|
142
|
-
73, fedora
|
|
143
|
-
74, headband
|
|
144
|
-
75, roaring_headband
|
|
145
|
-
76, hoodie
|
|
146
|
-
77, purple_hoodie
|
|
147
|
-
78, knitted_cap
|
|
148
|
-
79, laurels
|
|
149
|
-
80, shemagh
|
|
150
|
-
81, tassle_hat
|
|
151
|
-
82, tiarra
|
|
152
|
-
83, top_hat
|
|
153
|
-
84, uncle_sam
|
|
154
|
-
85, viking
|
|
155
|
-
86, welding_goggles
|
|
156
|
-
87, blonde_bob
|
|
157
|
-
88, chad
|
|
158
|
-
89, clown_hair
|
|
159
|
-
90, crazy_white_hair
|
|
160
|
-
91, crazy_hair
|
|
161
|
-
92, frumpy_hair
|
|
162
|
-
93, marc_three
|
|
163
|
-
94, purple_hair
|
|
164
|
-
95, stringy_hair
|
|
165
|
-
96, vampire_hair
|
|
166
|
-
97, wild_blonde_hair
|
|
167
|
-
98, wild_hair
|
|
168
|
-
99, clown_eyes_blue
|
|
169
|
-
100, clown_eyes_green
|
|
170
|
-
101, lasers
|
|
171
|
-
102, tears
|
|
172
|
-
103, 3d_glasses
|
|
173
|
-
104, aviators
|
|
174
|
-
105, big_shades
|
|
175
|
-
106, classic_shades
|
|
176
|
-
107, deal_with_it
|
|
177
|
-
108, glasses
|
|
178
|
-
109, gold_glasses
|
|
179
|
-
110, horned_rim_glasses
|
|
180
|
-
111, monocle
|
|
181
|
-
112, nerd_glasses
|
|
182
|
-
113, pink_shades
|
|
183
|
-
114, polarized
|
|
184
|
-
115, polarized_white
|
|
185
|
-
116, regular_shades
|
|
186
|
-
117, small_shades
|
|
187
|
-
118, VR Headset
|
|
188
|
-
119, eye_mask
|
|
189
|
-
120, eye_patch
|
|
190
|
-
121, cigar
|
|
191
|
-
122, cigarette
|
|
192
|
-
123, hookah
|
|
193
|
-
124, pipe
|
|
194
|
-
125, vape
|
|
195
|
-
126, medical_mask
|
|
196
|
-
127, bubble_gum
|
|
197
|
-
128, black_tie
|
|
198
|
-
129, blue_tie
|
|
199
|
-
130, red_tie
|
|
200
|
-
131, blue_shirt
|
|
201
|
-
132, blue_t_shirt
|
|
202
|
-
133, Fast Food Shirt
|
|
203
|
-
134, green_shirt
|
|
204
|
-
135, grey_shirt
|
|
205
|
-
136, purple_t_shirt
|
|
206
|
-
137, white_t_shirt
|
|
207
|
-
138, jumpsuit
|
|
208
|
-
139, labcoat
|
|
209
|
-
140, choker
|
|
210
|
-
141, double_gold_chain
|
|
211
|
-
142, gold_chain
|
|
212
|
-
143, silver_chain
|
|
213
|
-
144, thick_chain
|
|
214
|
-
145, hemp
|
|
215
|
-
146, ice
|
|
216
|
-
147, medallion` );
|
|
31
|
+
`<%= spritesheet( 'marcs-24x24.csv' ) %>` );
|
|
217
32
|
sheet.draw();
|
|
218
33
|
</script>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<p style="font-size: 80%;">
|
|
2
|
+
<a href="/">« Profile Pic(ture) As A Service</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<h1><%= name %> No. <%= id %> - Right-Click & Save</h1>
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
<img src='<%= "/#{pic}" %>'>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<p>Yes, you can!
|
|
13
|
+
Right-click and save your own <%= name %> original that you
|
|
14
|
+
own 100% forever.
|
|
15
|
+
More options:
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<form action="/more" method="get">
|
|
22
|
+
|
|
23
|
+
<input type="hidden" name="key" value="<%= params[:key] %>">
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
<fieldset>
|
|
27
|
+
<legend>Select a zoom size:</legend>
|
|
28
|
+
|
|
29
|
+
<div>
|
|
30
|
+
<input type="radio" id="z1" name="z" value="1"
|
|
31
|
+
<%= zoom==1 ? 'checked' : '' %>>
|
|
32
|
+
<label for="z1">1X</label>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div>
|
|
36
|
+
<input type="radio" id="z2" name="z" value="2"
|
|
37
|
+
<%= zoom==2 ? 'checked' : '' %>>
|
|
38
|
+
<label for="z2">2X</label>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div>
|
|
42
|
+
<input type="radio" id="z4" name="z" value="4"
|
|
43
|
+
<%= zoom==4 ? 'checked' : '' %>>
|
|
44
|
+
<label for="z4">4X</label>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div>
|
|
48
|
+
<input type="radio" id="z8" name="z" value="8"
|
|
49
|
+
<%= zoom==8 ? 'checked' : '' %>>
|
|
50
|
+
<label for="z8">8X</label>
|
|
51
|
+
</div>
|
|
52
|
+
</fieldset>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
<fieldset>
|
|
56
|
+
<legend>Select a background:</legend>
|
|
57
|
+
|
|
58
|
+
<div>
|
|
59
|
+
<input type="radio" id="bg1" name="bg" value="none"
|
|
60
|
+
<%= bg=='none' ? 'checked': '' %>>
|
|
61
|
+
<label for="bg1">None (Transparent)</label>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div>
|
|
65
|
+
<input type="radio" id="bg2" name="bg" value="ukraine"
|
|
66
|
+
<%= bg=='ukraine' ? 'checked': '' %>>
|
|
67
|
+
<label for="bg2">We Stand With Ukraine</label>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<div>
|
|
71
|
+
<input type="radio" id="bg3" name="bg" value="rainbow"
|
|
72
|
+
<%= bg=='rainbow' ? 'checked': '' %>>
|
|
73
|
+
<label for="bg3">Pride / Rainbow</label>
|
|
74
|
+
</div>
|
|
75
|
+
</fieldset>
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<div>
|
|
80
|
+
<button type="submit" value="submit"
|
|
81
|
+
class="bigblue">Update Profile Pic(ture) in .PNG Format</button>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
</form>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<p style="font-size: 80%;">
|
|
2
|
+
<a href="/">« Profile Pic(ture) As A Service</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<h1>Design Your Own Saudi Sheik (24×24) Wizard</h1>
|
|
7
|
+
|
|
8
|
+
<p>Yes, you can!
|
|
9
|
+
Generate your own originals that you
|
|
10
|
+
own 100% forever.
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<form action="/generate_saudis" method="get">
|
|
16
|
+
|
|
17
|
+
<%= render_options( SAUDI ) %>
|
|
18
|
+
|
|
19
|
+
<div>
|
|
20
|
+
<button type="submit" value="submit"
|
|
21
|
+
class="bigblue">Generate Profile Pic(ture) in .PNG Format</button>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
</form>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
<script>
|
|
30
|
+
var sheet = Spritesheet.read( 'saudis-24x24.png',
|
|
31
|
+
`<%= spritesheet( 'saudis-24x24.csv' ) %>` );
|
|
32
|
+
sheet.draw();
|
|
33
|
+
</script>
|