#!/usr/bin/perl

use strict;
use warnings;

use Image::Imlib2;

BEGIN {
   my $num = shift || 0;
   $num & 1 and eval 'use Crypt::DES;';
   $num & 2 and eval 'use IO::Socket::INET;';
   $num & 4 and eval 'use bytes;';
}

my $size = 24;
my $image = Image::Imlib2->new($size,$size);
while ($_=<DATA>)
{
   my ($x,$y,$r,$g,$b,$a) = /(\d+)/g;
   $image->set_colour($r,$g,$b,$a);
   $image->draw_point($x,$y);
}
$image->save('cursor.png');
print "File size: ".(-s 'cursor.png')."\n";

__DATA__
0, 0: 0 0 0 0
1, 0: 0 0 0 0
2, 0: 0 0 0 0
3, 0: 0 0 0 0
4, 0: 0 0 0 0
5, 0: 0 0 0 0
6, 0: 0 0 0 0
7, 0: 0 0 0 0
8, 0: 0 0 0 0
9, 0: 0 0 0 0
10, 0: 0 0 0 0
11, 0: 0 0 0 0
12, 0: 0 0 0 0
13, 0: 0 0 0 0
14, 0: 0 0 0 0
15, 0: 0 0 0 0
16, 0: 0 0 0 0
17, 0: 0 0 0 0
18, 0: 0 0 0 0
19, 0: 0 0 0 0
20, 0: 0 0 0 0
21, 0: 0 0 0 0
22, 0: 0 0 0 0
23, 0: 0 0 0 0
0, 1: 0 0 0 0
1, 1: 0 0 0 0
2, 1: 0 0 0 0
3, 1: 0 0 0 0
4, 1: 0 0 0 0
5, 1: 0 0 0 0
6, 1: 0 0 0 0
7, 1: 0 0 0 0
8, 1: 0 0 0 0
9, 1: 0 0 0 0
10, 1: 0 0 0 0
11, 1: 0 0 0 0
12, 1: 0 0 0 0
13, 1: 0 0 0 0
14, 1: 0 0 0 0
15, 1: 0 0 0 0
16, 1: 0 0 0 0
17, 1: 0 0 0 0
18, 1: 0 0 0 0
19, 1: 0 0 0 0
20, 1: 0 0 0 0
21, 1: 0 0 0 0
22, 1: 0 0 0 0
23, 1: 0 0 0 0
0, 2: 0 0 0 0
1, 2: 0 0 0 0
2, 2: 0 0 0 0
3, 2: 255 255 255 255
4, 2: 83 83 83 0
5, 2: 0 0 0 0
6, 2: 0 0 0 0
7, 2: 0 0 0 0
8, 2: 0 0 0 0
9, 2: 0 0 0 0
10, 2: 0 0 0 0
11, 2: 0 0 0 0
12, 2: 0 0 0 0
13, 2: 0 0 0 0
14, 2: 0 0 0 0
15, 2: 0 0 0 0
16, 2: 0 0 0 0
17, 2: 0 0 0 0
18, 2: 0 0 0 0
19, 2: 0 0 0 0
20, 2: 0 0 0 0
21, 2: 0 0 0 0
22, 2: 0 0 0 0
23, 2: 0 0 0 0
0, 3: 0 0 0 0
1, 3: 0 0 0 0
2, 3: 0 0 0 0
3, 3: 255 255 255 255
4, 3: 255 255 255 255
5, 3: 63 63 63 0
6, 3: 0 0 0 0
7, 3: 0 0 0 0
8, 3: 0 0 0 0
9, 3: 0 0 0 0
10, 3: 0 0 0 0
11, 3: 0 0 0 0
12, 3: 0 0 0 0
13, 3: 0 0 0 0
14, 3: 0 0 0 0
15, 3: 0 0 0 0
16, 3: 0 0 0 0
17, 3: 0 0 0 0
18, 3: 0 0 0 0
19, 3: 0 0 0 0
20, 3: 0 0 0 0
21, 3: 0 0 0 0
22, 3: 0 0 0 0
23, 3: 0 0 0 0
0, 4: 0 0 0 0
1, 4: 0 0 0 0
2, 4: 0 0 0 0
3, 4: 255 255 255 255
4, 4: 42 42 42 255
5, 4: 254 254 254 255
6, 4: 63 63 63 0
7, 4: 0 0 0 0
8, 4: 0 0 0 0
9, 4: 0 0 0 0
10, 4: 0 0 0 0
11, 4: 0 0 0 0
12, 4: 0 0 0 0
13, 4: 0 0 0 0
14, 4: 0 0 0 0
15, 4: 0 0 0 0
16, 4: 0 0 0 0
17, 4: 0 0 0 0
18, 4: 0 0 0 0
19, 4: 0 0 0 0
20, 4: 0 0 0 0
21, 4: 0 0 0 0
22, 4: 0 0 0 0
23, 4: 0 0 0 0
0, 5: 0 0 0 0
1, 5: 0 0 0 0
2, 5: 0 0 0 0
3, 5: 255 255 255 255
4, 5: 0 0 0 255
5, 5: 42 42 42 255
6, 5: 254 254 254 255
7, 5: 63 63 63 0
8, 5: 0 0 0 0
9, 5: 0 0 0 0
10, 5: 0 0 0 0
11, 5: 0 0 0 0
12, 5: 0 0 0 0
13, 5: 0 0 0 0
14, 5: 0 0 0 0
15, 5: 0 0 0 0
16, 5: 0 0 0 0
17, 5: 0 0 0 0
18, 5: 0 0 0 0
19, 5: 0 0 0 0
20, 5: 0 0 0 0
21, 5: 0 0 0 0
22, 5: 0 0 0 0
23, 5: 0 0 0 0
0, 6: 0 0 0 0
1, 6: 0 0 0 0
2, 6: 0 0 0 0
3, 6: 255 255 255 255
4, 6: 0 0 0 255
5, 6: 0 0 0 255
6, 6: 42 42 42 255
7, 6: 254 254 254 255
8, 6: 63 63 63 0
9, 6: 0 0 0 0
10, 6: 0 0 0 0
11, 6: 0 0 0 0
12, 6: 0 0 0 0
13, 6: 0 0 0 0
14, 6: 0 0 0 0
15, 6: 0 0 0 0
16, 6: 0 0 0 0
17, 6: 0 0 0 0
18, 6: 0 0 0 0
19, 6: 0 0 0 0
20, 6: 0 0 0 0
21, 6: 0 0 0 0
22, 6: 0 0 0 0
23, 6: 0 0 0 0
0, 7: 0 0 0 0
1, 7: 0 0 0 0
2, 7: 0 0 0 0
3, 7: 255 255 255 255
4, 7: 0 0 0 255
5, 7: 0 0 0 255
6, 7: 0 0 0 255
7, 7: 42 42 42 255
8, 7: 254 254 254 255
9, 7: 63 63 63 0
10, 7: 0 0 0 0
11, 7: 0 0 0 0
12, 7: 0 0 0 0
13, 7: 0 0 0 0
14, 7: 0 0 0 0
15, 7: 0 0 0 0
16, 7: 0 0 0 0
17, 7: 0 0 0 0
18, 7: 0 0 0 0
19, 7: 0 0 0 0
20, 7: 0 0 0 0
21, 7: 0 0 0 0
22, 7: 0 0 0 0
23, 7: 0 0 0 0
0, 8: 0 0 0 0
1, 8: 0 0 0 0
2, 8: 0 0 0 0
3, 8: 255 255 255 255
4, 8: 0 0 0 255
5, 8: 0 0 0 255
6, 8: 0 0 0 255
7, 8: 0 0 0 255
8, 8: 42 42 42 255
9, 8: 254 254 254 255
10, 8: 63 63 63 0
11, 8: 0 0 0 0
12, 8: 0 0 0 0
13, 8: 0 0 0 0
14, 8: 0 0 0 0
15, 8: 0 0 0 0
16, 8: 0 0 0 0
17, 8: 0 0 0 0
18, 8: 0 0 0 0
19, 8: 0 0 0 0
20, 8: 0 0 0 0
21, 8: 0 0 0 0
22, 8: 0 0 0 0
23, 8: 0 0 0 0
0, 9: 0 0 0 0
1, 9: 0 0 0 0
2, 9: 0 0 0 0
3, 9: 255 255 255 255
4, 9: 0 0 0 255
5, 9: 0 0 0 255
6, 9: 0 0 0 255
7, 9: 0 0 0 255
8, 9: 0 0 0 255
9, 9: 42 42 42 255
10, 9: 254 254 254 255
11, 9: 63 63 63 0
12, 9: 0 0 0 0
13, 9: 0 0 0 0
14, 9: 0 0 0 0
15, 9: 0 0 0 0
16, 9: 0 0 0 0
17, 9: 0 0 0 0
18, 9: 0 0 0 0
19, 9: 0 0 0 0
20, 9: 0 0 0 0
21, 9: 0 0 0 0
22, 9: 0 0 0 0
23, 9: 0 0 0 0
0, 10: 0 0 0 0
1, 10: 0 0 0 0
2, 10: 0 0 0 0
3, 10: 255 255 255 255
4, 10: 0 0 0 255
5, 10: 0 0 0 255
6, 10: 0 0 0 255
7, 10: 0 0 0 255
8, 10: 0 0 0 255
9, 10: 0 0 0 255
10, 10: 42 42 42 255
11, 10: 254 254 254 255
12, 10: 63 63 63 0
13, 10: 0 0 0 0
14, 10: 0 0 0 0
15, 10: 0 0 0 0
16, 10: 0 0 0 0
17, 10: 0 0 0 0
18, 10: 0 0 0 0
19, 10: 0 0 0 0
20, 10: 0 0 0 0
21, 10: 0 0 0 0
22, 10: 0 0 0 0
23, 10: 0 0 0 0
0, 11: 0 0 0 0
1, 11: 0 0 0 0
2, 11: 0 0 0 0
3, 11: 255 255 255 255
4, 11: 0 0 0 255
5, 11: 0 0 0 255
6, 11: 0 0 0 255
7, 11: 0 0 0 255
8, 11: 0 0 0 255
9, 11: 0 0 0 255
10, 11: 0 0 0 255
11, 11: 42 42 42 255
12, 11: 254 254 254 255
13, 11: 64 64 64 0
14, 11: 0 0 0 0
15, 11: 0 0 0 0
16, 11: 0 0 0 0
17, 11: 0 0 0 0
18, 11: 0 0 0 0
19, 11: 0 0 0 0
20, 11: 0 0 0 0
21, 11: 0 0 0 0
22, 11: 0 0 0 0
23, 11: 0 0 0 0
0, 12: 0 0 0 0
1, 12: 0 0 0 0
2, 12: 0 0 0 0
3, 12: 254 254 254 255
4, 12: 0 0 0 255
5, 12: 0 0 0 255
6, 12: 42 42 42 255
7, 12: 0 0 0 255
8, 12: 42 42 42 255
9, 12: 254 254 254 255
10, 12: 254 254 254 255
11, 12: 254 254 254 255
12, 12: 254 254 254 255
13, 12: 254 254 254 255
14, 12: 0 0 0 0
15, 12: 0 0 0 0
16, 12: 0 0 0 0
17, 12: 0 0 0 0
18, 12: 0 0 0 0
19, 12: 0 0 0 0
20, 12: 0 0 0 0
21, 12: 0 0 0 0
22, 12: 0 0 0 0
23, 12: 0 0 0 0
0, 13: 0 0 0 0
1, 13: 0 0 0 0
2, 13: 0 0 0 0
3, 13: 254 254 254 255
4, 13: 0 0 0 255
5, 13: 42 42 42 255
6, 13: 185 185 185 255
7, 13: 42 42 42 255
8, 13: 0 0 0 255
9, 13: 137 137 137 255
10, 13: 158 158 158 255
11, 13: 0 0 0 0
12, 13: 0 0 0 0
13, 13: 0 0 0 0
14, 13: 0 0 0 0
15, 13: 0 0 0 0
16, 13: 0 0 0 0
17, 13: 0 0 0 0
18, 13: 0 0 0 0
19, 13: 0 0 0 0
20, 13: 0 0 0 0
21, 13: 0 0 0 0
22, 13: 0 0 0 0
23, 13: 0 0 0 0
0, 14: 0 0 0 0
1, 14: 0 0 0 0
2, 14: 0 0 0 0
3, 14: 254 254 254 255
4, 14: 42 42 42 255
5, 14: 254 254 254 255
6, 14: 157 157 157 255
7, 14: 136 136 136 255
8, 14: 0 0 0 255
9, 14: 42 42 42 255
10, 14: 254 254 254 255
11, 14: 0 0 0 0
12, 14: 0 0 0 0
13, 14: 0 0 0 0
14, 14: 0 0 0 0
15, 14: 0 0 0 0
16, 14: 0 0 0 0
17, 14: 0 0 0 0
18, 14: 0 0 0 0
19, 14: 0 0 0 0
20, 14: 0 0 0 0
21, 14: 0 0 0 0
22, 14: 0 0 0 0
23, 14: 0 0 0 0
0, 15: 0 0 0 0
1, 15: 0 0 0 0
2, 15: 0 0 0 0
3, 15: 254 254 254 255
4, 15: 254 254 254 255
5, 15: 0 0 0 0
6, 15: 0 0 0 0
7, 15: 254 254 254 255
8, 15: 42 42 42 255
9, 15: 0 0 0 255
10, 15: 140 140 140 255
11, 15: 176 176 176 255
12, 15: 0 0 0 0
13, 15: 0 0 0 0
14, 15: 0 0 0 0
15, 15: 0 0 0 0
16, 15: 0 0 0 0
17, 15: 0 0 0 0
18, 15: 0 0 0 0
19, 15: 0 0 0 0
20, 15: 0 0 0 0
21, 15: 0 0 0 0
22, 15: 0 0 0 0
23, 15: 0 0 0 0
0, 16: 0 0 0 0
1, 16: 0 0 0 0
2, 16: 0 0 0 0
3, 16: 254 254 254 255
4, 16: 0 0 0 0
5, 16: 0 0 0 0
6, 16: 0 0 0 0
7, 16: 166 166 166 255
8, 16: 138 138 138 255
9, 16: 0 0 0 255
10, 16: 42 42 42 255
11, 16: 193 193 193 255
12, 16: 0 0 0 0
13, 16: 0 0 0 0
14, 16: 0 0 0 0
15, 16: 0 0 0 0
16, 16: 0 0 0 0
17, 16: 0 0 0 0
18, 16: 0 0 0 0
19, 16: 0 0 0 0
20, 16: 0 0 0 0
21, 16: 0 0 0 0
22, 16: 0 0 0 0
23, 16: 0 0 0 0
0, 17: 0 0 0 0
1, 17: 0 0 0 0
2, 17: 0 0 0 0
3, 17: 0 0 0 0
4, 17: 0 0 0 0
5, 17: 0 0 0 0
6, 17: 0 0 0 0
7, 17: 0 0 0 0
8, 17: 254 254 254 255
9, 17: 42 42 42 255
10, 17: 0 0 0 255
11, 17: 254 254 254 255
12, 17: 0 0 0 0
13, 17: 0 0 0 0
14, 17: 0 0 0 0
15, 17: 0 0 0 0
16, 17: 0 0 0 0
17, 17: 0 0 0 0
18, 17: 0 0 0 0
19, 17: 0 0 0 0
20, 17: 0 0 0 0
21, 17: 0 0 0 0
22, 17: 0 0 0 0
23, 17: 0 0 0 0
0, 18: 0 0 0 0
1, 18: 0 0 0 0
2, 18: 0 0 0 0
3, 18: 0 0 0 0
4, 18: 0 0 0 0
5, 18: 0 0 0 0
6, 18: 0 0 0 0
7, 18: 0 0 0 0
8, 18: 167 167 167 255
9, 18: 254 254 254 255
10, 18: 254 254 254 255
11, 18: 170 170 170 255
12, 18: 0 0 0 0
13, 18: 0 0 0 0
14, 18: 0 0 0 0
15, 18: 0 0 0 0
16, 18: 0 0 0 0
17, 18: 0 0 0 0
18, 18: 0 0 0 0
19, 18: 0 0 0 0
20, 18: 0 0 0 0
21, 18: 0 0 0 0
22, 18: 0 0 0 0
23, 18: 0 0 0 0
0, 19: 0 0 0 0
1, 19: 0 0 0 0
2, 19: 0 0 0 0
3, 19: 0 0 0 0
4, 19: 0 0 0 0
5, 19: 0 0 0 0
6, 19: 0 0 0 0
7, 19: 0 0 0 0
8, 19: 0 0 0 0
9, 19: 0 0 0 0
10, 19: 0 0 0 0
11, 19: 0 0 0 0
12, 19: 0 0 0 0
13, 19: 0 0 0 0
14, 19: 0 0 0 0
15, 19: 0 0 0 0
16, 19: 0 0 0 0
17, 19: 0 0 0 0
18, 19: 0 0 0 0
19, 19: 0 0 0 0
20, 19: 0 0 0 0
21, 19: 0 0 0 0
22, 19: 0 0 0 0
23, 19: 0 0 0 0
0, 20: 0 0 0 0
1, 20: 0 0 0 0
2, 20: 0 0 0 0
3, 20: 0 0 0 0
4, 20: 0 0 0 0
5, 20: 0 0 0 0
6, 20: 0 0 0 0
7, 20: 0 0 0 0
8, 20: 0 0 0 0
9, 20: 0 0 0 0
10, 20: 0 0 0 0
11, 20: 0 0 0 0
12, 20: 0 0 0 0
13, 20: 0 0 0 0
14, 20: 0 0 0 0
15, 20: 0 0 0 0
16, 20: 0 0 0 0
17, 20: 0 0 0 0
18, 20: 0 0 0 0
19, 20: 0 0 0 0
20, 20: 0 0 0 0
21, 20: 0 0 0 0
22, 20: 0 0 0 0
23, 20: 0 0 0 0
0, 21: 0 0 0 0
1, 21: 0 0 0 0
2, 21: 0 0 0 0
3, 21: 0 0 0 0
4, 21: 0 0 0 0
5, 21: 0 0 0 0
6, 21: 0 0 0 0
7, 21: 0 0 0 0
8, 21: 0 0 0 0
9, 21: 0 0 0 0
10, 21: 0 0 0 0
11, 21: 0 0 0 0
12, 21: 0 0 0 0
13, 21: 0 0 0 0
14, 21: 0 0 0 0
15, 21: 0 0 0 0
16, 21: 0 0 0 0
17, 21: 0 0 0 0
18, 21: 0 0 0 0
19, 21: 0 0 0 0
20, 21: 0 0 0 0
21, 21: 0 0 0 0
22, 21: 0 0 0 0
23, 21: 0 0 0 0
0, 22: 0 0 0 0
1, 22: 0 0 0 0
2, 22: 0 0 0 0
3, 22: 0 0 0 0
4, 22: 0 0 0 0
5, 22: 0 0 0 0
6, 22: 0 0 0 0
7, 22: 0 0 0 0
8, 22: 0 0 0 0
9, 22: 0 0 0 0
10, 22: 0 0 0 0
11, 22: 0 0 0 0
12, 22: 0 0 0 0
13, 22: 0 0 0 0
14, 22: 0 0 0 0
15, 22: 0 0 0 0
16, 22: 0 0 0 0
17, 22: 0 0 0 0
18, 22: 0 0 0 0
19, 22: 0 0 0 0
20, 22: 0 0 0 0
21, 22: 0 0 0 0
22, 22: 0 0 0 0
23, 22: 0 0 0 0
0, 23: 0 0 0 0
1, 23: 0 0 0 0
2, 23: 0 0 0 0
3, 23: 0 0 0 0
4, 23: 0 0 0 0
5, 23: 0 0 0 0
6, 23: 0 0 0 0
7, 23: 0 0 0 0
8, 23: 0 0 0 0
9, 23: 0 0 0 0
10, 23: 0 0 0 0
11, 23: 0 0 0 0
12, 23: 0 0 0 0
13, 23: 0 0 0 0
14, 23: 0 0 0 0
15, 23: 0 0 0 0
16, 23: 0 0 0 0
17, 23: 0 0 0 0
18, 23: 0 0 0 0
19, 23: 0 0 0 0
20, 23: 0 0 0 0
21, 23: 0 0 0 0
22, 23: 0 0 0 0
23, 23: 0 0 0 0
