diff --git a/pymisp/__init__.py b/pymisp/__init__.py index 73062e7..b4b7264 100644 --- a/pymisp/__init__.py +++ b/pymisp/__init__.py @@ -42,6 +42,7 @@ try: from .tools import openioc # noqa from .tools import load_warninglists # noqa from .tools import ext_lookups # noqa + from .tools import reportlab_generator # noqa if sys.version_info >= (3, 6): from .aping import ExpandedPyMISP # noqa logger.debug('pymisp loaded properly') diff --git a/pymisp/mispevent.py b/pymisp/mispevent.py index a1cfa8b..9a46625 100644 --- a/pymisp/mispevent.py +++ b/pymisp/mispevent.py @@ -459,7 +459,7 @@ class MISPEvent(AbstractMISP): if OLD_PY3 and isinstance(json_event, bytes): json_event = json_event.decode() json_event = json.loads(json_event) - if json_event.get('response'): + if json_event.get('response'): # hasattr(json_event, 'response') and ... is a Bugfix ? event = json_event.get('response')[0] else: event = json_event diff --git a/pymisp/tools/reportlab_generator.py b/pymisp/tools/reportlab_generator.py index a2aadba..7009576 100644 --- a/pymisp/tools/reportlab_generator.py +++ b/pymisp/tools/reportlab_generator.py @@ -2,43 +2,145 @@ # -*- coding: utf-8 -*- # Standard imports -from io import BytesIO import base64 import logging +import pprint +from io import BytesIO import pymisp logger = logging.getLogger('pymisp') # Potentially not installed imports try: - from reportlab.platypus import SimpleDocTemplate - from reportlab.platypus import Paragraph - from reportlab.platypus import PageBreak + from reportlab.pdfgen import canvas + from reportlab.pdfbase.pdfmetrics import stringWidth + from reportlab.lib import colors - from reportlab.lib.styles import getSampleStyleSheet + from reportlab.platypus import SimpleDocTemplate, Paragraph, PageBreak, Spacer, Table, TableStyle, Flowable + from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import mm, inch - - from reportlab.pdfgen import canvas - - from reportlab.lib import colors - from reportlab.lib.pagesizes import letter, inch from reportlab.lib.enums import TA_RIGHT, TA_CENTER, TA_JUSTIFY, TA_LEFT - from reportlab.platypus import SimpleDocTemplate, Table, TableStyle - from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle + from reportlab.lib.pagesizes import letter, inch HAS_REPORTLAB = True except ImportError: HAS_REPORTLAB = False print("ReportLab cannot be imported. Please verify that ReportLab is installed on the system.") + +######################################################################## +class Flowable_Tag(Flowable): + """ + Custom flowable to handle tags + Modified from : http://two.pairlist.net/pipermail/reportlab-users/2005-February/003695.html + and : http://www.blog.pythonlibrary.org/2014/03/10/reportlab-how-to-create-custom-flowables/ + """ + + # ---------------------------------------------------------------------- + def __init__(self, x=0, y=0, width=40, height=15, text="", color="#ffffff", custom_style=None): + Flowable.__init__(self) + self.x = x + self.y = y + self.width = width + self.height = height + self.text = text + self.colour = color + if custom_style is not None: + self.custom_style = custom_style + else: + self.custom_style = getSampleStyleSheet()["Normal"] + + # ---------------------------------------------------------------------- + + def coord(self, x, y, unit=1): + """ + http://stackoverflow.com/questions/4726011/wrap-text-in-a-table-reportlab + Helper class to help position flowables in Canvas objects + """ + x, y = x * unit, self.height - y * unit + return x, y + + # ---------------------------------------------------------------------- + def __repr__(self): + return "Tag(w=" + str(self.width) + ")" + + # ---------------------------------------------------------------------- + def choose_good_text_color(self): + # See : http://trendct.org/2016/01/22/how-to-choose-a-label-color-to-contrast-with-background/ + r, g, b = colors.HexColor(self.colour).rgb() + + brightness = r * 299 + g * 587 + b * 114 / 1000 + + if brightness < 500: # Standard treeshold for human vision : 123 instead of 500 + return "#ffffff" # Black + else: + return "#000000" # White + + # ---------------------------------------------------------------------- + def draw(self): + """ + Draw the shape, text, etc to show a Tag + Honestely, constant are totally ad-hoc. Feels free to change it, but be sure to test the visual result of it. + """ + RADIUS = 1 * mm + LEFT_INTERNAL_PADDING = 2 + ELONGATION = LEFT_INTERNAL_PADDING * 2 + + p = Paragraph("" + self.text + "", + style=self.custom_style) + string_width = stringWidth(self.text, self.custom_style.fontName, self.custom_style.fontSize) + + self.width = string_width + ELONGATION + self.height = self.custom_style.fontSize + + self.canv.setFillColor(colors.HexColor(self.colour)) + self.canv.roundRect(self.x, self.y + LEFT_INTERNAL_PADDING, self.width, self.height + 2, RADIUS, fill=1) + + p.wrapOn(self.canv, self.width, self.height) + p.drawOn(self.canv, *self.coord(self.x, self.y + 0.5 * LEFT_INTERNAL_PADDING, mm)) + + +# == Row colors of the table (alternating) == +EVEN_COLOR = colors.whitesmoke +ODD_COLOR = colors.lightgrey + +# == Lines parameters of the table == +LINE_COLOR = colors.lightslategray +LINE_THICKNESS = 0.75 + +# == Columns colors, aligment, fonts, space, size, width, heights == +# FIRST_COL_FONT_COLOR = colors.darkslateblue # Test purposes +FIRST_COL_FONT_COLOR = colors.HexColor("#333333") # Same as GUI +FIRST_COL_FONT = 'Helvetica-Bold' +FIRST_COL_ALIGNEMENT = TA_CENTER + +SECOND_COL_FONT_COLOR = colors.black +SECOND_COL_FONT = 'Helvetica' +SECOND_COL_ALIGNEMENT = TA_LEFT + +TEXT_FONT_SIZE = 8 +LEADING_SPACE = 7 +EXPORT_DATE_FORMAT = '%Y-%m-%d %H:%M:%S' +COL_WIDTHS = ['30%', '75%'] # colWidths='*' # Not documented but does exist +ROW_HEIGHT = 5 * mm # 4.5 * mm (a bit too short to allow vertical align TODO : Fix it) +ROW_HEIGHT_FOR_TAGS = 4 * mm # 4.5 * mm (a bit too short to allow vertical align TODO : Fix it) + +# == Whole document margins and size == +PAGESIZE = (140 * mm, 216 * mm) # width, height +BASE_MARGIN = 5 * mm # Create a list here to specify each row separately + ''' "UTILITIES" METHODS. Not meant to be used except for development purposes ''' -import pprint def get_sample_fonts(): + ''' + Get fonts available on the current system, usable in pdf generation + :return: None. Print on std output the list of available fonts + ''' + # Create a dummy canvas c = canvas.Canvas("hello.pdf") @@ -47,6 +149,11 @@ def get_sample_fonts(): def get_sample_styles(): + ''' + Get styles available in reportLab (Paragraph, Heading1, ...) + :return: None. Print on std output the list of available styles + ''' + # Get styles, as for example sample_style_sheet['Heading1'], sample_style_sheet['BodyText'] ... sample_style_sheet = getSampleStyleSheet() @@ -57,12 +164,16 @@ def get_sample_styles(): ''' "INTERNAL" METHODS. Not meant to be used outside of this class. ''' -EVEN_COLOR = colors.whitesmoke -ODD_COLOR = colors.lightgrey def alternate_colors_style_generator(data): - # Modified from : https://gist.github.com/chadcooper/5798392 + ''' + Create a style, applicable on a table that will be built with parameter's data, with alternated + background color for each line. + Modified from : https://gist.github.com/chadcooper/5798392 + :param data: list of list of items (2D table) to be displayed in the pdf + :return: A list of 'BACKGROUND' properties, usable in a TableStyle, with alternated colours + ''' data_len = len(data) color_list = [] @@ -78,10 +189,13 @@ def alternate_colors_style_generator(data): return color_list -LINE_COLOR = colors.lightslategray -LINE_THICKNESS = 0.75 - def lines_style_generator(data): + ''' + Create a style, applicable on a table that will be built with parameter's data, + that draw colored lines above and below each line of the table + :param data: list of list of items (2D table) to be displayed in the pdf + :return: A list of 'LINE****' properties, usable in a TableStyle, that are drawing lines + ''' data_len = len(data) lines_list = [] @@ -90,34 +204,43 @@ def lines_style_generator(data): lines_list.append(('LINEABOVE', (0, each), (-1, each), LINE_THICKNESS, LINE_COLOR)) # Last line - lines_list.append(('LINEBELOW', (0, len(data)-1), (-1, len(data)-1), LINE_THICKNESS, LINE_COLOR)) + lines_list.append(('LINEBELOW', (0, len(data) - 1), (-1, len(data) - 1), LINE_THICKNESS, LINE_COLOR)) return lines_list -# FIRST_COL_FONT_COLOR = colors.darkslateblue # Test purposes -FIRST_COL_FONT_COLOR = colors.HexColor("#333333") # Same as GUI -FIRST_COL_FONT = 'Helvetica-Bold' -FIRST_COL_ALIGNEMENT = TA_CENTER -SECOND_COL_FONT_COLOR = colors.black -SECOND_COL_FONT = 'Helvetica' -SECOND_COL_ALIGNEMENT = TA_LEFT - -TEXT_FONT_SIZE = 8 -LEADING_SPACE = 7 -EXPORT_DATE_FORMAT = '%Y-%m-%d %H:%M:%S' -COL_WIDTHS = ['30%', '75%'] # colWidths='*' # Not documented but does exist -ROW_HEIGHT = 5 * mm # 4.5 * mm (a bit too short to allow vertical align TODO : Fix it) - -def get_published_value(misp_event): +def general_style_generator(): ''' + Create the general style (alignement, padding ...) of the table, copying the MISP'event's web_view. + :return: a list of properties, usable in a TableStyle + ''' + lines_list = [] + + lines_list.append(('VALIGN', (0, 0), (-1, -1), 'MIDDLE')) + lines_list.append(('LEFTPADDING', (0, 0), (-1, -1), 0)) + lines_list.append(('RIGHTPADDING', (0, 0), (-1, -1), 0)) + + # VERTICAL_PADDING = 2 + # lines_list.append(('TOPPADDING', (0, 0), (-1, -1), VERTICAL_PADDING)) + # lines_list.append(('BOTTOMPADDING', (0, 0), (-1, -1), VERTICAL_PADDING)) + + return lines_list + + +def get_published_value(misp_event, item, col2_style): + ''' + Returns a flowable paragraph to add to the pdf given the misp_event published/published_time + More information on how to play with paragraph into reportlab cells : + https://stackoverflow.com/questions/11810008/reportlab-add-two-paragraphs-into-one-table-cell :param misp_event: A misp event with or without "published"/"publish_timestamp" attributes - :return: a string to print in the pdf, regarding the values of "published"/"publish_timestamp" - # More information on how to play with paragraph into reportlab cells : https://stackoverflow.com/questions/11810008/reportlab-add-two-paragraphs-into-one-table-cell + :param item: a list of name, in order : + ["Name to be print in the pdf", "json property access name", + " Name to be display if no values found in the misp_event", json property access name (for timestamp")] + e.g. item = ["Published", 'published', "None", "publish_timestamp"] + :param col2_style: style to be applied on the returned paragraph + :return: a Paragraph to add in the pdf, regarding the values of "published"/"publish_timestamp" ''' - item = ["Published", 'published', "None", "publish_timestamp"] - _, col2_style = get_table_styles() RED_COLOR = '#ff0000' GREEN_COLOR = '#008000' YES_ANSWER = " Yes (" @@ -141,44 +264,143 @@ def get_published_value(misp_event): return item[2] +def get_timestamp_value(misp_event, item, col2_style): + ''' + Returns a flowable paragraph to add to the pdf given the misp_event timestamp + :param misp_event: A misp event with or without "timestamp" attributes + :param item: a list of name, in order : + ["Name to be print in the pdf", "json property access name", + " Name to be display if no values found in the misp_event"] + :param col2_style: style to be applied on the returned paragraph + :return: a Paragraph to add in the pdf, regarding the values of "timestamp" + ''' + if hasattr(misp_event, item[1]): + return Paragraph(str(getattr(misp_event, item[1]).strftime(EXPORT_DATE_FORMAT)), col2_style) + else: + return Paragraph(item[2], col2_style) + + +def get_creator_organisation_value(misp_event, item, col2_style): + ''' + Returns a flowable paragraph to add to the pdf given the misp_event creator organisation + :param misp_event: A misp event with or without "timestamp" attributes + :param item: a list of name, in order : + ["Name to be print in the pdf", "json property access name", + " Name to be display if no values found in the misp_event", "json property access name (second level)"] + :param col2_style: style to be applied on the returned paragraph + :return: a Paragraph to add in the pdf, regarding the values of "creator organisation" + ''' + if hasattr(misp_event, item[1]): + return Paragraph(str(getattr(getattr(misp_event, item[1]), item[3])), col2_style) + else: + return Paragraph(item[2], col2_style) + + +def get_attributes_number_value(misp_event, item, col2_style): + ''' + Returns a flowable paragraph to add to the pdf given the misp_event attributes + :param misp_event: A misp event with or without "attributes" attributes + :param item: a list of name, in order : + ["Name to be print in the pdf", "json property access name", + " Name to be display if no values found in the misp_event"] + :param col2_style: style to be applied on the returned paragraph + :return: a Paragraph to add in the pdf, regarding the values of "attributes" + ''' + if hasattr(misp_event, item[1]): + return Paragraph(str(len(getattr(misp_event, item[1]))), col2_style) + else: + return Paragraph(item[2], col2_style) + + +def get_tag_value(misp_event, item, col2_style): + ''' + Returns a flowable paragraph to add to the pdf given the misp_event tags + :param misp_event: A misp event with or without "tags" attributes + :param item: a list of name, in order : + ["Name to be print in the pdf", "json property access name", + " Name to be display if no values found in the misp_event"] + :param col2_style: style to be applied on the returned paragraph + :return: a Paragraph to add in the pdf, regarding the values of "tags" + ''' + if hasattr(misp_event, item[1]): + table_event_tags = create_flowable_table_from_tags(misp_event) + return table_event_tags + else: + return Paragraph(item[2], col2_style) + + +def create_flowable_table_from_data(data): + ''' + Given a list of flowables items (2D/list of list), creates a Table with styles. + :param data: list of list of items (flowables is better) + :return: a Table - with styles - to add to the pdf + ''' + # Create the table + curr_table = Table(data, COL_WIDTHS) + + # Aside notes : + # colWidths='*' does a 100% and share the space automatically + # rowHeights=ROW_HEIGHT if you want a fixed height. /!\ Problems with paragraphs that are spreading everywhere + + # Create styles and set parameters + alternate_colors_style = alternate_colors_style_generator(data) + lines_style = lines_style_generator(data) + general_style = general_style_generator() + + # Make the table nicer + curr_table.setStyle(TableStyle(general_style + alternate_colors_style + lines_style)) + + return curr_table + + +def create_tags_table_from_data(data): + ''' + Given a list of flowables tags (2D/list of list), creates a Table with styles adapted to tags. + :param data: list of list of tags (flowables) + :return: a Table - with styles - to add to another table + ''' + + # Create the table + curr_table = Table(data, COL_WIDTHS, rowHeights=ROW_HEIGHT_FOR_TAGS) + + # Create styles and set parameters + general_style = general_style_generator() + + # Make the table nicer + curr_table.setStyle(TableStyle(general_style)) + + return curr_table + + def create_flowable_table_from_event(misp_event: pymisp.MISPEvent): - # == Run on >1000 OSINT Events == - # 'Tag': 1065, OK - # 'Attribute': 1050, NOT OK - # 'Object': 175, NOT OK - # 'info': 1065, OK - # 'threat_level_id': 1065, OK (added) TODO : improve design - # 'analysis': 1065, OK (added) TODO : improve design + Ask where the enum is ! - # 'published': 1065, OK (added) - # 'date': 1065, OK (added) - # 'timestamp': 1065, OK (added) - # 'publish_timestamp': 1065, OK (added) - # 'Orgc': 1065, OK - # 'uuid': 1065 OK (added) + ''' + Returns Table presenting a MISP event + :param misp_event: A misp event (complete or not) + :return: a table that can be added to a pdf + ''' # To reduce code size, and automate it a bit, triplet (Displayed Name, object_attribute_name, # to_display_if_not_present) are store in the following list - list_attr_automated = [["Event ID", 'id', "None"], - ["UUID", 'uuid', "None"], # OK - ["Creator org", 'org', "None"], - ["Date", 'date', "None"], - ["Owner org", 'owner', "None"], - ["Email", 'email', "None"], - ["Tags", 'TODO', "None"], - ["Threat level", 'threat_level_id', "None"], - ["Analysis", 'analysis', "None"], - ["Distribution", 'distribution', "None"], - ["Info", 'info', "None"], # OK - ["# Attributes", 'attribute_count', "None"], - ["First recorded change", 'TODO', "None"], - ["Last change", 'TODO', "None"], - ["Modification map", 'TODO', "None"], - ["Sightings", 'TODO', "None"] - ] + list_attr_automated = [ # ["Event ID", 'id', "None"], + ["UUID", 'uuid', "None"], + ["Date", 'date', "None"], + ["Owner org", 'owner', "None"], + # TODO : Not present ["Email", 'email', "None"], + ["Threat level", 'threat_level_id', "None"], # TODO : improve design + ["Analysis", 'analysis', "None"], # TODO : improve design + Ask where the enum is ! + # TODO : ["Distribution", 'distribution', "None"], + ["Info", 'info', "None"], # OK + # TODO : ["First recorded change", 'TODO', "None"], + # TODO : ["Last change", 'TODO', "None"], + # TODO : ["Modification map", 'TODO', "None"], + # TODO : ["Sightings", 'TODO', "None"] + ] - list_attr_manual = [["Event date", 'timestamp', "None"], # OK - ["Published", 'published', "None"], # OK - ["Sightings", 'TODO', "None"] + list_attr_manual = [["Event date", 'timestamp', "None"], + ["Published", 'published', "None", "publish_timestamp"], + ["Creator Org", 'Orgc', "None", "name"], + ["# Attributes", 'Attribute', "None"], + ["Tags", 'Tag', "None"] ] data = [] @@ -194,53 +416,130 @@ def create_flowable_table_from_event(misp_event: pymisp.MISPEvent): # The attribute does not exist ,we print a default text on the row data.append([Paragraph(item[0], col1_style), Paragraph(item[2], col2_style)]) - # Manual addition of specific attributes - item = list_attr_manual[0] # Timestamp - if hasattr(misp_event, item[1]): - data.append([Paragraph(item[0], col1_style), Paragraph(str(getattr(misp_event, item[1]).strftime(EXPORT_DATE_FORMAT)), col2_style)]) - else : - data.append([Paragraph(item[0], col1_style), Paragraph(item[2], col2_style)]) + # Manual addition of specific attributes(Factorized, because too long) + # Timestamp + item = list_attr_manual[0] + data.append([Paragraph(item[0], col1_style), get_timestamp_value(misp_event, item, col2_style)]) - # Published (Factorized, because too long) + # Published item = list_attr_manual[1] - data.append([Paragraph(item[0], col1_style), get_published_value(misp_event)]) + data.append([Paragraph(item[0], col1_style), get_published_value(misp_event, item, col2_style)]) - # Create styles and set parameters - alternate_colors_style = alternate_colors_style_generator(data) - lines_style = lines_style_generator(data) + # Creator organisation + item = list_attr_manual[2] + data.append([Paragraph(item[0], col1_style), get_creator_organisation_value(misp_event, item, col2_style)]) - # Create the table - curr_table = Table(data, COL_WIDTHS, - rowHeights=(ROW_HEIGHT)) # colWidths='*' does a 100% and share the space automatically + # Number of Attributes + item = list_attr_manual[3] + data.append([Paragraph(item[0], col1_style), get_attributes_number_value(misp_event, item, col2_style)]) - # Make the table nicer - curr_table.setStyle(TableStyle([('TEXTCOLOR', (0, 0), (0, -1), FIRST_COL_FONT_COLOR), - ('TEXTCOLOR', (1, 0), (-1, -1), SECOND_COL_FONT_COLOR), - ('FONT', (0, 0), (0, -1), FIRST_COL_FONT), - ('FONT', (1, 0), (-1, -1), SECOND_COL_FONT), - ('FONTSIZE', (0, 0), (-1, -1), TEXT_FONT_SIZE), - ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'), - ('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black), - # ('BOX', (0, 0), (-1, -1), 0.25, colors.black) # Box for all - ] + alternate_colors_style + lines_style)) + # Number of Attributes + item = list_attr_manual[4] + data.append([Paragraph(item[0], col1_style), get_tag_value(misp_event, item, col2_style)]) - return curr_table + return create_flowable_table_from_data(data) -def create_style(): +def create_flowable_table_from_attributes(misp_event: pymisp.MISPEvent): + ''' + Returns a list of flowables representing the list of attributes of a misp event. + The list is composed alternatively of headers and tables, to add to the pdf + :param misp_event: A misp event + :return: a table of flowables + ''' + + flowable_table = [] sample_style_sheet = getSampleStyleSheet() + i = 0 - custom_body_style = sample_style_sheet['BodyText'] - custom_body_style.fontName = 'Helvetica' - custom_body_style.fontSize = 9 + if hasattr(misp_event, "Attribute"): + # There is some attributes for this object + for item in getattr(misp_event, "Attribute"): + # TODO : TO ACTIVATE IF NECESSARY flowable_table.append(Spacer(1, 5 * mm)) + flowable_table.append(Paragraph("Attribute #" + str(i), sample_style_sheet['Heading3'])) + flowable_table.append(create_flowable_table_from_one_attribute(item)) + i += 1 + else: + # No attributes for this object + flowable_table.append(Paragraph("No attributes", sample_style_sheet['Heading2'])) - # custom_body_style.listAttrs() # Print list of attributes that can be changed - # styles.add(ParagraphStyle(name='Justify', alignment=TA_JUSTIFY)) + return flowable_table - return custom_body_style +def create_flowable_table_from_one_attribute(misp_attribute: pymisp.mispevent.MISPAttribute): + ''' + Returns a table (flowalbe) representing the attribute + :param misp_attribute: A misp attribute + :return: a table representing this misp's attribute's attributes, to add to the pdf as a flowable + ''' + data = [] + col1_style, col2_style = get_table_styles() + + # To reduce code size, and automate it a bit, triplet (Displayed Name, object_attribute_name, + # to_display_if_not_present) are store in the following list + list_attr_automated = [["UUID", 'uuid', "None"], # OK + ["Category", 'category', "None"], # OK + ["Comment", 'comment', "None"], # OK + ["Type", 'type', "None"], # OK + ["Value", 'value', "None"]] # OK + + list_attr_manual = [["Tags", 'Tag', "None"]] # OK + + # Automated adding of standard (python) attributes of the misp event + for item in list_attr_automated: + if hasattr(misp_attribute, item[1]) and getattr(misp_attribute, item[1]) is not None and getattr(misp_attribute, item[1]) != "": + # The attribute exist, we fetch it and create the row + data.append([Paragraph(item[0], col1_style), Paragraph(str(getattr(misp_attribute, item[1])), col2_style)]) + #else: + # The attribute does not exist ,we print a default text on the row + # TODO : TO ACTIVATE IF YOU WANT A EMPTY LINE INSTEAD OF NOTHING data.append([Paragraph(item[0], col1_style), Paragraph(item[2], col2_style)]) + + # Number of Attributes + item = list_attr_manual[0] + + if hasattr(misp_attribute, item[1]): + data.append([Paragraph(item[0], col1_style), get_tag_value(misp_attribute, item, col2_style)]) + + return create_flowable_table_from_data(data) + + +def create_flowable_table_from_tags(misp_event: pymisp.MISPEvent): + ''' + Returns a Table (flowable) to add to a pdf, representing the list of tags of an event or a misp event + :param misp_event: A misp event + :return: a table of flowable to add to the pdf + ''' + + flowable_table = [] + col1_style, col2_style = get_table_styles() + + i = 0 + if hasattr(misp_event, "Tag") and len(getattr(misp_event, "Tag")): # Tags can exist but be empty + # There is some tags for this object + for item in getattr(misp_event, "Tag"): + flowable_table.append(create_flowable_tag(item)) + i += 1 + return create_tags_table_from_data(flowable_table) + else: + # No tags for this object + return [Paragraph("No tags", col2_style)] + + +def create_flowable_tag(misp_tag): + ''' + Returns a Flowable tag linked to one tag. + :param misp_tag: A misp tag of a misp event or a misp event's attribute + :return: one flowable representing a tag (with style) + ''' + col1_style, col2_style = get_table_styles() + + return [Flowable_Tag(text=misp_tag.name, color=misp_tag.colour, custom_style=col1_style)] def get_table_styles(): + ''' + Create and returns the two mains styles for the columns of the document. + :return: two styles, one for each columns of the document, describing the MISP object. + ''' sample_style_sheet = getSampleStyleSheet() custom_body_style_col_1 = ParagraphStyle(name='Column_1', @@ -263,42 +562,56 @@ def get_table_styles(): def collect_parts(misp_event: pymisp.MISPEvent): + ''' + Main part of the PDF creation, it creates a ready-to-compile-as-pdf list of flowables from a MISP Event, calling subfunctions to handle the printing of each element + :param misp_event: a misp event + :return: a list of flowables to compile as pdf + ''' # List of elements/content we want to add flowables = [] # Get the list of available styles sample_style_sheet = getSampleStyleSheet() - # Create own style - custom_style = create_style() - # Create stuff - paragraph_1 = Paragraph(misp_event.info, sample_style_sheet['Heading1']) - paragraph_2 = Paragraph(str(misp_event.to_json()), custom_style) - paragraph_3 = Paragraph("Dingbat paragraph", - sample_style_sheet['BodyText']) # Apply custom style - paragraph_4 = Paragraph("A bold word.
An italic word.", - sample_style_sheet['BodyText']) # HTML markup is working too - table = create_flowable_table_from_event(misp_event) + title = Paragraph(misp_event.info, sample_style_sheet['Heading1']) + subtitle = Paragraph("General information", sample_style_sheet['Heading2']) + attributes = Paragraph("Attributes", sample_style_sheet['Heading2']) + + table_event_general = create_flowable_table_from_event(misp_event) + table_event_attribute = create_flowable_table_from_attributes(misp_event) + + # If you want to output the full json, just add next line + # paragraph_2 = Paragraph(str(misp_event.to_json()), sample_style_sheet['Code']) # Add all parts to final PDF - flowables.append(paragraph_1) - flowables.append(table) + flowables.append(title) + flowables.append(subtitle) + flowables.append(table_event_general) + flowables.append(PageBreak()) - flowables.append(PageBreak()) - flowables.append(paragraph_2) - flowables.append(paragraph_3) + + flowables.append(attributes) + flowables += table_event_attribute return flowables def add_page_number(canvas, doc): + ''' + Add footer to each page, drawing the page number + :param canvas: / Automatically filled during pdf compilation + :param doc: / Automatically filled during pdf compilation + :return: / Automatically filled during pdf compilation + ''' canvas.saveState() canvas.setFont('Times-Roman', 10) page_number_text = "%d" % (doc.page) + curr_spacing = 4 * mm # 0.75 * inch + canvas.drawCentredString( - 0.75 * inch, - 0.75 * inch, + curr_spacing, + curr_spacing, page_number_text ) @@ -306,6 +619,13 @@ def add_page_number(canvas, doc): def export_flowables_to_pdf(document, pdf_buffer, flowables): + ''' + Export function : creates a pdf from a list of flowables, adding page numbers, etc. + :param document: A document template + :param pdf_buffer: / not used + :param flowables: list of flowables to compile as pdf + :return: + ''' # my_doc.build(flowables) # Basic building of the final document document.build( @@ -314,16 +634,16 @@ def export_flowables_to_pdf(document, pdf_buffer, flowables): onLaterPages=add_page_number, # Pagination for all other page ) - ''' "EXTERNAL" exposed METHODS. Meant to be used outside of this class. ''' -PAGESIZE = (140 * mm, 216 * mm) # width, height -BASE_MARGIN = 5 * mm # Create a list here to specify each row separately - - def convert_event_in_pdf_buffer(misp_event: pymisp.MISPEvent): + ''' + Externally callable function that create a full pdf from a Misp Event + :param misp_event: a misp event + :return: a pdf buffer (BytesIO) that contains the pdf + ''' # Create a document buffer pdf_buffer = BytesIO() @@ -335,12 +655,6 @@ def convert_event_in_pdf_buffer(misp_event: pymisp.MISPEvent): rightMargin=BASE_MARGIN, bottomMargin=BASE_MARGIN) - # Apply standard template - # TODO - - # Set the layout - # TODO - # Collect already accessible event's parts to be shown flowables = collect_parts(misp_event) @@ -348,11 +662,14 @@ def convert_event_in_pdf_buffer(misp_event: pymisp.MISPEvent): export_flowables_to_pdf(curr_document, pdf_buffer, flowables) pdf_value = pdf_buffer.getvalue() + # Used for testing purposes + # pdf_buffer.seek(0) + # TODO : Not sure what to give back ? Buffer ? Buffer.value() ? Base64(buffer.value()) ? ... - # pdf_buffer.close() + pdf_buffer.close() # return pdf_value - return pdf_buffer + return pdf_value def get_values_from_buffer(pdf_buffer): @@ -362,20 +679,28 @@ def get_values_from_buffer(pdf_buffer): def get_base64_from_buffer(pdf_buffer): return base64.b64encode(pdf_buffer.value()) +def get_base64_from_value(pdf_value): + return base64.b64encode(pdf_value) def register_to_file(pdf_buffer, file_name): + # Used for testing purposes pdf_buffer.seek(0) with open(file_name, 'wb') as f: f.write(pdf_buffer.read()) +def register_value_to_file(pdf_value, file_name): + + with open(file_name, 'wb') as f: + f.write(pdf_value) + if __name__ == "__main__": # pdf_buffer = convert_event_in_pdf_buffer(None) # register_to_file(pdf_buffer, 'test.pdf') get_sample_fonts() - + get_sample_styles() # get_values_from_buffer(pdf_buffer) # get_base64_from_buffer(pdf_buffer) diff --git a/setup.py b/setup.py index a546fb2..5e6c7b9 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ setup( ], install_requires=['six', 'requests', 'python-dateutil', 'jsonschema', 'python-dateutil', 'enum34;python_version<"3.4"', - 'functools32;python_version<"3.0"'], + 'functools32;python_version<"3.0"', 'reportlab'], extras_require={'fileobjects': ['lief>=0.8', 'python-magic'], 'neo': ['py2neo'], 'openioc': ['beautifulsoup4'], diff --git a/tests/reportlab_testfiles/to_delete1.json b/tests/reportlab_testfiles/to_delete1.json new file mode 100644 index 0000000..0a9b56c --- /dev/null +++ b/tests/reportlab_testfiles/to_delete1.json @@ -0,0 +1,804 @@ +{ + "Event": { + "info": "OSINT - New Malware with Ties to SunOrcal Discovered", + "publish_timestamp": "1518455494", + "timestamp": "1510922435", + "analysis": "2", + "Attribute": [ + { + "comment": "", + "category": "External analysis", + "uuid": "5a0a9ade-3b60-4fbb-87d2-4628950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "https://researchcenter.paloaltonetworks.com/2017/11/unit42-new-malware-with-ties-to-sunorcal-discovered/", + "Tag": [ + { + "colour": "#00223b", + "exportable": true, + "name": "osint:source-type=\"blog-post\"" + } + ], + "object_relation": null, + "type": "link" + }, + { + "comment": "", + "category": "External analysis", + "uuid": "5a0a9af4-0d1c-4ae0-8903-45c4950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "Unit 42 has discovered a new malware family we\u2019ve named \u201cReaver\u201d with ties to attackers who use SunOrcal malware. SunOrcal activity has been documented to at least 2013, and based on metadata surrounding some of the C2s, may have been active as early as 2010. The new family appears to have been in the wild since late 2016 and to date we have only identified 10 unique samples, indicating it may be sparingly used. Reaver is also somewhat unique in the fact that its final payload is in the form of a Control panel item, or CPL file. To date, only 0.006% of all malware seen by Palo Alto Networks employs this technique, indicating that it is in fact fairly rare.", + "Tag": [ + { + "colour": "#00223b", + "exportable": true, + "name": "osint:source-type=\"blog-post\"" + } + ], + "object_relation": null, + "type": "comment" + }, + { + "comment": "", + "category": "Persistence mechanism", + "uuid": "5a0a9d47-1c7c-4353-8523-440b950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "%COMMONPROGRAMFILES%\\services\\", + "object_relation": null, + "type": "regkey" + }, + { + "comment": "", + "category": "Persistence mechanism", + "uuid": "5a0a9d47-808c-4833-b739-43bf950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "%APPDATA%\\microsoft\\mmc\\", + "object_relation": null, + "type": "regkey" + }, + { + "comment": "", + "category": "Persistence mechanism", + "uuid": "5a0a9d47-91e0-4fea-8a8d-48ce950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Common Startup", + "object_relation": null, + "type": "regkey" + }, + { + "comment": "", + "category": "Persistence mechanism", + "uuid": "5a0a9d47-0d2c-4f98-9913-4ea3950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Startup", + "object_relation": null, + "type": "regkey" + }, + { + "comment": "", + "category": "Payload delivery", + "uuid": "5a0a9d47-a0a4-4f6b-bd53-42b4950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "\u2018%TEMP%\\~WUpdate.lnk", + "object_relation": null, + "type": "filename" + }, + { + "comment": "", + "category": "Payload delivery", + "uuid": "5a0a9d96-48d4-4538-b643-4c26950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "%TEMP%\\~Update.lnk", + "object_relation": null, + "type": "filename" + }, + { + "comment": "", + "category": "Persistence mechanism", + "uuid": "5a0a9d96-d87c-4b6f-b3a6-4eea950d210f", + "timestamp": "1510922426", + "to_ids": false, + "value": "%APPDATA%\\microsoft\\credentials\\", + "object_relation": null, + "type": "regkey" + }, + { + "comment": "", + "category": "Payload delivery", + "uuid": "5a0a9d96-83dc-4a40-90fe-46d9950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "%TEMP%\\winhelp.dat", + "object_relation": null, + "type": "filename" + }, + { + "comment": "", + "category": "Payload delivery", + "uuid": "5a0a9d96-cc18-491c-b16b-4ffe950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "[path_previously_identified]\\winhelp.cpl", + "object_relation": null, + "type": "filename" + }, + { + "comment": "C2", + "category": "Network activity", + "uuid": "5a0a9e4c-1c14-49c0-bee2-4f7d950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "www.fyoutside.com", + "object_relation": null, + "type": "hostname" + }, + { + "comment": "C2", + "category": "Network activity", + "uuid": "5a0a9e4c-ab08-47f8-991f-471c950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "www.tashdqdxp.com", + "object_relation": null, + "type": "hostname" + }, + { + "comment": "C2", + "category": "Network activity", + "uuid": "5a0a9e4c-8ba4-43d7-a8e3-4b52950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "www.weryhstui.com", + "object_relation": null, + "type": "hostname" + }, + { + "comment": "", + "category": "Network activity", + "uuid": "5a0a9e4c-bcf8-42ac-86dc-48b0950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "98.126.156.210", + "object_relation": null, + "type": "ip-dst" + }, + { + "comment": "C2", + "category": "Network activity", + "uuid": "5a0a9e4c-9440-40fa-ac80-4320950d210f", + "timestamp": "1510922426", + "to_ids": true, + "value": "www.olinaodi.com", + "object_relation": null, + "type": "hostname" + }, + { + "comment": "Reaver.v1", + "category": "Payload delivery", + "uuid": "5a0a9eae-a23c-4b65-b46b-4683950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v2", + "category": "Payload delivery", + "uuid": "5a0a9eae-5e1c-411a-b1ba-49ac950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v2", + "category": "Payload delivery", + "uuid": "5a0a9eae-ccf0-4390-bcde-43bd950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "05ddbd0506ec95fb460b3994e5b21cdb0418ba4aa406374ca1b91249349b7640", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-3ef4-42d5-baca-44c4950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-8cc8-4bbd-adec-4e38950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-486c-4820-b2b3-4bf0950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-bef4-4696-a1ab-4c83950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "26c234c73e2c3448589c7d4a0cf17f615ad3666541a4e611e2d8b77637205bcf", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-7560-4794-90d1-4f4d950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-d3c4-4809-aea5-435c950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-a5dc-43ab-9158-451c950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "Reaver.v3", + "category": "Payload delivery", + "uuid": "5a0a9eae-1d70-4f14-b316-4ce4950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "SunOrcal", + "category": "Payload delivery", + "uuid": "5a0a9eae-7674-4a3f-a595-4006950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "SunOrcal", + "category": "Payload delivery", + "uuid": "5a0a9eae-4a58-4535-9998-49b7950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "SunOrcal", + "category": "Payload delivery", + "uuid": "5a0a9eae-6ae4-41a1-8402-4328950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "SunOrcal", + "category": "Payload delivery", + "uuid": "5a0a9eae-6edc-4177-afd5-4c93950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "SunOrcal", + "category": "Payload delivery", + "uuid": "5a0a9eae-8388-4e7f-ab5b-4e95950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f", + "object_relation": null, + "type": "sha256" + }, + { + "comment": "C2", + "category": "Network activity", + "uuid": "5a0a9efc-6604-4cd9-acbb-4632950d210f", + "timestamp": "1510922427", + "to_ids": true, + "value": "104.148.70.217", + "object_relation": null, + "type": "ip-dst" + }, + { + "comment": "SunOrcal - Xchecked via VT: cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f", + "category": "Payload delivery", + "uuid": "5a0ed8bb-5df0-47a8-9785-44a702de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "da7a5e54d1d45462bda65807c1ef03ee34b7e777", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "SunOrcal - Xchecked via VT: cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f", + "category": "Payload delivery", + "uuid": "5a0ed8bb-f580-4b51-a866-482602de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "7dcf79a66192e88b92ccc12810e61329", + "object_relation": null, + "type": "md5" + }, + { + "comment": "SunOrcal - Xchecked via VT: cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f", + "category": "External analysis", + "uuid": "5a0ed8bb-8a94-47be-9f1e-463f02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f/analysis/1510574305/", + "object_relation": null, + "type": "link" + }, + { + "comment": "SunOrcal - Xchecked via VT: 38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb", + "category": "Payload delivery", + "uuid": "5a0ed8bb-3f4c-411b-9507-4d1602de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "704886d56ded5817e39d7442b0203c2f76207f92", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "SunOrcal - Xchecked via VT: 38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb", + "category": "Payload delivery", + "uuid": "5a0ed8bb-6f34-4e76-ba5b-45ae02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "af6a25fc28e0560860c01d74854a2cba", + "object_relation": null, + "type": "md5" + }, + { + "comment": "SunOrcal - Xchecked via VT: 38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb", + "category": "External analysis", + "uuid": "5a0ed8bb-5b24-48ce-82c4-4e2b02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb/analysis/1510574322/", + "object_relation": null, + "type": "link" + }, + { + "comment": "SunOrcal - Xchecked via VT: 58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5", + "category": "Payload delivery", + "uuid": "5a0ed8bb-830c-472b-9d19-481002de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "9adbe92835ee2cc93e0d99b9d4536eb7727acf47", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "SunOrcal - Xchecked via VT: 58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5", + "category": "Payload delivery", + "uuid": "5a0ed8bb-b94c-4e75-a47d-488002de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "47cc3592bbf8c3b516ae74c95efb3344", + "object_relation": null, + "type": "md5" + }, + { + "comment": "SunOrcal - Xchecked via VT: 58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5", + "category": "External analysis", + "uuid": "5a0ed8bb-8d8c-4b7a-a223-498e02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5/analysis/1510574347/", + "object_relation": null, + "type": "link" + }, + { + "comment": "SunOrcal - Xchecked via VT: 81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2", + "category": "Payload delivery", + "uuid": "5a0ed8bb-b9b0-40ac-a84f-4b6002de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "7fa8bfc051b98698e6b95cbc7163e4aa41880279", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "SunOrcal - Xchecked via VT: 81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2", + "category": "Payload delivery", + "uuid": "5a0ed8bb-65e8-471f-9a66-4e3102de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "5eb3a846092cae378fcd45bdf5453536", + "object_relation": null, + "type": "md5" + }, + { + "comment": "SunOrcal - Xchecked via VT: 81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2", + "category": "External analysis", + "uuid": "5a0ed8bb-d7c0-4ed1-9bdc-497002de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2/analysis/1510574318/", + "object_relation": null, + "type": "link" + }, + { + "comment": "SunOrcal - Xchecked via VT: 799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac", + "category": "Payload delivery", + "uuid": "5a0ed8bb-a260-4d97-b3c8-43eb02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "a6e538a01c366580e90e49249251b66dfe39c72f", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "SunOrcal - Xchecked via VT: 799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac", + "category": "Payload delivery", + "uuid": "5a0ed8bb-61ec-48e1-8327-492b02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "11a5b1901243396984670af7acc6cf72", + "object_relation": null, + "type": "md5" + }, + { + "comment": "SunOrcal - Xchecked via VT: 799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac", + "category": "External analysis", + "uuid": "5a0ed8bb-4f20-46d8-b762-4cf702de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac/analysis/1510574343/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1", + "category": "Payload delivery", + "uuid": "5a0ed8bb-b6ec-4b31-8078-4c9b02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "03bc4181fb54af3151cab60406a01a44158e5277", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1", + "category": "Payload delivery", + "uuid": "5a0ed8bb-67e0-45e3-86d3-4a9d02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "17587683361d8458aebd9b8fdd07137a", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1", + "category": "External analysis", + "uuid": "5a0ed8bb-cfec-48d4-9919-49ab02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1/analysis/1510849386/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c", + "category": "Payload delivery", + "uuid": "5a0ed8bb-cb84-4739-a17e-456b02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "b31160953ff19e6abf12fc8319420ab2e1c88e77", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c", + "category": "Payload delivery", + "uuid": "5a0ed8bb-8bd8-4a20-a99e-498b02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "2d563bf83bddca1f24e8a0ffb951a7e9", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c", + "category": "External analysis", + "uuid": "5a0ed8bb-c264-45c1-acf8-4ece02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c/analysis/1510574300/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1", + "category": "Payload delivery", + "uuid": "5a0ed8bb-bc04-47cf-8f7b-49cb02de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "172b4578cb50985b08c227360d9c9df2cf32117a", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1", + "category": "Payload delivery", + "uuid": "5a0ed8bb-9340-4443-b23e-4e1902de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "aab319d9715d38a37a10d82e87478dfc", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1", + "category": "External analysis", + "uuid": "5a0ed8bb-b9c8-43aa-8797-462302de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1/analysis/1510574331/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee", + "category": "Payload delivery", + "uuid": "5a0ed8bb-8a68-4f7a-adcb-46c302de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "d62f1f039d0be1d7b2a8ed122d97ee917dbc9ce8", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee", + "category": "Payload delivery", + "uuid": "5a0ed8bb-dcf8-4fe9-bdee-484502de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "892350b2a44efd9fa1e7c88aec013818", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee", + "category": "External analysis", + "uuid": "5a0ed8bb-23d8-4bbe-b367-4fae02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee/analysis/1510574327/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b", + "category": "Payload delivery", + "uuid": "5a0ed8bb-d850-43f6-aa30-4f5702de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "e96be5b542d100913a5bca0f02fb094d6f3ad85b", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b", + "category": "Payload delivery", + "uuid": "5a0ed8bb-3ae4-4f3e-b592-474002de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "dd7edadd019bc120978a4dad284fbea6", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b", + "category": "External analysis", + "uuid": "5a0ed8bb-c9a4-4669-a3ba-47e002de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b/analysis/1510574335/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d", + "category": "Payload delivery", + "uuid": "5a0ed8bb-e764-4ad4-8cdb-438902de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "cbde40a234bff8870f8746eca969c364da7f4aec", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d", + "category": "Payload delivery", + "uuid": "5a0ed8bb-02e0-4eb5-9e34-41e602de0b81", + "timestamp": "1510922427", + "to_ids": true, + "value": "ae185e9c43bb1498a3c653a0886896e3", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d", + "category": "External analysis", + "uuid": "5a0ed8bb-586c-4a4d-aa3b-4f7c02de0b81", + "timestamp": "1510922427", + "to_ids": false, + "value": "https://www.virustotal.com/file/c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d/analysis/1510921773/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92", + "category": "Payload delivery", + "uuid": "5a0ed8bc-ba8c-4160-8374-4dba02de0b81", + "timestamp": "1510922428", + "to_ids": true, + "value": "5c6b231111239c0625dc9ff4359d1b8553159ecc", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92", + "category": "Payload delivery", + "uuid": "5a0ed8bc-eff4-4d36-947a-424c02de0b81", + "timestamp": "1510922428", + "to_ids": true, + "value": "c629f8f3206e5a6de83b4c996a2bacfb", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v3 - Xchecked via VT: 18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92", + "category": "External analysis", + "uuid": "5a0ed8bc-60d8-4f2e-aa79-4d6f02de0b81", + "timestamp": "1510922428", + "to_ids": false, + "value": "https://www.virustotal.com/file/18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92/analysis/1510610402/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v2 - Xchecked via VT: 98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c", + "category": "Payload delivery", + "uuid": "5a0ed8bc-0124-4bd3-9049-4e6b02de0b81", + "timestamp": "1510922428", + "to_ids": true, + "value": "c05d15fc94d096a821f2c689a29dff7679ce087a", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v2 - Xchecked via VT: 98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c", + "category": "Payload delivery", + "uuid": "5a0ed8bc-c04c-49c4-9d39-464802de0b81", + "timestamp": "1510922428", + "to_ids": true, + "value": "dadf3d3dd411bc02d7c05ee3a18259ea", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v2 - Xchecked via VT: 98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c", + "category": "External analysis", + "uuid": "5a0ed8bc-37cc-47c1-bdcd-454e02de0b81", + "timestamp": "1510922428", + "to_ids": false, + "value": "https://www.virustotal.com/file/98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c/analysis/1510823791/", + "object_relation": null, + "type": "link" + }, + { + "comment": "Reaver.v1 - Xchecked via VT: d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666", + "category": "Payload delivery", + "uuid": "5a0ed8bc-4014-447e-8efc-450702de0b81", + "timestamp": "1510922428", + "to_ids": true, + "value": "0cea48067ddbc9227363168013142f6f3a5dea9f", + "object_relation": null, + "type": "sha1" + }, + { + "comment": "Reaver.v1 - Xchecked via VT: d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666", + "category": "Payload delivery", + "uuid": "5a0ed8bc-5768-4c26-85a2-47b902de0b81", + "timestamp": "1510922428", + "to_ids": true, + "value": "9f289cce6f95949450e3f4c96a187f5d", + "object_relation": null, + "type": "md5" + }, + { + "comment": "Reaver.v1 - Xchecked via VT: d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666", + "category": "External analysis", + "uuid": "5a0ed8bc-a7a0-499f-bd08-48bb02de0b81", + "timestamp": "1510922428", + "to_ids": false, + "value": "https://www.virustotal.com/file/d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666/analysis/1510823685/", + "object_relation": null, + "type": "link" + } + ], + "Tag": [ + { + "colour": "#004646", + "exportable": true, + "name": "type:OSINT" + }, + { + "colour": "#ffffff", + "exportable": true, + "name": "tlp:white" + }, + { + "colour": "#3c7700", + "exportable": true, + "name": "circl:incident-classification=\"malware\"" + }, + { + "colour": "#00223b", + "exportable": true, + "name": "osint:source-type=\"blog-post\"" + } + ], + "published": true, + "date": "2017-11-10", + "Orgc": { + "uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f", + "name": "CIRCL" + }, + "threat_level_id": "3", + "uuid": "5a0a9aa9-23a4-4607-b6df-41a9950d210f" + } +} \ No newline at end of file diff --git a/tests/reportlab_testfiles/to_delete2.json b/tests/reportlab_testfiles/to_delete2.json new file mode 100644 index 0000000..424b45b --- /dev/null +++ b/tests/reportlab_testfiles/to_delete2.json @@ -0,0 +1 @@ +{"Event": {"info": "OSINT - HIDDEN COBRA \u2013 North Korean Remote Administration Tool: FALLCHILL", "publish_timestamp": "0", "timestamp": "1511183733", "Object": [{"comment": "", "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", "uuid": "5a0d68b2-c4d0-4721-936b-77bb950d210f", "sharing_group_id": "0", "timestamp": "1510828210", "description": "File object describing a file with meta-information", "template_version": "4", "Attribute": [{"comment": "", "category": "Payload delivery", "uuid": "5a0d68b3-9de8-4b28-ab58-77bb950d210f", "timestamp": "1510828211", "to_ids": true, "value": "e48fe20eb1f5a5887f2ac631fed9ed63", "object_relation": "md5", "type": "md5"}, {"comment": "", "category": "Other", "uuid": "5a0d68b3-f5ec-470e-8e6f-77bb950d210f", "timestamp": "1510828211", "to_ids": false, "value": "5.49321665686", "object_relation": "entropy", "type": "float"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0d68b3-6da0-4ced-8233-77bb950d210f", "timestamp": "1510828211", "to_ids": true, "value": "E48FE20EB1F5A5887F2AC631FED9ED63", "object_relation": "filename", "type": "filename"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0d68b3-2600-4859-a347-77bb950d210f", "timestamp": "1510828211", "to_ids": true, "value": "f83f30bd284074d1daaf2e262a280ca780791f2c", "object_relation": "sha1", "type": "sha1"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0d68b3-6138-4c7f-987c-77bb950d210f", "timestamp": "1510828211", "to_ids": true, "value": "1536:qJhDLw1yDhhzoN/e/C/O/C/a/D/I26251K06Zk/XrqqitM4NvL:qvfw1ahEVOS+Sq7IN251ikzq5tM4NvL", "object_relation": "ssdeep", "type": "ssdeep"}, {"comment": "", "category": "Other", "uuid": "5a0d68b3-c3f0-4fe1-9479-77bb950d210f", "timestamp": "1510828211", "to_ids": false, "value": "94208", "object_relation": "size-in-bytes", "type": "size-in-bytes"}], "distribution": "5", "meta-category": "file", "name": "file"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0d6aa6-a230-4f7b-8ab3-469a950d210f", "sharing_group_id": "0", "timestamp": "1510828710", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0d6aa6-4254-40d9-8d15-407e950d210f", "timestamp": "1510828710", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0d6aa6-ab7c-45af-a562-45d4950d210f", "timestamp": "1510828710", "to_ids": true, "value": "125.212.132.222", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0d6abb-4910-4c4c-9004-7753950d210f", "sharing_group_id": "0", "timestamp": "1510828731", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0d6abb-6300-44e7-82fb-7753950d210f", "timestamp": "1510828731", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0d6abb-d8d0-414c-89bb-7753950d210f", "timestamp": "1510828731", "to_ids": true, "value": "175.100.189.174", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0d6ada-a910-4186-90fc-21c1950d210f", "sharing_group_id": "0", "timestamp": "1510828762", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0d6ada-2b3c-48bd-8624-21c1950d210f", "timestamp": "1510828762", "to_ids": false, "value": "1992", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0d6ada-0ee0-406e-8722-21c1950d210f", "timestamp": "1510828762", "to_ids": true, "value": "10.10.30.110", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", "uuid": "5a0d6d2a-464c-4b9c-8406-421c950d210f", "sharing_group_id": "0", "timestamp": "1510829354", "description": "File object describing a file with meta-information", "template_version": "4", "Attribute": [{"comment": "", "category": "Payload delivery", "uuid": "5a0d6d2a-d43c-4c55-95df-4316950d210f", "timestamp": "1510829354", "to_ids": true, "value": "1216da2b3d6e64075e8434be1058de06", "object_relation": "md5", "type": "md5"}, {"comment": "", "category": "Other", "uuid": "5a0d6d2b-bccc-4cbd-ae3a-4a45950d210f", "timestamp": "1510829355", "to_ids": false, "value": "6.27082111511", "object_relation": "entropy", "type": "float"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0d6d2b-8dd8-43ff-aab0-4984950d210f", "timestamp": "1510829355", "to_ids": true, "value": "1216DA2B3D6E64075E8434BE1058DE06", "object_relation": "filename", "type": "filename"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0d6d2b-4e64-4e4d-bd51-4cb9950d210f", "timestamp": "1510829355", "to_ids": true, "value": "5ee752a1b2bcdb84243e615cd67397d965b16490", "object_relation": "sha1", "type": "sha1"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0d6d2b-a2d8-40e5-a43e-458e950d210f", "timestamp": "1510829355", "to_ids": true, "value": "3072:GxXIbbVcpID+5/MiPDH8QnO3oMc+i+TN85mQLP\r\ngpnejnceJEOED:Gx4bbVZD+5\r\n/MiPDchdi+TN85muP0SlO", "object_relation": "ssdeep", "type": "ssdeep"}], "distribution": "5", "meta-category": "file", "name": "file"}], "analysis": "2", "Attribute": [{"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-2ef4-4bae-baa4-4a91950d210f", "timestamp": "1510922092", "to_ids": true, "value": "98.101.211.162", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-ba20-4bc4-8262-4bba950d210f", "timestamp": "1510922092", "to_ids": true, "value": "81.0.213.173", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-9b70-447e-a488-478d950d210f", "timestamp": "1510825132", "to_ids": true, "value": "175.100.189.174", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cab-007c-4517-99e0-433d950d210f", "timestamp": "1510825131", "to_ids": true, "value": "125.212.132.222", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "External analysis", "uuid": "5a0d5c2a-f1e4-4b25-b521-223f950d210f", "timestamp": "1510922092", "to_ids": false, "value": "This joint Technical Alert (TA) is the result of analytic efforts between the Department of Homeland Security (DHS) and the Federal Bureau of Investigation (FBI). Working with U.S. government partners, DHS and FBI identified Internet Protocol (IP) addresses and other indicators of compromise (IOCs) associated with a remote administration tool (RAT) used by the North Korean government\u2014commonly known as FALLCHILL. The U.S. Government refers to malicious cyber activity by the North Korean government as HIDDEN COBRA. For more information on HIDDEN COBRA activity, visit https://www.us-cert.gov/hiddencobra.\r\n\r\nFBI has high confidence that HIDDEN COBRA actors are using the IP addresses\u2014listed in this report\u2019s IOC files\u2014to maintain a presence on victims\u2019 networks and to further network exploitation. DHS and FBI are distributing these IP addresses to enable network defense and reduce exposure to any North Korean government malicious cyber activity.\r\n\r\nThis alert includes IOCs related to HIDDEN COBRA, IP addresses linked to systems infected with FALLCHILL malware, malware descriptions, and associated signatures. This alert also includes suggested response actions to the IOCs provided, recommended mitigation techniques, and information on reporting incidents. If users or administrators detect activity associated with the FALLCHILL malware, they should immediately flag it, report it to the DHS National Cybersecurity and Communications Integration Center (NCCIC) or the FBI Cyber Watch (CyWatch), and give it the highest priority for enhanced mitigation.", "object_relation": null, "type": "comment"}, {"comment": "", "category": "External analysis", "uuid": "5a0d5c0d-b18c-4f6f-aa4f-21c1950d210f", "timestamp": "1510922092", "to_ids": false, "value": "https://www.us-cert.gov/ncas/alerts/TA17-318A", "object_relation": null, "type": "link"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-e5a0-4eb8-aeae-450e950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.118", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-d258-4609-8361-4d7a950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.141", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-86f4-4569-9bd2-44e6950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.196", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-43bc-4e34-bb67-4071950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.5", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-03a4-4235-9147-4ba4950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.50", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-052c-44da-bf20-406a950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.54", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-94a4-4948-b022-4729950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.56", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-98e8-483a-87c0-4806950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.58", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-b8e8-442b-b8db-4c15950d210f", "timestamp": "1510922092", "to_ids": true, "value": "181.119.19.74", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-4968-4900-b36b-4f77950d210f", "timestamp": "1510922092", "to_ids": true, "value": "190.105.225.232", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-ab6c-41d9-8db5-4538950d210f", "timestamp": "1510922092", "to_ids": true, "value": "41.92.208.194", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-7510-42a3-974f-4101950d210f", "timestamp": "1510922092", "to_ids": true, "value": "41.92.208.196", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-e318-4ceb-9e1d-464b950d210f", "timestamp": "1510922092", "to_ids": true, "value": "41.92.208.197", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-f0ac-4308-8aa8-4546950d210f", "timestamp": "1510922092", "to_ids": true, "value": "209.183.21.222", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-7364-4cec-a34d-49d3950d210f", "timestamp": "1510922093", "to_ids": true, "value": "190.82.74.66", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-3548-4317-ba86-47aa950d210f", "timestamp": "1510922093", "to_ids": true, "value": "190.82.86.164", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-19a8-4022-a693-4626950d210f", "timestamp": "1510922093", "to_ids": true, "value": "111.207.78.204", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-f848-4a73-9157-46db950d210f", "timestamp": "1510922093", "to_ids": true, "value": "119.10.74.66", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-18ec-4bc8-a595-460c950d210f", "timestamp": "1510922093", "to_ids": true, "value": "122.114.89.131", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-df54-41a3-9862-48cb950d210f", "timestamp": "1510922093", "to_ids": true, "value": "122.114.94.26", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-406c-4dac-a6fc-411c950d210f", "timestamp": "1510922093", "to_ids": true, "value": "139.217.27.203", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-efec-4716-a5d3-42a7950d210f", "timestamp": "1510922093", "to_ids": true, "value": "221.208.194.72", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-6a8c-4e1a-bad4-467e950d210f", "timestamp": "1510922093", "to_ids": true, "value": "221.235.53.229", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-8bf8-4464-bda7-41b9950d210f", "timestamp": "1510922093", "to_ids": true, "value": "77.78.100.101", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-dd70-41ea-9e72-4316950d210f", "timestamp": "1510922093", "to_ids": true, "value": "62.243.45.227", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-6fe4-48ff-a4da-48d4950d210f", "timestamp": "1510922093", "to_ids": true, "value": "117.232.100.154", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-f0c4-443e-a482-42d6950d210f", "timestamp": "1510922093", "to_ids": true, "value": "59.90.93.138", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-4774-448e-a959-4be3950d210f", "timestamp": "1510922093", "to_ids": true, "value": "125.160.213.239", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-060c-4f32-9ef5-44e7950d210f", "timestamp": "1510922093", "to_ids": true, "value": "27.123.221.66", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-db4c-49cd-8e8e-4d6d950d210f", "timestamp": "1510922093", "to_ids": true, "value": "36.71.90.4", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-52b8-4327-9ba8-48af950d210f", "timestamp": "1510922093", "to_ids": true, "value": "191.233.33.177", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-b904-4e2e-9886-4d18950d210f", "timestamp": "1510922093", "to_ids": true, "value": "200.57.90.108", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-c498-48c9-862e-4e3e950d210f", "timestamp": "1510922093", "to_ids": true, "value": "5.79.99.169", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-71ac-493a-be1e-45a9950d210f", "timestamp": "1510922093", "to_ids": true, "value": "203.160.191.116", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-690c-4409-9a7f-4f46950d210f", "timestamp": "1510922093", "to_ids": true, "value": "196.25.89.30", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-0f08-46a5-9976-4e9d950d210f", "timestamp": "1510922093", "to_ids": true, "value": "82.223.213.115", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-c828-475e-aa90-445b950d210f", "timestamp": "1510922093", "to_ids": true, "value": "82.223.73.81", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-52cc-4c04-b3e0-4bdf950d210f", "timestamp": "1510922093", "to_ids": true, "value": "91.116.139.195", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-5454-4bfa-ac35-4729950d210f", "timestamp": "1510922093", "to_ids": true, "value": "195.74.38.115", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-88e4-4815-bae9-490d950d210f", "timestamp": "1510922093", "to_ids": true, "value": "210.202.40.35", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-64e4-4694-be69-49e4950d210f", "timestamp": "1510922093", "to_ids": true, "value": "104.192.193.149", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-00d4-450d-90a0-4a22950d210f", "timestamp": "1510922093", "to_ids": true, "value": "173.0.129.65", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-44c4-4f44-822c-4a3f950d210f", "timestamp": "1510922093", "to_ids": true, "value": "173.0.129.83", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-2fa4-485a-a67a-42bc950d210f", "timestamp": "1510922093", "to_ids": true, "value": "191.234.40.112", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-811c-4636-8a32-422c950d210f", "timestamp": "1510922093", "to_ids": true, "value": "199.167.100.46", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-8d0c-48d7-a471-4723950d210f", "timestamp": "1510922093", "to_ids": true, "value": "208.180.64.10", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cac-92fc-4454-bc1f-499e950d210f", "timestamp": "1510922093", "to_ids": true, "value": "208.78.33.70", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-8fe8-49f2-826a-4b9d950d210f", "timestamp": "1510922093", "to_ids": true, "value": "208.78.33.82", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-fe48-4022-907e-455a950d210f", "timestamp": "1510922093", "to_ids": true, "value": "216.163.20.178", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-284c-44d1-8bc0-4c23950d210f", "timestamp": "1510922093", "to_ids": true, "value": "50.62.168.157", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-a3bc-47dd-b8bb-43bf950d210f", "timestamp": "1510922093", "to_ids": true, "value": "64.29.144.201", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-b52c-4840-9e6c-411a950d210f", "timestamp": "1510922093", "to_ids": true, "value": "66.175.41.191", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-f1cc-4186-8ddf-4701950d210f", "timestamp": "1510922093", "to_ids": true, "value": "66.232.121.65", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-8ee8-418c-bf8f-41eb950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.11", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-c090-4253-8707-4c41950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.12", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-d178-46f3-bef8-4ee7950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.13", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-ab04-40df-a071-4f0b950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.134", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-81f8-44bc-bd21-4882950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.140", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-4144-45a1-8e13-40c1950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.158", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-0160-47d4-bbe3-4700950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.162", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-9de0-4760-82fc-4864950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.163", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-f54c-42af-ac30-4f89950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.164", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-b57c-4a18-8f1c-4770950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.170", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-b018-4f1d-93af-482a950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.173", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-88b8-4899-83c5-412a950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.179", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-63d4-4033-9899-4982950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.181", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-eaac-431f-a176-430b950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.185", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-897c-4f7a-ba71-429e950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.186", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-1848-4566-84b6-43d8950d210f", "timestamp": "1510922094", "to_ids": true, "value": "66.242.128.223", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-12d0-47f9-9c4c-4191950d210f", "timestamp": "1510922094", "to_ids": true, "value": "71.125.1.130", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-71bc-4cc8-83ca-4866950d210f", "timestamp": "1510922094", "to_ids": true, "value": "71.125.1.132", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-8434-4f4b-8eaa-4809950d210f", "timestamp": "1510922094", "to_ids": true, "value": "71.125.1.133", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-da38-4053-a188-45a3950d210f", "timestamp": "1510922094", "to_ids": true, "value": "71.125.1.138", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-4a28-476e-9df6-4fc5950d210f", "timestamp": "1510922094", "to_ids": true, "value": "72.167.53.183", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-bd9c-4057-b472-4bb0950d210f", "timestamp": "1510922094", "to_ids": true, "value": "75.103.110.134", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-27f0-468c-9143-43f8950d210f", "timestamp": "1510922094", "to_ids": true, "value": "96.65.90.58", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-18a4-447f-ac34-4265950d210f", "timestamp": "1510922094", "to_ids": true, "value": "98.101.211.140", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-cf6c-4ed0-a3b9-480f950d210f", "timestamp": "1510922094", "to_ids": true, "value": "98.101.211.170", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-de7c-441f-be8d-422d950d210f", "timestamp": "1510922094", "to_ids": true, "value": "98.101.211.251", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-1e3c-4d69-b544-4548950d210f", "timestamp": "1510922094", "to_ids": true, "value": "98.113.84.130", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-3470-4089-8adc-40f3950d210f", "timestamp": "1510922094", "to_ids": true, "value": "98.159.16.132", "object_relation": null, "type": "ip-dst"}, {"comment": "C2", "category": "Network activity", "uuid": "5a0d5cad-ec70-4532-9ff5-4167950d210f", "timestamp": "1510922094", "to_ids": true, "value": "197.211.212.14", "object_relation": null, "type": "ip-dst"}, {"comment": "INSTALLATION", "category": "Payload delivery", "uuid": "5a0d5cad-9028-4a7e-b958-4683950d210f", "timestamp": "1510825133", "to_ids": true, "value": "1216da2b3d6e64075e8434be1058de06", "object_relation": null, "type": "md5"}, {"comment": "INSTALLATION", "category": "Payload delivery", "uuid": "5a0d5cad-ea9c-4249-9228-40c9950d210f", "timestamp": "1510825133", "to_ids": true, "value": "e48fe20eb1f5a5887f2ac631fed9ed63", "object_relation": null, "type": "md5"}, {"comment": "", "category": "Network activity", "uuid": "5a0d65c3-59c0-430d-a6f9-4e6a950d210f", "timestamp": "1510827459", "to_ids": true, "value": "10.10.30.110", "object_relation": null, "type": "ip-dst"}, {"comment": "(header)", "category": "Payload delivery", "uuid": "5a0d6a08-d304-4922-924f-7860950d210f", "timestamp": "1510922094", "to_ids": true, "value": "9c58c3fe5f463b33e9d2bc488bf4ae82", "object_relation": null, "type": "md5"}, {"comment": ".text", "category": "Payload delivery", "uuid": "5a0d6a08-c718-42ec-a84a-7860950d210f", "timestamp": "1510922094", "to_ids": true, "value": "5e856b2016485f5d844d07ebc461690c", "object_relation": null, "type": "md5"}, {"comment": ".rdata", "category": "Payload delivery", "uuid": "5a0d6a08-ba98-4007-8907-7860950d210f", "timestamp": "1510922094", "to_ids": true, "value": "063ef94aa302b3de760bbf4ce2f3ef9d", "object_relation": null, "type": "md5"}, {"comment": ".data", "category": "Payload delivery", "uuid": "5a0d6a08-99b4-4f94-9278-7860950d210f", "timestamp": "1510922094", "to_ids": true, "value": "59ad2089dfe1a9456b4b456e62933a32", "object_relation": null, "type": "md5"}, {"comment": ".rsrc", "category": "Payload delivery", "uuid": "5a0d6a08-defc-41fe-b70a-7860950d210f", "timestamp": "1510922094", "to_ids": true, "value": "3e47af504a67377daffd633c5ee43c50", "object_relation": null, "type": "md5"}, {"comment": "On port 443", "category": "Payload delivery", "uuid": "5a0d6a76-7878-4cec-ad85-76fa950d210f", "timestamp": "1510922094", "to_ids": true, "value": "125.212.132.222|443", "object_relation": null, "type": "ip-dst|port"}, {"comment": "On port 443", "category": "Payload delivery", "uuid": "5a0d6a76-e90c-4ece-aa45-76fa950d210f", "timestamp": "1510922094", "to_ids": true, "value": "175.100.189.174|443", "object_relation": null, "type": "ip-dst|port"}, {"comment": "On port 1992", "category": "Payload delivery", "uuid": "5a0d6a76-e5f0-4f3d-b7c0-76fa950d210f", "timestamp": "1510922094", "to_ids": true, "value": "10.10.30.110|1992", "object_relation": null, "type": "ip-dst|port"}, {"comment": "", "category": "External analysis", "uuid": "5a0d6b47-01d4-4bef-b59c-4fcb950d210f", "timestamp": "1510922094", "to_ids": false, "value": "MAR-10135536-A_WHITE_S508C.pdf", "data": "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bG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KICAgICAgICAgPHBkZjpQcm9kdWNlcj5BY3JvYmF0IERpc3RpbGxlciAxMS4wIChXaW5kb3dzKTwvcGRmOlByb2R1Y2VyPgogICAgICAgICA8cGRmOktleXdvcmRzPk1hbHdhcmUgQW5hbHlzaXMgUmVwb3J0LCBNQVIsIDEwMTM1NTM2LUE8L3BkZjpLZXl3b3Jkcz4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5QU2NyaXB0NS5kbGwgVmVyc2lvbiA1LjIuMjwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNy0xMS0xNFQxMjozNToxNi0wNTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE3LTExLTAxVDE1OjI3OjQxLTA0OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNy0xMS0xNFQxMjozNToxNi0wNTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5hcHBsaWNhdGlvbi9wZGY8L2RjOmZvcm1hdD4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5NYWx3YXJlIEFuYWx5c2lzIFJlcG9ydCAoTUFSKSAtIDEwMTM1NTM2LUE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGk+TkNDSUMvVVMtQ0VSVDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvZGM6Y3JlYXRvcj4KICAgICAgICAgPGRjOmRlc2NyaXB0aW9uPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5NYWx3YXJlIEFuYWx5c2lzIFJlcG9ydCAoTUFSKSAtIDEwMTM1NTM2LUE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOmRlc2NyaXB0aW9uPgogICAgICAgICA8ZGM6c3ViamVjdD4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGk+TWFsd2FyZSBBbmFseXNpcyBSZXBvcnQ8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT5NQVI8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT4xMDEzNTUzNi1BPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD51dWlkOjI2MmJhY2RhLWFhOTMtNGI1Ni05MTQ1LWFiNmIwMWI3N2I4YzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo0ZTk0NTYyYi1mMWY0LTRkZGEtOGM5OC1iNDllNDg2NzgxNTI8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4NCmVuZHN0cmVhbQ1lbmRvYmoNNDAgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDcvTGVuZ3RoIDczL04gMS9UeXBlL09ialN0bT4+c3RyZWFtDQpo3jI0tTRSMFCwsdF3zi/NK1Gw0PfOTCmONjS1NAcKBykYgkljMGkKJi0g4hAJQxMIBVYcqx9SWZCqH5CYnlpsZwcQYAChsxTuDQplbmRzdHJlYW0NZW5kb2JqDTQxIDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9GaXJzdCA3L0xlbmd0aCAyMjkvTiAxL1R5cGUvT2JqU3RtPj5zdHJlYW0NCmjelI6xasMwFEV/5W2xILb0bCuhJQSM3aEUl2Cn7eJFsQVVEVZ4kjH5+wraJUOH7vfcc1A+FCDgcODVEj4dJa91/Vzztz6tn7oz4zVpFYybGxV00jzmAveIAlHm+xJTUW6E2PyuInzqRzLXILPJWnjX5CMJMsuznPEXfVsdTT5plV0VaahmZW/eeOj01VHYQlt1W4jnhZTFLq0Yb91058US80LiLhXyx3siNy2jpqQayV1UgMb4YKzVBIiZgCH5MPPkVj8wxvvl8qXH8Jc/jmPAwCC9azibYPX/mOPxW4ABAIYTZZYNCmVuZHN0cmVhbQ1lbmRvYmoNNDIgMCBvYmoNPDwvRGVjb2RlUGFybXM8PC9Db2x1bW5zIDUvUHJlZGljdG9yIDEyPj4vRmlsdGVyL0ZsYXRlRGVjb2RlL0lEWzxFMEQ4RkQ5QjEzNjc0RjVDMUQyRkQ2MEFFQkY4NDdDQT48RTA3MEU4MTFFRUM1MzI0MTkwOEM0NzI2NjAzODAzN0Q+XS9JbmZvIDE1OTMgMCBSL0xlbmd0aCAyMzgvUm9vdCAxNTk1IDAgUi9TaXplIDE1OTQvVHlwZS9YUmVmL1dbMSAzIDFdPj5zdHJlYW0NCmje7NK9agJBGIXhmVkVIoI/aJmIvWKT1souXbAIWFnZq2DwAmxE7CwtbOy9DiFegJW9uYEU/nwnxRZi78K7xcPHmWVnZjnB2RO8G+xccM6/mfmPeC7MzVA3S13TDbVa1WpfyURJzSz+aP6WTX3tV++M4qR81DwzUyczOtz0uU+bM2Mzvda816zdM2fNHTP7peRdtmRDbuVUvsie9qrIhc78f56Nkvbt7pflq5LogV46n1T98S45J/tG+KRNW/EfkF4hvUJ6hUivkF4hvUKkV0ivkF4h0iukV0ivEOkVJrVX/i+ew0WJuwowALH8NaANCmVuZHN0cmVhbQ1lbmRvYmoNc3RhcnR4cmVmDQoxMTYNCiUlRU9GDQo=", "Tag": [{"colour": "#ffffff", "exportable": true, "name": "tlp:white"}], "object_relation": null, "type": "attachment"}, {"comment": "(header)", "category": "Payload delivery", "uuid": "5a0d6e08-0298-459d-859f-7779950d210f", "timestamp": "1510922094", "to_ids": true, "value": "08697ebe4017d27c904c7117bb109ca8", "object_relation": null, "type": "md5"}, {"comment": ".test", "category": "Payload delivery", "uuid": "5a0d6e08-3238-4c4b-a0d1-7779950d210f", "timestamp": "1510922094", "to_ids": true, "value": "cacb1aba3ba5bddfc2f023bb4ff3c54d", "object_relation": null, "type": "md5"}, {"comment": ".rdata", "category": "Payload delivery", "uuid": "5a0d6e08-a908-4ee6-b576-7779950d210f", "timestamp": "1510922095", "to_ids": true, "value": "0a36c62d9bd091d84219f7d34cf59284", "object_relation": null, "type": "md5"}, {"comment": ".data", "category": "Payload delivery", "uuid": "5a0d6e08-b020-4b90-bccf-7779950d210f", "timestamp": "1510922095", "to_ids": true, "value": "5c31589e75fc435a827c73e1b5bb4bca", "object_relation": null, "type": "md5"}, {"comment": ".pdata", "category": "Payload delivery", "uuid": "5a0d6e08-45f0-4e70-9ce1-7779950d210f", "timestamp": "1510922095", "to_ids": true, "value": "afc6eebc27a713b8010efe7f16ee8fab", "object_relation": null, "type": "md5"}, {"comment": ".rsrc", "category": "Payload delivery", "uuid": "5a0d6e09-7780-4d52-967d-7779950d210f", "timestamp": "1510922095", "to_ids": true, "value": "9a33838895830247744985365b8b2948", "object_relation": null, "type": "md5"}, {"comment": ".reloc", "category": "Payload delivery", "uuid": "5a0d6e09-1a98-49dc-a594-7779950d210f", "timestamp": "1510922095", "to_ids": true, "value": "d5815368ff7a4f0c4b82c70660aa7028", "object_relation": null, "type": "md5"}, {"comment": "INSTALLATION - Xchecked via VT: e48fe20eb1f5a5887f2ac631fed9ed63", "category": "Payload delivery", "uuid": "5a0ed76f-4cec-4790-ac37-48a502de0b81", "timestamp": "1510922095", "to_ids": true, "value": "a606716355035d4a1ea0b15f3bee30aad41a2c32df28c2d468eafd18361d60d6", "object_relation": null, "type": "sha256"}, {"comment": "INSTALLATION - Xchecked via VT: e48fe20eb1f5a5887f2ac631fed9ed63", "category": "External analysis", "uuid": "5a0ed76f-74c8-4636-b565-4ca302de0b81", "timestamp": "1510922095", "to_ids": false, "value": "https://www.virustotal.com/file/a606716355035d4a1ea0b15f3bee30aad41a2c32df28c2d468eafd18361d60d6/analysis/1510823064/", "object_relation": null, "type": "link"}, {"comment": "INSTALLATION - Xchecked via VT: 1216da2b3d6e64075e8434be1058de06", "category": "Payload delivery", "uuid": "5a0ed76f-d3ac-4e29-b8f3-43bf02de0b81", "timestamp": "1510922095", "to_ids": true, "value": "0a118eb23399000d148186b9079fa59caf4c3faa7e7a8f91533e467ac9b6ff41", "object_relation": null, "type": "sha256"}, {"comment": "INSTALLATION - Xchecked via VT: 1216da2b3d6e64075e8434be1058de06", "category": "External analysis", "uuid": "5a0ed76f-45e4-4d7d-8556-4dca02de0b81", "timestamp": "1510922095", "to_ids": false, "value": "https://www.virustotal.com/file/0a118eb23399000d148186b9079fa59caf4c3faa7e7a8f91533e467ac9b6ff41/analysis/1510822839/", "object_relation": null, "type": "link"}], "Tag": [{"colour": "#004646", "exportable": true, "name": "type:OSINT"}, {"colour": "#ffffff", "exportable": true, "name": "tlp:white"}, {"colour": "#002b4a", "exportable": true, "name": "osint:source-type=\"technical-report\""}, {"colour": "#13eb00", "exportable": true, "name": "misp-galaxy:threat-actor=\"Lazarus Group\""}, {"colour": "#0088cc", "exportable": true, "name": "misp-galaxy:rat=\"FALLCHILL\""}], "published": false, "date": "2017-11-14", "Orgc": {"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f", "name": "CIRCL"}, "threat_level_id": "3", "uuid": "5a0d5bf4-99c8-4f15-9879-22b1950d210f"}} \ No newline at end of file diff --git a/tests/reportlab_testfiles/to_delete3.json b/tests/reportlab_testfiles/to_delete3.json new file mode 100644 index 0000000..5339cf2 --- /dev/null +++ b/tests/reportlab_testfiles/to_delete3.json @@ -0,0 +1 @@ +{"Event": {"info": "OSINT - Mitigating and eliminating info-stealing Qakbot and Emotet in corporate networks", "publish_timestamp": "0", "timestamp": "1511184352", "Object": [{"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0acc3f-e330-4e19-b44c-4182950d210f", "sharing_group_id": "0", "timestamp": "1510657087", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0acc3f-cc94-4758-b472-4f0d950d210f", "timestamp": "1510657087", "to_ids": false, "value": "995", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0acc3f-9d2c-4cb7-86b7-4f26950d210f", "timestamp": "1510657087", "to_ids": true, "value": "64.183.173.170", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0acc5a-879c-469b-b4d6-4e68950d210f", "sharing_group_id": "0", "timestamp": "1510657114", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0acc5a-d424-4572-965f-4399950d210f", "timestamp": "1510657114", "to_ids": false, "value": "993", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0acc5a-b168-42f0-b18f-4d2f950d210f", "timestamp": "1510657114", "to_ids": true, "value": "67.213.243.228", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0accd4-f164-4638-8503-080d950d210f", "sharing_group_id": "0", "timestamp": "1510657236", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0accd4-b2d0-4396-ad98-080d950d210f", "timestamp": "1510657236", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0accd4-b2b8-48f3-830c-080d950d210f", "timestamp": "1510657236", "to_ids": true, "value": "96.67.244.225", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0acced-4fe4-4b29-9407-4db2950d210f", "sharing_group_id": "0", "timestamp": "1510657261", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0acced-c8f8-43ff-b64d-4ac0950d210f", "timestamp": "1510657261", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0acced-5fe4-4217-b75a-42d9950d210f", "timestamp": "1510657261", "to_ids": true, "value": "173.25.234.18", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0acd03-9880-4d9b-8816-0c9f950d210f", "sharing_group_id": "0", "timestamp": "1510657283", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0acd03-52f0-43b8-b511-0c9f950d210f", "timestamp": "1510657283", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0acd03-e63c-4b5f-b67d-0c9f950d210f", "timestamp": "1510657283", "to_ids": true, "value": "24.123.151.58", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0acdd2-42b0-4178-9599-0ab7950d210f", "sharing_group_id": "0", "timestamp": "1510657490", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0acdd2-df68-4c66-9b29-0ab7950d210f", "timestamp": "1510657490", "to_ids": false, "value": "995", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0acdd3-27dc-4e07-9834-0ab7950d210f", "timestamp": "1510657491", "to_ids": true, "value": "76.164.161.46", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0ace3f-f0f8-481b-b90f-0cdb950d210f", "sharing_group_id": "0", "timestamp": "1510657599", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0ace3f-a9c8-476c-a448-0cdb950d210f", "timestamp": "1510657599", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0ace3f-dd14-49d6-9c9e-0cdb950d210f", "timestamp": "1510657599", "to_ids": true, "value": "68.115.254.146", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aebe2-710c-459f-94f6-0d11950d210f", "sharing_group_id": "0", "timestamp": "1510665186", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aebe2-ce60-4c18-9163-0d11950d210f", "timestamp": "1510665186", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aebe2-14d0-4c77-b265-0d11950d210f", "timestamp": "1510665186", "to_ids": true, "value": "198.57.88.73", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aece9-8a7c-4e23-a82e-0d11950d210f", "sharing_group_id": "0", "timestamp": "1510665449", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aecea-6a34-4d8a-a45c-0d11950d210f", "timestamp": "1510665450", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aecea-4364-41ff-9330-0d11950d210f", "timestamp": "1510665450", "to_ids": true, "value": "47.21.79.34", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aed28-c8b0-415b-b8f8-0d11950d210f", "sharing_group_id": "0", "timestamp": "1510665512", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aed28-f570-4458-ada1-0d11950d210f", "timestamp": "1510665512", "to_ids": false, "value": "465", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aed28-232c-4fc5-a562-0d11950d210f", "timestamp": "1510665512", "to_ids": true, "value": "174.51.185.121", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aed3e-9dc4-4f60-b423-4595950d210f", "sharing_group_id": "0", "timestamp": "1510665534", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aed3e-96e4-4749-b7e4-42b1950d210f", "timestamp": "1510665534", "to_ids": false, "value": "993", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aed3e-ac88-4281-a110-4536950d210f", "timestamp": "1510665534", "to_ids": true, "value": "71.3.55.80", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aed4f-581c-4aec-8ef1-0d11950d210f", "sharing_group_id": "0", "timestamp": "1510665551", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aed4f-39bc-45ff-a36e-0d11950d210f", "timestamp": "1510665551", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aed4f-d610-4a5a-8114-0d11950d210f", "timestamp": "1510665551", "to_ids": true, "value": "88.244.177.127", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aee8a-fb14-4018-9413-4a3f950d210f", "sharing_group_id": "0", "timestamp": "1510665866", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aee8a-0af0-4cb2-90ef-4db3950d210f", "timestamp": "1510665866", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aee8a-2ba0-4a2e-9064-49c1950d210f", "timestamp": "1510665866", "to_ids": true, "value": "180.93.148.41", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aee9b-caf8-4ba4-af30-c1d9950d210f", "sharing_group_id": "0", "timestamp": "1510665883", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aee9b-8250-4e0e-9089-c1d9950d210f", "timestamp": "1510665883", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aee9b-0a88-425b-a3e6-c1d9950d210f", "timestamp": "1510665883", "to_ids": true, "value": "101.51.40.175", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aeeb0-5b5c-463f-b010-4dcf950d210f", "sharing_group_id": "0", "timestamp": "1510665904", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aeeb1-86f4-4742-b2db-464a950d210f", "timestamp": "1510665905", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aeeb1-6b0c-4a24-98c0-4aef950d210f", "timestamp": "1510665905", "to_ids": true, "value": "73.166.94.110", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aeefe-4eb4-43ad-9b97-4fec950d210f", "sharing_group_id": "0", "timestamp": "1510665982", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aeefe-d074-476e-b474-40f0950d210f", "timestamp": "1510665982", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aeefe-3574-48b1-a0c5-4c9e950d210f", "timestamp": "1510665982", "to_ids": true, "value": "71.88.202.122", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aef74-a3f4-4cff-b3ff-c1d9950d210f", "sharing_group_id": "0", "timestamp": "1510666100", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aef74-0264-4ce3-ace4-c1d9950d210f", "timestamp": "1510666100", "to_ids": false, "value": "990", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aef74-84d0-47cd-bbbd-c1d9950d210f", "timestamp": "1510666100", "to_ids": true, "value": "74.5.136.50", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aef88-7b34-4633-983a-4a4b950d210f", "sharing_group_id": "0", "timestamp": "1510666120", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aef88-b638-43b2-a9b2-4db7950d210f", "timestamp": "1510666120", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aef88-e260-4d88-a629-4858950d210f", "timestamp": "1510666120", "to_ids": true, "value": "89.43.179.209", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0aef9f-d298-42b6-8fd3-44b6950d210f", "sharing_group_id": "0", "timestamp": "1510666143", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0aef9f-e708-42e2-b69e-48f0950d210f", "timestamp": "1510666143", "to_ids": false, "value": "995", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0aef9f-94bc-4fe8-9aeb-472f950d210f", "timestamp": "1510666143", "to_ids": true, "value": "211.27.18.233", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0af012-82e4-49fa-9ca6-43e0950d210f", "sharing_group_id": "0", "timestamp": "1510666258", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0af012-9c6c-4cf7-9430-491a950d210f", "timestamp": "1510666258", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0af012-58a8-4aee-9c9a-45c9950d210f", "timestamp": "1510666258", "to_ids": true, "value": "96.82.91.67", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0af027-e910-4a68-8d5a-0d11950d210f", "sharing_group_id": "0", "timestamp": "1510666279", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0af027-cc2c-4f89-a4cc-0d11950d210f", "timestamp": "1510666279", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0af027-5d60-41de-b6ba-0d11950d210f", "timestamp": "1510666279", "to_ids": true, "value": "98.194.132.179", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0af038-fa20-4d65-928f-be53950d210f", "sharing_group_id": "0", "timestamp": "1510666296", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0af038-8b80-47e0-9cac-be53950d210f", "timestamp": "1510666296", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0af038-2a10-4cfc-ad7c-be53950d210f", "timestamp": "1510666296", "to_ids": true, "value": "98.113.137.220", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0af04d-9574-4849-9eb7-4e6b950d210f", "sharing_group_id": "0", "timestamp": "1510666317", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0af04d-6518-4261-9500-4cac950d210f", "timestamp": "1510666317", "to_ids": false, "value": "2222", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0af04d-d8f8-4b29-827b-4872950d210f", "timestamp": "1510666317", "to_ids": true, "value": "24.184.200.177", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}, {"comment": "", "template_uuid": "9f8cea74-16fe-4968-a2b4-026676949ac6", "uuid": "5a0af05e-299c-445b-88c7-4fc7950d210f", "sharing_group_id": "0", "timestamp": "1510666334", "description": "An IP address and a port seen as a tuple (or as a triple) in a specific time frame.", "template_version": "4", "Attribute": [{"comment": "", "category": "Network activity", "uuid": "5a0af05e-5280-4c91-a7df-4605950d210f", "timestamp": "1510666334", "to_ids": false, "value": "443", "object_relation": "dst-port", "type": "port"}, {"comment": "", "category": "Network activity", "uuid": "5a0af05e-95dc-46a6-9b5a-4590950d210f", "timestamp": "1510666334", "to_ids": true, "value": "105.224.247.34", "object_relation": "ip", "type": "ip-dst"}], "distribution": "5", "meta-category": "network", "name": "ip-port"}], "analysis": "2", "Attribute": [{"comment": "", "category": "External analysis", "uuid": "5a0ac04b-331c-457e-9154-4535950d210f", "timestamp": "1510922403", "to_ids": false, "value": "https://blogs.technet.microsoft.com/mmpc/2017/11/06/mitigating-and-eliminating-info-stealing-qakbot-and-emotet-in-corporate-networks/", "Tag": [{"colour": "#00223b", "exportable": true, "name": "osint:source-type=\"blog-post\""}], "object_relation": null, "type": "link"}, {"comment": "", "category": "External analysis", "uuid": "5a0ac07e-7154-4727-9128-4b2b950d210f", "timestamp": "1510922403", "to_ids": false, "value": "The threat to information is greater than ever, with data breaches, phishing attacks, and other forms of information theft like point-of-sale malware and ATM hacks becoming all too common in today's threat landscape. Information-stealing trojans are in the same category of threats that deliver a steady stream of risk to data and can lead to significant financial loss.\r\n\r\nQakbot and Emotet are information stealers that have been showing renewed activity in recent months. These malware families are technically different, but they share many similarities in behavior. They both have the ultimate goal of stealing online banking credentials that malware operators can then use to steal money from online banking accounts. They can also steal other sensitive information using techniques like keylogging.", "object_relation": null, "type": "comment"}, {"comment": "Qakbot malware", "category": "Payload delivery", "uuid": "5a0ac277-6480-4635-a01f-4b80950d210f", "timestamp": "1510922403", "to_ids": true, "value": "da00823090dae3dae452ddc8a4c2a3c087389b4aacf1f0c12d13c83c9fcaef9c", "object_relation": null, "type": "sha256"}, {"comment": "Qakbot malware", "category": "Payload delivery", "uuid": "5a0ac277-b4a0-490f-8e6a-4941950d210f", "timestamp": "1510922403", "to_ids": true, "value": "ca2d536b91b15e7fc44ec93bbed1f0f46ae65c723b8a4823253a2a91b8241f9a", "object_relation": null, "type": "sha256"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0ac405-e138-4948-8fd4-4827950d210f", "timestamp": "1510922403", "to_ids": true, "value": "%APPDATA%\\Microsoft\\Cexpalgxx\\Cexpalgxx.exe", "object_relation": null, "type": "filename"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0ac405-1734-4d67-9c55-4422950d210f", "timestamp": "1510922403", "to_ids": true, "value": "%APPDATA%\\Microsoft\\Cexpalgxx\\Cexpalgxx32.dll", "object_relation": null, "type": "filename"}, {"comment": "", "category": "Persistence mechanism", "uuid": "5a0ac48c-b1fc-4778-9481-41b5950d210f", "timestamp": "1510922404", "to_ids": false, "value": "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", "object_relation": null, "type": "regkey"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-bfa0-4123-a4c6-46e3950d210f", "timestamp": "1510922404", "to_ids": true, "value": "104.236.252.178", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-1274-4dff-b646-43f4950d210f", "timestamp": "1510922404", "to_ids": true, "value": "162.243.159.58", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-8568-4190-8a0b-489e950d210f", "timestamp": "1510922404", "to_ids": true, "value": "45.33.55.157", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-74d4-41c3-b9aa-4102950d210f", "timestamp": "1510922404", "to_ids": true, "value": "77.244.245.37", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-2050-407e-b273-4948950d210f", "timestamp": "1510922404", "to_ids": true, "value": "192.81.212.79", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-2ae4-4411-818f-4932950d210f", "timestamp": "1510922404", "to_ids": true, "value": "173.212.192.45", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-15f0-4c1f-a22e-4a3a950d210f", "timestamp": "1510922404", "to_ids": true, "value": "103.16.131.20", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-9e94-47b9-8d1e-4867950d210f", "timestamp": "1510922404", "to_ids": true, "value": "195.78.33.200", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-97a8-4b76-bf49-4e0d950d210f", "timestamp": "1510922404", "to_ids": true, "value": "50.116.54.16", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-1908-41f4-ae48-4aa8950d210f", "timestamp": "1510922404", "to_ids": true, "value": "212.83.166.45", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-2b14-4a7c-86d9-46cd950d210f", "timestamp": "1510922404", "to_ids": true, "value": "137.74.254.64", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-ae4c-4005-bd7b-4548950d210f", "timestamp": "1510922404", "to_ids": true, "value": "104.227.137.34", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-b178-4a7e-b14b-4a16950d210f", "timestamp": "1510922404", "to_ids": true, "value": "188.165.220.214", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-f5a0-4806-9b9f-4519950d210f", "timestamp": "1510922404", "to_ids": true, "value": "85.143.221.180", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-57c8-4d89-916f-486f950d210f", "timestamp": "1510922404", "to_ids": true, "value": "119.82.27.246", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-1a24-4ae0-a9fc-4823950d210f", "timestamp": "1510922404", "to_ids": true, "value": "194.88.246.7", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-8fb0-49d9-ae66-4eb7950d210f", "timestamp": "1510922404", "to_ids": true, "value": "206.214.220.79", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-debc-4839-80be-4b11950d210f", "timestamp": "1510922404", "to_ids": true, "value": "173.230.136.67", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Network activity", "uuid": "5a0ac4d2-1068-4201-9cc0-4b86950d210f", "timestamp": "1510922404", "to_ids": true, "value": "173.224.218.25", "object_relation": null, "type": "ip-dst"}, {"comment": "", "category": "Persistence mechanism", "uuid": "5a0ac521-3dfc-422a-b3fa-4d7c950d210f", "timestamp": "1510922404", "to_ids": false, "value": "%appdata%\\roaming\\microsoft\\windows\\start menu\\programs\\startup\\[random].lnk", "object_relation": null, "type": "regkey"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0ac521-ca08-4726-bad0-4466950d210f", "timestamp": "1510922404", "to_ids": true, "value": "%Appdata%\\local\\[random]\\[random].exe", "object_relation": null, "type": "filename"}, {"comment": "", "category": "Persistence mechanism", "uuid": "5a0ac521-b370-4446-b84e-4bb2950d210f", "timestamp": "1510922404", "to_ids": false, "value": "%localappdata%\\microsoft\\windows", "object_relation": null, "type": "regkey"}, {"comment": "", "category": "Payload delivery", "uuid": "5a0ac521-ab0c-4ac5-b31f-4cf5950d210f", "timestamp": "1510922404", "to_ids": true, "value": "%WINDIR%\\System32\\netshedule.exe", "object_relation": null, "type": "filename"}, {"comment": "Emotet downloader", "category": "Payload delivery", "uuid": "5a0ac577-0aec-403a-b697-4d69950d210f", "timestamp": "1510922404", "to_ids": true, "value": "4ce5366c7eef1fff1260d5d7a0aec72c1246621838bf8df07f4a6ab3e5369d96", "object_relation": null, "type": "sha256"}, {"comment": "Emotet malware", "category": "Payload delivery", "uuid": "5a0ac577-90f4-482f-b813-4e55950d210f", "timestamp": "1510922404", "to_ids": true, "value": "ffcb204da3ff72d268c8ac065c2e7cce5c65fafc2f549d92d0c280c6099bd440", "object_relation": null, "type": "sha256"}, {"comment": "Emotet malware", "category": "Payload delivery", "uuid": "5a0ac577-9008-42f4-a39c-4dc9950d210f", "timestamp": "1510922404", "to_ids": true, "value": "59639027a7fd487295bad10db896528ea223684e6595cae4ce9a0bec8d809087", "object_relation": null, "type": "sha256"}, {"comment": "Emotet malware - Xchecked via VT: 59639027a7fd487295bad10db896528ea223684e6595cae4ce9a0bec8d809087", "category": "Payload delivery", "uuid": "5a0ed8a4-6294-41ce-ae02-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "9214359938285f26785f7eaf25a74dddea678065", "object_relation": null, "type": "sha1"}, {"comment": "Emotet malware - Xchecked via VT: 59639027a7fd487295bad10db896528ea223684e6595cae4ce9a0bec8d809087", "category": "Payload delivery", "uuid": "5a0ed8a4-8cbc-4980-a1c7-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "5aa9fa89cee3ffc4c3009e34db830de0", "object_relation": null, "type": "md5"}, {"comment": "Emotet malware - Xchecked via VT: 59639027a7fd487295bad10db896528ea223684e6595cae4ce9a0bec8d809087", "category": "External analysis", "uuid": "5a0ed8a4-1f84-4696-a287-e7e802de0b81", "timestamp": "1510922404", "to_ids": false, "value": "https://www.virustotal.com/file/59639027a7fd487295bad10db896528ea223684e6595cae4ce9a0bec8d809087/analysis/1506215055/", "object_relation": null, "type": "link"}, {"comment": "Emotet malware - Xchecked via VT: ffcb204da3ff72d268c8ac065c2e7cce5c65fafc2f549d92d0c280c6099bd440", "category": "Payload delivery", "uuid": "5a0ed8a4-1748-4308-a4e3-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "a33763608d07880c5ca31fd68e30355c04201c92", "object_relation": null, "type": "sha1"}, {"comment": "Emotet malware - Xchecked via VT: ffcb204da3ff72d268c8ac065c2e7cce5c65fafc2f549d92d0c280c6099bd440", "category": "Payload delivery", "uuid": "5a0ed8a4-073c-4f4c-aea8-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "03b933fb1b471d7710d82d8b3f6c62b1", "object_relation": null, "type": "md5"}, {"comment": "Emotet malware - Xchecked via VT: ffcb204da3ff72d268c8ac065c2e7cce5c65fafc2f549d92d0c280c6099bd440", "category": "External analysis", "uuid": "5a0ed8a4-a5ec-4828-9615-e7e802de0b81", "timestamp": "1510922404", "to_ids": false, "value": "https://www.virustotal.com/file/ffcb204da3ff72d268c8ac065c2e7cce5c65fafc2f549d92d0c280c6099bd440/analysis/1510558151/", "object_relation": null, "type": "link"}, {"comment": "Emotet downloader - Xchecked via VT: 4ce5366c7eef1fff1260d5d7a0aec72c1246621838bf8df07f4a6ab3e5369d96", "category": "Payload delivery", "uuid": "5a0ed8a4-690c-47b9-8647-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "82519982e32708e94c54ffce3c652714049a04f6", "object_relation": null, "type": "sha1"}, {"comment": "Emotet downloader - Xchecked via VT: 4ce5366c7eef1fff1260d5d7a0aec72c1246621838bf8df07f4a6ab3e5369d96", "category": "Payload delivery", "uuid": "5a0ed8a4-0868-42fa-ad0f-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "517d9598ac8aa0ef0cb7145ffd64805e", "object_relation": null, "type": "md5"}, {"comment": "Emotet downloader - Xchecked via VT: 4ce5366c7eef1fff1260d5d7a0aec72c1246621838bf8df07f4a6ab3e5369d96", "category": "External analysis", "uuid": "5a0ed8a4-6c28-4f4a-8db3-e7e802de0b81", "timestamp": "1510922404", "to_ids": false, "value": "https://www.virustotal.com/file/4ce5366c7eef1fff1260d5d7a0aec72c1246621838bf8df07f4a6ab3e5369d96/analysis/1510180240/", "object_relation": null, "type": "link"}, {"comment": "Qakbot malware - Xchecked via VT: ca2d536b91b15e7fc44ec93bbed1f0f46ae65c723b8a4823253a2a91b8241f9a", "category": "Payload delivery", "uuid": "5a0ed8a4-fd94-4d5f-8e45-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "74153fa3ca1a97b68fdd31fa02c3e16daa03ac59", "object_relation": null, "type": "sha1"}, {"comment": "Qakbot malware - Xchecked via VT: ca2d536b91b15e7fc44ec93bbed1f0f46ae65c723b8a4823253a2a91b8241f9a", "category": "Payload delivery", "uuid": "5a0ed8a4-1e1c-4eca-8532-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "54240940b30c9f21e006d87371f490e6", "object_relation": null, "type": "md5"}, {"comment": "Qakbot malware - Xchecked via VT: ca2d536b91b15e7fc44ec93bbed1f0f46ae65c723b8a4823253a2a91b8241f9a", "category": "External analysis", "uuid": "5a0ed8a4-2ee8-44be-abd5-e7e802de0b81", "timestamp": "1510922404", "to_ids": false, "value": "https://www.virustotal.com/file/ca2d536b91b15e7fc44ec93bbed1f0f46ae65c723b8a4823253a2a91b8241f9a/analysis/1510257822/", "object_relation": null, "type": "link"}, {"comment": "Qakbot malware - Xchecked via VT: da00823090dae3dae452ddc8a4c2a3c087389b4aacf1f0c12d13c83c9fcaef9c", "category": "Payload delivery", "uuid": "5a0ed8a4-4da0-47ea-9e6d-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "4c04c92cf88dc1a0cc4829229786ac50c1a51aa5", "object_relation": null, "type": "sha1"}, {"comment": "Qakbot malware - Xchecked via VT: da00823090dae3dae452ddc8a4c2a3c087389b4aacf1f0c12d13c83c9fcaef9c", "category": "Payload delivery", "uuid": "5a0ed8a5-a0cc-446a-8c32-e7e802de0b81", "timestamp": "1510922404", "to_ids": true, "value": "692802635dbd973b7944ebc8dbc22e2a", "object_relation": null, "type": "md5"}, {"comment": "Qakbot malware - Xchecked via VT: da00823090dae3dae452ddc8a4c2a3c087389b4aacf1f0c12d13c83c9fcaef9c", "category": "External analysis", "uuid": "5a0ed8a5-2c5c-4318-9715-e7e802de0b81", "timestamp": "1510922405", "to_ids": false, "value": "https://www.virustotal.com/file/da00823090dae3dae452ddc8a4c2a3c087389b4aacf1f0c12d13c83c9fcaef9c/analysis/1510111314/", "object_relation": null, "type": "link"}], "Tag": [{"colour": "#004646", "exportable": true, "name": "type:OSINT"}, {"colour": "#ffffff", "exportable": true, "name": "tlp:white"}, {"colour": "#00223b", "exportable": true, "name": "osint:source-type=\"blog-post\""}, {"colour": "#0088cc", "exportable": true, "name": "misp-galaxy:tool=\"Emotet\""}, {"colour": "#0088cc", "exportable": true, "name": "misp-galaxy:banker=\"Qakbot\""}], "published": false, "date": "2017-11-06", "Orgc": {"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f", "name": "CIRCL"}, "threat_level_id": "3", "uuid": "5a0ac036-6fbc-4855-83af-422b950d210f"}} \ No newline at end of file diff --git a/tests/reportlab_testoutputs/basic_event.pdf b/tests/reportlab_testoutputs/basic_event.pdf new file mode 100644 index 0000000..d967730 --- /dev/null +++ b/tests/reportlab_testoutputs/basic_event.pdf @@ -0,0 +1,391 @@ +%PDF-1.4 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font +>> +endobj +5 0 obj +<< +/Contents 26 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font +>> +endobj +7 0 obj +<< +/Contents 27 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +8 0 obj +<< +/Contents 28 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +9 0 obj +<< +/Contents 29 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +10 0 obj +<< +/Contents 30 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +11 0 obj +<< +/Contents 31 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +12 0 obj +<< +/Contents 32 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +13 0 obj +<< +/Contents 33 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +14 0 obj +<< +/Contents 34 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +15 0 obj +<< +/Contents 35 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +16 0 obj +<< +/Contents 36 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +17 0 obj +<< +/Contents 37 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +18 0 obj +<< +/Contents 38 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +19 0 obj +<< +/Contents 39 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +20 0 obj +<< +/Contents 40 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +21 0 obj +<< +/Contents 41 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +22 0 obj +<< +/Contents 42 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +23 0 obj +<< +/PageMode /UseNone /Pages 25 0 R /Type /Catalog +>> +endobj +24 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20190221153022-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153022-01'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +25 0 obj +<< +/Count 17 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R + 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R ] /Type /Pages +>> +endobj +26 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1591 +>> +stream +Gb!;d9lJcG&A@C2&D;s\5V.[4,%[F&2JJ(#]#ejM*Z!s.Od/=gChI<,7fWFIAp"u9;'T8T]Ns'GCf@L&0>e+4W)bBbi+SQ5D'[g77egONb+ONT`%`a8MM[S9+:+.F4cQE!=t1Zlhf`[B%M*sg'Vs%h'IJ:#ote"[5tOg2F#Z=9JE=N$$k-br08a-bI.l]SXHO:7KS@R7RG`-.$CsI82+r^0I2_XGOj/+-HmHcs>lBi1J=uM[^a$6tIoBZRh*HaCHjL61IZ)^I@'39bj.=@(-A^\B,19RPq'+!D!#LgCug#MLFq^3i"_Vubeb@Z`KJWj-E-KEG(CTST56gN!2fhr#Ym#n=3*,:'\m@i=/8?_V.P/#H2ghp2e;>XSl"IO1I<>+<$%##KM;Bb(q5mX&_:/so!NImM&D@o;[#;fQjWZ^eUU""4k_&]PGIGqJ(BjdjMI]&!b1h[#<$arjGt'/RG"l[@k0Zqc;Fkc2CrWmb^cEa0);J2)UVjn)Gn1Dp,Zk1cZ$n[uVp:EY"0SleN,iDgnMoXXIIuqa>b5i974W<55IED]\8ArE'[q4eka,fk[_2j^W7e^qd=^i^*Hu%k7-AcfBYmp,&.(56oGkKOkP7m4\\=7ekIKj(V[hnAnGR<$53r+2@Cj-*]tJ=)odLYrD01\*OUP%Uq+2q.dQ?6t0RtuZ)3A\P5iKVo`0A06NfR-P]EGG?0+_1F7DaqP0AVl;7U`QNNDLUe#'jA7e[/TDjW"dREF*5BFa73Rm>]5WPJusKFRi@]MQs`!VHMW<.1j`3lP*Af/Y7k7,W'Y+!d%ui.6Oo)+B"cGO&RLt,LqYI8D,G]86N%oCSY"sEk.U@=-%K1`(foNF)k3]mc'#PH8?6W)l;H^o.@8)6WFqmKREb9;6@nt][p?ZG7dSNOmDK@b?(u)Ve#7rHmL:a9(l<.=0aTZAFH.<,qF%/p85r5Z8/=gn!&2G/$hk9p;g0Q199L(M**(3ZV'XTaA[+7X5kmZ4=)A]9$Ha8Xgj3d\%=fOp~>endstream +endobj +27 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 2120 +>> +stream +Gb"/)gN)%,&:N/3m'Mro2e1:GnWoS,36l*`8Rg:KqW&HKKIk-U-mW>'J):DU;PYnf'((XIes7u=@^-.C$XaJo;]tk0eaG0qGWg_TG8)HXi>AMt"UmW4gYq)fTP@n#8_([YG-o[t#iG?dn+[kN[CNi"@1!8+2].!riCi5/-\eV6)6p0])$e1q2Pl'M4>rD'\[ZG\-6Q!\UN[PY<9V%^5<.6*Lds8'apuF'']Ir-_NlUE@GaM)?ci7+_KB\@URo<,".+8HJ=D$#2oAsn]:()7\@+bL!#FZm-lB]=fKSn[6fI1boV6J5W^:B$LFq%oi*15HK(r0g'j;)2q)KgHI_d;P\20HC/]m4@>l8D_:Pk4hUFQn\o"oS9F8,-jkYXJ]Td/Ig;6$m,a!Y:Pf6-FZ,ClDZ@"<7Q>i663$_stN:1"[QoX#m2WqL^XD+:tXY03Sd89;?hbCdGKKZ9KrEHR.*4t]eE(o9XC'uW5Qfhj#>/Y$5f?j@e-F4Jk:?10CfFGRL%C@Hc:Wlg07tiFX/AauW1JR+R^]O?<91*$OHS5hGE;)>j/F:E67tP;:Rr\+S,=X5F=(gQDTo3lDMq'0q;!QbcO+i?TJo?#Ub8+\".r&Jhe-0_Gf5ht[(e!1A*7UhckK)WGP;FUYCf?iDBL5T1F+o>"iHc?JJo5OpTi-(^leirWBttC0ZQ<:u_4\b!*)$R??f"E;10.T3c"iY>Z;h8'1=#Nm17o;TZ8?IlhgZLiq5#sn9DqMI>LlBG8SamP5Odjj^_SPOH!i_7jLB1.IUIL4be$k9?.Z7!QGAi)4`38;[b@^[]Ig&$<]`/r[cQ#kC+$U/M;E=um8d,Qn'WaLBJ`A#D+*jE7ND/bi105.N@8FoNnZptQplL;f6^>NgD;`WXiNX!$+(:UX,20AD:F9s>8rQU73WXR67QI?!TB>`6Eu/$U*Sqqqm!M*G6gE()[-b8^(8da6!rl7iZL\GYcY:]T0OI&%Fi+decETp,"l%=(m':5#E8MAAeW?E:)5Nb(Q>V7"dr'3#N,#l-*[PYM+/d/K`jjgJ^-Pr/]0)=PVA`j0ImlcR:W9c1Y'>/[7,g2^5hm'%&O=i;C[;I%qd3kLfst97*/=OCW[0-iC,G`-+;nQUe8g$C'j"'..ULV`S"f9X3=KGq&&`l_$MV&E=<$[)-&("^&jf2P`!Nu0+`]e0LUD\O!`.e53-gCNYTl_O>s;Xcf68P/FfEc"S\\ujAmKokK"M&9p-$ec?Y-Vis85riu#>b.>^+Xqb0:)dqPOqZn\imV+*q)8Maiu@I$l.BM$cZT%F1,G(SD=_Z\3J-q<-<8j494"E+7O=ScR4`O/+]A[O;!B.a"e;*2`(133H+5,K\7CJL,jl',\lRESZR2>%1HAXS)9R%\7\($]=$doA:.Dt58Y7+EXhmXuiNNX;R\UZ56Q:ebYoCm=A@=0"mocVS/+nCQ;K"C%>8>bu7QT/dYjGEE)Q-aD[[h/;m1aB`r4u+Ps2[g'Gtt--HRj5^^J\]4m&JQ@Vh\H!=:]OlmY(:'@_M13pngf5*%-d<7/FM"hH+tm_R!q>U%7=U[sWt)nePcCKCTfE#rT3EqE06Ph(t9nEN,5N'e'n_RDiaKmBKsd6s@2,hLf%+0!Ec6gMKilqngC8f6%&iU),2TT0Afp5!(uWIt%=[h1q&0^V%(d-rk7-LT8"sfYWh:V\RT]Q!E<$Pt,GF5cu1'eZ-R=L`b(Xc^X+/7G=DF5_Et>YeG2NmH#-*"S+8>,?4@jCLO+GaX<42="nT=ap$X"aSb@,3&Tj`SEDsJ#AJ%4anGW8U;@@9dL+E1B3`8Uub66_O;+;>sendstream +endobj +28 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1271 +>> +stream +Gb"/gh/AcR&A[3%=,_7$PcM`grIfUCV9*"i:$#VNqn`^_91$gWMok)Od_Gb3FtcbGfZ&q$2dg..41dR9_p&#](ejnEoA:YopqqYA(Dnh,-N_L'"6TcV4/6_h\V'r@k7[@8YC#fg&iR%pc#!e),*#\0'3ocmu\MfB.i?AmQ8VIra5PRGE(.`!5S'FLSd,:%tWfaN>B5#&o=8\20oABqZXLK"Jec)UN;:Pnj_F5KHC^uDtn-1n?`=8psJ,T?)dWMbbW-n(Ajgpdu:ukR2FPY8_(?Q-+f0-`!$C-mK<&'C(b]V83Rj<9Q$9diQ,tYMfPD_O0ob]h8:X_FYld@<+qap+6?F>/Lq`"p-0'Ue]Nd!RerR@"4pClq7;l-k_ViNj&%8DhYhs9mW#Vi"`$P95B"-A%_rZ!)>_a>/sBcUB8I8"U.C%/HZET0;;g!!.Biu4VIpX]#NN^#i90J7*3q^(jajZ1fhUXpInA;bVID("9sd[D+KM__3@G9f:CQQ3YIq(*iA3VDJ&U1=/t#fG[-]lQEN6V;SIdoj&p5gQ7<7VUainGZ?Vg]'eXKVb4R_k]2u/\$GY#t6J[)jNuc4[)mR\+%Sj)+E-dC9lr6B]/>`$W-i4BnQrWb!7\%`pS"1m1/0pj)h,jcon^r&TjAhV+,kNX6[nAb-FjpZW06p_YY?^i!kF5&A6Ne^gf7?t\RbJs>DCoSQ_AKI27U$_)29&/p@mh<"Vp=)+Q\4Z)=Ld@_$Q'JV@9O2jMfC?'Q;gX";aj'/bem&Y'f_'jKA^aJ^b@@Cmbt&^GK^r2TfC4lE']=:`aEiZK4-`L$IaT-"FZc=+\->KB:gnF'f7@IJ;XIc?HUc]F7=FnY>LrEh^p_')%LaEehdBendstream +endobj +29 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1144 +>> +stream +Gb"/i?#S1G'Sc)J.uqQm5`5)Ei`u%+&4-ddDAY]XiiI]Sl.U6Us.7\UC"&&p-:D>/d^9\JEI#ZqO.HF0Sk9O,%9s^?4ED4-]`4S1lq.lqfnH5:SEU\>%n"r&[B'%_$#eZ@i5,o_39$)A"9F[bpd)8hu].].n2PA4%+-s.L%ihB4oLMN`$jMnqa"a!1+"Z=br\0,k.b9-/dKI4[^f-h5f0#XME4:_)ZJi95m:lrcAR'kMT5j7t0hf7?dgnl73YbCAttAQD\mqIipie3jl$EH5d&R^Y\hTL"Lc,hkn-YaX9?>._')ZjParBuS3HSstS=8V_S.d\2=EJ!8.o1L?=:fa1^B;^aTGkNgW.U[Q["]hHknI(]n*p"f+k"8`%n)9I",I2ShDiGTYUiI[ZJERR)T1aT84io1('-7M;?0oi!7NG%YZ1g>q**&A+'5rsH>qi'^1udQ\\bVqZ&=VRG7EjQ,^Oo!U$eWjbtOggFJ<6VUs"kd$:AGea!@)=J*9X6^f[DOmM;QFYLl"#CC]Zk7?gaTXnFYpcYeC=mg7haHlms0+k+^)0CKlutgd5Y?nL&f]GU)Qs;$LGl7c\LZC@YiQ(rBk>X3*W9/DFR@JZ$X7KNcK;Q?F7?g5s(;GZD_cXFhZ~>endstream +endobj +30 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1266 +>> +stream +Gb"/iD/\/e&BE]*;\7S#YCK^rmmrQo]8$k8L10?%^#tTb'QLd_DM*?6;0HJARH<(i4#DY]-oQ>rO+3UB57.uVOagd12_5jDDS]Yn"pU5B.L*hJ/Uh7q/nXQb)iJ5L2AZ*bT53Co#f@)iAWQq3X?Wu/P0MOdD"3N;?IXrfnh*S]#+Y\Oe$U0<:XV^2uNGpG4GTp358lD,QQKC24km1j4B^0P/%4kjl4!Va^>@*ol23"K='33SfBgaX1L;PSfBeu<]*WNBRf1Y#NK,0K)M@8)MbWl`_"Q#[B!Zo@7*2PXg4e'HeZ8B>p<%ki-h\#5_=)+$Lr^VV-Us)OP>^i9FP)e_,8glLoZS[r3@SWt34r?Fdh_qs0N*/>ha6:T=#t7iL&8dNg38>%t&!1>T$9ANfXhZGuVFb2+D1"n>B-.!^l*d\H/Ws*$LeH_8TZ%t?U=L,3)K/0>U>T:`B7O.pBC?RI9pY"LI7#1l\`;d#ks![LWphubd^B?FaJ)^J?r"#J6"ecZb%l*0A5#2$Jpcn!WU!g1[s9cc$sLeIV@a@`;daQa&Go%19/4'ORN2ud)>rsaFB`Ts!@4XN!nj#:l#gcPTopNcYmikJW:muTtO!a[mh'4;:ImaOd/UXp]$aD,msA(nS[@d1Z:bit^DoEF[eKg`dJV$><$$:ok-1c`$s5M:24juTo(9T-"0;gF']aZn>YLiaK]WQUNd?`L>_!jb.+&?O*L!YO`7NHoefh[IQaendstream +endobj +31 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1235 +>> +stream +Gb"/igQ(#H&;KZP'Ei`g%3UDC)4iJ06])XJd7p1go=.N!c8HUh`P-b7n&gel>HqH9M[em&Chc@urh3pf8N&8"T'Ln$Ef3t$A,mTNhq3=m0(cVhrg(g$XZ!np_t7/+_82d4VFYb.+fkJX\'g?>pA*n=ea-T/7@Kpu>R>MR"(\m/Q"Mo@ZnRfukFW9U&4`:ekW;Lc!o2m/XS9DGdRS"5(5'-^(YNBt@F_s4CbS(P^XmdJq$YM6LfK/jDh#iP%,pQ!;kqHpE[np9ib0/(lL4C)i]!QW_>EWh`OCukNYYC`3!5JOr"NLR]cM%D`lq.6*lPM*=2Cie+X*":-.W'Lmsn84smNB;Oq3;87/g\N#.S+sM8dg%ADgNh>.&-hk(h[N'Q2%K/qJ^R]@JBfCu$>WiqUm+"lfDA;uGcah#V$ak-%roirgA>lWe!*]XE$t?kUXB/csW'Vce2RR9OpVh/uq^-\qB(h4;]b@nq7+)O`B=a+*[BoX%f+B6'W*%35i9:Qu7WVH^!=ikcT%C/qraD<[,MW4akoCk.50=9%ZHjOo*U?%L0$&P`Kd*$"8V/?(F[F7bU`s[kMXUL!?esMoD<,ThpWM*Nq6O#fn,DbO`[@)Cop\a&n@:n)\Po:q:0%hPDAJ0.DE0-"1@J;qq`[@"X6cl0rX#L&H@tp$6/+uH@RQ$?*&n1c@]5qX.:UjTTuWs*U\Uh1i=h2nPIF"o*C29k?E95Kg:g:W,11t-rXkrOqr$R&.i4o1Frt/f%J)gP0r"$>78)!4QK+AtkMiIars,I'AiP3l>,"7,e7\k>A=;O[U04Fr\1ao!#,#8eqar2DGAEu+e7^M'g'Iq&#A8M0n.f>W6T7R%>;gm[3S8.t?r',`37VU84ER["2TVFiQn\=V/nc(`LpXp9X2NtO0Q4ura!WbZ2-VP/Qk`W$`,XQ[rAqNW\7VN=JE!JY^S/_LC!rdgqBAc"&RK(:0rD;O(j8Ut9'?5@sDh[M)p8T?:Z15U!^[_=dr.boK2bIXc]Yl(2F`s0>'L_/ebRbpZY@Aj\BQU5F(haHQN*mendstream +endobj +32 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1186 +>> +stream +Gb"/hbAJ7X'Sc@.$3K%^!G92iiGFuh;R@k+-;h?%3M`-0Z5Z;/iO:HdHShKcOtAtX`1X9N3@'+QkCEJB+:th@@Jq&[6MrMNcX28('XK?@>8FR&`Qtm4LWMT/!ouCopZK_&\=^XHQE7A;!*WPHM:k3hc1b]@?Hf"C3km/noY",1?jK?&eIb>'nrqY!@0PZ^n*>nRAJo&UOOC7oj?s(qY*6rQ-EYbF=;INYh[`V&kFf^bXA;Y:)@]%/3$k5'8ogK!d\X.fG1MF*8tjk)q_2_]gqE,F%36?h(#o$^&p?-h=j97^.Ruq1bhJ!=O+*KLY-)^?=uG()Fm6ob!t"A+e@kYPpO9(M,N\/srcWbP440o#]2*.fr'I2Y_4>$E>IJ:NG-tGJbN7Yu/%jbBYC2)1f?"grm3ar&M=_+?(q-G%]DX[*r+sFIqrrfqnFQ/lO%LKJ"0PY%fT@a8Za',2TAPV*C^'S1JV/FD%Qi'0NCkP^3O1DD;^)>%;FlnTLW%#sPVR@+W(`M),\5%M9@s3VWKT4].dn7TlRtFC?eqK8qo=t(Ng*"3s&S"F-S=ZT0VVRSHAGU[f=t!_UVqZ\?G%+uY0rbs2uS1e$C"R5.!t5-:g/:?bWZAuu:tI)Z".0FnpIK+'IR%Oifad3;**3G2&@5Zql1Ce36AcPAQW<:lIgR,j"n`^@`C*NMZ./Zg)1h['8(Qo"6h4Nr;^](3W,rt5/fg2Os$EoWE`ALE_Ro)BZgs-oM$5HgiS=8[Q-pc$J!\Y.=%/u"EJBO$KW;AY]VV_"#j2C0"F6BFAXZFR:Slj!GdJZj:n:BCKojVdQ++3$NY=7KYfrs8P/=12O+Wc?=L,8X%mJ&QoVs&nj+\t?GYVqctK&Y/"6"[U(76J#dL&Td4MG>[N/QDMi6Ue\4#,]&Vt"Vn9$rs@U*R*L53pFuR]Y'%86^Z,8Irj>P`mN4PJAbX#q$#RY2`IGl,=n#cf!Tmc,A$Ql5A=4R=@$OVm8mdlhY[,:0>-!)D5%1l<9=M.!5D:(W`W$Ue5O*gB-f]^O;s6Dp@e)`Y**2&~>endstream +endobj +33 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1340 +>> +stream +Gb"/g?#SIU'Sc)T.gYJg.j1.5LS)35\olXZFN`qb];8%JEGHr(j.sc20C;/neB,!JW9YEO?ab&%^-4XnTD&Ho9AcuLlPG6P1aUIT!Wc&n"T^mmRJoL$R8,q@2A&]7D'JoJHo_Xr6PsRb8:q%qiqa[`0$'IVSkS%(l*L'%k@p=SC*8oLAL,7$#rPrq$09:]a."o(]r>4-g)`jQoh[uVh8IuT8q:bNCbrK`P-Tng;H7e1-:P)8qrh87TQKo0,F(mb[o\&3]pj4VKWYuruotFj["SMKo\dfk0e7K3g'M:HTbu"EiHP4]QNi#>!@r(mX1Z`+4ZMaRck<8b?=7X$is?"_&Aq-:uGo2d"%h4\O:A#;I6.n4+K2sr+p#_+Laer:T*13;tUM@d=df1\]pE[@H?fX%9rlfXVd+6>5&.rt589i'4bFPDQ5rbiLTUn#RN!5N712ruh+2\b=5`TOm,tErap%["ukFA2,F`jgI_R5]^_8#a"6#1$o>0`7=p]/U5mR39's;n;g0MJ:G9Ts4eTQIr0Ks=g`U24nrsi%,FP.mMWU$Ge7V`b4o'#)r\OG4rXHTc]hl_p&)XN6.Q&1BnLscU_*d0g*q+8Y`RUmPja6"bC3DO?FlL0&ZPa&K`uCKa]6Ao"*;$Kk6\(dNmpfrOZ>d/8!e2j>oC]BGRLQL.dgJNcOoRY^qZ/Nr7[ktoujqF#1]uQ3c@icX!-HHjUgq$rU:#Fs7>+Gd#RsUi-f(JHOM7K>)%W?69CB6D.FuHdu9('EjPXM6r1F=QbAj*rrh4rm:"\\PDoG"0;F"="1am]nojj3g#"i.42d[QjM'48PRPFRV<_=8-Y3fdZ(-b.'e9P='[MD1dP1&3((=\@OmAt=BH.6EqS.l,!7V)f#I3/G#dr%lUN%-16aq%`dUn]">XIS3;OK4DNQ,B`%StP5/:r7!^-N!2B^:labG-f&jkb@B#$=iTgl?jBeGKB9Hj5TrO/i~>endstream +endobj +34 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1447 +>> +stream +Gb"/i>BALf'Z],,'Kab[RMgrFBCC-3-0_eckq+10fA5!"-39<^CtIRY$au/XJ,i#U)io@IUa,9!^Wo..-S7Ssr.XO5?P)eqPY>Bc!@6-a!)GVCr_-Wm7t6N,&L9WN&U[\&f>>E:3n6n3bm6SW2Qt2D6,r&&14;rq0/adL*eu2R7[epXqnL1N:#J4EN9JM/C,6'L'Ej>7ESQM3hnK'Zq_GiV1\ODKJO6q"6JYgAV(0toa268dC$-+G%8XKS+Yc!1KM.V0bQ;o*%[L6kVGFefPW-eL>>p\(L_GtkJYAq]Cg!ri_N2qM-GY'fl-O?`\Tn/jtdDJ#3IS%^0).8P@%8l00&"]1Wk_jE:%BF%MYndUVMa]W3j)BF&,c5B9?c)'OGjI!Cr0.+;rID$DnG992clqaX6;YZ23R*Vp!Zrd@X.J94..+HPd4$13[\S20W]7F!Aq\"B]'Hbp[-^3<>g[o*d\m?2r_Tl)p>YO_A4A:b^J!YN8T);1UWL88:.MQMp9\LtjLOu`HlgkMDm!AG<8W&s7DZ=uR0$VM-Z9d%CEN'Ab-r(Cb63baoF7":^(N\4l*8)`!M%i!$q+pO>+dO"VNDu!6K\IBibqE""(6)k_&a]k)"XWFZPr`!$nC[(Ed-HpJD3$@K]\&4<;OBJ>t`=j1?hUhYN$MQa+Bs%(i?cpBQD^F]W_d5p;%tu5*rE*D-L"--a\2G)VOFF;6I=NKZlb01oS2`VDq(9OYW!.P"8SjDub[j-ERLl*T_,J^;Z2M_EGTA[MPl2_mSEH"/q#B1Nqi<4+]3TCDV8g_gjQZ-BN!"K)j4ATouA;BUTIpq-:\^,dMpS\0/P%mQOKh)\WE/QHe""ub=?9k;Ln:EjL$\14\HjheQ-h)_,(jSFEOD+8*EnFWr$o9!OAEMq0!/=qEj*s,]d9H0+SbYMjAj2g(b_NaDXh[.38Bc&r@8I9$F'IU&+SgUCJTncBqJ8i=D_4Jn+Mk!P\3cOLG\2cI!;$CfkgUOI_LrEdiJcLu*Ets.P]2)XBVU5?,%0gQ7j#*m5WK;3K[W8DS5RP2:4Z/Q):-"IdX#[2k#u6LhD(Ao[YsZ>H9ruMk\E*9["`PhHLpAsmpu&$Vi%1<~>endstream +endobj +35 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1439 +>> +stream +Gb"/igN)%,&;KZH'U\-ERi,*(G&bZ1%nW[i:0TYLVRJP4<[(\'/B@;8(QqIS9I3kOfqe=B8h:4-?%#eft-g$C8WW.C!IE3+@=5@1!5^[;/RXZ)Th1"bDXbJWl67b+`frcOGj3C7T)>fjdI\6N-tVQ?R_8p;i,B%,8DXPDT5ZsB6qboTm[d>S8;Qe>#g-4X[=,D"JXM-W-'%MF"UF4QeDo0m#@Rl`:?T4:#kBSe5$OK/Dm&@HdDA;rMNk#F*hM8E7&V6,"D"6JOkDJc3+h(UJm%#lO-[O?9)rB$XLV\\M15qG@E5.X(WH\_pQ?C_>^kcX.#qie%_^QgJNtd4VZ!AX_U9:.F."iJ1Q4q:(0/FPCJ&l.e7mJh*D#$1<.Mu9n:P#cMoG7)(N.]N3*b.*5C:o7C*!"ukj]cT&8TWT8,s1?mc&fA+6dhp%+`3JKBGdBtr0P'H*.$Os_\;jk&TD_@0:;^drr=]o;/n$Hn,i$ErcV';*Ba:9?I2tGZk$KiV[M^K(Ne#\(S%e!jW$$43Zc0H>stDG?8u4=?@5qqj])pnRm-8CVu*?aZ2qeV.PS46pO<;MkTmJt!!AaoZErfG]/F+PS\"e.0Z1Vb^Kdnt?U#WnDf9RcO4348okLb;ZeR4rj'k'-j5)hH>\;6J#tBV85W'U5A1O6/m5Gc(W!6S,$85ol04]bQfJ$]EJ-L2toEceuQl^d257Ag-la0G(cb?4JoFsIN*l/Zlb7PWj%1bpfA,~>endstream +endobj +36 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1466 +>> +stream +Gb"/hD0$US&BE]".5]L4DJ&=`8unl&CX]*.:8b3-P3H1B-eTb-,_5:WgK/od]5up>2l)9N0K-XL:m57^%gY2f)LlKR%+3T8-\P)i7[\Wk@pIWm>U2#39*C\R0-9Or:b4VWR=?*^WnHXPB<(SKF=1UaplH0-*okrZX0f&6360HleP!3^Bf(0;7e4$4*Uh@bnF@dSDI0+[[Fr],;c5@(X"X_lK*u+TBkgC[q)^:C]>+sH9$pfNl"qZ=sSl;jFWo8R#]3qZ7,=929i0We-c9knl=MmXF8\bE913)rBectfpf%a?ScUj,UZ!m'T#L76SqS@riFVYSOm340b!;@M&qjbSq/bE6(RH/JKoc\[2q],)ILM]F2/Ts(C!J)9YOgt^uB_qERf0jWF/m\f)o*0*AcBZ9GpM&kEtL\!\8TL'e,h/Abp8!jk]@Xe**3-[Xb3@0TPVqTM4Vr.6^*+aFEOpf!OOBdt#^\2[oaA(=qa&T`C7jIT%lut;h`3rEnq5%qte^+Ve^-#V9NQ'$_\@*)6QVqK8$k6lPH4"Uh(,9dgE=j<%g8ja5lRNW\gpn2'RQ%:fKK#qMS"5!GVi#j*G#A2Tp*)>Fr#<56[5!p>5e"!BgoplaUSA=*?K#>+NrMAhBEs]^SI:JOt+i?;M1(!_C!X0:;.Trr=]o;=UQu!3WqikV7FI_fMt_0ARV+-\jJWPHmf[#l_:nCC0g<*BVE&VLW#7Ws90rLV*hd4]'e9$k26K=R=5deahT)kV3~>endstream +endobj +37 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1374 +>> +stream +Gb"/hD/\/e&BE]*;\7TNXFOt*O,n^uLN_<($qob!HV77Iims,o7no:f?eU>fWHB1b27b,r'AK4@jS@,sFhdErYl"Uhf.\T5k6W$@"9P)e&ck9%RJ]W_9L^*nCC;N*eeW^Y4^WoT.253-dNAS#rJOA3j957=AFc$[Sum=2k'?7[S5IYSO[u>u!9;c4Lg%d)&`iQXjk8iAO"ulk<)bW[U];[`8CFgV2-^LqjR`,X6(2^4[+geOX[/KEk6Yu9:L*S>Pl#;8`7@SN]@9^E`i<2=]I7g.g`K"MPM>!L;,)fIY3'tRpO(Rk8%budQVY=:5+gi\A`h:0<.KGa*bW[Yu@.G,4/BP=V8>6;NQCGGms.N8ZnqN]U:l0?iUio+-IC'H>.UX>Qc?N8d^1Uam+q3;M$ej-AsJo.#jP/)8ST]dr*cDi3qOODsrD%c26/Mp3Z1Zg@54@?s^tr8jN&H_C1asUZ@E(I;DL>)"3ehHTj\%BPFh/LaiX&8E6EtXZ*41=a$b"%\7itJ@W#0K*-i5Mu7?VWg9R6e:6QBgCY/M5;]&Hs5Z/jI\Ja[1'TG)fh*V)02c9@)meW+X`bF+h)2R?BCHr[qZ"\?YA]JVq^gQ0X/[ZpFRB">rT"hN:k?l<)q,@s&__\6h;>u+uC6/BQ.g.q[9sANS_jYhqBUom!Q3lQil-CI>[FoXEV\_YEk:WR<)4Y4s%3\]`I4)kJA(O?&VpGu:U@Cl`OfEs@!fll)aM^pV1+FtD=dAZS#,e)I5Q2GJ$*kK6*]&=%Ii="3*L$0@AA&&S!+%YVb3Pr9ghoSo[l3tQTJ7;Pg8i`Qeq#ie`K4"jqcLV=XR&K[C%cm/PAam?p^7H>>_rLg7%cf=*_]IlHHt`rH3%LN,R2i:GaC-3HVb.FpW;+2%WR*#F^+=nh`'lMCV<"`]VkY8_i<]JdE'+1Ui#YAtEpZ@*`K-_fn\A!(=/$6]5iG&PkR^*$MB>Wlq!fql@46SPVo=^l"i":>OBNc:6h03a'gKe''@Rg*g]~>endstream +endobj +38 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1469 +>> +stream +Gb"/h?$"^h'Sc)P'g'k`2_u(np?ZG[dPg?se*44gan0bkAT>G[`?Co_P"]P4&NlUhNQA[FutMNMK0fErS!C5#5g*5u>X-:c'F",g/`9=/0"V`:CZ]m'@eqf<@s<@aoF=$=9XlRe,j?b%&=8/$`'m[5jS=3B(moFQS8D"Lkj(Q'g7_tOW=';#D8OY4;g`Q(rhM)0Lp.CP/@YRLO%N8Gs4$'Ygstb?keEIg7kl<6Ro'9>j5)[,;?b1?pN!B!!`6Q0JG-R"UfP;M4L#9C?4EXc1E4A@N.(oJ)3=JDkIBGl-qZ0$ipDf^s9,0lf,-G8@4Y=8.&oa)n\g3iqFX[itBA<=Mh;i'HhMY>"`3*=#aN:_rNe7W^&urMm.?#j?S:-BS)6OO^$sN\fV-rFGqk`$0*=[q%4l&TLcE>\nDY>@ogX3aq]kmd=;SL)^"a8*6@_Yb5dD%OMgKmW";C6o'ef`@0ZpW]<(5VkIf,E`XW:SfPa]sWVj-klh+Fl]D6s1iDL&`@m_#)3bS81_5;o4X;#~>endstream +endobj +39 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1390 +>> +stream +Gb"/hgN)%,&;KZH'U\-ERi,*((5kQJH:U*aF?3-rA9nUpTWLVf&rF&t[gtlr,3_Y*`%Zs-P-"hr,SiVKbPaD.KZ65WIV*XfI\)YkF%-uoPFO=h$8VF@4I_;dO%Kd-N0Y6.G`F!Zp1qqoTgdH0L?+Fl49$AKh2Ym_n-188?@nW[eXm31%5.=mJBpS3t:g]-#dC4!fUK-!5^U,RM!9c&DXBHVVZh0O*"Z0//[;UW"=$C_qOASF.NGCH#+rR`Q73'I.S6&LDp7b<..pR>#0A:,hh,&CR2Q/q%FUJrDIWMXE::KD;Va?QMP2NQ>Xn;BF;K*DoZ=)*H,!Tl=QdQ%=24dhb_:dgIkKs1JD-D"BPHti\V,UeM/Y'm%\u]bD?Jua:oE"'0T/SW'U#j7--H7QIAh_2HZIY?KhrtSsfBkPB(O7d8!lRl"VJ3:e7l?Fd8f'4%BH+5D?E@pd2EM?C%gnF+HYh*(NS((pAPn&=-s6/&=3s+`pBpa8p%kqHZ(p#0D3-)CKVWk-^ac2:T!lqphoG27logU+"m#SrUiM2`L!oFEt8D(58;G@Sj0-5+kpAi9XO<0$heM:Y93!P(n*L%m0ZGH1h%U^qh^7O6"Vf\^j8>?F[KQq_)d??\pRpf2m@;qo\b@Q9!F;3qGpQn^-*R<-Y(T0\R]KA@:gn-J6:7'EO'7Y(ZcOQKeW5iXmPN;'$p+b54f:St0#gD/;@(L)<:*8.;;)!M)_'\kK:%0MM@ZS\RBGLQmOF0IC2]9_m^+bs1])FZ]q[cGe%$<8;S[ZCQ+Uk"a3C'/At"d_T>"#)n=3UDh*XWu-EM&]:ODu_nK%3k?EKZ'SCM,8eqaPfMsO-CXH*ZkbLGcu_.hG\#k`],hJ>7hBb/TMZ/49<>E!![%S!+=^q"+sII+*$$43,O+d"%-[:"9p;L@_p_'%,i=:3,O-B5;ka?">QE)5JGOiO22V3j38+Me)n\\f_eRI#)3%E!XEOjR"L7VlTFV0HWh8ZHM;YdfN.I6A?=Y=MaV47,m(G6TR-?(c_66jnL8e"_u=)T3Z-P6d0IC@B70~>endstream +endobj +40 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1399 +>> +stream +Gb"/hhf%7-&BE],S"fIKNjM-E&Z*@4kfqpKXu8V+"^RaH;5SCijD,0tH\hY.\P':++BqDHJ'q0>r^\@XaQ1>*lLQi.Fh(nECCi`V!9K`-jF9S"@bMrMr4]f\?):EH&s.uC#*reOO_#fWM\.g5UZCM+qnjOi%cU:olLlLQc9^9XdWIVUZ$!kHOt*s.%+Z;)"=9>61jg?A5rQKIEV1Uq?_qoC#)HDVUK=dPTP.kVQtFXcfrN)>*j<^9moeDX/jlrVS8l-C)iBXDjp/%0X,UKCn9aje]%a`j[m2_>:UlABA'E'^e<0KhQR&fPGd"M/kcK_9#NpA__KfW.oA'6.';":oQkh5d<5Jcs;6'8m(^nM0Dr!\AXb7#8,@/Bi['39VjSi*5k,N:QT<$-)mT`au>KOIjFM&h4Y53ggW/u^FbF!_\$$b(UYBP2UT^<$K'5DpOd6KDos/o54Kj[AcLnM"gqVYCCuKDta4W;Kk']a5!sb>M#L%77.N%(f2_s*;i&sSG*!@S(0k6G>V1q;82r`E8k&aR:FqV$6+WXR;mgBuJZ6K@erd0+[86GCe@'I8Nrs<)s,NDDh!!_5\rS=%FH?f;4^gR#;kV7V(*3Pr=@$!j3$m"JuF5Si*FEe9LoFZqT!Q3k_nbV,u0!F&h\Fafk4l+Y?WX5KrVSph!gil`DFL?UK?Xf@c/^H_6^6h.F036&"#.'0ipY\,75#'a,%Qh'A:5^V6;Xb:gO,t%fnRB-"J'5;'8E!F)PUS*7Dh\I$J[YHPmgj&]d7&9b,UQrSTpN"$(Ie6VP0?nH,Z5U37C]I+DWD5RmlVr"$p.KYI?i9%^up+IJ&7WB;*gWDZbWiE[l0!":4T$m9:*mgfih;?"Z#$Q_E^ec~>endstream +endobj +41 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1437 +>> +stream +Gb"/hD3N[3&BE]".5]L4f?Dl\[B$4Cg#t",4^4J*RDu4$(H_q^!h&-6'6'*3%s"_\2T.e/T3i%F;D0O;8sN&0Q=YS_*a/;TO;jlb!rMooZ'2UX410E5Wn'c2_`X(Hi!HZ@-bs#Zpj-](.9.(OZ.dJdB4a<_*sT8`&'p#;gCl>EKl?`!R99un=(;g&+>LE"is'\sqXq$V=2E.M[WS\;d0:*V3]S\1okXN8=/^DXOH.@h$D/ag9Lbk7R<.(o'NE1CLqGFg8@$En<+S-^7EhUa9)Zj`j4.sp^QI9Xn!@6=5=4drJ!P)'j!N!HQi"aHd@s?m>]rslE\_[9DDn'*S)m[U_n9=r[>ImE[(V@b2U:nuA/Y:!?Ut,K#'N(Om*4`S"62KZ5fe6CAW20I7EuHi:r3$\Y)O?o>XKgf$lO8qpds4RU)&j?7t+gSe$U#GB`lMGlD]fS1WPBpTs+g*)GS`Mo"<#Oc/qk&$)nY&0u2uS@BEEA]+lf_HeaR:Pbe;iK"j\ei_K;r[n)`*TX$E6aL%WlG7M[?MuY#[:FJ]opfpC7VYZM?WDf]),dLjUafJ&UfM'"L4QdfjL/YkXi^VQ")JFZI[mSP?g\+%d^0%/I1mtLk)D8%Z_"]LQHT*6ppc:L4(\0K_T!0+4HrBqlp;u00rEcjZlM+,]3!d[*#aeaiM+D*U9Eu,#(\g$/OW4m>J%GO!bQSdAA=Ug:I>]qFh\8Ub[C$$lfEEPO`'TWM?6SmV(1]c^1tl.MGQFIN;j*Z7"\KCECc!RSU]\\^+;O5+F#PJ]bQWtjmKg5nZ(.J+B)A-4:A(+HIr^o]mZO@#mEOon>ThoS1U09_#bW[ERn*"F(rccKg14_6NZ+pUQ6-\n95cBKM*Z30'(^0@B!5ndtq8O#.kVka&c&VsW!OY_=TKQgSn0'#JZ/>J(P+*QNN#;E9O8nJ,a2rqjh#&i-[=s)$iuBsA;APdQ8G6t]DUCtWrD:7^d4\q8'+&ZON(D"5`%j1rfDQ?%;d@1i>sK$ui[#0R;\i77F@E2t_+JTS\eh2I`MOtbdQBq%.IP<0EE09N7++E?FAG)a-&cp!r89b"10j&T$?(XFW">3PJEcfAWCh7f6ta]7*7tp/b@#ru-Y<`g~>endstream +endobj +42 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1049 +>> +stream +Gb"/%gN)%,&:N/3lqCbccOe$(EV3PbfU6>4S^q@-IH:X>Pt72kdrt]aKd9SB?&H'-:""g\64,]j*ZaU1HOtFHj5u^^!8\t4T-L"ZU]coU6LlXs-'Q(k)aj\s%3hD+_^n!*d#?$q97XPN"j$hCBRYWq'-nskX8`HFlH9?DBLi[_@i6I,JNpqt"0X?3OZA5?XS?&grn*ZgqGUCrB%^JOiuKH?g9>h?<\SYSujFGlmHqlhMaRo^qEqg"de#e.>jYj3ED*CD#<7=d)0/R\G6__5rooL<-Q5M8MdCf?$FEIU:)XOq!QWg*CtApL22[ZSdfNiYiA,YdF2-p5g,mO^4)>)\P8`0>&5rg[$gEk-MOamJ*bjm'\ZVcW*=,jWu]O.-Je>@Sg?2-6)@eU-?r0:Xbr3J'7I[7jkj:hrtGpt%C>@pJDP\(eBi=raB;27Y1recQjSI8Ol0WK]NUfp##eGs^lC4OZI>!NqT5hM/6&4SOmg[feK]s!K44G%"'0,k,DoNK/jqKr5ML1*apf6W*YOSukBR#,JZdh`r-4/RoW__B`\46XsDUaG2cFKUS.Jd:ULZg9Q(@8)kERUJ1g;4RS`q:0UKLGTtlDeFKZTK7T9hpa@hMYgaA"rc$)O5Ll=n2endstream +endobj +xref +0 43 +0000000000 65535 f +0000000073 00000 n +0000000134 00000 n +0000000241 00000 n +0000000350 00000 n +0000000462 00000 n +0000000667 00000 n +0000000786 00000 n +0000000991 00000 n +0000001196 00000 n +0000001401 00000 n +0000001607 00000 n +0000001813 00000 n +0000002019 00000 n +0000002225 00000 n +0000002431 00000 n +0000002637 00000 n +0000002843 00000 n +0000003049 00000 n +0000003255 00000 n +0000003461 00000 n +0000003667 00000 n +0000003873 00000 n +0000004079 00000 n +0000004149 00000 n +0000004433 00000 n +0000004606 00000 n +0000006289 00000 n +0000008501 00000 n +0000009864 00000 n +0000011100 00000 n +0000012458 00000 n +0000013785 00000 n +0000015063 00000 n +0000016495 00000 n +0000018034 00000 n +0000019565 00000 n +0000021123 00000 n +0000022589 00000 n +0000024150 00000 n +0000025632 00000 n +0000027123 00000 n +0000028652 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 24 0 R +/Root 23 0 R +/Size 43 +>> +startxref +29793 +%%EOF diff --git a/tests/reportlab_testoutputs/to_delete1.json.pdf b/tests/reportlab_testoutputs/to_delete1.json.pdf new file mode 100644 index 0000000..bd29590 --- /dev/null +++ b/tests/reportlab_testoutputs/to_delete1.json.pdf @@ -0,0 +1,391 @@ +%PDF-1.4 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font +>> +endobj +5 0 obj +<< +/Contents 26 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font +>> +endobj +7 0 obj +<< +/Contents 27 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +8 0 obj +<< +/Contents 28 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +9 0 obj +<< +/Contents 29 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +10 0 obj +<< +/Contents 30 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +11 0 obj +<< +/Contents 31 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +12 0 obj +<< +/Contents 32 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +13 0 obj +<< +/Contents 33 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +14 0 obj +<< +/Contents 34 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +15 0 obj +<< +/Contents 35 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +16 0 obj +<< +/Contents 36 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +17 0 obj +<< +/Contents 37 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +18 0 obj +<< +/Contents 38 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +19 0 obj +<< +/Contents 39 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +20 0 obj +<< +/Contents 40 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +21 0 obj +<< +/Contents 41 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +22 0 obj +<< +/Contents 42 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +23 0 obj +<< +/PageMode /UseNone /Pages 25 0 R /Type /Catalog +>> +endobj +24 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20190221153230-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153230-01'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +25 0 obj +<< +/Count 17 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R + 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R ] /Type /Pages +>> +endobj +26 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1591 +>> +stream +Gb!;d9lJcG&A@C2&D;s\5V.[4,%[F&2JJ(#]#ejM*Z!s.Od/=gChI<,7fWFIAp"u9;'T8T]Ns'GCf@L&0>e+4W)bBbi+SQ5D'[g77egONb+ONT`%`a8MM[S9+:+.F4cQE!=t1Zlhf`[B%M*sg'Vs%h'IJ:#ote"[5tOg2F#Z=9JE=N$$k-br08a-bI.l]SXHO:7KS@R7RG`-.$CsI82+r^0I2_XGOj/+-HmHcs>lBi1J=uM[^a$6tIoBZRh*HaCHjL61IZ)^I@'39bj.=@(-A^\B,19RPq'+!D!#LgCug#MLFq^3i"_Vubeb@Z`KJWj-E-KEG(CTST56gN!2fhr#Ym#n=3*,:'\m@i=/8?_V.P/#H2ghp2e;>XSl"IO1I<>+<$%##KM;Bb(q5mX&_:/so!NImM&D@o;[#;fQjWZ^eUU""4k_&]PGIGqJ(BjdjMI]&!b1h[#<$arjGt'/RG"l[@k0Zqc;Fkc2CrWmb^cEa0);J2)UVjn)Gn1Dp,Zk1cZ$n[uVp:EY"0SleN,iDgnMoXXIIuqa>b5i974W<55IED]\8ArE'[q4eka,fk[_2j^W7e^qd=^i^*Hu%k7-AcfBYmp,&.(56oGkKOkP7m4\\=7ekIKj(V[hnAnGR<$53r+2@Cj-*]tJ=)odLYrD01\*OUP%Uq+2q.dQ?6t0RtuZ)3A\P5iKVo`0A06NfR-P]EGG?0+_1F7DaqP0AVl;7U`QNNDLUe#'jA7e[/TDjW"dREF*5BFa73Rm>]5WPJusKFRi@]MQs`!VHMW<.1j`3lP*Af/Y7k7,W'Y+!d%ui.6Oo)+B"cGO&RLt,LqYI8D,G]86N%oCSY"sEk.U@=-%K1`(foNF)k3]mc'#PH8?6W)l;H^o.@8)6WFqmKREb9;6@nt][p?ZG7dSNOmDK@b?(u)Ve#7rHmL:a9(l<.=0aTZAFH.<,qF%/p85r5Z8/=gn!&2G/$hk9p;g0Q199L(M**(3ZV'XTaA[+7X5kmZ4=)A]9$Ha8Xgj3d\%=fOp~>endstream +endobj +27 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 2120 +>> +stream +Gb"/)gN)%,&:N/3m'Mro2e1:GnWoS,36l*`8Rg:KqW&HKKIk-U-mW>'J):DU;PYnf'((XIes7u=@^-.C$XaJo;]tk0eaG0qGWg_TG8)HXi>AMt"UmW4gYq)fTP@n#8_([YG-o[t#iG?dn+[kN[CNi"@1!8+2].!riCi5/-\eV6)6p0])$e1q2Pl'M4>rD'\[ZG\-6Q!\UN[PY<9V%^5<.6*Lds8'apuF'']Ir-_NlUE@GaM)?ci7+_KB\@URo<,".+8HJ=D$#2oAsn]:()7\@+bL!#FZm-lB]=fKSn[6fI1boV6J5W^:B$LFq%oi*15HK(r0g'j;)2q)KgHI_d;P\20HC/]m4@>l8D_:Pk4hUFQn\o"oS9F8,-jkYXJ]Td/Ig;6$m,a!Y:Pf6-FZ,ClDZ@"<7Q>i663$_stN:1"[QoX#m2WqL^XD+:tXY03Sd89;?hbCdGKKZ9KrEHR.*4t]eE(o9XC'uW5Qfhj#>/Y$5f?j@e-F4Jk:?10CfFGRL%C@Hc:Wlg07tiFX/AauW1JR+R^]O?<91*$OHS5hGE;)>j/F:E67tP;:Rr\+S,=X5F=(gQDTo3lDMq'0q;!QbcO+i?TJo?#Ub8+\".r&Jhe-0_Gf5ht[(e!1A*7UhckK)WGP;FUYCf?iDBL5T1F+o>"iHc?JJo5OpTi-(^leirWBttC0ZQ<:u_4\b!*)$R??f"E;10.T3c"iY>Z;h8'1=#Nm17o;TZ8?IlhgZLiq5#sn9DqMI>LlBG8SamP5Odjj^_SPOH!i_7jLB1.IUIL4be$k9?.Z7!QGAi)4`38;[b@^[]Ig&$<]`/r[cQ#kC+$U/M;E=um8d,Qn'WaLBJ`A#D+*jE7ND/bi105.N@8FoNnZptQplL;f6^>NgD;`WXiNX!$+(:UX,20AD:F9s>8rQU73WXR67QI?!TB>`6Eu/$U*Sqqqm!M*G6gE()[-b8^(8da6!rl7iZL\GYcY:]T0OI&%Fi+decETp,"l%=(m':5#E8MAAeW?E:)5Nb(Q>V7"dr'3#N,#l-*[PYM+/d/K`jjgJ^-Pr/]0)=PVA`j0ImlcR:W9c1Y'>/[7,g2^5hm'%&O=i;C[;I%qd3kLfst97*/=OCW[0-iC,G`-+;nQUe8g$C'j"'..ULV`S"f9X3=KGq&&`l_$MV&E=<$[)-&("^&jf2P`!Nu0+`]e0LUD\O!`.e53-gCNYTl_O>s;Xcf68P/FfEc"S\\ujAmKokK"M&9p-$ec?Y-Vis85riu#>b.>^+Xqb0:)dqPOqZn\imV+*q)8Maiu@I$l.BM$cZT%F1,G(SD=_Z\3J-q<-<8j494"E+7O=ScR4`O/+]A[O;!B.a"e;*2`(133H+5,K\7CJL,jl',\lRESZR2>%1HAXS)9R%\7\($]=$doA:.Dt58Y7+EXhmXuiNNX;R\UZ56Q:ebYoCm=A@=0"mocVS/+nCQ;K"C%>8>bu7QT/dYjGEE)Q-aD[[h/;m1aB`r4u+Ps2[g'Gtt--HRj5^^J\]4m&JQ@Vh\H!=:]OlmY(:'@_M13pngf5*%-d<7/FM"hH+tm_R!q>U%7=U[sWt)nePcCKCTfE#rT3EqE06Ph(t9nEN,5N'e'n_RDiaKmBKsd6s@2,hLf%+0!Ec6gMKilqngC8f6%&iU),2TT0Afp5!(uWIt%=[h1q&0^V%(d-rk7-LT8"sfYWh:V\RT]Q!E<$Pt,GF5cu1'eZ-R=L`b(Xc^X+/7G=DF5_Et>YeG2NmH#-*"S+8>,?4@jCLO+GaX<42="nT=ap$X"aSb@,3&Tj`SEDsJ#AJ%4anGW8U;@@9dL+E1B3`8Uub66_O;+;>sendstream +endobj +28 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1271 +>> +stream +Gb"/gh/AcR&A[3%=,_7$PcM`grIfUCV9*"i:$#VNqn`^_91$gWMok)Od_Gb3FtcbGfZ&q$2dg..41dR9_p&#](ejnEoA:YopqqYA(Dnh,-N_L'"6TcV4/6_h\V'r@k7[@8YC#fg&iR%pc#!e),*#\0'3ocmu\MfB.i?AmQ8VIra5PRGE(.`!5S'FLSd,:%tWfaN>B5#&o=8\20oABqZXLK"Jec)UN;:Pnj_F5KHC^uDtn-1n?`=8psJ,T?)dWMbbW-n(Ajgpdu:ukR2FPY8_(?Q-+f0-`!$C-mK<&'C(b]V83Rj<9Q$9diQ,tYMfPD_O0ob]h8:X_FYld@<+qap+6?F>/Lq`"p-0'Ue]Nd!RerR@"4pClq7;l-k_ViNj&%8DhYhs9mW#Vi"`$P95B"-A%_rZ!)>_a>/sBcUB8I8"U.C%/HZET0;;g!!.Biu4VIpX]#NN^#i90J7*3q^(jajZ1fhUXpInA;bVID("9sd[D+KM__3@G9f:CQQ3YIq(*iA3VDJ&U1=/t#fG[-]lQEN6V;SIdoj&p5gQ7<7VUainGZ?Vg]'eXKVb4R_k]2u/\$GY#t6J[)jNuc4[)mR\+%Sj)+E-dC9lr6B]/>`$W-i4BnQrWb!7\%`pS"1m1/0pj)h,jcon^r&TjAhV+,kNX6[nAb-FjpZW06p_YY?^i!kF5&A6Ne^gf7?t\RbJs>DCoSQ_AKI27U$_)29&/p@mh<"Vp=)+Q\4Z)=Ld@_$Q'JV@9O2jMfC?'Q;gX";aj'/bem&Y'f_'jKA^aJ^b@@Cmbt&^GK^r2TfC4lE']=:`aEiZK4-`L$IaT-"FZc=+\->KB:gnF'f7@IJ;XIc?HUc]F7=FnY>LrEh^p_')%LaEehdBendstream +endobj +29 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1144 +>> +stream +Gb"/i?#S1G'Sc)J.uqQm5`5)Ei`u%+&4-ddDAY]XiiI]Sl.U6Us.7\UC"&&p-:D>/d^9\JEI#ZqO.HF0Sk9O,%9s^?4ED4-]`4S1lq.lqfnH5:SEU\>%n"r&[B'%_$#eZ@i5,o_39$)A"9F[bpd)8hu].].n2PA4%+-s.L%ihB4oLMN`$jMnqa"a!1+"Z=br\0,k.b9-/dKI4[^f-h5f0#XME4:_)ZJi95m:lrcAR'kMT5j7t0hf7?dgnl73YbCAttAQD\mqIipie3jl$EH5d&R^Y\hTL"Lc,hkn-YaX9?>._')ZjParBuS3HSstS=8V_S.d\2=EJ!8.o1L?=:fa1^B;^aTGkNgW.U[Q["]hHknI(]n*p"f+k"8`%n)9I",I2ShDiGTYUiI[ZJERR)T1aT84io1('-7M;?0oi!7NG%YZ1g>q**&A+'5rsH>qi'^1udQ\\bVqZ&=VRG7EjQ,^Oo!U$eWjbtOggFJ<6VUs"kd$:AGea!@)=J*9X6^f[DOmM;QFYLl"#CC]Zk7?gaTXnFYpcYeC=mg7haHlms0+k+^)0CKlutgd5Y?nL&f]GU)Qs;$LGl7c\LZC@YiQ(rBk>X3*W9/DFR@JZ$X7KNcK;Q?F7?g5s(;GZD_cXFhZ~>endstream +endobj +30 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1266 +>> +stream +Gb"/iD/\/e&BE]*;\7S#YCK^rmmrQo]8$k8L10?%^#tTb'QLd_DM*?6;0HJARH<(i4#DY]-oQ>rO+3UB57.uVOagd12_5jDDS]Yn"pU5B.L*hJ/Uh7q/nXQb)iJ5L2AZ*bT53Co#f@)iAWQq3X?Wu/P0MOdD"3N;?IXrfnh*S]#+Y\Oe$U0<:XV^2uNGpG4GTp358lD,QQKC24km1j4B^0P/%4kjl4!Va^>@*ol23"K='33SfBgaX1L;PSfBeu<]*WNBRf1Y#NK,0K)M@8)MbWl`_"Q#[B!Zo@7*2PXg4e'HeZ8B>p<%ki-h\#5_=)+$Lr^VV-Us)OP>^i9FP)e_,8glLoZS[r3@SWt34r?Fdh_qs0N*/>ha6:T=#t7iL&8dNg38>%t&!1>T$9ANfXhZGuVFb2+D1"n>B-.!^l*d\H/Ws*$LeH_8TZ%t?U=L,3)K/0>U>T:`B7O.pBC?RI9pY"LI7#1l\`;d#ks![LWphubd^B?FaJ)^J?r"#J6"ecZb%l*0A5#2$Jpcn!WU!g1[s9cc$sLeIV@a@`;daQa&Go%19/4'ORN2ud)>rsaFB`Ts!@4XN!nj#:l#gcPTopNcYmikJW:muTtO!a[mh'4;:ImaOd/UXp]$aD,msA(nS[@d1Z:bit^DoEF[eKg`dJV$><$$:ok-1c`$s5M:24juTo(9T-"0;gF']aZn>YLiaK]WQUNd?`L>_!jb.+&?O*L!YO`7NHoefh[IQaendstream +endobj +31 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1235 +>> +stream +Gb"/igQ(#H&;KZP'Ei`g%3UDC)4iJ06])XJd7p1go=.N!c8HUh`P-b7n&gel>HqH9M[em&Chc@urh3pf8N&8"T'Ln$Ef3t$A,mTNhq3=m0(cVhrg(g$XZ!np_t7/+_82d4VFYb.+fkJX\'g?>pA*n=ea-T/7@Kpu>R>MR"(\m/Q"Mo@ZnRfukFW9U&4`:ekW;Lc!o2m/XS9DGdRS"5(5'-^(YNBt@F_s4CbS(P^XmdJq$YM6LfK/jDh#iP%,pQ!;kqHpE[np9ib0/(lL4C)i]!QW_>EWh`OCukNYYC`3!5JOr"NLR]cM%D`lq.6*lPM*=2Cie+X*":-.W'Lmsn84smNB;Oq3;87/g\N#.S+sM8dg%ADgNh>.&-hk(h[N'Q2%K/qJ^R]@JBfCu$>WiqUm+"lfDA;uGcah#V$ak-%roirgA>lWe!*]XE$t?kUXB/csW'Vce2RR9OpVh/uq^-\qB(h4;]b@nq7+)O`B=a+*[BoX%f+B6'W*%35i9:Qu7WVH^!=ikcT%C/qraD<[,MW4akoCk.50=9%ZHjOo*U?%L0$&P`Kd*$"8V/?(F[F7bU`s[kMXUL!?esMoD<,ThpWM*Nq6O#fn,DbO`[@)Cop\a&n@:n)\Po:q:0%hPDAJ0.DE0-"1@J;qq`[@"X6cl0rX#L&H@tp$6/+uH@RQ$?*&n1c@]5qX.:UjTTuWs*U\Uh1i=h2nPIF"o*C29k?E95Kg:g:W,11t-rXkrOqr$R&.i4o1Frt/f%J)gP0r"$>78)!4QK+AtkMiIars,I'AiP3l>,"7,e7\k>A=;O[U04Fr\1ao!#,#8eqar2DGAEu+e7^M'g'Iq&#A8M0n.f>W6T7R%>;gm[3S8.t?r',`37VU84ER["2TVFiQn\=V/nc(`LpXp9X2NtO0Q4ura!WbZ2-VP/Qk`W$`,XQ[rAqNW\7VN=JE!JY^S/_LC!rdgqBAc"&RK(:0rD;O(j8Ut9'?5@sDh[M)p8T?:Z15U!^[_=dr.boK2bIXc]Yl(2F`s0>'L_/ebRbpZY@Aj\BQU5F(haHQN*mendstream +endobj +32 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1186 +>> +stream +Gb"/hbAJ7X'Sc@.$3K%^!G92iiGFuh;R@k+-;h?%3M`-0Z5Z;/iO:HdHShKcOtAtX`1X9N3@'+QkCEJB+:th@@Jq&[6MrMNcX28('XK?@>8FR&`Qtm4LWMT/!ouCopZK_&\=^XHQE7A;!*WPHM:k3hc1b]@?Hf"C3km/noY",1?jK?&eIb>'nrqY!@0PZ^n*>nRAJo&UOOC7oj?s(qY*6rQ-EYbF=;INYh[`V&kFf^bXA;Y:)@]%/3$k5'8ogK!d\X.fG1MF*8tjk)q_2_]gqE,F%36?h(#o$^&p?-h=j97^.Ruq1bhJ!=O+*KLY-)^?=uG()Fm6ob!t"A+e@kYPpO9(M,N\/srcWbP440o#]2*.fr'I2Y_4>$E>IJ:NG-tGJbN7Yu/%jbBYC2)1f?"grm3ar&M=_+?(q-G%]DX[*r+sFIqrrfqnFQ/lO%LKJ"0PY%fT@a8Za',2TAPV*C^'S1JV/FD%Qi'0NCkP^3O1DD;^)>%;FlnTLW%#sPVR@+W(`M),\5%M9@s3VWKT4].dn7TlRtFC?eqK8qo=t(Ng*"3s&S"F-S=ZT0VVRSHAGU[f=t!_UVqZ\?G%+uY0rbs2uS1e$C"R5.!t5-:g/:?bWZAuu:tI)Z".0FnpIK+'IR%Oifad3;**3G2&@5Zql1Ce36AcPAQW<:lIgR,j"n`^@`C*NMZ./Zg)1h['8(Qo"6h4Nr;^](3W,rt5/fg2Os$EoWE`ALE_Ro)BZgs-oM$5HgiS=8[Q-pc$J!\Y.=%/u"EJBO$KW;AY]VV_"#j2C0"F6BFAXZFR:Slj!GdJZj:n:BCKojVdQ++3$NY=7KYfrs8P/=12O+Wc?=L,8X%mJ&QoVs&nj+\t?GYVqctK&Y/"6"[U(76J#dL&Td4MG>[N/QDMi6Ue\4#,]&Vt"Vn9$rs@U*R*L53pFuR]Y'%86^Z,8Irj>P`mN4PJAbX#q$#RY2`IGl,=n#cf!Tmc,A$Ql5A=4R=@$OVm8mdlhY[,:0>-!)D5%1l<9=M.!5D:(W`W$Ue5O*gB-f]^O;s6Dp@e)`Y**2&~>endstream +endobj +33 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1340 +>> +stream +Gb"/g?#SIU'Sc)T.gYJg.j1.5LS)35\olXZFN`qb];8%JEGHr(j.sc20C;/neB,!JW9YEO?ab&%^-4XnTD&Ho9AcuLlPG6P1aUIT!Wc&n"T^mmRJoL$R8,q@2A&]7D'JoJHo_Xr6PsRb8:q%qiqa[`0$'IVSkS%(l*L'%k@p=SC*8oLAL,7$#rPrq$09:]a."o(]r>4-g)`jQoh[uVh8IuT8q:bNCbrK`P-Tng;H7e1-:P)8qrh87TQKo0,F(mb[o\&3]pj4VKWYuruotFj["SMKo\dfk0e7K3g'M:HTbu"EiHP4]QNi#>!@r(mX1Z`+4ZMaRck<8b?=7X$is?"_&Aq-:uGo2d"%h4\O:A#;I6.n4+K2sr+p#_+Laer:T*13;tUM@d=df1\]pE[@H?fX%9rlfXVd+6>5&.rt589i'4bFPDQ5rbiLTUn#RN!5N712ruh+2\b=5`TOm,tErap%["ukFA2,F`jgI_R5]^_8#a"6#1$o>0`7=p]/U5mR39's;n;g0MJ:G9Ts4eTQIr0Ks=g`U24nrsi%,FP.mMWU$Ge7V`b4o'#)r\OG4rXHTc]hl_p&)XN6.Q&1BnLscU_*d0g*q+8Y`RUmPja6"bC3DO?FlL0&ZPa&K`uCKa]6Ao"*;$Kk6\(dNmpfrOZ>d/8!e2j>oC]BGRLQL.dgJNcOoRY^qZ/Nr7[ktoujqF#1]uQ3c@icX!-HHjUgq$rU:#Fs7>+Gd#RsUi-f(JHOM7K>)%W?69CB6D.FuHdu9('EjPXM6r1F=QbAj*rrh4rm:"\\PDoG"0;F"="1am]nojj3g#"i.42d[QjM'48PRPFRV<_=8-Y3fdZ(-b.'e9P='[MD1dP1&3((=\@OmAt=BH.6EqS.l,!7V)f#I3/G#dr%lUN%-16aq%`dUn]">XIS3;OK4DNQ,B`%StP5/:r7!^-N!2B^:labG-f&jkb@B#$=iTgl?jBeGKB9Hj5TrO/i~>endstream +endobj +34 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1447 +>> +stream +Gb"/i>BALf'Z],,'Kab[RMgrFBCC-3-0_eckq+10fA5!"-39<^CtIRY$au/XJ,i#U)io@IUa,9!^Wo..-S7Ssr.XO5?P)eqPY>Bc!@6-a!)GVCr_-Wm7t6N,&L9WN&U[\&f>>E:3n6n3bm6SW2Qt2D6,r&&14;rq0/adL*eu2R7[epXqnL1N:#J4EN9JM/C,6'L'Ej>7ESQM3hnK'Zq_GiV1\ODKJO6q"6JYgAV(0toa268dC$-+G%8XKS+Yc!1KM.V0bQ;o*%[L6kVGFefPW-eL>>p\(L_GtkJYAq]Cg!ri_N2qM-GY'fl-O?`\Tn/jtdDJ#3IS%^0).8P@%8l00&"]1Wk_jE:%BF%MYndUVMa]W3j)BF&,c5B9?c)'OGjI!Cr0.+;rID$DnG992clqaX6;YZ23R*Vp!Zrd@X.J94..+HPd4$13[\S20W]7F!Aq\"B]'Hbp[-^3<>g[o*d\m?2r_Tl)p>YO_A4A:b^J!YN8T);1UWL88:.MQMp9\LtjLOu`HlgkMDm!AG<8W&s7DZ=uR0$VM-Z9d%CEN'Ab-r(Cb63baoF7":^(N\4l*8)`!M%i!$q+pO>+dO"VNDu!6K\IBibqE""(6)k_&a]k)"XWFZPr`!$nC[(Ed-HpJD3$@K]\&4<;OBJ>t`=j1?hUhYN$MQa+Bs%(i?cpBQD^F]W_d5p;%tu5*rE*D-L"--a\2G)VOFF;6I=NKZlb01oS2`VDq(9OYW!.P"8SjDub[j-ERLl*T_,J^;Z2M_EGTA[MPl2_mSEH"/q#B1Nqi<4+]3TCDV8g_gjQZ-BN!"K)j4ATouA;BUTIpq-:\^,dMpS\0/P%mQOKh)\WE/QHe""ub=?9k;Ln:EjL$\14\HjheQ-h)_,(jSFEOD+8*EnFWr$o9!OAEMq0!/=qEj*s,]d9H0+SbYMjAj2g(b_NaDXh[.38Bc&r@8I9$F'IU&+SgUCJTncBqJ8i=D_4Jn+Mk!P\3cOLG\2cI!;$CfkgUOI_LrEdiJcLu*Ets.P]2)XBVU5?,%0gQ7j#*m5WK;3K[W8DS5RP2:4Z/Q):-"IdX#[2k#u6LhD(Ao[YsZ>H9ruMk\E*9["`PhHLpAsmpu&$Vi%1<~>endstream +endobj +35 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1439 +>> +stream +Gb"/igN)%,&;KZH'U\-ERi,*(G&bZ1%nW[i:0TYLVRJP4<[(\'/B@;8(QqIS9I3kOfqe=B8h:4-?%#eft-g$C8WW.C!IE3+@=5@1!5^[;/RXZ)Th1"bDXbJWl67b+`frcOGj3C7T)>fjdI\6N-tVQ?R_8p;i,B%,8DXPDT5ZsB6qboTm[d>S8;Qe>#g-4X[=,D"JXM-W-'%MF"UF4QeDo0m#@Rl`:?T4:#kBSe5$OK/Dm&@HdDA;rMNk#F*hM8E7&V6,"D"6JOkDJc3+h(UJm%#lO-[O?9)rB$XLV\\M15qG@E5.X(WH\_pQ?C_>^kcX.#qie%_^QgJNtd4VZ!AX_U9:.F."iJ1Q4q:(0/FPCJ&l.e7mJh*D#$1<.Mu9n:P#cMoG7)(N.]N3*b.*5C:o7C*!"ukj]cT&8TWT8,s1?mc&fA+6dhp%+`3JKBGdBtr0P'H*.$Os_\;jk&TD_@0:;^drr=]o;/n$Hn,i$ErcV';*Ba:9?I2tGZk$KiV[M^K(Ne#\(S%e!jW$$43Zc0H>stDG?8u4=?@5qqj])pnRm-8CVu*?aZ2qeV.PS46pO<;MkTmJt!!AaoZErfG]/F+PS\"e.0Z1Vb^Kdnt?U#WnDf9RcO4348okLb;ZeR4rj'k'-j5)hH>\;6J#tBV85W'U5A1O6/m5Gc(W!6S,$85ol04]bQfJ$]EJ-L2toEceuQl^d257Ag-la0G(cb?4JoFsIN*l/Zlb7PWj%1bpfA,~>endstream +endobj +36 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1466 +>> +stream +Gb"/hD0$US&BE]".5]L4DJ&=`8unl&CX]*.:8b3-P3H1B-eTb-,_5:WgK/od]5up>2l)9N0K-XL:m57^%gY2f)LlKR%+3T8-\P)i7[\Wk@pIWm>U2#39*C\R0-9Or:b4VWR=?*^WnHXPB<(SKF=1UaplH0-*okrZX0f&6360HleP!3^Bf(0;7e4$4*Uh@bnF@dSDI0+[[Fr],;c5@(X"X_lK*u+TBkgC[q)^:C]>+sH9$pfNl"qZ=sSl;jFWo8R#]3qZ7,=929i0We-c9knl=MmXF8\bE913)rBectfpf%a?ScUj,UZ!m'T#L76SqS@riFVYSOm340b!;@M&qjbSq/bE6(RH/JKoc\[2q],)ILM]F2/Ts(C!J)9YOgt^uB_qERf0jWF/m\f)o*0*AcBZ9GpM&kEtL\!\8TL'e,h/Abp8!jk]@Xe**3-[Xb3@0TPVqTM4Vr.6^*+aFEOpf!OOBdt#^\2[oaA(=qa&T`C7jIT%lut;h`3rEnq5%qte^+Ve^-#V9NQ'$_\@*)6QVqK8$k6lPH4"Uh(,9dgE=j<%g8ja5lRNW\gpn2'RQ%:fKK#qMS"5!GVi#j*G#A2Tp*)>Fr#<56[5!p>5e"!BgoplaUSA=*?K#>+NrMAhBEs]^SI:JOt+i?;M1(!_C!X0:;.Trr=]o;=UQu!3WqikV7FI_fMt_0ARV+-\jJWPHmf[#l_:nCC0g<*BVE&VLW#7Ws90rLV*hd4]'e9$k26K=R=5deahT)kV3~>endstream +endobj +37 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1374 +>> +stream +Gb"/hD/\/e&BE]*;\7TNXFOt*O,n^uLN_<($qob!HV77Iims,o7no:f?eU>fWHB1b27b,r'AK4@jS@,sFhdErYl"Uhf.\T5k6W$@"9P)e&ck9%RJ]W_9L^*nCC;N*eeW^Y4^WoT.253-dNAS#rJOA3j957=AFc$[Sum=2k'?7[S5IYSO[u>u!9;c4Lg%d)&`iQXjk8iAO"ulk<)bW[U];[`8CFgV2-^LqjR`,X6(2^4[+geOX[/KEk6Yu9:L*S>Pl#;8`7@SN]@9^E`i<2=]I7g.g`K"MPM>!L;,)fIY3'tRpO(Rk8%budQVY=:5+gi\A`h:0<.KGa*bW[Yu@.G,4/BP=V8>6;NQCGGms.N8ZnqN]U:l0?iUio+-IC'H>.UX>Qc?N8d^1Uam+q3;M$ej-AsJo.#jP/)8ST]dr*cDi3qOODsrD%c26/Mp3Z1Zg@54@?s^tr8jN&H_C1asUZ@E(I;DL>)"3ehHTj\%BPFh/LaiX&8E6EtXZ*41=a$b"%\7itJ@W#0K*-i5Mu7?VWg9R6e:6QBgCY/M5;]&Hs5Z/jI\Ja[1'TG)fh*V)02c9@)meW+X`bF+h)2R?BCHr[qZ"\?YA]JVq^gQ0X/[ZpFRB">rT"hN:k?l<)q,@s&__\6h;>u+uC6/BQ.g.q[9sANS_jYhqBUom!Q3lQil-CI>[FoXEV\_YEk:WR<)4Y4s%3\]`I4)kJA(O?&VpGu:U@Cl`OfEs@!fll)aM^pV1+FtD=dAZS#,e)I5Q2GJ$*kK6*]&=%Ii="3*L$0@AA&&S!+%YVb3Pr9ghoSo[l3tQTJ7;Pg8i`Qeq#ie`K4"jqcLV=XR&K[C%cm/PAam?p^7H>>_rLg7%cf=*_]IlHHt`rH3%LN,R2i:GaC-3HVb.FpW;+2%WR*#F^+=nh`'lMCV<"`]VkY8_i<]JdE'+1Ui#YAtEpZ@*`K-_fn\A!(=/$6]5iG&PkR^*$MB>Wlq!fql@46SPVo=^l"i":>OBNc:6h03a'gKe''@Rg*g]~>endstream +endobj +38 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1469 +>> +stream +Gb"/h?$"^h'Sc)P'g'k`2_u(np?ZG[dPg?se*44gan0bkAT>G[`?Co_P"]P4&NlUhNQA[FutMNMK0fErS!C5#5g*5u>X-:c'F",g/`9=/0"V`:CZ]m'@eqf<@s<@aoF=$=9XlRe,j?b%&=8/$`'m[5jS=3B(moFQS8D"Lkj(Q'g7_tOW=';#D8OY4;g`Q(rhM)0Lp.CP/@YRLO%N8Gs4$'Ygstb?keEIg7kl<6Ro'9>j5)[,;?b1?pN!B!!`6Q0JG-R"UfP;M4L#9C?4EXc1E4A@N.(oJ)3=JDkIBGl-qZ0$ipDf^s9,0lf,-G8@4Y=8.&oa)n\g3iqFX[itBA<=Mh;i'HhMY>"`3*=#aN:_rNe7W^&urMm.?#j?S:-BS)6OO^$sN\fV-rFGqk`$0*=[q%4l&TLcE>\nDY>@ogX3aq]kmd=;SL)^"a8*6@_Yb5dD%OMgKmW";C6o'ef`@0ZpW]<(5VkIf,E`XW:SfPa]sWVj-klh+Fl]D6s1iDL&`@m_#)3bS81_5;o4X;#~>endstream +endobj +39 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1390 +>> +stream +Gb"/hgN)%,&;KZH'U\-ERi,*((5kQJH:U*aF?3-rA9nUpTWLVf&rF&t[gtlr,3_Y*`%Zs-P-"hr,SiVKbPaD.KZ65WIV*XfI\)YkF%-uoPFO=h$8VF@4I_;dO%Kd-N0Y6.G`F!Zp1qqoTgdH0L?+Fl49$AKh2Ym_n-188?@nW[eXm31%5.=mJBpS3t:g]-#dC4!fUK-!5^U,RM!9c&DXBHVVZh0O*"Z0//[;UW"=$C_qOASF.NGCH#+rR`Q73'I.S6&LDp7b<..pR>#0A:,hh,&CR2Q/q%FUJrDIWMXE::KD;Va?QMP2NQ>Xn;BF;K*DoZ=)*H,!Tl=QdQ%=24dhb_:dgIkKs1JD-D"BPHti\V,UeM/Y'm%\u]bD?Jua:oE"'0T/SW'U#j7--H7QIAh_2HZIY?KhrtSsfBkPB(O7d8!lRl"VJ3:e7l?Fd8f'4%BH+5D?E@pd2EM?C%gnF+HYh*(NS((pAPn&=-s6/&=3s+`pBpa8p%kqHZ(p#0D3-)CKVWk-^ac2:T!lqphoG27logU+"m#SrUiM2`L!oFEt8D(58;G@Sj0-5+kpAi9XO<0$heM:Y93!P(n*L%m0ZGH1h%U^qh^7O6"Vf\^j8>?F[KQq_)d??\pRpf2m@;qo\b@Q9!F;3qGpQn^-*R<-Y(T0\R]KA@:gn-J6:7'EO'7Y(ZcOQKeW5iXmPN;'$p+b54f:St0#gD/;@(L)<:*8.;;)!M)_'\kK:%0MM@ZS\RBGLQmOF0IC2]9_m^+bs1])FZ]q[cGe%$<8;S[ZCQ+Uk"a3C'/At"d_T>"#)n=3UDh*XWu-EM&]:ODu_nK%3k?EKZ'SCM,8eqaPfMsO-CXH*ZkbLGcu_.hG\#k`],hJ>7hBb/TMZ/49<>E!![%S!+=^q"+sII+*$$43,O+d"%-[:"9p;L@_p_'%,i=:3,O-B5;ka?">QE)5JGOiO22V3j38+Me)n\\f_eRI#)3%E!XEOjR"L7VlTFV0HWh8ZHM;YdfN.I6A?=Y=MaV47,m(G6TR-?(c_66jnL8e"_u=)T3Z-P6d0IC@B70~>endstream +endobj +40 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1399 +>> +stream +Gb"/hhf%7-&BE],S"fIKNjM-E&Z*@4kfqpKXu8V+"^RaH;5SCijD,0tH\hY.\P':++BqDHJ'q0>r^\@XaQ1>*lLQi.Fh(nECCi`V!9K`-jF9S"@bMrMr4]f\?):EH&s.uC#*reOO_#fWM\.g5UZCM+qnjOi%cU:olLlLQc9^9XdWIVUZ$!kHOt*s.%+Z;)"=9>61jg?A5rQKIEV1Uq?_qoC#)HDVUK=dPTP.kVQtFXcfrN)>*j<^9moeDX/jlrVS8l-C)iBXDjp/%0X,UKCn9aje]%a`j[m2_>:UlABA'E'^e<0KhQR&fPGd"M/kcK_9#NpA__KfW.oA'6.';":oQkh5d<5Jcs;6'8m(^nM0Dr!\AXb7#8,@/Bi['39VjSi*5k,N:QT<$-)mT`au>KOIjFM&h4Y53ggW/u^FbF!_\$$b(UYBP2UT^<$K'5DpOd6KDos/o54Kj[AcLnM"gqVYCCuKDta4W;Kk']a5!sb>M#L%77.N%(f2_s*;i&sSG*!@S(0k6G>V1q;82r`E8k&aR:FqV$6+WXR;mgBuJZ6K@erd0+[86GCe@'I8Nrs<)s,NDDh!!_5\rS=%FH?f;4^gR#;kV7V(*3Pr=@$!j3$m"JuF5Si*FEe9LoFZqT!Q3k_nbV,u0!F&h\Fafk4l+Y?WX5KrVSph!gil`DFL?UK?Xf@c/^H_6^6h.F036&"#.'0ipY\,75#'a,%Qh'A:5^V6;Xb:gO,t%fnRB-"J'5;'8E!F)PUS*7Dh\I$J[YHPmgj&]d7&9b,UQrSTpN"$(Ie6VP0?nH,Z5U37C]I+DWD5RmlVr"$p.KYI?i9%^up+IJ&7WB;*gWDZbWiE[l0!":4T$m9:*mgfih;?"Z#$Q_E^ec~>endstream +endobj +41 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1437 +>> +stream +Gb"/hD3N[3&BE]".5]L4f?Dl\[B$4Cg#t",4^4J*RDu4$(H_q^!h&-6'6'*3%s"_\2T.e/T3i%F;D0O;8sN&0Q=YS_*a/;TO;jlb!rMooZ'2UX410E5Wn'c2_`X(Hi!HZ@-bs#Zpj-](.9.(OZ.dJdB4a<_*sT8`&'p#;gCl>EKl?`!R99un=(;g&+>LE"is'\sqXq$V=2E.M[WS\;d0:*V3]S\1okXN8=/^DXOH.@h$D/ag9Lbk7R<.(o'NE1CLqGFg8@$En<+S-^7EhUa9)Zj`j4.sp^QI9Xn!@6=5=4drJ!P)'j!N!HQi"aHd@s?m>]rslE\_[9DDn'*S)m[U_n9=r[>ImE[(V@b2U:nuA/Y:!?Ut,K#'N(Om*4`S"62KZ5fe6CAW20I7EuHi:r3$\Y)O?o>XKgf$lO8qpds4RU)&j?7t+gSe$U#GB`lMGlD]fS1WPBpTs+g*)GS`Mo"<#Oc/qk&$)nY&0u2uS@BEEA]+lf_HeaR:Pbe;iK"j\ei_K;r[n)`*TX$E6aL%WlG7M[?MuY#[:FJ]opfpC7VYZM?WDf]),dLjUafJ&UfM'"L4QdfjL/YkXi^VQ")JFZI[mSP?g\+%d^0%/I1mtLk)D8%Z_"]LQHT*6ppc:L4(\0K_T!0+4HrBqlp;u00rEcjZlM+,]3!d[*#aeaiM+D*U9Eu,#(\g$/OW4m>J%GO!bQSdAA=Ug:I>]qFh\8Ub[C$$lfEEPO`'TWM?6SmV(1]c^1tl.MGQFIN;j*Z7"\KCECc!RSU]\\^+;O5+F#PJ]bQWtjmKg5nZ(.J+B)A-4:A(+HIr^o]mZO@#mEOon>ThoS1U09_#bW[ERn*"F(rccKg14_6NZ+pUQ6-\n95cBKM*Z30'(^0@B!5ndtq8O#.kVka&c&VsW!OY_=TKQgSn0'#JZ/>J(P+*QNN#;E9O8nJ,a2rqjh#&i-[=s)$iuBsA;APdQ8G6t]DUCtWrD:7^d4\q8'+&ZON(D"5`%j1rfDQ?%;d@1i>sK$ui[#0R;\i77F@E2t_+JTS\eh2I`MOtbdQBq%.IP<0EE09N7++E?FAG)a-&cp!r89b"10j&T$?(XFW">3PJEcfAWCh7f6ta]7*7tp/b@#ru-Y<`g~>endstream +endobj +42 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1049 +>> +stream +Gb"/%gN)%,&:N/3lqCbccOe$(EV3PbfU6>4S^q@-IH:X>Pt72kdrt]aKd9SB?&H'-:""g\64,]j*ZaU1HOtFHj5u^^!8\t4T-L"ZU]coU6LlXs-'Q(k)aj\s%3hD+_^n!*d#?$q97XPN"j$hCBRYWq'-nskX8`HFlH9?DBLi[_@i6I,JNpqt"0X?3OZA5?XS?&grn*ZgqGUCrB%^JOiuKH?g9>h?<\SYSujFGlmHqlhMaRo^qEqg"de#e.>jYj3ED*CD#<7=d)0/R\G6__5rooL<-Q5M8MdCf?$FEIU:)XOq!QWg*CtApL22[ZSdfNiYiA,YdF2-p5g,mO^4)>)\P8`0>&5rg[$gEk-MOamJ*bjm'\ZVcW*=,jWu]O.-Je>@Sg?2-6)@eU-?r0:Xbr3J'7I[7jkj:hrtGpt%C>@pJDP\(eBi=raB;27Y1recQjSI8Ol0WK]NUfp##eGs^lC4OZI>!NqT5hM/6&4SOmg[feK]s!K44G%"'0,k,DoNK/jqKr5ML1*apf6W*YOSukBR#,JZdh`r-4/RoW__B`\46XsDUaG2cFKUS.Jd:ULZg9Q(@8)kERUJ1g;4RS`q:0UKLGTtlDeFKZTK7T9hpa@hMYgaA"rc$)O5Ll=n2endstream +endobj +xref +0 43 +0000000000 65535 f +0000000073 00000 n +0000000134 00000 n +0000000241 00000 n +0000000350 00000 n +0000000462 00000 n +0000000667 00000 n +0000000786 00000 n +0000000991 00000 n +0000001196 00000 n +0000001401 00000 n +0000001607 00000 n +0000001813 00000 n +0000002019 00000 n +0000002225 00000 n +0000002431 00000 n +0000002637 00000 n +0000002843 00000 n +0000003049 00000 n +0000003255 00000 n +0000003461 00000 n +0000003667 00000 n +0000003873 00000 n +0000004079 00000 n +0000004149 00000 n +0000004433 00000 n +0000004606 00000 n +0000006289 00000 n +0000008501 00000 n +0000009864 00000 n +0000011100 00000 n +0000012458 00000 n +0000013785 00000 n +0000015063 00000 n +0000016495 00000 n +0000018034 00000 n +0000019565 00000 n +0000021123 00000 n +0000022589 00000 n +0000024150 00000 n +0000025632 00000 n +0000027123 00000 n +0000028652 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 24 0 R +/Root 23 0 R +/Size 43 +>> +startxref +29793 +%%EOF diff --git a/tests/reportlab_testoutputs/to_delete2.json.pdf b/tests/reportlab_testoutputs/to_delete2.json.pdf new file mode 100644 index 0000000..93ed405 --- /dev/null +++ b/tests/reportlab_testoutputs/to_delete2.json.pdf @@ -0,0 +1,506 @@ +%PDF-1.4 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font +>> +endobj +5 0 obj +<< +/Contents 32 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font +>> +endobj +7 0 obj +<< +/Contents 33 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +8 0 obj +<< +/Contents 34 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +9 0 obj +<< +/Contents 35 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +10 0 obj +<< +/Contents 36 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +11 0 obj +<< +/Contents 37 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +12 0 obj +<< +/Contents 38 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +13 0 obj +<< +/Contents 39 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +14 0 obj +<< +/Contents 40 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +15 0 obj +<< +/Contents 41 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +16 0 obj +<< +/Contents 42 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +17 0 obj +<< +/Contents 43 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +18 0 obj +<< +/Contents 44 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +19 0 obj +<< +/Contents 45 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +20 0 obj +<< +/Contents 46 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +21 0 obj +<< +/Contents 47 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +22 0 obj +<< +/Contents 48 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +23 0 obj +<< +/Contents 49 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +24 0 obj +<< +/Contents 50 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +25 0 obj +<< +/Contents 51 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +26 0 obj +<< +/Contents 52 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +27 0 obj +<< +/Contents 53 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +28 0 obj +<< +/Contents 54 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +29 0 obj +<< +/PageMode /UseNone /Pages 31 0 R /Type /Catalog +>> +endobj +30 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20190221153231-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153231-01'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +31 0 obj +<< +/Count 23 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R + 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R + 26 0 R 27 0 R 28 0 R ] /Type /Pages +>> +endobj +32 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1737 +>> +stream +Gb!#\h,E&f&:`#5TqO,EB.UFdZnfE*Kmn!]^`?/,mNhu@dW&aA1$*_2rN.)5Q:!?_qa)\W?EJDF[m."%((c3b;#NVH'CoR"%R'mo:.A.`P"IL@+C9j,$(rk!*#3?aCn?BiAWOg:.F\FjhK0$e)lU@&R5kn@g^"2]#S5[%Hhr/@7IaZD&n!jgMuJL=75gd^7J\l84:1^T:LDC,c=]cY#!-r*47H+]XT>=A9fq:\,c6+PBg1SjQ(JJ>KiC%4t^I#JrHud*Kj2G(DiuVc7^eRiGK,B?4U07G\*/C\;L$%Z:OP+8nNuqQHq)UYIbIl:l/OPGLUA>@S,/NUAIBI-75_#g_-;;I]aDA8Q*W'U_R$4GHY*',e9F'YnLDB%_lHWT;nK_XrbSSNXUKku^Y1R!HUG-,bOnjgc)PG*-`_a_FVBsk/Bh8@0,qs)@IS9CLI60Z7<>2d\SeVhkTW9ZDjaM9q3o:MDhH+31X)=diZ??jNEXF;%Z*=o(2ddB4jhR`HehI*Ccl4m@>_@f[2D1-sG&+/]G0BgoYW2e!!CS'B_!/?^35MQTb(ICqP_JG\j.%4G4')-9m[C_e\R[^h\Y/"$Ftb:%I/R@7O]DCaY-\qK"Z$2RKm34)hSofO\K7iSp:mcXIPe"e;.D!SnGoCTIUOIiXa0!,9%tL3.Mj^;G60M^csqq[6D>=L0<%r/iN;EZ8miD2jQ\[=[VI1%FfO++bDgY*G$Z5#g]F&$-Ts1oJWkO#Q<>H(WkM:g4:7o>%HJC.3PaQL42#1rGhXZ8BachG'mV5KAOZG?XE*=\c,O%C`J113;h2G$sb1r;*d9?#'$_n-j)-PBZ)`..Z'9A!&<0I"BSdptB0CJ.DW@cuDE_WMT%7s!ZX'`6n?t)>6;2fZU4n[tc!X[;sUR6M&_a>.9elB0"oFZ<-#DA3Q*<)Qnb1LNFXrjd&sYdSQcs^g=un-0n(cAkiO\JYi,[+E0HF"b<(u-nT[B(o-hVh^=D1-s_GrJ5<87c5P.F7,]/apu$eqF#aO\9a:?E&+<^O;;Tm:P*\C;/^Bfoio`ZaXS2L&9t"_N0,VMS`/7R_]X,#Yj(Z]$W:MW\iGqs^#Yj>=DD9Yf60;rSOSW/?PNU2!:;*:/Oo+R@gmJ!2@JFq/$P'2>eDmU=Y>nj*fOAT5E:mE>TsRu"H5fiM?3])'[O?mRlnP+X;-=Q&HUT^#?d'kW1s2!eCjG`_@`dUkWJO=a#\C%Gb&U>4Xqo&=8K+jS>Ebk&2mKq<8ScJU$o1Zf6BZ(\85_$S89-%MP+8_b6.52o17p-?U:YD+rqGT[W8:mUnH:q.UV2TUJ)gHH8Nu=jj26%.7QT6@A`tg(KR8[SR.'(94Y@R,ek8XYG~>endstream +endobj +33 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1021 +>> +stream +Gb"/i9lJ`N&;KZOMNN4YOhBA8h6kkT2GL2P56jW1!+cb9Vu=7ET2Jd"Pr2SCU/:Y$6o,\.CPZjO3m/'5_J./f8I>k?.56;gLltl3_m0P$DQ8O>kWIDk'rTW:]$8c\DmF169cgW_=ju$*U?u8%>-$kHqmm-IP5BC/^NCbf?NsQKo4QXfk?3?>AUIp^$Gf(5M\ILN"('hbjHn@%MO:PrGE<=l6McR\D"6O\qo'?Wo,1?29$*`eO=-JVec*DDE<;5"k*3tH"-1sdBh[Y>5q%A33._gN'iTpAl#RpV`5r78==8&"/?Le;&S:h-,?uF^l?)Ai)(BM'2f/+W!pc4ITc#T@]DHi]5^'IQ#Z/6lop*Y8PG<#4jooJT6MlC*P3?(*P7AB[me-T;<@c/Oo#LCI4k`BuKG2ti?ggLgL\TO![Z*r64JK6gm4*!E'+%L2W%"IX+G&0N`akFT."i-Vs"Rp;X+1KW`jl#Oa]cZ*f-Y5"&pacPS(oE73V&[,g]H+YGKf9nKe4g"ToL/+/o9TGqPUD!*oD?%WNird-I/po!kh$BV#!01C*DOSg^$',jp?4q\3`><=0[5)D-K?D,cm)GP"6eC<;k8f+4dsp_T.F:'a*/*d_eM2KrpRmAg/T5hFDk6U3eTT(X8h'e@.4u-FImR~>endstream +endobj +34 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 2115 +>> +stream +Gb"/'>BALX'Ro4HS=+ds3jE2jcFsn=CtR".QdG+m?A'n_>%:K(%cuU:Oc1r("%amsh`Sbjd%^qsHQs$q-\M_U`/&Kiuj'-OIB_Y=>lNdKZ0HGp(tknSPn+7GB#MU2d&cjLj:`,sKV(sh0Z3JHu>(r&q;5G4Hk[r%NYE,5bab;0I0CkV8FTcLWaJ]I5u[$N5@0EB/b:![kV@$&0XJjJt)BD-a(#[M]Q?AggL.;(5CBgZi4mII,aXecg*;-97\X_6?a]dgR9Mar.H8kktc\<^iU!Ph@\stL6KIBb*Glfgtkt:LP=H_a!'JNs9a]MTuH_RrUZ3;i@S7Pmb3hNaCAhi)GW%>G`U%6Cm44LENWr6!MAd(M.PQdg.au%gAf`MnN:T@G:$#T#?G@R;IO4>&8-MA$DZ"'d_KAJ_\:=)(hF=kR"Y3&0(UJe&Rb6;fbMQkZ!]n&R%oKAn1;TKaLi'iqkAJP..TA79Zb!f$7.8l*cWYA6/+maI.LSu<'07\(UC!POh!sZ3#LPF2@<*.@[!&eb:NpC#(P_OPcWp']kn"143t6T"^eT`R3?,,j5B'3GWiXK0k$#%FE%4mK2\uW6\F#FV^[[O?4)Kh'6K=*P!>o39NE+SggUFr_Y*-`o'J";hd(ULQuJ<,0ZS$i1s`Bok*<:JlL&Q:cJX6]/fU4HPRI$Yq>#'A1eV7F=GnMXT$MY?M2Upr5nOFp3(*T]T?\S%ZU?)s@MgrUC3g;d1.SUG9;*h*GrC!+Am,?q`S=kn3Mm!"UJY!p"bm"9fE*bGORTX2YChYUK7B9L"Y.r$TW8SCh4(H>2IM(fZ!=>5P'Nf\.19E`lZHUm(MV0k%[U=bY'*fJ*NQd1P>\QC(WuYF='MnB'?fSbAW>O`1S3QKV6+-FM&%:70!NsWDORuthNmGDV4pQj-Nqs5K4e%b`iP/hC'R.#FXJ;02^)fQ_2"7f?`Qn1KfPNYD@NkLBr.]:Pt=W-b?=cEh%W`&(Fja`q;&4BoV:?nN(W_ICm[srOZ2ud.&U"@.foAr:gI;Qb&P(f%+PNW4N.5K_"ru8E4]jXQJi"kGr)k(*j+#g1*/Y/ST.)D's15(MD?m)jGc/3TqT.<<%f)?[AU8j%fZPkGTIVIJES-cO;p<2FjNfHd#?R.GWIoTC.Tc/6La*QG3=VkqebAoU@Yj2Ri%q/%7N#C;0tY)K-%5o_9KYOG1^r!lfna-Zh[K@?$uCceG)&JaL*80Q:!!tlF\#mWuSWMXWi6h%,<(7_b&"h^iOn>`gFYBg3sAnM.J%`i"#B`C&Aq9SXKl+`V#JoD6$fg:"sOg^A.DPSk[[i9#hkrnX7cB"-[+9!P6X+=VPH8IAoIPP.d#n>$*1L/780-IsAq#+$b[g0t2Y+J_[LR<_c\S\pOf=Ih$dq%dt`puF[Ht`O(r66$I/EF"Oi$?7t-2=^=Sl`cR79;n+Th2nsl19DAh'=r[G6cH8G?@_OHfXT>GOO\^f_.YLorYq?3^,:R31re05'$C[]+;sQDXh/_f;gqEY'fD4:u`SCE5G](8c493^pd>&1WKmr%@PH!FuqNKPi>aP7>i449Io2%9Q7u':SE\D4YK=)<`rW.X[Ck_~>endstream +endobj +35 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 989 +>> +stream +Gb"/h?#Q2d'Sc)P'h?tPb>p1#KhIBEu6_iT0pZB]3UetT,sQF9r3WZiE^=bLRO$.tj(;,miCMjb\,8MJ+/@53NO9GpRhB\kc9*NiJElnZ%MpRC,^&aIPi**Kgc2L#,_rg=U=M>%KK@r78G>!t26MaF9c\^M2K?Y);BbuhRhRs9IFjcr'FaZIFK0LcI`6AIWW5E^rZR[Q^M?&d)k5ReX-%2H/=$p%A0$!&H7],A7JEj2?XCWL:ZC/]VUpUS=D5Xu)RbMiL;^r[sbKc9B\ENH1R8Z`BqDU"jjT[O+d!,;OLf`9-p"fPu7]RHK>[uX`5O*oJ=?<\;c[L-d4`+9tGjnWMVhW>]gM-:^=QUf0Sc5N,`IM_2[cMH6X4>>f=($]O8SXt<0:u>9\=So8,M$IiISaa1],r8oMPWgk%r%njL18b[.c0#0(U;K4&*ePur0Ta0tcd(+2qheI\T8D4]6X1n[n(*u#ONd:WY@W1?+jH/%Oa'b:CWGBcAnmF'QA$][U_]Vh%K'GkqDFFuskCa):"krm_eH`(!k]u14IB"n5Uk\a)8q8a6r3EmJa_H%I=S6kZ0?H\*WY?*E@rfiEQa1]/eIEa6lVSL>uAdH8-C0=A]5lP8R^FRJ8,!d=\R[5n>r819.>335V^#^i><=9uP'1NqFY9qjH!lG8Tgu".+%d1]~>endstream +endobj +36 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1017 +>> +stream +Gb"/i>u03/'Sc)J.uptUL1K?)O4_"ufU+QkPM!b?P;Yj@PX5[Dr;3%^9p77Dg(9)qgnmf9A,G>plh?O<+p`L)nNEqf6^aC):qn0f"%Bt/Y!2j3-PNOgoC]a#I4in:;'3D.Q$W5MQaBW:/Ei"B)2W`<&MiGs/QNYK!7-[+0u7W'D=l)he\uY6h_WR2REO<8s*D;@?=#$kP(,!@j@cB489h+kUWQB/^9kB=DOJ(@9UL8F2@i@&XKih%OQe]03bh]:[14Loa\q/gYpFf,T'^^D(uE0a,2-a6>1PVmiSu2Y9bmO:[H4Lsa5s0Q!'Go_.qNoR7^lBqQZlV/Wg9p,haCJ__.P_/B-0]+I3<4hJ13[l#S$QAK(5eItP(d'MK5gTu5dG.6qJ4M+r1]A3hMqJ#;6s3!a:muFD9YFMQ)]Qa^Vp+YJ8;)C+lV/MPr])H3^2<1@B^Lg;CK`M)p;spAsRIIbi/qmHjZebnksrm4s[:~>endstream +endobj +37 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1059 +>> +stream +Gb"/h>u-tU'Sc)P'dr7*2.<"2hd!Uu2Jnm0[b,r^7C1QfFi?9$64iGBRi"KR=YjK"*hm&.P,)8\*USTYVWREY\_GRf)_-,^T2n)p7&BpbX(i!c_%'!sA%OUI<_=Cepa$6F)OkJ7lR,n*=]R-$/U&1&l+384t2'38h#LYL'>eF/NPq!']794>>JX#s2SRf(ZQ![_=R=W^Xe#VgOLE$W9]K@kP[`L5)=jCm37JG#!Td0R+:]$=>]Vi"]4Lt^(^sM&ti8;i77dR[JRIBmF%7Neo$[#Z1b!%3ONo#.a+-ae%7/b(Do#9Vlc'/SWh"'!D-bmUBe1WBe_l0qY""e1Pp&*YTuM?-HXBOq`!%NWPk6hU_)sV,s(!`4\7!Z)5eQ&\I2]+\56mN,0d"eq,p?Nd!C4B.;SV70Zhc7`U\In[iTIr>DW#&$>K3DZ2=gJ,b'4SAbRe-PSdk(0]dCjD)%Z\='=dh(2e;m=t@Lcc43:$(D2X'[dUEKhIX;1mU9XL*DUOZ(,Pt)3:XCB1oF?]kL9/-X^nS*(Ql-\nGh$)V4/%XK$BZ&<;R8DQ^n`]]1p?3P$h2]X^;4cUiJDF0:7ppO^[VgdqG]nFWG@:GjR=:$NIg'fa?l\#ar;FOGN793LaNIW!o/ls)u~>endstream +endobj +38 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 965 +>> +stream +Gb"/g?Z2Df'ZJu*'Na!]t^sNGi&gUsP/Mn_[iF$C%g48/4M5Km<^Z_a)d1ngR;f2dGkq*Jg(hqai!O7oPe*q=gliE7'ecQuX2V)]XW8G_D*_q+NmS7V8S)eF1^h\G=f=iY$W@_.:g9@,7coAEgtBsI;49YB.^_"tO41BoS'CD'EB!RY\;g;:A%sG\B(OoAB'&+"UqH/QVJ2Z9,d]AnBX?s1\1H7R2WX::\p%c=Rd?DfZ;<[!m!O:_lo[?g`]F_VuJfb4SW5%160'2P5QWaGDNPH3W9Ai\m$ik4JLOcjZ*8\h_G^F[""lB(-BJrI_(ctBaG1jsSgV_d`HPh"J>*/FDIKf*#9EVN2].^7E8:,N,G!C]:>$>7o]U.>,mihNDDpN=ImcUl[`I]cV`/@S9hQHq96pnaOH5tdAhsp40n9uA6`OPcr4@1!a-kWU0iZRs3BVLci=W$G6t+J@BmBS+hNjg;D[_]-#lfFU[^?dr:Q63n-&;4M3hi4hM#M[k\@I5nnZj^GL1&n/'-'O8o~>endstream +endobj +39 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 961 +>> +stream +Gb"/i95iNL'SZ;ZMCWg:,C)%ghHmX);miVT20HJhfT&Ki8;YeDs1[)3L4Ne=%%B`(H[P0?*8b0g#(aSSMY6"S$Lg61drPX+O;*5&.7h1ia(4[d:b)U/f8=h0:0[8!$cecZg.=P?Z?c\r'Sc$-,hJ-J<',T-DOS6BB5"-'TWM^[>`_+j]U%_^I`EEre^`op>/%2_IJBrrkEF:\RDTsUYM!_L;R'CDZ.O$]'PossnLYbm*Ct%7jt_Ys--UEY:'SoKX#.]UoCG7;D`t&R8W+Wb[.!uh_XqfArO*^,(TAH-lXOCHmcgOW79u=3`GMrg&M@fK_,[&YWXjdl[3Rj!2hU)Njl[.KH)#NLT5#T@g[U5lBGq-S;ngQ.U8d6;:-db/Qn+n=S#3/03X,KPu@@4.OER6.dC/?k#\nbdk^@&hB'-\h]qQu]R66oImH+J-\!K);b&YjqEtuj3PC;.RniS0Eg:H8DGR,jB83P1c9t/<&bd6,I[Q@s]A+Kj4-ca!hBU,&0$Q@.WtC.(Sj9DITU$tPXV#7'pB54g!hBluTN3:VIljhm[is9AJ_cL(b\lYH]*#Zh@<\#?:.BLI`OQ_GP%Xp/"1nZI%qE'\9IS#IAjY.cmT72AWK4m`p?uuo,D&g$G@:.Tlo%;8,3=\+8l_2*X%W\?#Bg>q+3&1db64*D??p<$kktkP/^uN=h>V\*)PIK0%eSV3h?=u7]p6fuhMtXn+q#pi5jpu,"6lpt(3:6aL=-6I^B/LU*KP_gq(fPSK%qiK4.s2)h9+FYh2]i&lSqe;>R#9TF9cn0\F:9&TqVH_dK7)[01pfPrsues>=#Y]]f1FoJ\b\u;,Lm~>endstream +endobj +40 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 997 +>> +stream +Gb"/h?#SFN'Sc)J.uq!+Y**'4J,=9PenNSiWEZt2OG&LoPa82IqX!HD2%$K56q-DB/gBdO8X0i0l46Kh\E&XpD]4m.0mdkQZA'2bb-blCb<]E-RPo1MK2K'/RYoC`1M>IX+&Ak=B.>BRaQU(d$u3oF55JD]XB5ON^s^/YF9Joh(.<""M=PHTb0%1FN_Jf_!^UV:8KI:[o5eup&LGia90$V]*#\>A%/2P;@]m#*\Tg?BL=@NZM7OEEdCi>AXj%%uC2c%#1"O~>endstream +endobj +41 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1007 +>> +stream +Gb"/hD,8n?&BE\k;k13R$n93ZVq]YbKr,!LE'G7lcOMEqu5t#)kQfJiC?m")[:%W#&6"(FB&OFH49ta.KepQ(oUFPGdF$/h8^OPi4*AdfD^TVp8BjUapiYu'T:Z*[`IBdigh6"4&X^]:k+akm!pSSan5eIN#e4&W9\gm3ViTHR;WO=GJ7(;G=X]an>T0H1c15jTi0["/rB-qjiTR-VZM/#;cu5Y4et6:Hdn]EZo57NamO3J57s>au~>endstream +endobj +42 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1015 +>> +stream +Gb"/h>u03/'Sc)J.uptUL(r\:fU!Nre#$gl>M+AXVPoGO-t.p]^QZ$B*S.#\g.>6)daC1sp>J0cGom(r."8Gdqeuo35)$1B.#lQ2I5hM+J+&r]aoD]0S^rAub*&tb]cg=]f`ZuFbeMe#4YZ-nfLgug12oiSO3Qah[0aaH9t/6]tGh+%l">U:mT5I9)l:JEFnXN"i>TS?T<&kRbm[Se]O_uU>r]70*o5bbTZD_ifS9]"?-n9#BVWUZ)N;5/F_]E!ssJGRl3Fnr>ZnBb7-iAHmO0<--r:0c?.>uAfnK;ToK2mW6i=,Ea*fi]!;_sattiN1)fiS*p>/#Lm7F`mBQKAT^9XLYH)-!FU;Mub0qb#(6_N1M7lR1Dh#Z?DTNfP^U3eG&CcKID-H6)B!Sme4LI/H^!Sp7rmUSV$\KADPrrV6:hQIT0_-@']gG.endstream +endobj +43 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1014 +>> +stream +Gb"/h>u03/'Sc)J.uptUL1K?)O4_"ufU+QkPM!b?6^+/u8tgn]rr#U@VKE_)D2Za8kY7]?NTM7F5jJY@Zu!TedKP?:qbiSf&B8B-]#g74#r4YfRXhjq>8bLBjW[5cf,K&N*:F53+&;1,6_sKM4MtdOdea93gr!_^%D<(BNC2%A+a=-bD?:G^%tH4s1A9$'tp\qj"$GQ<3?%>g_,6Z+#/@?@om,gAf%qJRT?Xs9p9i-24,MQMRG-SYQqeDX\'%ALU+7USaVZo=jjc.<*gnil7_cjO1:57@=]@TIfPPgqko6S"*[Jq9\0*/NXPX0e:nd4s0P_T0N,$j2JU1Vb+Ngq3Xk:AsA:B6Q@g$X-gFk8Z&=(,t?r.7Cg5^N9MKcWKpC$AlWh/S_^L1[c?1aS)h2k78_l8B>5Q.W]9X2P!O!bA+/\(%,,"2`ejOappA`Gp)Ou&NAYcPM6I2,RVIqJB$Up[2OK,9Y:A5RK*B+$W*l1]El/-%KUKq)W%iG!T!k6gV>le"E0W2Q>)7N>H%\:"2"`KT*K9`*(MB$XGPhch62@b8drQ(mV6#ROts7'Y^7=4-aG"@CSTSI#YV%YU^6;sljiB25.drW[&%V)pM3#Q-:=G14cO?tJF7sUVpV%ktX6iS2#G\j8n';h#Z>!U"b;$W*]YhRhp9N[$JD.nr=$S>F9gBFkZ:*>sBk+G#JD/2GLB;3$\)%.a]mP/LT_endstream +endobj +44 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1062 +>> +stream +Gb"/h>u03/'Sc)J.uptUL(r\.Y;hjf)q1Zu&mO%;^5C&]Kb?<6mrspQD8JhWdS(V$V'U8Em5M6/F.QE$i:Mfds'uW/Fok/]#Uj(9"]S13j>4H@GW/qH&V.NQM"Q$SMsDf#PL=1r!HIcB-?D.3q&1Rr0KC\1T@,i%GJP.$;Fo0S0LRNahd`A=JQ;4/\30MgBTt1n[:,NI&:B_Hb[>b\0e3=%&KW"FK;dZPK6VYZe>73@oX2A-HCPbYA2\5[p+AdQgh-2)79IPWW95pkN1sWQH`(3ZJ)s.VSpW@g144Jl:mj'BCT9!_(2Wln'a`sl(,.+YQM2LkXPl#.qp_'M>HpIqDXg\m'%a$]hOZrZ]FS?8Q(JS-V5W>,>3-s;k6=U0<@cnV,Hr&S8_g]6ACr,!r93u*,%LNWg&KhE#dumq-nWaZ.k5HgTAEk'SS+<[93EY.*6*dBDHt22'muZ'22QB[C2IKZ`AK>X:]>oVE-6FUX"lgLDLP_:q#hrZef9*'(01=G3u3:H&%f#"]im9&VO1X)&tW=XuK@t,df+L&kcs?C/k;o74gd,.R:+>J=]d!DmETh1"^?7B"(a"h2^='YWJ"&YrbKT5IPRu.iD,'],eL(]D#gE;+uWO'cf7pG/"$#9/-X_gHW_qKS4I6G3n(>h6@a6DQC8hAqo.c7ZQ;bh2^<H%eDh+B79mT/$\_h6Su#)3A%BnKi`A[]Bnil=tj(re,`!Q2fW2%kWK^o@Wo#GGoY$kK"4-\dD=CBP%V!8!DO*^m(a.,5nI"b]kV@7q>X0Y%*P5(WGIF)@!$~>endstream +endobj +45 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 942 +>> +stream +Gb"/h;,>q#'SYH9/$?5qL1K=[?RP:%`l>B"R`$!8SgGm9UD-<;ins2OD-E8`Km%`m\[8`h8UPmu?[o&4T_K%es7lfUI0rIl#cJme!Kn^!^V\#J\qq=o"0+i7i=!=Q<'CS#]@jY(`c)Gl&g1(#JWI@Q)+O\S(pD0_u)MZBVc*<#CU]'^t!iYFVf_Z%Lfsh[fmbIg%fJ(8ZZ]%69c\EPg(X[q"c66gCug"K5X\e4=@>u0DrD;,fT[P5[%)N5fWRIajY85KfC>nOGo*<#G4KZ42>2pW\_.K^OGuf`+%?quPNGs_H"Qb:=WsXi$e2beK;VF:.)REKg+TN(l0K3sGr>RaXrb#>,J?l0/]l[G[-;+!?<+%:CN=VSg:B%U9QmMHAC6#NeT"rZQi-!oj\CCpLYa_R%G2q'<2E%d$YkpHI/hh9sifOhjEl=Tm1(!:WljiCMO52.eq\??)1\JQOmV6#GBaX2:m!]GVZ_8RL`/9\u<.]]kC)GSDfH&W#,J,D?q\?nNlTX7_I3Z3X65/8ti;FX?40627dkDS*-FP&[FF\RcGCXmen>>V\3F!Y%e/endstream +endobj +46 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 910 +>> +stream +Gb"/g95iNL'SZ;ZMCWg:,C)%ghHmX);miVT[<9&>fT&Ki8;YeFs1[)3"%0rSnd:@2f]+cZ_sncF!=52:fY3BD!:M^'^I1r(6%Q4MM@rjrg+tc7d`=NA^FIGBH'@N#q9thO>NCGBt9-]`@DOlBG>;EpfZ`F8.%F\RZOJ%8P$.[^Z3FS1BGe&5daln^3m<6pPK+mo@hFX(E:=O4"8R[b8l*O8UN$YY?]$]\5EkW0Fk\<%451=&CXA]"FWZT9aKKp$Hb4q%7V]Q1_oFr&<]sHLc8X5OF9(7$hS=.Ap7pB%(I>=0IdhakN#YSTfgJaY(Ml/0aI>,Ju9J:\SE[,7c8d2a/G,j?>"6l5a<[F:#jQcup;h=+:#`UfeA?Vt&&&UbRT1,o@!#iL=+!P!)bm^OA/R6Lsotcj]3T.2_mh4`:Nu)-SRF/Xlp2JKLKgb\Hq95r2g&@B"AW5)&`+,VHf3/*gT&+78L=?5<_h]fh@\TVhEA_;rb[)kn.oo\eB[Q4ogK>prrI"H;69~>endstream +endobj +47 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 966 +>> +stream +Gb"/g>u03/'Sc)J.uptUL1K?)DdRBu9UhnNCgm'PPG0hT7gVQ\q`-*>>Xh=!EW^?sSR_QalZ;?h#m0^BXC%k5J<)-!*$HG[F9X.mK_.?R:6Y">Nc76a8,0uAIhX!%cr::OX8p2h-V,&XL\a00B9;O_]oW+S9m=l2)SlS*08%?Uf2&?obZG14hj:7_KcakW#c4M0_>uq'b5u;Q$+8PZL%+m9@?=Mc%be(]p])Vt\%`R-"-e2J-O-i%Bml3WD/on$cD_I#'XTV,aY*bJg3c-sL='iGN:fFq85@I#Ag/L/hcOVY'kf#V0qn'K*`jN6JIrIT(,=K6i=k7_(9i1V^9fgVD''YhMmIgr#-&PY4c6>JDDp/[!"t)9P]mH=oe@rs`7#)(5YeJ+M!mKM(WM#,i0b%B,#R?P7)fgbka-Zob@-S\qW8-:,GVRXbW4&FceKi*/L_5FR,[pk+*82$(H76,9su!"4joqXF%(9U423RG,&fI'mj4%JtJ55*Y/L5.N6QG\=7e(0Vjsi>pmj$bWmgV;K7F+KcouFI#FA7sIOKNsBUX]jXEU^E.V-1BtM(J$*Q1mNT:g]Q\pNO_%H8"jTYn7f,tt'&aki*T9.*]N'XZ)h9m!A&);2%r\feh@\U+>rHoH_g>uN1,niendstream +endobj +48 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 982 +>> +stream +Gb"/ihf"u<&BE](.o+ekqZnVVe@r.JVb;QL0cZ`,+G4nK.#?)HMJ=Bonb$=RA5>tcpLM;SpVbPe:NkM,PA%?sG)-MsHe[k'[/+=DF#O,.Y^(/!eH8,h,B7hB_3BlAEXg3$>J8+KfI*TKIj:Dm'c*iK5->^8sn+41#J2<]7uc?Z!34Z4@"lqJkQf(k-RVlT-->>qG&c>JX"R;r%WZHfqcZ]FRDq:;cmkF6NT+Q6it1RTRmW,\,X,#(dFGaa<&-l#=B0r4E4b2N`p$1/&4+//Q5o`#KV@\uF_gN)q6-KsU>'^4,[dESX\[n$0VkVe$N:s?m01jMunRmnIT*o.mnPG+ImFM@ft1G]3Gc#.W5jO*AB]aq]\KH".5,S(PFp.csiUYDQuUO+b#hbZPp7shT>hf*I<,#5qa&UCnJganB3ne"lW1SIr"Ai%"'kJj=\<1"VeU:Vk`?`m.i7hGS&ZN-0F~>endstream +endobj +49 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1012 +>> +stream +Gb"/hD/[lW&BE\k;k1dq1!-$5:N9^X?jMFI"rZmY4A6d]\oem(h]=/9Rrg2eOp24>[qQNQCgZY4qu;lbJ_u]7`+3Wl9)S^ZP3Y<1f[4;5Z#6GLZ1"\L5/YM4?bu'Z=BMq[+c8G,5?^ikOWm4i2$4+b8Nf*H@&cZ4C(8"Y1s3D9lXk*T]Nd#YX3tRMCn'`bBQ!u.V"LlNhsI'5VdjO'4uh\/H[E==$]dcq,*AlrCgr7iYObI2gU?N8SDsX$bcaT]>ODb$opB,(jXT$go0'XsCIPR@m#K)2*Y;&E-o+ZM'La0h6mX24U#c,pn.(;k+amK[g%*WrqNLk_"B9.5$@s[(]mskmqB;N*JmV84(/8Z"eg5]bim9I5_\oNUZjaD)$oYba_7#kb[JO+_IG1B><`kpPFesYmZQM2)>j('?=g$nn]/#.C#!7$Pj%,'adMePdJu@-)Bmo4iY0FJ^6Ih=Ng"FDimBUK[]$&5V*`,of@@9`ON:=&Z6u%pK#c/YA'IH^/j2d)u!i"0]?AU6;3DR`pI(?h,J0k&kLiYaJ7e6-%EqKNt[%./dQhNR.o-j;\hB0_!VHVB';.VkFf9Bu8d^C,X/P0+MgN&$uMqjIi614/Eh)H&&PM;;5&%U(5P"6H+,Y<^'i`^VJHZFIRmn%CaX6CU@#tsF>r;tp%UFG+QSqf6p%rW!I54D;TSJ%?'N$MjJ&SYA+iU,UkiB83o6P&XP!,j\m^q9JX8E5MOG^F]0JTmE8(>]Z31OD`7e`4q:C)fA=\dgdh#$hHSGC/&5NaoJ1D`Wp*U?6si>Za%!3[-@+-':gnH(mDnWMZEM#dG:5a"_Tl&KHQVersq:-WY_(@3G=Sq^%5c~>endstream +endobj +50 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1115 +>> +stream +Gb"/i>u03/'Sc)J.uptUL(r\.YLo2#NJRtH0uEA-`'IrdKb?ZKq`-*>'1UD.<'liA1X<7RqV(K:1hdQ#]4:@LNrctJY]knR%)N]T&-:`EHjdV,YD=kt>"%#lI^^,c\kn'$/N!dOfbT6NfKo*H_Fk/Yo@g+FT<^MQ"9Zq/8BD/^AM1_f1^et)GlBn?n?-"HDLbAK,]t%iEgU$$Ge6s&/G4Y[t6khYQ?+4R#Y\t1;+oZ;nC`K6+L)\kN>?BX/i-2CL0/8i\d$_N+aEq..OhRW,j"sHlXN.!q;I7rKj6Vof$[a!1>!NtHV"d?)gimY0.&oa[&i-8**\5F2h'6Xc="M9LalDphUrPUbnMh6X_+pZpIk-6N`E4W-Q5_g;dLc06S5Xd?qpYo_ab]N9ZnThP>-$EQHGdVUGHN@3StU;tY,8g(C6iOte"&\O0"cGKP?j8JK2kK0#tI%89[@5pW>6u9XPAX/p>Zs%E'YXkTc/8`+Sg/ItK:d+iQp3Na.j]'QU46`a$;gj?uo#Sb`@)D\njaWJmY(6->p(ED14YCnc/ModuiJSj?YpMX%)7?Oi!8FgFX2_-,O7V)Q6E%MkVAendstream +endobj +51 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1070 +>> +stream +Gb"/h?#SIU'Sc)L.h8eQ[")8-*.D1rh)_nkL:))HeJh,VdKX]s3,5r#q]3kB/SC@_HNk7`P\nOl/+M^OOa8Q]!2l1Ik4KGHjTJo&(*Fkr)A't$-L]mU8T@aPM?LaW7Gb2F[GnV%_j#2q.1ftY%45"5Oo-(jc=$3j^@ciQVr(a"-EN@;[.R)u0$1k9hJhclmOi.M`Pm3X"\K`2\aiQp@@!R3?LY*eg8&ZbH4sAG*7Wd)WaHGTn&8$P]bL'-^Nclrc0MV*.Sqhd'tI2L&Pa\3oX^)_Y%q=[@7J':lOM%=n$&Yg2AH>CP@#u:*B4M.IS6<>Jt\m[!n1mJ!Aj6(Q\&?LJ+\S3\iNqm3euTSJIgB(DYY)gWjc$,!@>IZ].$kZr0s7.bD4?#Yq\PG'(d-4Q;bNUih[&[_QnouqFH=b`rm*j)>'OmMZHF>,`oEVluhu&mc^.S.>3s;!A]d8Lhq]t,oC:d117l^N0LpA@f8*QRgLuN4;C=OTcTM^tPa[]LakZlYG85='Eq>F]dpbT]5Q$TME@g3""H@\%2&?+(d<#Q&7mKMUd5bM".*.[:0LLBt'?W\3qSXH(;rXbsYUFfdoi1>DDTQ[)pWSHg/O4C6RTUqd31ts'+s%+j*@28rWI18R1=agF[+.tAt3M(56U.Ln:Yl.Dd8cSNlh_K5/r/sKUcHa\5;o$!nIH15XDI~>endstream +endobj +52 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1409 +>> +stream +Gb"/(gMYb8&:N_C/C53R^i">h^3t'#VbPQ3/kZ!R+J;9J=5O!NiF?tBUh+XXdR+6o2G^^CtrWi9&5-"PYCtClH;05c7Tnl(#?uSA*ca/PBB%D!@Au<";L:,6S^E?UEMju1A[u_6:hpuW+CNOW_27M^S\I-+m(eq2IHC`q/XL9eadt\NJ6JICF+7\\jK2Tn'R8Q<<5RE*U!X&V\#XX@%mE(LraAmV2h)SQB1U#[g8_u^IK`2j=5=\BbHs"7m/09H^o'XPS=\ZU7m?uQp(Ip:P53PYWJYV-g%;@e@'HB)I3:Ie*W!*V8Ne.@O8Ag"Ri8@(RDU@u@chGiYbk$Lf/BMQFX$P&:4Wj=o5L=JP)/q.Pc=;E+K:Y:>4dZ!VHL>tB3==<0kC]ApUZZs?WLCnmNbuW<4b'PZ%c3+0d/US,NeNlWabum@]-C=.S3IcL([;QPmWZi7=M_'B]8)mq^\j-YG6-3*bL5dV9(k`n5Dm1R?rr[!;ePdSiPp9b%<'..1]F"m.-hScN!=Jo28%`0RlduO7Y+TDeW331).nG:o&tMNGN`VBf(MibgBkC*k;jPb4^AiLCc0L?==pZ]Weu]Ub<3t8$"C'E(R+4cn/PN1/YVE,_;9]q@e=X70H<8mDHSa_-l:`;V0tt,p(M2Cou#b+,NZ>PbhIbeAENlFHMendstream +endobj +53 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1076 +>> +stream +Gb"/ggMYJ*&;KZP'I.TrOM'rUE626*KI?ukpZ/>S6Qn=[^-.[UNZDe"SG&\V2?tVAZb(_dSWQ,u$n+(c,#X1*:q'lZC$)--QWI5bSTrPbW[rS>O:uq"o,U;LQGc`e%$U-n64d9Y`2Ho;!Rr)lX\PrHUOtWuEF'=&ODV,of!QMkNH)RptR8rM(PVQETDOIR)0?l$N81J=S?&k%dLWQkCg&lR"Ufo&]8^0"LY$Cm"$l[M`Xe;&l.rn@/Ctap+k9b1!.B[5D!CX_!`j`ZA/"A"6ISECQG*,!0,;Wmi(jKcnP2&1=+C3j?tCq"fh//)_FjGT0H[q5?A4W4a;`8j#dS/4<&/=\.IJl[_U#[j\@i._XAf]iN[fM<=>a#?pt>.^NqVN'WZI?Q2Z06ZbdgWiR3cSiZcSA2??j0lcb75KbZWO`)-qK9E'0a=htdEHqZ_0-KoVTL(D:jA=im(I9G0*=b&Jp>clW87Kt.kiMuNmM])qU+oNctg.&XH]Nn,AnV?$SQJ6mJL+*k#`@*6&s<"l*)*`"Z@Ls1IfS+I9$AZYD!:jC:YSa_$u`SF.Cfu!?to3HSnnq[,$nbd_7qL&LXDkbN;6uG*o"A9WW9fendstream +endobj +54 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1357 +>> +stream +Gb"/hD/\/e&BE]*;\7S#YCL.)O,n^UD=*E.kgi`cp6H?5`2t&hNfl6VI^C+uEb[,0AdjJ?5>t)Cr9&WT5LVl2]YjaeiUin7Ro4-J>Fgn+UgnW]Qt)-tGjO;^h]XdJk?>9Q:*oiVWP#E#D/;5u>X%:c'Eu,]cbuX$LJG,^M2%>0MPb$A6`3SC`n^YI=)dZh[lAX(9\n$sbZ65TsFQ\oQ[*^-?puL?IN&p22XlN]96@htYpg%o+P3XG\p$E\2$?Zg#tHQF4"-o58-)mlco3F$H'-/UEfKTSLESW3X%=IP#0\[TcGeGRlN--X)abm%T019W5@^:Ngd7OKrDXU4f"jj/Z)[OOX\2%9"P).FY'(h0O$7,8;>CfL\n]M=f[hs[KZEJ:E-Z"nd?C3fTcN%Gk0Ub(]hr4;O]-_P3ebh&FG`O[\0-[sO@`2G:77Q*mJUJLL"\(@I":P^#RrT@Xe]4CiLWT*n`Dn(iM:Od.t\;"kpL=?$tHXWmt8qr!8^.>ah1pI4aKPN(dF.VM4>#L:F;@F%8\)mSm@?7uO=P='R%TKuC[E1#K:>^K@:km<:GN<@Paf"KJoaQYIleiZR3#9)2e0E`c&CKlpf_[0oW#>C*ZC'+]?N<=2'#@rerI)Ea8")`&ZiZS=(Pr]%5m"WNf-`0QJ&3W9@!?`(0FM]?H,Ss?HT!3Hm!:f2ul0"CV6>V%[],GV25s7LR"[Pi%QX>c-+"k_,ldb=Kkk=^.]c#/"YKC!^-YY<)Nl$!!5[3r1p(A&T7ZC1E2f`!XDD8j;O6is;<1#s8?4R)bm&K]o,)LQ3`ILI58kgbY/T3affZ%n?mGrMdaI(eA:BN_XoBW=iNYjLGLFFGtG0ce<$M*(P0e5qRW\3C>WX;X/dJcn[OZR:(^tCu>I$CR%t%#8>PiH7kI79YQP"%"Ym)jrPY:$U=\J#65%&NroNfra4VI5kG'HaPS&Uo7T3e&hScqT*fpu!7@EB]GQ6F;5Y1jo0n(DYmWCSI.?^UJn[(?WPu2r%Pmeq=mDVE~>endstream +endobj +xref +0 55 +0000000000 65535 f +0000000073 00000 n +0000000134 00000 n +0000000241 00000 n +0000000350 00000 n +0000000462 00000 n +0000000667 00000 n +0000000786 00000 n +0000000991 00000 n +0000001196 00000 n +0000001401 00000 n +0000001607 00000 n +0000001813 00000 n +0000002019 00000 n +0000002225 00000 n +0000002431 00000 n +0000002637 00000 n +0000002843 00000 n +0000003049 00000 n +0000003255 00000 n +0000003461 00000 n +0000003667 00000 n +0000003873 00000 n +0000004079 00000 n +0000004285 00000 n +0000004491 00000 n +0000004697 00000 n +0000004903 00000 n +0000005109 00000 n +0000005315 00000 n +0000005385 00000 n +0000005669 00000 n +0000005887 00000 n +0000007716 00000 n +0000008829 00000 n +0000011036 00000 n +0000012116 00000 n +0000013225 00000 n +0000014376 00000 n +0000015432 00000 n +0000016484 00000 n +0000017572 00000 n +0000018671 00000 n +0000019778 00000 n +0000020884 00000 n +0000022038 00000 n +0000023071 00000 n +0000024072 00000 n +0000025129 00000 n +0000026202 00000 n +0000027306 00000 n +0000028513 00000 n +0000029675 00000 n +0000031176 00000 n +0000032344 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 30 0 R +/Root 29 0 R +/Size 55 +>> +startxref +33793 +%%EOF diff --git a/tests/reportlab_testoutputs/to_delete3.json.pdf b/tests/reportlab_testoutputs/to_delete3.json.pdf new file mode 100644 index 0000000..d84befd --- /dev/null +++ b/tests/reportlab_testoutputs/to_delete3.json.pdf @@ -0,0 +1,277 @@ +%PDF-1.4 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font +>> +endobj +5 0 obj +<< +/Contents 20 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font +>> +endobj +7 0 obj +<< +/Contents 21 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +8 0 obj +<< +/Contents 22 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +9 0 obj +<< +/Contents 23 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +10 0 obj +<< +/Contents 24 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +11 0 obj +<< +/Contents 25 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +12 0 obj +<< +/Contents 26 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +13 0 obj +<< +/Contents 27 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +14 0 obj +<< +/Contents 28 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +15 0 obj +<< +/Contents 29 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +16 0 obj +<< +/Contents 30 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +17 0 obj +<< +/PageMode /UseNone /Pages 19 0 R /Type /Catalog +>> +endobj +18 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20190221153230-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153230-01'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +19 0 obj +<< +/Count 11 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R + 16 0 R ] /Type /Pages +>> +endobj +20 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1684 +>> +stream +Gb!SlCK&tI'`FV1TqPgqAhTkTYo'%$V@cC5*o`%eeElUVFObc,?bMLGa&^O81nDmLbtbFTsk7MrS_;ulrGc<>&N@INe%V$f[[,aS$j`$FN.V!0XDKZk*iXp@M?(NW],,T][L5U*G-rE`2r4menYJ9Cq-")WX/*+9g10gndXZ/d%5!`$@eDP!11>b(iHA=okj1]1-a>/]IYqo]P&Ca>_`(QCe4/[=68HXsSI@aZ/-W(mIpPo#tlX#Yju#VM?VUVfpC(Hjn3OOtbU-e)3fIHZAoiID=/i#:_B'&[b59Wfc3%Y?=l0%Sb/om14,__`S],`C$`EjNiVXUB5Fdq`p3gpB]t_k+F_[l@eLB;8WZ(f&lB`Ff.aQV$r2C)A$^aK/N!pOraI,X\@a9rGHO4'hSe0K6.:GrR03q,M@s1thL(q7t6++hXB"Fu0l9uKQS2fAp(Y("HXZ"G\T1eQFn5#s*r2<]8?Mp5.YH64(9K@W=Ir>rREj_@e!YSp3`E5@%B5Vt=T;B4f(nGd>,=[apVXA;WoA9,h.U](8u,K+MIMfd,7E(hBsCC"(^eC=KTRtI`(ucO&0sqb$503nGmVrRlk7rb-[XJ.4'A%oZF>.oPI3Cur/;;$!ER#K/h;D?~>endstream +endobj +21 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 2196 +>> +stream +Gb"/hD0+aG&]`ep;s^;5inPM&4HUaBP8AMSAHoq2(fCpfO5Q'b>;l^NFrn=g"dn_MYm,Ugf4-"Beh3`2.c\c]lImK$);;[rNMt,X!GYM9cA<@kKqR7sC7WD.]:WLH"LatY%f%RZ/qsAdF/FBGHS^HcW\?IH)@p>G7:to_kK:=_`aa;dt[e!GD7nD[)V=XrbNEW_+mi1\;00$oP*63m]l#'`s\c9MaUR'us_)Z#X7DpCidT"I>NPdThWl1RKRj>q@L2"VIRt_6/JVPeBE?p8Cd>ukb^+%#Y_UCtr*d18BKYDIq0Y!q8k?\P"ojJcGP9+h5&#C@C%aHrO1PhBBF-p-\_-dtHSulWi]R,meSZf&/pYY.EP3l1]gS/lK[e?lO-?+2>I.ro`^qn%!m].M?Cm%bieipXZiToMT'JY&.#bufg@ef+>ZVX,15:tjETs+uC-2_O^X@Jh9[_C3eQ:IL#[_C3eJ4H/b[_"c`e%Qo[B[p!u\co9;FRt)b<NfCJ8U59a45%icF(e5/tTUgrP$3k11r8qk/AMm^]?TZ7rnEl%g1S>*`C6MEEi]f"D;>I"&mcoX4-fWHpW5&'(^T+W5^$kgJDM$JTZK>JTaZ]BT/,^FNT@JJhQm>Q\6I5!=N[>N7TBN;ns.&B;;*-h&(fZgU,e*U[K,h>2tgo\NGOZCRdiM=A7As[F3dceZR_(e@S#3rV5374p5Tb(*i`>c-9PKD6.X"52BZBh)<#*>D0+;p[T,>ou9A],k*!o)dUY'f@6[GtA7>"K^3b0rtQ+8t9f)&3$IW0CB6m2'0Q?MIEoA5WW:84Xk4*X.GJ*0E!"B-:c5%6hN@;9"q9oKO$2Roh]Fj`Ytp1iX6]ZVVpp+g`]["]P#L:Xh!ejaE9K=0>IZiO(A-?V\^6!\B4)6%AaG$H^=*3E(SVN0BK:b&D`bLh2uLPgE*D9bPR3F=EI&3R*DX/>HGt>c5+R+@2DXeSca`=0P0U(@V)T/12hg%jV]\5Ti+,J='_p3)BUIP^<>'$p[8PjUArNpd^qJ13)s+!,i9bRK;pA5mBkO*[E(5GU;Pm"2$A()[!_q"),ZZLr[]'/nnj,Y(\PjjiaLBYib*m<[Nj6A:059J?Zg5Y*d)_ameKMNM(QshAG2NJ,qVmeE3eL5Wi.4R/I7$moAl~>endstream +endobj +22 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1070 +>> +stream +Gb"/h>>q"V'Z],,'PF<'N:"ilH\LQ9e_7Xq"mnrh#V7EnM\=P7m<_)iLc&qS1H#R#!mB9QJ,\Ubq[3]8L(@V)7t#oK!Gq.Dhu\K5\=s=^+7L^u/t=[@J?q!Tm`siqIQ)tS7N-+hE)'ta"@4+fja.8.+o"lU5/:m4hL\Vm8KgA-O)iMKaue*sR:d5hhe-5-J>6?Y;S,makl]lW1(22/LDo,#c/J[$DNGVE%XM@dq_##sg_VAI^BXtJ1/$8rWlJr,VeJPK]#`Z\6Nu7/Db!M`&7-&[CKH*:-LlsR'W52/Pf%cVfK;@s\l7.9bf7f2eI0D8Ve)8HiVI3c>F!f>2g*3Y823giQ\Hnq).Jb2&VZ)622_WNaisEu0On+>(KcrcC4Bu@43VPcR,(I&cGo&%Xi)$[]-#o%L1(LqmA3m-Wqh0&iP2IOF_eh<\ZJs'=gfg="`,K!cORh+IDcV>?XedfTtQ;RPH]76o.q&Mn#'&i^s>JcIt+@2Zo6Y*T4sN!8&HTj\$tc"4R@42j4YZaj2YEJIo+%e4'K.KEad.<6ca%8[Agq"ldVWN`Q\LbA[)8YiUF0@4Up#n9&-&A>M/5W;75-/!naLSfW#,E=TrcpX9Gh."jhHFJ?:<:lK;;qqHse;0LHRZk2f+gVFO@J=!jl2k?6NLbUpKVF"9H%;3EdF>;q:Fl&f5UlOcA0ROBIM_m"l(s#\,oTQ.0e:i(D*VO2Zm`S@@?L+-jc[T4(u&aAd1,0KKc_7MF^Or_5n'XQI@*T_GU=m4W(G;r,`r=qV$B"M^L0eP*oaM*&Z5&Rij&7=$tAnPfN.ilRGlOgGh1<]#,5:MIN*44IUQ\1$*bJQ-X][uc!H^\S6\dd!:MJ'1:SKq_o,U<[rj:^QX\UlruZha8J4+f60e#P<4Q+O?oSA_1Mr!9]H0rA.mDA>dVf])DM[;>325CX+WXW-U1Bu:6oBdH'1BB_$7552pSi$9[7#]->eZe+r\OQ-&uCP%#dm-T1>4T6j>173efi32[NSU;W4*n6d^6Le1g]hGJ+@=KoX9,Kk78WHP19~>endstream +endobj +23 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 944 +>> +stream +Gb"/h?#Q2d'Sc)J.uq!+XHHk]@iO0hqs(P&R^A(BScl"?[;2,W4F22^#Nq%`.K&R;!hnr*;f-q]3+hWX$(tuj,f$];@eMgW2S6_-CVfq7`bO(a`\&(JDT8W"&CA\1>@5[mEWpWqjUTe#>]@PF-l_9lfJ$RT3Dd[@&/b5BGKc*Rm0r$!s2`:1i]=@7\X@Gl3)?L"5G2G!aKIBm(3qh;B&HgrMnPa"<>GA%L@dS$,sSV,h/M"MNh,rmC5IkaD#(7nW?Y1;#;@L#*Rcn&X%5Z''f9(8pdlH6IC*GEKVN>%ZX@g_.+mG-p7?h$)QZ!.M?J\KQ=Z?;b\`O,GLb?U<'qe+A/h-'O_UdF_HRt>OinOLo&1K$=P]\779R4m0-@E+-F)AdQEUpri\^8e<;*k#.4P"RIu5"%$=AA7]9,d*^mP)&3`T2PYYO0<$]tB?Lq=a]]C^``gTh)+L+dC0_0E[Yt6"tp)KutX6,,+]r-sJomo*oAX,S^@Q6idJ)5Hl&M,Q~>endstream +endobj +24 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 946 +>> +stream +Gb"/igMY_1&;KY!MNN3P,C-W%4+"R*.93FK;Hp'n`eT@,Bi`F(0Tk6W34=njA:AIW<_KonD]Jf7*)<(B+1Pp:qNE.*5!;%$0'Xi/7tY,(D"8poEGPIf@m>kn-cc7U@=1QrFX"dA,e.O@&'P6TniED6p0JOZsck:N?VHMZT;>H)-sp.sXDU)R>V?4VMrlamn_<7n@2?#/]\FkNnVUMR?T)qZ'8-cJfn_@5.8bXeFdS!s/E?/0VYbQX?FBpCVrUJUId.F;6aAq_\IK*#Us2]EQ(Dr0laT^F4N;LdcZGu'O``IT_S=[6*aqS">IJNrNUHT<%0\9.i0g7bkei)UfT<[Y]/2S_[h-buiB^qMl2DRBMuh(Qg\Q[j]NmXS,O4eW-m,h/M"8e$lL9.j#Q/ODc^0-[)6U%Uc#e4r!_oHYtV69QDWBhpf5P[@37/lEtETb3/p:,rhHdNjI^%2(E1k>7:;q]V274=MWr;X'"9B7q\ph$su2eg!e\NJKVP6k.L#2tpS!>Ju??cpgDl7-t.Th@$]F0uY%J)>/q*Kg@nn;+e!('OllW3]'<+]TnSF2@5"4nMCS?A5m*h4rEC@5gkT>me2,*GSLh`h]XICm_@/u&;?147]DeP7+?c1b.*t>;2#NP5g+uS[YfluLt^$/MLQgs-'T(#QN+KG&o,17K&0i=Uj2)~>endstream +endobj +25 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1254 +>> +stream +Gb"/h?'!]/'Sc)P'h>9)U60%Ch]?.%+/rFD$?=(or*fcmYgm)b!UD2XU)8(>kJMNV;JI3r9p+q(\S,>G&7Mnt-NNgI`mO3Kg6=\9Je/TmU]R0mh'W1/2R(\:.Mt5q9h(mO6N*tpj`^+nh;bEF@G@@cdkDT2R"B`4abL^5'^.S(_X.m\!n?0"b'k9`hbsKA'$XmBS:CDFDm"AGXQBK%[_NJj[&ET!XR(o"rbrd-u4FM[K,['0'FsV?MG9s,4.(Spf-Ik?LD;pW*Hh\GK5IjE!B!Am1bn?b_1i^n(,$qg7TU8@>jP7=$9]*S_n[g8LkW&9-i[CLF]:US3k.OWkd[KH#)Iam&1IMZc8/P!]n`LJsRW2\tQr,V'\RPmNf#'!#=S`9'hjVD7ZM\-LpGdWUY%[b`1tqoI(ACs\$RR?d%nZ<<@ZC3^Z<4RoHW]$K(,)sn$$WV=XAQVZ>0Kgn`sfdXH@%I:bjqq!jsYK.9r6X]%J9nU)De(kfA_VtO<:g]FNtEc^?[O&C.bn1Irb;X'.fB[G^q(n07Xf8p;7#['(2eMRiZ=-)_L%CWfkp7DH$epW"s?].c;dc/`9)u_"k,:go(RAqJif(I"E;(dfBHfcN?d91'6aO!D:[*JqP6CaB5:#YbK-@7A/Uq:%9sQ57.^G/ikV'872JHA-lrDaEi"YWdflOd8[;F9e548+(l/*kRC9Vbhf'Cs&jsCB)bbW?q&Hle\jk1uM(I<#4XQ&Sq'*OfAjEip`;nKUKJp!Y:Eg'PO]6+\_OW-5&r=^hc[j1QhV7T2endstream +endobj +26 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1331 +>> +stream +Gb"/g?#SIU'Sc)T.gQOeZ3!qG_sbccD2/NeZ*s(Diu8JUTb*qh2X?V+oIGHI?7Vm9O=,@HdCMpA]*(Z5iM%dmr82A/3_QjS,`sr@b4"CL[#!Jb[g:Dod0nhhr/?_!Qg[X*?=m)okh;lMA@>]L#VT&(%cWB7KgE%P^BD&VF$?E[0^B1V7J%Ba&^]WA5Qgk/D.Fc-0Et3)c1\P=[sGbJe3.MTOpo3d6L_D/8\5j%)rF/s_J^CfQ$2Y`$K,*mQBd5J*Z9);+W;fOZgS',Ef&MNNuS)u00K/os0[(l+WR:&jb,Y*Ju8@4P#aIVs3+h14gpds%uk5=B%1]T,`3V_FO_IBbj-mW.Ggs)47P!F4M!\1#r>#8bARK+!@d(L3sN\7?\#nNPl?IDA:@hu^PuV?bRF4r3Nr?eS)>@,iL!0JuEKZqQi#H4S_da/#:$WjH8aBLa4WMV$8lH1'iaXfN9*i:u9HH]p)i?_Fo_R?n9ZZASt$aEIcKe&0#23]FiC(WLUOl[Ja-+;\8C0^C_6_Fj8!#pBikfPr95H2gI?"ei*K,>:SM?CQqsM:5a3jS@_?[;`/dpQQ`J#69B$p],?L%j7AN5%*j\Hh[T#"&##5OCX6qKR(;XY'9@9hj=qqc0WS(4#_kG$$\!7&;&.,1M:A,&mX4f=_0-"gk(kN3WpsX0Yp*69KN[n>>WrZXEEY`-@iAW)o08m4<5)#J02T1^`L7"ZZRendstream +endobj +27 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1469 +>> +stream +Gb"/hgMZ%0&;KZP'EiaB/g-RPiGn=4a;-@bU'L.][hMC[hR2CGXX)0G0C;/nPfelc#gF^#PK8kUipY9RoRESQU%*nTQYo+1pJWhm`s;c&bmEDZ-duGEflZl4BH$uhkV`M:gZ)=X5D2chC8$bDQK%$k10p!Hrg$5BP3JI\c@cXDlC*ZfJPDAU(pbEne"[O;16.(dI+^"u3^DWjd'Gl]jI(qm:60ghm9#B'f!d^4HRN>'DHfPn8CH8>"Ui!RtH_NRqnYCuQ\u%a\INOk6@<]+JU,R_'bnutI9OO*Cj*EJ0s8M1'bOR")fRKpG-qh$D=:2Mr<2n#TWafIOnCmG$K&KSJKu=0&8Ph]On:>2?m;4XO,kOVB0bpQXo`n]SoB#7\QYnUn5@)rfrNrI!]=jagXX?h*L7$hH%e\[CW#84d,FW%h@CpiTaZc]N'SP2:o"iVTC:Q0Qqf=3OO3#9?j!]jP%9hg8_Zp3_:1jm_JEIp8)1VGnN2Qh^;pP]@XKMPL;409Sruk>.j0hB$T-X'8Qtpp`40J!G1X$cKG.&1spuLhgQ%)Zd#Ad<]PY\5ign$)n*f=rF"+m<#scT;tUC!']nmnGs@fiPPsD%_r>:17)sTBk!K/-[[o4_lLh5L$s'2(I\kO>*E0->R6_[N]X&d"QZhr8E3]tU4u`7%ES>Fe?H^NG='+,U"!K(!T4Q)ki:c&p7MWH%KP[WEUu%q.q*!?,b^PI+JC['Rs"e3tis>KX_S&El*u$$`t"kWTZ],+@B.j+WHLd/'-Y.!3ZIVTF\saYloReJ0jc+/7Dp]P8U:?N'jg;ELh'E3jCg*Ben]`:1hGBg^GV*2EpRZn0#-fekmk9"Qag0jFV>Kj>M4D$Zendstream +endobj +28 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1410 +>> +stream +Gb"/i=``=U&BE]$.593e2`%7[`LXIZ8Z/+SVeMDi?6L;s&flg&>P5HY8=Pr5d1X?U>?eBb)-df45I&E1_(\/7IZ`XGXq:GLL8M-\,(O8+&XG1/q]3A=9g2>[$Qt$/$eub`8',$Q.TKGf71g[lc$r*e'fsh$UY,l/H]aru-?`=Z%6,Ys!_$AZPRn8Nr?PAc)(4YIkOs;/cEEsuEfkB92+h=flVVm]_*sFTP]H-X&_8QhU:HK6P8)C2p[(DW4X'WgVlqOIGong1Jru:5)SO+-*BK[Xo?1$0d^BktRi2S[BlQZ2r&.(AV,Pf]HM5A`AIVFpY()?o+!rEMnKh&TC&UGu5_&_f8L6m=nlDmXRh].#oQO`Zc/Z;nr+=9nE*>u[^9PTCcrh);`Sc6eZL)+MQ$N!BG7gLA.fpat)lYnPlLuPlj!)9oH"(65-V=VgqW_$V0J""GYB/[igL#GJk!Hto58R:;5]nCU2qU3'=CSeL#udK0/I5.boEp6BGco-E0T/l/#=t\uQ1dG1bb&g^2jN1,ID=Rcq%7XSrKI'Eg+8ACD`=#@Y,=ProbAo4endstream +endobj +29 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1410 +>> +stream +Gb"/hD/\/e&BE]*;\7TNXFOjPNfSUtFmZDA(m`Dup6Ho%`/PeH[ZW3!^9enD"h&/]`n%^n@QW"p4Pu]Ts.:`0B`)G2B/_4!`sEWu@>"ZLjFm&fPK@b(ojm]7['9U>FCTm"oC4AYRR3m->%f1?D>tiE3OrPiHSTkB-83qO?cIB6bCQNa+WqAQ.:X'ds&!MV^]2\enH/>6))u[W:_\I.G#b)N&,g$nS0eNLYJQIHdXfjb0V[BUFb6NNPj=ko*s<3jjl)#pq=2E2qaoJF$"`Q1"_0WmB2)R$(fpJ/U9:#8Xor;:hGGn9E^VBc@[p?A\k^cI"rLpkL'P`S-$pAjVe[5>-N"6#0q7!>G%Y5(Ya;JWi0NdFQo(XA-$#A;h-`hF&4(4u;rb#.f\[L@BR"8crG-en+/N5^+%=W1cJf@+-2I/q;5sbE-sP<9mLJc#7fFml;o=-n+h"%u+Wco'(gb)kO%KLkSu8(,Q[=$2D1I1YLOluPkJ@:P"/gn&%&l$CYX#2[>+oCc2`/U,!O`?e&En@<$?oISL*7V'L+eH'd*NG&"91J@J:U(e_<_AVcVQtN/XNaJ2=TE%d-V.ELSoVr%D%UbSq7mQnM49F",*<\cEiVbb_q+QToVa7N#I]mMV%kB@!&51hK3ail1G)P&'/0\q6,_9_s6?.r:'3;hG9J^X("rY=m?doEB]qIEG+f#26T1Eh8LJ&CM1jZPSTrL^j*YXXb8S<^sr"M>*,FmaH/!pO>USHg"'\(9Y.gsE4OQV0h\'q6t$(SdaC/gMeE:#[VPX"gVJZKI92&@ErpaA^Va(/FO;$lI)(L<+1gr-,jUJSnG(fdd;HH11>p&/J.H:7016_7b>k;+R5YI/AN13gdlqgQ!BR]`#&0OC%~>endstream +endobj +30 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 772 +>> +stream +Gatm9>u03/'Re<2\;qY.*++1@%Zf@Pg,)N5"LM7j32M_DciuQ1rS2p[_qL&MbI;nIn+#p2OV+NRZ$VoDi*uf0.0;7Q.R69&']7lFM!h#J@=Y^PfLs!F`Kq8fiESsn!V,snM?YD`+/$,pib1.EbiSB4)'tYi`^*MsKp4UsLu^#0P^p73jYWFlSETJ9<%n[AD;,Ak&4kE)^hKToYHpZ-O6QZHGbG)rQOCc.q]1*R6+a,!Qt=1;i]4)]Ic"*h:70e+g3U?tY3?7f>oFM68NZSDA5f@Ja2&ft[(/rO3f25Q1MRaY/=mVX1N=W4,j@=EeAbmdYj=8A-.g/M0OK<.IY'K:;K[&n@)Z>)Kbbl".ZMPiNTRf?Z2nAK[`Tq9MI8#0OAO9#J19P1J;/p7+(W#:,te_mBpD<8NMgUl!UP-!8Nni0i;XP-+DCLS&R;U&sGN"s+.q5XVs;>eB43seMendstream +endobj +xref +0 31 +0000000000 65535 f +0000000073 00000 n +0000000134 00000 n +0000000241 00000 n +0000000350 00000 n +0000000462 00000 n +0000000667 00000 n +0000000786 00000 n +0000000991 00000 n +0000001196 00000 n +0000001401 00000 n +0000001607 00000 n +0000001813 00000 n +0000002019 00000 n +0000002225 00000 n +0000002431 00000 n +0000002637 00000 n +0000002843 00000 n +0000002913 00000 n +0000003197 00000 n +0000003328 00000 n +0000005104 00000 n +0000007392 00000 n +0000008554 00000 n +0000009589 00000 n +0000010626 00000 n +0000011972 00000 n +0000013395 00000 n +0000014956 00000 n +0000016458 00000 n +0000017960 00000 n +trailer +<< +/ID +[<7e72719e484ae77a932aa93b5162abc5><7e72719e484ae77a932aa93b5162abc5>] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 18 0 R +/Root 17 0 R +/Size 31 +>> +startxref +18823 +%%EOF diff --git a/tests/test_reportlab.py b/tests/test_reportlab.py index 13def0e..662276c 100644 --- a/tests/test_reportlab.py +++ b/tests/test_reportlab.py @@ -2,11 +2,12 @@ # -*- coding: utf-8 -*- import unittest -import json -import sys -from io import BytesIO +from pymisp import MISPEvent + +from pymisp.tools import reportlab_generator + +import os -from pymisp import MISPEvent, MISPSighting, MISPTag, reportlab_generator class TestMISPEvent(unittest.TestCase): @@ -25,17 +26,28 @@ class TestMISPEvent(unittest.TestCase): def test_basic_event(self): self.init_event() - reportlab_generator.register_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), self.storage_folder + "basic_event.pdf") + reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), self.storage_folder + "basic_event.pdf") def test_event(self): self.init_event() self.mispevent.load_file(self.test_folder + 'to_delete1.json') - reportlab_generator.register_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), + reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), self.storage_folder + "basic_event.pdf") - # TODO : To modify below this line - def test_loadfile(self): - self.mispevent.load_file('tests/mispevent_testfiles/event.json') - with open('tests/mispevent_testfiles/event.json', 'r') as f: - ref_json = json.load(f) - self.assertEqual(self.mispevent.to_json(), json.dumps(ref_json, sort_keys=True, indent=2)) + def test_batch_OSNT_events(self): + self.init_event() + + file_nb = str(len(os.listdir(self.test_folder))) + i = 0 + + for file in os.listdir(self.test_folder): + self.mispevent = MISPEvent() + file_path = self.test_folder + file + + print("Current file : " + file_path + " " + str(i) + " over " + file_nb) + i += 1 + + self.mispevent.load_file(file_path) + + reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), + self.storage_folder + file + ".pdf")