ffi-hydrogen 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccbd8be472cd4723875fdd43e8160ee1a3170cc58d677686fdf375d4fbfdb91d
4
- data.tar.gz: a69956b47424d4670dbef066e5e1039b36eb94fff0a2af00c336b312a76e2d2f
3
+ metadata.gz: 7d282b422b7e1d13983ab90d1484dc3b74ad8fa3eae7640cef6e819ae2cd24f3
4
+ data.tar.gz: 6f8f83e9490c8de43377137eadde0d049ac7cf84077fa73337bd16462b1fa5b9
5
5
  SHA512:
6
- metadata.gz: 608dc549fb320cb3e62498651482b15b67f1d1667fd40c222bf5d37d56e0d9e639dd61290a708daf1de04000e8505293d3f9c41f900b689eff9bc658ffd91e7f
7
- data.tar.gz: cf511f398a700940d129803fb502ae71d27087227310b7e489c72983107e49cab0c399172e77d080f79f12dba2aeb2aec8683034f38f0bb0b3ea0a35d162da66
6
+ metadata.gz: 84888ff5bb0ca444e451d288792211388d70910453c14fc49379cd32f0c24f561930c666d29440300cdff44fab9b232eee05618ed4dcc07d378928ea30b3d04c
7
+ data.tar.gz: 306407c680073693b90944009fc24a4fa5b0d54b0aec3f02919f9683375116070a8b2486c661d36447ea348b9c118e40d26f6efefd59c2e1422f139b9d7e800e
data/.gitignore CHANGED
@@ -11,3 +11,6 @@
11
11
  .rspec_status
12
12
  .ruby-version
13
13
  Gemfile.lock
14
+
15
+ ext/ffi/hydrogen/main.o
16
+ ext/ffi/hydrogen/main.dylib
data/Rakefile CHANGED
@@ -1,39 +1,19 @@
1
1
  require "bundler/gem_tasks"
2
- require "ffi"
3
2
  require "rspec/core/rake_task"
4
3
  require "rubocop/rake_task"
5
4
 
6
- def sys(cmd)
7
- puts "#{cmd}"
8
- ret = system(cmd)
9
- raise "ERROR: '#{cmd}' failed" unless ret
10
- ret
11
- end
5
+ import "ext/ffi/hydrogen/Rakefile"
12
6
 
13
7
  RSpec::Core::RakeTask.new(:spec)
14
8
 
15
- desc "Run RuboCop"
16
- task :rubocop do
17
- RuboCop::RakeTask.new
18
- end
19
-
20
9
  desc "Compile shared library"
21
10
  task :compile do
22
- wflags = "-Wall -Wextra -Wmissing-prototypes -Wdiv-by-zero"\
23
- " -Wbad-function-cast -Wcast-align -Wcast-qual -Wfloat-equal"\
24
- " -Wmissing-declarations -Wnested-externs -Wno-unknown-pragmas"\
25
- " -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wswitch-enum"\
26
- " -Wno-type-limits"
27
-
28
- cflags = "-O3 -march=native -fPIC -fno-exceptions #{wflags}"
29
-
30
- # main.o: main.c
31
- # $(CC) -c $(CFLAGS) $< -o $@
32
- sys("cc -c #{cflags} vendor/main.c -o vendor/main.o")
11
+ Rake::Task[:compile_shared].invoke
12
+ end
33
13
 
34
- # main.dylib: main.o
35
- # $(CC) $< -shared -o $@
36
- sys("cc vendor/main.o -shared -o vendor/main.#{::FFI::Platform::LIBSUFFIX}")
14
+ desc "Run RuboCop"
15
+ task :rubocop do
16
+ RuboCop::RakeTask.new
37
17
  end
38
18
 
39
19
  desc "Run all benchmarks"
data/bin/console CHANGED
@@ -7,8 +7,8 @@ require "ffi/hydrogen"
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
10
+ require "pry"
11
+ Pry.start
12
12
 
13
13
  require "irb"
14
14
  IRB.start(__FILE__)
@@ -0,0 +1,32 @@
1
+ require "ffi"
2
+
3
+ def sys(cmd)
4
+ puts "#{cmd}"
5
+ ret = system(cmd)
6
+ raise "ERROR: '#{cmd}' failed" unless ret
7
+ ret
8
+ end
9
+
10
+ desc "Compile shared library"
11
+ task :compile_shared do
12
+ wflags = "-Wall -Wextra -Wmissing-prototypes -Wdiv-by-zero"\
13
+ " -Wbad-function-cast -Wcast-align -Wcast-qual -Wfloat-equal"\
14
+ " -Wmissing-declarations -Wnested-externs -Wno-unknown-pragmas"\
15
+ " -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wswitch-enum"\
16
+ " -Wno-type-limits"
17
+
18
+ cflags = "-O3 -march=native -fPIC -fno-exceptions #{wflags}"
19
+ cwd = ::File.expand_path(::File.dirname(__FILE__))
20
+
21
+ ::Dir.chdir(cwd) do
22
+ # main.o: main.c
23
+ # $(CC) -c $(CFLAGS) $< -o $@
24
+ sys("cc -c #{cflags} main.c -o main.o")
25
+
26
+ # main.dylib: main.o
27
+ # $(CC) $< -shared -o $@
28
+ sys("cc main.o -shared -o main.#{::FFI::Platform::LIBSUFFIX}")
29
+ end
30
+ end
31
+
32
+ task :default => [:compile_shared]
@@ -1,7 +1,7 @@
1
1
  #include <stdio.h>
2
2
 
3
- #include "libhydrogen/hydrogen.c"
4
- #include "stringencoders/src/modp_b64.c"
3
+ #include "../../../vendor/libhydrogen/hydrogen.c"
4
+ #include "../../../vendor/stringencoders/src/modp_b64.c"
5
5
 
6
6
  /**
7
7
  * Encrypts and encodes a message using hydro_secretbox_encrypt and
@@ -89,7 +89,11 @@ size_t decode_decrypt(char* dest, const void* message, size_t message_len,
89
89
  const uint8_t key[hydro_secretbox_KEYBYTES]) {
90
90
  int max_decoded_len = modp_b64_decode_len(message_len);
91
91
  char* decoded[max_decoded_len];
92
- int decoded_len = modp_b64_decode(decoded, message, message_len);
92
+ size_t decoded_len = modp_b64_decode(decoded, message, message_len);
93
+
94
+ if (decoded_len == 0 || decoded_len == (size_t)-1) {
95
+ return 0;
96
+ }
93
97
 
94
98
  // TODO I'm making the assumption that a char* is a safe substitute for the
95
99
  // uint8_t* as expected by hydro_secretbox_decrypt. Make sure this is
data/ffi-hydrogen.gemspec CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "ffi-hydrogen"
6
- spec.version = "0.1.1"
6
+ spec.version = "0.1.2"
7
7
  spec.authors = ["Marcos Minond"]
8
8
  spec.email = ["marcos.minond@mx.com"]
9
9
 
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  end
18
18
  spec.bindir = "exe"
19
+ spec.extensions = "ext/ffi/hydrogen/Rakefile"
19
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
21
  spec.require_paths = ["lib"]
21
22
 
@@ -24,6 +25,7 @@ Gem::Specification.new do |spec|
24
25
  spec.add_development_dependency "benchmark-ips", "~> 2.7.2"
25
26
  spec.add_development_dependency "bundler", "~> 1.16"
26
27
  spec.add_development_dependency "mad_rubocop"
28
+ spec.add_development_dependency "pry"
27
29
  spec.add_development_dependency "rake", "~> 10.0"
28
30
  spec.add_development_dependency "rbnacl", "~> 6.0"
29
31
  spec.add_development_dependency "rspec", "~> 3.0"
data/lib/ffi/hydrogen.rb CHANGED
@@ -10,7 +10,7 @@ module FFI
10
10
  HEADERBYTES = 36
11
11
 
12
12
  gem_base = ::File.join(::File.dirname(__FILE__), "..", "..")
13
- ffi_lib "#{gem_base}/vendor/main.#{::FFI::Platform::LIBSUFFIX}"
13
+ ffi_lib "#{gem_base}/ext/ffi/hydrogen/main.#{::FFI::Platform::LIBSUFFIX}"
14
14
 
15
15
  # void hydro_secretbox_keygen(uint8_t key[hydro_secretbox_KEYBYTES])
16
16
  attach_function :_hydro_secretbox_keygen, :hydro_secretbox_keygen, [:pointer], :void
@@ -52,7 +52,7 @@ module FFI
52
52
  create_context(context) do |context_ptr|
53
53
  create_string_and_buffer(text, max_len) do |text_ptr, buff_ptr|
54
54
  size = _encrypt_encode(buff_ptr, text_ptr, text_len, message_id, context_ptr, key_ptr)
55
- result = buff_ptr.get_bytes(0, size)
55
+ result = buff_ptr.get_bytes(0, size) if size != 0
56
56
  end
57
57
  end
58
58
  end
@@ -68,8 +68,10 @@ module FFI
68
68
  create_key(key) do |key_ptr|
69
69
  create_context(context) do |context_ptr|
70
70
  create_string_and_buffer(text, max_len) do |text_ptr, buff_ptr|
71
+ # binding.pry
72
+
71
73
  size = _decode_decrypt(buff_ptr, text_ptr, text_len, message_id, context_ptr, key_ptr)
72
- result = buff_ptr.get_bytes(0, size)
74
+ result = buff_ptr.get_bytes(0, size) if size != 0
73
75
  end
74
76
  end
75
77
  end
@@ -84,7 +86,7 @@ module FFI
84
86
 
85
87
  create_string_and_buffer(text, buff_len) do |text_ptr, buff_ptr|
86
88
  size = ::FFI::Hydrogen._modp_b64_encode(buff_ptr, text_ptr, text_len)
87
- encoded = buff_ptr.get_bytes(0, size)
89
+ encoded = buff_ptr.get_bytes(0, size) if size != 0
88
90
  end
89
91
 
90
92
  encoded
@@ -97,7 +99,7 @@ module FFI
97
99
 
98
100
  create_string_and_buffer(text, buff_len) do |text_ptr, buff_ptr|
99
101
  size = ::FFI::Hydrogen._modp_b64_decode(buff_ptr, text_ptr, text_len)
100
- decoded = buff_ptr.get_bytes(0, size)
102
+ decoded = buff_ptr.get_bytes(0, size) if size != 0
101
103
  end
102
104
 
103
105
  decoded
data/vendor/README.md CHANGED
@@ -1,2 +1,3 @@
1
1
  - `libhydrogen` was downloaded from https://github.com/jedisct1/libhydrogen at this sha: 39eb529905.
2
2
  - `stringencoders` was downloaded from https://github.com/client9/stringencoders at this sha: e1448a9415.
3
+ - Modified `padchar` and `b64chars` to be URL safe.
@@ -1,7 +1,7 @@
1
1
  #include "modp_stdint.h"
2
2
  #define CHAR62 '-'
3
3
  #define CHAR63 '_'
4
- #define CHARPAD '='
4
+ #define CHARPAD 'p'
5
5
  static const uint8_t e0[256] = {
6
6
  'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C',
7
7
  'C', 'C', 'D', 'D', 'D', 'D', 'E', 'E', 'E', 'E',
@@ -19,7 +19,7 @@ static const uint8_t e0[256] = {
19
19
  'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i',
20
20
  'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l',
21
21
  'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n',
22
- 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q',
22
+ 'o', 'o', 'o', 'o', '~', '~', '~', '~', 'q', 'q',
23
23
  'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's',
24
24
  't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v',
25
25
  'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x',
@@ -35,26 +35,26 @@ static const uint8_t e1[256] = {
35
35
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
36
36
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
37
37
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
38
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
38
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
39
39
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
40
40
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
41
41
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
42
42
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
43
43
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
44
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
44
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
45
45
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
46
46
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
47
47
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
48
48
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
49
49
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
50
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
50
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
51
51
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
52
52
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
53
53
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
54
54
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
55
55
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
56
56
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
57
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
57
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
58
58
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
59
59
  '6', '7', '8', '9', '-', '_'
60
60
  };
@@ -63,26 +63,26 @@ static const uint8_t e2[256] = {
63
63
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
64
64
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
65
65
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
66
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
66
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
67
67
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
68
68
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
69
69
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
70
70
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
71
71
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
72
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
72
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
73
73
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
74
74
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
75
75
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
76
76
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
77
77
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
78
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
78
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
79
79
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
80
80
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
81
81
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
82
82
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
83
83
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
84
84
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
85
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
85
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
86
86
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
87
87
  '6', '7', '8', '9', '-', '_'
88
88
  };
@@ -112,10 +112,10 @@ static const uint32_t d0[256] = {
112
112
  0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000,
113
113
  0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000,
114
114
  0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000,
115
- 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000,
115
+ 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x01ffffff, 0x00a80000,
116
116
  0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000,
117
117
  0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
+ 0x00a40000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
119
119
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
120
120
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
121
121
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -159,10 +159,10 @@ static const uint32_t d1[256] = {
159
159
  0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000,
160
160
  0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000,
161
161
  0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000,
162
- 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000,
162
+ 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x01ffffff, 0x0002a000,
163
163
  0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000,
164
164
  0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
+ 0x00029000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
166
166
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
167
167
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
168
168
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -206,10 +206,10 @@ static const uint32_t d2[256] = {
206
206
  0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0,
207
207
  0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780,
208
208
  0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900,
209
- 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80,
209
+ 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x01ffffff, 0x00000a80,
210
210
  0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00,
211
211
  0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
+ 0x00000a40, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
213
213
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
214
214
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
215
215
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -253,10 +253,10 @@ static const uint32_t d3[256] = {
253
253
  0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f,
254
254
  0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e,
255
255
  0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
256
- 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a,
256
+ 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x01ffffff, 0x0000002a,
257
257
  0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030,
258
258
  0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
+ 0x00000029, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
260
260
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
261
261
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
262
262
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -305,10 +305,10 @@ static const uint32_t d0[256] = {
305
305
  0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc,
306
306
  0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078,
307
307
  0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090,
308
- 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8,
308
+ 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x01ffffff, 0x000000a8,
309
309
  0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0,
310
310
  0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
+ 0x000000a4, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
312
312
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
313
313
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
314
314
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -352,10 +352,10 @@ static const uint32_t d1[256] = {
352
352
  0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003,
353
353
  0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001,
354
354
  0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002,
355
- 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002,
355
+ 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x01ffffff, 0x0000a002,
356
356
  0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003,
357
357
  0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
+ 0x00009002, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
359
359
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
360
360
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
361
361
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -399,10 +399,10 @@ static const uint32_t d2[256] = {
399
399
  0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00,
400
400
  0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700,
401
401
  0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900,
402
- 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00,
402
+ 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x01ffffff, 0x00800a00,
403
403
  0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00,
404
404
  0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
+ 0x00400a00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
406
406
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
407
407
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
408
408
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -446,10 +446,10 @@ static const uint32_t d3[256] = {
446
446
  0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000,
447
447
  0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000,
448
448
  0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000,
449
- 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000,
449
+ 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x01ffffff, 0x002a0000,
450
450
  0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000,
451
451
  0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
+ 0x00290000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
453
453
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
454
454
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
455
455
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -32,11 +32,11 @@ static uint8_t b64chars[64] = {
32
32
  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
33
33
  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
34
34
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
35
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
35
+ 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
36
36
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'
37
37
  };
38
38
 
39
- static uint8_t padchar = '=';
39
+ static uint8_t padchar = 'p';
40
40
 
41
41
  static void printStart(void)
42
42
  {
@@ -19,7 +19,7 @@ static const uint8_t e0[256] = {
19
19
  'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i',
20
20
  'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l',
21
21
  'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n',
22
- 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q',
22
+ 'o', 'o', 'o', 'o', '~', '~', '~', '~', 'q', 'q',
23
23
  'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's',
24
24
  't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v',
25
25
  'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x',
@@ -35,26 +35,26 @@ static const uint8_t e1[256] = {
35
35
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
36
36
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
37
37
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
38
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
38
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
39
39
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
40
40
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
41
41
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
42
42
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
43
43
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
44
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
44
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
45
45
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
46
46
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
47
47
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
48
48
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
49
49
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
50
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
50
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
51
51
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
52
52
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
53
53
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
54
54
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
55
55
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
56
56
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
57
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
57
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
58
58
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
59
59
  '6', '7', '8', '9', '-', '_'
60
60
  };
@@ -63,26 +63,26 @@ static const uint8_t e2[256] = {
63
63
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
64
64
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
65
65
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
66
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
66
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
67
67
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
68
68
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
69
69
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
70
70
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
71
71
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
72
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
72
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
73
73
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
74
74
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
75
75
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
76
76
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
77
77
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
78
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
78
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
79
79
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
80
80
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
81
81
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
82
82
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
83
83
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
84
84
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
85
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
85
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
86
86
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
87
87
  '6', '7', '8', '9', '-', '_'
88
88
  };
@@ -112,10 +112,10 @@ static const uint32_t d0[256] = {
112
112
  0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000,
113
113
  0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000,
114
114
  0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000,
115
- 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000,
115
+ 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x01ffffff, 0x00a80000,
116
116
  0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000,
117
117
  0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
+ 0x00a40000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
119
119
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
120
120
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
121
121
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -159,10 +159,10 @@ static const uint32_t d1[256] = {
159
159
  0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000,
160
160
  0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000,
161
161
  0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000,
162
- 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000,
162
+ 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x01ffffff, 0x0002a000,
163
163
  0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000,
164
164
  0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
+ 0x00029000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
166
166
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
167
167
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
168
168
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -206,10 +206,10 @@ static const uint32_t d2[256] = {
206
206
  0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0,
207
207
  0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780,
208
208
  0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900,
209
- 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80,
209
+ 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x01ffffff, 0x00000a80,
210
210
  0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00,
211
211
  0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
+ 0x00000a40, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
213
213
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
214
214
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
215
215
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -253,10 +253,10 @@ static const uint32_t d3[256] = {
253
253
  0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f,
254
254
  0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e,
255
255
  0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
256
- 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a,
256
+ 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x01ffffff, 0x0000002a,
257
257
  0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030,
258
258
  0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
+ 0x00000029, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
260
260
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
261
261
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
262
262
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -305,10 +305,10 @@ static const uint32_t d0[256] = {
305
305
  0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc,
306
306
  0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078,
307
307
  0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090,
308
- 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8,
308
+ 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x01ffffff, 0x000000a8,
309
309
  0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0,
310
310
  0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
+ 0x000000a4, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
312
312
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
313
313
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
314
314
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -352,10 +352,10 @@ static const uint32_t d1[256] = {
352
352
  0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003,
353
353
  0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001,
354
354
  0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002,
355
- 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002,
355
+ 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x01ffffff, 0x0000a002,
356
356
  0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003,
357
357
  0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
+ 0x00009002, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
359
359
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
360
360
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
361
361
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -399,10 +399,10 @@ static const uint32_t d2[256] = {
399
399
  0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00,
400
400
  0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700,
401
401
  0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900,
402
- 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00,
402
+ 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x01ffffff, 0x00800a00,
403
403
  0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00,
404
404
  0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
+ 0x00400a00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
406
406
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
407
407
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
408
408
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -446,10 +446,10 @@ static const uint32_t d3[256] = {
446
446
  0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000,
447
447
  0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000,
448
448
  0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000,
449
- 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000,
449
+ 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x01ffffff, 0x002a0000,
450
450
  0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000,
451
451
  0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
+ 0x00290000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
453
453
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
454
454
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
455
455
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -19,7 +19,7 @@ static const uint8_t e0[256] = {
19
19
  'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i',
20
20
  'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l',
21
21
  'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n',
22
- 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q',
22
+ 'o', 'o', 'o', 'o', '~', '~', '~', '~', 'q', 'q',
23
23
  'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's',
24
24
  't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v',
25
25
  'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x',
@@ -35,26 +35,26 @@ static const uint8_t e1[256] = {
35
35
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
36
36
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
37
37
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
38
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
38
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
39
39
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
40
40
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
41
41
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
42
42
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
43
43
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
44
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
44
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
45
45
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
46
46
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
47
47
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
48
48
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
49
49
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
50
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
50
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
51
51
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
52
52
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
53
53
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
54
54
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
55
55
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
56
56
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
57
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
57
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
58
58
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
59
59
  '6', '7', '8', '9', '-', '_'
60
60
  };
@@ -63,26 +63,26 @@ static const uint8_t e2[256] = {
63
63
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
64
64
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
65
65
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
66
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
66
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
67
67
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
68
68
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
69
69
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
70
70
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
71
71
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
72
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
72
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
73
73
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
74
74
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
75
75
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
76
76
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
77
77
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
78
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
78
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
79
79
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
80
80
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
81
81
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
82
82
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
83
83
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
84
84
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
85
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
85
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
86
86
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
87
87
  '6', '7', '8', '9', '-', '_'
88
88
  };
@@ -112,10 +112,10 @@ static const uint32_t d0[256] = {
112
112
  0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000,
113
113
  0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000,
114
114
  0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000,
115
- 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000,
115
+ 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x01ffffff, 0x00a80000,
116
116
  0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000,
117
117
  0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
+ 0x00a40000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
119
119
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
120
120
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
121
121
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -159,10 +159,10 @@ static const uint32_t d1[256] = {
159
159
  0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000,
160
160
  0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000,
161
161
  0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000,
162
- 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000,
162
+ 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x01ffffff, 0x0002a000,
163
163
  0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000,
164
164
  0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
+ 0x00029000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
166
166
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
167
167
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
168
168
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -206,10 +206,10 @@ static const uint32_t d2[256] = {
206
206
  0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0,
207
207
  0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780,
208
208
  0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900,
209
- 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80,
209
+ 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x01ffffff, 0x00000a80,
210
210
  0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00,
211
211
  0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
+ 0x00000a40, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
213
213
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
214
214
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
215
215
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -253,10 +253,10 @@ static const uint32_t d3[256] = {
253
253
  0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f,
254
254
  0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e,
255
255
  0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
256
- 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a,
256
+ 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x01ffffff, 0x0000002a,
257
257
  0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030,
258
258
  0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
+ 0x00000029, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
260
260
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
261
261
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
262
262
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -305,10 +305,10 @@ static const uint32_t d0[256] = {
305
305
  0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc,
306
306
  0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078,
307
307
  0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090,
308
- 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8,
308
+ 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x01ffffff, 0x000000a8,
309
309
  0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0,
310
310
  0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
+ 0x000000a4, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
312
312
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
313
313
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
314
314
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -352,10 +352,10 @@ static const uint32_t d1[256] = {
352
352
  0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003,
353
353
  0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001,
354
354
  0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002,
355
- 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002,
355
+ 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x01ffffff, 0x0000a002,
356
356
  0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003,
357
357
  0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
+ 0x00009002, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
359
359
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
360
360
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
361
361
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -399,10 +399,10 @@ static const uint32_t d2[256] = {
399
399
  0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00,
400
400
  0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700,
401
401
  0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900,
402
- 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00,
402
+ 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x01ffffff, 0x00800a00,
403
403
  0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00,
404
404
  0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
+ 0x00400a00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
406
406
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
407
407
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
408
408
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -446,10 +446,10 @@ static const uint32_t d3[256] = {
446
446
  0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000,
447
447
  0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000,
448
448
  0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000,
449
- 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000,
449
+ 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x01ffffff, 0x002a0000,
450
450
  0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000,
451
451
  0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
+ 0x00290000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
453
453
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
454
454
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
455
455
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-hydrogen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcos Minond
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ name: pry
76
+ prerelease: false
77
+ type: :development
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  requirement: !ruby/object:Gem::Requirement
71
85
  requirements:
@@ -126,7 +140,8 @@ description:
126
140
  email:
127
141
  - marcos.minond@mx.com
128
142
  executables: []
129
- extensions: []
143
+ extensions:
144
+ - ext/ffi/hydrogen/Rakefile
130
145
  extra_rdoc_files: []
131
146
  files:
132
147
  - ".gitignore"
@@ -143,6 +158,8 @@ files:
143
158
  - bench/init.rb
144
159
  - bin/console
145
160
  - bin/setup
161
+ - ext/ffi/hydrogen/Rakefile
162
+ - ext/ffi/hydrogen/main.c
146
163
  - ffi-hydrogen.gemspec
147
164
  - lib/ffi/hydrogen.rb
148
165
  - vendor/.clang-format
@@ -174,7 +191,6 @@ files:
174
191
  - vendor/libhydrogen/library.properties
175
192
  - vendor/libhydrogen/logo.png
176
193
  - vendor/libhydrogen/tests/tests.c
177
- - vendor/main.c
178
194
  - vendor/stringencoders/.gitignore
179
195
  - vendor/stringencoders/.travis.yml
180
196
  - vendor/stringencoders/AUTHORS