vedeu 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/integrations/342_streams.rb +74 -0
- data/integrations/dsl_app_001.rb +58 -0
- data/integrations/dsl_app_002.rb +59 -0
- data/integrations/dsl_app_003.rb +58 -0
- data/integrations/dsl_app_004.rb +63 -0
- data/integrations/dsl_app_005.rb +62 -0
- data/integrations/dsl_app_006.rb +57 -0
- data/integrations/dsl_app_007.rb +63 -0
- data/integrations/dsl_app_008.rb +65 -0
- data/integrations/dsl_app_009.rb +70 -0
- data/integrations/dsl_app_010.rb +71 -0
- data/integrations/dsl_app_011.rb +61 -0
- data/integrations/dsl_app_012.rb +59 -0
- data/integrations/dsl_app_013.rb +60 -0
- data/integrations/dsl_app_014.rb +60 -0
- data/integrations/dsl_app_015.rb +60 -0
- data/integrations/dsl_app_016.rb +64 -0
- data/integrations/dsl_app_017.rb +56 -0
- data/integrations/dsl_app_018.rb +56 -0
- data/integrations/dsl_app_019.rb +56 -0
- data/integrations/dsl_app_020.rb +56 -0
- data/integrations/expected/342_streams.out +1 -0
- data/integrations/expected/dsl_app_001.out +1 -0
- data/integrations/expected/dsl_app_002.out +1 -0
- data/integrations/expected/dsl_app_003.out +1 -0
- data/integrations/expected/dsl_app_004.out +1 -0
- data/integrations/expected/dsl_app_005.out +1 -0
- data/integrations/expected/dsl_app_006.out +1 -0
- data/integrations/expected/dsl_app_007.out +1 -0
- data/integrations/expected/dsl_app_008.out +1 -0
- data/integrations/expected/dsl_app_009.out +1 -0
- data/integrations/expected/dsl_app_010.out +1 -0
- data/integrations/expected/dsl_app_011.out +1 -0
- data/integrations/expected/dsl_app_012.out +1 -0
- data/integrations/expected/dsl_app_013.out +1 -0
- data/integrations/expected/dsl_app_014.out +1 -0
- data/integrations/expected/dsl_app_015.out +1 -0
- data/integrations/expected/dsl_app_016.out +1 -0
- data/integrations/support/test_interface.rb +13 -0
- data/integrations/test_runner.sh +32 -0
- data/lib/vedeu/cells/empty.rb +14 -0
- data/lib/vedeu/colours/background.rb +13 -0
- data/lib/vedeu/colours/colour.rb +11 -4
- data/lib/vedeu/colours/foreground.rb +13 -0
- data/lib/vedeu/common.rb +42 -0
- data/lib/vedeu/dsl/attributes.rb +1 -1
- data/lib/vedeu/dsl/elements.rb +57 -23
- data/lib/vedeu/dsl/string/align.rb +17 -2
- data/lib/vedeu/geometries/position.rb +5 -0
- data/lib/vedeu/geometries/positionable.rb +2 -2
- data/lib/vedeu/presentation/style.rb +5 -0
- data/lib/vedeu/renderers/all.rb +1 -0
- data/lib/vedeu/renderers/escape.rb +96 -0
- data/lib/vedeu/repositories/defaults.rb +14 -6
- data/lib/vedeu/runtime/launcher.rb +5 -1
- data/lib/vedeu/version.rb +1 -1
- data/lib/vedeu/views/lines.rb +5 -0
- data/lib/vedeu/views/stream.rb +8 -1
- data/lib/vedeu/views/streams.rb +6 -1
- data/lib/vedeu/views/value.rb +2 -8
- data/lib/vedeu/views/view.rb +1 -1
- data/test/lib/vedeu/colours/colour_test.rb +0 -8
- data/test/lib/vedeu/common_test.rb +72 -0
- data/test/lib/vedeu/dsl/string/align_test.rb +1 -1
- metadata +43 -17
- data/examples/284_slow_rendering.rb +0 -108
- data/examples/views/expected/vedeu_line.html +0 -140
- data/examples/views/expected/vedeu_line.json +0 -96050
- data/examples/views/expected/vedeu_line.out +0 -1
- data/examples/views/expected/vedeu_line.txt +0 -58
- data/examples/views/expected/vedeu_lines.html +0 -140
- data/examples/views/expected/vedeu_lines.json +0 -96050
- data/examples/views/expected/vedeu_lines.out +0 -1
- data/examples/views/expected/vedeu_lines_alignment.html +0 -80
- data/examples/views/expected/vedeu_lines_alignment.json +0 -46370
- data/examples/views/expected/vedeu_lines_alignment.out +0 -1
- data/examples/views/line.rb +0 -128
- data/examples/views/lines.rb +0 -165
- data/examples/views/lines_alignment.rb +0 -126
- data/examples/views/runner.sh +0 -73
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_014.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_014.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_014.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_014.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
lines do
|
32
|
+
right 'view->lines->right 1', { foreground: '#00ff00' }
|
33
|
+
right 'view->lines->right 2', { background: '#00ff00', foreground: '#000000' }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.actual
|
39
|
+
File.read('/tmp/dsl_app_014.out')
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.expected
|
43
|
+
File.read(File.expand_path('../expected/dsl_app_014.out', __FILE__))
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.start(argv = ARGV)
|
47
|
+
Vedeu::Launcher.execute!(argv)
|
48
|
+
end
|
49
|
+
|
50
|
+
end # DSLApp
|
51
|
+
|
52
|
+
DSLApp.start
|
53
|
+
|
54
|
+
if DSLApp.expected == DSLApp.actual
|
55
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
56
|
+
exit 0;
|
57
|
+
else
|
58
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
59
|
+
exit 1;
|
60
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_015.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_015.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_015.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_015.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
lines do
|
32
|
+
centre 'view->lines->centre 1', { foreground: '#0044ff' }
|
33
|
+
centre 'view->lines->centre 2', { background: '#0044ff', foreground: '#000000' }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.actual
|
39
|
+
File.read('/tmp/dsl_app_015.out')
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.expected
|
43
|
+
File.read(File.expand_path('../expected/dsl_app_015.out', __FILE__))
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.start(argv = ARGV)
|
47
|
+
Vedeu::Launcher.execute!(argv)
|
48
|
+
end
|
49
|
+
|
50
|
+
end # DSLApp
|
51
|
+
|
52
|
+
DSLApp.start
|
53
|
+
|
54
|
+
if DSLApp.expected == DSLApp.actual
|
55
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
56
|
+
exit 0;
|
57
|
+
else
|
58
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
59
|
+
exit 1;
|
60
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_016.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_016.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_016.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_016.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
foreground '#ffffff'
|
32
|
+
line do
|
33
|
+
left 'v->l->left', { background: '#aa2200', width: 14 }
|
34
|
+
right 'v->l->right', { background: '#0022ff', width: 15 }
|
35
|
+
end
|
36
|
+
line do
|
37
|
+
centre 'v->l->centre', { background: '#007700', width: 30 }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.actual
|
43
|
+
File.read('/tmp/dsl_app_016.out')
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.expected
|
47
|
+
File.read(File.expand_path('../expected/dsl_app_016.out', __FILE__))
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.start(argv = ARGV)
|
51
|
+
Vedeu::Launcher.execute!(argv)
|
52
|
+
end
|
53
|
+
|
54
|
+
end # DSLApp
|
55
|
+
|
56
|
+
DSLApp.start
|
57
|
+
|
58
|
+
if DSLApp.expected == DSLApp.actual
|
59
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
60
|
+
exit 0;
|
61
|
+
else
|
62
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
63
|
+
exit 1;
|
64
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_017.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_017.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_017.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_017.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.actual
|
35
|
+
File.read('/tmp/dsl_app_017.out')
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.expected
|
39
|
+
File.read(File.expand_path('../expected/dsl_app_017.out', __FILE__))
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.start(argv = ARGV)
|
43
|
+
Vedeu::Launcher.execute!(argv)
|
44
|
+
end
|
45
|
+
|
46
|
+
end # DSLApp
|
47
|
+
|
48
|
+
DSLApp.start
|
49
|
+
|
50
|
+
if DSLApp.expected == DSLApp.actual
|
51
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
52
|
+
exit 0;
|
53
|
+
else
|
54
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
55
|
+
exit 1;
|
56
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_018.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_018.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_018.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_018.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.actual
|
35
|
+
File.read('/tmp/dsl_app_018.out')
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.expected
|
39
|
+
File.read(File.expand_path('../expected/dsl_app_018.out', __FILE__))
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.start(argv = ARGV)
|
43
|
+
Vedeu::Launcher.execute!(argv)
|
44
|
+
end
|
45
|
+
|
46
|
+
end # DSLApp
|
47
|
+
|
48
|
+
DSLApp.start
|
49
|
+
|
50
|
+
if DSLApp.expected == DSLApp.actual
|
51
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
52
|
+
exit 0;
|
53
|
+
else
|
54
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
55
|
+
exit 1;
|
56
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_019.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_019.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_019.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_019.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.actual
|
35
|
+
File.read('/tmp/dsl_app_019.out')
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.expected
|
39
|
+
File.read(File.expand_path('../expected/dsl_app_019.out', __FILE__))
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.start(argv = ARGV)
|
43
|
+
Vedeu::Launcher.execute!(argv)
|
44
|
+
end
|
45
|
+
|
46
|
+
end # DSLApp
|
47
|
+
|
48
|
+
DSLApp.start
|
49
|
+
|
50
|
+
if DSLApp.expected == DSLApp.actual
|
51
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
52
|
+
exit 0;
|
53
|
+
else
|
54
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
55
|
+
exit 1;
|
56
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'vedeu'
|
7
|
+
|
8
|
+
class DSLApp
|
9
|
+
|
10
|
+
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
|
11
|
+
|
12
|
+
Vedeu.configure do
|
13
|
+
debug!
|
14
|
+
log '/tmp/vedeu_views_dsl.log'
|
15
|
+
renderers [
|
16
|
+
Vedeu::Renderers::Terminal.new(
|
17
|
+
filename: '/tmp/dsl_app_020.out',
|
18
|
+
write_file: true),
|
19
|
+
# Vedeu::Renderers::JSON.new(filename: '/tmp/dsl_app_020.json'),
|
20
|
+
# Vedeu::Renderers::HTML.new(filename: '/tmp/dsl_app_020.html'),
|
21
|
+
# Vedeu::Renderers::Text.new(filename: '/tmp/dsl_app_020.txt'),
|
22
|
+
]
|
23
|
+
run_once!
|
24
|
+
standalone!
|
25
|
+
end
|
26
|
+
|
27
|
+
load './support/test_interface.rb'
|
28
|
+
|
29
|
+
Vedeu.render do
|
30
|
+
view(:test_interface) do
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.actual
|
35
|
+
File.read('/tmp/dsl_app_020.out')
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.expected
|
39
|
+
File.read(File.expand_path('../expected/dsl_app_020.out', __FILE__))
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.start(argv = ARGV)
|
43
|
+
Vedeu::Launcher.execute!(argv)
|
44
|
+
end
|
45
|
+
|
46
|
+
end # DSLApp
|
47
|
+
|
48
|
+
DSLApp.start
|
49
|
+
|
50
|
+
if DSLApp.expected == DSLApp.actual
|
51
|
+
puts "#{__FILE__} \e[32mPassed.\e[39m"
|
52
|
+
exit 0;
|
53
|
+
else
|
54
|
+
puts "#{__FILE__} \e[31mFailed.\e[39m"
|
55
|
+
exit 1;
|
56
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[0m[3;3H[38;5;177m[48;5;16m0[3;4H7[3;5H/[3;6H0[3;7H1[3;8H/[3;9H2[3;10H0[3;11H1[3;12H6[3;13H [3;14H2[3;15H1[3;16H:[3;17H3[3;18H2[3;19H:[3;20H1[3;21H9[3;22H[38;5;30m[48;5;16m [3;23Hn[3;24Hu[3;25Hl[3;26Hl[3;27H[38;5;188m[48;5;16m [3;28H>[3;29H [3;30Hh[3;31Hi[3;32H[39m[48;5;16m [3;33H [3;34H [3;35H [3;36H [3;37H [3;38H [3;39H [3;40H [3;41H [3;42H [3;43H [3;44H [3;45H [3;46H [3;47H [3;48H [3;49H [3;50H [3;51H [3;52H [3;53H [0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;196m[48;5;52mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hl[3;10Hi[3;11Hn[3;12He[3;13H[39m[49m [3;14H [3;15H [3;16H [3;17H [3;18H [3;19H [3;20H [3;21H [3;22H [3;23H [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H [4;4H [4;5H [4;6H [4;7H [4;8H [4;9H [4;10H [4;11H [4;12H [4;13H [4;14H [4;15H [4;16H [4;17H [4;18H [4;19H [4;20H [4;21H [4;22H [4;23H [4;24H [4;25H [4;26H [4;27H [4;28H [4;29H [4;30H [4;31H [4;32H(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;208m[49mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hl[3;10Hi[3;11Hn[3;12He[3;13H [3;14H1[3;15H[39m[49m [3;16H [3;17H [3;18H [3;19H [3;20H [3;21H [3;22H [3;23H [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H[38;5;226m[49mv[4;4Hi[4;5He[4;6Hw[4;7H-[4;8H>[4;9Hl[4;10Hi[4;11Hn[4;12He[4;13H [4;14H2[4;15H[39m[49m [4;16H [4;17H [4;18H [4;19H [4;20H [4;21H [4;22H [4;23H [4;24H [4;25H [4;26H [4;27H [4;28H [4;29H [4;30H [4;31H [4;32H(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;46m[49mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Ht[3;10He[3;11Hx[3;12Ht[3;13H [3;14H1[3;15H[39m[49m [3;16H [3;17H [3;18H [3;19H [3;20H [3;21H [3;22H [3;23H [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H[38;5;33m[49mv[4;4Hi[4;5He[4;6Hw[4;7H-[4;8H>[4;9Ht[4;10He[4;11Hx[4;12Ht[4;13H [4;14H2[4;15H[39m[49m [4;16H [4;17H [4;18H [4;19H [4;20H [4;21H [4;22H [4;23H [4;24H [4;25H [4;26H [4;27H [4;28H [4;29H [4;30H [4;31H [4;32H(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;56m[49mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hl[3;10Hi[3;11Hn[3;12He[3;13H [3;14H1[3;15H-[3;16H>[3;17Ht[3;18He[3;19Hx[3;20Ht[3;21H[39m[49m [3;22H [3;23H [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H[38;5;201m[49mv[4;4Hi[4;5He[4;6Hw[4;7H-[4;8H>[4;9Hl[4;10Hi[4;11Hn[4;12He[4;13H [4;14H2[4;15H-[4;16H>[4;17Ht[4;18He[4;19Hx[4;20Ht[4;21H [4;22H1[4;23H[38;5;231m[49mv[4;24Hi[4;25He[4;26Hw[4;27H-[4;28H>[4;29Hl[4;30Hi[4;31Hn[4;32H[39m[49m(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;46m[48;5;18mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hl[3;10Hi[3;11Hn[3;12He[3;13Hs[3;14H-[3;15H>[3;16Hl[3;17Hi[3;18Hn[3;19He[3;20H [3;21H1[3;22H[39m[49m [3;23H [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H[38;5;33m[48;5;16mv[4;4Hi[4;5He[4;6Hw[4;7H-[4;8H>[4;9Hl[4;10Hi[4;11Hn[4;12He[4;13Hs[4;14H-[4;15H>[4;16Hl[4;17Hi[4;18Hn[4;19He[4;20H [4;21H2[4;22H[39m[49m [4;23H [4;24H [4;25H [4;26H [4;27H [4;28H [4;29H [4;30H [4;31H [4;32H(0x(B[0m[5;2H[39m[49m(0x(B[5;3H[38;5;70m[48;5;18mv[5;4Hi[5;5He[5;6Hw[5;7H-[5;8H>[5;9Hl[5;10Hi[5;11Hn[5;12He[5;13Hs[5;14H-[5;15H>[5;16Hl[5;17Hi[5;18Hn[5;19He[5;20H [5;21H3[5;22H[39m[49m [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;196m[49mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hs[3;10Ht[3;11Hr[3;12He[3;13Ha[3;14Hm[3;15H[39m[49m [3;16H [3;17H [3;18H [3;19H [3;20H [3;21H [3;22H [3;23H [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H [4;4H [4;5H [4;6H [4;7H [4;8H [4;9H [4;10H [4;11H [4;12H [4;13H [4;14H [4;15H [4;16H [4;17H [4;18H [4;19H [4;20H [4;21H [4;22H [4;23H [4;24H [4;25H [4;26H [4;27H [4;28H [4;29H [4;30H [4;31H [4;32H(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;46m[49mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hl[3;10Hi[3;11Hn[3;12He[3;13H [3;14H1[3;15H-[3;16H>[3;17Hs[3;18Ht[3;19Hr[3;20He[3;21Ha[3;22Hm[3;23H[39m[49m [3;24H [3;25H [3;26H [3;27H [3;28H [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H[38;5;33m[49mv[4;4Hi[4;5He[4;6Hw[4;7H-[4;8H>[4;9Hl[4;10Hi[4;11Hn[4;12He[4;13H [4;14H2[4;15H-[4;16H>[4;17Hs[4;18Ht[4;19Hr[4;20He[4;21Ha[4;22Hm[4;23H [4;24H1[4;25H[38;5;201m[49mv[4;26Hi[4;27He[4;28Hw[4;29H-[4;30H>[4;31Hl[4;32H[39m[49m(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|
@@ -0,0 +1 @@
|
|
1
|
+
[0m[0m[2;2H[39m[49m(0l(B[2;3H(0q(B[2;4H [2;5HT[2;6He[2;7Hs[2;8Ht[2;9H [2;10H(0q(B[2;11H(0q(B[2;12H(0q(B[2;13H(0q(B[2;14H(0q(B[2;15H(0q(B[2;16H(0q(B[2;17H(0q(B[2;18H(0q(B[2;19H(0q(B[2;20H(0q(B[2;21H(0q(B[2;22H(0q(B[2;23H(0q(B[2;24H(0q(B[2;25H(0q(B[2;26H(0q(B[2;27H(0q(B[2;28H(0q(B[2;29H(0q(B[2;30H(0q(B[2;31H(0q(B[2;32H(0k(B[0m[3;2H[39m[49m(0x(B[3;3H[38;5;56m[49mv[3;4Hi[3;5He[3;6Hw[3;7H-[3;8H>[3;9Hl[3;10Hi[3;11Hn[3;12He[3;13Hs[3;14H-[3;15H>[3;16Hl[3;17Hi[3;18Hn[3;19He[3;20H-[3;21H>[3;22Hs[3;23Ht[3;24Hr[3;25He[3;26Ha[3;27Hm[3;28H[39m[49m [3;29H [3;30H [3;31H [3;32H(0x(B[0m[4;2H[39m[49m(0x(B[4;3H[38;5;201m[49mv[4;4Hi[4;5He[4;6Hw[4;7H-[4;8H>[4;9Hs[4;10Ht[4;11Hr[4;12He[4;13Ha[4;14Hm[4;15H [4;16H2[4;17H-[4;18H>[4;19Ht[4;20He[4;21Hx[4;22Ht[4;23H [4;24H1[4;25H[38;5;231m[49mv[4;26Hi[4;27He[4;28Hw[4;29H-[4;30H>[4;31Hs[4;32H[39m[49m(0x(B[0m[5;2H[39m[49m(0x(B[5;3H [5;4H [5;5H [5;6H [5;7H [5;8H [5;9H [5;10H [5;11H [5;12H [5;13H [5;14H [5;15H [5;16H [5;17H [5;18H [5;19H [5;20H [5;21H [5;22H [5;23H [5;24H [5;25H [5;26H [5;27H [5;28H [5;29H [5;30H [5;31H [5;32H(0x(B[0m[6;2H[39m[49m(0m(B[6;3H(0q(B[6;4H(0q(B[6;5H(0q(B[6;6H(0q(B[6;7H(0q(B[6;8H(0q(B[6;9H(0q(B[6;10H(0q(B[6;11H(0q(B[6;12H(0q(B[6;13H(0q(B[6;14H(0q(B[6;15H(0q(B[6;16H(0q(B[6;17H(0q(B[6;18H(0q(B[6;19H(0q(B[6;20H(0q(B[6;21H(0q(B[6;22H(0q(B[6;23H(0q(B[6;24H(0q(B[6;25H(0q(B[6;26H(0q(B[6;27H(0q(B[6;28H(0q(B[6;29H(0q(B[6;30H(0q(B[6;31H(0q(B[6;32H(0j(B[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m[0m
|