thinreports 0.10.2 → 0.10.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +22 -6
- data/CHANGELOG.md +6 -0
- data/Gemfile +1 -1
- data/README.md +5 -6
- data/Rakefile +11 -25
- data/lib/thinreports/generator/pdf/document/draw_shape.rb +1 -1
- data/lib/thinreports/generator/pdf/document/draw_template_items.rb +1 -1
- data/lib/thinreports/layout/legacy_schema.rb +1 -0
- data/lib/thinreports/version.rb +1 -1
- data/test/features/dynamic_style/expect.pdf +3714 -0
- data/{examples → test/features}/dynamic_style/image.png +0 -0
- data/{examples/dynamic_style/dynamic_style.tlf → test/features/dynamic_style/templates/styles.tlf} +0 -0
- data/{examples/dynamic_style/dynamic_style_in_list.tlf → test/features/dynamic_style/templates/styles_in_list.tlf} +0 -0
- data/test/features/dynamic_style/test_dynamic_style.rb +152 -0
- data/{examples → test/features}/eudc/eudc.ttf +0 -0
- data/test/features/eudc/expect.pdf +0 -0
- data/{examples/eudc/eudc.tlf → test/features/eudc/template.tlf} +0 -0
- data/test/features/eudc/test_eudc.rb +27 -0
- data/test/features/feature_test.rb +58 -0
- data/test/features/graphics/expect.pdf +475 -0
- data/test/features/graphics/template.tlf +309 -0
- data/test/features/graphics/test_graphics.rb +12 -0
- data/test/features/hidden_item/expect.pdf +0 -0
- data/{examples/hidden_shapes/hidden_shapes.tlf → test/features/hidden_item/template.tlf} +0 -0
- data/test/features/hidden_item/test_hidden_item.rb +12 -0
- data/test/features/image_block/expect.pdf +0 -0
- data/{examples/dynamic_image → test/features/image_block}/img200x100.png +0 -0
- data/{examples/dynamic_image → test/features/image_block}/img50x50.png +0 -0
- data/{examples/dynamic_image/dynamic_image.tlf → test/features/image_block/template.tlf} +0 -0
- data/test/features/image_block/test_image_block.rb +35 -0
- data/test/features/list_events/expect.pdf +659 -0
- data/{examples/list_events/list_events.tlf → test/features/list_events/template.tlf} +0 -0
- data/{examples/list_events/list_events.rb → test/features/list_events/test_list_events.rb} +7 -3
- data/test/features/list_manually/expect.pdf +599 -0
- data/{examples/list_manual_generation/list_manual_generation.tlf → test/features/list_manually/template.tlf} +0 -0
- data/test/features/list_manually/test_list_manually.rb +25 -0
- data/test/features/page_number/expect.pdf +400 -0
- data/{examples/page_number/page_number.tlf → test/features/page_number/template.tlf} +0 -0
- data/test/features/page_number/test_page_number.rb +24 -0
- data/test/features/page_number_with_list/expect.pdf +721 -0
- data/{examples/list_page_number/list_page_number.tlf → test/features/page_number_with_list/template.tlf} +0 -0
- data/test/features/page_number_with_list/test_page_number_with_list.rb +21 -0
- data/test/features/palleted_png/expect.pdf +0 -0
- data/{examples → test/features}/palleted_png/palleted_png.png +0 -0
- data/{examples/palleted_png/palleted_png.tlf → test/features/palleted_png/template.tlf} +0 -0
- data/test/features/palleted_png/test_palleted_png.rb +14 -0
- data/test/features/report_callbacks/expect.pdf +169 -0
- data/{examples/report_callbacks/report_callbacks.tlf → test/features/report_callbacks/template.tlf} +0 -0
- data/test/features/report_callbacks/test_report_callbacks.rb +18 -0
- data/test/features/text_align/expect.pdf +0 -0
- data/{examples/text_align/text_align.tlf → test/features/text_align/template.tlf} +0 -0
- data/test/features/text_align/test_text_align.rb +12 -0
- data/test/features/text_block_overflow/expect.pdf +0 -0
- data/{examples/tblock_overflow/tblock_overflow.tlf → test/features/text_block_overflow/template.tlf} +0 -0
- data/test/features/text_block_overflow/test_text_block_overflow.rb +25 -0
- data/test/features/text_block_singleline/expect.pdf +0 -0
- data/{examples/single_line_tblock/single_line_tblock.tlf → test/features/text_block_singleline/template.tlf} +0 -0
- data/test/features/text_block_singleline/test_text_block_singleline.rb +15 -0
- data/test/features/text_block_style/expect.pdf +1390 -1
- data/{examples/tblock_styles/tblock_styles.tlf → test/features/text_block_style/templates/basic_styles.tlf} +0 -0
- data/{examples/tblock_styles → test/features/text_block_style/templates}/font_size.tlf +0 -0
- data/{examples/tblock_styles/tblock_styles.rb → test/features/text_block_style/test_text_block_style.rb} +9 -5
- data/test/features/text_character_spacing/expect.pdf +0 -0
- data/{examples/character_spacing/character_spacing.tlf → test/features/text_character_spacing/template.tlf} +0 -0
- data/test/features/text_character_spacing/test_text_character_spacing.rb +12 -0
- data/test/features/text_word_wrap/expect.pdf +0 -0
- data/{examples/word_wrap/word_wrap.tlf → test/features/text_word_wrap/template.tlf} +0 -0
- data/test/features/text_word_wrap/test_text_word_wrap.rb +30 -0
- data/test/test_helper.rb +1 -10
- data/test/{unit → units}/core/format/test_base.rb +0 -0
- data/test/{unit → units}/core/shape/base/test_internal.rb +0 -0
- data/test/{unit → units}/core/shape/basic/test_block_format.rb +0 -0
- data/test/{unit → units}/core/shape/basic/test_block_interface.rb +0 -0
- data/test/{unit → units}/core/shape/basic/test_block_internal.rb +0 -0
- data/test/{unit → units}/core/shape/basic/test_format.rb +0 -0
- data/test/{unit → units}/core/shape/basic/test_interface.rb +0 -0
- data/test/{unit → units}/core/shape/basic/test_internal.rb +0 -0
- data/test/{unit → units}/core/shape/image_block/test_interface.rb +0 -0
- data/test/{unit → units}/core/shape/image_block/test_internal.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_format.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_manager.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_page.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_page_state.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_section_format.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_section_interface.rb +0 -0
- data/test/{unit → units}/core/shape/list/test_section_internal.rb +0 -0
- data/test/{unit → units}/core/shape/manager/test_format.rb +0 -0
- data/test/{unit → units}/core/shape/manager/test_internal.rb +0 -0
- data/test/{unit → units}/core/shape/manager/test_target.rb +0 -0
- data/test/{unit → units}/core/shape/page_number/test_format.rb +0 -0
- data/test/{unit → units}/core/shape/page_number/test_interface.rb +0 -0
- data/test/{unit → units}/core/shape/page_number/test_internal.rb +0 -0
- data/test/{unit → units}/core/shape/styles/test_base.rb +0 -0
- data/test/{unit → units}/core/shape/styles/test_basic.rb +0 -0
- data/test/{unit → units}/core/shape/styles/test_graphic.rb +0 -0
- data/test/{unit → units}/core/shape/styles/test_text.rb +0 -0
- data/test/{unit → units}/core/shape/text/test_format.rb +0 -0
- data/test/{unit → units}/core/shape/text/test_internal.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/formatter/test_basic.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/formatter/test_datetime.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/formatter/test_number.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/formatter/test_padding.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/test_format.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/test_formatter.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/test_interface.rb +0 -0
- data/test/{unit → units}/core/shape/text_block/test_internal.rb +0 -0
- data/test/{unit → units}/core/test_shape.rb +0 -0
- data/test/{unit → units}/core/test_utils.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/graphics/test_attributes.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/graphics/test_basic.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/graphics/test_image.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/graphics/test_text.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/test_font.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/test_graphics.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/test_page.rb +0 -0
- data/test/{unit → units}/generator/pdf/document/test_parse_color.rb +0 -0
- data/test/{unit → units}/generator/pdf/prawn_ext/test_calc_image_dimensions.rb +0 -0
- data/test/{unit → units}/generator/pdf/prawn_ext/test_width_of.rb +0 -0
- data/test/{unit → units}/generator/pdf/test_document.rb +0 -0
- data/test/{unit → units}/generator/test_pdf.rb +0 -0
- data/test/{unit → units}/layout/test_base.rb +0 -0
- data/test/{unit → units}/layout/test_format.rb +0 -0
- data/test/{unit → units}/layout/test_legacy_schema.rb +3 -1
- data/test/{unit → units}/layout/test_version.rb +0 -0
- data/test/{unit → units}/report/test_base.rb +0 -0
- data/test/{unit → units}/report/test_internal.rb +0 -0
- data/test/{unit → units}/test_config.rb +0 -0
- data/test/{unit → units}/test_layout.rb +0 -0
- data/test/{unit → units}/test_report.rb +0 -0
- data/thinreports.gemspec +0 -1
- metadata +122 -123
- data/examples/character_spacing/character_spacing.rb +0 -8
- data/examples/dynamic_image/dynamic_image.rb +0 -31
- data/examples/dynamic_style/dynamic_style.rb +0 -150
- data/examples/eudc/eudc.rb +0 -20
- data/examples/helper.rb +0 -50
- data/examples/hidden_shapes/hidden_shapes.rb +0 -9
- data/examples/list_manual_generation/list_manual_generation.rb +0 -22
- data/examples/list_page_number/list_page_number.rb +0 -17
- data/examples/page_number/page_number.rb +0 -33
- data/examples/palleted_png/palleted_png.rb +0 -9
- data/examples/password_setting/password_setting.rb +0 -10
- data/examples/password_setting/password_setting.tlf +0 -45
- data/examples/report_callbacks/report_callbacks.rb +0 -14
- data/examples/single_line_tblock/single_line_tblock.rb +0 -13
- data/examples/tblock_overflow/tblock_overflow.rb +0 -20
- data/examples/text_align/text_align.rb +0 -8
- data/examples/typeB_page_size/B4_ISO.tlf +0 -45
- data/examples/typeB_page_size/B4_JIS.tlf +0 -45
- data/examples/typeB_page_size/typeB_page_size.rb +0 -17
- data/examples/word_wrap/word_wrap.rb +0 -26
- data/test/tmp/.gitkeep +0 -0
File without changes
|
data/{examples/dynamic_style/dynamic_style.tlf → test/features/dynamic_style/templates/styles.tlf}
RENAMED
File without changes
|
File without changes
|
@@ -0,0 +1,152 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'feature_test'
|
4
|
+
|
5
|
+
class TestDynamicStyle < FeatureTest
|
6
|
+
feature :dynamic_style do
|
7
|
+
image = path_of('image.png')
|
8
|
+
setup_values = Proc.new do |page|
|
9
|
+
# The Basic Style
|
10
|
+
page.values(basic_show5: 'TextBlock',
|
11
|
+
basic_show6: image,
|
12
|
+
basic_hide5: 'TextBlock',
|
13
|
+
basic_hide6: image)
|
14
|
+
# The Text Style
|
15
|
+
page.values(text_b3: 'To bold',
|
16
|
+
text_b4: 'To normal',
|
17
|
+
text_i3: 'To italic',
|
18
|
+
text_i4: 'To normal',
|
19
|
+
text_u3: 'To underline',
|
20
|
+
text_u4: 'To none',
|
21
|
+
text_l3: 'To line-through',
|
22
|
+
text_l4: 'To none')
|
23
|
+
page.values(text_a2: 'To right align',
|
24
|
+
text_a3: "To right align\n右寄せ",
|
25
|
+
text_va2: "To bottom align\n下揃え",
|
26
|
+
text_color2: '赤色')
|
27
|
+
end
|
28
|
+
|
29
|
+
report = Thinreports::Report.new layout: template_path('templates/styles.tlf')
|
30
|
+
|
31
|
+
# Create raw-page.
|
32
|
+
report.start_new_page
|
33
|
+
report.page.item(:title).value('Original Page')
|
34
|
+
|
35
|
+
setup_values.call(report.page)
|
36
|
+
|
37
|
+
# Create styled-page.
|
38
|
+
report.start_new_page
|
39
|
+
|
40
|
+
setup_values.call(report.page)
|
41
|
+
report.page.item(:title).value('Styled Page')
|
42
|
+
|
43
|
+
# The Basic Style
|
44
|
+
6.times do |i|
|
45
|
+
report.page.item("basic_show#{i + 1}").style(:visible, true)
|
46
|
+
report.page.item("basic_hide#{i + 1}").style(:visible, false)
|
47
|
+
end
|
48
|
+
|
49
|
+
# The Graphic Style
|
50
|
+
report.page.item(:graphic_bcolor1).style(:border_color, '#ff0000')
|
51
|
+
report.page[:graphic_bcolor2].style(:border_color, 'red')
|
52
|
+
# nil or 'none'.
|
53
|
+
report.page.item(:graphic_bcolor4).style(:border_color, nil)
|
54
|
+
|
55
|
+
report.page.item(:graphic_bwidth1).style(:border_width, 5)
|
56
|
+
report.page.item(:graphic_bwidth2).style(:border_width, 5)
|
57
|
+
report.page.item(:graphic_bwidth3).style(:border_width, 5)
|
58
|
+
report.page.item(:graphic_bwidth4).style(:border_width, 2)
|
59
|
+
report.page.item(:graphic_bwidth5).style(:border_width, 0)
|
60
|
+
|
61
|
+
report.page.item(:graphic_fcolor1).style(:fill_color, '#ff0000')
|
62
|
+
# nil or 'none'
|
63
|
+
report.page.item(:graphic_fcolor3).style(:fill_color, 'none')
|
64
|
+
report.page.item(:graphic_fcolor4).style(:fill_color, 'ff0000')
|
65
|
+
|
66
|
+
# The Text Style
|
67
|
+
[1, 3].each do |i|
|
68
|
+
report.page["text_b#{i}"].style(:bold, true)
|
69
|
+
report.page.item("text_i#{i}").style(:italic, true)
|
70
|
+
report.page.item("text_u#{i}").style(:underline, true)
|
71
|
+
report.page.item("text_l#{i}").style(:linethrough, true)
|
72
|
+
end
|
73
|
+
[2, 4].each do |i|
|
74
|
+
report.page.item("text_b#{i}").style(:bold, false)
|
75
|
+
report.page.item("text_i#{i}").style(:italic, false)
|
76
|
+
report.page.item("text_u#{i}").style(:underline, false)
|
77
|
+
report.page.item("text_l#{i}").style(:linethrough, false)
|
78
|
+
end
|
79
|
+
|
80
|
+
3.times do |i|
|
81
|
+
report.page.item("text_a#{i + 1}").style(:align, :right)
|
82
|
+
end
|
83
|
+
2.times do |i|
|
84
|
+
report.page.item("text_va#{i + 1}").style(:valign, :bottom)
|
85
|
+
end
|
86
|
+
|
87
|
+
2.times do |i|
|
88
|
+
report.page["text_color#{i + 1}"].style(:color, 'ff0000')
|
89
|
+
end
|
90
|
+
|
91
|
+
report.start_new_page(layout: template_path('templates/styles_in_list.tlf'))
|
92
|
+
|
93
|
+
# Settings for Header.
|
94
|
+
report.page.list(:list).header do |header|
|
95
|
+
header.item(:rect).styles(border_color: nil,
|
96
|
+
fill_color: 'ff00ff')
|
97
|
+
header.item(:text).styles(align: :center,
|
98
|
+
valign: :middle,
|
99
|
+
bold: true)
|
100
|
+
header[:tblock].styles(align: :center,
|
101
|
+
valign: :middle,
|
102
|
+
color: 'red',
|
103
|
+
linethrough: true)
|
104
|
+
end
|
105
|
+
|
106
|
+
1.step(10, 1) do |i|
|
107
|
+
# Flag of overflowed list-page.
|
108
|
+
is_overflowed = report.page.list(:list).overflow?
|
109
|
+
|
110
|
+
# Add details.
|
111
|
+
report.page.list(:list).add_row do |row|
|
112
|
+
case
|
113
|
+
when i % 2 == 0
|
114
|
+
row.item(:rect).styles(border_color: 'ff0000',
|
115
|
+
border_width: 3,
|
116
|
+
fill_color: '0000ff')
|
117
|
+
row.item(:text).styles(color: 'red',
|
118
|
+
align: :left,
|
119
|
+
valign: :middle)
|
120
|
+
row.item(:tblock).styles(color: 'blue',
|
121
|
+
align: :left,
|
122
|
+
valign: :middle)
|
123
|
+
when i % 3 == 0
|
124
|
+
row.item(:rect).style(:visible, false)
|
125
|
+
row.item(:text).styles(color: '0000ff',
|
126
|
+
align: :right,
|
127
|
+
valign: :bottom)
|
128
|
+
row.item(:tblock).styles(color: 'ff0000',
|
129
|
+
align: :right,
|
130
|
+
valign: :bottom)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# Change header styles when list-page was overflowed.
|
135
|
+
if is_overflowed
|
136
|
+
report.page.list(:list).header do |header|
|
137
|
+
header.item(:rect).styles(border_color: 'black',
|
138
|
+
fill_color: '#ffffff')
|
139
|
+
header.item(:text).styles(align: :left,
|
140
|
+
valign: :top,
|
141
|
+
bold: false)
|
142
|
+
header.item(:tblock).styles(align: :left,
|
143
|
+
valign: :top,
|
144
|
+
color: '#000000',
|
145
|
+
linethrough: false)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
assert_pdf report.generate
|
151
|
+
end
|
152
|
+
end
|
File without changes
|
Binary file
|
File without changes
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'feature_test'
|
4
|
+
|
5
|
+
class TestEudc < FeatureTest
|
6
|
+
feature :eudc do
|
7
|
+
Thinreports.configure do |config|
|
8
|
+
config.fallback_fonts = path_of('eudc.ttf')
|
9
|
+
end
|
10
|
+
|
11
|
+
report = Thinreports::Report.new layout: template_path
|
12
|
+
report.start_new_page do |page|
|
13
|
+
page.item(:eudc).value('日本で生まれ世界が育てた言語 Ruby')
|
14
|
+
page.values(
|
15
|
+
eudc_bold: '太字',
|
16
|
+
eudc_italic: '斜体',
|
17
|
+
eudc_bold_italic: '太字斜体'
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
assert_pdf report.generate
|
22
|
+
end
|
23
|
+
|
24
|
+
def teardown
|
25
|
+
Thinreports.config.fallback_fonts = []
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'minitest/unit'
|
5
|
+
require 'pathname'
|
6
|
+
require 'thinreports'
|
7
|
+
|
8
|
+
class FeatureTest < Minitest::Test
|
9
|
+
class << self
|
10
|
+
attr_reader :name, :desc
|
11
|
+
|
12
|
+
def feature(name, desc = nil, &block)
|
13
|
+
@name = name
|
14
|
+
@desc = desc
|
15
|
+
define_method(:test_feature, &block)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def dir
|
20
|
+
@dir ||= Pathname.new(__dir__).join(feature_name.to_s)
|
21
|
+
end
|
22
|
+
|
23
|
+
def path_of(filename)
|
24
|
+
dir.join(filename).to_path
|
25
|
+
end
|
26
|
+
|
27
|
+
def assert_pdf(actual)
|
28
|
+
actual_pdf.binwrite(actual)
|
29
|
+
|
30
|
+
if expect_pdf.exist?
|
31
|
+
assert match_expect_pdf?, 'Does not match expect.pdf. Check diff.pdf for details.'
|
32
|
+
else
|
33
|
+
flunk 'expect.pdf does not exist.'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def template_path(filename = 'template.tlf')
|
38
|
+
dir.join(filename).to_path
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def feature_name
|
44
|
+
self.class.name
|
45
|
+
end
|
46
|
+
|
47
|
+
def match_expect_pdf?
|
48
|
+
system("diff-pdf --output-diff=#{path_of('diff.pdf')} #{expect_pdf} #{actual_pdf}")
|
49
|
+
end
|
50
|
+
|
51
|
+
def actual_pdf
|
52
|
+
dir.join('actual.pdf')
|
53
|
+
end
|
54
|
+
|
55
|
+
def expect_pdf
|
56
|
+
dir.join('expect.pdf')
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,475 @@
|
|
1
|
+
%PDF-1.3
|
2
|
+
%����
|
3
|
+
1 0 obj
|
4
|
+
<< /CreationDate (D:20181106102142+09'00')
|
5
|
+
/Creator <feff005400680069006e007200650070006f007200740073002000470065006e0065007200610074006f007200200066006f00720020005200750062007900200030002e00310030002e0032>
|
6
|
+
/Title <feff>
|
7
|
+
/Producer <feff0050007200610077006e>
|
8
|
+
>>
|
9
|
+
endobj
|
10
|
+
2 0 obj
|
11
|
+
<< /Type /Catalog
|
12
|
+
/Pages 3 0 R
|
13
|
+
>>
|
14
|
+
endobj
|
15
|
+
3 0 obj
|
16
|
+
<< /Type /Pages
|
17
|
+
/Count 1
|
18
|
+
/Kids [7 0 R]
|
19
|
+
>>
|
20
|
+
endobj
|
21
|
+
4 0 obj
|
22
|
+
<< /Length 8
|
23
|
+
>>
|
24
|
+
stream
|
25
|
+
q
|
26
|
+
0.9 w
|
27
|
+
|
28
|
+
endstream
|
29
|
+
endobj
|
30
|
+
5 0 obj
|
31
|
+
<< /Type /Page
|
32
|
+
/Parent 3 0 R
|
33
|
+
/MediaBox [0 0 612.0 792.0]
|
34
|
+
/CropBox [0 0 612.0 792.0]
|
35
|
+
/BleedBox [0 0 612.0 792.0]
|
36
|
+
/TrimBox [0 0 612.0 792.0]
|
37
|
+
/ArtBox [0 0 612.0 792.0]
|
38
|
+
/Contents 4 0 R
|
39
|
+
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
40
|
+
>>
|
41
|
+
>>
|
42
|
+
endobj
|
43
|
+
6 0 obj
|
44
|
+
<< /Length 98
|
45
|
+
>>
|
46
|
+
stream
|
47
|
+
q
|
48
|
+
0.9 w
|
49
|
+
/Stamp1 Do
|
50
|
+
/Stamp2 Do
|
51
|
+
/Stamp3 Do
|
52
|
+
/Stamp4 Do
|
53
|
+
/Stamp5 Do
|
54
|
+
/Stamp6 Do
|
55
|
+
/Stamp7 Do
|
56
|
+
/Stamp8 Do
|
57
|
+
Q
|
58
|
+
|
59
|
+
endstream
|
60
|
+
endobj
|
61
|
+
7 0 obj
|
62
|
+
<< /Type /Page
|
63
|
+
/Parent 3 0 R
|
64
|
+
/MediaBox [0 0 595.28 841.89]
|
65
|
+
/CropBox [0 0 595.28 841.89]
|
66
|
+
/BleedBox [0 0 595.28 841.89]
|
67
|
+
/TrimBox [0 0 595.28 841.89]
|
68
|
+
/ArtBox [0 0 595.28 841.89]
|
69
|
+
/Contents 6 0 R
|
70
|
+
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
71
|
+
/XObject << /Stamp1 8 0 R
|
72
|
+
/Stamp2 10 0 R
|
73
|
+
/Stamp3 11 0 R
|
74
|
+
/Stamp4 12 0 R
|
75
|
+
/Stamp5 13 0 R
|
76
|
+
/Stamp6 14 0 R
|
77
|
+
/Stamp7 15 0 R
|
78
|
+
/Stamp8 16 0 R
|
79
|
+
>>
|
80
|
+
>>
|
81
|
+
>>
|
82
|
+
endobj
|
83
|
+
8 0 obj
|
84
|
+
<< /Type /XObject
|
85
|
+
/Subtype /Form
|
86
|
+
/BBox [0 0 595.28 841.89]
|
87
|
+
/Resources << /Font << /F1.0 9 0 R
|
88
|
+
>>
|
89
|
+
>>
|
90
|
+
/Length 1659
|
91
|
+
>>
|
92
|
+
stream
|
93
|
+
q
|
94
|
+
/DeviceRGB cs
|
95
|
+
0.0 0.0 0.0 scn
|
96
|
+
/DeviceRGB CS
|
97
|
+
0.0 0.0 0.0 SCN
|
98
|
+
0.9 w
|
99
|
+
0 J
|
100
|
+
0 j
|
101
|
+
[] 0 d
|
102
|
+
q
|
103
|
+
0.9 w
|
104
|
+
/DeviceRGB cs
|
105
|
+
1.0 1.0 1.0 scn
|
106
|
+
/DeviceRGB CS
|
107
|
+
0.0 0.0 0.0 SCN
|
108
|
+
20.0 720.89 120.1 62.0 re
|
109
|
+
b
|
110
|
+
Q
|
111
|
+
q
|
112
|
+
0.9 w
|
113
|
+
/DeviceRGB cs
|
114
|
+
1.0 1.0 1.0 scn
|
115
|
+
/DeviceRGB CS
|
116
|
+
0.0 0.0 0.0 SCN
|
117
|
+
165.0 782.89 m
|
118
|
+
265.1 782.89 l
|
119
|
+
270.6228 782.89 275.1 778.4128 275.1 772.89 c
|
120
|
+
275.1 730.89 l
|
121
|
+
275.1 725.3672 270.6228 720.89 265.1 720.89 c
|
122
|
+
165.0 720.89 l
|
123
|
+
159.4772 720.89 155.0 725.3672 155.0 730.89 c
|
124
|
+
155.0 772.89 l
|
125
|
+
155.0 778.4128 159.4772 782.89 165.0 782.89 c
|
126
|
+
h
|
127
|
+
b
|
128
|
+
Q
|
129
|
+
q
|
130
|
+
/DeviceRGB cs
|
131
|
+
0.0 0.0 0.0 scn
|
132
|
+
|
133
|
+
BT
|
134
|
+
20.0 808.966 Td
|
135
|
+
/F1.0 18 Tf
|
136
|
+
[<52656374a02873746174696329>] TJ
|
137
|
+
ET
|
138
|
+
|
139
|
+
Q
|
140
|
+
q
|
141
|
+
[2.0 2.0] 0.0 d
|
142
|
+
0.9 w
|
143
|
+
/DeviceRGB cs
|
144
|
+
1.0 1.0 1.0 scn
|
145
|
+
/DeviceRGB CS
|
146
|
+
0.0 0.0 0.0 SCN
|
147
|
+
300.0 782.89 m
|
148
|
+
400.1 782.89 l
|
149
|
+
405.6228 782.89 410.1 778.4128 410.1 772.89 c
|
150
|
+
410.1 730.89 l
|
151
|
+
410.1 725.3672 405.6228 720.89 400.1 720.89 c
|
152
|
+
300.0 720.89 l
|
153
|
+
294.4772 720.89 290.0 725.3672 290.0 730.89 c
|
154
|
+
290.0 772.89 l
|
155
|
+
290.0 778.4128 294.4772 782.89 300.0 782.89 c
|
156
|
+
h
|
157
|
+
b
|
158
|
+
Q
|
159
|
+
q
|
160
|
+
[1.0 2.0] 0.0 d
|
161
|
+
0.9 w
|
162
|
+
/DeviceRGB cs
|
163
|
+
1.0 1.0 1.0 scn
|
164
|
+
/DeviceRGB CS
|
165
|
+
0.0 0.0 0.0 SCN
|
166
|
+
435.0 782.89 m
|
167
|
+
535.1 782.89 l
|
168
|
+
540.6228 782.89 545.1 778.4128 545.1 772.89 c
|
169
|
+
545.1 730.89 l
|
170
|
+
545.1 725.3672 540.6228 720.89 535.1 720.89 c
|
171
|
+
435.0 720.89 l
|
172
|
+
429.4772 720.89 425.0 725.3672 425.0 730.89 c
|
173
|
+
425.0 772.89 l
|
174
|
+
425.0 778.4128 429.4772 782.89 435.0 782.89 c
|
175
|
+
h
|
176
|
+
b
|
177
|
+
Q
|
178
|
+
q
|
179
|
+
0.9 w
|
180
|
+
/DeviceRGB cs
|
181
|
+
1.0 1.0 1.0 scn
|
182
|
+
/DeviceRGB CS
|
183
|
+
1.0 0.0 0.0 SCN
|
184
|
+
20.0 639.89 120.1 62.0 re
|
185
|
+
b
|
186
|
+
Q
|
187
|
+
q
|
188
|
+
/DeviceRGB cs
|
189
|
+
1.0 0.0 0.0 scn
|
190
|
+
155.0 639.89 120.1 62.0 re
|
191
|
+
f
|
192
|
+
Q
|
193
|
+
q
|
194
|
+
0.9 w
|
195
|
+
/DeviceRGB CS
|
196
|
+
0.0 0.4392 0.7529 SCN
|
197
|
+
250.0 658.89 97.1 43.0 re
|
198
|
+
S
|
199
|
+
Q
|
200
|
+
q
|
201
|
+
/DeviceRGB cs
|
202
|
+
0.0 0.0 0.0 scn
|
203
|
+
|
204
|
+
BT
|
205
|
+
20.0 603.966 Td
|
206
|
+
/F1.0 18 Tf
|
207
|
+
[<52656374a02864796e616d696329>] TJ
|
208
|
+
ET
|
209
|
+
|
210
|
+
Q
|
211
|
+
Q
|
212
|
+
|
213
|
+
endstream
|
214
|
+
endobj
|
215
|
+
9 0 obj
|
216
|
+
<< /Type /Font
|
217
|
+
/Subtype /Type1
|
218
|
+
/BaseFont /Helvetica
|
219
|
+
/Encoding /WinAnsiEncoding
|
220
|
+
>>
|
221
|
+
endobj
|
222
|
+
10 0 obj
|
223
|
+
<< /Type /XObject
|
224
|
+
/Subtype /Form
|
225
|
+
/BBox [0 0 595.28 841.89]
|
226
|
+
/Length 183
|
227
|
+
>>
|
228
|
+
stream
|
229
|
+
q
|
230
|
+
/DeviceRGB cs
|
231
|
+
0.0 0.0 0.0 scn
|
232
|
+
/DeviceRGB CS
|
233
|
+
0.0 0.0 0.0 SCN
|
234
|
+
0.9 w
|
235
|
+
0 J
|
236
|
+
0 j
|
237
|
+
[] 0 d
|
238
|
+
q
|
239
|
+
0.9 w
|
240
|
+
/DeviceRGB cs
|
241
|
+
1.0 1.0 1.0 scn
|
242
|
+
/DeviceRGB CS
|
243
|
+
0.0 0.0 0.0 SCN
|
244
|
+
20.0 514.89 120.1 62.0 re
|
245
|
+
b
|
246
|
+
Q
|
247
|
+
Q
|
248
|
+
|
249
|
+
endstream
|
250
|
+
endobj
|
251
|
+
11 0 obj
|
252
|
+
<< /Type /XObject
|
253
|
+
/Subtype /Form
|
254
|
+
/BBox [0 0 595.28 841.89]
|
255
|
+
/Length 418
|
256
|
+
>>
|
257
|
+
stream
|
258
|
+
q
|
259
|
+
/DeviceRGB cs
|
260
|
+
0.0 0.0 0.0 scn
|
261
|
+
/DeviceRGB CS
|
262
|
+
0.0 0.0 0.0 SCN
|
263
|
+
0.9 w
|
264
|
+
0 J
|
265
|
+
0 j
|
266
|
+
[] 0 d
|
267
|
+
q
|
268
|
+
0.9 w
|
269
|
+
/DeviceRGB cs
|
270
|
+
1.0 1.0 1.0 scn
|
271
|
+
/DeviceRGB CS
|
272
|
+
0.0 0.0 0.0 SCN
|
273
|
+
165.0 576.89 m
|
274
|
+
265.1 576.89 l
|
275
|
+
270.6228 576.89 275.1 572.4128 275.1 566.89 c
|
276
|
+
275.1 524.89 l
|
277
|
+
275.1 519.3672 270.6228 514.89 265.1 514.89 c
|
278
|
+
165.0 514.89 l
|
279
|
+
159.4772 514.89 155.0 519.3672 155.0 524.89 c
|
280
|
+
155.0 566.89 l
|
281
|
+
155.0 572.4128 159.4772 576.89 165.0 576.89 c
|
282
|
+
h
|
283
|
+
b
|
284
|
+
Q
|
285
|
+
Q
|
286
|
+
|
287
|
+
endstream
|
288
|
+
endobj
|
289
|
+
12 0 obj
|
290
|
+
<< /Type /XObject
|
291
|
+
/Subtype /Form
|
292
|
+
/BBox [0 0 595.28 841.89]
|
293
|
+
/Length 434
|
294
|
+
>>
|
295
|
+
stream
|
296
|
+
q
|
297
|
+
/DeviceRGB cs
|
298
|
+
0.0 0.0 0.0 scn
|
299
|
+
/DeviceRGB CS
|
300
|
+
0.0 0.0 0.0 SCN
|
301
|
+
0.9 w
|
302
|
+
0 J
|
303
|
+
0 j
|
304
|
+
[] 0 d
|
305
|
+
q
|
306
|
+
[2.0 2.0] 0.0 d
|
307
|
+
0.9 w
|
308
|
+
/DeviceRGB cs
|
309
|
+
1.0 1.0 1.0 scn
|
310
|
+
/DeviceRGB CS
|
311
|
+
0.0 0.0 0.0 SCN
|
312
|
+
300.0 576.89 m
|
313
|
+
400.1 576.89 l
|
314
|
+
405.6228 576.89 410.1 572.4128 410.1 566.89 c
|
315
|
+
410.1 524.89 l
|
316
|
+
410.1 519.3672 405.6228 514.89 400.1 514.89 c
|
317
|
+
300.0 514.89 l
|
318
|
+
294.4772 514.89 290.0 519.3672 290.0 524.89 c
|
319
|
+
290.0 566.89 l
|
320
|
+
290.0 572.4128 294.4772 576.89 300.0 576.89 c
|
321
|
+
h
|
322
|
+
b
|
323
|
+
Q
|
324
|
+
Q
|
325
|
+
|
326
|
+
endstream
|
327
|
+
endobj
|
328
|
+
13 0 obj
|
329
|
+
<< /Type /XObject
|
330
|
+
/Subtype /Form
|
331
|
+
/BBox [0 0 595.28 841.89]
|
332
|
+
/Length 434
|
333
|
+
>>
|
334
|
+
stream
|
335
|
+
q
|
336
|
+
/DeviceRGB cs
|
337
|
+
0.0 0.0 0.0 scn
|
338
|
+
/DeviceRGB CS
|
339
|
+
0.0 0.0 0.0 SCN
|
340
|
+
0.9 w
|
341
|
+
0 J
|
342
|
+
0 j
|
343
|
+
[] 0 d
|
344
|
+
q
|
345
|
+
[1.0 2.0] 0.0 d
|
346
|
+
0.9 w
|
347
|
+
/DeviceRGB cs
|
348
|
+
1.0 1.0 1.0 scn
|
349
|
+
/DeviceRGB CS
|
350
|
+
0.0 0.0 0.0 SCN
|
351
|
+
435.0 576.89 m
|
352
|
+
535.1 576.89 l
|
353
|
+
540.6228 576.89 545.1 572.4128 545.1 566.89 c
|
354
|
+
545.1 524.89 l
|
355
|
+
545.1 519.3672 540.6228 514.89 535.1 514.89 c
|
356
|
+
435.0 514.89 l
|
357
|
+
429.4772 514.89 425.0 519.3672 425.0 524.89 c
|
358
|
+
425.0 566.89 l
|
359
|
+
425.0 572.4128 429.4772 576.89 435.0 576.89 c
|
360
|
+
h
|
361
|
+
b
|
362
|
+
Q
|
363
|
+
Q
|
364
|
+
|
365
|
+
endstream
|
366
|
+
endobj
|
367
|
+
14 0 obj
|
368
|
+
<< /Type /XObject
|
369
|
+
/Subtype /Form
|
370
|
+
/BBox [0 0 595.28 841.89]
|
371
|
+
/Length 183
|
372
|
+
>>
|
373
|
+
stream
|
374
|
+
q
|
375
|
+
/DeviceRGB cs
|
376
|
+
0.0 0.0 0.0 scn
|
377
|
+
/DeviceRGB CS
|
378
|
+
0.0 0.0 0.0 SCN
|
379
|
+
0.9 w
|
380
|
+
0 J
|
381
|
+
0 j
|
382
|
+
[] 0 d
|
383
|
+
q
|
384
|
+
0.9 w
|
385
|
+
/DeviceRGB cs
|
386
|
+
1.0 1.0 1.0 scn
|
387
|
+
/DeviceRGB CS
|
388
|
+
1.0 0.0 0.0 SCN
|
389
|
+
20.0 433.89 120.1 62.0 re
|
390
|
+
b
|
391
|
+
Q
|
392
|
+
Q
|
393
|
+
|
394
|
+
endstream
|
395
|
+
endobj
|
396
|
+
15 0 obj
|
397
|
+
<< /Type /XObject
|
398
|
+
/Subtype /Form
|
399
|
+
/BBox [0 0 595.28 841.89]
|
400
|
+
/Length 148
|
401
|
+
>>
|
402
|
+
stream
|
403
|
+
q
|
404
|
+
/DeviceRGB cs
|
405
|
+
0.0 0.0 0.0 scn
|
406
|
+
/DeviceRGB CS
|
407
|
+
0.0 0.0 0.0 SCN
|
408
|
+
0.9 w
|
409
|
+
0 J
|
410
|
+
0 j
|
411
|
+
[] 0 d
|
412
|
+
q
|
413
|
+
/DeviceRGB cs
|
414
|
+
1.0 0.0 0.0 scn
|
415
|
+
155.0 433.89 120.1 62.0 re
|
416
|
+
f
|
417
|
+
Q
|
418
|
+
Q
|
419
|
+
|
420
|
+
endstream
|
421
|
+
endobj
|
422
|
+
16 0 obj
|
423
|
+
<< /Type /XObject
|
424
|
+
/Subtype /Form
|
425
|
+
/BBox [0 0 595.28 841.89]
|
426
|
+
/Length 159
|
427
|
+
>>
|
428
|
+
stream
|
429
|
+
q
|
430
|
+
/DeviceRGB cs
|
431
|
+
0.0 0.0 0.0 scn
|
432
|
+
/DeviceRGB CS
|
433
|
+
0.0 0.0 0.0 SCN
|
434
|
+
0.9 w
|
435
|
+
0 J
|
436
|
+
0 j
|
437
|
+
[] 0 d
|
438
|
+
q
|
439
|
+
0.9 w
|
440
|
+
/DeviceRGB CS
|
441
|
+
0.0 0.4392 0.7529 SCN
|
442
|
+
250.0 452.89 97.1 43.0 re
|
443
|
+
S
|
444
|
+
Q
|
445
|
+
Q
|
446
|
+
|
447
|
+
endstream
|
448
|
+
endobj
|
449
|
+
xref
|
450
|
+
0 17
|
451
|
+
0000000000 65535 f
|
452
|
+
0000000015 00000 n
|
453
|
+
0000000291 00000 n
|
454
|
+
0000000340 00000 n
|
455
|
+
0000000397 00000 n
|
456
|
+
0000000454 00000 n
|
457
|
+
0000000716 00000 n
|
458
|
+
0000000864 00000 n
|
459
|
+
0000001270 00000 n
|
460
|
+
0000003078 00000 n
|
461
|
+
0000003175 00000 n
|
462
|
+
0000003466 00000 n
|
463
|
+
0000003992 00000 n
|
464
|
+
0000004534 00000 n
|
465
|
+
0000005076 00000 n
|
466
|
+
0000005367 00000 n
|
467
|
+
0000005623 00000 n
|
468
|
+
trailer
|
469
|
+
<< /Size 17
|
470
|
+
/Root 2 0 R
|
471
|
+
/Info 1 0 R
|
472
|
+
>>
|
473
|
+
startxref
|
474
|
+
5890
|
475
|
+
%%EOF
|