mail-portertech 2.6.2.edge

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.rdoc +753 -0
  3. data/CONTRIBUTING.md +60 -0
  4. data/Dependencies.txt +2 -0
  5. data/Gemfile +15 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +683 -0
  8. data/Rakefile +29 -0
  9. data/TODO.rdoc +9 -0
  10. data/lib/mail.rb +91 -0
  11. data/lib/mail/attachments_list.rb +104 -0
  12. data/lib/mail/body.rb +291 -0
  13. data/lib/mail/check_delivery_params.rb +20 -0
  14. data/lib/mail/configuration.rb +75 -0
  15. data/lib/mail/core_extensions/nil.rb +19 -0
  16. data/lib/mail/core_extensions/object.rb +13 -0
  17. data/lib/mail/core_extensions/smtp.rb +24 -0
  18. data/lib/mail/core_extensions/string.rb +43 -0
  19. data/lib/mail/core_extensions/string/access.rb +145 -0
  20. data/lib/mail/core_extensions/string/multibyte.rb +78 -0
  21. data/lib/mail/elements.rb +14 -0
  22. data/lib/mail/elements/address.rb +270 -0
  23. data/lib/mail/elements/address_list.rb +51 -0
  24. data/lib/mail/elements/content_disposition_element.rb +26 -0
  25. data/lib/mail/elements/content_location_element.rb +21 -0
  26. data/lib/mail/elements/content_transfer_encoding_element.rb +17 -0
  27. data/lib/mail/elements/content_type_element.rb +31 -0
  28. data/lib/mail/elements/date_time_element.rb +22 -0
  29. data/lib/mail/elements/envelope_from_element.rb +39 -0
  30. data/lib/mail/elements/message_ids_element.rb +24 -0
  31. data/lib/mail/elements/mime_version_element.rb +22 -0
  32. data/lib/mail/elements/phrase_list.rb +16 -0
  33. data/lib/mail/elements/received_element.rb +26 -0
  34. data/lib/mail/encodings.rb +304 -0
  35. data/lib/mail/encodings/7bit.rb +31 -0
  36. data/lib/mail/encodings/8bit.rb +31 -0
  37. data/lib/mail/encodings/base64.rb +33 -0
  38. data/lib/mail/encodings/binary.rb +31 -0
  39. data/lib/mail/encodings/quoted_printable.rb +39 -0
  40. data/lib/mail/encodings/transfer_encoding.rb +58 -0
  41. data/lib/mail/envelope.rb +30 -0
  42. data/lib/mail/field.rb +247 -0
  43. data/lib/mail/field_list.rb +33 -0
  44. data/lib/mail/fields.rb +35 -0
  45. data/lib/mail/fields/bcc_field.rb +56 -0
  46. data/lib/mail/fields/cc_field.rb +55 -0
  47. data/lib/mail/fields/comments_field.rb +41 -0
  48. data/lib/mail/fields/common/address_container.rb +16 -0
  49. data/lib/mail/fields/common/common_address.rb +135 -0
  50. data/lib/mail/fields/common/common_date.rb +35 -0
  51. data/lib/mail/fields/common/common_field.rb +57 -0
  52. data/lib/mail/fields/common/common_message_id.rb +48 -0
  53. data/lib/mail/fields/common/parameter_hash.rb +58 -0
  54. data/lib/mail/fields/content_description_field.rb +19 -0
  55. data/lib/mail/fields/content_disposition_field.rb +70 -0
  56. data/lib/mail/fields/content_id_field.rb +62 -0
  57. data/lib/mail/fields/content_location_field.rb +42 -0
  58. data/lib/mail/fields/content_transfer_encoding_field.rb +44 -0
  59. data/lib/mail/fields/content_type_field.rb +201 -0
  60. data/lib/mail/fields/date_field.rb +57 -0
  61. data/lib/mail/fields/from_field.rb +55 -0
  62. data/lib/mail/fields/in_reply_to_field.rb +56 -0
  63. data/lib/mail/fields/keywords_field.rb +44 -0
  64. data/lib/mail/fields/message_id_field.rb +82 -0
  65. data/lib/mail/fields/mime_version_field.rb +53 -0
  66. data/lib/mail/fields/optional_field.rb +13 -0
  67. data/lib/mail/fields/received_field.rb +75 -0
  68. data/lib/mail/fields/references_field.rb +56 -0
  69. data/lib/mail/fields/reply_to_field.rb +55 -0
  70. data/lib/mail/fields/resent_bcc_field.rb +55 -0
  71. data/lib/mail/fields/resent_cc_field.rb +55 -0
  72. data/lib/mail/fields/resent_date_field.rb +35 -0
  73. data/lib/mail/fields/resent_from_field.rb +55 -0
  74. data/lib/mail/fields/resent_message_id_field.rb +34 -0
  75. data/lib/mail/fields/resent_sender_field.rb +62 -0
  76. data/lib/mail/fields/resent_to_field.rb +55 -0
  77. data/lib/mail/fields/return_path_field.rb +65 -0
  78. data/lib/mail/fields/sender_field.rb +67 -0
  79. data/lib/mail/fields/structured_field.rb +51 -0
  80. data/lib/mail/fields/subject_field.rb +16 -0
  81. data/lib/mail/fields/to_field.rb +55 -0
  82. data/lib/mail/fields/unstructured_field.rb +204 -0
  83. data/lib/mail/header.rb +274 -0
  84. data/lib/mail/indifferent_hash.rb +146 -0
  85. data/lib/mail/mail.rb +267 -0
  86. data/lib/mail/matchers/has_sent_mail.rb +157 -0
  87. data/lib/mail/message.rb +2160 -0
  88. data/lib/mail/multibyte.rb +42 -0
  89. data/lib/mail/multibyte/chars.rb +474 -0
  90. data/lib/mail/multibyte/exceptions.rb +8 -0
  91. data/lib/mail/multibyte/unicode.rb +400 -0
  92. data/lib/mail/multibyte/utils.rb +60 -0
  93. data/lib/mail/network.rb +14 -0
  94. data/lib/mail/network/delivery_methods/exim.rb +52 -0
  95. data/lib/mail/network/delivery_methods/file_delivery.rb +45 -0
  96. data/lib/mail/network/delivery_methods/sendmail.rb +89 -0
  97. data/lib/mail/network/delivery_methods/smtp.rb +142 -0
  98. data/lib/mail/network/delivery_methods/smtp_connection.rb +61 -0
  99. data/lib/mail/network/delivery_methods/test_mailer.rb +44 -0
  100. data/lib/mail/network/retriever_methods/base.rb +63 -0
  101. data/lib/mail/network/retriever_methods/imap.rb +173 -0
  102. data/lib/mail/network/retriever_methods/pop3.rb +140 -0
  103. data/lib/mail/network/retriever_methods/test_retriever.rb +43 -0
  104. data/lib/mail/parsers.rb +26 -0
  105. data/lib/mail/parsers/address_lists_parser.rb +132 -0
  106. data/lib/mail/parsers/content_disposition_parser.rb +67 -0
  107. data/lib/mail/parsers/content_location_parser.rb +35 -0
  108. data/lib/mail/parsers/content_transfer_encoding_parser.rb +33 -0
  109. data/lib/mail/parsers/content_type_parser.rb +64 -0
  110. data/lib/mail/parsers/date_time_parser.rb +36 -0
  111. data/lib/mail/parsers/envelope_from_parser.rb +45 -0
  112. data/lib/mail/parsers/message_ids_parser.rb +39 -0
  113. data/lib/mail/parsers/mime_version_parser.rb +41 -0
  114. data/lib/mail/parsers/phrase_lists_parser.rb +33 -0
  115. data/lib/mail/parsers/ragel.rb +17 -0
  116. data/lib/mail/parsers/ragel/common.rl +184 -0
  117. data/lib/mail/parsers/ragel/date_time.rl +30 -0
  118. data/lib/mail/parsers/ragel/parser_info.rb +61 -0
  119. data/lib/mail/parsers/ragel/ruby.rb +39 -0
  120. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb +14864 -0
  121. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl +37 -0
  122. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb +751 -0
  123. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl +37 -0
  124. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb +614 -0
  125. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl +37 -0
  126. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb +447 -0
  127. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl +37 -0
  128. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb +825 -0
  129. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl +37 -0
  130. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb +817 -0
  131. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl +37 -0
  132. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb +2129 -0
  133. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl +37 -0
  134. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb +1570 -0
  135. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl +37 -0
  136. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb +440 -0
  137. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl +37 -0
  138. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb +564 -0
  139. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl +37 -0
  140. data/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl +51 -0
  141. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb +5144 -0
  142. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl +37 -0
  143. data/lib/mail/parsers/ragel/ruby/parser.rb.rl.erb +37 -0
  144. data/lib/mail/parsers/received_parser.rb +47 -0
  145. data/lib/mail/part.rb +120 -0
  146. data/lib/mail/parts_list.rb +57 -0
  147. data/lib/mail/patterns.rb +37 -0
  148. data/lib/mail/utilities.rb +225 -0
  149. data/lib/mail/values/unicode_tables.dat +0 -0
  150. data/lib/mail/version.rb +4 -0
  151. data/lib/mail/version_specific/ruby_1_8.rb +119 -0
  152. data/lib/mail/version_specific/ruby_1_9.rb +159 -0
  153. metadata +276 -0
@@ -0,0 +1,37 @@
1
+ %%{
2
+ machine address_lists;
3
+
4
+ include rb_actions "rb_actions.rl";
5
+ include common "../../common.rl";
6
+
7
+ getkey data_unpacked[p];
8
+
9
+ main := address_lists;
10
+ }%%
11
+
12
+ module Mail
13
+ module Parsers
14
+ module Ragel
15
+ module AddressListsMachine
16
+ %%write data;
17
+
18
+ def self.parse(data)
19
+ p = 0
20
+ eof = data.length
21
+ stack = []
22
+
23
+ actions = []
24
+ data_unpacked = data.bytes.to_a
25
+ %%write init;
26
+ %%write exec;
27
+
28
+ if p == eof && cs >= %%{ write first_final; }%%
29
+ return actions, nil
30
+ else
31
+ return [], "Only able to parse up to #{data[0..p]}"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,751 @@
1
+
2
+ # line 1 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl"
3
+
4
+ # line 10 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl"
5
+
6
+
7
+ module Mail
8
+ module Parsers
9
+ module Ragel
10
+ module ContentDispositionMachine
11
+
12
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb"
13
+ class << self
14
+ attr_accessor :_content_disposition_trans_keys
15
+ private :_content_disposition_trans_keys, :_content_disposition_trans_keys=
16
+ end
17
+ self._content_disposition_trans_keys = [
18
+ 0, 0, 9, 59, 10, 10,
19
+ 9, 32, 9, 59, 9,
20
+ 126, 10, 10, 9, 32,
21
+ 33, 126, 9, 126, 9, 40,
22
+ 10, 10, 9, 32, 1,
23
+ 127, 1, 127, 10, 10,
24
+ 9, 32, 10, 10, 9, 32,
25
+ 0, 127, 9, 40, 10,
26
+ 10, 9, 32, 9, 126,
27
+ 1, 127, 1, 127, 10, 10,
28
+ 9, 32, 0, 127, 9,
29
+ 126, 9, 59, 9, 59,
30
+ 9, 126, 9, 59, 9, 59,
31
+ 9, 126, 0, 0, 0
32
+ ]
33
+
34
+ class << self
35
+ attr_accessor :_content_disposition_key_spans
36
+ private :_content_disposition_key_spans, :_content_disposition_key_spans=
37
+ end
38
+ self._content_disposition_key_spans = [
39
+ 0, 51, 1, 24, 51, 118, 1, 24,
40
+ 94, 118, 32, 1, 24, 127, 127, 1,
41
+ 24, 1, 24, 128, 32, 1, 24, 118,
42
+ 127, 127, 1, 24, 128, 118, 51, 51,
43
+ 118, 51, 51, 118, 0
44
+ ]
45
+
46
+ class << self
47
+ attr_accessor :_content_disposition_index_offsets
48
+ private :_content_disposition_index_offsets, :_content_disposition_index_offsets=
49
+ end
50
+ self._content_disposition_index_offsets = [
51
+ 0, 0, 52, 54, 79, 131, 250, 252,
52
+ 277, 372, 491, 524, 526, 551, 679, 807,
53
+ 809, 834, 836, 861, 990, 1023, 1025, 1050,
54
+ 1169, 1297, 1425, 1427, 1452, 1581, 1700, 1752,
55
+ 1804, 1923, 1975, 2027, 2146
56
+ ]
57
+
58
+ class << self
59
+ attr_accessor :_content_disposition_indicies
60
+ private :_content_disposition_indicies, :_content_disposition_indicies=
61
+ end
62
+ self._content_disposition_indicies = [
63
+ 0, 1, 1, 1, 2, 1, 1, 1,
64
+ 1, 1, 1, 1, 1, 1, 1, 1,
65
+ 1, 1, 1, 1, 1, 1, 1, 0,
66
+ 1, 1, 1, 1, 1, 1, 1, 3,
67
+ 1, 1, 1, 1, 1, 1, 1, 1,
68
+ 1, 1, 1, 1, 1, 1, 1, 1,
69
+ 1, 1, 4, 1, 5, 1, 0, 1,
70
+ 1, 1, 1, 1, 1, 1, 1, 1,
71
+ 1, 1, 1, 1, 1, 1, 1, 1,
72
+ 1, 1, 1, 1, 1, 0, 1, 6,
73
+ 1, 1, 1, 7, 1, 1, 1, 1,
74
+ 1, 1, 1, 1, 1, 1, 1, 1,
75
+ 1, 1, 1, 1, 1, 1, 6, 1,
76
+ 1, 1, 1, 1, 1, 1, 8, 1,
77
+ 1, 1, 1, 1, 1, 1, 1, 1,
78
+ 1, 1, 1, 1, 1, 1, 1, 1,
79
+ 1, 9, 1, 4, 1, 1, 1, 10,
80
+ 1, 1, 1, 1, 1, 1, 1, 1,
81
+ 1, 1, 1, 1, 1, 1, 1, 1,
82
+ 1, 1, 4, 11, 11, 11, 11, 11,
83
+ 11, 11, 12, 1, 11, 11, 11, 11,
84
+ 11, 1, 11, 11, 11, 11, 11, 11,
85
+ 11, 11, 11, 11, 1, 1, 1, 1,
86
+ 1, 1, 1, 11, 11, 11, 11, 11,
87
+ 11, 11, 11, 11, 11, 11, 11, 11,
88
+ 11, 11, 11, 11, 11, 11, 11, 11,
89
+ 11, 11, 11, 11, 11, 1, 1, 1,
90
+ 11, 11, 11, 11, 11, 11, 11, 11,
91
+ 11, 11, 11, 11, 11, 11, 11, 11,
92
+ 11, 11, 11, 11, 11, 11, 11, 11,
93
+ 11, 11, 11, 11, 11, 11, 11, 11,
94
+ 11, 1, 13, 1, 4, 1, 1, 1,
95
+ 1, 1, 1, 1, 1, 1, 1, 1,
96
+ 1, 1, 1, 1, 1, 1, 1, 1,
97
+ 1, 1, 1, 4, 1, 14, 14, 14,
98
+ 14, 14, 14, 14, 1, 1, 14, 14,
99
+ 14, 14, 14, 1, 14, 14, 14, 14,
100
+ 14, 14, 14, 14, 14, 14, 1, 1,
101
+ 1, 15, 1, 1, 1, 14, 14, 14,
102
+ 14, 14, 14, 14, 14, 14, 14, 14,
103
+ 14, 14, 14, 14, 14, 14, 14, 14,
104
+ 14, 14, 14, 14, 14, 14, 14, 1,
105
+ 1, 1, 14, 14, 14, 14, 14, 14,
106
+ 14, 14, 14, 14, 14, 14, 14, 14,
107
+ 14, 14, 14, 14, 14, 14, 14, 14,
108
+ 14, 14, 14, 14, 14, 14, 14, 14,
109
+ 14, 14, 14, 1, 16, 1, 1, 1,
110
+ 17, 1, 1, 1, 1, 1, 1, 1,
111
+ 1, 1, 1, 1, 1, 1, 1, 1,
112
+ 1, 1, 1, 16, 18, 19, 18, 18,
113
+ 18, 18, 18, 20, 1, 18, 18, 18,
114
+ 18, 18, 1, 18, 18, 18, 18, 18,
115
+ 18, 18, 18, 18, 18, 1, 1, 1,
116
+ 18, 1, 1, 1, 18, 18, 18, 18,
117
+ 18, 18, 18, 18, 18, 18, 18, 18,
118
+ 18, 18, 18, 18, 18, 18, 18, 18,
119
+ 18, 18, 18, 18, 18, 18, 1, 1,
120
+ 1, 18, 18, 18, 18, 18, 18, 18,
121
+ 18, 18, 18, 18, 18, 18, 18, 18,
122
+ 18, 18, 18, 18, 18, 18, 18, 18,
123
+ 18, 18, 18, 18, 18, 18, 18, 18,
124
+ 18, 18, 1, 21, 1, 1, 1, 22,
125
+ 1, 1, 1, 1, 1, 1, 1, 1,
126
+ 1, 1, 1, 1, 1, 1, 1, 1,
127
+ 1, 1, 21, 1, 23, 1, 1, 1,
128
+ 1, 1, 24, 1, 25, 1, 21, 1,
129
+ 1, 1, 1, 1, 1, 1, 1, 1,
130
+ 1, 1, 1, 1, 1, 1, 1, 1,
131
+ 1, 1, 1, 1, 1, 21, 1, 26,
132
+ 26, 26, 26, 26, 26, 26, 26, 26,
133
+ 1, 26, 26, 27, 26, 26, 26, 26,
134
+ 26, 26, 26, 26, 26, 26, 26, 26,
135
+ 26, 26, 26, 26, 26, 26, 26, 26,
136
+ 28, 26, 26, 26, 26, 26, 26, 26,
137
+ 26, 26, 26, 26, 26, 26, 26, 26,
138
+ 26, 26, 26, 26, 26, 26, 26, 26,
139
+ 26, 26, 26, 26, 26, 26, 26, 26,
140
+ 26, 26, 26, 26, 26, 26, 26, 26,
141
+ 26, 26, 26, 26, 26, 26, 26, 26,
142
+ 26, 26, 26, 26, 26, 26, 26, 26,
143
+ 26, 26, 29, 26, 26, 26, 26, 26,
144
+ 26, 26, 26, 26, 26, 26, 26, 26,
145
+ 26, 26, 26, 26, 26, 26, 26, 26,
146
+ 26, 26, 26, 26, 26, 26, 26, 26,
147
+ 26, 26, 26, 26, 26, 26, 1, 30,
148
+ 30, 30, 30, 30, 30, 30, 30, 30,
149
+ 1, 30, 30, 31, 30, 30, 30, 30,
150
+ 30, 30, 30, 30, 30, 30, 30, 30,
151
+ 30, 30, 30, 30, 30, 30, 30, 30,
152
+ 32, 30, 30, 30, 30, 30, 30, 30,
153
+ 30, 30, 30, 30, 30, 30, 30, 30,
154
+ 30, 30, 30, 30, 30, 30, 30, 30,
155
+ 30, 30, 30, 30, 30, 30, 30, 30,
156
+ 30, 30, 30, 30, 30, 30, 30, 30,
157
+ 30, 30, 30, 30, 30, 30, 30, 30,
158
+ 30, 30, 30, 30, 30, 30, 30, 30,
159
+ 30, 30, 33, 30, 30, 30, 30, 30,
160
+ 30, 30, 30, 30, 30, 30, 30, 30,
161
+ 30, 30, 30, 30, 30, 30, 30, 30,
162
+ 30, 30, 30, 30, 30, 30, 30, 30,
163
+ 30, 30, 30, 30, 30, 30, 1, 34,
164
+ 1, 30, 1, 1, 1, 1, 1, 1,
165
+ 1, 1, 1, 1, 1, 1, 1, 1,
166
+ 1, 1, 1, 1, 1, 1, 1, 1,
167
+ 30, 1, 35, 1, 36, 1, 1, 1,
168
+ 1, 1, 1, 1, 1, 1, 1, 1,
169
+ 1, 1, 1, 1, 1, 1, 1, 1,
170
+ 1, 1, 1, 36, 1, 30, 30, 30,
171
+ 30, 30, 30, 30, 30, 30, 30, 30,
172
+ 30, 30, 30, 30, 30, 30, 30, 30,
173
+ 30, 30, 30, 30, 30, 30, 30, 30,
174
+ 30, 30, 30, 30, 30, 30, 30, 30,
175
+ 30, 30, 30, 30, 30, 30, 30, 30,
176
+ 30, 30, 30, 30, 30, 30, 30, 30,
177
+ 30, 30, 30, 30, 30, 30, 30, 30,
178
+ 30, 30, 30, 30, 30, 30, 30, 30,
179
+ 30, 30, 30, 30, 30, 30, 30, 30,
180
+ 30, 30, 30, 30, 30, 30, 30, 30,
181
+ 30, 30, 30, 30, 30, 30, 30, 30,
182
+ 30, 30, 30, 30, 30, 30, 30, 30,
183
+ 30, 30, 30, 30, 30, 30, 30, 30,
184
+ 30, 30, 30, 30, 30, 30, 30, 30,
185
+ 30, 30, 30, 30, 30, 30, 30, 30,
186
+ 30, 30, 30, 30, 30, 1, 37, 1,
187
+ 1, 1, 38, 1, 1, 1, 1, 1,
188
+ 1, 1, 1, 1, 1, 1, 1, 1,
189
+ 1, 1, 1, 1, 1, 37, 1, 39,
190
+ 1, 1, 1, 1, 1, 40, 1, 41,
191
+ 1, 42, 1, 1, 1, 1, 1, 1,
192
+ 1, 1, 1, 1, 1, 1, 1, 1,
193
+ 1, 1, 1, 1, 1, 1, 1, 1,
194
+ 42, 1, 9, 1, 1, 1, 43, 1,
195
+ 1, 1, 1, 1, 1, 1, 1, 1,
196
+ 1, 1, 1, 1, 1, 1, 1, 1,
197
+ 1, 9, 44, 44, 44, 44, 44, 44,
198
+ 44, 45, 1, 44, 44, 44, 44, 44,
199
+ 1, 44, 44, 44, 44, 44, 44, 44,
200
+ 44, 44, 44, 1, 1, 1, 1, 1,
201
+ 1, 1, 44, 44, 44, 44, 44, 44,
202
+ 44, 44, 44, 44, 44, 44, 44, 44,
203
+ 44, 44, 44, 44, 44, 44, 44, 44,
204
+ 44, 44, 44, 44, 1, 1, 1, 44,
205
+ 44, 44, 44, 44, 44, 44, 44, 44,
206
+ 44, 44, 44, 44, 44, 44, 44, 44,
207
+ 44, 44, 44, 44, 44, 44, 44, 44,
208
+ 44, 44, 44, 44, 44, 44, 44, 44,
209
+ 1, 46, 46, 46, 46, 46, 46, 46,
210
+ 46, 46, 1, 46, 46, 47, 46, 46,
211
+ 46, 46, 46, 46, 46, 46, 46, 46,
212
+ 46, 46, 46, 46, 46, 46, 46, 46,
213
+ 46, 46, 46, 46, 46, 46, 46, 46,
214
+ 48, 49, 46, 46, 46, 46, 46, 46,
215
+ 46, 46, 46, 46, 46, 46, 46, 46,
216
+ 46, 46, 46, 46, 46, 46, 46, 46,
217
+ 46, 46, 46, 46, 46, 46, 46, 46,
218
+ 46, 46, 46, 46, 46, 46, 46, 46,
219
+ 46, 46, 46, 46, 46, 46, 46, 46,
220
+ 46, 46, 46, 46, 50, 46, 46, 46,
221
+ 46, 46, 46, 46, 46, 46, 46, 46,
222
+ 46, 46, 46, 46, 46, 46, 46, 46,
223
+ 46, 46, 46, 46, 46, 46, 46, 46,
224
+ 46, 46, 46, 46, 46, 46, 46, 46,
225
+ 1, 51, 51, 51, 51, 51, 51, 51,
226
+ 51, 51, 1, 51, 51, 52, 51, 51,
227
+ 51, 51, 51, 51, 51, 51, 51, 51,
228
+ 51, 51, 51, 51, 51, 51, 51, 51,
229
+ 51, 51, 51, 51, 51, 51, 51, 51,
230
+ 53, 54, 51, 51, 51, 51, 51, 51,
231
+ 51, 51, 51, 51, 51, 51, 51, 51,
232
+ 51, 51, 51, 51, 51, 51, 51, 51,
233
+ 51, 51, 51, 51, 51, 51, 51, 51,
234
+ 51, 51, 51, 51, 51, 51, 51, 51,
235
+ 51, 51, 51, 51, 51, 51, 51, 51,
236
+ 51, 51, 51, 51, 55, 51, 51, 51,
237
+ 51, 51, 51, 51, 51, 51, 51, 51,
238
+ 51, 51, 51, 51, 51, 51, 51, 51,
239
+ 51, 51, 51, 51, 51, 51, 51, 51,
240
+ 51, 51, 51, 51, 51, 51, 51, 51,
241
+ 1, 56, 1, 51, 1, 1, 1, 1,
242
+ 1, 1, 1, 1, 1, 1, 1, 1,
243
+ 1, 1, 1, 1, 1, 1, 1, 1,
244
+ 1, 1, 51, 1, 51, 51, 51, 51,
245
+ 51, 51, 51, 51, 51, 51, 51, 51,
246
+ 51, 51, 51, 51, 51, 51, 51, 51,
247
+ 51, 51, 51, 51, 51, 51, 51, 51,
248
+ 51, 51, 51, 51, 51, 51, 51, 51,
249
+ 51, 51, 51, 51, 51, 51, 51, 51,
250
+ 51, 51, 51, 51, 51, 51, 51, 51,
251
+ 51, 51, 51, 51, 51, 51, 51, 51,
252
+ 51, 51, 51, 51, 51, 51, 51, 51,
253
+ 51, 51, 51, 51, 51, 51, 51, 51,
254
+ 51, 51, 51, 51, 51, 51, 51, 51,
255
+ 51, 51, 51, 51, 51, 51, 51, 51,
256
+ 51, 51, 51, 51, 51, 51, 51, 51,
257
+ 51, 51, 51, 51, 51, 51, 51, 51,
258
+ 51, 51, 51, 51, 51, 51, 51, 51,
259
+ 51, 51, 51, 51, 51, 51, 51, 51,
260
+ 51, 51, 51, 51, 1, 57, 1, 1,
261
+ 1, 58, 1, 1, 1, 1, 1, 1,
262
+ 1, 1, 1, 1, 1, 1, 1, 1,
263
+ 1, 1, 1, 1, 57, 59, 59, 59,
264
+ 59, 59, 59, 59, 60, 1, 59, 59,
265
+ 59, 59, 59, 1, 59, 59, 59, 59,
266
+ 59, 59, 59, 59, 59, 59, 1, 61,
267
+ 1, 1, 1, 1, 1, 59, 59, 59,
268
+ 59, 59, 59, 59, 59, 59, 59, 59,
269
+ 59, 59, 59, 59, 59, 59, 59, 59,
270
+ 59, 59, 59, 59, 59, 59, 59, 1,
271
+ 1, 1, 59, 59, 59, 59, 59, 59,
272
+ 59, 59, 59, 59, 59, 59, 59, 59,
273
+ 59, 59, 59, 59, 59, 59, 59, 59,
274
+ 59, 59, 59, 59, 59, 59, 59, 59,
275
+ 59, 59, 59, 1, 62, 1, 1, 1,
276
+ 63, 1, 1, 1, 1, 1, 1, 1,
277
+ 1, 1, 1, 1, 1, 1, 1, 1,
278
+ 1, 1, 1, 62, 1, 1, 1, 1,
279
+ 1, 1, 1, 64, 1, 1, 1, 1,
280
+ 1, 1, 1, 1, 1, 1, 1, 1,
281
+ 1, 1, 1, 1, 1, 1, 65, 1,
282
+ 66, 1, 1, 1, 67, 1, 1, 1,
283
+ 1, 1, 1, 1, 1, 1, 1, 1,
284
+ 1, 1, 1, 1, 1, 1, 1, 66,
285
+ 1, 1, 1, 1, 1, 1, 1, 68,
286
+ 1, 1, 1, 1, 1, 1, 1, 1,
287
+ 1, 1, 1, 1, 1, 1, 1, 1,
288
+ 1, 1, 69, 1, 70, 1, 1, 1,
289
+ 71, 1, 1, 1, 1, 1, 1, 1,
290
+ 1, 1, 1, 1, 1, 1, 1, 1,
291
+ 1, 1, 1, 70, 72, 1, 72, 72,
292
+ 72, 72, 72, 73, 1, 72, 72, 72,
293
+ 72, 72, 1, 72, 72, 72, 72, 72,
294
+ 72, 72, 72, 72, 72, 1, 65, 1,
295
+ 72, 1, 1, 1, 72, 72, 72, 72,
296
+ 72, 72, 72, 72, 72, 72, 72, 72,
297
+ 72, 72, 72, 72, 72, 72, 72, 72,
298
+ 72, 72, 72, 72, 72, 72, 1, 1,
299
+ 1, 72, 72, 72, 72, 72, 72, 72,
300
+ 72, 72, 72, 72, 72, 72, 72, 72,
301
+ 72, 72, 72, 72, 72, 72, 72, 72,
302
+ 72, 72, 72, 72, 72, 72, 72, 72,
303
+ 72, 72, 1, 42, 1, 1, 1, 74,
304
+ 1, 1, 1, 1, 1, 1, 1, 1,
305
+ 1, 1, 1, 1, 1, 1, 1, 1,
306
+ 1, 1, 42, 1, 1, 1, 1, 1,
307
+ 1, 1, 75, 1, 1, 1, 1, 1,
308
+ 1, 1, 1, 1, 1, 1, 1, 1,
309
+ 1, 1, 1, 1, 1, 4, 1, 76,
310
+ 1, 1, 1, 77, 1, 1, 1, 1,
311
+ 1, 1, 1, 1, 1, 1, 1, 1,
312
+ 1, 1, 1, 1, 1, 1, 76, 1,
313
+ 1, 1, 1, 1, 1, 1, 78, 1,
314
+ 1, 1, 1, 1, 1, 1, 1, 1,
315
+ 1, 1, 1, 1, 1, 1, 1, 1,
316
+ 1, 9, 1, 79, 1, 1, 1, 80,
317
+ 1, 1, 1, 1, 1, 1, 1, 1,
318
+ 1, 1, 1, 1, 1, 1, 1, 1,
319
+ 1, 1, 79, 81, 81, 81, 81, 81,
320
+ 81, 81, 82, 1, 81, 81, 81, 81,
321
+ 81, 1, 81, 81, 81, 81, 81, 81,
322
+ 81, 81, 81, 81, 1, 83, 1, 1,
323
+ 1, 1, 1, 81, 81, 81, 81, 81,
324
+ 81, 81, 81, 81, 81, 81, 81, 81,
325
+ 81, 81, 81, 81, 81, 81, 81, 81,
326
+ 81, 81, 81, 81, 81, 1, 1, 1,
327
+ 81, 81, 81, 81, 81, 81, 81, 81,
328
+ 81, 81, 81, 81, 81, 81, 81, 81,
329
+ 81, 81, 81, 81, 81, 81, 81, 81,
330
+ 81, 81, 81, 81, 81, 81, 81, 81,
331
+ 81, 1, 1, 0
332
+ ]
333
+
334
+ class << self
335
+ attr_accessor :_content_disposition_trans_targs
336
+ private :_content_disposition_trans_targs, :_content_disposition_trans_targs=
337
+ end
338
+ self._content_disposition_trans_targs = [
339
+ 1, 0, 2, 4, 5, 3, 1, 2,
340
+ 4, 5, 6, 8, 23, 7, 8, 9,
341
+ 10, 11, 32, 13, 20, 10, 11, 13,
342
+ 20, 12, 14, 15, 30, 19, 14, 15,
343
+ 30, 19, 16, 18, 30, 10, 11, 13,
344
+ 20, 22, 33, 6, 8, 23, 25, 26,
345
+ 25, 36, 28, 25, 26, 25, 36, 28,
346
+ 27, 1, 2, 35, 4, 5, 30, 17,
347
+ 31, 5, 30, 17, 31, 5, 33, 21,
348
+ 32, 34, 21, 34, 33, 21, 34, 1,
349
+ 2, 35, 4, 5
350
+ ]
351
+
352
+ class << self
353
+ attr_accessor :_content_disposition_trans_actions
354
+ private :_content_disposition_trans_actions, :_content_disposition_trans_actions=
355
+ end
356
+ self._content_disposition_trans_actions = [
357
+ 0, 0, 0, 1, 0, 0, 2, 2,
358
+ 3, 2, 0, 4, 1, 0, 0, 5,
359
+ 6, 6, 6, 6, 7, 0, 0, 0,
360
+ 1, 0, 8, 8, 9, 8, 0, 0,
361
+ 10, 0, 0, 0, 0, 2, 2, 2,
362
+ 3, 0, 0, 2, 11, 3, 12, 12,
363
+ 13, 14, 12, 0, 0, 1, 15, 0,
364
+ 0, 16, 16, 17, 18, 16, 19, 19,
365
+ 20, 19, 21, 21, 22, 21, 19, 19,
366
+ 0, 23, 0, 1, 2, 2, 3, 24,
367
+ 24, 0, 25, 24
368
+ ]
369
+
370
+ class << self
371
+ attr_accessor :_content_disposition_eof_actions
372
+ private :_content_disposition_eof_actions, :_content_disposition_eof_actions=
373
+ end
374
+ self._content_disposition_eof_actions = [
375
+ 0, 0, 0, 0, 0, 0, 0, 0,
376
+ 0, 0, 0, 0, 0, 0, 0, 0,
377
+ 0, 0, 0, 0, 0, 0, 0, 0,
378
+ 0, 0, 0, 0, 0, 16, 19, 21,
379
+ 19, 0, 2, 24, 0
380
+ ]
381
+
382
+ class << self
383
+ attr_accessor :content_disposition_start
384
+ end
385
+ self.content_disposition_start = 29;
386
+ class << self
387
+ attr_accessor :content_disposition_first_final
388
+ end
389
+ self.content_disposition_first_final = 29;
390
+ class << self
391
+ attr_accessor :content_disposition_error
392
+ end
393
+ self.content_disposition_error = 0;
394
+
395
+ class << self
396
+ attr_accessor :content_disposition_en_comment_tail
397
+ end
398
+ self.content_disposition_en_comment_tail = 24;
399
+ class << self
400
+ attr_accessor :content_disposition_en_main
401
+ end
402
+ self.content_disposition_en_main = 29;
403
+
404
+
405
+ # line 17 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl"
406
+
407
+ def self.parse(data)
408
+ p = 0
409
+ eof = data.length
410
+ stack = []
411
+
412
+ actions = []
413
+ data_unpacked = data.bytes.to_a
414
+
415
+ # line 416 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb"
416
+ begin
417
+ p ||= 0
418
+ pe ||= data.length
419
+ cs = content_disposition_start
420
+ top = 0
421
+ end
422
+
423
+ # line 26 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl"
424
+
425
+ # line 426 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb"
426
+ begin
427
+ testEof = false
428
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
429
+ _goto_level = 0
430
+ _resume = 10
431
+ _eof_trans = 15
432
+ _again = 20
433
+ _test_eof = 30
434
+ _out = 40
435
+ while true
436
+ if _goto_level <= 0
437
+ if p == pe
438
+ _goto_level = _test_eof
439
+ next
440
+ end
441
+ if cs == 0
442
+ _goto_level = _out
443
+ next
444
+ end
445
+ end
446
+ if _goto_level <= _resume
447
+ _keys = cs << 1
448
+ _inds = _content_disposition_index_offsets[cs]
449
+ _slen = _content_disposition_key_spans[cs]
450
+ _trans = if ( _slen > 0 &&
451
+ _content_disposition_trans_keys[_keys] <= ( data_unpacked[p]) &&
452
+ ( data_unpacked[p]) <= _content_disposition_trans_keys[_keys + 1]
453
+ ) then
454
+ _content_disposition_indicies[ _inds + ( data_unpacked[p]) - _content_disposition_trans_keys[_keys] ]
455
+ else
456
+ _content_disposition_indicies[ _inds + _slen ]
457
+ end
458
+ cs = _content_disposition_trans_targs[_trans]
459
+ if _content_disposition_trans_actions[_trans] != 0
460
+ case _content_disposition_trans_actions[_trans]
461
+ when 2 then
462
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
463
+ begin
464
+ actions.push(4, p) end
465
+ when 12 then
466
+ # line 8 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
467
+ begin
468
+ actions.push(5, p) end
469
+ when 24 then
470
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
471
+ begin
472
+ actions.push(10, p) end
473
+ when 17 then
474
+ # line 14 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
475
+ begin
476
+ actions.push(11, p) end
477
+ when 5 then
478
+ # line 35 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
479
+ begin
480
+ actions.push(32, p) end
481
+ when 4 then
482
+ # line 36 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
483
+ begin
484
+ actions.push(33, p) end
485
+ when 19 then
486
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
487
+ begin
488
+ actions.push(34, p) end
489
+ when 6 then
490
+ # line 38 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
491
+ begin
492
+ actions.push(35, p) end
493
+ when 10 then
494
+ # line 41 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
495
+ begin
496
+ actions.push(38, p) end
497
+ when 8 then
498
+ # line 42 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
499
+ begin
500
+ actions.push(39, p) end
501
+ when 1 then
502
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
503
+ begin
504
+ begin
505
+ stack[top] = cs
506
+ top+= 1
507
+ cs = 24
508
+ _goto_level = _again
509
+ next
510
+ end
511
+ end
512
+ when 15 then
513
+ # line 6 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
514
+ begin
515
+ begin
516
+ top -= 1
517
+ cs = stack[top]
518
+ _goto_level = _again
519
+ next
520
+ end
521
+ end
522
+ when 11 then
523
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
524
+ begin
525
+ actions.push(4, p) end
526
+ # line 36 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
527
+ begin
528
+ actions.push(33, p) end
529
+ when 21 then
530
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
531
+ begin
532
+ actions.push(4, p) end
533
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
534
+ begin
535
+ actions.push(34, p) end
536
+ when 3 then
537
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
538
+ begin
539
+ actions.push(4, p) end
540
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
541
+ begin
542
+ begin
543
+ stack[top] = cs
544
+ top+= 1
545
+ cs = 24
546
+ _goto_level = _again
547
+ next
548
+ end
549
+ end
550
+ when 13 then
551
+ # line 8 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
552
+ begin
553
+ actions.push(5, p) end
554
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
555
+ begin
556
+ begin
557
+ stack[top] = cs
558
+ top+= 1
559
+ cs = 24
560
+ _goto_level = _again
561
+ next
562
+ end
563
+ end
564
+ when 14 then
565
+ # line 8 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
566
+ begin
567
+ actions.push(5, p) end
568
+ # line 6 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
569
+ begin
570
+ begin
571
+ top -= 1
572
+ cs = stack[top]
573
+ _goto_level = _again
574
+ next
575
+ end
576
+ end
577
+ when 25 then
578
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
579
+ begin
580
+ actions.push(10, p) end
581
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
582
+ begin
583
+ begin
584
+ stack[top] = cs
585
+ top+= 1
586
+ cs = 24
587
+ _goto_level = _again
588
+ next
589
+ end
590
+ end
591
+ when 16 then
592
+ # line 14 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
593
+ begin
594
+ actions.push(11, p) end
595
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
596
+ begin
597
+ actions.push(10, p) end
598
+ when 23 then
599
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
600
+ begin
601
+ actions.push(34, p) end
602
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
603
+ begin
604
+ begin
605
+ stack[top] = cs
606
+ top+= 1
607
+ cs = 24
608
+ _goto_level = _again
609
+ next
610
+ end
611
+ end
612
+ when 7 then
613
+ # line 38 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
614
+ begin
615
+ actions.push(35, p) end
616
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
617
+ begin
618
+ begin
619
+ stack[top] = cs
620
+ top+= 1
621
+ cs = 24
622
+ _goto_level = _again
623
+ next
624
+ end
625
+ end
626
+ when 9 then
627
+ # line 42 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
628
+ begin
629
+ actions.push(39, p) end
630
+ # line 41 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
631
+ begin
632
+ actions.push(38, p) end
633
+ when 20 then
634
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
635
+ begin
636
+ begin
637
+ stack[top] = cs
638
+ top+= 1
639
+ cs = 24
640
+ _goto_level = _again
641
+ next
642
+ end
643
+ end
644
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
645
+ begin
646
+ actions.push(34, p) end
647
+ when 22 then
648
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
649
+ begin
650
+ actions.push(4, p) end
651
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
652
+ begin
653
+ begin
654
+ stack[top] = cs
655
+ top+= 1
656
+ cs = 24
657
+ _goto_level = _again
658
+ next
659
+ end
660
+ end
661
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
662
+ begin
663
+ actions.push(34, p) end
664
+ when 18 then
665
+ # line 14 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
666
+ begin
667
+ actions.push(11, p) end
668
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
669
+ begin
670
+ actions.push(10, p) end
671
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
672
+ begin
673
+ begin
674
+ stack[top] = cs
675
+ top+= 1
676
+ cs = 24
677
+ _goto_level = _again
678
+ next
679
+ end
680
+ end
681
+ # line 682 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb"
682
+ end
683
+ end
684
+ end
685
+ if _goto_level <= _again
686
+ if cs == 0
687
+ _goto_level = _out
688
+ next
689
+ end
690
+ p += 1
691
+ if p != pe
692
+ _goto_level = _resume
693
+ next
694
+ end
695
+ end
696
+ if _goto_level <= _test_eof
697
+ if p == eof
698
+ case _content_disposition_eof_actions[cs]
699
+ when 2 then
700
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
701
+ begin
702
+ actions.push(4, p) end
703
+ when 24 then
704
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
705
+ begin
706
+ actions.push(10, p) end
707
+ when 19 then
708
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
709
+ begin
710
+ actions.push(34, p) end
711
+ when 21 then
712
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
713
+ begin
714
+ actions.push(4, p) end
715
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
716
+ begin
717
+ actions.push(34, p) end
718
+ when 16 then
719
+ # line 14 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
720
+ begin
721
+ actions.push(11, p) end
722
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
723
+ begin
724
+ actions.push(10, p) end
725
+ # line 726 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb"
726
+ end
727
+ end
728
+
729
+ end
730
+ if _goto_level <= _out
731
+ break
732
+ end
733
+ end
734
+ end
735
+
736
+ # line 27 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl"
737
+
738
+ if p == eof && cs >=
739
+ # line 740 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb"
740
+ 29
741
+ # line 28 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl"
742
+
743
+ return actions, nil
744
+ else
745
+ return [], "Only able to parse up to #{data[0..p]}"
746
+ end
747
+ end
748
+ end
749
+ end
750
+ end
751
+ end